/* PHTM / MOTION SYSTEM 03 — a distinct reveal language, not a page-load sweep. */
:root{--motion-curve:cubic-bezier(.2,.7,.2,1);--paper:#f0efeb;--metal:#b7b9bc}
[data-motion]{--motion-delay:0ms}
.motion-wait[data-motion=title]{opacity:0;transform:translateY(58px)}
.motion-in[data-motion=title]{animation:title-cut .6s var(--motion-curve) both;animation-delay:var(--motion-delay)}
.motion-wait[data-motion=label]{opacity:0;transform:translateX(-18px)}
.motion-in[data-motion=label]{animation:label-cut .5s ease-out both;animation-delay:var(--motion-delay)}
.motion-wait[data-motion=copy],.motion-wait[data-motion=action]{opacity:0;transform:translateY(26px)}
.motion-in[data-motion=copy],.motion-in[data-motion=action]{animation:copy-rise .7s var(--motion-curve) both;animation-delay:var(--motion-delay)}
.motion-wait[data-motion=card]{opacity:0;transform:translateY(55px) scale(.975)}
.motion-in[data-motion=card]{animation:card-rise .6s var(--motion-curve) both;animation-delay:var(--motion-delay)}
.motion-wait[data-motion=image]{opacity:0}
.motion-in[data-motion=image]{animation:image-wipe .7s var(--motion-curve) both;animation-delay:100ms}
.motion-in[data-motion=image]>img,.motion-in[data-motion=card] .card-image img{animation:image-settle .7s var(--motion-curve) both;animation-delay:var(--motion-delay)}
.motion-wait[data-motion=row]{opacity:0;transform:translateY(22px)}
.motion-in[data-motion=row]{animation:copy-rise .65s var(--motion-curve) both;animation-delay:var(--motion-delay)}
.motion-wait[data-motion=number]{opacity:0}
.motion-in[data-motion=number]{animation:number-cut .65s var(--motion-curve) both}
.motion-wait[data-motion=divider]::after{transform:scaleX(0)}
.motion-in[data-motion=divider]::after{animation:line-reveal .9s var(--motion-curve) both}
@keyframes title-cut{from{opacity:0;transform:translateY(58px)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
@keyframes label-cut{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
@keyframes copy-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes card-rise{from{opacity:0;transform:translateY(55px) scale(.975)}to{opacity:1;transform:none}}
@keyframes image-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes image-settle{from{transform:scale(1.075)}to{transform:scale(1)}}
@keyframes number-cut{from{opacity:0;clip-path:inset(100% 0 0)}to{opacity:1;clip-path:inset(0)}}
/* Hero depth is contained inside the frame. Nothing slides beyond the viewport. */
.hero{--hero-progress:0;position:relative;background:#050505;isolation:isolate}
.hero-visual{transform:translateY(calc(var(--hero-progress)*-20px));min-height:680px}
.hero-visual img{scale:calc(1 + var(--hero-progress)*.065)}
.hero-copy{transform:translateY(calc(var(--hero-progress)*-36px))}
.hero-copy>p:not(.eyebrow){opacity:calc(1 - var(--hero-progress)*.55)}
.hero::after{content:'';position:absolute;bottom:0;left:5.5%;width:70%;height:2px;background:linear-gradient(90deg,#ff1635,transparent);z-index:4}
.hero .hero-foot{font-size:12px;color:#bbb}.hero-photo-label{font-size:12px}
.section-head{align-items:end;padding-bottom:28px;margin-bottom:36px}.section-head h2{font-size:clamp(40px,5.8vw,88px);line-height:.96;letter-spacing:-.05em}.section-head .eyebrow{color:#ff435c;letter-spacing:.12em}
.page-heading{padding-block:clamp(54px,7vw,100px);background:radial-gradient(ellipse at 90% 20%,#252525 0,transparent 55%),#050505;border-bottom:1px solid #454545}
.page-heading h1{font-size:clamp(48px,8.5vw,132px);line-height:.93;letter-spacing:-.055em}
.page-heading em{color:#f0efeb}.page-heading .intro{max-width:650px;margin-top:28px}
body[data-page=home] main>.section{padding-block:clamp(65px,8vw,125px)}
.featured-spread{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:36px 40px;align-items:start}
.featured-spread>.build-card:first-child{grid-row:span 2}.featured-spread>.build-card:first-child .card-image{aspect-ratio:4/5}
.featured-spread>.build-card:not(:first-child) .card-image{aspect-ratio:16/9}
.featured-spread .card-copy{border-bottom:1px solid #444;padding:18px 0 22px}
.featured-spread>.build-card:first-child h3{font-size:clamp(25px,3.3vw,46px)}
.card-copy h3{letter-spacing:-.035em}.card-copy p{color:#bbb}.image-index{font-size:12px}
body[data-page=home] .founding-feature{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);background:var(--paper);color:#080808;border:0;overflow:hidden}
body[data-page=home] .founding-visual{min-height:620px;position:relative}.founding-visual img{width:100%;height:100%;object-fit:cover}
body[data-page=home] .founding-copy{padding:clamp(28px,4vw,65px);position:relative}
body[data-page=home] .founding-copy h2{font-size:clamp(42px,4.5vw,72px);line-height:.93;color:#050505}
body[data-page=home] .founding-copy h2 em{color:#050505;-webkit-text-stroke:0}
body[data-page=home] .founding-copy p{color:#363636}
body[data-page=home] .founding-copy .eyebrow{color:#ac0822}
body[data-page=home] .founding-copy .button{color:#050505;border-color:#050505}
body[data-page=home] .founding-copy::after{content:'001—025';font:900 clamp(34px,4vw,60px)/1 Arial;letter-spacing:-.05em;display:block;margin-top:54px;border-top:2px solid #111;padding-top:20px}
body[data-page=home] .cta{background:#ff1635;color:#050505;position:relative;padding-block:65px;margin-top:0}
body[data-page=home] .cta h2{font-size:clamp(48px,7vw,104px);line-height:.9;color:#050505}
body[data-page=home] .cta .eyebrow{color:#050505;font-weight:700}
body[data-page=home] .cta>.button{background:#050505;color:#fff;flex-shrink:0}
.profile{padding-top:28px}.profile-copy{position:sticky;top:120px}.profile-copy h1{font-size:clamp(36px,4vw,64px)}
.profile-breadcrumb{border-bottom:1px solid #333}.founding-profile .profile-copy{border-top:3px solid #ff1635}
.member-row{padding-block:30px}.member-num{font-weight:900;color:#f0efeb;letter-spacing:-.04em}.member-row:hover{background:linear-gradient(90deg,#ff163512,transparent)}
.benefits>div{background:none;border-top:2px solid #ff1635;padding:24px 0}
.phtm-header .phtm-brand{transition:transform .3s,opacity .3s}.phtm-header.is-scrolled .phtm-brand{transform:scale(.92);transform-origin:left center}
.phtm-header .nav-label{font-size:14px;font-weight:900}


.footer-signal{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #444;margin-bottom:42px;padding-bottom:20px;font:12px monospace;color:#aaa}
footer .footer-top{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}.footer-top>.motion-in:first-child .wordmark{width:min(100%,270px)}
footer .footer-link{color:#d1d1d1}footer .footer-link:hover{color:#ff435c}
@media(hover:hover){.build-card:hover .card-image img{scale:1.025}.button:hover{box-shadow:inset 0 -3px #ffffff55}.gallery-controls button:hover{background:#ff1635;color:#fff}}
@media(max-width:900px){.profile-copy{position:static}.featured-spread{gap:26px}.section-head h2{font-size:clamp(36px,6.5vw,64px)}body[data-page=home] .founding-feature{grid-template-columns:minmax(0,1fr)}body[data-page=home] .founding-visual{min-height:0;aspect-ratio:4/3}body[data-page=home] .founding-copy{padding:40px 6%}body[data-page=home] .founding-copy::after{margin-top:28px}.hero-visual{min-height:540px}}
@media(max-width:700px){.hero-visual{min-height:0;height:110vw;max-height:550px}.hero-copy{transform:translateY(calc(var(--hero-progress)*-12px))}.hero h1{font-size:19cqw}.page-heading h1{font-size:clamp(44px,12vw,82px)}.page-heading{padding-block:48px}.section-head{padding-bottom:20px;margin-bottom:28px}.section-head h2{font-size:clamp(36px,10vw,60px)}.grid.three.featured-spread{grid-template-columns:minmax(0,1fr)}.featured-spread>.build-card:first-child{grid-row:auto}.featured-spread>.build-card:not(:first-child) .card-image{aspect-ratio:4/3}.featured-spread>.build-card:first-child .card-image{aspect-ratio:4/5}.featured-spread h3{font-size:26px}body[data-page=home] .founding-copy h2{font-size:clamp(48px,12vw,76px)}.footer-signal{font-size:11px;flex-wrap:wrap}footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top>div:first-child{grid-column:1/-1}.footer-top .wordmark{width:240px;max-width:100%}.member-row{padding-block:24px}.profile-copy h1{font-size:clamp(32px,9vw,50px)}.motion-wait[data-motion=card]{transform:translateY(32px)}body[data-page=home] .cta{padding:50px 5vw}.cta>.button{width:100%}}
@media(prefers-reduced-motion:reduce){[data-motion]{opacity:1!important;transform:none!important;clip-path:none!important;animation:none!important}.hero-copy,.hero-visual{transform:none!important}.hero-visual img{scale:1!important}.hero-copy>p{opacity:1!important}.phtm-header *{animation:none!important}}
/* Every driver remains reachable at every breakpoint. */
.section>.grid.three>.build-card:last-child:nth-child(3){display:block}
@media(max-width:700px){.featured-spread>.build-card:last-child:nth-child(3){display:block}}
@media(max-width:700px){.hero h1{font-size:16.2cqw;line-height:.93;overflow-wrap:normal}.hero h1 br:nth-of-type(1){display:initial}.hero h1 em{white-space:nowrap}}
.gallery-thumbs{overflow-y:hidden}
/* This portrait's vehicle sits below center. Scope to its driver card only;
   Owner Portal Media Library focal points still override this default inline. */
.build-card .card-image img[src="/media/0f5a357f-c3e0-43a1-af01-ad39bd374b66.png"]{object-position:50% 88%}
/* Keep mobile pre-reveal and animated starting positions identical. */
@media(max-width:700px){.motion-in[data-motion=card]{animation-name:mobile-card-rise}}
@keyframes mobile-card-rise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}

.home-drive-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px auto;padding:32px 0;max-width:var(--max,1280px);width:calc(100% - 48px);border-top:1px solid #303238;border-bottom:1px solid #303238}.home-drive-entry h2{font-size:clamp(22px,3vw,34px);letter-spacing:-.03em;max-width:560px;margin:8px 0;line-height:1.2}.home-drive-entry .text-link{white-space:nowrap;min-height:44px;display:flex;align-items:center;gap:24px}@media(max-width:600px){.home-drive-entry{align-items:flex-start;flex-direction:column;gap:8px}}
