/* Compact header and touch layouts. */
.mobile-menu-toggle { display:none; }
@media(max-width:1200px) {
 :root { --nav-h:68px; }
 body>nav { height:var(--nav-h); }
 body>nav .nav { position:relative; width:100%; max-width:100%; padding:0 24px; gap:14px; align-items:center; }
 body>nav .brand { margin:0; flex:1; min-width:0; }
 body>nav .brand-logo { width:180px; }
 body>nav .nav>.btn.fill { margin:0; width:104px!important; min-width:104px!important; height:40px!important; min-height:40px!important; font-size:13px; }
 .mobile-menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; order:3; flex:none; width:44px; height:44px; border:1px solid #dce6e8; border-radius:12px; background:#fff; color:#172328; }
 .mobile-menu-toggle span { width:20px; height:2px; background:currentColor; transition:transform .2s,opacity .2s; }
 .menu-open .mobile-menu-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
 .menu-open .mobile-menu-toggle span:nth-child(2) { opacity:0; }
 .menu-open .mobile-menu-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
 body>nav .nav .links { display:none; position:absolute; inset:100% 0 auto; width:100%; max-width:none; padding:12px 24px 18px; margin:0; overflow:visible; background:#fff; color:#27363c; box-shadow:0 15px 25px #002a391a; border-top:1px solid #e8eff0; border-radius:0 0 20px 20px; }
 body>nav.menu-open .nav .links { display:flex; flex-direction:column; align-items:stretch; gap:4px; }
 body>nav .nav .links a,body>nav .nav .links a:first-child { display:block; padding:12px 16px; font-size:15px!important; border-radius:10px; }
 body>nav .nav .links a[aria-current=page] { background:#edf7f8!important; color:#007488; }
 body.video-nav-dark>nav .nav .links,body.video-nav-dark>nav .nav .links a { color:#27363c!important; }
}
@media(max-width:700px) {
 :root { --nav-h:64px; --foot-h:0px; --gutter:20px; }
 body>nav .nav { padding:0 16px; gap:10px; }
 body>nav .brand-logo { width:152px; }
 body>nav .nav>.btn.fill { width:86px!important; min-width:86px!important; height:36px!important; min-height:36px!important; font-size:12px; }
 .mobile-menu-toggle { width:40px; height:40px; }
 body>nav .nav .links { padding:10px 16px 16px; }
 .cc-deck-page { scroll-padding-block:16px; }
 .cc-deck-content>section { padding:28px 0; }
 #top h1 { font-size:clamp(26px,6.7vw,38px)!important; line-height:1.4; letter-spacing:-.04em; }
 #top .lead { font-size:10px!important; letter-spacing:.03em; line-height:1.65; margin-bottom:22px!important; }
 #top .acts { gap:10px; }
 #top .acts .btn { width:120px; min-width:120px; height:44px; min-height:44px; }
 #top .hero-caps { margin-top:26px!important; }
 #top .hcap { height:150px!important; border-radius:16px; }
 #top .hcap span { font-size:12px; }
 #content-capabilities .head h2 { font-size:30px; }
 #content-capabilities .head p { font-size:13px; line-height:1.8; }
 #content-capabilities .content-mosaic { grid-template-columns:1fr; grid-auto-rows:200px; gap:12px; }
 #content-capabilities .content-mosaic-card:nth-child(n) { grid-column:auto; grid-row:auto; border-radius:18px; }
 #content-capabilities .content-mosaic-card h3 { font-size:21px; }
 #content-capabilities .content-mosaic-card p { font-size:13px; line-height:1.65; }
 #showroom-transition .transition-grid { margin-top:24px; }
 #showroom-transition h2 { font-size:27px; line-height:1.5; }
 #showroom-transition .comparison-copy { margin-bottom:0; line-height:1.9; }
 #showroom-transition .transition-question { font-size:14px; margin:16px 0; }
 #root-solution h2 { font-size:28px; }
 .case-library-grid { grid-template-columns:1fr!important; gap:24px!important; }
 .case-library-image { height:auto!important; aspect-ratio:16/10; }
 .case-library-info h3 { font-size:20px; }
 .svc-showcase { grid-template-columns:1fr!important; gap:18px; }
 .svc-stage { min-height:220px; }
 .svc-name { font-size:15px; }
 .svc-row { padding-inline:12px; }
 .svc-premium { font-size:10px; }
 .svc-extras { grid-template-columns:1fr; }
 .svc-extras>div { gap:6px 10px; }
 input,select,textarea { font-size:16px!important; }
 .cc-deck-controls { right:12px; bottom:max(10px,env(safe-area-inset-bottom)); }
 #cc-ai-page .head h2 { font-size:29px; }
}
@media(max-width:360px) {
 body>nav .brand-logo { width:128px; }
 body>nav .nav { padding-inline:12px; gap:8px; }
 body>nav .nav>.btn.fill { width:78px!important; min-width:78px!important; }
}
