/* Local type, quiet surfaces and a compact photographic project index. */
@font-face{font-family:Nexa;src:url('Nexa-Light.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Nexa;src:url('Nexa-Bold.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Manrope;src:url('manrope-300.woff2') format('woff2');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Manrope;src:url('manrope-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('manrope-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('manrope-600.woff2') format('woff2');font-style:normal;font-weight:600 900;font-display:swap}
:root{font-family:Manrope,Arial,sans-serif;--ink:#282b29;--paper:#f4f3ef;--graphite:#303431;--line:#d4d4cf;background:var(--paper)}
body,.header,.unified-home .header,footer,.publications,.projects-unified+.studio,.site-loader{background:var(--paper)}
body{font-weight:400}
h1,h2,h3{font-family:Nexa,Manrope,Arial,sans-serif;font-weight:700;letter-spacing:-.035em}
.project-title-light{font-family:inherit;font-weight:400}
.project-page .project-homes,.project-page .project-finishes,.contact{background:#eaeae6}
dialog,dialog::backdrop{background:var(--graphite)}
dialog nav a{font-family:Nexa,Manrope,Arial,sans-serif;font-weight:700;border-color:#646964}
dialog nav small{font-family:Manrope,Arial,sans-serif;font-weight:400}
dialog nav small,dialog>p{color:#d3d5d0}
em,.unit-letter{color:#727771}
.enhanced .project-panel h3{font-size:clamp(2.25rem,8.7vw,3rem);font-weight:700;line-height:1.08;letter-spacing:-.035em;max-width:18ch;text-wrap:balance}
.enhanced .project-panel-copy{padding:32px var(--pad);gap:22px}
.enhanced .project-panel-bottom{gap:16px;max-width:36rem}
.enhanced .project-panel-bottom p{font-size:1rem;line-height:1.55;letter-spacing:0;margin:0}
.project-panel-bottom .project-address{white-space:normal}
.enhanced .project-visit{font-size:.875rem;font-weight:500;letter-spacing:.035em;padding:10px 0}
.enhanced .project-panel-shade{background:radial-gradient(ellipse 900px 600px at 0 0,rgba(0,0,0,.72) 0%,rgba(0,0,0,.49) 35%,rgba(0,0,0,.17) 65%,transparent 100%)}
.enhanced .project-panel-copy h3,.enhanced .project-panel-bottom{text-shadow:0 1px 8px rgba(0,0,0,.22)}
.eyebrow,.section-kicker,.project-back,.menu-toggle{font-weight:500;letter-spacing:.035em}
.project-page .project-intro h1{font-size:clamp(3rem,6vw,6.25rem);line-height:1.08}
.project-page .project-lead{font-weight:300;line-height:1.65}
.studio-copy p,.acacias-description p,.boat-description p,.project-overview p{line-height:1.8}
.reveal-on-scroll{transform:translateY(16px);transition:opacity .65s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.reveal-on-scroll.is-visible{transform:none}
/* Only JS-enabled entries are hidden; each observer releases its block once. */
.enhanced .project-panel.copy-pending h3,.enhanced .project-panel.copy-pending .project-panel-bottom{opacity:0;transform:translateY(12px);transition:none}
.enhanced .project-panel.copy-revealed h3{opacity:1;transform:none;transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1)}
.enhanced .project-panel.copy-revealed .project-panel-bottom{opacity:1;transform:none;transition:opacity .55s ease .12s,transform .65s cubic-bezier(.22,1,.36,1) .12s}
.enhanced .project-panel:focus-within h3,.enhanced .project-panel:focus-within .project-panel-bottom{opacity:1;transform:none}
@media(min-width:851px){
 .enhanced .project-panel h3{font-size:clamp(3.1rem,4.6vw,5rem);max-width:19ch}
 .enhanced .project-panel-copy{padding:clamp(36px,4vw,64px);gap:26px}
 .enhanced .project-panel-bottom{gap:18px}
 .enhanced .project-panel-shade{background:radial-gradient(ellipse 1050px 640px at 0 0,rgba(0,0,0,.70) 0%,rgba(0,0,0,.43) 38%,rgba(0,0,0,.10) 70%,transparent 100%)}
}
@media(prefers-reduced-motion:reduce){
 .enhanced .project-panel.copy-pending h3,.enhanced .project-panel.copy-pending .project-panel-bottom{opacity:1;transform:none}
}
