:root{color-scheme:dark;--ink:#151817;--ivory:#f1f0e9;--muted:#a0a49b;--gold:#f39142;--green:#f39142}
.ui-arrow{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.scroll-note span,.outline-link span,.primary-link span,.secondary-link span,.site-footer a span{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:0;flex:0 0 auto}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ivory);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:var(--green);color:#151817}.skip{position:fixed;top:-100px;left:20px;padding:14px;background:var(--ivory);color:var(--ink);z-index:30}.skip:focus{top:10px}
.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:absolute;inset:0 0 auto;z-index:5;pointer-events:none}.site-header a{pointer-events:auto}.brand{line-height:0}.brand img{width:108px;height:auto;display:block}.header-label,.eyebrow,.micro,.chapter-index,.model-caption,.scroll-note,.site-footer{font-size:10px;letter-spacing:2px}.header-label{color:#a9a59c}.site-footer a:hover{color:var(--gold)}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:-3.6px;line-height:.94}h1 em,h2 em{font-weight:400;color:#f39142}
.journey{position:relative;display:grid;grid-template-columns:47% 53%;min-height:300svh;background:radial-gradient(ellipse at 72% 18%,#454a4855,transparent 36%),#151817}.journey-copy{position:relative;z-index:2}.chapter{height:100svh;min-height:720px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:115px 5% 85px 13.5%;position:relative}.chapter:after{content:"";position:absolute;left:13.5%;bottom:38px;width:24px;height:1px;background:var(--gold)}.eyebrow{display:flex;gap:12px;align-items:center;color:#c2c5be;margin:0 0 25px}.eyebrow span{width:23px;height:1px;background:var(--gold)}.chapter h1,.chapter h2{font-size:clamp(64px,7.2vw,120px);margin:0 0 28px}.chapter-text{font-size:15px;line-height:1.85;color:#b8bdb8;max-width:470px}.scroll-note{margin-top:40px;padding-bottom:12px;border-bottom:1px solid #f3914258;color:#f39142;transition:color .2s}.scroll-note:hover{color:#fff}.scroll-note span{display:inline-block;font-size:18px;margin-left:16px;animation:down 2s ease-in-out infinite}.chapter-index{display:flex;align-items:center;gap:12px;margin-top:38px;color:#b6bab4}.chapter-index i{width:20px;height:1px;background:#f3914280}.outline-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;border:1px solid #f3914285;background:linear-gradient(120deg,#f3914220,#151817dd 70%);padding:16px 20px;margin-top:28px;font-size:12px;transition:transform .25s,border-color .25s}.outline-link:hover{transform:translateY(-2px);border-color:#ffb373}.outline-link span{font-size:20px;color:var(--gold)}
.journey-visual{position:sticky;top:0;height:100svh;min-height:720px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 48%,#454a4838,transparent 48%),linear-gradient(90deg,#151817,transparent 24%)}.journey-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1518178c,transparent 24%),linear-gradient(0deg,#1518178c,transparent 17%,transparent 84%,#15181730);pointer-events:none}.model-caption{position:absolute;left:7%;right:7%;bottom:36px;display:flex;justify-content:space-between;color:#b6bab4;z-index:2}.model-progress{color:#ffb373}
.work{padding:135px 7% 145px;background:linear-gradient(#1b201e,#151817);border-top:1px solid #f3914225}.section-head{display:grid;grid-template-columns:27% 1fr;gap:0 4%;align-items:start;margin-bottom:70px}.micro{color:var(--gold)}.section-head .micro{grid-row:span 2;padding-top:10px}.section-head h2{font-size:clamp(68px,7vw,120px);margin-bottom:30px}.section-head p{font-size:15px;line-height:1.9;color:#b8bdb8;max-width:700px}
.closing{min-height:760px;padding:130px 8%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 78% 60%,#454a4836,transparent 43%),#151817;border-top:1px solid #f3914225}.closing h2{font-size:clamp(100px,13vw,240px);margin:45px 0 25px}.closing>p:not(.micro){font-size:16px;line-height:1.85;color:#b8bdb8;max-width:600px}.closing-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:35px}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:60px;background:#e8e5d9;color:#151817;padding:21px 23px;font-size:13px;transition:transform .2s,background .2s}.primary-link:hover{transform:translateY(-2px);background:#fff}.primary-link span{font-size:23px}.secondary-link{font-size:12px;border-bottom:1px solid #f3914270;padding:12px 0}.secondary-link span{margin-left:18px;color:var(--gold)}.site-footer{border-top:1px solid #f3914235;padding:35px 5%;display:flex;justify-content:space-between;gap:20px;color:#99968b}.site-footer a{color:var(--ivory)}.site-footer a span{color:var(--gold)}
@keyframes down{50%{transform:translateY(8px)}}
@media(max-width:1100px){.journey{grid-template-columns:50% 50%}.chapter{padding-left:10%}.chapter:after{left:10%}.chapter h1,.chapter h2{font-size:clamp(58px,7vw,100px)}}
@media(max-width:700px){.site-header{height:75px;padding:0 6%}.brand img{width:88px}.header-label{display:none}.journey{display:block;height:max(300svh,1860px);min-height:0}.journey-visual{position:sticky;top:0;height:100svh;min-height:0;margin:0;background:radial-gradient(ellipse at 55% 68%,#454a4848,transparent 45%),#151817}.journey-visual:after{background:linear-gradient(180deg,#151817c9 0%,#15181730 43%,#15181750 100%)}.journey-copy{position:absolute;inset:0;z-index:3;pointer-events:none}.journey-copy a{pointer-events:auto}.chapter{height:100svh;min-height:620px;padding:110px 7% 55px;justify-content:flex-start}.chapter:after{left:7%;bottom:24px}.chapter h1,.chapter h2{font-size:clamp(58px,13vw,86px);letter-spacing:-2.5px;margin-bottom:16px}.eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:20px}.chapter-text{font-size:13px;line-height:1.65;max-width:350px;text-shadow:0 3px 12px #000}.scroll-note{font-size:8px;letter-spacing:1.2px;margin-top:10px}.chapter-index{font-size:7px;letter-spacing:.7px;margin-top:13px;gap:7px}.chapter-index i{width:10px}.chapter-end .outline-link{margin-top:8px}.model-caption{left:7%;right:7%;bottom:26px;font-size:7px;letter-spacing:1px}.work{padding:90px 6%}.section-head{display:block;margin-bottom:48px}.section-head h2{font-size:clamp(62px,12vw,85px);margin:27px 0}.section-head p{font-size:13px}.closing{min-height:650px;padding:100px 7%}.closing h2{font-size:clamp(94px,18vw,140px);letter-spacing:-3px;margin:35px 0 20px}.closing>p:not(.micro){font-size:13px}.closing-actions{align-items:flex-start;flex-direction:column;gap:16px}.site-footer{padding:28px 6%;font-size:8px;letter-spacing:1px}.site-footer>span{display:none}}
@media(max-width:700px) and (max-height:680px){.chapter{min-height:0;padding-top:88px}.chapter h1,.chapter h2{font-size:clamp(51px,11vw,68px)}.chapter-text{font-size:12px}.scroll-note{margin-top:0}.model-caption{bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media(min-width:701px) and (max-height:700px){.chapter,.journey-visual{min-height:0}.chapter{padding-top:95px;padding-bottom:45px}.chapter h1,.chapter h2{font-size:clamp(54px,8vh,92px);margin-bottom:16px}.chapter-text{font-size:13px;line-height:1.6}.scroll-note{margin-top:15px}.model-caption{bottom:18px}}
@media(max-width:700px){.journey{height:300svh}.chapter{min-height:0}}
@media(max-width:700px) and (max-height:540px){.chapter{padding-top:78px;padding-bottom:20px}.chapter h1,.chapter h2{font-size:clamp(44px,11vh,58px)}.eyebrow{margin-bottom:10px}.chapter-text{font-size:11px;line-height:1.45}.scroll-note{margin-top:3px}.chapter-index{margin-top:8px}.model-caption{bottom:8px}}

/* Editorial alignment and restrained interactions for the case study. */
.section-head{display:block;max-width:780px;margin:0 0 64px;text-align:left}
.section-head .micro{display:block;padding:0;margin-bottom:28px}
.section-head h2{font-size:clamp(54px,5.7vw,86px);line-height:1.02;letter-spacing:-2.4px;margin:0 0 22px}
.section-head p{max-width:640px;margin:0}
.closing{position:relative;isolation:isolate;overflow:hidden;min-height:650px}
.closing:before{content:"";position:absolute;z-index:0;width:min(58vw,800px);aspect-ratio:1;right:-8%;top:4%;border:1px solid #f3914228;border-radius:50%;box-shadow:0 0 0 54px #f3914209,0 0 0 130px #f3914206;transform:scale(.97);animation:closing-glow 9s ease-in-out infinite alternate;pointer-events:none}
.closing>*{position:relative;z-index:1}
.closing h2{font-size:clamp(74px,8.2vw,132px);line-height:.96;letter-spacing:-2.8px;margin:34px 0 25px}
.closing h2 em{transition:color .5s}
.closing:hover h2 em{color:#ffb373}
.closing .micro:after{content:"";display:block;width:24px;height:1px;background:var(--gold);margin-top:19px;transition:width .6s}
.closing:hover .micro:after{width:100px}
@keyframes closing-glow{to{transform:scale(1.08);opacity:.48}}
@keyframes row-breathe{50%{border-color:#f3914270;background:#252b28}}
@media(max-width:700px){.section-head{margin-bottom:42px}.section-head .micro{margin-bottom:19px}.section-head h2{font-size:clamp(48px,11vw,65px);letter-spacing:-1.8px;margin-bottom:18px}.closing{min-height:580px}.closing h2{font-size:clamp(70px,15vw,94px);margin:26px 0 20px}.closing:before{width:85vw;right:-35%;top:18%}}

/* Keep the brand anchored to the same grid as the main page. */
.site-header{position:fixed;height:auto;padding:28px 4.4%;background:linear-gradient(#15181780,transparent)}
@media(max-width:700px){.site-header{height:auto;padding:28px 4.4%}.brand img{width:108px}}
@media(max-width:600px){.site-header{padding:22px 6%}.brand img{width:88px}}
@media(max-width:380px){.brand img{width:80px}}
.brand{align-self:flex-start}
@media(max-width:600px) and (max-height:680px){.site-header{padding-top:14px}}
@media(min-width:601px) and (max-height:650px){.site-header{padding-top:14px;padding-bottom:14px}}
