/* ==========================================================================
   AKSOY HUKUK BÜROSU — Responsive layer
   Breakpoints: 1400 / 1199 / 991 / 767 / 575
   Mobile is designed as its own layout, not a scaled-down desktop.
   ========================================================================== */

/* ------------------------------------------------------------ >= 1400px */
@media (min-width: 1400px) {
  /* Konteyner ortalandığı için taşmaya yer var: özgün bindirme */
  .about__media-sub { right: -40px; bottom: -48px; }

  :root { --container: 1320px; --gutter: 32px; }
}

/* ------------------------------------------------------------ <= 1199px */
@media (max-width: 1199.98px) {
  :root { --section-y: 104px; }

  .hero { min-height: clamp(560px, 82vh, 780px); }

  .about__grid { gap: 64px; }
  .why__grid { gap: 56px; }
  .contact__grid { gap: 56px; }
  .article-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 48px; }

  .pa-grid { grid-template-columns: repeat(3, 1fr); }
  .pa-visual-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .team-grid--4 { grid-template-columns: repeat(3, 1fr); }
  .why__grid--media { gap: 48px; }
  .form-panel { padding: 40px; }
  .footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
}

/* ------------------------------------------------------------- <= 991px */
@media (max-width: 991.98px) {
  :root { --section-y: 88px; --header-h: 72px; }

  .site-header.is-stuck { --header-h: 66px; }

  /* Hero: dikey ritim sıkışır, şerit alçalır */
  .hero { height: auto; min-height: 0; max-height: none; }
  .hero__inner { padding-block: 132px 172px; }
  .hero__title { font-size: clamp(2.5rem, 6vw, 3.5rem); }

  .pa-visual-grid { grid-template-columns: repeat(2, 1fr); }

  .why__grid--media { grid-template-columns: 1fr; gap: 48px; }
  .why__media { aspect-ratio: 16 / 10; max-width: 560px; }

  .practice-bar__grid { grid-template-columns: repeat(2, 1fr); }
  .practice-bar__item { border-left: 1px solid var(--border); border-top: 1px solid var(--border); padding: 24px 20px; }
  .practice-bar__item:nth-child(odd) { border-left: 0; padding-left: 0; }
  .practice-bar__item:nth-child(-n+2) { border-top: 0; }

  .about__grid { grid-template-columns: 1fr; gap: 72px; }
  .about__copy { max-width: none; }
  .about__media { max-width: 560px; }

  .stats__grid { grid-template-columns: repeat(2, 1fr); }
  .stats__item { padding: 44px 24px; border-top: 1px solid var(--border); }
  .stats__item:nth-child(odd) { border-left: 0; }
  .stats__item:nth-child(-n+2) { border-top: 0; }
  .on-dark .stats__item { border-top-color: var(--border-dark); }

  .pa-grid, .pa-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .pa-card { padding: 36px 28px 32px; min-height: 280px; }

  .why__grid { grid-template-columns: 1fr; gap: 48px; }

  .process__grid { grid-template-columns: repeat(2, 1fr); gap: 44px 32px; margin-top: 56px; }
  .process__step, .process__step + .process__step { padding: 0; }
  .process__line { display: none; }
  .process__marker { margin-bottom: 18px; }

  .team-grid, .team-grid--4 { grid-template-columns: repeat(2, 1fr); gap: 32px; }

  .article-layout { grid-template-columns: 1fr; gap: 56px; }
  .sidebar { position: static; grid-template-columns: 1fr 1fr; }
  .article-body { max-width: none; }

  .contact__grid { grid-template-columns: 1fr; gap: 48px; }
  .page-head__grid { grid-template-columns: 1fr; gap: 32px; align-items: start; }
  .page-head { padding-block: 72px 68px; }

  .def-grid { grid-template-columns: 1fr; }
  .check-list--cols { grid-template-columns: 1fr; }

  .footer__grid { grid-template-columns: 1fr 1fr; gap: 48px 32px; }
  .footer__intro { max-width: none; }
}

/* ------------------------------------------------------------- <= 767px */
@media (max-width: 767.98px) {
  .brand__logo { height: 38px; max-width: 180px; }
  .footer__logo { height: 44px; }

  :root { --section-y: 72px; --gutter: 20px; }

  body { font-size: 15.5px; }

  .display-xl { font-size: clamp(2.25rem, 9vw, 2.75rem); }
  .display-lg { font-size: clamp(2rem, 8vw, 2.5rem); }
  .display-md { font-size: 1.75rem; }
  .lead { font-size: 1rem; line-height: 1.8; }

  /* Hero title ~44px on phones */
  .hero__media::after {
    background:
      linear-gradient(180deg, rgba(13, 20, 34, .80) 0%, rgba(13, 20, 34, .60) 40%, rgba(13, 20, 34, .74) 72%, rgba(13, 20, 34, .92) 100%);
  }
  .hero__title { font-size: 2.75rem; line-height: 1.08; max-width: 100%; }
  .hero__inner { padding-block: 116px 104px; }  /* 767px altı: gösterge gizli */
  .hero__stroke { height: 34px; margin-bottom: 18px; }
  .hero__text { font-size: 1rem; }
  .hero__actions { gap: 12px; }
  .hero__actions .btn-x { flex: 1 1 100%; }
  .hero__scroll { display: none; }

  .pa-visual-grid { grid-template-columns: 1fr; gap: 18px; }
  .pa-visual__media { aspect-ratio: 16 / 9; }

  .eyebrow { font-size: .625rem; letter-spacing: .2em; margin-bottom: 16px; }

  .practice-bar__grid { grid-template-columns: 1fr; }
  .practice-bar__item { border-left: 0 !important; padding: 18px 0 !important; }
  .practice-bar__item:first-child { border-top: 0; }

  .about__media-sub { width: 42%; right: -8px; bottom: -20px; border-width: 6px; }
  .about__signature { flex-direction: column; align-items: flex-start; gap: 8px; }

  .stats__grid { grid-template-columns: 1fr; }
  .stats__item { border-left: 0 !important; padding: 32px 0; }
  .stats__item:first-child { border-top: 0; }

  /* Practice areas: single column list */
  .pa-grid, .pa-grid--3 { grid-template-columns: 1fr; border-left: 0; }
  .pa-card { min-height: 0; padding: 30px 0; border-right: 0; }
  .pa-card::before { display: none; }
  .pa-card:hover { background: transparent; }
  .pa-card__num { margin-bottom: 14px; }
  .pa-card__title { font-size: 1.3125rem; }
  .pa-card__text { margin-bottom: 18px; }

  .why__list { grid-template-columns: 1fr; }
  .why__item { padding: 30px 26px; }

  .process__grid { grid-template-columns: 1fr; gap: 36px; }
  .process__num { font-size: 2.25rem; }

  .team-grid, .team-grid--4 { grid-template-columns: 1fr; gap: 40px; }
  .team-card__media { aspect-ratio: 4 / 3; }
  .team-card__overlay { opacity: 1; transform: none; }

  .filter-bar { gap: 8px; padding-block: 20px; }
  .filter-chip { padding: 11px 16px; letter-spacing: .1em; }

  .faq-item__btn { padding: 24px 0; gap: 18px; font-size: 1.0625rem; }
  .faq-item__body { padding-right: 44px; padding-bottom: 26px; font-size: .9375rem; }

  .cta__actions { flex-direction: column; }
  .cta__actions .btn-x { width: 100%; }
  .cta::before, .cta::after { display: none; }

  .form-panel { padding: 28px 22px; }
  /* iOS Safari 16px altındaki alanlarda sayfayı otomatik yakınlaştırır. */
  .form-control-x { font-size: 1rem; }
  .form-grid { grid-template-columns: 1fr; gap: 20px; }

  .sidebar { grid-template-columns: 1fr; }
  .side-card { padding: 24px; }
  .article-body p { font-size: 1rem; }
  .article-body blockquote { font-size: 1.25rem; padding-left: 22px; margin: 32px 0; }
  .article-meta { gap: 12px 18px; }

  .info-item { padding: 22px; gap: 16px; }
  .map-frame { aspect-ratio: 4 / 3; }

  .float-contact { right: 16px; bottom: 16px; padding: 12px 18px 12px 14px; }

  .footer__top { padding-block: 64px 48px; }
  .footer__grid { grid-template-columns: 1fr; gap: 40px; }
  .footer__bottom { flex-direction: column; align-items: flex-start; gap: 14px; }
  .footer__legal { gap: 18px; }
}

/* ------------------------------------------------------------- <= 575px */
@media (max-width: 575.98px) {
  .hero__title { font-size: 2.5rem; }
  .brand__line1 { font-size: 1.25rem; letter-spacing: .16em; }
  .brand__line2 { font-size: .5rem; letter-spacing: .26em; }
  .drawer-nav__link { font-size: 1.3125rem; min-height: 56px; }
  .error-page__num { font-size: 5.5rem; }
}

/* --------------------------------------------------- Print (clean output) */
@media print {
  .topbar, .site-header, .float-contact, .site-footer, .cta, .nav-drawer { display: none !important; }
  body { background: #fff; color: #000; }
  .section { padding-block: 24px; }
  [data-reveal] { opacity: 1 !important; transform: none !important; clip-path: none !important; }
}
