:root{--cream:#f6f0e7;--paper:#fffaf3;--ink:#272528;--rose:#b96778;--aqua:#69aeba;--green:#688a74;--lilac:#87709b;--line:#d9cec2;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--mono:'Courier New',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--aqua);outline-offset:4px}.skip{position:absolute;left:-999px;top:0}.skip:focus{left:1rem;z-index:5;background:#fff;padding:.5rem}.wrap{width:min(1120px,calc(100% - 2.5rem));margin:auto}.site-header{padding:1rem 0;border-bottom:1px solid var(--line);position:relative}.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-family:var(--serif);font-size:1.2rem;text-decoration:none}.brand span{font:10px var(--mono);display:block;letter-spacing:.12em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:1.1rem;font-size:.9rem}.nav a{text-decoration:none}.nav .button{padding:.55rem .85rem}.nav-toggle{display:none;background:none;border:0;font:inherit}.button{display:inline-block;background:var(--ink);color:var(--cream);padding:.8rem 1.1rem;border:1px solid var(--ink);border-radius:3px;text-decoration:none;font-weight:bold}.button.alt{background:transparent;color:var(--ink)}.eyebrow,.meta{font:11px var(--mono);letter-spacing:.09em;text-transform:uppercase}.eyebrow{color:#76505a}.hero{padding:clamp(4rem,10vw,8rem) 0 4rem;position:relative;overflow:hidden}.hero:after{content:'✿';color:var(--rose);font:clamp(8rem,22vw,18rem) var(--serif);position:absolute;right:-.1em;top:-.38em;opacity:.18;pointer-events:none}.hero>*{position:relative;z-index:1}.hero h1,.display{font:clamp(2.8rem,7vw,6.3rem)/.96 var(--serif);letter-spacing:-.055em;margin:.4rem 0 1.3rem;max-width:14ch}.hero p{max-width:680px;font-size:1.14rem}.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.7rem}.section{padding:4.6rem 0;border-top:1px solid var(--line)}.section h2{font:clamp(2rem,4vw,3.4rem)/1 var(--serif);letter-spacing:-.04em;max-width:17ch;margin:0 0 1.2rem}.section-intro{max-width:690px;font-size:1.05rem}.story{background:var(--ink);color:var(--cream)}.story .story-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;align-items:end}.story h2{font-size:clamp(2.7rem,6vw,5rem)}.capability{padding:.85rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:12px var(--mono);letter-spacing:.04em;text-transform:uppercase}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.card{padding:1.4rem;background:var(--paper);min-height:270px;display:flex;flex-direction:column}.card h3{font:1.8rem/1.05 var(--serif);letter-spacing:-.03em;margin:.8rem 0}.card .link{margin-top:auto;font-weight:bold}.thumb{height:90px;position:relative;overflow:hidden;border:1px solid currentColor;background:var(--accent,#e8d9d2)}.thumb:before,.thumb:after{content:'';position:absolute;border:1px solid currentColor;opacity:.7}.thumb:before{inset:18px 12%;border-radius:50%}.thumb:after{height:1px;left:0;right:0;top:50%;border-width:1px 0 0}.problems,.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.problems div,.principles div{padding:1.25rem;border-top:1px solid var(--line);font-size:1.05rem}.service-grid,.two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem}.service-grid h3{font:1.45rem var(--serif);margin-bottom:.25rem}.engage{background:#eadce0}.quote{font:clamp(2.3rem,5vw,4.5rem)/1 var(--serif);letter-spacing:-.05em;max-width:15ch;margin:0}.cta{background:var(--rose);color:#fff}.cta .button{background:#fff;color:var(--ink);border-color:#fff}.site-footer{padding:2.5rem 0;background:var(--ink);color:var(--cream)}.footer-grid{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer-grid p{margin:0}.footer-links{display:flex;gap:1rem;flex-wrap:wrap}.page-hero{padding:4rem 0 2.5rem}.page-hero h1{font:clamp(3rem,7vw,6rem)/.95 var(--serif);letter-spacing:-.055em;margin:.5rem 0;max-width:15ch}.page-hero p{max-width:650px;font-size:1.15rem}.project-nav{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1rem}.case-hero{--accent:var(--rose)}.project-visual{background:var(--ink);color:var(--cream);min-height:290px;padding:1.5rem;display:grid;place-items:center;overflow:hidden}.map{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;width:min(700px,100%)}.map div{border:1px solid currentColor;padding:.65rem;min-height:120px;display:flex;align-items:flex-end;font:11px var(--mono)}.map div:nth-child(2){background:var(--rose)}.map div:nth-child(4){background:var(--aqua);color:var(--ink)}.flow{width:min(760px,100%);display:flex;align-items:center;gap:.4rem;overflow:auto;padding:.5rem}.flow span{border:1px solid currentColor;padding:.6rem;min-width:105px;font:11px var(--mono);text-align:center}.flow b{color:var(--rose)}.evidence{border:1px solid var(--line);background:var(--paper);padding:1.25rem}.evidence h3{font:13px var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-top:0}.evidence ul{padding-left:1.1rem}.limit{border-left:4px solid var(--lilac);padding:1rem 1.2rem;background:#eee8f0;max-width:760px}.work-list .card{min-height:300px}.about-list{list-style:none;padding:0;margin:0}.about-list li{padding:1rem 0;border-top:1px solid var(--line)}.about-list strong{display:block}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem}form{display:grid;gap:1rem}label{font-weight:bold}input,textarea{display:block;width:100%;margin-top:.35rem;padding:.75rem;border:1px solid var(--ink);border-radius:2px;background:#fffdf8;font:inherit}textarea{min-height:150px}button{cursor:pointer}.confirmation{display:none;padding:1rem;background:#dcece8;border-left:4px solid var(--green)}.confirmation.show{display:block}@media(max-width:700px){.nav-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;padding:1rem 1.25rem;background:var(--cream);border-bottom:1px solid var(--line);z-index:4;align-items:flex-start;flex-direction:column}.nav.open{display:flex}.hero{padding-top:4rem}.story .story-grid,.service-grid,.two-col,.contact-grid{grid-template-columns:1fr;gap:1.5rem}.cards{grid-template-columns:1fr}.problems,.principles{grid-template-columns:1fr}.section{padding:3.5rem 0}.map{grid-template-columns:repeat(2,1fr)}.map div:last-child{grid-column:span 2}}
