:root{color-scheme:dark;--bg:#090d13;--text:#f4f5f0;--accent:#a8eee1;--font:Arial,"Segoe UI",sans-serif;--mono:Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#4b565e var(--bg);scrollbar-gutter:stable}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#b5a9ff;color:#090d13}html:not(.js) .js-only{display:none}.skip-link{position:fixed;top:-100px;left:20px;z-index:200;padding:15px 22px;background:var(--text);color:var(--bg)}.skip-link:focus{top:12px}
body[data-chapter="park"]{--accent:#b5a9ff}body[data-chapter="office"]{--accent:#c9e6aa}body[data-chapter="film"]{--accent:#edbbcc}
.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:var(--bg)}.ambient-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 72% 39%,#28474c66,transparent 47%),radial-gradient(ellipse at 31% 78%,#242d653d,transparent 45%),linear-gradient(155deg,#090e14,#090d13 50%,#071216)}#ambient-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.ambient-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#090d131a,transparent 36%,transparent 80%,#090d131a),linear-gradient(0deg,#090d1380,transparent 31%,transparent 76%,#090d1340)}
.site-header{position:fixed;z-index:30;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:24px 5%;gap:24px;background:#090d13f5}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;font:650 32px/1.1 "Segoe UI",Arial,sans-serif;letter-spacing:-1.8px;color:#a8f8ef;animation:brand-neon 18s ease-in-out infinite}.brand-word{text-shadow:0 0 3px currentColor,0 0 18px #7ae9dd55}@keyframes brand-neon{0%,100%{color:#a8f8ef}34%{color:#bdaaff}67%{color:#efaacb}}#district-navigation{display:flex;align-items:center;gap:2px;margin-left:auto;padding:5px;border:1px solid #ffffff24;border-radius:40px;background:#090e17}#district-navigation a{font-size:13px;line-height:1;padding:12px 21px;border-radius:30px;color:#bac3ca;transition:background .25s,color .25s}#district-navigation a[aria-current],#district-navigation a:hover{background:#ffffff12;color:#fff}.motion-button{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;border:1px solid #ffffff28;border-radius:50%;background:#090e17}.motion-icon{font-size:15px}.motion-label{display:none}.motion-button:hover{border-color:var(--accent);color:var(--accent)}
#world{position:relative;z-index:1;width:88%;max-width:1680px;margin:auto;padding-top:142px}.chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.15fr);column-gap:5%;align-items:start;padding-bottom:70px;margin-bottom:70px;scroll-margin-top:142px}.chapter-heading{position:sticky;top:150px;padding-top:31px;align-self:start}.chapter-heading h1,.chapter-heading h2{margin:0;font-size:clamp(27px,2.7vw,43px);font-weight:400;letter-spacing:-1.1px;line-height:1.1}.chapter-projects{min-width:0}.featured-project{display:block}.feature-caption{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:0 1px 14px;color:#dce6e6;font-size:15px;line-height:20px}.feature-caption svg,.card-caption>svg{width:15px;height:15px;fill:none;stroke:var(--chapter-accent);stroke-width:1.5;flex-shrink:0}.project-frame{aspect-ratio:16/9;overflow:hidden;border:1px solid #cbd6dc45;border-radius:7px;background:#10191f;box-shadow:0 18px 42px #0005}.project-frame img,.card-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.featured-project:hover .feature-caption{color:var(--chapter-accent)}
.project-gallery{margin-top:24px;scroll-margin-top:135px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 18px;margin:0;padding:0;list-style:none}.project-grid li{min-width:0}.project-card{display:block}.card-image{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid #b2cdd62d;border-radius:4px;background:#101820;transition:border-color .25s}.card-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-top:11px}.card-caption h3{font-size:clamp(15px,1.2vw,20px);font-weight:400;letter-spacing:-.2px;line-height:1.35;margin:0;color:#e5e9e9;overflow-wrap:anywhere}.card-caption>svg{width:13px;height:13px;margin-top:4px}.card-open{position:absolute;bottom:10px;right:10px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--chapter-accent);color:#101419;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}.card-open svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4}.project-card:hover .card-image,.project-card:focus-visible .card-image{border-color:var(--chapter-accent)}.project-card:hover h3,.project-card:focus-visible h3{color:var(--chapter-accent)}.project-card:hover .card-open,.project-card:focus-visible .card-open{opacity:1;transform:none}.chapter-bottom{margin-top:38px;padding-top:20px;border-top:1px solid #b7d0d523;display:flex;justify-content:flex-end;align-items:center;gap:20px;color:#9caeb6;font:10px var(--mono);letter-spacing:1.5px}.next-chapter{font:12px var(--font);letter-spacing:0;display:flex;align-items:center;gap:20px;min-height:28px}.next-chapter span{color:var(--chapter-accent);font-size:18px}.next-chapter:hover{color:#fff}
@media(hover:hover) and (pointer:fine){.featured-project:hover img{transform:scale(1.015)}.project-card:hover img{transform:scale(1.045)}}
.motion-paused *{animation-play-state:paused!important}
@media(max-width:1000px){.site-header{padding:22px 5%;gap:17px}#district-navigation a{padding:11px 15px}.chapter{column-gap:4%;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr)}.project-grid{gap:24px 14px}.chapter-heading h1,.chapter-heading h2{font-size:29px}.card-caption h3{font-size:15px}}
@media(max-width:760px){.site-header{display:grid;grid-template-columns:1fr auto;padding:18px 6% 12px;gap:14px}.brand{font-size:29px}.motion-button{grid-column:2;grid-row:1;width:37px;height:37px}#district-navigation{grid-column:1/-1;grid-row:2;margin:0;width:100%;justify-content:space-between;gap:0;padding:4px}#district-navigation a{flex:1;text-align:center;padding:11px 10px;font-size:12px}#world{padding-top:160px}.chapter{grid-template-columns:minmax(0,1fr);gap:25px;padding-bottom:30px;margin-bottom:55px;scroll-margin-top:155px}.chapter-heading{position:static;padding:0;display:flex;align-items:baseline;gap:16px}.chapter-heading h1,.chapter-heading h2{font-size:27px;letter-spacing:-.6px}.feature-caption{font-size:13px;padding-bottom:10px}.project-frame{border-radius:5px;box-shadow:0 12px 24px #0004}.project-gallery{margin-top:18px;scroll-margin-top:150px}.project-grid{gap:22px 12px}.card-caption{gap:7px;padding-top:9px}.card-caption h3{font-size:14px}.card-open{display:none}.chapter-bottom{margin-top:28px}.ambient-vignette{background:linear-gradient(0deg,#090d1380,transparent 45%,transparent 75%,#090d1380)}}
@media(max-width:520px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-caption h3{font-size:15px}}
@media(max-width:370px){#district-navigation a{font-size:11px;padding:10px 8px}.chapter-heading{gap:13px}.chapter-heading h1,.chapter-heading h2{font-size:25px}.card-caption>svg{display:none}.card-caption h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Static clipped silhouettes: no animated masks, image filters or large blur layers. */
.featured-project,.project-card{position:relative;isolation:isolate}
.project-frame,.card-image{--cut:14px;--nick:4px;--silhouette:polygon(0 var(--cut),var(--cut) 0,36% 0,calc(36% + 5px) var(--nick),48% var(--nick),calc(48% + 5px) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 56%,calc(100% - var(--nick)) calc(56% + 4px),calc(100% - var(--nick)) 67%,100% calc(67% + 4px),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,65% 100%,calc(65% - 5px) calc(100% - var(--nick)),52% calc(100% - var(--nick)),calc(52% - 5px) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 43%,var(--nick) calc(43% - 5px),var(--nick) 29%,0 calc(29% - 5px));position:relative;border:0;border-radius:0;padding:1px;clip-path:var(--silhouette);background:linear-gradient(125deg,#b9fff28f,#53647650 37%,#b8a1ffb0 72%,#90f6df75);box-shadow:none}
.card-image{--cut:9px;--nick:3px}
.project-frame img,.card-image img{clip-path:var(--silhouette)}
.featured-project::before,.project-card::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:30px -12px 0;background:radial-gradient(ellipse at 0 36%,#83f0e322,transparent 38%),radial-gradient(ellipse at 100% 80%,#aa86ff25,transparent 42%);opacity:.65;transition:opacity .3s}
.project-card::before{inset:0 -10px 23px}.featured-project:hover::before,.project-card:hover::before{opacity:1}
.project-gallery{position:relative}.project-gallery::before{content:"";position:absolute;pointer-events:none;top:-13px;left:3%;right:3%;height:1px;background:linear-gradient(90deg,transparent,#8ff4e9b3 25%,transparent 48%,#b49afcc9 72%,transparent);box-shadow:0 0 10px #89eae34d}
.project-grid li{position:relative}.project-grid li::after{content:"";position:absolute;pointer-events:none;right:-10px;top:15%;height:46%;width:1px;background:linear-gradient(transparent,#8cf1e08c,#ba94f7a6,transparent);box-shadow:0 0 8px #a9adfc55}
.chapter-heading h1,.chapter-heading h2{text-shadow:0 2px 16px #090d13}
@media(max-width:1000px){.project-grid li:not(:nth-child(3n))::after{right:-8px}}
@media(max-width:760px){.project-frame{--cut:11px}.card-image{--cut:7px;--nick:2px}.project-gallery::before{top:-10px}.project-grid li:not(:nth-child(3n))::after{right:-7px}.featured-project::before,.project-card::before{opacity:.4}}
@media(max-width:520px){.project-grid li:nth-child(n)::after{display:none}.project-grid li:nth-child(odd)::after{display:block;right:-7px}}

@media(min-width:521px){.project-grid li:nth-child(3n)::after{display:none}}
.project-grid li:last-child::after{display:none}

/* Live catalog: no iframes, project scripts or expensive automatic screenshots. */
.catalog-loading .featured-project,.catalog-loading .project-gallery{display:none}
.catalog-status{margin:0 0 24px;color:#bac3ca;font-size:14px;line-height:1.5;min-height:24px}
.catalog-status[hidden],.project-gallery[hidden]{display:none}
.project-placeholder{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(ellipse at 70% 25%,#a8eee11a,transparent 65%),linear-gradient(135deg,#12252b,#171728);color:var(--chapter-accent);font:400 clamp(28px,4vw,60px)/1 var(--font);letter-spacing:-2px;clip-path:var(--silhouette)}
.card-image,.project-frame{contain:layout paint}
