:root{--bg:#111210;--bg2:#181917;--paper:#f4f0e9;--ink:#151515;--muted:#989a95;--line:rgba(255,255,255,.16);--cream:#eee8df;--accent:#c8a66b;--max:1440px}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:#f7f7f4;font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5} img{max-width:100%;display:block} a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 72px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(15,16,15,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{letter-spacing:.24em;font-size:24px;font-weight:300}.brand small{display:block;font-size:10px;letter-spacing:.34em;margin-top:2px;color:#ddd}.menu{display:flex;gap:42px;font-size:12px;letter-spacing:.18em;text-transform:uppercase}.menu a{opacity:.78}.menu a:hover,.menu a.active{opacity:1}.menu a.active:after{content:"";display:block;height:1px;background:#fff;margin-top:8px}.hero{min-height:68vh;position:relative;display:flex;align-items:end;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.72),rgba(5,5,5,.18) 58%,rgba(5,5,5,.04)),linear-gradient(0deg,rgba(0,0,0,.35),transparent 42%)}.hero-copy{position:relative;z-index:2;padding:70px 0 74px;max-width:700px}.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:11px;color:#ddd}.display{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(54px,6.4vw,108px);line-height:.92;letter-spacing:-.045em;margin:14px 0 20px}.hero p{max-width:500px;font-size:18px;color:#ecece7}.section{padding:92px 0}.paper{background:var(--paper);color:var(--ink)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-head h2,.title{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;font-size:clamp(44px,5vw,76px);line-height:.95;margin:0}.section-head p{color:#666;max-width:550px;margin:0}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{position:relative;overflow:hidden;background:#20211f}.card img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .5s ease}.card:hover img{transform:scale(1.025)}.card-body{padding:22px 22px 25px}.card h3{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:400;margin:0 0 7px}.meta{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#aaa}.paper .card{background:white;color:#111;border:1px solid #ded9d0}.paper .meta{color:#777}.button{display:inline-flex;align-items:center;gap:15px;border:1px solid currentColor;padding:14px 18px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-top:18px}.feature-split{display:grid;grid-template-columns:1fr 1.25fr;min-height:470px}.feature-copy{display:flex;flex-direction:column;justify-content:center;padding:68px}.feature-image img{width:100%;height:100%;object-fit:cover}.feature-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:64px;font-weight:400;margin:6px 0 16px}.feature-copy p{max-width:420px;color:#ccc}.photo-strip{display:grid;grid-template-columns:repeat(6,1fr);height:210px;overflow:hidden}.photo-strip img{width:100%;height:100%;object-fit:cover}.intro-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.project-copy h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(56px,6vw,92px);line-height:.92;margin:12px 0 18px}.project-copy p{font-size:18px;color:#d0d0cb}.project-copy .role{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.project-hero{background:#e9e5de;padding:38px}.project-hero img{width:100%;max-height:720px;object-fit:contain}.gallery-masonry{columns:3 320px;column-gap:14px}.gallery-item{break-inside:avoid;margin:0 0 14px;cursor:pointer;overflow:hidden;background:#222}.gallery-item img{width:100%;height:auto;transition:.35s}.gallery-item:hover img{transform:scale(1.015);filter:brightness(.92)}.filters{display:flex;gap:30px;flex-wrap:wrap;margin:25px 0 40px}.filters button{appearance:none;border:0;background:none;color:#aaa;padding:0 0 9px;letter-spacing:.18em;text-transform:uppercase;font-size:11px;cursor:pointer}.filters button.active{color:white;border-bottom:1px solid white}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;z-index:100;padding:40px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;top:24px;right:28px;background:none;border:0;color:white;font-size:34px;cursor:pointer}.about-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px}.about-grid .lead{font-family:Georgia,'Times New Roman',serif;font-size:48px;line-height:1.08}.about-grid p{font-size:19px;color:#333}.footer{padding:34px 0;border-top:1px solid rgba(255,255,255,.1)}.footer .wrap{display:flex;justify-content:space-between;align-items:center}.footer small{color:#aaa}.year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.year-card{background:white;color:#111;padding:22px;text-align:center}.year-card img{aspect-ratio:1.1/1;object-fit:contain;width:100%}.year-card h4{margin:12px 0 0;font-size:18px}.year-card small{color:#666;text-transform:uppercase;letter-spacing:.16em}.maps{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.maps img{background:white;padding:12px}.banners-stage{background:white;padding:32px}.banners-stage img{width:100%;object-fit:contain}.note{font-size:12px;color:#aaa;margin-top:14px}.hide{display:none!important}
@media(max-width:900px){.wrap{width:min(100% - 36px,var(--max))}.menu{gap:18px}.brand{font-size:18px}.hero{min-height:60vh}.feature-split,.intro-grid,.about-grid{grid-template-columns:1fr}.feature-copy{padding:44px 28px}.grid.two,.grid.three,.maps{grid-template-columns:1fr}.year-grid{grid-template-columns:repeat(2,1fr)}.photo-strip{grid-template-columns:repeat(3,1fr);height:360px}.section{padding:64px 0}.nav{height:68px}}
@media(max-width:620px){.menu{font-size:10px;gap:12px}.brand small{display:none}.display{font-size:52px}.hero-copy{padding-bottom:44px}.year-grid{grid-template-columns:1fr}.photo-strip{grid-template-columns:repeat(2,1fr);height:480px}.section-head{display:block}.section-head p{margin-top:14px}.feature-copy h2{font-size:50px}}
