/* ==========================================================================
   falgunbhaipatel.com — responsive.css
   Layouts are recomposed, not merely shrunk. Load AFTER main.css and
   pages.css.
   Breakpoints: 1440 · 1280 · 1120 · 1024 · 860 · 768 · 640 · 520 · 400
   ========================================================================== */

/* ---------- ≤1440px : ease the mega scale ------------------------------- */
@media (max-width: 1440px) {
  .hero__figure { max-width: 430px; }
}

/* ---------- ≤1280px ------------------------------------------------------ */
@media (max-width: 1280px) {
  :root { --shell: 1180px; }
  .nav__link { padding-inline: 0.5rem; font-size: 0.845rem; }
  .nav__link::after { left: 0.5rem; right: 0.5rem; }
  .hero__grid { gap: clamp(1.6rem, 0.8rem + 3vw, 3.4rem); }
  .hero__figure { max-width: 380px; }
  .domains { gap: 1.4rem; }
}

/* ---------- ≤1120px : collapse the horizontal nav ------------------------ */
@media (max-width: 1120px) {
  .nav, .nav__cta { display: none; }
  .nav-toggle { display: inline-flex; }
}

/* ---------- ≤1024px : two-column systems relax --------------------------- */
@media (max-width: 1024px) {
  :root { --nav-h: 70px; }

  .hero__grid { grid-template-columns: minmax(0, 1fr); gap: 2.2rem; align-items: start; }
  .hero__figure { justify-self: start; max-width: 400px; }
  .hero::before { width: 100%; left: -20%; }
  .hero__stamp { position: static; display: inline-block; margin-top: 0.85rem; }

  .datastrip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .datastrip__cell { border-left: 1px solid var(--rule-dark); border-top: 1px solid var(--rule-dark); padding-left: clamp(0.9rem, 3vw, 1.6rem); }
  .datastrip__cell:nth-child(-n+2) { border-top: 0; }
  .datastrip__cell:nth-child(odd) { border-left: 0; padding-left: 0; }

  .chapters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .values    { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .evidence  { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .about-layout { grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr); gap: 2rem; }
  .profile-grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
  .feature { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .reach { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .contact-split { grid-template-columns: minmax(0, 1fr); gap: 2.2rem; }
  .contact-index { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- ≤860px : rails unstack, sticky released ---------------------- */
@media (max-width: 860px) {
  .sec-head { grid-template-columns: minmax(0, 1fr); gap: 1rem; }

  .perspective { grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
  .perspective__rail {
    border-top: 2px solid var(--volt);
    display: flex; gap: 1.2rem; flex-wrap: wrap; line-height: 1.4;
  }
  .perspective__statement { max-width: 26ch; }
  .perspective__body { grid-template-columns: minmax(0, 1fr); gap: 1rem; }

  .profile-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .profile-grid__aside { position: static; }

  .about-layout { grid-template-columns: minmax(0, 1fr); gap: 2.2rem; }
  .about-rail { position: static; }
  .about-rail__figure { max-width: 340px; }

  .page-head__grid { grid-template-columns: minmax(0, 1fr); gap: 1.2rem; align-items: start; }

  .chapter__grid,
  .chapter--flip .chapter__grid { grid-template-columns: minmax(0, 1fr); gap: 1.2rem; }
  .chapter--flip .chapter__aside { order: -1; }
  .chapter--flip .chapter__body  { order: 0; }

  .work-split { grid-template-columns: minmax(0, 1fr); }
  .domains    { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .approach   { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }

  .principle  { grid-template-columns: minmax(0, 1fr); gap: 0.9rem; }
  .evidence   { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .statements__row { grid-template-columns: minmax(0, 1fr); gap: 0.7rem; }

  .essay { grid-template-columns: minmax(0, 1fr); gap: 0.8rem; }
  .essay__index { padding-top: 0; }

  .matrix { grid-template-columns: minmax(0, 1fr); }
  .contact-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .foot-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .foot-brand { grid-column: 1 / -1; }
}

/* ---------- ≤768px : tablet portrait ------------------------------------ */
@media (max-width: 768px) {
  :root { --nav-h: 64px; }

  .mark__glyph { width: 28px; height: 28px; font-size: 0.68rem; }
  .mark__name { font-size: 0.92rem; }

  .hero { padding-top: 2.2rem; }
  .hero__figure { max-width: 100%; }
  .hero__name .is-offset { padding-left: 0; }

  .values { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .editorial-list__item { grid-template-columns: 54px minmax(0, 1fr) auto; gap: 0.8rem; }
  .editorial-list__item:hover { padding-inline: 0; }

  .next-link { gap: 1rem; }

  .milestones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- ≤640px : phone landscape / large phone ---------------------- */
@media (max-width: 640px) {
  body { line-height: 1.66; }

  .datastrip { grid-template-columns: minmax(0, 1fr); }
  .datastrip__cell {
    border-left: 0; padding-left: 0;
    border-top: 1px solid var(--rule-dark);
  }
  .datastrip__cell:first-child { border-top: 0; }
  .datastrip__cell:nth-child(2) { border-top: 1px solid var(--rule-dark); }

  .chapters  { grid-template-columns: minmax(0, 1fr); }
  .chapters__item { min-height: 0; }
  .values    { grid-template-columns: minmax(0, 1fr); }
  .evidence  { grid-template-columns: minmax(0, 1fr); }
  .domains   { grid-template-columns: minmax(0, 1fr); }
  .milestones{ grid-template-columns: minmax(0, 1fr); }
  .contact-index { grid-template-columns: minmax(0, 1fr); }

  .profile-facts__row { grid-template-columns: minmax(0, 1fr); gap: 0.3rem; }

  .approach__item { grid-template-columns: minmax(0, 1fr); gap: 0.6rem; }
  .approach__n { border-top: 0; padding-top: 0; }

  .foot-top { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .foot-bottom { flex-direction: column; align-items: flex-start; gap: 0.7rem; }

  .contact-row { padding-inline: 1.1rem; }
  .contact-row__icon { width: 38px; height: 38px; }

  .pullquote { padding: 1.2rem; }

  .next-link { flex-direction: column; align-items: flex-start; gap: 1.2rem; }
}

/* ---------- ≤520px : standard phone ------------------------------------- */
@media (max-width: 520px) {
  :root { --gutter: 1.15rem; }

  .mark__sub { display: none; }

  .editorial-list__item { grid-template-columns: minmax(0, 1fr) auto; }
  .editorial-list__num { display: none; }

  .essay__index { font-size: 0.85rem; }

  .plate { padding: 0.75rem; }
  .plate__caption { font-size: 0.6rem; letter-spacing: 0.1em; }


  .social__link { width: 42px; height: 42px; }
  .contact-social .social__link { width: 44px; height: 44px; }

  .btn { width: 100%; justify-content: space-between; }
  .hero__actions, .finale__meta { flex-direction: column; align-items: stretch; }
}

/* ---------- ≤400px : compact phone -------------------------------------- */
@media (max-width: 400px) {
  :root { --gutter: 1rem; --nav-h: 60px; }
  .mark__name { font-size: 0.86rem; }
  .mark__glyph { width: 26px; height: 26px; }
  .nav-drawer__link { font-size: 1.24rem; padding-block: 0.92rem; }
  .contact-row__v { font-size: 0.98rem; }
}

/* ---------- Landscape phones: keep the drawer usable -------------------- */
@media (max-height: 520px) and (orientation: landscape) {
  .nav-drawer { padding-top: calc(var(--nav-h) + 0.8rem); }
  .nav-drawer__link { font-size: 1.06rem; padding-block: 0.62rem; }
  .nav-drawer__foot { padding-top: 1.2rem; }
}

/* ---------- Print -------------------------------------------------------- */
@media print {
  .site-head, .nav-drawer, .nav-toggle, .progress, .next-link, .skip { display: none !important; }
  body { background: #fff; color: #000; }
  .band, .sheet { background: #fff !important; color: #000 !important; }
  a { color: #000; }
}
