/* Founder pass, revision 14 — phone and tablet (≤960px). Two captive stories on transform/opacity only,
   phone-cropped hero with the subject box, one radius language, no lightboxes where the art is the point. */
:root{--m-pad:20px;--m-nav:80px;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
.mobile{padding-top:var(--m-nav)}
.mobile .mobile-section{padding:64px var(--m-pad)}
.mobile h2{letter-spacing:-.02em}
/* ---- Hero: headline, the box on its plane, the review panel, then the copy and actions ---- */
.mobile-hero{padding:0 0 40px;overflow:visible}
.mobile-hero-copy.top{padding:26px var(--m-pad) 18px}
.mobile-hero-copy.top h1{font:600 clamp(34px,9.4vw,54px)/1.04 Exo,sans-serif;letter-spacing:-.03em;margin:0}
.mobile-hero-art{position:relative;width:100%;aspect-ratio:1/1.1;overflow:hidden;background:#080503}
.mobile-hero-art::after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(transparent,#080503 92%);pointer-events:none;z-index:3}
.mobile-hero-art::before{content:"";position:absolute;inset:0 0 auto;height:30%;background:linear-gradient(#080503 4%,#08050300);pointer-events:none;z-index:3}
.mobile-hero-copy.top{padding-bottom:0}.mobile-hero-copy.top h1{margin-bottom:-6px;position:relative;z-index:4}
.mobile-hero-plane{position:absolute;top:0;height:100%;aspect-ratio:1440/827;left:50%;transform:translateX(-59.4%)}
.mobile-hero-plane .m-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}
.mobile-hero-plane .hero-diffusion{width:100%;height:100%}
.mobile-hero-plane .m-hero-box{position:absolute;left:52.64%;top:32.89%;width:13.61%;height:49.82%;z-index:2}
.mobile-hero-plane .m-hero-box.drawn-box .hero-box-edge{box-shadow:0 0 12px #ed843577}
.mobile-hero-plane .m-hero-tag{position:absolute;left:52.64%;bottom:calc(100% - 32.89% + 8px);z-index:2;display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:8px;background:#090705ee;border:1px solid #ffae5c55;font:600 13px/1 var(--ui);color:#f2e5d3;white-space:nowrap;overflow:visible}
.mobile-hero-plane .m-hero-tag>span:first-child{color:#ffae5c}
.mobile-hero-plane .m-hero-tag b{font:500 12px var(--mono);color:#ffae5c;margin-left:4px}
.mobile-hero-deck{position:relative;z-index:4;margin:-92px var(--m-pad) 0}
.mobile-hero-deck .hero-review{width:72%;max-width:340px;margin:0;border-radius:16px;overflow:hidden;border:1px solid #f2e5d326;box-shadow:0 18px 50px #000a;opacity:0;transform:translateY(60px)}
.mobile-hero-deck .hero-review img{display:block;width:100%;height:auto;border-radius:16px}
.mobile-hero-copy{padding:22px var(--m-pad) 0}
.mobile-hero-copy p{font-size:17px;line-height:1.55;color:#e6d8c6;margin:0 0 20px}
.mobile-actions.compact{margin:0;gap:10px;flex-wrap:nowrap}
.mobile-actions.compact a{flex:1 1 0;min-height:46px!important;padding:8px 12px!important;font-size:14px!important;border-radius:12px!important;white-space:nowrap}
.mobile-hero-copy small{margin-top:18px;font-size:11px;letter-spacing:.08em}
/* ---- Fields: the palette cards read; the key map keeps its real key size and scrolls sideways like a keyboard ---- */
.mobile .palette-demo{gap:16px}
.mobile .keymap-panel{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.mobile .keymap-panel::-webkit-scrollbar{display:none}
.mobile .keymap{min-width:max-content;padding:16px 16px 0}
.mobile .key-row{gap:6px;justify-content:flex-start;margin-bottom:6px}
.mobile .key-slot{width:46px;height:46px;flex:0 0 46px}
.mobile .map-key{min-width:0;min-height:0;width:100%;height:100%}
.mobile .map-key b{font-size:12px}.mobile .map-key span{font-size:10px}.mobile .panel-rail span{font-size:11px}
/* ---- Identity: two match frames side by side joined by a link, then the claim as typography on the floodlights — no cards ---- */
.m-identity{padding-bottom:64px}
.m-identity h2{margin-bottom:26px}
.mobile-identity{margin:0}
.mobile-identity .identity-evidence{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative}
.mobile-identity .identity-evidence::before{content:"";position:absolute;left:calc(50% - 7px);top:34%;width:14px;height:1px;background:#8fc6c1;z-index:2}
.mobile-identity .identity-evidence figure{margin:0;padding:0;border:0;background:none;box-shadow:none;border-radius:0}
.mobile-identity .identity-photo{height:224px;border-radius:12px;background-size:766px 355px;background-repeat:no-repeat;box-shadow:0 18px 50px #000b,inset 0 0 0 1px #f2e5d31f}
.mobile-identity .identity-face .identity-photo{background-position:-52px -73px}
.mobile-identity .identity-jersey .identity-photo{background-position:-524px -73px}
.mobile-identity .identity-evidence figcaption{font:10px var(--mono);letter-spacing:.14em;padding:12px 0 0;color:#8fc6c1;text-align:left}
.mobile-identity .identity-link{grid-column:1/-1;grid-row:auto;margin:30px 0 0;padding:0;background:none;border:0;border-radius:0;text-align:left;backdrop-filter:none;-webkit-backdrop-filter:none}
.mobile-identity .identity-link::before,.mobile-identity .identity-link::after{display:none}
.mobile-identity .identity-link h3{font:500 clamp(40px,11vw,52px)/1 var(--disp);margin:0 0 16px;color:#f2e5d3;letter-spacing:-.03em}
.mobile-identity .identity-link p{font:17px/1.75 var(--ui);color:#d9c7b1;margin:0;padding-left:16px;border-left:1px solid #8fc6c1aa}
.mobile-identity .identity-rule{display:none}
/* ---- Story 1: review holds → lifts to show under the hood → KEEP rises full-screen ---- */
.m-story{position:relative;height:calc(100svh * 3.05)}
.m-takeover{position:relative;height:calc(100svh * 2.6)}
.m-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#080503;isolation:isolate}
.m-layer{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--m-nav) + 12px) var(--m-pad) 24px!important;backface-visibility:hidden}
.m-layer h2{margin:0 0 10px}
.m-layer p{margin:0 0 14px}
.m-review{z-index:3;background:#080503;box-shadow:0 -30px 80px #000c;justify-content:flex-start}
.m-review .mobile-review{margin:8px 0 12px}
.m-review .suggest-panel{width:66%;margin:0 0 0 auto;opacity:0;transform:translateY(48px);will-change:transform,opacity}
.m-review[data-motion-state=complete] .suggest-panel,.m-review[data-motion-state=inspection] .suggest-panel{opacity:1;transform:none}
.m-hood{z-index:1;background:#0a0a08;opacity:.35;transform:scale(.94)}
.m-hood .sample-strip{margin:6px calc(-1 * var(--m-pad)) 0;width:auto}
.m-hood .sample-strip img{width:100%;display:block}
.m-hood .sample-anchors{display:block;width:100%;height:56px;margin:0}
.m-hood .sample-anchors polyline{fill:none;stroke:#8fc6c1;stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.m-hood[data-motion-state=complete] .sample-anchors polyline{stroke-dasharray:4px 4px!important;stroke-dashoffset:0!important}
.m-hood .sample-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}
.m-hood .sample-trio .mobile-art{margin:0}
.m-hood .sample-trio img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:6px}
.m-hood .sample-frame{margin:0;opacity:0}
.m-hood .sample-frame figcaption{font:10px var(--mono);letter-spacing:.06em;color:#8fc6c1;background:#0b0d0d;padding:8px 8px;margin-top:8px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-hood .sample-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 0}
.m-hood .sample-chips>*{opacity:0}
.m-hood .chip-arrow{color:#ffae5c;font:16px var(--mono)}
.m-hood .sample-chip{font:600 13px var(--ui);color:#ffbc68;background:#3b2817;border:1px solid #ffae5c70;border-radius:7px;padding:8px 11px}
.m-hood[data-motion-state=complete] .sample-frame,.m-hood[data-motion-state=complete] .sample-keywords,.m-hood[data-motion-state=complete] .sample-chips>*,.m-hood[data-motion-state=inspection] .sample-frame{opacity:1;transform:none}
.m-hood .sample-keywords{opacity:0;will-change:transform,opacity}
.m-hood .sample-keywords{font:14px/1.7 var(--mono);color:#c8b39b;margin:16px 0 0;opacity:0}
.m-hood[data-motion-state=complete] .sample-frame,.m-hood[data-motion-state=complete] .sample-keywords,.m-hood[data-motion-state=inspection] .sample-frame{opacity:1;transform:none}
.m-keep{z-index:5;padding:0!important;visibility:hidden}
.m-stage .m-keep,.m-stage .m-flash{height:100%!important}
.mobile-flash{position:relative;overflow:hidden}
.mobile-flash .live-transition{position:absolute;inset:0}
.mobile-flash .keep-word{opacity:0;font-size:clamp(120px,34vw,220px)}
.mobile-flash .filename-resolve span{opacity:0}
/* ---- Story 2: the filename flash pins and plays, then the filename section slides up over it ---- */
.m-takeover{margin-top:-100svh;z-index:3}
.m-takeover .m-stage{background:transparent;pointer-events:none}
.m-takeover .m-files{pointer-events:auto}
.m-rush,.m-compute{min-height:100svh;position:relative;z-index:1}
.m-flash{z-index:1;visibility:hidden}
.m-rushflash{z-index:2;padding:0!important;visibility:hidden;background:transparent;display:block;--p:0}
.m-rushflash .live-transition{position:absolute;inset:0;background:transparent}
.m-rushflash .transition-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.m-rushflash .mobile-rush-word{position:absolute;left:var(--m-pad);right:var(--m-pad);top:50%;transform:translateY(-62%);height:1em;font:700 clamp(96px,29vw,210px)/1 Exo;letter-spacing:-.06em;margin:0;text-shadow:none}
.m-rushflash .mobile-rush-word b,.m-rushflash .mobile-rush-word i{position:absolute;left:0;top:0;font-style:normal;will-change:transform,opacity;--q:clamp(0,(var(--p) - var(--lag))/.34,1);opacity:calc(var(--q) * var(--dim));transform:translate3d(calc((1 - var(--q)) * var(--throw)),0,0)}
.m-rushflash .mobile-rush-word b{--lag:.30;--throw:-46%;--dim:1;color:#f2e5d3;text-shadow:0 0 42px #e96a1e66}
.m-rushflash .mobile-rush-word .e1{--lag:.25;--throw:-98%;--dim:.42;color:#ffae5c}
.m-rushflash .mobile-rush-word .e2{--lag:.20;--throw:-152%;--dim:.24;color:#ffae5c}
.m-rushflash .mobile-rush-word .e3{--lag:.15;--throw:-210%;--dim:.13;color:#e96a1e}
.m-rushflash .rush-flash-lede{position:absolute;left:var(--m-pad);right:var(--m-pad);top:calc(50% + .46 * clamp(96px,29vw,210px));font:600 18px/1.4 Exo,sans-serif;color:#f2e5d3;margin:0;opacity:clamp(0,(var(--p) - .58)/.28,1);transform:translate3d(calc((1 - clamp(0,(var(--p) - .58)/.28,1)) * -18px),0,0)}
.m-rush .rush-lede{font:600 22px/1.35 Exo,sans-serif;color:#f2e5d3;margin:0 0 14px}
.m-files{z-index:4;background:#080503;transform:translate3d(0,100%,0);box-shadow:0 -30px 80px #000c}
.m-files .mobile-art{margin-top:18px;overflow:hidden;border-radius:12px;border:1px solid #f2e5d322}
.m-files .mobile-art img{width:215%;max-width:none;margin-left:-115%;display:block}
/* ---- Browse: a scrim the copy can sit on, and a laptop that arrives ---- */
.m-browse{background:linear-gradient(#080503f4 0,#080503d9 34%,#0805037a 62%,#080503 100%),url(assets/488-1162.webp) center 30%/cover!important}
.m-browse .laptop{opacity:0;will-change:transform,opacity;clip-path:none!important;width:112%;margin:6px 0 0 -6%}
.m-browse .laptop img{width:100%;display:block}
.m-browse[data-motion-state=complete] .laptop{opacity:1;transform:none}
/* ---- Search: the desktop box, scaled to fit as one object, kept to the right, chips in rows that do not grow ---- */
.m-search{padding-left:0!important;padding-right:0!important}
.m-search h2{padding:0 var(--m-pad)}
.m-fit{position:relative;overflow:hidden;width:90%;margin:22px 0 0 auto}
.m-fit::after{content:"";position:absolute;inset:0 0 0 auto;width:38%;background:linear-gradient(90deg,transparent,#080503 94%);pointer-events:none;z-index:2}
.m-fit-inner{position:absolute;top:0;left:0;transform-origin:0 0}
.mobile .search-demo{font-size:18px;padding:26px 24px;border-radius:22px 0 0 22px;border-right:0}
.mobile .search-demo h3{font-size:30px}
.mobile .search-demo .facet-row{display:flex;flex-wrap:nowrap;overflow:hidden;gap:8px;-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);mask-image:linear-gradient(90deg,#000 86%,transparent)}
.mobile .search-demo .facet{flex:0 0 auto}
.mobile .search-demo h3,.mobile .search-demo p,.mobile .search-demo label,.mobile .search-demo h4,.mobile .search-demo .scope-control,.mobile .search-demo details,.mobile .search-demo .facet,.mobile .search-demo .search-actions,.mobile .search-demo .search-summary{opacity:0;will-change:transform,opacity}
.m-search[data-motion-state=complete] .search-demo *,.m-search[data-motion-state=inspection] .search-demo *{opacity:1;transform:none}
/* ---- Markers: the moment, the editor anchored over its marker, the range with in/out; no lightbox ---- */
.m-moment{position:relative;margin-top:22px}
.m-moment .moment{margin:0}
.m-moment .moment img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:12px}
.m-editor{position:absolute;left:3%;bottom:-40px;width:58%;z-index:3;filter:drop-shadow(0 18px 40px #000b);opacity:0;will-change:transform,opacity}
.m-editor img{width:100%;display:block}
.m-moment[data-motion-state=complete] .m-editor{opacity:1;transform:none}
.m-markers .range-demo{margin-top:24px}
.m-markers .range-film{margin-top:78px}
.m-markers .range-marker{opacity:0}
.m-moment[data-motion-state=complete]~.range-demo .range-marker{opacity:1;transform:none}
.m-markers .range-marker>span{display:none}
.m-markers .m-source{margin-top:26px;color:#c8b39b}
/* ---- Compute: the rack sits centred behind the copy ---- */
.m-compute{background:linear-gradient(#08050399,#080503 88%),url(assets/488-379.webp) 100% 45%/cover!important}
.m-compute .mobile-art{width:72%;margin:22px auto}
/* ---- Rush: the word lives in its takeover; the section carries twelve clips at half the run time ---- */
.m-rush{padding-top:56px!important}
.mobile .batch-clip:nth-child(n+13){display:none}
.mobile .batch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.mobile .batch-clip{height:34px;grid-template-columns:30px minmax(0,1fr) 34px}
.mobile .batch-clip img{width:30px;height:21px;border-radius:3px}
.mobile .clip-value,.mobile .batch-header{font-size:10px}
.mobile .clip-track{height:11px;border-radius:6px}
.mobile .rush-batch{padding:14px 12px 16px;border-radius:14px}
/* ---- Type and target floors ---- */
.mobile .batch-replay,.mobile .replay-lookup,.mobile .facet,.mobile .scope-control button,.mobile .app-search-button,.mobile .discover-demo,.mobile .hardware-link,.mobile .dialog-close{min-height:44px}
.mobile small,.mobile .compute-spec{font-size:12px}
.mobile figcaption,.mobile .lookup-status{font-size:11px}
.mobile .motion-replay{position:relative;display:inline-flex;align-items:center;align-self:flex-start;min-height:40px;margin-top:12px;padding:0 14px;font:12px var(--mono);color:#bea58b;background:#100c08ed;border:1px solid #f2e5d333;border-radius:8px}
/* ---- Tablets: reading measure, wider hero crop ---- */
@media(min-width:601px){.mobile .mobile-section,.mobile-hero-deck,.mobile-hero-copy{padding-inline:max(var(--m-pad),calc((100% - 680px)/2))}.mobile-hero-deck{margin-inline:0}.mobile-hero-art{aspect-ratio:16/10}.mobile-hero-plane{transform:translateX(-56%)}.m-layer{padding-inline:max(var(--m-pad),calc((100% - 680px)/2))!important}.m-fit{width:min(94%,720px)}}
/* ---- Short or reduced-motion viewports: the stories fall back to normal flow, everything visible ---- */
@media(prefers-reduced-motion:reduce){.m-rushflash .live-transition{background:radial-gradient(ellipse at 40% 46%,#e96a1e55,transparent 60%),#080503}.m-rushflash .mobile-rush-word b,.m-rushflash .mobile-rush-word i{opacity:var(--dim)!important;transform:none!important}.m-rushflash .rush-flash-lede{opacity:1!important;transform:none!important}}
@media(prefers-reduced-motion:reduce),(max-height:560px){.m-story,.m-takeover{height:auto}.m-stage{position:static;height:auto;overflow:visible}.m-layer{position:relative;inset:auto;transform:none!important;opacity:1!important;padding:64px var(--m-pad)!important;box-shadow:none}.m-takeover{margin-top:0}.m-keep,.m-flash,.m-rushflash{height:70svh;visibility:visible!important;mask-image:none!important;-webkit-mask-image:none!important}.m-keep,.m-hood,.m-files,.m-flash{transform:none!important}.m-rushflash .mobile-rush-word b{opacity:1!important;transform:none!important}.mobile-hero-deck .hero-review,.m-review .suggest-panel,.m-hood .sample-frame,.m-hood .sample-keywords,.mobile-flash .keep-word,.mobile-flash .filename-resolve span,.m-browse .laptop,.m-editor,.m-markers .range-marker,.mobile-rush-word b,.mobile .search-demo *{opacity:1!important;transform:none!important}.m-hood .sample-strip{clip-path:none!important}}
@media(max-height:700px){.m-review .suggest-panel{width:54%}.m-review p{font-size:15px}}

/* Ending on a phone: flat transforms and opacity crossfades, no 3D or visibility swaps; WebKit mask prefix for the reflections. */
.brand-reflection{-webkit-mask-image:var(--layer-mask);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}
.m-start .brand-assembly{perspective:none;transform-style:flat}
.m-start .brand-stack,.m-start .brand-canonical{visibility:visible!important;transition:none}
/* Type floor, second pass: the review tags, the key-map rail and legend, the range times. */
.mobile-review .review-subject-tag,.mobile-review .review-other-tag{font-size:12px;padding:7px 10px;border-radius:7px}
.mobile-review .review-subject-tag{top:8px;right:8px}.mobile-review .review-subject-tag b{font-size:11px;margin-left:12px}.mobile-review .review-other-tag{left:8px;bottom:8px}
.mobile .panel-rail,.mobile .panel-rail span{font-size:11px}
.mobile .key-legend span{font-size:10px}
.mobile .range-times,.mobile .range-times output{font-size:11px}

/* iOS zooms the page when a focused input's font is under 16px; the scaled search box keeps 16px inputs. */
.mobile .search-demo input,.mobile .search-demo select,.mobile .search-demo textarea{font-size:16px}
/* Identity grid: the two frames share row one, the claim spans row two. Sample captions stay inside their frame. */
.mobile-identity .identity-face{grid-column:1;grid-row:1}.mobile-identity .identity-jersey{grid-column:2;grid-row:1}.mobile-identity .identity-link{grid-row:2}
.m-hood .sample-frame{min-width:0}.m-hood .sample-frame figcaption{display:block;font-size:9px;letter-spacing:.04em;padding:7px 6px}
.mobile-identity .identity-face .identity-photo{background-position:-52px -58px}.mobile-identity .identity-jersey .identity-photo{background-position:-524px -58px}
.m-hood .sample-frame figcaption{font-size:10px;letter-spacing:.02em}

/* Round 5 structure: heading for Rush, tighter Rush block, breathing room before the takeover, nav fallback where backdrop-filter is unavailable, a footer on the phone. */
.m-rush{padding-top:40px!important;padding-bottom:44px!important}
.m-rush h2.rush-lede{font:600 24px/1.3 Exo,sans-serif;margin:0 0 12px;letter-spacing:-.02em}
.m-rush small{margin-top:12px}
.m-compute{padding-bottom:calc(64px + 32svh)!important}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-nav-in{background:#0e0805f2!important}}
.mobile .site-nav-in{-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}
.mobile .site-burger{background:#0e0805cc;border-radius:10px;padding:10px}

/* Design review round: the KEEP word sits on its own layer above the shutter so it never reads as "KESP."; hierarchy and contrast fixes. */
.m-keep .keep-word{display:none}
.m-keep-word{position:absolute;inset:0;z-index:6;display:grid;place-items:center;pointer-events:none;visibility:hidden;opacity:0;will-change:transform,opacity}
.m-keep-word strong{font:800 clamp(120px,34vw,220px)/1 Exo;color:#080503;letter-spacing:-.04em}
.mobile-identity .identity-link h3{font-size:clamp(30px,8.6vw,38px)}
.m-review p,.m-hood p:not(.sample-keywords){font-size:17px}
.mobile .search-demo .scope-control button.active,.mobile .search-demo .app-search-button{color:#1c0c03!important}

/* Phone: KEEP rating strip, hero audience/privacy line, engine cost lines. */
.m-keep .keep-rating{position:absolute;left:var(--m-pad);right:var(--m-pad);top:calc(50% + 22vw + 20px);transform:none;width:auto;text-align:center;opacity:0}
.m-keep .keep-caption{font-size:16px}
.m-keep .rate{font-size:14px;padding:12px 14px;min-height:44px}
.mobile-hero-copy .hero-private{font:14px/1.5 var(--ui);color:#c8b39b;margin:14px 0 0}
.mobile .compute-cost{font:12px var(--mono);color:#ffae5c;margin:-10px 0 18px;letter-spacing:.02em}

.m-rush{background:#080503!important;position:relative;overflow:hidden}
.m-rush>*{position:relative;z-index:1}
.m-rush>.rush-field{position:absolute;z-index:0}
.mobile-hero-deck .hero-review.native-review{width:76%;max-width:340px;border:0;box-shadow:none;overflow:visible}
.mobile-hero-deck .review-panel{font-size:12px}
.mobile-hero-deck .rp-chip{font-size:11px;padding:4px 7px}
.mobile-hero-deck .rp-field{padding:10px 12px 2px}
.mobile-hero-deck .rp-rail{padding:10px 12px 8px;font-size:10px}
.mobile-hero-deck .rp-title{flex-wrap:nowrap}.mobile-hero-deck .rp-title small{font-size:10px;white-space:nowrap;letter-spacing:.02em}
.mobile .faq-section{padding:64px var(--m-pad) 56px}
.mobile .faq-section h2{font-size:28px;margin-bottom:26px}
.mobile .faq-grid{grid-template-columns:1fr;gap:18px}
.mobile .faq-grid h4{font-size:17px}.mobile .faq-grid p{font-size:15px}
/* Browser support: viewport-unit fallbacks for engines without svh; the stage still pins where dvh/svh are missing. */
.m-story{height:calc(100vh * 3.05);height:calc(100svh * 3.05)}
.m-takeover{height:calc(100vh * 2.6);height:calc(100svh * 2.6);margin-top:-100vh;margin-top:-100svh}
.m-stage{height:100vh;height:100svh}
.m-rush,.m-compute{min-height:100vh;min-height:100svh}
.m-compute{padding-bottom:calc(64px + 32vh)!important;padding-bottom:calc(64px + 32svh)!important}

.mobile .site-footer{padding:48px var(--m-pad) 28px}
.mobile .sf-in{grid-template-columns:1fr 1fr;gap:28px 20px}
.mobile .sf-brand{grid-column:1/-1}
.mobile .sf-col a{min-height:44px;display:flex;align-items:center}
.mobile .sf-bottom{flex-direction:column;gap:6px;margin-top:32px}
.mobile .sf-more{margin-top:32px;padding-top:24px}
.mobile .sf-more ul{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 20px}
.mobile .sf-more a{min-height:44px;display:flex;align-items:flex-end}

.mobile-hero-art{background:radial-gradient(ellipse at 60% 45%,#e96a1e26,transparent 55%),#080503}
#m-hero-plane:not([data-hero-phase]) :is(.m-hero-photo,.m-hero-box,.m-hero-tag){opacity:0!important}
