/* ==========================================================================
   amarpalmaurya.com — responsive layer
   Breakpoints: 1400 / 1180 / 1024 / 900 / 768 / 620 / 480 / 380
   ========================================================================== */

/* ---- Very large desktops: keep measure sane ---- */
@media (min-width: 1600px){
  :root{ --wrap: 1340px; }
}

/* ---- 1400 and below: tighten nav tracking ---- */
@media (max-width: 1400px){
  .nav-desktop a{ letter-spacing: .1em; }
}

/* ---- 1180: collapse 12-col spans a little ---- */
@media (max-width: 1180px){
  .egrid .c4{ grid-column: span 6; }
  .egrid .c5{ grid-column: span 6; }
  .egrid .c7{ grid-column: span 6; }
  .egrid .c8{ grid-column: span 12; }
  .hero__grid{ grid-template-columns: minmax(0, 1fr) minmax(0, .82fr); }
}

/* ---- 1024: switch to mobile navigation ---- */
@media (max-width: 1024px){
  .nav-desktop{ display: none; }
  .nav-toggle{ display: inline-flex; }

  .split, .split--flip, .split--even{ grid-template-columns: minmax(0,1fr); }
  .split__aside{ position: static; top: auto; }

  .factstrip__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .factstrip__item{ border-top: 1px solid var(--rule); }
  .factstrip__item:nth-child(1), .factstrip__item:nth-child(2){ border-top: 0; }
  .factstrip__item:nth-child(odd){ border-left: 0; padding-left: 0; }
  .factstrip__item:nth-child(even){ padding-left: clamp(1rem, 3vw, 1.6rem); }
}

/* ---- 900: hero becomes single column ---- */
@media (max-width: 900px){
  :root{ --tl-gutter: 6.5rem; }

  .hero__grid{ grid-template-columns: minmax(0,1fr); align-items: start; }
  .hero__portrait{ max-width: 460px; }
  .hero__badge{ left: auto; right: clamp(-.5rem, -2vw, -1rem); bottom: 1.25rem; }
  .hero::before{ background-size: calc(100% / 4) 100%; }

  .egrid .c4, .egrid .c5, .egrid .c6, .egrid .c7{ grid-column: span 12; }

  .footer-main{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer-brand{ grid-column: span 2; }

  .ledger__row, .ledger__row--wide{ grid-template-columns: 4.25rem minmax(0,1fr); gap: 1.25rem; }
}

/* ---- 768: tablets / large phones ---- */
@media (max-width: 768px){
  :root{ --hdr-h: 62px; }

  .brand__role{ display: none; }

  .tlc__row{ grid-template-columns: 5rem minmax(0,1fr); row-gap: .35rem; }
  .tlc__c{ grid-column: 2; }

  .gallery .c4, .gallery .c5, .gallery .c6, .gallery .c7, .gallery .c8{ grid-column: span 12; }

  .pager{ grid-template-columns: minmax(0,1fr); }
  .pager a + a{ border-left: 0; border-top: 1px solid var(--rule); padding-left: 0; }
  .pager .right{ text-align: left; }

  .contact-row{ grid-template-columns: minmax(0,1fr); gap: .5rem; }

  .statement{ max-width: 100%; }
  .statement--wide{ max-width: 100%; }

  .hero__badge{
    position: static; max-width: none; margin-top: 1rem;
    display: flex; align-items: baseline; gap: .8rem;
  }
  .hero__badge .v{ margin-top: 0; }
}

/* ---- 620: phones ---- */
@media (max-width: 620px){
  :root{ --tl-gutter: 4.75rem; }

  .factstrip__grid{ grid-template-columns: minmax(0,1fr); }
  .factstrip__item{ border-left: 0; padding-left: 0; border-top: 1px solid var(--rule); }
  .factstrip__item:first-child{ border-top: 0; }
  .factstrip__item:nth-child(even){ padding-left: 0; }

  .ledger__row, .ledger__row--wide{ grid-template-columns: minmax(0,1fr); gap: .85rem; }
  .ledger__idx{ display: flex; align-items: baseline; gap: .75rem; }
  .ledger__idx small{ margin-top: 0; }

  .tl__year{ text-align: left; padding-right: 0; padding-left: 1.25rem; }
  .tl__year::after{ right: auto; left: -4px; }
  .tl::before{ left: 0; }
  .tl__item{ grid-template-columns: minmax(0,1fr); gap: .9rem; }
  .tl__year{ padding-left: 1.5rem; }
  .tl__body{ padding-left: 1.5rem; }
  .tl__year b{ display: inline-block; }
  .tl__year span{ display: inline-block; margin-top: 0; margin-left: .7rem; }

  .footer-main{ grid-template-columns: minmax(0,1fr); }
  .footer-brand{ grid-column: span 1; }

  .rail{ grid-auto-columns: minmax(210px, 78%); }

  .nav-mobile ul a{ font-size: 1.2rem; }

  .btn{ width: 100%; }
  .btn-row{ gap: .65rem; }
}

/* ---- 480: small phones ---- */
@media (max-width: 480px){
  .brand__name{ font-size: .92rem; letter-spacing: .03em; }
  .nav-toggle{ padding: .5rem .7rem; font-size: 0; gap: 0; }
  .nav-toggle .nav-toggle__label{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

  .hero__kicker{ font-size: .64rem; padding: .42rem .8rem; letter-spacing: .16em; }
  .panel{ padding: 1.25rem; }
  .plate{ padding: .45rem; }

  .tlc__row{ grid-template-columns: minmax(0,1fr); }
  .tlc__c{ grid-column: 1; }
  .tlc > li:hover .tlc__row{ padding-left: 0; }
}

/* ---- 380: very small phones ---- */
@media (max-width: 380px){
  :root{ --gutter: 1rem; --tl-gutter: 4rem; }
  .footer-bottom{ font-size: .74rem; }
}

/* ---- Landscape phones: shorter vertical rhythm ---- */
@media (max-height: 520px) and (orientation: landscape){
  :root{ --sec-y: 2.75rem; }
  .nav-mobile ul a{ padding-block: .7rem; font-size: 1.05rem; }
}

/* ---- Hover-less (touch) devices: no lift transforms ---- */
@media (hover: none){
  .btn:hover, .soc:hover{ transform: none; }
  .tlc > li:hover .tlc__row{ background: transparent; padding-left: 0; }
}
