@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400&display=swap";:root{--abyss: #02090d;--deep: #082734;--haze: #6f8790;--light: #d8eef0;--surface: #f2eee6;--ink: #172126;--signal: #d6a84a}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:EB Garamond,serif;background-color:var(--abyss);color:var(--light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#realm{position:fixed;inset:0;width:100%;height:100%;background-color:var(--abyss);touch-action:none}#realm canvas{display:block;width:100%;height:100%}.site-header{position:fixed;bottom:4rem;left:3rem;z-index:50;pointer-events:none}.site-name{font-family:EB Garamond,serif;font-size:2.5rem;font-weight:400;letter-spacing:.02em;color:var(--light);margin:0}.site-tagline{font-family:EB Garamond,serif;font-size:1.5rem;font-weight:400;color:var(--haze);margin:.25rem 0 0}.site-links{margin-top:1rem;pointer-events:auto}.site-links a{font-family:EB Garamond,serif;font-size:.9rem;color:var(--haze);text-decoration:none;transition:color .2s ease}.site-links a:hover{color:var(--light)}.link-separator{color:var(--haze);margin:0 .5rem;opacity:.5}.site-instruction{position:fixed;top:2rem;left:50%;transform:translate(-50%);font-family:EB Garamond,serif;font-size:.875rem;letter-spacing:.05em;color:var(--haze);margin:0;z-index:50;pointer-events:none}.realm-label{position:fixed!important;transform:translate(-50%,-50%);font-family:EB Garamond,serif;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--light);background:transparent;border:none;padding:.5em .75em;cursor:grab;user-select:none;pointer-events:auto;transition:opacity .2s ease;z-index:100;margin:0}.realm-label:hover{filter:brightness(1.3)}.realm-label:focus{outline:1px solid var(--signal);outline-offset:4px}.realm-label:active{cursor:grabbing}.destination-hit-target{display:none}.destination-info{position:fixed;transform:translate(-50%,-50%);max-width:280px;padding:1rem 1.25rem;background:#02090dd9;border:1px solid var(--deep);border-radius:4px;z-index:150;pointer-events:none;opacity:0;transition:opacity .3s ease;text-align:center}.destination-info.visible{opacity:1}.destination-title{font-family:EB Garamond,serif;font-size:1.25rem;font-weight:400;color:var(--light);margin:0 0 .5rem;letter-spacing:.02em}.destination-summary{font-family:EB Garamond,serif;font-size:.9rem;font-weight:400;color:var(--haze);margin:0;line-height:1.4}.destination-touch-hint{display:none}.travel-overlay{position:fixed;inset:0;background:var(--light);opacity:0;pointer-events:none;z-index:200;transition:opacity .8s ease-in}.travel-overlay.active{opacity:1;pointer-events:all}.entry-overlay{position:fixed;inset:0;background:var(--light);opacity:1;pointer-events:none;z-index:200;transition:opacity 1s ease-out}.entry-overlay.faded{opacity:0}.return-overlay{position:fixed;inset:0;background:var(--abyss);opacity:0;pointer-events:none;z-index:200;transition:opacity .8s ease-in}.return-overlay.active{opacity:1}body.surface{--surface-muted: #50676f;--surface-line: rgba(23, 33, 38, .14);--case-accent: var(--signal);background-color:var(--surface);background-image:radial-gradient(circle at 78% -8rem,color-mix(in srgb,var(--case-accent) 14%,transparent),transparent 34rem),linear-gradient(180deg,rgba(216,238,240,.26),transparent 32rem);background-repeat:no-repeat;color:var(--ink);overflow:auto;min-height:100vh}.work-header{position:sticky;top:0;padding:0 2rem;background:#f2eee6e0;border-bottom:1px solid var(--surface-line);backdrop-filter:blur(16px);z-index:100}.work-header-inner{width:min(100%,1200px);min-height:64px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.back-link{font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--deep);text-decoration:none;transition:color .2s ease}.back-link:hover{color:var(--signal)}.header-context{overflow:hidden;color:var(--surface-muted);font-family:DM Sans,sans-serif;font-size:.72rem;letter-spacing:.11em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.case-page{padding-bottom:clamp(5rem,9vw,9rem)}.case-hero{width:min(calc(100% - 4rem),1200px);margin:0 auto;padding:clamp(4.5rem,9vw,8.5rem) 0 clamp(4rem,7vw,7rem)}.case-kicker,.cv-section-label{margin:0 0 1.25rem;color:var(--surface-muted);font-family:DM Sans,sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.case-kicker span{margin:0 .5rem;color:var(--case-accent)}.case-hero-copy{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(2rem,6vw,6rem);align-items:end}.work-title{max-width:850px;font-size:clamp(4rem,7.2vw,7rem);font-weight:400;color:var(--ink);margin:0;line-height:.92;letter-spacing:-.045em}.work-summary{max-width:460px;color:var(--surface-muted);font-size:clamp(1.3rem,2vw,1.65rem);margin:0 0 .2rem;line-height:1.35}.work-concepts{display:flex;flex-wrap:wrap;gap:.45rem 1.25rem;margin:2rem 0 0}.concept-tag{position:relative;font-family:DM Sans,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.3rem 0 .3rem .75rem}.concept-tag:before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:var(--case-accent);transform:translateY(-50%)}.concept-tag.primary{color:var(--deep)}.concept-tag.supporting{color:var(--surface-muted)}.concept-tag.supporting:before{background:transparent;border:1px solid var(--surface-muted)}.case-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(2.5rem,5vw,4.5rem) 0 0;border-block:1px solid var(--surface-line)}.case-facts>div{min-height:112px;padding:1.35rem 1.5rem 1.4rem 0;border-right:1px solid var(--surface-line)}.case-facts>div:not(:first-child){padding-left:1.5rem}.case-facts>div:last-child{border-right:0}.case-facts dt{margin-bottom:.55rem;color:var(--surface-muted);font-family:DM Sans,sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.case-facts dd{max-width:220px;color:var(--ink);font-size:1.12rem;line-height:1.25}.case-hero-media{position:relative;margin:clamp(3rem,7vw,6rem) 0 0}.case-hero-media:before{content:"";position:absolute;inset:8% -1.25rem -1.25rem 8%;z-index:-1;background:color-mix(in srgb,var(--case-accent) 16%,transparent)}.case-hero-media img{display:block;width:100%;height:auto;border:1px solid rgba(23,33,38,.08);box-shadow:0 36px 90px #1721262b}.case-process{width:min(calc(100% - 4rem),1100px);margin:0 auto clamp(5rem,9vw,9rem);padding:clamp(2rem,5vw,4.5rem);color:var(--light);background:radial-gradient(circle at 92% 0,color-mix(in srgb,var(--case-accent) 48%,transparent),transparent 36%),var(--deep);box-shadow:0 32px 80px #0827342e}.case-process figcaption{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1.2fr);gap:2rem;align-items:start;margin-bottom:clamp(2.5rem,5vw,4rem)}.case-process figcaption span,.process-number{color:color-mix(in srgb,var(--case-accent) 72%,white);font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.case-process h2{max-width:720px;margin:0;color:var(--light);font-size:clamp(2rem,4vw,3.4rem);font-weight:400;line-height:1.05;letter-spacing:-.025em}.case-process ol{display:grid;grid-template-columns:repeat(var(--process-count),minmax(0,1fr));margin:0;padding:0;list-style:none}.case-process li{position:relative;min-height:180px;padding:0 1.35rem 0 0;border-top:1px solid rgba(216,238,240,.3)}.case-process li:not(:first-child){padding-left:1.35rem;border-left:1px solid rgba(216,238,240,.14)}.case-process .process-number{display:block;margin:1.1rem 0 2.5rem}.case-process strong{display:block;margin-bottom:.65rem;color:var(--light);font-size:1.18rem;font-weight:500;line-height:1.15}.case-process li p{margin:0;color:#d8eef0b8;font-size:.98rem;line-height:1.48}.work-article{width:min(calc(100% - 4rem),1200px);margin:0 auto}.work-body{max-width:680px;margin:0 auto;font-size:1.2rem;line-height:1.68;color:var(--ink);counter-reset:work-section}.work-body h2{display:flex;align-items:center;gap:.85rem;margin:5rem 0 1.25rem;padding-top:1.1rem;border-top:1px solid var(--surface-line);color:var(--surface-muted);font-family:DM Sans,sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;counter-increment:work-section}.work-body h2:before{content:"0" counter(work-section);color:var(--case-accent)}.work-body h3{max-width:640px;font-size:clamp(1.75rem,3.2vw,2.35rem);font-weight:400;margin:0 0 1.35rem;color:var(--ink);line-height:1.12;letter-spacing:-.018em}.work-body p{margin:0 0 1.35rem}.work-body ul,.work-body ol{margin:1.75rem 0 2.25rem;padding:0;list-style:none}.work-body ol{counter-reset:body-step}.work-body li{position:relative;margin:0;padding:.8rem 0 .8rem 1.4rem;border-top:1px solid rgba(23,33,38,.1)}.work-body li:before{content:"";position:absolute;left:0;top:1.55rem;width:6px;height:6px;border-radius:50%;background:var(--case-accent)}.work-body ol li{padding-left:2.2rem;counter-increment:body-step}.work-body ol li:before{content:counter(body-step,decimal-leading-zero);top:.85rem;width:auto;height:auto;border-radius:0;color:var(--case-accent);background:none;font-family:DM Sans,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.08em}.work-body a{color:var(--deep);text-decoration:underline;text-underline-offset:2px}.work-body a:hover{color:var(--signal)}.work-body blockquote{margin:2.5rem 0;padding:1.5rem 0 1.5rem 1.75rem;border-left:3px solid var(--case-accent);color:var(--surface-muted);font-size:1.35rem;font-style:italic;line-height:1.45}.work-body img{display:block;width:100%;height:auto;border:1px solid rgba(23,33,38,.08);box-shadow:0 24px 64px #17212626}.work-body>p:has(>img:only-child){position:relative;left:50%;width:min(1000px,calc(100vw - 4rem));margin:clamp(3rem,7vw,6rem) 0 1rem;transform:translate(-50%)}.work-body>p:has(>img:only-child)+p:has(>em:only-child){width:min(900px,calc(100vw - 4rem));margin:0 0 4rem 50%;color:var(--surface-muted);font-family:DM Sans,sans-serif;font-size:.78rem;line-height:1.5;transform:translate(-50%)}.work-body em{color:var(--surface-muted)}.quote-grid{position:relative;left:50%;width:min(1000px,calc(100vw - 4rem));margin:3.5rem 0 4.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--surface-line);border-block:1px solid var(--surface-line);transform:translate(-50%)}.quote-grid blockquote{margin:0;padding:2rem;border:0;background:var(--surface);font-size:1.35rem}.quote-grid blockquote p{margin:0}.cv-page{width:min(calc(100% - 4rem),1200px);margin:0 auto;padding-bottom:clamp(5rem,9vw,9rem)}.cv-hero{padding:clamp(4.5rem,9vw,8rem) 0 clamp(3.5rem,6vw,6rem);border-bottom:1px solid var(--surface-line)}.cv-hero h1{margin:0;font-size:clamp(5rem,10vw,9rem);font-weight:400;line-height:.86;letter-spacing:-.055em}.cv-hero>p:not(.case-kicker){max-width:750px;margin:2rem 0 0;color:var(--surface-muted);font-size:clamp(1.45rem,2.8vw,2.1rem);line-height:1.25}.cv-contact{display:flex;gap:.75rem;margin-top:2rem}.cv-contact a{padding:.65rem 1rem;border:1px solid var(--surface-line);color:var(--deep);font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.cv-contact a:hover{border-color:var(--case-accent);color:var(--ink)}.cv-document{padding-top:clamp(4rem,7vw,7rem)}.cv-body{max-width:none;counter-reset:none}.cv-intro{display:grid;grid-template-columns:180px minmax(0,760px);gap:clamp(2rem,7vw,7rem);align-items:start}.cv-intro-copy>p:first-child{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.2;letter-spacing:-.02em}.cv-intro-copy>p:not(:first-child){max-width:680px}.cv-section{margin-top:clamp(5rem,9vw,9rem)}.cv-section>h2{display:block;margin:0 0 2rem;padding:0 0 1rem;border-top:0;border-bottom:1px solid var(--surface-line);color:var(--surface-muted);font-family:DM Sans,sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;counter-increment:none}.cv-section>h2:before{content:none}.cv-impact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem;counter-reset:cv-impact}.cv-impact-list article{position:relative;min-height:245px;padding:2.2rem 0 2.5rem;border-top:2px solid var(--ink);counter-increment:cv-impact}.cv-impact-list article:before{content:"0" counter(cv-impact);display:block;margin-bottom:2.2rem;color:var(--case-accent);font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.12em}.cv-impact-list h3,.cv-job h3{margin:0 0 .55rem;font-size:1.55rem;line-height:1.1}.cv-impact-list p{font-size:1.05rem;line-height:1.55}.cv-job{padding:2.25rem 0 2.6rem;border-top:1px solid var(--surface-line)}.cv-job-head{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:flex-start;gap:2rem}.cv-job-head p{color:var(--surface-muted);font-family:DM Sans,sans-serif;font-size:.8rem;letter-spacing:.04em}.cv-job-head span{padding-top:.15rem;color:var(--surface-muted);font-family:DM Sans,sans-serif;font-size:.75rem;letter-spacing:.03em;text-align:right}.cv-job ul{max-width:820px;margin-top:1.75rem}.surface-close{color:var(--light);background:radial-gradient(circle at 85% -20%,color-mix(in srgb,var(--case-accent) 45%,transparent),transparent 40%),var(--deep)}.surface-close>div{width:min(calc(100% - 4rem),1200px);min-height:300px;margin:0 auto;padding:4rem 0;display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.surface-close p{max-width:540px;margin:0;font-size:clamp(1.8rem,4vw,3.3rem);line-height:1.05}.surface-close .close-link{flex:0 0 auto;padding-bottom:.35rem;color:var(--light);border-bottom:1px solid rgba(216,238,240,.4)}.surface-close .close-link:hover{color:color-mix(in srgb,var(--case-accent) 62%,white)}.surface-close .close-link span{margin-left:.65rem}@media(prefers-reduced-motion:reduce){.realm-label{transition:none}}html.realm-mobile #realm{width:100vw;height:100dvh}html.realm-mobile .site-header{bottom:1.25rem;left:1.25rem}html.realm-mobile .site-name{font-size:1.75rem}html.realm-mobile .site-tagline{font-size:1.05rem}html.realm-mobile .site-links{margin-top:.65rem}html.realm-mobile .site-links a{font-size:.85rem}html.realm-mobile .site-instruction{top:1rem;width:calc(100% - 2rem);text-align:center}html.realm-mobile .realm-label{min-height:0;padding:.25rem .35rem;font-size:.75rem;line-height:1.1;letter-spacing:.07em;touch-action:none}html.realm-mobile .realm-label:hover{filter:none}html.realm-mobile .realm-label:focus:not(:focus-visible){outline:none}html.realm-mobile .destination-hit-target{position:fixed;display:block;width:72px;height:72px;transform:translate(-50%,-50%);appearance:none;background:transparent;border:0;border-radius:50%;padding:0;z-index:140;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}html.realm-mobile .destination-hit-target:before{content:"";position:absolute;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%);border:1px solid rgba(239,248,245,.9);border-radius:50%;background:radial-gradient(circle,#fffae0fa 0 10%,#8ee0dab8 22%,#409fab42 48%,#409fab00 72%);box-shadow:0 0 7px #eff8f5cc,0 0 18px #5acacb94,0 0 34px #31889d59;opacity:var(--portal-intensity, .75);pointer-events:none}html.realm-mobile .destination-hit-target[data-rank="1"]:before,html.realm-mobile .destination-hit-target[data-rank="2"]:before{width:21px;height:21px}html.realm-mobile .destination-hit-target:active:before,html.realm-mobile .destination-hit-target[aria-expanded=true]:before{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 0 9px #fffce8f2,0 0 22px #5acacbb8,0 0 40px #31889d6b}html.realm-mobile .destination-hit-target[hidden]{display:none}html.realm-mobile .destination-hit-target:focus:not(:focus-visible){outline:none}html.realm-mobile .destination-hit-target:focus-visible{outline:1px solid var(--signal);outline-offset:2px}html.realm-mobile .destination-info{width:max-content;max-width:calc(100vw - 2rem);padding:.8rem 1rem}html.realm-mobile .destination-touch-hint{display:block;margin-top:.65rem;color:var(--signal);font-size:.78rem;letter-spacing:.04em}@media(max-width:900px){.case-hero-copy{grid-template-columns:1fr;gap:1.5rem}.work-summary{max-width:680px}.case-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.case-facts>div:nth-child(2){border-right:0}.case-facts>div:nth-child(n+3){border-top:1px solid var(--surface-line)}.case-facts>div:nth-child(3){padding-left:0}.case-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}.case-process li:nth-child(odd){padding-left:0;border-left:0}.case-process li:nth-child(n+3){margin-top:2rem}.quote-grid{grid-template-columns:1fr}.cv-intro{grid-template-columns:1fr;gap:1.25rem}}@media(max-width:767px){.work-header{padding:0 1rem}.work-header-inner{min-height:56px}.header-context{display:none}.case-hero,.work-article,.cv-page,.surface-close>div{width:calc(100% - 2rem)}.case-hero{padding:3.5rem 0 4.5rem}.work-title{font-size:clamp(3.3rem,16vw,5rem);line-height:.94}.work-summary{font-size:1.3rem}.work-concepts{gap:.35rem .9rem}.case-facts>div{min-height:105px;padding:1.15rem .85rem 1.2rem 0}.case-facts>div:not(:first-child){padding-left:.85rem}.case-facts>div:nth-child(3){padding-left:0}.case-facts dd{font-size:1rem}.case-hero-media{margin-top:3.5rem}.case-hero-media:before{inset:8% -.5rem -.5rem 8%}.case-process{width:calc(100% - 2rem);margin-bottom:5rem;padding:2rem 1.25rem}.case-process figcaption{grid-template-columns:1fr;gap:.8rem}.case-process ol{grid-template-columns:1fr}.case-process li,.case-process li:not(:first-child),.case-process li:nth-child(odd){min-height:0;margin-top:1.75rem;padding:0;border-left:0}.case-process .process-number{margin-bottom:1.25rem}.work-body{font-size:1.1rem}.work-body h2{margin-top:4rem}.work-body>p:has(>img:only-child),.work-body>p:has(>img:only-child)+p:has(>em:only-child),.quote-grid{width:calc(100vw - 2rem)}.quote-grid blockquote{padding:1.5rem;font-size:1.2rem}.cv-hero{padding:4rem 0}.cv-hero h1{font-size:clamp(4rem,23vw,6rem)}.cv-impact-list{grid-template-columns:1fr;gap:0}.cv-impact-list article{min-height:0}.cv-section{margin-top:5rem}.cv-job-head{grid-template-columns:1fr;gap:.6rem}.cv-job-head span{margin-bottom:.75rem;text-align:left}.surface-close>div{min-height:260px;padding:3rem 0;flex-direction:column;align-items:flex-start;justify-content:flex-end}}
