/* Controlled motorsport motion, with no dependency or scroll-loop overhead. */
:root{--signal:#ff1635;--line:#343434;--ease:cubic-bezier(.2,.7,.2,1)}
*,:before,:after{box-sizing:border-box}
[hidden]{display:none!important}
main,section,article,nav,footer,form,fieldset,figure{min-width:0}
img,video,iframe,svg{max-width:100%}iframe{width:100%}
h1,h2,h3,p,dd,a,label,summary{overflow-wrap:anywhere}
input,select,textarea,button{max-width:100%;min-width:0}input[type=file]{width:100%}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid #f4f4f2;outline-offset:4px;box-shadow:0 0 0 6px #ff1635}
.button{min-height:48px;white-space:normal;text-align:center;transition:background .2s,color .2s,transform .2s var(--ease)}
.scroll-sentinel{position:absolute;top:0;width:1px;height:70px;pointer-events:none}
.phtm-header{transition:background .25s,box-shadow .25s}
.phtm-header.is-scrolled{background:#050505;box-shadow:0 8px 25px #0007}
.phtm-brand{padding-right:clamp(12px,2vw,32px);border-right:1px solid var(--line)}
.phtm-header .brand-caption{font-size:12px;letter-spacing:.025em}
.phtm-header .nav-index{font-size:12px;color:#aaa}
.phtm-header .nav-signature{font-size:12px}
.phtm-header .phtm-nav-link[aria-current]::after{width:30px}
.section-head{position:relative;padding-bottom:22px;border-bottom:1px solid var(--line)}
.section-head::after{content:'';position:absolute;bottom:-1px;left:0;height:2px;width:58px;background:var(--signal);transform-origin:left}
body[data-page=home] main>.section{padding-block:clamp(56px,7vw,112px)}
body[data-page=home] main>.section:nth-of-type(even){background:linear-gradient(180deg,#050505,#101010 45%,#050505)}
body[data-page=home] .founding-feature{margin-block:16px;border-block:1px solid var(--line)}
body[data-page=home] .cta{margin-top:24px}
.reveal-pending{opacity:0;transform:translateY(22px)}
.revealed{animation:phtm-reveal .65s var(--ease) both;animation-delay:var(--reveal-delay,0ms)}
.revealed.section-head::after{animation:line-reveal .7s var(--ease) both}
@keyframes phtm-reveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes line-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.card-image{overflow:hidden;background:#161616;position:relative}
.build-card{transition:transform .25s var(--ease);min-width:0}
.card-image img{transition:transform .6s var(--ease)}
.image-arrow{transition:transform .2s var(--ease)}
.is-founding .image-index{border-left:3px solid var(--signal);background:#050505e8;padding:9px 12px;color:#fff}
.founding-profile .profile-copy{border-top:2px solid var(--signal);padding-top:24px}
.founding-profile .eyebrow{font-family:monospace;letter-spacing:.08em}
.member-num{font-variant-numeric:tabular-nums;transition:color .2s,transform .2s}
.gallery-main{position:relative;aspect-ratio:4/5;overflow:hidden;background:#111}
.gallery-main img{width:100%;height:100%;object-fit:contain;display:block}
.gallery-thumbs{display:flex;overflow-x:auto;overscroll-behavior-x:contain;gap:8px;padding:8px 2px;scrollbar-width:thin}
.gallery-thumbs .thumb{flex:0 0 72px;width:72px;min-width:0;aspect-ratio:1;min-height:48px;padding:0}
.gallery-thumbs img{width:100%;height:100%;object-fit:cover}
.gallery-controls{display:flex;justify-content:space-between;gap:12px;margin-top:12px}
.gallery-controls button{background:#111;border:1px solid #555;color:#fff;min-height:46px;padding:10px;font:14px monospace;cursor:pointer}
.profile-neighbors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:36px 5vw;border-block:1px solid var(--line)}
.neighbor-link{display:flex;flex-direction:column;gap:10px;padding:24px 0;font:12px monospace;color:#aaa}
.neighbor-link:last-child{text-align:right}.neighbor-link strong{font:700 clamp(16px,2vw,24px) Arial;color:white}
.empty-state{grid-column:1/-1;padding:30px;border:1px solid var(--line);border-left:3px solid var(--signal)}
.verdict-result p{font-size:14px}.verdict-result meter{display:block;width:100%;height:10px;accent-color:var(--signal)}.verdict-result small{font-size:12px;color:#aaa}
.media-loading::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:35%;background:var(--signal);animation:loading-line 1s ease-in-out infinite alternate}
.media-error::after{content:'PHOTO UNAVAILABLE / MORE INCOMING';position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:#111;color:#aaa;font:12px monospace}
@keyframes loading-line{to{transform:translateX(180%)}}
[aria-busy=true] button[type=submit],[aria-busy=true]>.button{opacity:.6}
footer{border-top:1px solid #444;position:relative;background:linear-gradient(180deg,#101010,#050505)}
footer::before{content:'';position:absolute;top:-2px;left:5vw;width:64px;height:3px;background:var(--signal)}
.footer-link{padding-block:8px;min-height:44px}.footer-bottom{gap:16px;flex-wrap:wrap}.footer-bottom a{padding-block:12px}
.arcade .game-shell{border-top:3px solid var(--signal);box-shadow:0 18px 45px #0008}
#game{image-rendering:auto}.game-controls button{cursor:pointer;transition:background .15s,transform .15s}
#leaderboard-body tr:first-child{color:#fff;background:#ff163514}#leaderboard-body tr:first-child td:first-child{color:var(--signal);font-weight:900}
#leaderboard-status,#score-status,#checkout-status,.form-status{min-height:1.5em}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.build-card:hover{transform:translateY(-4px)}.build-card:hover .card-image img{transform:scale(1.035)}.build-card:hover .image-arrow{transform:translate(3px,-3px)}.button:hover{transform:translateY(-2px)}.member-row:hover .member-num{color:var(--signal);transform:translateX(4px)}.footer-link:hover,.neighbor-link:hover strong{color:var(--signal)}.gallery-controls button:hover{border-color:var(--signal)}}
@media(max-width:1100px){.phtm-header #navigation.open{animation:phtm-reveal .22s var(--ease)}.phtm-brand{border:0;padding:0}.phtm-header .brand-caption{font-size:12px}.phtm-header .nav-label{font-size:clamp(14px,4vw,18px)}}
@media(max-width:700px){.section,.page-heading{padding-inline:5vw}.section{padding-block:48px}.grid.three:not(.product-grid){grid-template-columns:minmax(0,1fr)}.two-column,.founding-feature,.footer-top{grid-template-columns:minmax(0,1fr)}.member-row{grid-template-columns:48px minmax(0,1fr) 20px;gap:12px}.member-status{display:none}.member-num{font-size:24px}.profile-breadcrumb{gap:12px;flex-wrap:wrap}.profile{padding-inline:5vw}.profile-copy h1{font-size:clamp(28px,8vw,48px)}.profile-copy dl div{min-width:0}.profile-copy dd{margin-left:0}.profile-neighbors{gap:14px}.gallery-main{aspect-ratio:4/5}.cta{gap:24px;flex-wrap:wrap}.cta .button{max-width:100%}.outlined-number{font-size:clamp(70px,24vw,160px)}.founding-intro{grid-template-columns:minmax(0,1fr)}.arcade{padding-inline:4vw}.game-controls{gap:6px}.game-controls button{padding:10px 5px;font-size:12px}.game-shell{max-height:none;aspect-ratio:3/4;width:min(100%,54svh);margin-inline:auto}#score-entry,.run-leaderboard{padding:18px 12px}.footer-top{gap:30px}.footer-bottom{font-size:12px}.phtm-header .wordmark{width:125px}.phtm-header .menu-toggle{gap:10px;padding-inline:10px}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .12s ease-out both}::view-transition-new(root){animation:page-in .2s ease-out both}
@keyframes page-out{to{opacity:0}}@keyframes page-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1;transform:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
/* Readable supporting type and contained forms at narrow widths. */
.profile-copy>p:not(.eyebrow):not(.profile-model):not(.small-note),.founding-intro p,.hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.65}
.profile dl>div{font-size:.875rem}.small-note,.member-row small{font-size:.875rem}.profile-breadcrumb{font-size:.75rem}.profile-breadcrumb .text-link{font-size:.875rem}
.eyebrow{font-size:.75rem}.hero-copy .eyebrow{font-size:.75rem}.hero .button,.profile .button{font-size:.875rem}.hero .text-link{font-size:.875rem}
@media(max-width:700px){.profile dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:14px}.profile dd{text-align:right}.page-heading h1{font-size:clamp(36px,10vw,72px)}.founding-intro h2{font-size:clamp(24px,7vw,38px)}.hero h1{font-size:18cqw}.hero-visual{height:clamp(320px,110vw,490px)}.gallery-controls button{font-size:12px}.is-founding .image-index{font-size:12px}.section-head h2{font-size:clamp(28px,8vw,44px)}}
/* Only fade root snapshots; don't tween different page document dimensions. */
::view-transition-group(root){animation:none}
::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation-timing-function:var(--ease)}

/* Shared public footer signature; matches the approved Shop wordmark. */
.premium-footer .public-footer-brand{display:inline-flex;align-items:center;min-height:44px}.premium-footer .public-footer-brand img{display:block;width:180px;max-width:100%;height:auto;object-fit:contain}
