@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{--ink:#332116;--brown:#4b2d1c;--earth:#745037;--sand:#c7ae91;--ivory:#f8f5ee;--paper:#fffdf9;--muted:#66594d;--focus:#8a4d1e;--line:#4b2d1c38;--layout-max:1200px;--page-gutter:clamp(1.25rem, 4vw, 3.5rem);--section-gap:clamp(4.5rem, 7vw, 7rem);--font-hero:clamp(2.375rem, 5.6vw, 4.75rem);--font-page-title:clamp(2rem, 4.5vw, 3.75rem);--font-project-title:clamp(1.875rem, 4vw, 3.375rem);--font-h2:clamp(1.625rem, 3.1vw, 2.5rem);--font-h3:clamp(1.25rem, 2.1vw, 1.75rem);--font-body:clamp(1rem, .35vw + .94rem, 1.125rem);--serif:"Fraunces", Georgia, serif;--sans:"DM Sans", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:var(--font-body);margin:0;line-height:1.65;overflow-x:clip}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:.22em;text-decoration:underline}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.skip{background:var(--brown);color:#fff;z-index:10;padding:.7rem 1rem;position:absolute;top:-5rem;left:1rem}.skip:focus{top:1rem}.container{width:min(calc(100% - 2 * var(--page-gutter)), var(--layout-max));margin-inline:auto}.eyebrow,.kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--earth);font-size:.75rem;font-weight:600;line-height:1.45}.rule{color:var(--sand);align-items:center;gap:.75rem;margin:1.1rem 0 1.25rem;display:flex}.rule:before,.rule:after{content:"";background:currentColor;width:2.5rem;height:1px}.rule span{background:currentColor;border-radius:50%;width:.5rem;height:.5rem}h1,h2,h3{font-family:var(--serif);letter-spacing:-.025em;text-wrap:balance;font-weight:500;line-height:1.12}h1{font-size:var(--font-page-title);max-width:20ch;margin:.35em 0 .25em}h2{font-size:var(--font-h2);margin:0 0 1rem}h3{font-size:var(--font-h3);margin:.5rem 0 .7rem;line-height:1.22}p{max-width:68ch}.button{border:1px solid var(--brown);justify-content:center;align-items:center;min-height:48px;padding:.8rem 1.15rem;font-weight:600;transition:transform .2s,background-color .2s,color .2s;display:inline-flex}.button:hover{text-decoration:none;transform:translateY(-2px)}.button.primary{background:var(--brown);color:var(--ivory)}.button.ghost{background:0 0}.site-header{z-index:5;background:color-mix(in srgb, var(--ivory) 94%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.25rem;min-height:84px;display:flex}.brand{font-family:var(--serif);align-items:center;gap:.7rem;font-size:1.35rem;line-height:1.05;display:flex}.brand-logo{object-fit:contain;mix-blend-mode:multiply;width:70px;height:70px;display:block}.nav{align-items:center;gap:clamp(.75rem,1.8vw,1.35rem);font-size:.94rem;display:flex}.nav a[aria-current=page]{text-underline-offset:.5em;font-weight:600;text-decoration:underline}.menu-toggle{border:1px solid var(--line);color:var(--ink);font:inherit;background:0 0;min-height:44px;padding:.55rem .75rem;display:none}.mobile-nav{display:none}.hero{align-items:center;min-height:min(760px,100svh - 84px);padding:clamp(4rem,8vw,7rem) 0;display:grid;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";pointer-events:none;border:1px solid var(--sand);border-radius:50%;width:75vw;height:55vw;position:absolute;top:-3vw;right:-34vw;transform:rotate(-18deg)}.hero:after{border-color:#4b2d1c2e;width:69vw;height:50vw;top:0;right:-31vw}.hero-content{z-index:1;max-width:820px;position:relative}.hero h1{font-size:var(--font-hero);letter-spacing:-.03em;max-width:18ch;line-height:1.09}.hero .intro{max-width:52ch;margin:1.5rem 0 0;font-size:clamp(1.06rem,1.25vw + .7rem,1.35rem);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2rem;display:flex}.section{padding:var(--section-gap) 0}.section.dark{background:var(--brown);color:var(--ivory)}.section-head{justify-content:space-between;align-items:start;gap:2rem;margin-bottom:2.5rem;display:flex}.section-head h2{max-width:23ch}.section-head p{max-width:34ch;color:var(--muted);margin:.25rem 0 0}.dark .section-head p{color:#e9ddce}.split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:clamp(2.5rem,6vw,5rem);display:grid}.lead{font-family:var(--serif);font-size:clamp(1.55rem,2.2vw,2.25rem);line-height:1.28}.prose{max-width:68ch}.prose p{font-size:1em}.prose p+p{margin-top:1.25rem}.area-grid,.metric-grid{background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.area,.project-card,.metric{background:var(--ivory);padding:clamp(1.35rem,2.5vw,2rem)}.dark .area{background:var(--brown);border:1px solid #ffffff2e;margin:-1px}.area p,.project-card p{color:var(--muted)}.dark .area p{color:#e9ddce}.dark .area a{color:#fff5e8}.area-number{font-family:var(--serif);color:var(--sand);margin-bottom:1rem;font-size:clamp(2.25rem,4vw,3rem);line-height:1}.area-links{gap:.45rem;margin-top:1.5rem;font-size:.94rem;display:grid}.area-links a{text-underline-offset:.2em;text-decoration:underline}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;display:grid}.project-card{border:1px solid var(--line);flex-direction:column;min-height:270px;transition:transform .2s,border-color .2s;display:flex}.project-card:hover{border-color:var(--earth);transform:translateY(-4px)}.project-card h3{max-width:23ch}.project-card .arrow{color:var(--earth);margin-top:auto;font-weight:600}.metrics{background:var(--brown);color:var(--ivory);padding:clamp(4rem,7vw,5.5rem) 0}.metrics h2{max-width:18ch}.metric-grid{background:#fff3;margin-top:2rem}.metric{background:var(--brown);padding:clamp(1.35rem,2.5vw,2rem)}.metric strong{font-family:var(--serif);margin-bottom:.7rem;font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:500;line-height:1;display:block}.metric span{color:#e9ddce}.cta{padding:var(--section-gap) 0;border-top:1px solid var(--line)}.cta .panel{background:var(--paper);padding:clamp(2rem,5vw,4rem);position:relative;overflow:hidden}.cta .panel:after{content:"";border:1px solid var(--sand);border-radius:50%;width:20rem;height:20rem;position:absolute;top:-7rem;right:-9rem}.page-intro{border-bottom:1px solid var(--line);padding:clamp(4rem,8vw,7rem) 0 clamp(3.25rem,5vw,4rem)}.page-intro p{color:var(--muted);margin-top:1.25rem;font-size:clamp(1.05rem,.5vw + .9rem,1.2rem);line-height:1.58}.project-title{font-size:var(--font-project-title);max-width:22ch;line-height:1.12}.detail-layout{grid-template-columns:minmax(0,1.35fr) minmax(15rem,.65fr);align-items:start;gap:clamp(2.5rem,6vw,5rem);display:grid}.project-cover{grid-column:1/-1;margin:0 0 1rem}.project-cover img,.project-gallery img{object-fit:cover;width:100%;height:auto;display:block}.project-cover figcaption,.project-gallery figcaption{color:var(--muted);margin-top:.6rem;font-size:.86rem}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:3rem 0;display:grid}.project-gallery figure{margin:0}.detail-layout .prose h2{margin-top:2.4rem}.detail-layout .prose h2:first-child{margin-top:0}.meta{border-top:1px solid var(--line);margin:0;padding-top:1rem}.meta dt{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.75rem;line-height:1.45}.meta dd{margin:.3rem 0 1.3rem}.detail-metrics{background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:3rem 0;display:grid}.detail-metrics div{background:var(--paper);padding:clamp(1.1rem,2vw,1.5rem)}.detail-metrics strong{font-family:var(--serif);margin-bottom:.55rem;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.05;display:block}.notice{border-left:3px solid var(--sand);background:#c7ae911f;padding:1rem 1.2rem}.contact-list{border-top:1px solid var(--line);padding:0;list-style:none}.contact-list li{border-bottom:1px solid var(--line);padding:1rem 0}.contact-links{gap:.7rem;margin-top:1.5rem;display:grid}.contact-links a{text-underline-offset:.2em;font-size:1.08rem;text-decoration:underline}footer{background:var(--ink);color:var(--ivory);padding:clamp(2.5rem,6vw,4rem) 0}.footer-grid{grid-template-columns:1.35fr .8fr .95fr;gap:clamp(2rem,5vw,3.5rem);display:grid}.footer-grid p,.footer-grid a,.footer-contact span{color:#e9ddce}.footer-grid .brand-logo{width:96px;height:96px}.footer-links,.footer-contact{gap:.45rem;display:grid}.fine{color:#bca995;margin-top:2rem;font-size:.8rem}@media (width<=900px){.desktop-nav{display:none}.menu-toggle{display:block}.header-inner{min-height:76px}.brand-logo{width:60px;height:60px}.mobile-nav{gap:.2rem;padding-top:0;padding-bottom:1rem;display:grid}.mobile-nav[hidden]{display:none}.mobile-nav a{border-top:1px solid var(--line);padding:.55rem 0}}@media (width<=800px){.container{width:min(calc(100% - 2.5rem), var(--layout-max))}.hero{min-height:auto;padding:clamp(4rem,14vw,6rem) 0 clamp(5rem,15vw,7rem)}.split,.detail-layout{grid-template-columns:1fr;gap:2.5rem}.area-grid,.metric-grid,.detail-metrics{grid-template-columns:1fr}.section{padding:clamp(4rem,12vw,5rem) 0}.section-head{display:block}.section-head p{margin-top:1rem}.cta .panel{padding:2rem}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.hero:before,.hero:after{width:120vw;height:90vw;top:8rem;right:-65vw}.project-gallery{grid-template-columns:1fr}}@media (width<=420px){.container{width:min(calc(100% - 2rem), var(--layout-max))}.hero-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
