/* Mobile visual hierarchy — deliberately scoped away from desktop. */
@media(max-width:650px){
 :root{--line:#ffffff16}
 body{background:#0e1216;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 body>header{height:78px;padding:0 24px;background:#101419;border-bottom:1px solid #ffffff10}
 header .brand{width:210px}.brand .asi-logo{width:210px}
 .menu{border:0;background:transparent;color:#d5d9dd;padding:10px 0 10px 14px;font-size:13px}
 #mobile-nav{top:78px;background:#101419;border-bottom:1px solid #ffffff18}
 .hero{background:#101419;overflow:hidden}
 .hero video{display:block}.hero-poster{opacity:1;filter:none}
 .shade{background:linear-gradient(180deg,#10141980,#101419 95%)}
 .hero-content{padding:118px 24px 34px}
 .hero .eyebrow,.hero-bottom,.principles{display:none}
 .hero h1{font-size:clamp(35px,9.5vw,43px);line-height:1.12;letter-spacing:-1.6px;margin:0 0 24px;max-width:100%}
 .hero h1 em{display:block;margin-top:13px;font-size:23px;line-height:1.3;font-weight:400;letter-spacing:-.5px;background:none;-webkit-text-fill-color:#aeb7bf;color:#aeb7bf}
 .hero-copy{font-size:16px;line-height:1.7;color:#c1c7cd;margin-bottom:26px;max-width:340px}
 .hero .button{min-height:52px;padding:14px 18px;font-size:15px;font-weight:600;border-radius:7px;box-shadow:none;background:#d9dde1;border:0}
 .hero .text-link{font-size:13px;color:#aeb7bf;border:0;margin-top:10px;min-height:44px;text-decoration:none}
 .section,.readiness-section{padding:44px 24px;background:#0e1216;border-top:1px solid #ffffff12}
 .section:before{display:none}
 .section .eyebrow,.readiness-intro>.eyebrow{display:none}
 h2,.readiness-intro h2,.goals h2{font-size:30px;line-height:1.2;letter-spacing:-.8px;margin-bottom:18px}
 .section p,.readiness-intro>p{font-size:15px;line-height:1.75;color:#aeb7bf}
 .section h3{letter-spacing:-.4px}
 .section-top{margin-bottom:24px}.scoreboard,.services,.why,.faq{gap:24px}
 .readiness-section{gap:20px}.readiness-intro>p{margin-bottom:0}.readiness-intro>p.small{font-size:12px;margin-top:12px}
 .readiness-card{background:#161c22;border:1px solid #ffffff16;box-shadow:none;border-radius:10px;padding:22px 18px}
 .readiness-card legend{font-size:20px;line-height:1.4;letter-spacing:-.3px;margin-bottom:16px}
 .quiz-progress{font-size:11px}.readiness-card progress{height:3px;margin:14px 0 20px}
 .quiz-options{gap:8px}.quiz-options label{font-size:14px;border-color:#ffffff20;background:transparent;border-radius:6px;padding:12px;min-height:50px}
 .quiz-options label:has(:checked){background:#2b333b;border-color:#aab2ba}
 .draft-notice{font-size:11px;line-height:1.5;color:#8f9ba6}
 .button{background:#d9dde1;border:0;box-shadow:none;border-radius:6px}.button:hover{background:#edf0f2}
 .category-grid{gap:0}.category{border:0;border-bottom:1px solid #ffffff18;border-radius:0;background:transparent;padding:22px 0;box-shadow:none}
 .category>span:first-child{display:none}.category h3{font-size:21px;margin:0 28px 10px 0}.category p{font-size:14px;padding-right:20px}.category .arrow{right:0;bottom:24px;font-size:19px}
 .comparison article,.two article{background:#161c22;border:1px solid #ffffff12;border-radius:8px;padding:22px 18px;box-shadow:none}
 .comparison h3,.two h3{font-size:23px;line-height:1.25}.comparison article>span,.two article>p:first-child{font-size:10px;letter-spacing:.8px}
 .three{gap:24px}.three h3{font-size:28px;margin:8px 0 12px}.three article>span{font-size:11px;color:#909aa4}
 .explorer-layout{border:1px solid #ffffff16;background:#161c22}.strategy-tabs{background:#161c22;padding:10px;gap:6px}
 .strategy-tabs button{flex-basis:146px;background:transparent;border-color:#ffffff20;font-size:12px;min-height:48px}
 .strategy-tabs button[aria-selected=true]{background:#343d46;color:#fff;border-color:#78838d}
 .strategy-panel{background:#161c22;padding:24px 18px}.strategy-panel h3{font-size:24px}.strategy-panel p{font-size:14px}
 .four{gap:22px}.four h3{font-size:22px}.four article{padding-top:18px}.four article>span{font-size:10px;color:#8f9ba6}
 .goal-list button{background:#161c22;border-color:#ffffff20;font-size:12px;min-height:48px}.goal-list button[aria-pressed=true]{background:#343d46;color:#fff}
 .service-list h3{font-size:21px;line-height:1.35}.service-list h3 span{display:none}.proof{border-color:#6d7781}.why h3{font-size:23px}
 .contact h2{font-size:40px}.contact>div>p{font-size:15px}.contact-actions{gap:10px}.contact-actions button{background:transparent;border-color:#ffffff24;font-size:14px}
 footer{background:#101419;padding:32px 24px 24px}.footer-top{font-size:13px;line-height:1.7;gap:22px}.footer-bottom{color:#8f9ba6}
 .action-dock{grid-template-columns:1fr 1fr 1.25fr;grid-template-rows:48px;gap:8px;min-height:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#101419f5;border-radius:0;border-top:1px solid #ffffff24;box-shadow:0 -4px 20px #0002}
 .action-dock button[data-request="return"]:not(.dock-start){display:none!important}
 .action-dock .dock-item,.action-dock .dock-context,.action-dock .dock-chat{height:48px;min-height:48px;padding:8px;border:0;border-radius:6px;background:transparent;box-shadow:none;color:#d6dce1}
 .action-dock .phone-label{font-size:13px;font-weight:500;letter-spacing:0}
 .action-dock #browse-asi{order:2}.action-dock #open-chat{order:3;background:#d9dde1;color:#101419;border:0}
 .browse-actions button,.browse-actions a{background:#1c242c;border-color:#ffffff20;font-size:15px}.browse-links a{font-size:15px}
}
@media(max-width:360px){header .brand,.brand .asi-logo{width:185px}.hero-content{padding-left:20px;padding-right:20px}.section,.readiness-section{padding-left:20px;padding-right:20px}.hero h1{font-size:34px}.hero h1 em{font-size:22px}}

.dock-brand-row,.dock-start{display:none}
@media(max-width:650px){
 body{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
 .action-dock{grid-template-columns:1fr 1.35fr 1fr;grid-template-rows:28px 48px;gap:6px 8px;padding-top:8px}
 .dock-brand-row{display:flex;grid-column:1/-1;grid-row:1;align-items:center;justify-content:space-between;gap:12px;order:0;min-width:0}
 .dock-brand-row img{width:80px;height:28px;object-fit:contain;flex-shrink:0}
 #dock-topic{font-size:11px;line-height:1.3;color:#aeb7bf;text-align:right;font-weight:500;max-width:205px}
 .action-dock>a[href^="tel:"]{grid-column:1;grid-row:2;order:1}
 .action-dock .dock-start{display:flex;grid-column:2;grid-row:2;order:2;align-items:center;justify-content:center;border:0;border-radius:6px;background:#d9dde1;color:#101419;font:600 13px inherit;min-height:48px;padding:8px;font-family:inherit;font-size:13px}
 .action-dock #browse-asi{grid-column:3;grid-row:2;order:3}
 .action-dock #open-chat{display:none!important}
}
/* Increase approved brand visibility without crowding mobile actions. */
@media(max-width:650px){
 body>header{height:90px;padding-left:18px;padding-right:20px}
 header .brand,.brand .asi-logo{width:255px}
 #mobile-nav{top:90px}
 .hero-content{padding-top:130px}
 .dock-brand-row img{width:120px;height:40px}
 .action-dock{grid-template-rows:40px 48px}
 body{padding-bottom:calc(124px + env(safe-area-inset-bottom))}
 #dock-topic{max-width:190px;font-size:11px}
}
@media(max-width:360px){header .brand,.brand .asi-logo{width:225px}.dock-brand-row img{width:108px}#dock-topic{max-width:160px}}
/* Brushed-metal rims with restrained bevel and depth. */
.button,.action-dock .dock-start,.action-dock #browse-asi,.action-dock>a[href^="tel:"]{
 border:1px solid transparent;
 background:linear-gradient(155deg,#edf0f2 0%,#c5cbd1 48%,#dce1e5 100%) padding-box,linear-gradient(135deg,#ffffff 0%,#adb6bf 24%,#535d67 48%,#dce3e9 73%,#78838e 100%) border-box;
 box-shadow:inset 0 1px 0 #ffffffb3,inset 0 -2px 2px #45515e38,0 3px 0 #454e57,0 7px 14px #0005;
 color:#111820;transition:box-shadow .15s ease,transform .15s ease;
}
.button:active,.action-dock .dock-start:active,.action-dock #browse-asi:active,.action-dock>a[href^="tel:"]:active{transform:translateY(2px);box-shadow:inset 0 1px 3px #0002,0 1px 0 #454e57,0 3px 7px #0004}
@media(max-width:650px){
 .action-dock .dock-start{border:1px solid transparent;background:linear-gradient(155deg,#f0f2f4,#b9c2ca 55%,#dce2e7) padding-box,linear-gradient(135deg,#fff,#818e9b 48%,#e3e9ee 75%,#677582) border-box;box-shadow:inset 0 1px 0 #fff,inset 0 -2px 2px #45515e38,0 3px 0 #48535e,0 6px 12px #0006;font-weight:600}
 .action-dock #browse-asi,.action-dock>a[href^="tel:"]{border:1px solid transparent;background:linear-gradient(155deg,#303941,#171e25 65%,#222b33) padding-box,linear-gradient(135deg,#dce3e9,#8a969f 28%,#434e59 50%,#b8c2cb 78%,#626e79) border-box;color:#eef1f4;box-shadow:inset 0 1px 0 #ffffff30,inset 0 -1px 0 #0008,0 3px 0 #070b0f,0 6px 12px #0005}
 .hero .button,.readiness-card .button,.dialog-shell .button{border:1px solid transparent;background:linear-gradient(155deg,#edf0f2,#c5cbd1 48%,#dce1e5) padding-box,linear-gradient(135deg,#fff,#adb6bf 24%,#535d67 48%,#dce3e9 73%,#78838e) border-box;box-shadow:inset 0 1px 0 #ffffffb3,inset 0 -2px 2px #45515e38,0 3px 0 #454e57,0 7px 14px #0005}
}
@media(prefers-reduced-motion:reduce){.button,.action-dock .dock-start,.action-dock #browse-asi,.action-dock>a[href^="tel:"]{transition:none}}
/* Mobile brand lives in the bottom bar; remove duplicate top header. */
@media(max-width:650px){
 body>header{display:none}
 #mobile-nav{display:none!important}
 .hero-content{padding-top:38px}
 .action-dock{grid-template-rows:64px 48px;padding-top:8px}
 .dock-brand-row{gap:10px}
 .dock-brand-row img{width:200px;height:64px;object-fit:contain}
 #dock-topic{max-width:130px;font-size:11px;line-height:1.4}
 body{padding-bottom:calc(148px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.dock-brand-row img{width:174px}#dock-topic{max-width:110px;font-size:10px}}
@media(max-width:650px){
 .action-dock{grid-template-rows:auto 48px;padding-top:10px}
 .dock-brand-row{flex-direction:column;justify-content:center;gap:0;padding-bottom:5px}
 .dock-brand-row img{width:235px;height:70px}
 .dock-brand-row h1{font-size:19px;line-height:1.25;letter-spacing:-.4px;text-align:center;margin:0;font-weight:600;color:#eef0f2}
 .dock-brand-row h1 br{display:none}
 .dock-brand-row h1 em{display:none}
 #dock-topic[hidden]{display:none}
 body{padding-bottom:calc(180px + env(safe-area-inset-bottom))}
}
/* Compact dock: larger artwork, tighter vertical rhythm. */
@media(max-width:650px){
 .action-dock{grid-template-rows:auto 46px;gap:3px 8px;padding:5px 16px calc(7px + env(safe-area-inset-bottom))}
 .dock-brand-row{gap:0;padding:0;overflow:hidden}
 .dock-brand-row img{width:290px;height:58px;object-fit:cover;object-position:center;flex-shrink:0}
 .dock-brand-row h1{font-size:17px;line-height:1.15;margin:0 0 3px;letter-spacing:-.3px}
 .action-dock .dock-start,.action-dock .dock-item,.action-dock .dock-context{height:46px;min-height:46px}
 body{padding-bottom:calc(144px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.dock-brand-row img{width:268px}.dock-brand-row h1{font-size:16px}}
/* Smaller dock with full-size touch targets. */
@media(max-width:650px){
 .action-dock{grid-template-rows:auto 44px;gap:2px 8px;padding:3px 16px calc(5px + env(safe-area-inset-bottom))}
 .dock-brand-row img{width:222px;height:40px;object-fit:cover}
 .dock-brand-row h1{font-size:13px;line-height:1.15;margin:0 0 2px}
 .action-dock .dock-start,.action-dock .dock-item,.action-dock .dock-context{height:44px;min-height:44px}
 body{padding-bottom:calc(122px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.dock-brand-row img{width:210px}.dock-brand-row h1{font-size:12px}}

/* Keep the logo and primary heading on one compact row. */
@media(max-width:650px){
 .dock-brand-row{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;width:100%}
 .dock-brand-row img{width:190px;height:38px;flex-shrink:0}
 .dock-brand-row h1{flex:1;min-width:0;text-align:right;font-size:13px;line-height:1.15;margin:0;letter-spacing:-.2px}
}
@media(max-width:360px){
 .dock-brand-row img{width:166px;height:34px}
 .dock-brand-row h1{font-size:12px}
}

/* Two balanced columns keep wrapped heading lines centered together. */
@media(max-width:650px){
 .dock-brand-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px}
 .dock-brand-row img{width:100%;max-width:190px;justify-self:start}
 .dock-brand-row h1{text-align:center;justify-self:stretch}
}

@media(max-width:650px){
 .action-dock .dock-start,.action-dock .phone-label{font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.1px;line-height:1.1}
}
@media(max-width:360px){
 .action-dock .dock-start,.action-dock .phone-label{font-size:15px;letter-spacing:0}
}

/* Machined stainless-steel face and polished bevel for the primary action. */
@media(max-width:650px){
 .action-dock .dock-start{
  border:2px solid transparent;border-radius:5px;
  background:
   repeating-linear-gradient(0deg,#ffffff12 0px,#ffffff12 1px,#0000000a 1px,#0000000a 2px) padding-box,
   linear-gradient(115deg,transparent 24%,#ffffff80 39%,transparent 53%) padding-box,
   linear-gradient(180deg,#f6f7f8 0%,#c4c8cb 20%,#a2a8ad 47%,#dfe2e4 51%,#c3c8cc 74%,#929aa1 100%) padding-box,
   linear-gradient(135deg,#fff 0%,#e6e8ea 17%,#7e878e 42%,#f5f6f7 65%,#616b73 100%) border-box;
  color:#14191e;text-shadow:0 1px 0 #ffffffa6;
  box-shadow:inset 0 1px 0 #ffffffd9,inset 1px 0 0 #ffffff55,inset 0 -1px 0 #4b535b99,0 2px 0 #414a52,0 4px 7px #0009;
 }
 .action-dock .dock-start:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #0005,inset 0 -1px 0 #ffffff70,0 1px 0 #414a52}
}

/* Mobile hero: approved portrait video, readable copy, and accessible motion control. */
@media(max-width:650px){
 .hero{min-height:clamp(420px,72svh,620px);display:flex;align-items:flex-end;isolation:isolate}
 .hero video,.hero-poster{object-fit:cover;object-position:center;opacity:1;filter:none;pointer-events:none}
 .hero .shade{background:linear-gradient(180deg,#090d1026 0%,#090d104d 28%,#090d10d9 65%,#090d10f5 100%);pointer-events:none}
 .hero-content{width:100%;padding:90px 24px 24px;position:relative;z-index:2}
 .hero-copy{color:#edf0f2;text-shadow:0 1px 4px #0009}
 .hero-bottom{display:flex;position:absolute;inset:12px 16px auto auto;width:auto;padding:0;margin:0;z-index:3}
 .hero-bottom>span{display:none}
 .hero-bottom #motion{min-height:44px;margin:0;padding:8px 12px;border:1px solid #b5bec666;border-radius:5px;background:#101419cc;color:#edf0f2;font-size:11px;backdrop-filter:blur(8px)}
}

.editorial-visual{margin:0 0 28px;border:1px solid #aeb7bf33;border-radius:8px;overflow:hidden;background:#171b1e}
.editorial-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.editorial-wide{max-width:860px;margin:32px auto}
.editorial-wide img{aspect-ratio:16/9;object-position:center}
@media(max-width:650px){
 .hero video,.hero-poster{filter:grayscale(1)}
 .editorial-visual{margin-bottom:24px;border-radius:6px}
 .editorial-wide{margin:24px 0}
 .editorial-wide img{aspect-ratio:3/2}
}

/* Full-bleed imagery extends across each entire section, behind the content. */
.section-photo-background{position:relative;isolation:isolate;overflow:hidden;background:#0c1014}
.section-photo-background>.section-bg-image{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;z-index:0;opacity:1!important;transform:none!important;pointer-events:none}
.section-photo-background>.section-bg-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(110deg,#090d10e8 0%,#090d10c9 50%,#090d108c 100%);opacity:1!important;transform:none!important;pointer-events:none}
.section-photo-background>:not(.section-bg-image):not(.section-bg-overlay){position:relative;z-index:2}
.section-photo-background:before,.section-photo-background:after{display:none}
.section-photo-background p{color:#dce0e3}
.section-photo-background .readiness-card{background:#10161bea;border-color:#aeb7bf40}
.section-photo-background .goal-response{background:#10161bde;padding:22px;border:1px solid #aeb7bf33;border-radius:6px}
.process.section-photo-background>.section-bg-image{object-position:70% center}
.contact.section-photo-background>.section-bg-image{object-position:72% center}
@media(max-width:650px){
 .section-photo-background>.section-bg-overlay{background:linear-gradient(180deg,#090d10a3,#090d10ce 45%,#090d10e0)}
 .readiness-section.section-photo-background>.section-bg-image{object-position:60% center}
 .goals.section-photo-background>.section-bg-image{object-position:58% center}
 .process.section-photo-background>.section-bg-image{object-position:75% center}
 .contact.section-photo-background>.section-bg-image{object-position:76% center}
}

/* Taller mobile video canvas with a centered text overlay. */
@media(max-width:650px){
 .hero{min-height:max(580px,calc(100svh - 94px));align-items:center;justify-content:center}
 .hero-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:72px 24px;width:100%;max-width:440px}
 .hero-copy{max-width:340px;margin:0 0 28px;text-align:center;font-size:18px;line-height:1.65}
 .hero .button{justify-content:space-between}
 .hero .text-link{align-self:center;margin-top:18px}
 .hero .shade{background:linear-gradient(180deg,#090d1040 0%,#090d10a6 35%,#090d10c9 65%,#090d108c 100%)}
}

/* Keep the mobile video clear; place its introduction and actions below it. */
@media(max-width:650px){
 .hero{display:block;min-height:0;padding-top:max(580px,calc(100svh - 94px))}
 .hero video,.hero>.hero-poster,.hero>.shade{height:max(580px,calc(100svh - 94px));bottom:auto}
 .hero .shade{background:linear-gradient(180deg,#090d1026,#090d1026 75%,#090d1080)}
 .hero-content{max-width:none;min-height:0;padding:34px 24px;background:#101419;border-top:1px solid #ffffff18}
}
