@font-face{font-family:'Instrument Serif';src:url('/assets/instrument-serif-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--serif:'Instrument Serif',Georgia,serif;--bg:#031e1c;--surface:#092d29;--ink:#e9eee2;--muted:#bdcfc8;--accent:#aee8d8;--line:#b6ddd52d;--glass:#072621c9;--header-bg:#072621f2;--glass-line:#b6ddd52d;--accent-on:#052822;--type-display:clamp(4rem,9vw,8.75rem);--type-heading:clamp(2.6rem,4.7vw,4.5rem);--type-card:clamp(2rem,3vw,2.65rem)}
:root[data-theme=light]{--bg:#eaf2fa;--surface:#dbe8f5;--ink:#12354c;--muted:#3b5c72;--accent:#205e91;--line:#254f722e;--glass:#edf5fbd9;--header-bg:#edf5fbf5;--glass-line:#254f7226;--accent-on:#fff}
.showcase{isolation:isolate;background:var(--bg)}
.showcase h1,.showcase h2,.showcase h3,.showcase h1 em,.showcase h2 em,.showcase h3 em{font-family:var(--serif);font-weight:400;font-style:normal;letter-spacing:-.025em}
.showcase .hero h1,.showcase .page-intro h1,.showcase .aw-copy h1{line-height:.94;letter-spacing:-.025em}
.showcase .hero h1 em{color:var(--ink)}
.showcase .hero{min-height:650px;min-height:min(790px,calc(100svh - 112px));display:flex;flex-direction:column;justify-content:center;padding:90px 0 80px;position:relative}
.showcase .hero h1{margin:35px 0 42px;max-width:900px}
.showcase .hero-bottom{margin-top:12px}
.showcase .hero-bottom p{max-width:390px;color:var(--ink)}
.showcase .hero-top .eyebrow{color:var(--ink)}
.showcase .hero .pill.solid{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.showcase .site-header,.showcase .site-header.scrolled{border-radius:16px;box-shadow:0 12px 40px #001b1910}

.showcase .project-card,.showcase .source-feature{background:var(--glass);border-color:var(--line)}
.showcase .feature-meta h3{font-family:var(--serif)}
.showcase .contact-platform{font-family:var(--serif);font-size:32px}
.showcase .footer{background:transparent}
.showcase .photo-membership h2{font-size:var(--type-card)}
.showcase .page-intro{padding-top:76px;padding-bottom:66px}

@media(max-width:700px){.showcase .hero{min-height:620px;min-height:calc(88svh - 80px);padding:70px 0 58px}.showcase .hero h1{font-size:clamp(4.1rem,14vw,6rem);margin:30px 0 38px}.showcase .page-intro h1,.showcase .aw-copy h1{font-size:clamp(3.7rem,12vw,5.7rem)}.showcase .hero-bottom{gap:28px;align-items:flex-start;flex-direction:column}.showcase .page-intro{padding-top:48px;padding-bottom:48px}.showcase #navigation a{font-family:var(--serif);font-size:34px}}

/* Poster typography and continuous atmospheric backdrop. */
.showcase h1,.showcase h2,.showcase h3{ text-transform:uppercase; }
.showcase .hero h1,.showcase .page-intro h1,.showcase .aw-copy h1{line-height:.79;letter-spacing:-.035em}
.showcase h2,.showcase .footer h2,.showcase .about h2,.showcase .case-section h2,.showcase .theme-layout h2,.showcase .section-title h2,.showcase .film-cover-detail h2{line-height:.88}
.showcase h3,.showcase .feature-meta h3,.showcase .source-roles h3,.showcase .journey h3,.showcase .flow-copy h3{line-height:.95}
.showcase .hero h1{font-size:clamp(5rem,11vw,10.5rem);margin:40px 0 52px}

@media(max-width:700px){.showcase .hero h1{font-size:clamp(3.7rem,13vw,6rem);line-height:.8;letter-spacing:-.04em}.showcase .page-intro h1,.showcase .aw-copy h1{font-size:clamp(3.3rem,12vw,5.7rem)}}

/* Navigation and controls share the editorial typeface; paragraphs retain DM Sans. */
.showcase .logo,.showcase .site-header nav a,.showcase .theme-toggle,.showcase .menu-button,.showcase button,.showcase .pill,.showcase .text-link,.showcase .back-link,.showcase .eyebrow,.showcase .tag,.showcase .case-toc a,.showcase .contact-platform,.showcase .flow-stage-label{font-family:var(--serif);font-weight:400;font-style:normal}
.showcase .logo{font-size:27px;letter-spacing:-.02em}
.showcase .site-header nav a{font-size:22px}
.showcase .pill,.showcase .text-link,.showcase .back-link,.showcase .case-toc a,.showcase .theme-toggle,.showcase .menu-button,.showcase .copy-email,.showcase .effects-toggle{font-size:21px;line-height:1.15}
.showcase .eyebrow{font-size:18px;letter-spacing:.045em;line-height:1.2}
.showcase .tag{font-size:18px}
.showcase .ton-heading .eyebrow{font-size:16px}
.showcase .publication-link .eyebrow{font-size:16px}
.showcase .flow-steps button{font-family:var(--serif);font-size:27px}
.showcase .viewer-controls button{font-size:20px}
@media(max-width:700px){.showcase .logo{font-size:23px}.showcase .menu-button{font-size:19px}.showcase .eyebrow{font-size:16px}.showcase .pill{font-size:20px}.showcase #navigation a{font-size:34px}.showcase .header-row{gap:14px}}

/* Regular weight for every project action, including brand-coloured buttons. */
.showcase .project-card .pill[href],.showcase .source-feature .pill[href]{font-weight:400;font-synthesis:none}

html{background-color:var(--bg);min-height:100%;scroll-padding-top:calc(110px + env(safe-area-inset-top,0px))}
body.showcase{min-height:100vh;min-height:100svh}

@supports (-webkit-touch-callout:none){

 .showcase .site-header,.showcase .site-header.scrolled{top:calc(10px + env(safe-area-inset-top,0px))}
 .showcase .footer{padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}
 .showcase .wrap{max-width:calc(100% - max(40px,env(safe-area-inset-left,0px)) - env(safe-area-inset-right,0px))}
}

/* Lightweight motion and complete editorial labels. */
.showcase .next-project>a,.showcase .next-project>span,.showcase .section-head span,.showcase .source-film-caption,.showcase figcaption,.showcase .ton-count,.showcase .filter-count,.showcase .viewer-controls,.showcase .viewer-title,.showcase .footer-bottom,.showcase .cv-format{font-family:var(--serif);font-weight:400;font-synthesis:none}
.showcase .next-project>a{text-transform:uppercase;line-height:.9}
.showcase .next-project>span{font-size:18px;letter-spacing:.045em}
html,body.showcase{overscroll-behavior-y:none}
.showcase .site-header{transition:width .5s cubic-bezier(.22,1,.36,1),background-color .3s,border-color .3s,box-shadow .3s}
.showcase .site-header.scrolled{width:min(960px,calc(100% - 72px))}
.showcase .site-header .header-row{transition:padding .35s ease}

@media(max-width:800px),(pointer:coarse){

 .showcase .project-card,.showcase .source-feature,.showcase .contact-card{backdrop-filter:none;-webkit-backdrop-filter:none}

 .showcase .contact-arrow{display:none}
 .showcase .contact-card{padding-right:22px}
 .showcase .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--header-bg)}
 .showcase #navigation{backdrop-filter:none;-webkit-backdrop-filter:none}
 .showcase .feature-visual img,.showcase .photo-panel img{transition:none}
}
@media(max-width:700px){.showcase .site-header{width:calc(100% - 24px)}.showcase .site-header.scrolled{width:calc(100% - 40px)}.showcase .site-header:has(#navigation.open){width:calc(100% - 24px)}.showcase .site-header .header-row{min-height:64px}.showcase .site-header.scrolled .header-row{min-height:64px}}
@media(prefers-reduced-motion:reduce){.showcase .site-header,.showcase .site-header .header-row{transition:none}}

/* Pre-rendered mesh and static grain: a single image, no scroll calculations. */
.site-glow,:root[data-theme=light] .site-glow{position:fixed;inset:0;height:100%;min-height:100%;opacity:1;z-index:-1;pointer-events:none;background-color:var(--bg);background-image:url('/assets/backdrop-dark-static.webp?v=2');background-size:cover;background-position:center;filter:none;transform:none;animation:none;transition:none;will-change:auto}
:root:not([data-theme=light]) .site-glow{background-image:url('/assets/backdrop-dark-static.webp?v=3')}
:root[data-theme=light] .site-glow{background-image:url('/assets/backdrop-light-static.webp?v=2')}
.site-glow:before,.site-glow:after,.showcase:after{content:none;display:none}
.showcase *,.showcase *:before,.showcase *:after{animation:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;will-change:auto!important;transition:none}
.showcase .site-header,.showcase .site-header.scrolled{background:var(--header-bg);transition:width .18s ease-out}
.showcase #navigation{transition:opacity .16s ease-out,transform .16s ease-out,visibility .16s}
.showcase .pill,.showcase .contact-card,.showcase button{transition:background-color .12s,border-color .12s}
.showcase .feature-visual,.showcase .feature:hover .feature-visual,.showcase .feature-visual img,.showcase .feature:hover .feature-visual img,.showcase .photo-panel:hover img,.showcase .film-poster:hover>img{transform:none!important}
.showcase .feature-visual:after{display:none}
.showcase .project-card,.showcase .source-feature,.showcase .contact-card{background:var(--glass)}
/* Neutral glass uses only a small local blur over the static image. */
:root{--glass:rgba(0,0,0,.18);--header-bg:rgba(0,0,0,.66);--glass-line:rgba(255,255,255,.18)}
:root[data-theme=light]{--glass:rgba(255,255,255,.18);--header-bg:rgba(255,255,255,.78);--glass-line:rgba(20,35,45,.16)}
.showcase .site-header,.showcase .site-header.scrolled,.showcase #navigation,.showcase .project-card,.showcase .source-feature,.showcase .contact-card{backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important;border-color:var(--glass-line)}
.showcase .feature-meta{background:transparent}
.showcase .contact-card:before,.showcase .contact-card:after{display:none}
.showcase .contact-card:hover{background:var(--glass)}
@supports(-webkit-touch-callout:none){
 .site-glow{top:0;bottom:auto;height:calc(100lvh + env(safe-area-inset-bottom,0px))}
 /* End the colour field at the smallest Safari viewport. The extra area
    revealed when its toolbar collapses remains the same root-canvas colour. */
 .site-glow:after{content:'';display:block;position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,transparent max(0px,calc(100svh - 180px)),var(--bg) calc(100svh - 1px),var(--bg) 100%)}
}
@media(prefers-reduced-motion:reduce){.showcase *{transition:none!important}}
@media print{.site-glow{display:none}}

/* Directional edge light, rendered as a static one-pixel highlight. */
:root{--edge-hot:rgba(255,255,255,.32);--edge-soft:rgba(255,255,255,.12);--edge-dim:rgba(255,255,255,.065);--glass-shadow:0 10px 22px rgba(0,0,0,.16),0 2px 5px rgba(0,0,0,.10)}
:root[data-theme=light]{--edge-hot:rgba(255,255,255,.74);--edge-soft:rgba(255,255,255,.35);--edge-dim:rgba(25,40,50,.065);--glass-shadow:0 10px 22px rgba(20,35,45,.10),0 2px 5px rgba(20,35,45,.06)}
.showcase .project-card,.showcase .source-feature{position:relative}
.showcase .site-header,.showcase .site-header.scrolled,.showcase .project-card,.showcase .source-feature,.showcase .contact-card{border-color:var(--edge-dim);box-shadow:inset 0 1px 2px rgba(255,255,255,.025),var(--glass-shadow)}
.showcase .site-header:after,.showcase .project-card:after,.showcase .source-feature:after,.showcase .contact-card:after{content:'';display:block;position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:radial-gradient(ellipse 24% 60% at 18% 0%,var(--edge-hot),transparent 90%),radial-gradient(ellipse 5% 30% at 0% 22%,var(--edge-soft),transparent 100%),radial-gradient(ellipse 14% 30% at 88% 100%,var(--edge-soft),transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;transform:none;opacity:1}
.showcase .theme-toggle,.showcase .menu-button{border-color:var(--edge-dim);border-top-color:var(--edge-soft);box-shadow:0 3px 8px rgba(0,0,0,.10)}
.showcase .pill:not(.solid),.showcase .tag,.showcase .filters button,.showcase .theme-buttons button{box-shadow:0 3px 8px rgba(0,0,0,.10)}
/* Desktop navigation belongs to the header's single glass surface. */
@media(min-width:701px){.showcase #navigation{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none;border:0;overflow:visible;border-radius:0}.showcase #navigation:after{display:none}}
@media(max-width:700px){.showcase #navigation{border-color:var(--edge-dim);border-top-color:var(--edge-soft);box-shadow:var(--glass-shadow)}}
