/* POWEREC mobile-only hardening. No rules apply above 1080px. */
@media (max-width:1080px){
  .main-nav,.header-cta{display:none!important}
  .menu-btn{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px}
  .navrow .shell{gap:16px}
  .mega-menu,.simple-dropdown{display:none!important}
  .footer-network-grid,.footer-command-grid{grid-template-columns:1fr!important}
  .footer-link-cluster{grid-template-columns:repeat(3,minmax(0,1fr))}
  .project-record-grid{grid-template-columns:1fr!important}
  .project-record-panel{min-height:0}
}
@media (max-width:900px){
  :root{--pad:clamp(20px,4.5vw,36px)}
  .section{padding:clamp(72px,10vw,110px) 0}
  .section-head,.section-kicker-row,.industries-head,.process-top,.editorial-grid,.project-archive-summary{grid-template-columns:1fr!important;gap:24px!important}
  .cap-split,.industries-interactive,.intro-grid,.contact-layout,.page-grid,.about-intro,.legal-layout{grid-template-columns:1fr!important}
  .cap-media-stage,.industry-preview,.sticky-index,.legal-index{position:relative!important;top:auto!important}
  .cap-media-stage{height:52svh;min-height:380px;border-right:0}
  .industry-preview{height:46svh;min-height:340px;border-right:0}
  .project-stage{height:64svh;min-height:520px}
  .process-line,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .partner-grid,.team-grid,.detail-stat-grid,.case-results,.value-grid,.about-principles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-list-item{grid-template-columns:52px minmax(0,1fr)!important}
  .service-list-item p,.service-list-item .service-thumb,.service-list-item>a{grid-column:2}
  .service-thumb{width:100%;height:220px}
  .case-content-grid{grid-template-columns:1fr!important}
  .footer-office-rail{grid-template-columns:1fr!important}
  .footer-office-rail>div,.footer-office-rail>div+div{padding:22px 0!important;border-right:0!important;border-bottom:1px solid rgba(10,17,24,.17)}
  .footer-office-rail>div:last-child{border-bottom:0}
  .legal-index{display:flex;gap:8px;overflow-x:auto;border-top:0;padding-bottom:8px;scrollbar-width:thin}
  .legal-index a{flex:0 0 auto;border:1px solid var(--line-dark);padding:9px 12px;border-radius:2px;white-space:nowrap}
}
@media (max-width:780px){
  :root{--pad:20px;--body:.98rem}
  html,body{max-width:100%;overflow-x:hidden}
  body{min-width:320px}
  img,svg,video,canvas{max-width:100%;height:auto}
  .site-header{--nav-h:70px}
  .site-header.scrolled{--nav-h:64px}
  .topbar{display:none!important}
  .navrow,.site-header.scrolled .navrow{height:var(--nav-h)!important}
  .brand-logo{width:132px!important;max-height:48px!important;object-fit:contain}
  .menu-btn{width:44px;height:44px}
  .mobile-menu{height:100dvh;overscroll-behavior:contain;overflow-y:auto}
  .mobile-menu-head{height:74px;padding-inline:20px;position:sticky;top:0;z-index:3;background:#f1f3f4}
  .mobile-links{display:block;min-height:auto}
  .mobile-links-primary{min-height:auto;padding:34px 20px 28px;border-right:0;border-bottom:1px solid var(--line-dark)}
  .mobile-links-primary nav{gap:2px}
  .mobile-links-primary a{font-size:clamp(2rem,10vw,3.35rem)!important;line-height:1.02;padding:.08em 0}
  .mobile-cta{margin-top:28px;min-height:58px}
  .mobile-links-side{padding:28px 20px 42px;gap:36px}
  .mobile-subgroups{grid-template-columns:1fr 1fr;gap:24px}
  .mobile-subgroups a{font-size:.86rem;padding:6px 0}
  .hero,.hero-editorial{min-height:100svh}
  .hero .shell{padding-top:116px!important;padding-bottom:34px!important}
  .hero-editorial h1{font-size:clamp(2.72rem,12.8vw,4.7rem)!important;line-height:.94!important;letter-spacing:-.052em!important}
  .hero-copy{font-size:.96rem;line-height:1.6;margin-top:20px}
  .hero-actions{gap:10px;margin-top:26px}
  .hero-actions .btn{min-height:48px}
  .hero-bottom{grid-template-columns:1fr 1fr;margin-top:42px}
  .hero-proof{grid-column:1/-1;padding:13px 0;border-bottom:1px solid var(--line)}
  .metric{padding:14px 12px 14px 0!important;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:0}
  .metric strong{font-size:1.9rem}
  .proof-grid{grid-template-columns:1fr 1fr!important}
  .proof-cell{min-height:118px;padding:24px 14px!important}
  .proof-cell strong{font-size:2.45rem!important}
  .scroll-fill-section{min-height:165svh!important}
  .who-inner{min-height:100svh;padding-top:96px!important;padding-bottom:56px;justify-content:flex-start!important}
  .scroll-fill-text{font-size:clamp(2.25rem,10vw,3.85rem)!important;line-height:1.01!important}
  .who-copy{grid-template-columns:1fr!important;gap:15px!important;margin-top:30px!important}
  .editorial-statement,.big-statement{font-size:clamp(2.15rem,9.5vw,3.25rem)!important;line-height:1.04}
  .editorial-copy-row{grid-template-columns:1fr!important;margin-top:34px}
  .cap-media-stage{height:45svh;min-height:330px}
  .cap-media-label{left:18px;right:18px;bottom:18px;gap:14px}
  .cap-media-label strong{font-size:1.65rem;max-width:72%}
  .cap-accordion-item{grid-template-columns:34px minmax(0,1fr) auto!important;gap:12px;padding:20px 12px!important}
  .cap-main strong{font-size:1.28rem!important}
  .project-feature-head{align-items:flex-end;gap:20px}
  .project-nav{flex:none}
  .project-stage{height:67svh;min-height:500px}
  .project-slide-overlay{padding:24px}
  .project-slide-copy h3{font-size:clamp(2.45rem,12vw,4rem)!important;line-height:.95}
  .project-slide-copy p{font-size:.9rem}
  .industry-preview{height:40svh;min-height:300px}
  .industry-row{grid-template-columns:38px minmax(0,1fr) auto!important;gap:12px;min-height:96px;padding:20px 12px!important}
  .industry-row p{display:none}
  .process-line,.process-grid{grid-template-columns:1fr!important}
  .process-node,.process-step{min-height:190px}
  .process-node h3,.process-step h3{margin-top:46px}
  .page-hero,.case-hero{min-height:52svh!important;padding:108px 0 42px!important}
  .page-hero h1{font-size:clamp(2.35rem,10.5vw,3.8rem)!important;max-width:100%!important}
  .page-hero p{font-size:.92rem!important;line-height:1.55!important}
  .page-actions{gap:10px;margin-top:24px}
  .page-grid{gap:34px}
  .project-grid{grid-template-columns:1fr}
  .project-tile .media{height:auto;aspect-ratio:16/10}
  .project-tile-content{padding:20px}
  .project-tile-content h3{font-size:1.2rem}
  .projects-row{grid-auto-columns:min(86vw,420px)}
  .project-card{min-height:420px}
  .project-record-grid{gap:14px}
  .project-primary-visual{min-height:0!important;aspect-ratio:4/3}
  .project-record-panel{padding:24px}
  .project-record-list>div{grid-template-columns:82px minmax(0,1fr)}
  .case-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
  .case-gallery img:first-child{grid-column:1/-1;grid-row:auto;height:280px}
  .case-content-grid{gap:30px}
  .detail-stat-grid,.case-results,.partner-grid,.team-grid,.value-grid,.about-principles{grid-template-columns:1fr 1fr!important}
  .form-panel,.contact-panel{padding:24px}
  .form-grid{grid-template-columns:1fr!important}
  .field.full{grid-column:auto}
  .office-grid{grid-template-columns:1fr!important}
  .article-wrap p{font-size:1rem}
  .article-wrap h2{font-size:1.8rem;margin-top:42px}
  .article-wrap blockquote{font-size:1.15rem;margin:32px 0;padding:22px}
  .legal-content h2{font-size:1.55rem;margin-top:36px}
  .footer-command{padding:78px 0 64px}
  .footer-command-top{align-items:flex-start;flex-direction:column;margin-bottom:54px!important}
  .footer-command h2{font-size:clamp(3.25rem,15vw,5.6rem)!important;line-height:.88}
  .footer-network-grid{padding-top:38px;padding-bottom:38px}
  .footer-link-cluster{grid-template-columns:1fr 1fr}
  .footer-link-cluster>div:last-child{grid-column:1/-1}
  .footer-big-email{font-size:clamp(1.15rem,6vw,1.55rem)!important;overflow-wrap:anywhere}
  .footer-kinetic-word{height:145px!important}
  .footer-kinetic-word span{font-size:9.2rem!important}
  .footer-legal .shell{flex-direction:column;gap:10px!important}
}
@media (max-width:520px){
  :root{--pad:18px}
  .mobile-subgroups{grid-template-columns:1fr}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .btn,.page-actions .btn{width:100%}
  .hero-bottom{grid-template-columns:1fr 1fr}
  .metric strong{font-size:1.7rem}
  .proof-cell strong{font-size:2.2rem!important}
  .cap-media-stage{height:40svh;min-height:300px}
  .project-stage{min-height:470px;height:64svh}
  .project-slide-overlay{padding:20px}
  .project-slide-copy h3{font-size:clamp(2.25rem,11vw,3.25rem)!important}
  .detail-stat-grid,.case-results,.partner-grid,.team-grid,.value-grid,.about-principles{grid-template-columns:1fr!important}
  .case-gallery{grid-template-columns:1fr;grid-auto-rows:auto}
  .case-gallery img,.case-gallery img:first-child{height:auto;aspect-ratio:4/3;grid-column:auto}
  .project-record-list>div{grid-template-columns:1fr;gap:4px}
  .footer-link-cluster{grid-template-columns:1fr}
  .footer-link-cluster>div:last-child{grid-column:auto}
}
@media (max-width:380px){
  :root{--pad:16px}
  .brand-logo{width:120px!important}
  .hero-editorial h1{font-size:2.55rem!important}
  .scroll-fill-text{font-size:2.15rem!important}
  .proof-cell{padding:20px 10px!important}
  .proof-cell strong{font-size:1.95rem!important}
  .project-slide-copy h3{font-size:2.2rem!important}
}


/* Mobile-only scroll-fill repair: keep the copy pinned long enough to complete
   while fitting the full statement inside short 320–430px viewports. */
@media (max-width:780px){
  .scroll-fill-section{min-height:190svh!important}
  .scroll-fill-section .who-inner{
    min-height:100svh!important;
    padding-top:calc(82px + env(safe-area-inset-top))!important;
    padding-bottom:34px!important;
  }
  .scroll-fill-section .scroll-fill-text{
    font-size:clamp(2rem,9.2vw,3.25rem)!important;
    line-height:1.01!important;
  }
  .project-value-scroll{min-height:235svh!important}
  .project-value-scroll .project-value-inner{
    padding-top:calc(76px + env(safe-area-inset-top))!important;
    padding-bottom:28px!important;
  }
  .project-value-scroll .project-value-text{
    font-size:clamp(1.48rem,6.9vw,2.25rem)!important;
    line-height:1.045!important;
    letter-spacing:-.045em!important;
  }
  .project-value-scroll .who-copy{gap:10px!important;margin-top:22px!important}
  .project-value-scroll .who-copy p{font-size:.78rem!important;line-height:1.55!important}
  .project-value-scroll .who-action{margin-top:20px!important}
}
@media (max-width:340px){
  .scroll-fill-section .scroll-fill-text{font-size:1.92rem!important}
  .project-value-scroll .project-value-text{font-size:1.38rem!important}
}
