/* v1.6: a deliberately editorial, high-contrast art direction. */
:root{--rlp-black:#090c09;--rlp-cream:#f1f3ea;--rlp-grid:rgba(255,255,255,.065)}

.scene-counter{--scene-progress:.1;position:fixed;z-index:95;right:20px;top:50%;translate:0 -50%;display:grid;justify-items:center;gap:10px;color:#fff;font-size:8px;font-weight:850;letter-spacing:.12em;mix-blend-mode:difference;pointer-events:none}
.scene-counter i{position:relative;display:block;width:1px;height:120px;background:rgba(255,255,255,.3);overflow:hidden}.scene-counter i b{position:absolute;inset:0;background:#fff;transform:scaleY(var(--scene-progress));transform-origin:top;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.pointer-halo{position:fixed;z-index:150;left:0;top:0;width:22px;height:22px;border:1px solid rgba(215,255,63,.8);border-radius:50%;opacity:0;translate:calc(var(--pointer-x,-40px) - 50%) calc(var(--pointer-y,-40px) - 50%);scale:.7;transition:opacity .18s,scale .22s cubic-bezier(.2,.8,.2,1),background .2s;pointer-events:none;mix-blend-mode:difference}.pointer-halo.is-visible{opacity:1;scale:1}.pointer-halo.is-interactive{scale:2.15;background:rgba(215,255,63,.28)}
.horizontal-meter{--horizontal-progress:0;display:grid;grid-template-columns:auto minmax(90px,260px) auto;align-items:center;gap:13px;width:min(540px,calc(100% - 40px));margin-top:-24px;color:#3d4933;font-size:8px;font-weight:850;letter-spacing:.15em;transition:opacity .25s}.horizontal-meter>i{position:relative;height:2px;background:#b3bdaa;overflow:hidden}.horizontal-meter>i>b{position:absolute;inset:0;background:currentColor;transform:scaleX(var(--horizontal-progress));transform-origin:left;transition:transform .1s linear}.horizontal-meter.is-static{opacity:.28}.collection>.horizontal-meter{margin-left:2px}.process-scene>.horizontal-meter{color:#a8b39f;margin-top:24px}.process-scene>.horizontal-meter>i{background:#374131}

/* The first viewport is one overlapping composition, not two adjacent columns. */
.hero{min-height:calc(100svh - 31px);background:var(--rlp-black)}
.hero-word{position:absolute;z-index:0;left:-.04em;top:50%;translate:0 -51%;color:transparent;-webkit-text-stroke:1px rgba(215,255,63,.13);font-size:clamp(170px,24vw,390px);font-weight:850;line-height:.65;letter-spacing:-.105em;white-space:nowrap;pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1fr;min-height:760px}
.hero-copy{grid-area:1/1;align-self:center;z-index:8;width:58%;padding:100px 0 120px}
.hero-copy h1{font-size:clamp(68px,7vw,112px);line-height:.82;max-width:920px;mix-blend-mode:normal}
.hero-copy h1>span{display:inline-block;margin-left:clamp(45px,8vw,125px);text-shadow:0 14px 55px rgba(215,255,63,.17)}
.hero-description{max-width:390px;margin-left:clamp(45px,8vw,125px);padding-left:20px;border-left:1px solid rgba(215,255,63,.35)}
.hero-actions,.hero-facts{margin-left:clamp(45px,8vw,125px)}
.hero-product{grid-area:1/1;justify-self:end;align-self:center;z-index:4;width:62%;height:720px;margin:0 -5% 0 0;padding:34px 0}
.hero-product::before{inset:5% -5% 5% 10%;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(215,255,63,.025));clip-path:polygon(26% 0,100% 5%,83% 100%,0 84%)}
.product-stage{min-height:545px}.hero-product img{width:108%;margin-left:0}
.product-detail{position:absolute;z-index:8;right:0;bottom:78px;width:min(390px,55%);margin:0;background:rgba(8,12,8,.88);backdrop-filter:blur(14px);box-shadow:0 25px 55px rgba(0,0,0,.45)}
.hero-product figcaption{position:absolute;left:16%;right:0;bottom:15px}
.hero-bottom{margin-top:-76px}
.hero.scene-active .hero-word{animation:radical-hero-word 10s ease-in-out infinite alternate}
@keyframes radical-hero-word{to{translate:-3vw -51%;-webkit-text-stroke-color:rgba(215,255,63,.21)}}

/* A full-screen brand statement changes the visual tempo immediately. */
.manifesto{position:relative;z-index:8;overflow:hidden;min-height:780px;display:flex;align-items:center;background:var(--lime);color:var(--rlp-black);isolation:isolate}
.manifesto::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(112deg,transparent 0 62%,rgba(8,12,8,.12) 62.05% 62.2%,transparent 62.25%),repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),rgba(8,12,8,.09) 25%)}
.manifesto::after{content:"RLP";position:absolute;z-index:-1;right:-.08em;bottom:-.24em;color:rgba(8,12,8,.075);font-size:clamp(280px,42vw,670px);font-weight:850;line-height:1;letter-spacing:-.13em}
.manifesto-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);grid-template-areas:"index index" "title copy" "title route";gap:38px 8vw;align-items:end}
.manifesto-index{grid-area:index;color:#11180a;font-size:10px;font-weight:850;letter-spacing:.2em;text-transform:uppercase}
.manifesto h2{grid-area:title;max-width:990px;font-size:clamp(76px,9vw,145px);line-height:.77;letter-spacing:-.08em;color:var(--rlp-black)}
.manifesto h2 span{color:transparent;-webkit-text-stroke:2px var(--rlp-black)}
.manifesto-copy{grid-area:copy;max-width:380px;color:#26300f;font-size:14px;line-height:1.85;font-weight:550}
.manifesto-route{grid-area:route;list-style:none;margin:5px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);position:relative}
.manifesto-route::before{content:"";position:absolute;left:8%;right:8%;top:18px;height:1px;background:#141a0c;transform:scaleX(0);transform-origin:left;transition:transform 1.1s .35s cubic-bezier(.2,.8,.2,1)}
.manifesto.scene-active .manifesto-route::before{transform:scaleX(1)}
.manifesto-route li{position:relative;z-index:1;display:grid;justify-items:start;gap:7px}.manifesto-route b{display:grid;place-items:center;width:38px;height:38px;background:var(--rlp-black);color:var(--lime);border-radius:50%;font-size:10px}.manifesto-route span{font-size:8px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.manifesto.scene-ready .manifesto-index{letter-spacing:.32em;transition:letter-spacing 1s cubic-bezier(.2,.8,.2,1)}.manifesto.scene-active .manifesto-index{letter-spacing:.2em}

/* Vehicle search becomes a light technical desk with a dark raised console. */
.vehicle-finder{clip-path:none;margin:0;padding-block:150px;background:var(--rlp-cream);color:var(--rlp-black)}
.vehicle-finder::before{right:-10%;top:-50%;width:70%;border-color:rgba(22,33,13,.13);box-shadow:0 0 0 95px rgba(22,33,13,.035),0 0 0 190px rgba(22,33,13,.025)}
.vehicle-finder::after{left:-18%;bottom:-70%;background:radial-gradient(circle,rgba(215,255,63,.36),transparent 60%)}
.vehicle-finder-grid{grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr);align-items:stretch}
.vehicle-finder-copy{display:flex;flex-direction:column;justify-content:center}
.vehicle-finder-copy h2{color:var(--rlp-black);font-size:clamp(62px,7vw,105px);line-height:.82}
.vehicle-finder-copy h2::first-line{color:#3c4a27}
.vehicle-finder-copy>p:not(.eyebrow){color:#59604f;font-size:14px}
.finder-trust{color:#252d1d}.finder-trust b{border-color:#9daa8c;color:#34520d}
.vehicle-finder-form{align-self:center;padding:55px;background:var(--rlp-black);color:#f7f8f3;border:0;rotate:1.4deg;box-shadow:32px 36px 0 var(--lime),0 65px 120px rgba(20,29,12,.3)}
.vehicle-finder-form::before{content:"FIND / 01";position:absolute;right:25px;bottom:12px;color:rgba(255,255,255,.08);font-size:46px;font-weight:850;letter-spacing:-.07em}
.vehicle-finder-form::after{opacity:.08}
.finder-heading{border-color:#333b2e}.finder-heading>span:last-child{color:var(--lime)}
.vehicle-finder-form label{color:#cbd2c3}.vehicle-finder-form select,.vehicle-finder-form input{border:1px solid #3d4934;background:#151b12;color:#f8faf4}.vehicle-finder-form select:disabled{opacity:.45}.finder-note{color:#929e87}.finder-note>span{color:var(--lime)}

/* Product cards form a horizontal editorial reel on desktop and mobile. */
.collection{position:relative;width:100%;max-width:none;margin:0;padding:150px 0 170px max(56px,calc((100vw - 1320px)/2));background:#e3e8dc;overflow:hidden}
.collection::before{content:"02";right:2vw;top:36px;color:rgba(28,39,18,.08);font-size:clamp(150px,23vw,350px);opacity:1}
.collection-side{position:absolute;z-index:3;left:18px;top:44%;font-size:8px;font-weight:850;letter-spacing:.2em;writing-mode:vertical-rl;rotate:180deg}
.collection .section-heading{position:relative;z-index:2;width:min(1050px,calc(100% - 112px));margin:0 0 70px}
.collection .section-heading h2{font-size:clamp(64px,7vw,108px);line-height:.85}
.collection .finish-grid{display:flex;align-items:flex-start;gap:24px;width:100%;overflow-x:auto;overflow-y:hidden;padding:12px max(56px,calc((100vw - 1320px)/2)) 60px 2px;scroll-snap-type:x mandatory;scrollbar-color:var(--rlp-black) #c4ccba;scrollbar-width:thin}
.collection .finish-grid::-webkit-scrollbar{height:5px}.collection .finish-grid::-webkit-scrollbar-track{background:#c4ccba}.collection .finish-grid::-webkit-scrollbar-thumb{background:var(--rlp-black)}
.collection .finish-card{flex:0 0 min(540px,43vw);min-height:650px;margin:0!important;padding-top:10px;scroll-snap-align:start;background:#f7f8f3;border:0;box-shadow:0 38px 80px rgba(31,42,21,.16)}
.collection .finish-card:nth-child(2){translate:0 50px}.collection .finish-card:nth-child(3){background:var(--rlp-black);color:#f7f8f3;translate:0 5px}
.collection .finish-card:nth-child(3) p{color:#aeb8a5}.collection .finish-card:nth-child(3) .finish-foot{background:#161d13;border-color:#303a2b}.collection .finish-card:nth-child(3) .finish-foot a{color:var(--lime)}
.collection .finish-visual{margin-inline:18px;aspect-ratio:1.22}.collection .finish-card h3{font-size:34px}.collection .finish-card>p{font-size:14px}.collection-note{width:min(800px,calc(100% - 56px));font-size:11px}
.collection.scene-active .collection-side{animation:side-pulse 2.8s ease-in-out infinite}@keyframes side-pulse{50%{letter-spacing:.32em;opacity:.45}}

/* Transparency is now a dark origin-to-destination scene. */
.transparency{min-height:950px;padding-block:170px;background:var(--rlp-black);color:#f5f7f0}
.transparency::before{content:"CHINA → REVERSE → EUROPE";left:-2%;top:48%;color:rgba(215,255,63,.055);font-size:clamp(90px,13vw,210px);line-height:.7;transform:none;transform-origin:center;letter-spacing:-.075em}
.transparency::after{right:-15%;bottom:-50%;border-color:rgba(215,255,63,.15);box-shadow:0 0 0 80px rgba(215,255,63,.025),0 0 0 160px rgba(215,255,63,.018)}
.transparency-grid{grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);gap:10vw;align-items:center}
.transparency h2{max-width:710px;color:#f5f7f0;font-size:clamp(64px,7vw,105px);line-height:.82}
.transparency .section-copy{color:#a5afa0;max-width:540px;font-size:14px}
.transparency .statement{color:#f5f7f0;font-size:24px}.transparency .statement span{color:var(--lime)}.transparency .text-link{color:#f5f7f0}
.sourcing-route{margin-top:46px}.sourcing-route li{border-color:#4a5543;padding-top:22px}.sourcing-route li::before{background:#6f7f63;border-color:var(--rlp-black)}.sourcing-route .route-reverse::before{background:var(--lime);box-shadow:0 0 0 6px rgba(215,255,63,.12)}.sourcing-route span{color:#77856f}.sourcing-route strong{color:#eef2e9;font-size:12px}.sourcing-route .route-reverse strong{color:var(--lime);font-size:17px}
.cost-card{position:relative;top:auto;padding:45px;background:#eef2e8;color:var(--rlp-black);rotate:2deg;box-shadow:26px 30px 0 var(--lime),0 65px 115px rgba(0,0,0,.5)}
.cost-card::before{display:none}.cost-card>p{color:#646e5b}.cost-seal{color:#526541}

/* Preserve the engineering block but let it break outside the normal page rail. */
.process-scene{margin-block:0;width:100%;max-width:none;padding:150px max(56px,calc((100vw - 1320px)/2));box-shadow:none}
.process-scene .section-heading{width:min(1050px,100%)}.process-scene .section-heading h2{font-size:clamp(64px,7vw,108px);line-height:.84}
.process-scene .steps{grid-template-columns:repeat(4,minmax(270px,1fr));overflow-x:auto;scroll-snap-type:x mandatory}.process-scene .steps li{min-height:410px;scroll-snap-align:start}.process-scene .step-number{font-size:64px;margin-bottom:120px}

/* Europe switches to cream, separating the two black product scenes. */
.europe-band{min-height:620px;background:var(--rlp-cream)}
.europe-band::before{opacity:.06}.europe-ghost{color:rgba(52,70,30,.07);font-size:clamp(140px,20vw,310px)}
.europe-row{grid-template-columns:1.1fr .75fr auto}.europe-row h2{font-size:clamp(76px,8vw,125px);color:var(--rlp-black)}.europe-row .eyebrow,.europe-row p:not(.eyebrow){color:#354129}.europe-stamp{color:#344b18;border-color:#aeb9a2;text-shadow:10px 10px 0 rgba(215,255,63,.7)}

/* The configurator becomes a lime showroom with two floating products. */
.quote-section{min-height:1100px;padding-block:190px 150px;clip-path:none;background:var(--lime);color:var(--rlp-black)}
.quote-section::before{width:900px;left:-360px;bottom:-360px;border-color:rgba(9,12,9,.14);box-shadow:0 0 0 100px rgba(9,12,9,.025),0 0 0 200px rgba(9,12,9,.02)}
.configurator-word{position:absolute;z-index:-1;left:-1%;top:14%;color:rgba(9,12,9,.07);font-size:clamp(110px,17vw,270px);font-weight:850;line-height:.7;letter-spacing:-.09em;white-space:nowrap}
.quote-grid{grid-template-columns:minmax(380px,.85fr) minmax(560px,1.15fr);gap:8vw;align-items:center}
.quote-intro{position:relative;top:auto;align-self:center;color:var(--rlp-black)}
.quote-intro .eyebrow{color:#35410c}.quote-intro h2{color:var(--rlp-black);font-size:clamp(72px,7.5vw,120px);line-height:.8}.quote-intro h2>span{color:transparent;-webkit-text-stroke:2px var(--rlp-black)}.quote-intro>p:not(.eyebrow){color:#3b451d;font-size:14px}
.live-spec{width:112%;margin-top:55px;padding:25px;background:var(--rlp-black);color:#f7f8f3;border:0;translate:-8% 25px;rotate:-3deg;box-shadow:25px 28px 0 rgba(9,12,9,.17),0 55px 90px rgba(42,53,13,.28)}
.live-spec img{height:320px}.live-spec>p{color:#94a08c}.quote-form{padding:50px;background:#fafbf7;border:2px solid var(--rlp-black);rotate:1.4deg;box-shadow:30px 34px 0 var(--rlp-black),0 70px 120px rgba(42,53,13,.27)}
.quote-form::before{height:8px;background:var(--rlp-black)}
.form-step h3{font-size:38px}.form-progress li{border-color:#b7bea9}.form-progress [aria-current="step"],.form-progress .is-complete{border-color:var(--rlp-black);color:var(--rlp-black)}.form-progress [aria-current="step"] span{background:var(--rlp-black);color:var(--lime)}

.faq-section{margin-block:120px;width:min(1320px,calc(100% - 112px));padding:100px;background:var(--rlp-black);color:#f5f7f0;border:0;box-shadow:30px 35px 0 var(--lime)}
.faq-section h2{color:#f5f7f0;font-size:clamp(55px,5.5vw,85px);line-height:.86}.faq-section>div>p:last-child{color:#9ca795}.faq-list{border-color:#3a4435}.faq-list details{border-color:#3a4435}.faq-list summary{color:#edf1e8}.faq-list details p{color:#aab4a3}.faq-list details:hover,.faq-list details[open]{background:#171d14}.faq-list details[open] summary{color:var(--lime)}
.closing{min-height:650px;background:var(--rlp-cream)}.closing::before{background:var(--lime);inset:-70% 54% -70% -25%}.closing .eyebrow{color:#505d3d}.closing a{color:var(--rlp-black);font-size:clamp(82px,10.5vw,165px);line-height:.78}
.scene-ready .configurator-word,.scene-ready .europe-ghost{transition:letter-spacing 1.4s cubic-bezier(.2,.8,.2,1),opacity 1s}.scene-active .configurator-word,.scene-active .europe-ghost{letter-spacing:-.105em;opacity:1}

@supports(animation-timeline:view()){
  .manifesto h2,.collection .section-heading h2,.transparency h2,.quote-intro h2{animation:radical-heading linear both;animation-timeline:view();animation-range:entry 0% cover 42%}
  @keyframes radical-heading{from{opacity:.3;transform:translateY(60px) skewY(3deg)}to{opacity:1;transform:none}}
  .collection .finish-card{animation:radical-card linear both;animation-timeline:view(inline);animation-range:entry 5% cover 35%}
  @keyframes radical-card{from{opacity:.35;scale:.86;rotate:3deg}to{opacity:1;scale:1;rotate:0deg}}
}

@media(max-width:1050px){
  .hero-copy{width:64%}.hero-copy h1{font-size:72px}.hero-product{width:58%}
  .manifesto-grid{grid-template-columns:1fr .55fr}.manifesto h2{font-size:82px}
  .vehicle-finder-grid{grid-template-columns:1fr;gap:75px}.vehicle-finder-copy{max-width:720px}.vehicle-finder-form{width:min(780px,94%);justify-self:end}
  .collection .finish-card{flex-basis:55vw}
  .transparency-grid{grid-template-columns:1fr;gap:80px}.transparency-grid>div:first-child{max-width:780px}.cost-card{width:min(680px,92%);justify-self:end}
  .quote-grid{grid-template-columns:1fr;gap:110px}.quote-intro{max-width:780px}.live-spec{width:min(680px,90%)}.quote-form{width:min(780px,92%);justify-self:end}
  .faq-section{padding:70px}
}

@media(max-width:760px){
  .scene-counter,.pointer-halo{display:none}.horizontal-meter{grid-template-columns:auto minmax(70px,1fr) auto;width:calc(100% - 20px);margin-top:-18px}.process-scene>.horizontal-meter{padding-right:20px}
  .hero{min-height:920px}.hero-word{top:40%;font-size:175px}.hero-grid{min-height:850px;display:grid}.hero-copy{width:100%;align-self:start;padding:72px 0 0}.hero-copy h1{font-size:clamp(51px,14vw,72px);line-height:.83}.hero-copy h1>span,.hero-description,.hero-actions,.hero-facts{margin-left:0}.hero-description{max-width:92%;margin-top:22px;padding-left:14px}.hero-product{align-self:end;width:115%;height:515px;margin:0 -10% -30px 0;padding:0}.product-stage{min-height:390px}.hero-product .product-topline{display:none}.product-detail{right:7%;bottom:65px;width:72%;min-height:0}.hero-product figcaption{left:12%;right:8%;bottom:5px}.hero-bottom{margin-top:-33px}
  .manifesto{min-height:760px;padding-block:85px}.manifesto-grid{grid-template-columns:1fr;grid-template-areas:"index" "title" "copy" "route";gap:35px}.manifesto h2{font-size:clamp(62px,18vw,90px);line-height:.8}.manifesto h2 span{-webkit-text-stroke-width:1.5px}.manifesto-copy{font-size:14px}.manifesto::after{font-size:310px}
  .vehicle-finder{padding-block:100px}.vehicle-finder-grid{gap:55px}.vehicle-finder-copy h2{font-size:59px}.vehicle-finder-form{width:calc(100% - 10px);padding:30px 21px;rotate:0;box-shadow:10px 12px 0 var(--lime),0 38px 70px rgba(20,29,12,.25)}.vehicle-finder-form::before{font-size:34px}.vehicle-finder.scene-active .vehicle-finder-form{animation:none}
  .collection{padding:100px 0 115px 20px}.collection-side{display:none}.collection .section-heading{width:calc(100% - 40px);margin-bottom:50px}.collection .section-heading h2{font-size:56px}.collection .finish-grid{gap:14px;padding:8px 20px 42px 0}.collection .finish-card{flex-basis:84vw;min-height:570px}.collection .finish-card:nth-child(2){translate:0}.collection .finish-card:nth-child(3){translate:0}.collection .finish-card h3{font-size:29px}.collection-note{width:calc(100% - 20px)}
  .transparency{min-height:0;padding-block:110px}.transparency-grid{gap:65px}.transparency h2{font-size:60px}.transparency .statement{font-size:20px}.cost-card{width:calc(100% - 10px);padding:28px 22px;rotate:0;box-shadow:10px 12px 0 var(--lime),0 40px 80px rgba(0,0,0,.45)}
  .process-scene{padding:100px 12px 110px 20px}.process-scene .section-heading{padding-right:20px}.process-scene .section-heading h2{font-size:58px}.process-scene .steps{display:flex;gap:1px;padding-right:20px}.process-scene .steps li{flex:0 0 82vw;min-height:360px}.process-scene .step-number{margin-bottom:90px}
  .europe-band{min-height:680px}.europe-row{grid-template-columns:1fr;gap:45px}.europe-row>div:nth-child(2){grid-column:auto;grid-row:auto}.europe-stamp{grid-column:auto;grid-row:auto;width:max-content}.europe-row h2{font-size:70px}
  .quote-section{min-height:0;padding-block:120px 130px}.configurator-word{top:7%;font-size:130px}.quote-grid{gap:75px}.quote-intro h2{font-size:65px}.quote-intro h2>span{-webkit-text-stroke-width:1.5px}.live-spec{width:100%;margin-top:42px;translate:0;rotate:-1.5deg}.live-spec img{height:150px}.quote-form{width:calc(100% - 10px);padding:31px 20px;rotate:0;box-shadow:10px 12px 0 var(--rlp-black),0 45px 85px rgba(42,53,13,.25)}.form-step h3{font-size:31px}
  .faq-section{width:calc(100% - 28px);margin-block:75px;padding:65px 18px;box-shadow:10px 12px 0 var(--lime)}.faq-section h2{font-size:53px}
  .closing{min-height:470px}.closing a{font-size:clamp(70px,20vw,100px)}
}

@media(max-width:390px){
  .hero{min-height:850px}.hero-copy h1{font-size:48px}.hero-product{height:475px}.product-stage{min-height:350px}.product-detail{width:80%}
  .manifesto h2{font-size:59px}.vehicle-finder-copy h2{font-size:53px}.collection .section-heading h2{font-size:49px}.transparency h2{font-size:52px}.quote-intro h2{font-size:58px}.faq-section h2{font-size:47px}
}

@media(prefers-reduced-motion:reduce){
  .hero.scene-active .hero-word{animation:none}.manifesto h2,.collection .section-heading h2,.transparency h2,.quote-intro h2,.collection .finish-card{animation:none!important}
  .scene-counter i b,.pointer-halo,.horizontal-meter>i>b,.manifesto.scene-ready .manifesto-index,.scene-ready .configurator-word,.scene-ready .europe-ghost{transition:none!important}
}
.motion-lite .hero-word{animation:none!important}
