/* ==========================================================================
   mohitkamboj.com — Responsive layer
   Breakpoints: 1280 / 1100 / 1024 / 900 / 768 / 600 / 430 / 360
   ========================================================================== */

/* ---------- <= 1280px ---------- */
@media (max-width:1280px){
  :root{--shell:1180px}
}

/* ---------- <= 1100px ---------- */
@media (max-width:1100px){
  .band__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .topic-index{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-extra{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-extra > *:last-child{grid-column:1/-1;max-width:560px}
}

/* ---------- <= 1024px : tablet landscape ---------- */
@media (max-width:1024px){
  :root{--nav-h:66px}

  /* Mobile navigation takes over */
  .nav__links{display:none}
  .nav__toggle{display:flex}

  .signal-open__grid{grid-template-columns:1fr;gap:clamp(30px,5vw,48px)}
  .signal-open__art{max-width:none}
  .signal-open__stamp{right:auto;left:clamp(14px,3vw,26px)}
  .signal-open__claim{max-width:32ch}

  .who{grid-template-columns:1fr;gap:34px}
  .who__art{top:0;max-width:none}
  .domains{grid-template-columns:1fr;border-block:1px solid var(--dark-line)}
  .momentum{grid-template-columns:1fr;gap:30px}
  .persp{grid-template-columns:1fr;gap:32px}
  .persp__art{max-width:none}

  .about-open{grid-template-columns:1fr;gap:32px}
  .annot{grid-template-columns:1fr;gap:26px}
  .annot__side{position:static;top:auto;border-left:2px solid var(--signal);padding-left:18px}
  .annot__side .rule{display:none}
  .values{grid-template-columns:1fr}

  .interrupt,.interrupt--flip{grid-template-columns:1fr;gap:30px}
  .interrupt--flip .interrupt__art{order:0}
  .arc{grid-template-columns:1fr;gap:26px}

  .case__body,.case--flip .case__body{grid-template-columns:1fr;gap:30px}
  .case--flip .case__art{order:0}
  .case__art{max-width:none}
  .impact-strip__grid{grid-template-columns:1fr}

  .note-hero{grid-template-columns:1fr;gap:30px}
  .note-hero__art{max-width:none}
  .entry__grid,.entry__grid.entry--wide{grid-template-columns:1fr;gap:26px}
  .entry__art{position:static;max-width:none}

  .contact-split{grid-template-columns:1fr}
  .contact-side{padding-block:clamp(40px,7vw,64px)}

  .masthead__grid{grid-template-columns:1fr;gap:26px;align-items:start}

  .mini-cards{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:34px}
  .footer-brand{grid-column:1/-1}
}

/* ---------- <= 900px ---------- */
@media (max-width:900px){
  .human{grid-template-columns:repeat(2,minmax(0,1fr))}
  .human .fig:nth-child(3){grid-column:1/-1;max-width:calc(50% - 12px)}
  .moments{grid-template-columns:repeat(2,minmax(0,1fr))}
  .moment--c{grid-column:1/-1;max-width:calc(50% - 12px)}
  .explore__row{grid-template-columns:auto 1fr;row-gap:14px}
  .explore__arrow{grid-column:2;justify-self:start}
}

/* ---------- <= 768px : tablet portrait / large phone ---------- */
@media (max-width:768px){
  :root{--gut:22px}

  body{font-size:15.5px}

  .sect{padding-block:clamp(52px,10vw,72px)}
  .sect-head{margin-bottom:24px}
  .sect-head__line{display:none}

  .signal-open{padding-block:44px 48px}
  .signal-open__idx i{display:none}
  .signal-open__art::before{width:52px;height:52px;left:-8px;top:-8px}
  .signal-open__stamp{position:static;display:inline-block;margin-top:14px;max-width:100%}

  .ticker__row{padding-block:12px}
  .ticker__item{font-size:.64rem;padding-inline:11px;letter-spacing:.14em}

  .who__facts{grid-template-columns:1fr}
  .band__grid{grid-template-columns:1fr}
  .topic-index{grid-template-columns:1fr}
  .contact-extra{grid-template-columns:1fr}
  .contact-extra > *:last-child{grid-column:auto;max-width:none}

  .mom-item{grid-template-columns:1fr;gap:8px}
  .mom-item__k{font-size:1.7rem}

  .moments{grid-template-columns:1fr;gap:22px}
  .moment--a,.moment--b,.moment--c{grid-column:1/-1;max-width:none}

  .human{grid-template-columns:1fr}
  .human .fig{max-width:none}
  .human .fig:nth-child(3){grid-column:auto;max-width:none}

  .case__head{grid-template-columns:1fr;gap:12px}
  .case__n{font-size:2.6rem}
  .dl-signal__row{grid-template-columns:1fr;gap:6px;padding-block:16px}
  .dl-signal dt{padding-top:0}

  .phase-head{gap:14px}
  .phase-head__n{font-size:2.6rem}

  .form-grid{grid-template-columns:1fr;gap:18px}
  .form-foot{flex-direction:column;align-items:stretch;gap:14px}
  .form-foot .btn{width:100%}
  .form-foot p{max-width:none;order:2}

  .footer-top{grid-template-columns:1fr;gap:32px;padding-block:46px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;text-align:left}

  .stage{flex-basis:min(400px,88vw);padding:24px 20px 30px}
  .track-hint{display:none}

  .next-page__row{flex-direction:column;align-items:flex-start;gap:18px}
  .next-page__row .btn{width:100%}
}

/* ---------- <= 600px : phones ---------- */
@media (max-width:600px){
  :root{--gut:18px}

  .d1{font-size:clamp(2.5rem,7.4vw + 1rem,3.4rem)}
  .lead{font-size:1.02rem}

  .btn{padding:15px 22px;font-size:.72rem;letter-spacing:.13em}
  .signal-open__acts{flex-direction:column}
  .signal-open__acts .btn{width:100%}
  .closer__acts{flex-direction:column;align-items:stretch}
  .closer__acts .btn{width:100%}

  .masthead__meta .chip{font-size:.6rem;padding:6px 11px}
  .crumbs{font-size:.6rem;gap:7px}

  .explore__row{padding-block:20px;grid-template-columns:1fr;row-gap:10px}
  .explore__row:hover{padding-inline:0}
  .explore__arrow{grid-column:auto;width:40px;height:40px}
  .explore__d{font-size:.9rem}

  .mobile-panel__link{font-size:1.42rem;padding:16px 2px;gap:12px}
  .mobile-panel__link em{font-size:.56rem}

  .statement{padding:24px 22px 24px 26px}
  .who__fact{padding:18px 16px}
  .stage{flex-basis:min(340px,90vw)}
  .track-btn{width:42px;height:42px}

  .access__card{max-width:100%}
  .access{padding:30px 18px}

  .social a,.social span{width:40px;height:40px}
}

/* ---------- <= 430px : small phones ---------- */
@media (max-width:430px){
  :root{--gut:16px}
  body{font-size:15px}
  .d1{font-size:2.35rem}
  .d2{font-size:1.85rem}
  .d3{font-size:1.42rem}
  .brand__name{font-size:.72rem;letter-spacing:.16em}
  .brand__mark{width:22px;height:22px}
  .signal-open__claim{font-size:1.12rem}
  .footer-brand__name{font-size:1.5rem}
  .case__n{font-size:2.2rem}
  .num-mark{font-size:2.8rem}
}

/* ---------- <= 360px ---------- */
@media (max-width:360px){
  :root{--gut:14px}
  .d1{font-size:2.1rem}
  .brand__name{font-size:.66rem;letter-spacing:.13em}
  .nav__toggle{width:42px;height:42px}
  .ticker__item{font-size:.58rem;padding-inline:9px}
}

/* ---------- Short landscape phones ---------- */
@media (max-height:520px) and (orientation:landscape){
  .access{min-height:auto;padding-block:36px}
  .mobile-panel{padding-block:24px 30px}
  .mobile-panel__link{font-size:1.2rem;padding:11px 2px}
  .mobile-panel__foot{padding-top:20px}
}

/* ---------- Fine-pointer hover polish only ---------- */
@media (hover:none){
  .explore__row:hover{background:transparent;padding-inline:0}
  .mini-card:hover{transform:none}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;
  }
  .rv{opacity:1;transform:none}
  .draw{transform:none}
  .track{scroll-snap-type:none}
}

/* ---------- Print ---------- */
@media print{
  .nav,.mobile-panel,.skip-link,.site-footer,.track-ctrl,.next-page{display:none!important}
  body{background:#fff;color:#000}
  .sect--dark,.sect--graphite,.masthead,.signal-open,.contact-side{background:#fff!important;color:#000!important}
  .sect--dark *,.masthead *,.signal-open *,.contact-side *{color:#000!important}
  .track{overflow:visible;display:block}
  .stage{page-break-inside:avoid}
}

/* Contact aside stacks on small screens */
@media (max-width:600px){
  .form-aside__links{grid-template-columns:1fr}
}
