:root{--bg:#f2f2f2;--ink:#2b2b2b;--gutter:clamp(18px,1.9vw,36px);--gap:clamp(24px,4vw,72px);font-family:'Arial Narrow','Helvetica Neue',Arial,sans-serif;font-size:clamp(17px,1.8vw,25px);color:var(--ink);background:var(--bg);font-synthesis:style}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.14em}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}header{padding:14px var(--gutter) 0;min-height:74px;display:flex;align-items:flex-start;justify-content:flex-end;gap:28px}nav{display:flex;justify-content:flex-end;gap:clamp(18px,2vw,36px);font-size:clamp(20px,2.3vw,31px);line-height:1.2}nav a[aria-current=page]{font-style:italic;color:#777}.brand{display:none}.home header{height:142px;position:relative}.home .brand{display:block;position:absolute;left:var(--gutter);bottom:30px;font-size:clamp(24px,2.3vw,32px)}main{padding:0 var(--gutter);min-height:70vh}h1{font-size:clamp(48px,9.2vw,160px);line-height:1.02;font-weight:300;letter-spacing:-.04em;margin:0 0 54px;overflow-wrap:break-word}h1 i{font-weight:300}h2{font-size:clamp(26px,2.7vw,42px);line-height:1.15;font-weight:400;letter-spacing:-.025em;margin:0 0 .65em}p{margin:0 0 1.3em}small{font-size:.75em}img{max-width:100%;height:auto;display:block}hr{border:0;border-top:1px solid currentColor;margin:42px 0}i,em{font-style:italic}.content{line-height:1.4}.content>br:first-child{display:none}.content h1{color:inherit}.content>h1+br{display:none}.content h2{margin-top:1.6em}.content-grid{display:flex;gap:var(--gap);align-items:flex-start;margin:32px 0}.content-column{flex:1;min-width:0}.content-column[data-span="8"]{flex:2}.content-column[data-span="4"]{flex:1}.content-column>br:first-child{display:none}.home-intro .content-grid{margin-top:62px}.home-intro .content-column img{width:100%}.home-intro h1{margin-bottom:0}.home-information{margin-top:110px}.home-information h1{font-size:clamp(40px,7.4vw,116px);line-height:1.05}.home-information .information{color:#45a15c;margin-top:70px}.home-information .information p{max-width:28em}.home-information .socials{margin:30px 0;display:flex;flex-wrap:wrap;gap:20px}.archive-title{margin-bottom:70px}.archive-grid{width:min(74vw,1340px);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8vw;row-gap:82px}.archive-card{min-width:0}.archive-card img{width:100%;aspect-ratio:16/9;object-fit:contain;background:transparent;margin-bottom:24px}.archive-meta{font-size:clamp(13px,1.3vw,18px);line-height:1.4;white-space:pre-line;margin-bottom:5px}.archive-card h2{font-size:clamp(24px,2.4vw,35px);line-height:1.25;margin:0 0 22px;letter-spacing:-.02em}.archive-card h2 a{pointer-events:none}.archive-card .read-more{font-size:clamp(14px,1.3vw,18px);display:inline-block}.read-more::before{content:'●';display:inline-block;margin-right:.45em}.project .content>h1{margin-bottom:42px}.project .content{max-width:100%}.project .content>.project-text{max-width:960px}.project .content>hr{margin:40px 0}.project .content a:not(.gallery-button){text-decoration:underline;text-underline-offset:.15em}.gallery{position:relative;margin:36px 0 48px!important;text-align:center}.gallery .slide{display:none;margin:0}.gallery .slide.is-active{display:block}.gallery .slide img{width:100%;height:min(66vw,78vh);object-fit:contain;margin:0 auto;cursor:zoom-in}.gallery figcaption{font-size:.72rem;line-height:1.3;text-align:left;margin:12px 0 0;color:#555;max-width:900px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px;font-size:.75rem}.gallery-controls button{border:0;background:transparent;min-width:44px;min-height:44px;padding:4px;font-size:1.2rem}.gallery-counter{font-variant-numeric:tabular-nums}.gallery .slide:only-child img{height:auto}.video-embed{border:0;display:block;width:100%;aspect-ratio:16/9;min-height:240px;margin:30px 0}.about .content>img{width:100%;margin:44px 0}.about .content h1{margin-bottom:50px}.about .content-grid{margin-top:50px}.about .content{line-height:1.45}footer{margin:100px var(--gutter) 0;padding:25px 0 35px;border-top:1px solid #aaa;display:flex;justify-content:space-between;gap:20px;font-size:.7rem}.skip{position:absolute;left:12px;top:-100px;padding:12px;background:#fff;z-index:9}.skip:focus{top:12px}.back-link{display:inline-block;margin-top:44px;text-decoration:underline}.not-found{padding:60px 0}dialog{padding:50px 25px 20px;border:0;background:var(--bg);width:min(98vw,1800px);max-width:98vw;max-height:96vh}dialog::backdrop{background:#111c}dialog img{max-height:78vh;max-width:100%;object-fit:contain;margin:auto}dialog p{font-size:.7rem;margin:15px 0 0}dialog .close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:32px;width:44px;height:44px}.content .standalone-image{margin:36px auto;cursor:zoom-in}.project .content>img{margin:40px 0}.project-text{max-width:1000px;margin:auto}.project-text h2:first-child{margin-top:0}.project-text .content-grid{width:100%}
@media(min-width:1700px){.archive-grid{column-gap:130px}}@media(max-width:700px){:root{font-size:18px;--gutter:18px}header{min-height:74px;padding-top:20px}nav{font-size:18px;gap:18px}.home header{height:124px}.home .brand{font-size:24px;bottom:24px}h1{font-size:clamp(43px,11.7vw,75px);line-height:1.04;letter-spacing:-.035em;margin-bottom:34px}h2{font-size:27px}.content-grid{display:block;margin:28px 0}.content-column+.content-column{margin-top:25px}.home-intro .content-grid{margin-top:32px}.home-information{margin-top:64px}.home-information h1{font-size:clamp(34px,8.6vw,54px)}.home-information .information{margin-top:45px}.archive-title{margin-bottom:36px}.archive-grid{width:100%;grid-template-columns:1fr;gap:50px}.archive-card img{margin-bottom:18px}.archive-card h2{font-size:27px;line-height:1.2;margin-bottom:15px}.archive-meta,.archive-card .read-more{font-size:15px}.gallery{margin:24px 0 32px!important}.gallery .slide img{height:auto;max-height:75vh;width:100%}.gallery-controls{margin-top:8px}.project .content>h1{margin-bottom:25px}.project .content>hr,hr{margin:25px 0}.about .content>img{margin:28px 0}.video-embed{min-height:180px}footer{margin-top:64px;font-size:13px;flex-wrap:wrap;row-gap:20px}.home-information .socials{gap:18px}.about .content-grid .content-column{margin-bottom:28px}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.content a{overflow-wrap:anywhere}

/* Closure review: retain the source wordmark as a home link on every page. */
header{justify-content:space-between}.brand{display:block;font-size:clamp(20px,2.3vw,31px);line-height:1.2;white-space:nowrap}.home header{justify-content:flex-end}
.about .content h1{font-size:clamp(27px,3.2vw,46px);line-height:1.2;letter-spacing:-.02em;max-width:29em;margin:0 0 32px}.about .content{padding-top:22px}.about .content>img{margin-top:34px}
@media(max-width:700px){header{gap:14px}.brand{font-size:18px}nav{gap:14px}.about .content h1{font-size:27px;line-height:1.22}.about .content{padding-top:12px}}

.home-placeholder{width:100%;aspect-ratio:1;background:#d2d2d2}
.gallery .slide img,.gallery .slide:only-child img{width:100%;height:auto;aspect-ratio:16/9;max-height:none;object-fit:contain;background:#e5e5e5;margin:0;cursor:zoom-in}
.gallery-controls{justify-content:center;gap:16px;margin:12px auto 0;min-height:44px}.gallery-controls button{width:44px;height:44px;flex:none;padding:0}.gallery-counter{min-width:56px;text-align:center}.gallery-caption{font-size:.72rem;line-height:1.35;text-align:left;margin:10px 0 0;color:#555}
@media(max-width:420px){header nav{font-size:16px;gap:12px}header .brand{font-size:18px}header{gap:10px}.home header nav{font-size:18px}}

/* One shared top-aligned header: no homepage-specific wordmark offset. */
.home header{height:auto;min-height:74px;position:static;justify-content:space-between}.home .brand{position:static;font-size:clamp(20px,2.3vw,31px);line-height:1.2}
@media(max-width:700px){.home .brand{font-size:18px}.home header{height:auto;min-height:74px}}
@media(max-width:420px){.home header nav{font-size:16px}}

.home-feature{margin:0}.home-feature img,.home-feature img.standalone-image{display:block;width:100%;height:auto;aspect-ratio:auto;margin:0;object-fit:contain}.home-feature figcaption{font-size:.72rem;line-height:1.4;margin:12px 0 0;text-align:left;color:var(--ink)}
