@font-face{font-family:Geist;src:url('assets/geist.woff2') format('woff2');font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;background:#cbd6df;color:#202833;font-family:Geist,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:disabled{opacity:.3;cursor:default}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:6px}[hidden]{display:none!important}:root{--gutter:4.8vw;--header:86px;--ink:#101720;--veil:233,237,239}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:14px 20px;background:#fff;color:#111}.skip:focus{top:12px}
.space{position:fixed;inset:0;overflow:hidden;background:#cbd6df;z-index:0}.scene-slot{position:absolute;inset:0;opacity:0;transition:opacity 1.2s cubic-bezier(.4,0,.2,1);pointer-events:none}.scene-slot.is-visible{opacity:1}.scene-slot img,.scene-slot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scene-slot video{opacity:0}.scene-slot.is-ready video{opacity:1}
/* Original films are kept intact: no grading, colour overlay or image filter. */
.header{position:fixed;inset:0 0 auto;z-index:12;height:var(--header);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;pointer-events:none}.header a,.header nav{pointer-events:auto}.wordmark{font-size:28px;line-height:1;letter-spacing:-1.8px;white-space:nowrap}.dot{color:#ff493d}.underscore{color:#59ee79;animation:cursor 1.6s steps(1,end) infinite}.signature{font-size:13px}.header nav{display:flex;gap:30px;font-size:14px}.header nav a{padding:12px 0}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}.header nav span{margin-left:5px}
main,footer{position:relative;z-index:2}.chapter{min-height:138svh;position:relative}.chapter:first-child{min-height:130svh}.composition{position:sticky;top:0;height:100svh;min-height:650px;pointer-events:none;opacity:var(--copy-opacity,1)}.composition a,.composition button{pointer-events:auto}.title{position:absolute;left:var(--gutter);top:calc(var(--header) + 6.5svh);width:35vw;max-width:530px}.eyebrow{font-size:12px;letter-spacing:.09em;text-transform:uppercase;line-height:1.6;margin:0 0 25px}h1,h2{font-size:clamp(42px,4.15vw,76px);font-weight:400;line-height:1.03;letter-spacing:-.058em;margin:0}p{line-height:1.6}.spatial-links{position:absolute;top:calc(var(--header) + 6.5svh);right:var(--gutter);display:flex;gap:30px;font-size:14px}.spatial-links a{padding:0 0 10px;border-bottom:1px solid currentColor}.spatial-links span{font-size:11px;margin-left:20px;opacity:.7}.copy{position:absolute;left:var(--gutter);bottom:11svh;max-width:355px;width:28vw;font-size:15px;line-height:1.6}.copy p{margin:0 0 24px}.line-link{display:flex;gap:25px;justify-content:space-between;align-items:center;font-size:14px;line-height:1.4;padding:12px 0;border-bottom:1px solid currentColor;min-width:200px;width:fit-content}.line-link:hover{border-bottom-width:2px;padding-bottom:11px}.aside{position:absolute;right:var(--gutter);bottom:11svh;text-align:right;font-size:13px;margin:0}.creation .copy{left:auto;right:var(--gutter)}.creation .aside{right:auto;left:var(--gutter);text-align:left}
/* Fixed type colour per chapter; no automatic sampling, shadow or overlay. */
.adaptive{--ink:#101720;--veil:233,237,239;--veil-opacity:0;color:var(--ink);isolation:isolate;transition:color .7s ease}.adaptive[data-ink=light]{--ink:#fff8ef;--veil:19,23,28}.adaptive::before{content:none}.adaptive .dot{color:#ff493d}.adaptive[data-ink=light] .dot{color:#ff493d}.adaptive[data-ink=light] .underscore{color:#59ee79}.header .adaptive,.transport .adaptive,.footer-meta .adaptive{position:relative}.contact{min-height:115svh}.contact .title{width:40vw}.email{margin-top:28px;font-size:18px}.contact-work{position:absolute;right:var(--gutter);top:calc(var(--header) + 6.5svh);font-size:14px;border-bottom:1px solid currentColor;padding-bottom:12px}.contact-work span{margin-left:45px}.footer-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:8svh}.footer-mark{position:relative;display:block;width:fit-content;font-size:clamp(48px,9.2vw,178px);line-height:1;letter-spacing:-.07em;white-space:nowrap}.footer-meta{display:flex;justify-content:space-between;gap:25px;margin-top:26px;font-size:13px}.footer-meta a:hover{text-decoration:underline;text-underline-offset:5px}.transport{position:fixed;left:0;right:0;bottom:0;z-index:11;height:64px;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:center;pointer-events:none;transition:opacity .4s}.transport a,.transport button{pointer-events:auto;font-size:12px}.transport a{display:flex;gap:25px;align-items:center}.transport button{padding:14px 0;min-width:60px;text-align:right}body.at-contact .transport{opacity:0;pointer-events:none}body.at-contact .transport a,body.at-contact .transport button{pointer-events:none}
dialog{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#e8e7e3;color:#22282e}dialog::backdrop{background:#e8e7e3}dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}.reader-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:14px max(24px,4vw);min-height:80px;background:#e8e7e3;border-bottom:1px solid #22282e22}.reader-toolbar p{font-size:14px;margin:0}.reader-toolbar button{min-width:44px;min-height:44px;font-size:14px}.reader-toolbar>button{justify-self:start;display:flex;align-items:center;gap:24px}.reader-toolbar>button span{font-size:26px}.reader-toolbar nav{justify-self:end;display:flex;align-items:center;gap:14px}.reader-toolbar output{font-size:12px;min-width:60px;text-align:center;font-variant-numeric:tabular-nums}.reader-toolbar nav button{font-size:22px}#portfolio-pages{overflow-y:auto;overscroll-behavior:contain;padding:24px 3vw 8svh;scrollbar-gutter:stable;scroll-behavior:smooth}.portfolio-image{margin:0 auto 26px;width:min(100%,1600px);display:flex;align-items:center;justify-content:center;min-height:65svh;background:#deddD9}.portfolio-image img{display:block;width:100%;height:auto;max-height:calc(100svh - 140px);object-fit:contain}.portfolio-end{padding:55px 0;text-align:center}.portfolio-end a{font-size:18px;text-decoration:underline;text-underline-offset:6px}.portfolio-error{padding:60px 24px;text-align:center}.noscript{position:relative;background:#cbd6df;padding:25px;z-index:14}.work-page{background:#e8e7e3}.work-page .reader-toolbar{position:sticky;top:0;z-index:5}.work-page #portfolio-pages{overflow:visible}.work-page .reader-toolbar a{font-size:14px}
@keyframes cursor{0%,54%{opacity:1}55%,100%{opacity:0}}
@media(max-width:1000px){.signature{display:none}.title{width:43vw}.copy{width:36vw}.spatial-links{gap:19px}.spatial-links span{margin-left:12px}h1,h2{font-size:clamp(40px,5vw,60px)}}
@media(max-width:700px){:root{--header:74px;--gutter:6vw}.header{gap:20px}.wordmark{font-size:22px;letter-spacing:-1.4px}.header nav{gap:20px;font-size:13px}.header nav a[href='#create']{display:none}.chapter,.chapter:first-child{min-height:132svh}.composition{min-height:650px}.title,.contact .title{top:calc(var(--header) + 26px);width:86vw;max-width:none}.eyebrow{font-size:11px;margin-bottom:18px}h1,h2{font-size:clamp(42px,10.5vw,64px)}.copy,.creation .copy{left:var(--gutter);right:auto;bottom:92px;width:86vw;max-width:none;font-size:14px}.copy p{margin-bottom:16px}.line-link{font-size:14px;min-width:225px}.spatial-links{left:var(--gutter);right:var(--gutter);top:auto;bottom:255px;justify-content:space-between;gap:16px;font-size:13px}.spatial-links span{font-size:10px;margin-left:14px}.aside{display:none}.transport{height:55px}.transport a{gap:20px;font-size:11px}.transport button{font-size:12px}.scene-slot img,.scene-slot video{object-position:50% 50%}.scene-slot[data-shape=presence] img,.scene-slot[data-shape=presence] video{object-fit:cover}.contact{min-height:115svh}.footer-bottom{bottom:75px}.footer-mark{font-size:9vw;letter-spacing:-.07em}.footer-meta{margin-top:24px;gap:15px;font-size:11px}.contact-work{left:var(--gutter);right:auto;top:auto;bottom:205px}.email{font-size:17px}.reader-toolbar{padding:10px 18px;min-height:68px;gap:10px;grid-template-columns:1fr auto}.reader-toolbar p{display:none}.reader-toolbar nav{gap:4px}.reader-toolbar>button{gap:12px}#portfolio-pages{padding:10px 0 60px}.portfolio-image{min-height:0;margin:0 0 14px}.portfolio-image img{max-height:none}.adaptive::before{inset:-14px -16px;filter:blur(10px)}}
@media(max-height:680px) and (min-width:701px){.composition{min-height:580px}.title,.spatial-links,.contact-work{top:115px}.copy,.aside{bottom:75px}.footer-bottom{bottom:60px}}
@media(prefers-reduced-motion:reduce){html,#portfolio-pages{scroll-behavior:auto}.scene-slot,.adaptive,.adaptive::before{transition:none}.underscore{animation:none}.composition{opacity:1!important}}

.clients{position:absolute;right:var(--gutter);top:calc(var(--header) + 6.5svh);width:25vw;max-width:330px}.clients .eyebrow{margin-bottom:24px}.clients ul{list-style:none;margin:0;padding:0}.clients li{font-size:clamp(18px,1.65vw,28px);line-height:1.3;letter-spacing:-.035em;padding:9px 0;border-bottom:1px solid currentColor}.clients li:last-child{border-bottom:0}@media(max-width:700px){.clients{left:var(--gutter);right:auto;top:31svh;width:86vw;max-width:none}.clients .eyebrow{font-size:10px;margin-bottom:12px}.clients ul{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.clients li{font-size:17px;padding:8px 0}.clients li:nth-last-child(2){border-bottom:0}}

#create.chapter{min-height:115svh}.creation .copy{max-width:370px}.creation .copy p{line-height:1.65}

.work-page .portfolio-image{scroll-margin-top:80px}

/* Keep moving copy out of the fixed navigation, without shadow or veil. */
.composition{-webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent var(--header-cut,86px),#000 calc(var(--header-cut,86px) + 18px));mask-image:linear-gradient(to bottom,transparent 0,transparent var(--header-cut,86px),#000 calc(var(--header-cut,86px) + 18px))}.clients li{font-size:15px;letter-spacing:-.01em;padding:8px 0}.clients .eyebrow{font-size:10px}.clients{max-width:280px}@media(max-width:700px){.clients{max-width:none}.clients li{font-size:14px;padding:7px 0}}

/* Work remains in the same photographic space; original Keynote compositions stay intact. */
/* Client references close the studio presentation, alongside contact. */
.contact .clients{width:32vw;max-width:370px}
.contact .clients ul{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.contact .clients li{border:0;padding:5px 0}
.contact .clients .eyebrow{margin-bottom:16px}
@media(max-width:700px){
 .contact .composition{height:auto;min-height:100svh;display:grid;grid-template-areas:"title" "clients" "brand";gap:40px;padding:calc(var(--header) + 26px) var(--gutter) 76px;align-content:start}
 .contact .title,.contact .clients,.contact .footer-bottom{position:static;width:100%;max-width:none}
 .contact .title{grid-area:title}
 .contact .clients{grid-area:clients}
 .contact .footer-bottom{grid-area:brand;margin-top:12px}
}

body.work-open main,body.work-open>footer,body.work-open .header,body.work-open .transport{visibility:hidden}
dialog{background:transparent;color:#101720}dialog::backdrop{background:transparent;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.reader-toolbar{padding:18px var(--gutter);min-height:86px;background:transparent;border-bottom:0;gap:24px}
.reader-toolbar .wordmark{font-size:28px;line-height:1;letter-spacing:-1.8px;padding:0;display:block;min-width:0;min-height:44px}
.reader-toolbar nav{gap:8px}.reader-toolbar .reader-close{font-size:13px;margin-left:20px;display:flex;gap:12px;align-items:center;white-space:nowrap}.reader-close span{font-size:23px}
#portfolio-pages{padding:3vh var(--gutter) 8svh}.portfolio-image{background:transparent;min-height:0;margin-bottom:6vh;width:min(100%,1600px)}.portfolio-image img{max-height:calc(100svh - 145px)}
.work-page{background:#cbd6df;color:#101720}.work-space{position:fixed;inset:-25px;z-index:0;filter:blur(20px);pointer-events:none}.work-space img{width:100%;height:100%;object-fit:cover}.work-page .reader-toolbar{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
@media(max-width:700px){.reader-toolbar{padding:12px var(--gutter);min-height:74px;gap:12px}.reader-toolbar .wordmark{font-size:20px;letter-spacing:-1.2px}.reader-toolbar nav{gap:0}.reader-toolbar nav button{min-width:32px}.reader-toolbar output{min-width:45px;font-size:11px}.reader-toolbar .reader-close{margin-left:8px;font-size:0;gap:0}.reader-close span{font-size:23px}.reader-toolbar .reader-close:focus-visible{outline-offset:3px}#portfolio-pages{padding:12px 0 50px}.portfolio-image{margin-bottom:26px}.portfolio-image img{max-height:none}}
