.work-page{color:#1a1a1a;background:#fff}.work-page h1,.work-page h2{font-weight:400}.work-proof{padding:36px 4% 50px}.work-proof>.eyebrow{font-weight:400;font-size:10px;color:#606660}.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2vw;margin-top:35px}.proof-grid>div{padding:0 2vw;border-left:1px solid #ddd;display:flex;flex-direction:column;gap:10px}.proof-grid strong{font-weight:400;font-size:7.5vw;line-height:1.05;letter-spacing:-.065em;font-variant-numeric:tabular-nums}.proof-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.6px}.work-index{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;margin:30px 1.2% 105px;scroll-snap-type:x mandatory}.work-index::-webkit-scrollbar{display:none}.work-tile{flex:0 0 43%;height:30.48vw;position:relative;border-radius:8px;overflow:hidden;scroll-snap-align:start}.work-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s}.work-tile:hover img{transform:scale(1.035)}.work-tile:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009)}.work-tile span{position:absolute;bottom:26px;left:28px;color:#fff;max-width:70%;font-size:clamp(20px,2.5vw,42px);line-height:1;letter-spacing:-1px;z-index:1}.work-project{padding-top:60px;padding-bottom:65px;border-top:1px solid #eee;scroll-margin-top:25px}.project-heading{position:relative;padding:0 4% 34px}.project-heading h2{font-size:5vw;line-height:1.04;letter-spacing:-.055em;max-width:530px}.view-work{position:absolute;right:4%;top:10px;font-size:12px;border-bottom:1px solid #aaa;padding-bottom:6px}.project-tags{display:flex;flex-wrap:wrap;list-style:none;gap:8px;padding:0;margin:24px 0 20px}.project-tags li{font-size:10px;text-transform:uppercase;letter-spacing:.3px;background:#f1f1f1;padding:7px 12px;border-radius:20px}.project-heading>p{font-size:13px;line-height:1.8;max-width:626px;color:#414743}.creative-credit{font-size:12px;display:inline-block;margin-top:15px;border-bottom:1px solid #aaa;padding-bottom:3px}.project-carousel{--gallery-height:43.75vw}.gallery-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:0 1.2%;scroll-padding-left:1.2%;cursor:grab}.gallery-track:active{cursor:grabbing}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{margin:0;height:var(--gallery-height);flex:0 0 calc(var(--gallery-height)*var(--ratio));scroll-snap-align:start;position:relative;overflow:hidden;background:#f7f7f7;border-radius:2px}.gallery-slide img{display:block;width:100%;height:100%;object-fit:contain}.gallery-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;padding:22px 4% 0}.gallery-count{font-size:10px;color:#777;letter-spacing:1px;font-variant-numeric:tabular-nums}.gallery-dots{display:flex;align-items:center;justify-content:center;gap:7px;min-height:25px}.gallery-dots button{appearance:none;border:0;width:6px;height:6px;background:#d5cec8;border-radius:9px;padding:0;cursor:pointer;position:relative;transition:width .35s,background .35s}.gallery-dots button:before{content:'';position:absolute;inset:-10px -3px}.gallery-dots button[aria-pressed=true]{width:23px;background:#6c594a}.gallery-arrows{display:flex;justify-content:flex-end;gap:8px}.gallery-arrows button{appearance:none;border:1px solid #ddd;background:white;border-radius:50%;width:35px;height:35px;font:18px 'DM Sans',sans-serif;cursor:pointer;transition:background .2s}.gallery-arrows button:hover{background:#eee}.work-process{margin:10px 1.2% 32px;border-radius:20px;background:#241f1a;color:#fffdf5;padding:7.5vw 7.2% 9vw;overflow:hidden}.process-heading>.eyebrow{font-size:10px;color:#d0c1b2;font-weight:400}.process-heading h2{font-size:5vw;line-height:1.02;letter-spacing:-.045em;margin-top:28px}.process-heading>p{font-size:17px;margin-top:22px;line-height:1.6}.work-process>.small-pill{position:absolute;right:3%;top:35px}.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:85px;position:relative}.process-steps:before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#ffffff16}.process-steps article{position:relative;min-height:260px;padding:24px 23px 20px}.process-orbit{position:absolute;inset:0;pointer-events:none}.process-orbit svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke-width:.65;transform:rotate(-90deg)}.orbit-base{stroke:#fff2}.orbit-progress{stroke:#e3cbb5;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--process,0));opacity:.8}.process-orbit i{position:absolute;width:7px;height:7px;background:#eadacc;border-radius:50%;left:50%;top:3%;box-shadow:0 0 15px #e6ccb155;opacity:var(--process,0);transform-origin:0 116px;transform:rotate(calc(var(--process,0)*360deg))}.step-number{display:block;font-size:35px;line-height:1.2;font-weight:300;color:#c0a98f}.process-steps h3{font-size:23px;line-height:1.2;margin-top:20px;letter-spacing:-.6px}.process-steps p{font-size:12px;line-height:1.7;color:#d0c6ba;margin-top:12px;max-width:190px}.work-page .services-contact{margin-top:0}.work-project .gallery-track{opacity:calc(.3 + var(--gallery-reveal,1)*.7);transform:translateY(calc((1 - var(--gallery-reveal,1))*25px))}
@media(min-width:1600px){.work-proof{padding-top:3vw;padding-bottom:4vw}.proof-grid span,.project-heading>p{font-size:1.016vw}.project-tags li,.gallery-count{font-size:.8vw}.work-project{padding-top:5vw;padding-bottom:5vw}.process-steps article{min-height:21vw;padding:2vw}.process-steps h3{font-size:1.8vw}.process-steps p{font-size:.94vw;max-width:15vw}.step-number{font-size:2.7vw}.process-heading>p{font-size:1.33vw}}
@media(max-width:900px) and (min-width:701px){.process-steps{gap:5px}.process-steps article{padding:15px 10px;min-height:230px}.process-steps h3{font-size:20px}.process-steps p{font-size:11px}}
@media(max-width:700px){.work-proof{padding:24px 6% 30px}.proof-grid{gap:12px;margin-top:25px}.proof-grid>div{padding-left:10px;gap:12px}.proof-grid strong{font-size:12vw;letter-spacing:-.07em}.proof-grid span{font-size:8px;line-height:1.5;letter-spacing:.35px}.work-index{margin:10px 10px 55px;gap:9px}.work-tile{flex-basis:78%;height:250px}.work-tile span{font-size:25px;bottom:22px;left:22px}.work-project{padding:35px 0 38px;scroll-margin-top:15px}.project-heading{padding:0 6% 25px}.project-heading h2{font-size:42px;max-width:76%}.view-work{font-size:10px;right:6%;top:5px}.project-tags{margin:20px 0 16px;gap:6px}.project-tags li{font-size:8px;padding:6px 9px}.project-heading>p{font-size:13px;line-height:1.7;max-width:none}.creative-credit{font-size:11px}.project-carousel{--gallery-height:410px}.gallery-track{gap:8px;padding:0 10px;scroll-padding-left:10px}.gallery-controls{padding:16px 6% 0;grid-template-columns:auto 1fr auto;gap:8px}.gallery-dots{gap:5px}.gallery-dots button{width:4px;height:4px}.gallery-dots button[aria-pressed=true]{width:14px}.gallery-arrows{gap:5px}.gallery-arrows button{width:30px;height:30px;font-size:16px}.gallery-count{font-size:8px}.work-process{margin:0 10px 25px;padding:55px 24px 55px}.process-heading h2{font-size:38px;margin-top:22px;letter-spacing:-1.8px}.process-heading>p{font-size:14px;max-width:260px;margin-top:18px}.work-process>.small-pill{right:20px;top:25px;font-size:10px}.process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 8px;margin-top:40px}.process-steps article{min-height:220px;padding:23px 15px}.step-number{font-size:27px}.process-steps h3{font-size:20px;margin-top:15px}.process-steps p{font-size:11px;line-height:1.6;margin-top:10px}.process-steps:before{display:none}.work-process .process-orbit svg{opacity:.65}}
@media(prefers-reduced-motion:reduce){.work-project .gallery-track,[data-unveil]{opacity:1;transform:none}.orbit-progress{stroke-dashoffset:0}.process-orbit i{display:none}}
/* Use the authored Figma curves, with a scroll-driven reveal along the timeline. */
.process-orbit svg{display:none}.process-orbit{background:url('assets/final/process-02.svg') center/100% auto no-repeat;opacity:.85;clip-path:inset(0 calc((1 - var(--process,0))*100%) 0 0)}.process-steps article:first-child .process-orbit{background-image:url('assets/final/process-01.svg')}.process-steps article:nth-child(even) .process-orbit{transform:scaleY(-1)}.process-orbit i{top:50%;left:calc(var(--process,0)*96%);transform:none;width:6px;height:6px;box-shadow:0 0 14px #e8ccb5}.process-steps:before{display:none}
/* One continuous, curved timeline, illuminated by one travelling point. */
.process-scroll{position:relative;height:280svh;margin:10px 1.2% 32px}.process-scroll .work-process{position:sticky;top:12px;height:calc(100svh - 24px);min-height:610px;margin:0;padding:clamp(35px,4.5vh,65px) 7.2%;display:flex;flex-direction:column;justify-content:center}.process-heading h2{font-size:clamp(40px,4.6vw,64px);margin-top:22px}.process-heading>p{margin-top:18px;font-size:16px}.process-window{overflow:hidden;margin-top:clamp(30px,6vh,60px);flex:0 0 auto}.process-diagram{position:relative;height:clamp(270px,37vh,360px);width:100%;will-change:transform}.curved-timeline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.timeline-base{stroke:#39312b}.timeline-light{stroke:#dfc5b1;filter:drop-shadow(0 0 3px #dfc5b133)}.timeline-traveller{fill:#fff6ee;stroke:#d5b395;stroke-width:2;filter:drop-shadow(0 0 6px #f4cfb9)}.process-steps{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0}.process-steps article{min-height:0;padding:0 18px 0 22px;position:relative;display:flex;flex-direction:column;justify-content:center;transform:translateY(7px)}.step-number{color:color-mix(in srgb,#f1d6bf calc(var(--step-lit,0)*100%),#655b51);font-weight:300;font-size:35px;text-shadow:0 0 calc(var(--step-lit,0)*18px) #e4bd8d30}.process-steps h3{margin-top:14px;font-size:22px;line-height:1.2;color:color-mix(in srgb,#fffaf4 calc(var(--step-lit,0)*100%),#a3998e)}.process-steps p{font-size:12px;line-height:1.65;max-width:190px;margin-top:10px;color:color-mix(in srgb,#e4d9ce calc(var(--step-lit,0)*100%),#867b70)}.process-orbit{display:none}
@media(max-width:900px) and (min-width:701px){.process-scroll .work-process{padding-left:5%;padding-right:5%}.process-steps article{padding:0 12px}.process-steps h3{font-size:19px}.process-steps p{font-size:11px}}
@media(max-width:700px){.process-scroll{margin:0 10px 25px;height:310svh}.process-scroll .work-process{top:10px;height:calc(100svh - 20px);min-height:620px;padding:40px 24px;justify-content:center}.process-heading h2{font-size:38px}.process-heading>p{font-size:14px;max-width:270px}.process-window{margin-top:40px;overflow:hidden;margin-left:-10px;margin-right:-10px;padding:10px 0}.process-diagram{width:960px;height:300px;transform:translateX(var(--timeline-pan,0px))}.process-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.process-steps article{padding:0 20px;min-height:0}.step-number{font-size:32px}.process-steps h3{font-size:22px}.process-steps p{font-size:12px;line-height:1.65;max-width:180px}}
@media(prefers-reduced-motion:reduce){.process-scroll{height:auto}.process-scroll .work-process{position:relative;height:auto;min-height:0;padding-top:65px;padding-bottom:65px}.process-diagram{will-change:auto}.process-window{overflow-x:auto}.timeline-traveller{display:none}}
@media(min-width:901px){.process-steps article{padding-left:4.2vw;padding-right:10px}}
/* The curve enters through the panel edge; a local pool of light follows the traveller. */
.process-scroll .work-process{isolation:isolate;background:#241f1b}.process-window{overflow:visible;position:relative;z-index:1}.curved-timeline{left:-11.082%;width:111.082%;stroke-width:2.5}.timeline-base{stroke:#3b332d}.timeline-light{stroke:url('#process-flash');stroke-width:3.5;stroke-dasharray:none!important;stroke-dashoffset:0!important;filter:none}.timeline-traveller{r:13;fill:#fff;stroke:#e5eced;stroke-width:1;filter:drop-shadow(0 0 7px #c2e6fabb) drop-shadow(0 0 18px #d2e7f766)}.process-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;border-radius:inherit}.process-dots,.process-grain{position:absolute;inset:-100px;will-change:transform}.process-dots{background-image:radial-gradient(circle,#c9b69e24 .7px,transparent 1.2px);background-size:34px 34px;opacity:.55;transform:translate3d(0,var(--texture-drift,0px),0);mask-image:linear-gradient(transparent,#000 30%,#000 85%,transparent)}.process-grain{background-image:radial-gradient(ellipse at 15% 80%,#b99b7620,transparent 55%),radial-gradient(circle,#efdfc312 .55px,transparent .9px);background-size:100% 100%,7px 7px;opacity:.4;transform:translate3d(0,var(--texture-counter,0px),0)}.process-heading,.work-process>.small-pill{z-index:2;position:relative}.work-process>.small-pill{position:absolute}.process-steps p{color:color-mix(in srgb,#f0e8dd calc(var(--step-lit,0)*100%),#9d9185)}
@media(max-width:700px){.process-window{overflow:hidden;margin-left:-24px;margin-right:-24px;padding:10px 0}.process-steps article{padding-left:34px;padding-right:16px}.process-dots{background-size:28px 28px;opacity:.45}}
@media(prefers-reduced-motion:reduce){.timeline-light{display:none}.process-dots,.process-grain{transform:none;will-change:auto}.process-window{overflow-x:auto}}
.timeline-traveller{vector-effect:non-scaling-stroke}.process-grain{background-image:radial-gradient(ellipse at 15% 80%,#b99b7620,transparent 55%);background-size:100% 100%}
/* Dark first, progressively readable as the moving light reaches each step. */
.step-number{color:color-mix(in srgb,#fff5e9 calc(var(--step-lit,0)*100%),#514941)}.process-steps h3{color:color-mix(in srgb,#fff9f1 calc(var(--step-lit,0)*100%),#5d544b)}.process-steps p{color:color-mix(in srgb,#e6ddd2 calc(var(--step-lit,0)*100%),#62594f)}.timeline-markers ellipse{fill:color-mix(in srgb,#d6b69a calc(var(--marker-lit,0)*100%),#5a4e43);stroke:none}.timeline-finish-ring{fill:none;stroke:#ead1b8;stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;filter:drop-shadow(0 0 8px #e8bd9b55)}.process-dots{background-image:radial-gradient(circle,#d9c3a756 1px,transparent 1.6px);background-size:32px 32px;opacity:.65;mask-image:linear-gradient(transparent,#000 18%,#000 90%,transparent)}.process-grain{background-image:radial-gradient(ellipse at 90% 65%,rgba(190,142,101,calc(.04 + var(--finish,0)*.13)),transparent 50%),radial-gradient(ellipse at 12% 85%,#a5835620,transparent 60%);opacity:1}.process-finale{position:absolute;left:7.2%;right:7.2%;bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #cbb39830;padding-top:18px;opacity:var(--finish,0);transform:translateY(calc((1 - var(--finish,0))*14px));pointer-events:none;z-index:3}.process-finale p{font-size:22px;letter-spacing:-.6px;color:#f4e9dd}.process-finale a{font-size:13px;color:#f4e9dd;border-bottom:1px solid #bba088;padding:7px 0}.process-finale a span{display:inline-block;margin-left:22px;transform:translateX(calc((1 - var(--finish,0))*-12px))}.work-process.is-complete .process-finale{pointer-events:auto}.process-scroll .work-process{padding-bottom:85px}
@media(max-width:700px){.process-finale{left:24px;right:24px;bottom:25px;flex-direction:column;align-items:flex-start;gap:9px;padding-top:15px}.process-finale p{font-size:19px}.process-finale a{font-size:12px}.process-dots{background-size:28px 28px;opacity:.65}.process-scroll .work-process{padding-bottom:110px}}
@media(prefers-reduced-motion:reduce){.process-finale{position:relative;left:auto;right:auto;bottom:auto;opacity:1;transform:none;margin-top:35px;pointer-events:auto}.process-steps article{--step-lit:1!important}}
/* Softer atmosphere and continuous, restrained organic movement. */
.process-atmosphere{inset:-15px;transform:translate3d(var(--atmosphere-x,0px),var(--atmosphere-y,0px),0)}.process-dots{background-image:radial-gradient(circle,#cbb69838 .7px,transparent 1.3px),radial-gradient(circle,#dfcdb51c 1.1px,transparent 1.8px);background-size:53px 61px,137px 113px;background-position:0 0,24px 39px;opacity:.34;animation:process-dust-drift 24s ease-in-out infinite alternate;animation-play-state:paused}.process-grain{background-image:radial-gradient(ellipse at 80% 70%,rgba(184,131,87,calc(.07 + var(--finish,0)*.08)),transparent 56%),radial-gradient(ellipse at 20% 30%,#a7896b12,transparent 55%);background-size:140% 150%,150% 140%;background-position:40% 40%,70% 55%;animation:process-warmth-drift 18s ease-in-out infinite alternate;animation-play-state:paused}.work-process.is-inview .process-dots,.work-process.is-inview .process-grain{animation-play-state:running}.step-number{transform:translateY(calc((1 - var(--step-lit,0))*4px));will-change:transform}.process-steps h3{transform:translateY(calc((1 - var(--step-lit,0))*6px));will-change:transform}.process-steps p{transform:translateY(calc((1 - var(--step-lit,0))*8px));will-change:transform}.timeline-light{opacity:.9}.timeline-traveller{filter:drop-shadow(0 0 9px #c2e6fa99) drop-shadow(0 0 23px #e7c9aa33)}.process-finale{border-top-color:#cbb39820}.process-finale a{transition:color .3s,border-color .3s}.process-finale a:hover{color:white;border-color:white}
@keyframes process-dust-drift{from{background-position:0 0,24px 39px}to{background-position:19px 28px,6px 18px}}
@keyframes process-warmth-drift{from{background-position:40% 40%,70% 55%}to{background-position:65% 60%,30% 35%}}
@media(max-width:700px){.process-dots{opacity:.28;background-size:43px 49px,117px 103px}}
@media(prefers-reduced-motion:reduce){.process-dots,.process-grain{animation:none}.process-atmosphere,.step-number,.process-steps h3,.process-steps p{transform:none;will-change:auto}}
/* Preserve the curve's proportions instead of stretching it across wide displays. */
@media(min-width:701px){.process-window{width:min(1060px,100%,calc((100svh - 400px)*2.673));max-width:1060px;align-self:center;flex-shrink:0}.process-diagram{height:auto;aspect-ratio:1128/422;min-height:0}.process-steps article{padding-left:clamp(23px,3.2vw,42px);padding-right:10px}.process-steps h3{font-size:clamp(18px,1.6vw,22px)}.process-steps p{font-size:clamp(10px,.9vw,12px)}.step-number{font-size:clamp(27px,2.5vw,35px)}}.timeline-entry{stroke:#3b332d;stroke-width:2.5}
@media(max-width:700px){.process-diagram{height:359px}.timeline-entry{display:none}}

/* The final rise opens into warm light, then carries into the invitation below. */
.process-grain{background-image:radial-gradient(ellipse at 95% 20%,rgba(202,136,66,calc(.025 + var(--finish,0)*.48)),transparent 66%),radial-gradient(ellipse at 65% 100%,rgba(160,103,49,calc(.02 + var(--finish,0)*.24)),transparent 70%)}
.timeline-traveller{fill:color-mix(in srgb,#ffd693 calc(var(--finish,0)*100%),#fff);stroke:color-mix(in srgb,#ffda9a calc(var(--finish,0)*100%),#e5eced);filter:drop-shadow(0 0 9px #f7dab688) drop-shadow(0 0 24px #eec18b55)}
.timeline-finish-ring{stroke:#ffda9a;filter:drop-shadow(0 0 16px #ffc97599)}
.process-finale p,.process-finale a{color:color-mix(in srgb,#ffdda4 calc(var(--finish,0)*100%),#f4e9dd)}
.work-page .services-contact{isolation:isolate;overflow:hidden;margin-top:-14px;border-radius:20px;transform:translateY(calc((1 - var(--arrival,0))*28px));transition:none}
.work-page .services-contact:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 85% 0%,#c88c48aa,transparent 75%);opacity:calc(var(--handoff,0)*(1 - var(--arrival,0)*.75));mix-blend-mode:screen}
.work-page .services-contact .photo-panel{transform:scale(calc(1.045 - var(--arrival,0)*.045));transform-origin:85% 0%;will-change:transform}
.work-page .services-contact-copy,.work-page .services-contact>.eyebrow,.work-page .services-contact>.small-pill{z-index:2}
@media(prefers-reduced-motion:reduce){.work-page .services-contact,.work-page .services-contact .photo-panel{transform:none}}

/* Keep the golden arrival within the process only. */
.work-page .services-contact:after{display:none}

.timeline-star{fill:#fff4cb;stroke:none;opacity:var(--finish,0);transform-origin:1300px -250px;scale:calc(.35 + var(--finish,0)*.65);filter:drop-shadow(0 0 8px #fff0b9) drop-shadow(0 0 26px #ffc975);pointer-events:none}.timeline-traveller{opacity:calc(1 - var(--finish,0)*.85)}

/* Impact launches the star in one fluid, timed flight. */
.timeline-star{scale:none;transform-origin:0 0;filter:drop-shadow(0 0 7px #fff1c6) drop-shadow(0 0 20px #ffc975aa)}
.timeline-traveller{opacity:calc(1 - var(--launched,0))}
.timeline-light{stroke-width:2.5}

/* A quiet dotted flight path, separate from the grounded timeline. */
.timeline-air{fill:none;stroke:#d6b99b;stroke-opacity:.18;stroke-width:1.1;stroke-dasharray:1 9;stroke-linecap:round;vector-effect:non-scaling-stroke}

/* Readable before the light arrives; the finish reveals the airborne route. */
.timeline-air{stroke-opacity:calc(.18 + var(--finish,0)*.34)}
.step-number{color:color-mix(in srgb,#fff5e9 calc(var(--step-lit,0)*100%),#a99a89)}
.process-steps h3{color:color-mix(in srgb,#fff9f1 calc(var(--step-lit,0)*100%),#b7aa9a)}
.process-steps p{color:color-mix(in srgb,#e6ddd2 calc(var(--step-lit,0)*100%),#b3a695)}

/* A growing, softly dimensional thread follows the traveller. */
.timeline-base{stroke:url('#process-body');stroke-width:2.2;filter:drop-shadow(0 1px 1px #09060380) drop-shadow(0 0 4px #c7a27b18)}
.timeline-entry{opacity:.22}
.timeline-light{stroke-width:3;filter:drop-shadow(0 0 5px #f8ddae44)}
.timeline-air{stroke-opacity:calc(.2 + var(--finish,0)*.6);stroke-width:1.3}
.process-dots{opacity:calc(.34 + var(--finish,0)*.28)}

/* A concise guided process, rather than a long scrolling interlude. */
.process-scroll{height:200svh}
.timeline-markers ellipse{opacity:0}
@media(max-width:700px){.process-scroll{height:230svh}}
@media(prefers-reduced-motion:reduce){.process-scroll{height:auto}}

/* Finish copy belongs to the star, where the journey lands. */
.process-finale{left:auto;right:28px;top:calc(var(--star-y,120px) + 48px);bottom:auto;width:min(270px,30%);padding:0;border:0;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:12px;transform:translateY(calc((1 - var(--finish,0))*12px))}
.process-finale p{font-size:clamp(17px,1.65vw,23px);line-height:1.2;max-width:245px;text-wrap:balance}
.process-finale a{font-size:12px}
@media(max-width:700px){.process-finale{right:20px;width:205px;top:calc(var(--star-y,130px) + 38px)}.process-finale p{font-size:18px}.process-finale a{font-size:11px}}

/* Warm editorial lettering and a celebratory fifth destination. */
.process-heading h2{color:#d6b895;font-size:clamp(38px,4.4vw,62px);line-height:1.04}
.process-heading>.eyebrow{color:#baa182}
.process-finale{align-items:flex-start;text-align:left;width:220px;right:28px;gap:8px}
.finale-number{font-size:38px;font-weight:300;line-height:1;color:#ffe79a}
.process-finale p{color:#ffe79a;font-size:21px;line-height:1.12;letter-spacing:-.45px}
.process-finale a{display:inline-flex;gap:7px;align-items:center;border:0;border-radius:30px;padding:13px 22px;background:#ffeb9e;color:#6e512f;margin-top:10px;font-size:12px}
.finale-sparks{position:absolute;inset:-110px -10px -12px -25px;pointer-events:none}
.finale-sparks i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff0b5;box-shadow:0 0 7px #ffe5a044;animation:finale-drift 4.8s ease-in-out infinite alternate;animation-play-state:paused}
.is-complete .finale-sparks i{animation-play-state:running}
.finale-sparks i:nth-child(1){left:14%;top:4%;width:4px;height:4px}.finale-sparks i:nth-child(2){left:30%;top:13%;animation-delay:-1s}.finale-sparks i:nth-child(3){right:10%;top:0;animation-delay:-2s}.finale-sparks i:nth-child(4){right:4%;top:37%;width:4px;height:4px;animation-delay:-3s}.finale-sparks i:nth-child(5){left:0;top:68%;animation-delay:-1.5s}.finale-sparks i:nth-child(6){right:25%;top:52%;animation-delay:-2.5s}.finale-sparks i:nth-child(7){left:9%;bottom:3%;animation-delay:-3.5s}
@keyframes finale-drift{from{transform:translate3d(0,0,0);opacity:.5}to{transform:translate3d(3px,-7px,0);opacity:1}}
@media(max-width:700px){.process-finale{width:180px;right:18px}.process-finale p{font-size:18px}.finale-number{font-size:30px}.process-heading h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.finale-sparks i{animation:none}}

/* Each milestone receives the light and releases a soft ripple. */
.timeline-markers ellipse{fill:color-mix(in srgb,#ead1af calc(var(--marker-lit,0)*100%),#514335);stroke:#c9ac88;stroke-width:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px #e4c79b33)}
.timeline-markers .marker-halo{fill:none;stroke:#e6c79e;stroke-width:1;filter:drop-shadow(0 0 5px #f5d4a966)}
.process-heading h2{font-size:clamp(42px,5vw,72px)}
.process-dots{opacity:calc(.46 + var(--finish,0)*.27)}
.process-finale{transform-origin:90% -48px;transform:translate3d(calc((1 - var(--finish,0))*var(--burst-x,80px)),calc((1 - var(--finish,0))*-65px),0) scale(calc(.18 + var(--finish,0)*.82));filter:blur(calc((1 - var(--finish,0))*5px));opacity:var(--finish,0)}
.process-finale .finale-number{transform:translateY(calc((1 - var(--finish,0))*-18px))}
.process-finale p{transform:translateY(calc((1 - var(--finish,0))*-10px))}
@media(max-width:700px){.process-heading h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){.process-finale{filter:none;transform:none}}

/* Radial emergence from the star: no sliding message. */
.process-finale{transform:none;filter:none;opacity:1;clip-path:circle(calc(var(--finish,0)*155%) at 90% -48px);pointer-events:none}
.process-finale .finale-number,.process-finale p{transform:none}
.process-finale>*{opacity:var(--finish,0)}
.process-finale .finale-sparks{opacity:var(--finish,0)}
.timeline-traveller{fill:#fff;stroke:#fff8e6;filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 14px #ffe3b9cc) drop-shadow(0 0 25px #f1ca8e77)}
@media(prefers-reduced-motion:reduce){.process-finale{clip-path:none}}

/* A luminous leading orb and a sparse, drifting star field. */
.timeline-traveller{fill:#fffdf4;stroke:#fff4d8;stroke-width:1.2;filter:drop-shadow(0 0 5px #fff8e9) drop-shadow(0 0 13px #ffe5bddd) drop-shadow(0 0 27px #f9d29d99) drop-shadow(0 0 44px #f4c57e55)}
.process-dots{background-image:radial-gradient(circle,#e7cda978 1px,transparent 1.7px),radial-gradient(circle,#ffebbd80 1.25px,transparent 2px);background-size:53px 61px,137px 113px;opacity:calc(.64 + var(--finish,0)*.18)}
.process-dots:after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='271' height='233' viewBox='0 0 271 233'%3E%3Cpath d='M74 41Q74 46 79 46Q74 46 74 51Q74 46 69 46Q74 46 74 41Z' fill='%23f2d6a6' opacity='.55'/%3E%3Ccircle cx='212' cy='172' r='1.3' fill='%23ffebc0' opacity='.5'/%3E%3C/svg%3E");background-size:271px 233px;opacity:.55;animation:star-shower 28s ease-in-out infinite alternate;animation-play-state:paused}
.is-inview .process-dots:after{animation-play-state:running}
@keyframes star-shower{from{transform:translate3d(-4px,-15px,0)}to{transform:translate3d(8px,23px,0)}}
@media(prefers-reduced-motion:reduce){.process-dots:after{animation:none}}

/* Scattered constellations, without a regular dot grid. */
.process-dots{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22900%22%20height%3D%22700%22%3E%3Ccircle%20cx%3D%2291%22%20cy%3D%22230%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.37%22/%3E%3Ccircle%20cx%3D%22255%22%20cy%3D%22520%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.55%22/%3E%3Ccircle%20cx%3D%22114%22%20cy%3D%22344%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.60%22/%3E%3Ccircle%20cx%3D%22547%22%20cy%3D%22492%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.50%22/%3E%3Ccircle%20cx%3D%22567%22%20cy%3D%22141%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.45%22/%3E%3Ccircle%20cx%3D%22803%22%20cy%3D%22219%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.64%22/%3E%3Ccircle%20cx%3D%22218%22%20cy%3D%22468%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.39%22/%3E%3Ccircle%20cx%3D%2248%22%20cy%3D%22550%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.55%22/%3E%3Ccircle%20cx%3D%22461%22%20cy%3D%2232%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.27%22/%3E%3Ccircle%20cx%3D%2251%22%20cy%3D%22580%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.34%22/%3E%3Ccircle%20cx%3D%22491%22%20cy%3D%22329%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.32%22/%3E%3Ccircle%20cx%3D%22845%22%20cy%3D%22318%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.57%22/%3E%3Ccircle%20cx%3D%22613%22%20cy%3D%22309%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.37%22/%3E%3Ccircle%20cx%3D%2292%22%20cy%3D%22261%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.59%22/%3E%3Ccircle%20cx%3D%22308%22%20cy%3D%22448%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.58%22/%3E%3Ccircle%20cx%3D%2221%22%20cy%3D%22196%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.32%22/%3E%3Ccircle%20cx%3D%22105%22%20cy%3D%2275%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.52%22/%3E%3Ccircle%20cx%3D%2261%22%20cy%3D%22577%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.31%22/%3E%3Ccircle%20cx%3D%2269%22%20cy%3D%22210%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.45%22/%3E%3Ccircle%20cx%3D%22528%22%20cy%3D%22549%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.64%22/%3E%3Ccircle%20cx%3D%22515%22%20cy%3D%22502%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.50%22/%3E%3Ccircle%20cx%3D%22549%22%20cy%3D%22596%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.34%22/%3E%3Ccircle%20cx%3D%22397%22%20cy%3D%22606%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.33%22/%3E%3Ccircle%20cx%3D%22882%22%20cy%3D%22534%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.50%22/%3E%3Ccircle%20cx%3D%22853%22%20cy%3D%22371%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.31%22/%3E%3Ccircle%20cx%3D%22265%22%20cy%3D%2213%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.26%22/%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%22619%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.57%22/%3E%3Ccircle%20cx%3D%22335%22%20cy%3D%22438%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.44%22/%3E%3Ccircle%20cx%3D%2297%22%20cy%3D%22338%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.32%22/%3E%3Ccircle%20cx%3D%22386%22%20cy%3D%22322%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.63%22/%3E%3Ccircle%20cx%3D%22526%22%20cy%3D%22227%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.57%22/%3E%3Ccircle%20cx%3D%22610%22%20cy%3D%22280%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.53%22/%3E%3Ccircle%20cx%3D%22387%22%20cy%3D%22398%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.59%22/%3E%3Ccircle%20cx%3D%2247%22%20cy%3D%22634%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.61%22/%3E%3Ccircle%20cx%3D%2261%22%20cy%3D%22624%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.53%22/%3E%3Ccircle%20cx%3D%22796%22%20cy%3D%22341%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.34%22/%3E%3Ccircle%20cx%3D%22421%22%20cy%3D%22337%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.64%22/%3E%3Ccircle%20cx%3D%22171%22%20cy%3D%22247%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.27%22/%3E%3Ccircle%20cx%3D%22708%22%20cy%3D%2238%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.44%22/%3E%3Ccircle%20cx%3D%22878%22%20cy%3D%22271%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.48%22/%3E%3Ccircle%20cx%3D%22144%22%20cy%3D%22368%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.55%22/%3E%3Ccircle%20cx%3D%22135%22%20cy%3D%22526%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.65%22/%3E%3Ccircle%20cx%3D%22358%22%20cy%3D%22666%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.38%22/%3E%3Ccircle%20cx%3D%22197%22%20cy%3D%22249%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.29%22/%3E%3Ccircle%20cx%3D%2231%22%20cy%3D%2229%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.65%22/%3E%3Ccircle%20cx%3D%22385%22%20cy%3D%22673%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.33%22/%3E%3Ccircle%20cx%3D%2221%22%20cy%3D%22647%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.25%22/%3E%3Ccircle%20cx%3D%22586%22%20cy%3D%22534%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.56%22/%3E%3Ccircle%20cx%3D%22194%22%20cy%3D%22122%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.53%22/%3E%3Ccircle%20cx%3D%22666%22%20cy%3D%22243%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.48%22/%3E%3Ccircle%20cx%3D%2266%22%20cy%3D%22663%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.43%22/%3E%3Ccircle%20cx%3D%22733%22%20cy%3D%22223%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.37%22/%3E%3Ccircle%20cx%3D%22685%22%20cy%3D%22412%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.59%22/%3E%3Ccircle%20cx%3D%2251%22%20cy%3D%22341%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.64%22/%3E%3Ccircle%20cx%3D%22842%22%20cy%3D%22287%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.60%22/%3E%3Ccircle%20cx%3D%22231%22%20cy%3D%22497%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.47%22/%3E%3Ccircle%20cx%3D%22138%22%20cy%3D%2239%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.56%22/%3E%3Ccircle%20cx%3D%22467%22%20cy%3D%22153%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.65%22/%3E%3Ccircle%20cx%3D%22318%22%20cy%3D%22315%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.25%22/%3E%3Ccircle%20cx%3D%22470%22%20cy%3D%22168%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.27%22/%3E%3Ccircle%20cx%3D%22248%22%20cy%3D%22443%22%20r%3D%220.9%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.29%22/%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%22634%22%20r%3D%220.7%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.37%22/%3E%3Ccircle%20cx%3D%22147%22%20cy%3D%22320%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.46%22/%3E%3Ccircle%20cx%3D%22513%22%20cy%3D%22384%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.48%22/%3E%3Ccircle%20cx%3D%22589%22%20cy%3D%22516%22%20r%3D%221.5%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.35%22/%3E%3Ccircle%20cx%3D%22740%22%20cy%3D%22163%22%20r%3D%221.1%22%20fill%3D%22%23efd4aa%22%20opacity%3D%220.39%22/%3E%3Cpath%20d%3D%22M102%2084%20Q102%2087%20105%2087%20Q102%2087%20102%2090%20Q102%2087%2099%2087%20Q102%2087%20102%2084Z%22%20fill%3D%22%23ffe8bd%22%20opacity%3D%22.65%22/%3E%3Cpath%20d%3D%22M477%20190.5%20Q477%20193%20479.5%20193%20Q477%20193%20477%20195.5%20Q477%20193%20474.5%20193%20Q477%20193%20477%20190.5Z%22%20fill%3D%22%23ffe8bd%22%20opacity%3D%22.65%22/%3E%3Cpath%20d%3D%22M741%20570.4%20Q741%20574%20744.6%20574%20Q741%20574%20741%20577.6%20Q741%20574%20737.4%20574%20Q741%20574%20741%20570.4Z%22%20fill%3D%22%23ffe8bd%22%20opacity%3D%22.65%22/%3E%3Cpath%20d%3D%22M283%20495.4%20Q283%20498%20285.6%20498%20Q283%20498%20283%20500.6%20Q283%20498%20280.4%20498%20Q283%20498%20283%20495.4Z%22%20fill%3D%22%23ffe8bd%22%20opacity%3D%22.65%22/%3E%3Cpath%20d%3D%22M842%20242.8%20Q842%20245%20844.2%20245%20Q842%20245%20842%20247.2%20Q842%20245%20839.8%20245%20Q842%20245%20842%20242.8Z%22%20fill%3D%22%23ffe8bd%22%20opacity%3D%22.65%22/%3E%3Cpath%20d%3D%22M604%2059.5%20Q604%2062%20606.5%2062%20Q604%2062%20604%2064.5%20Q604%2062%20601.5%2062%20Q604%2062%20604%2059.5Z%22%20fill%3D%22%23ffe8bd%22%20opacity%3D%22.65%22/%3E%3C/svg%3E");background-size:900px 700px;opacity:calc(.85 + var(--finish,0)*.15);mask-image:linear-gradient(transparent,#000 12%,#000 95%,transparent)}
.process-dots:after{display:none}

/* Cool slate journey, warming to the supplied gold palette at arrival. */
.process-scroll .work-process{background:color-mix(in srgb,#1b1a17 calc(var(--finish,0)*100%),#17171b)}
.process-grain{background-image:radial-gradient(ellipse at 95% 20%,color-mix(in srgb,#ad9d7e calc(var(--finish,0)*100%),#37465c) 0%,transparent 78%),radial-gradient(ellipse at 65% 100%,color-mix(in srgb,#554a34 calc(var(--finish,0)*100%),#263347),transparent 75%);opacity:.68}
.process-heading h2{color:color-mix(in srgb,#ad9d7e calc(var(--finish,0)*100%),#b5beca)}
.process-heading>.eyebrow{color:color-mix(in srgb,#ad9d7e calc(var(--finish,0)*100%),#92999f)}
.process-dots{filter:sepia(1) saturate(.65) hue-rotate(calc(165deg - var(--finish,0)*165deg))}
.timeline-base{filter:drop-shadow(0 1px 1px #080b1080);stroke:color-mix(in srgb,#ad9d7e calc(var(--finish,0)*100%),#8795a9)}
.timeline-entry{stroke:#536178}
.timeline-markers ellipse{fill:color-mix(in srgb,#c0ae89 calc(var(--finish,0)*100%),#b7c9e0);stroke:color-mix(in srgb,#ad9d7e calc(var(--finish,0)*100%),#8295b0)}
.timeline-markers .marker-halo{fill:none;stroke:color-mix(in srgb,#ad9d7e calc(var(--finish,0)*100%),#90afd3)}
.timeline-air{stroke:color-mix(in srgb,#e6d2a5 calc(var(--finish,0)*100%),#99b3d4)}
.timeline-traveller{fill:#fff;stroke:#dcecff;filter:drop-shadow(0 0 5px #f0f8ff) drop-shadow(0 0 15px #b3d6ffcc) drop-shadow(0 0 34px #8cb9f077)}
.step-number{color:color-mix(in srgb,#e5e9ef calc(var(--step-lit,0)*100%),#92999f)}
.process-steps h3{color:color-mix(in srgb,#f3f5f8 calc(var(--step-lit,0)*100%),#a3aab4)}
.process-steps p{color:color-mix(in srgb,#dce1e8 calc(var(--step-lit,0)*100%),#a1a9b4)}
.finale-number,.process-finale p{color:#e9d6a7}
.process-finale a{background:#e9d6a7;color:#554a34}

.timeline-base{stroke:url('#process-body')}#process-body stop:nth-child(1){stop-color:color-mix(in srgb,#39342a calc(var(--finish,0)*100%),#273142)}#process-body stop:nth-child(2){stop-color:color-mix(in srgb,#665a40 calc(var(--finish,0)*100%),#53657d)}#process-body stop:nth-child(3){stop-color:color-mix(in srgb,#95856a calc(var(--finish,0)*100%),#7f91a9)}#process-body stop:nth-child(4){stop-color:color-mix(in srgb,#d4c19a calc(var(--finish,0)*100%),#b2c4de)}

/* Monochrome night opens into warm daylight at the star. */
.process-scroll .work-process{background:color-mix(in srgb,#ede7dc calc(var(--finish,0)*100%),#0c0c0d)}
.process-grain{background-image:radial-gradient(ellipse at 95% 20%,color-mix(in srgb,#fff9eb calc(var(--finish,0)*100%),#262628),transparent 78%),radial-gradient(ellipse at 65% 100%,color-mix(in srgb,#d6c6ab calc(var(--finish,0)*100%),#151516),transparent 75%);opacity:.65}
.process-heading h2{color:color-mix(in srgb,#40382e calc(var(--finish,0)*100%),#efefed)}
.process-heading>.eyebrow{color:color-mix(in srgb,#756651 calc(var(--finish,0)*100%),#a1a1a1)}
.process-dots{filter:grayscale(1);mix-blend-mode:normal;opacity:calc(.85 - var(--finish,0)*.25)}
.process-atmosphere:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 83% 25%,#a38b6570 .8px,transparent 1.5px);background-size:79px 97px;opacity:var(--finish,0);pointer-events:none}
.timeline-entry{stroke:#555;opacity:calc(.22 + var(--finish,0)*.18)}
#process-body stop:nth-child(1){stop-color:color-mix(in srgb,#bcb3a5 calc(var(--finish,0)*100%),#333)}
#process-body stop:nth-child(2){stop-color:color-mix(in srgb,#a89b85 calc(var(--finish,0)*100%),#666)}
#process-body stop:nth-child(3){stop-color:color-mix(in srgb,#8d785b calc(var(--finish,0)*100%),#999)}
#process-body stop:nth-child(4){stop-color:color-mix(in srgb,#79603f calc(var(--finish,0)*100%),#ddd)}
.timeline-markers ellipse{fill:color-mix(in srgb,#8b7351 calc(var(--finish,0)*100%),#dedede);stroke:color-mix(in srgb,#b19b7a calc(var(--finish,0)*100%),#aaa)}
.timeline-markers .marker-halo{fill:none;stroke:color-mix(in srgb,#927b58 calc(var(--finish,0)*100%),#ccc)}
.timeline-air{stroke:color-mix(in srgb,#8e7045 calc(var(--finish,0)*100%),#ccc)}
.timeline-traveller{fill:#fff;stroke:#fff;filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 15px #ffffffbb) drop-shadow(0 0 35px #ffffff55)}
.step-number,.process-steps h3{color:color-mix(in srgb,#443b30 calc(var(--finish,0)*100%),color-mix(in srgb,#f5f5f4 calc(var(--step-lit,0)*100%),#aaa))}
.process-steps p{color:color-mix(in srgb,#625646 calc(var(--finish,0)*100%),color-mix(in srgb,#ddd calc(var(--step-lit,0)*100%),#a3a3a3))}
.finale-number,.process-finale p{color:#735735}
.process-finale a{background:#44382a;color:#fff7e9}
.timeline-star{fill:#fffaf0;stroke:#b49665;stroke-width:.5;filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 19px #c49f60aa)}
.timeline-finish-ring{stroke:#a78a5b;filter:drop-shadow(0 0 10px #bfa16f55)}
.finale-sparks i{background:#947348;box-shadow:0 0 6px #bd9b6355}

/* Remain dark throughout; arrival adds only a restrained warm undertone. */
.process-scroll .work-process{background:color-mix(in srgb,#242019 calc(var(--finish,0)*100%),#0c0c0d)}
.process-grain{background-image:radial-gradient(ellipse at 95% 20%,color-mix(in srgb,#725737 calc(var(--finish,0)*100%),#262628),transparent 78%),radial-gradient(ellipse at 65% 100%,color-mix(in srgb,#3b3022 calc(var(--finish,0)*100%),#151516),transparent 75%);opacity:.4}
.process-heading h2{color:color-mix(in srgb,#e6d7bf calc(var(--finish,0)*100%),#efefed)}
.process-heading>.eyebrow{color:color-mix(in srgb,#baa88e calc(var(--finish,0)*100%),#a1a1a1)}
.step-number,.process-steps h3{color:color-mix(in srgb,#f0e5d4 calc(var(--finish,0)*100%),color-mix(in srgb,#f5f5f4 calc(var(--step-lit,0)*100%),#aaa))}
.process-steps p{color:color-mix(in srgb,#d0c5b5 calc(var(--finish,0)*100%),color-mix(in srgb,#ddd calc(var(--step-lit,0)*100%),#a3a3a3))}
.finale-number,.process-finale p{color:#ead7b5}
.process-finale a{background:#e3cfaa;color:#342a1d}
#process-body stop:nth-child(1){stop-color:color-mix(in srgb,#39332a calc(var(--finish,0)*100%),#333)}
#process-body stop:nth-child(2){stop-color:color-mix(in srgb,#75634d calc(var(--finish,0)*100%),#666)}
#process-body stop:nth-child(3){stop-color:color-mix(in srgb,#aa9270 calc(var(--finish,0)*100%),#999)}
#process-body stop:nth-child(4){stop-color:color-mix(in srgb,#e2caa3 calc(var(--finish,0)*100%),#ddd)}
.timeline-markers ellipse{fill:color-mix(in srgb,#dfc7a1 calc(var(--finish,0)*100%),#dedede);stroke:color-mix(in srgb,#b7a184 calc(var(--finish,0)*100%),#aaa)}
.timeline-air{stroke:color-mix(in srgb,#dec49c calc(var(--finish,0)*100%),#ccc)}
.finale-sparks i{background:#f1d9af;box-shadow:0 0 6px #bd9b6355}

/* Reserve the warm accent for the destination. */
.process-heading h2{color:#e5e5e2}.process-heading>.eyebrow{color:#a4a49f}
.step-number,.process-steps h3{color:color-mix(in srgb,#eeeeeb calc(var(--step-lit,0)*100%),#aaa)}
.process-steps p{color:color-mix(in srgb,#cececa calc(var(--step-lit,0)*100%),#a3a3a3)}
.finale-number,.process-finale p{color:#ffe292;text-shadow:0 0 22px #ffcc5c22}
.process-finale a{background:#ffe496;color:#49351a;box-shadow:0 0 24px #e7b64c15}
.timeline-star{fill:#fff0b2;stroke:#ffe39b;stroke-width:.65;filter:drop-shadow(0 0 6px #fff0b2) drop-shadow(0 0 18px #ffd367bb) drop-shadow(0 0 38px #efb64c66)}
.timeline-finish-ring{stroke:#e7c574;filter:drop-shadow(0 0 10px #f3c55a66)}
.finale-sparks i{background:#ffe6a3;box-shadow:0 0 8px #ffd57177}

/* Black remains the foundation; only the destination warms. */
.process-scroll .work-process{background:#080808}
.process-grain{background-image:radial-gradient(ellipse at 100% 28%,#49311f,transparent 78%),linear-gradient(110deg,#080808 15%,#17100b 70%,#342318);opacity:var(--finish,0)}

/* One consistent atmosphere from start to finish. */
.process-scroll .work-process{background:linear-gradient(105deg,#080808 0%,#100d0a 38%,#322217 100%)}
.process-grain{background-image:radial-gradient(ellipse at 100% 28%,#49311f55,transparent 78%);opacity:1}
.process-dots{background-image:radial-gradient(circle,#d1b68d80 .85px,transparent 1.5px);background-size:79px 97px;filter:none;opacity:.85;mask-image:linear-gradient(transparent,#000 12%,#000 95%,transparent)}
.process-atmosphere:after{display:none}

/* The last milestone opens the restrained black-to-brown gradient. */
.process-scroll .work-process{background:#000}
.process-grain{background-image:linear-gradient(105deg,#000 0%,#100e0d 40%,#2b2522 100%);opacity:var(--gradient-reveal,0)}

/* Site charcoal with an ice-blue destination accent. */
.process-scroll .work-process{background:#171717}
.process-grain{background-image:linear-gradient(105deg,#171717 0%,#201d1b 40%,#2b2522 100%)}
.finale-number,.process-finale p{color:#b7dff6;text-shadow:0 0 22px #b7dff622}
.process-finale a{background:#b7dff6;color:#23333e;box-shadow:0 0 24px #b7dff615}
.timeline-star{fill:#b7dff6;stroke:#d9f0ff;filter:drop-shadow(0 0 6px #d9f0ff) drop-shadow(0 0 18px #b7dff6bb) drop-shadow(0 0 38px #8fc9ed66)}
.timeline-finish-ring{stroke:#b7dff6;filter:drop-shadow(0 0 10px #b7dff666)}
.finale-sparks i{background:#b7dff6;box-shadow:0 0 8px #b7dff677}
.timeline-air{stroke:color-mix(in srgb,#b7dff6 calc(var(--finish,0)*100%),#ccc)}
#process-body stop:nth-child(4){stop-color:color-mix(in srgb,#b7dff6 calc(var(--finish,0)*100%),#ddd)}

/* Muted neutrals, with white reserved for the final destination. */
.process-heading h2{color:#d4cec5}.process-heading>.eyebrow{color:#aaa49b}
.step-number,.process-steps h3{color:color-mix(in srgb,#dcd7cf calc(var(--step-lit,0)*100%),#aaa59e)}
.process-steps p{color:color-mix(in srgb,#c4beb5 calc(var(--step-lit,0)*100%),#a49f98)}
.finale-number,.process-finale p{color:#fff;text-shadow:none}
.process-finale a{background:#f4f2ee;color:#35322e;box-shadow:0 0 24px #ffffff0d}
.timeline-star{fill:#fff;stroke:#f4f2ee;filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 18px #eeeae3aa) drop-shadow(0 0 38px #ddd8cf44)}
.timeline-finish-ring{stroke:#d8d3cb;filter:drop-shadow(0 0 10px #ece8e055)}
.finale-sparks i{background:#efede8;box-shadow:0 0 8px #ffffff44}
#process-body stop:nth-child(1){stop-color:#383634}#process-body stop:nth-child(2){stop-color:#706b65}#process-body stop:nth-child(3){stop-color:#aaa39a}#process-body stop:nth-child(4){stop-color:#e3dfd8}
#process-flash stop{stop-color:#eeeae3}
.timeline-air{stroke:#d9d5ce}
.timeline-markers ellipse{fill:#d3cdc3;stroke:#a59e94;filter:drop-shadow(0 0 3px #e8e3db33)}
.timeline-markers .marker-halo{fill:none;stroke:#c7c0b6;filter:drop-shadow(0 0 5px #e5dfd555)}
.process-dots{filter:grayscale(1);opacity:.85}
.process-grain{background-image:linear-gradient(105deg,#171717 0%,#201e1c 40%,#2b2522 100%)}

/* A luminous destination, kept within the neutral palette. */
.timeline-star{fill:#fff;stroke:#fff;stroke-width:1;filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 13px #fffef4ee) drop-shadow(0 0 29px #eee9dfbb) drop-shadow(0 0 58px #e9e2d477)}
.timeline-finish-ring{stroke:#f0ece4;stroke-width:1.2;filter:drop-shadow(0 0 12px #fff8e688)}
.process-finale:before{content:'';position:absolute;inset:-95px -35px -40px -45px;background:radial-gradient(ellipse at 75% 25%,#e9e3d626,transparent 68%);opacity:var(--finish,0);z-index:-1;pointer-events:none}
.finale-number{font-size:44px;text-shadow:0 0 22px #fff8e43b}
.process-finale p{color:#fff;font-size:22px;text-shadow:0 0 18px #fff8e322}
.process-finale a{box-shadow:0 0 25px #f4efe522}
.finale-sparks i{box-shadow:0 0 10px #fff9e6aa;background:#fff}
@media(max-width:700px){.finale-number{font-size:34px}.process-finale p{font-size:19px}}

/* Ambient light lives outside the message reveal, avoiding clipped edges. */
.process-finale:before{display:none}
.process-scroll .work-process:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 290px 310px at var(--star-x,90%) calc(var(--star-y,100px) + 75px),#ece6da19 0%,#ece6da0c 38%,#ece6da00 78%);opacity:var(--finish,0)}
.timeline-finish-ring{stroke-opacity:.35;filter:drop-shadow(0 0 12px #fff8e644)}
