/* Mobile layout: one gutter system, safe areas and comfortable touch targets. */
:root{--mobile-gutter:clamp(20px,5.5vw,28px)}
main,footer{min-width:0}
input,select,textarea,button{max-width:100%}
.form-row>.field,.card-copy>div,.console-brand>p{min-width:0}
:focus-visible{scroll-margin-block:140px 30px}
@media(max-width:850px){
 .menu-toggle{min-width:88px;min-height:44px;justify-content:center}
 .site-header nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(100svh - 128px - env(safe-area-inset-bottom,0px))}
 .site-header nav a,.site-header nav summary{min-height:46px;display:flex;align-items:center}
 .nav-services summary{justify-content:space-between}
 .hero-glass-grid{scroll-margin-top:130px}
 .faq-list summary{min-height:60px;gap:18px;line-height:1.5}
 .faq-list summary>span{flex-shrink:0}
 .contact-layout form{min-width:0}
}
@media(max-width:650px){
 html{scroll-padding-top:calc(106px + env(safe-area-inset-top,0px))}
 .wrap{width:auto;margin-left:max(var(--mobile-gutter),env(safe-area-inset-left,0px));margin-right:max(var(--mobile-gutter),env(safe-area-inset-right,0px))}
 .site-header{top:max(12px,env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));width:auto;max-width:none;transform:none;height:68px}
 .header-inner{padding-inline:12px;gap:12px}
 .header-cta{display:none}
 .site-header .brand{gap:9px}
 .site-header .brand img{width:42px}
 .site-header .brand>span{font-size:14px;white-space:nowrap}
 .site-header .brand small{font-size:7px;letter-spacing:.25em}
 .site-header nav{top:78px;padding:13px;max-height:calc(100svh - 112px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:15px}
 .nav-link,.nav-services summary{font-size:15px;padding:12px}
 .dropdown a{font-size:14px;line-height:1.5;padding:12px}
 .hero-content{padding-top:calc(134px + env(safe-area-inset-top,0px));padding-bottom:45px}
 .hero h1{font-size:clamp(52px,15.5vw,88px);line-height:1.02;letter-spacing:-.055em}
 .hero .eyebrow{font-size:10px;letter-spacing:.045em;line-height:1.5;padding:8px 10px;max-width:100%;margin-bottom:26px}
 .hero .eyebrow>span{flex-shrink:0}
 .hero-content>p{font-size:16px;line-height:1.7;margin-top:24px;max-width:none}
 .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:28px}
 .hero-actions .button,.button{font-size:14px;min-height:52px;padding:15px 19px;gap:20px;line-height:1.5}
 .hero-actions .button{width:100%}
 .hero-glass-grid{width:calc(100% - 2*var(--mobile-gutter) - 12px);max-width:420px;margin:0 auto 22px}
 .hero-glass-grid:before{inset:-10px 8px 20px -7px;transform:rotate(-4deg)}
 .hero-glass-grid:after{inset:20px -7px -10px 8px;transform:rotate(4deg)}
 .glass-console{padding:18px;border-radius:19px;backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}
 .console-label{font-size:10px;letter-spacing:.035em;gap:12px;line-height:1.6;align-items:flex-start}
 .console-label>span{gap:6px;align-items:center}
 .console-label>span:last-child{max-width:88px;text-align:right;flex-shrink:0}
 .console-brand{gap:12px;padding-block:22px;align-items:center}
 .console-brand p{font-size:23px;line-height:1.2;overflow-wrap:break-word}
 .console-brand small{font-size:12px;line-height:1.5;letter-spacing:0;margin-top:8px}
 .console-emblem{width:50px;height:54px;border-radius:12px}
 .console-emblem img{width:40px;height:30px}
 .console-links{gap:10px}
 .console-links>a{font-size:13px;min-height:100px;padding:14px 12px;line-height:1.4;justify-content:space-between}
 .console-links>a:after{font-size:14px}
 .console-links>a>svg{width:24px;height:24px}
 .console-bottom{font-size:10px;letter-spacing:0;gap:12px;line-height:1.6}
 .console-bottom>span:last-child{flex-shrink:0}
 .glass-caption{font-size:12px;line-height:1.5;gap:10px;padding:14px}
 .glass-caption small{display:none}
 .glass-caption>svg{flex-shrink:0}
 .hero{padding-bottom:94px}
 .hero-bottom{bottom:22px;gap:15px;font-size:10px;align-items:center}
 .hero .hero-bottom>span{font-size:9px;letter-spacing:.025em;max-width:90px;line-height:1.6}
 .hero-bottom a{font-size:9px;letter-spacing:.02em;line-height:1.6;min-height:44px;align-items:center;gap:12px;text-align:right}
 .capability-strip{font-size:11px;letter-spacing:0;line-height:1.6}
 .capability-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;padding-block:23px}
 .capability-strip span{display:flex;align-items:flex-start}
 .capability-strip span:before{margin-right:7px;flex-shrink:0}
 .service-grid,.about-preview,.editorial,.faq-section,.brand-panel,.contact-layout,.form-row,.principle-grid,.scope-grid{grid-template-columns:minmax(0,1fr)}
 .service-grid{gap:26px}
 .section{padding-block:64px}
 .section-top{display:block;margin-bottom:30px}
 .section-heading h2,.editorial h2{font-size:clamp(30px,8.4vw,39px);line-height:1.15}
 .section-aside{max-width:none;margin-top:22px;font-size:16px;line-height:1.65}
 .eyebrow,.section-heading .eyebrow,.page-hero .eyebrow{font-size:11px;letter-spacing:.07em;line-height:1.6}
 .card-image{height:clamp(220px,66vw,330px)}
 .card-copy{margin:20px 10px 0;gap:12px;align-items:center}
 .card-copy h3{font-size:26px;line-height:1.2;overflow-wrap:break-word}
 .card-copy .micro{font-size:10px;letter-spacing:.06em;line-height:1.6}
 .round-arrow{width:40px;height:40px;flex-shrink:0}
 .service-card>p{padding-inline:10px;font-size:16px;line-height:1.7}
 .about-preview{gap:32px}
 .about-photo>img{height:360px}
 .about-copy h2{font-size:clamp(33px,9vw,44px)}
 .about-copy p,.editorial p,.principle-grid p,.scope-grid p{font-size:16px;line-height:1.7}
 .editorial{gap:27px}
 .editorial .lead{font-size:18px;line-height:1.7}
 .audience p{font-size:16px}
 .text-link{font-size:15px;min-height:48px;gap:20px}
 .photo-caption{font-size:9px;letter-spacing:.05em;gap:15px;padding:16px}
 .principle-grid article,.scope-grid article{padding:25px!important}
 .principle-grid article+article{padding-left:25px;border-left:1px solid #ffffff24}
 .principle-grid h3,.scope-grid h3{font-size:27px}
 .process-grid{grid-template-columns:1fr}
 .process-grid article{grid-template-columns:25px minmax(0,1fr);gap:0 12px}
 .process-grid p{font-size:16px;line-height:1.7}
 .process-grid .step{font-size:12px}
 .cta{padding:30px 24px;margin-bottom:64px}
 .cta h2{font-size:clamp(29px,8vw,38px);line-height:1.15}
 .cta .eyebrow{font-size:10px}
 .cta .button{width:100%;margin-top:28px}
 .footer{padding-bottom:calc(26px + env(safe-area-inset-bottom,0px))}
 .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 20px}
 .footer-top>div:first-child,.footer-brochure{grid-column:1/-1}
 .footer-top>div>.micro{font-size:11px;margin-bottom:14px}
 .footer-top>div>a:not(.brand){font-size:14px;line-height:1.5;min-height:44px;padding-block:10px}
 .footer-top>div>p,.footer-brochure p>span{font-size:13px;line-height:1.65}
 .footer-bottom{font-size:11px;line-height:1.7;flex-wrap:wrap;gap:13px 20px;align-items:center}
 .footer-bottom>a{min-height:44px;display:flex;align-items:center}
 .footer-bottom>span:last-child{width:100%}
 .page-hero{padding-top:calc(130px + env(safe-area-inset-top,0px));padding-bottom:60px}
 .page-hero h1{font-size:clamp(35px,10vw,60px);line-height:1.12;overflow-wrap:break-word}
 .page-hero.has-photo{min-height:0;padding-bottom:75px}
 .breadcrumb{font-size:12px;flex-wrap:wrap;letter-spacing:.02em;gap:10px;margin-bottom:30px!important}
 .breadcrumb a{min-height:44px;display:inline-flex;align-items:center}
 .breadcrumb{align-items:center}
 .page-hero-content>p{font-size:16px;line-height:1.7}
 .faq-section{gap:30px}
 .faq-list summary{font-size:16px;line-height:1.5;padding-block:21px}
 .faq-list details>p{font-size:16px;line-height:1.7}
 .brand-panel{padding:28px 24px;gap:30px}
 .brand-panel h2{font-size:32px}
 .brand-panel p{font-size:16px}
 .subbrand{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
 .contact-layout{gap:35px}
 .contact-layout form{padding:24px 18px}
 .contact-intro{padding:0}
 .contact-intro h2{font-size:clamp(32px,9vw,43px)}
 .contact-intro>p{font-size:16px;max-width:none}
 .contact-note p{font-size:14px;max-width:none}
 .contact-note .micro{font-size:11px}
 .form-row{gap:0}
 .field{margin-bottom:25px}
 .field>label{font-size:14px;margin-bottom:10px}
 input:not([type=checkbox]),select,textarea{font-size:16px;min-height:52px;padding:13px 12px}
 textarea{min-height:160px}
 .field-meta{font-size:12px;line-height:1.5;flex-wrap:wrap;gap:7px}
 .field-meta>span:first-child{flex:1 1 170px}
 .field-error{font-size:13px;line-height:1.6}
 .consent{gap:12px;font-size:14px;line-height:1.7;min-height:48px}
 .consent input{width:22px;height:22px;margin-top:2px}
 .consent label{padding-bottom:10px}
 form>.button{width:100%;margin-top:22px}
 .form-footnote{font-size:12px;line-height:1.65}
 .form-result{padding:22px 18px}
 .form-result p{font-size:15px}
 .error-summary{font-size:14px;padding:18px}
 .error-summary a{min-height:44px;display:flex;align-items:center;line-height:1.5;padding-block:8px}
 .legal p{font-size:16px}
 .legal h2{font-size:27px;line-height:1.2}
}
@media(max-width:359px){
 :root{--mobile-gutter:18px}
 .site-header .brand>span{font-size:13px}
 .site-header .brand img{width:36px}
 .menu-toggle{min-width:78px;padding-inline:9px}
 .console-label{flex-direction:column;gap:7px;font-size:10px}
 .console-label>span:last-child{max-width:none;text-align:left}
 .console-brand{gap:10px}
 .console-brand p{font-size:21px}
 .console-emblem{width:43px;height:49px}
 .console-emblem img{width:35px}
 .console-links{grid-template-columns:1fr}
 .console-links>a{min-height:62px;flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;padding-right:25px}
 .console-links>a:after{top:20px}
 .console-bottom{flex-wrap:wrap}
 .capability-strip .wrap{grid-template-columns:1fr}
 .card-copy h3{font-size:24px}
}
@media(max-height:500px) and (max-width:1000px){
 .site-header{top:max(8px,env(safe-area-inset-top,0px));height:62px}
 .site-header nav{top:73px;max-height:calc(100svh - 96px - env(safe-area-inset-bottom,0px))}
 .hero-content{padding-top:120px}
 .page-hero{padding-top:120px}
}
/* Shared closing panels: vertical and centered on phones and compact screens. */
@media(min-width:651px){.scope-grid>article:nth-child(7):last-child{grid-column:2}}
.capability-strip{font-size:14px;font-weight:500;letter-spacing:.015em;line-height:1.6;color:#dde0e6}
.capability-strip .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:28px}
.capability-strip .wrap>span{display:flex;align-items:baseline;min-width:0}
.capability-strip .wrap>span:before{flex-shrink:0;margin-right:10px}
@media(max-width:850px){.capability-strip{font-size:16px;letter-spacing:0}.capability-strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;padding-block:26px}}
@media(max-width:359px){.capability-strip .wrap{grid-template-columns:1fr;gap:14px}}
@media(max-width:850px),(max-height:500px) and (max-width:1000px){
 .cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;text-align:center;padding:36px 24px}
 .cta>div{width:100%;min-width:0;max-width:560px}
 .cta .eyebrow{justify-content:center;text-align:center;gap:10px;margin-bottom:22px;line-height:1.6}
 .cta .eyebrow>span{flex-shrink:0}
 .cta h2{width:100%;max-width:none;font-size:clamp(29px,5.5vw,42px);line-height:1.16;overflow-wrap:normal}
 .cta>.button{width:min(230px,100%);max-width:100%;min-width:0;min-height:52px;margin:0 auto;align-self:center;justify-content:center;gap:24px;flex-shrink:1}
 .cta>.button svg{width:20px;height:20px;flex-shrink:0}
}
