@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&family=Source+Sans+3:wght@400;500;600&display=swap";:root{--ink:#182630;--paper:#f4f0e9;--warm:#e7dfd1;--accent:#d7ff58;--moss:#9baa78;--clay:#d88767;--page-bg:var(--paper);--page-text:var(--ink);--surface-bg:var(--warm);--inverted-bg:var(--ink);--inverted-text:var(--paper);--line:#18263033;--action-accent:#738900;--focus-ring:#526800;--portrait-caption:#182630;--display:"Instrument Serif", Georgia, serif;--sans:"Source Sans 3", Arial, sans-serif;--hero:"Source Sans 3", Arial, sans-serif;--mono:"DM Mono", monospace}html.dark{--ink:#e9e4da;--paper:#16232c;--warm:#23323b;--moss:#bbc89a;--clay:#efa07f;--inverted-bg:#0d171d;--inverted-text:#f4f0e9;--line:#e9e4da3d;--action-accent:#d7ff58;--focus-ring:#d7ff58;--portrait-caption:#182630}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--page-bg)}body{color:var(--page-text);background:var(--page-bg);font-family:var(--sans);margin:0;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}.site-header{background:var(--inverted-bg);color:var(--inverted-text);padding:26px clamp(24px,5vw,80px)}.nav{justify-content:space-between;align-items:center;gap:24px;display:flex}.nav-actions{align-items:center;gap:22px;display:flex}.wordmark{font:500 28px/1 var(--mono);letter-spacing:-2px}.wordmark .accent-period,.accent-period{color:var(--accent)}.nav-contact,.back-link{font:500 12px/1.2 var(--mono);letter-spacing:.02em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:5px}.nav-contact span{color:var(--accent)}.theme-toggle{aspect-ratio:1;width:34px;height:34px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:50%;flex:0 0 34px;place-items:center;padding:0;display:inline-grid;position:relative}.theme-toggle:hover{color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.theme-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75px;width:17px;height:17px;transition:opacity .2s,transform .2s;position:absolute}.theme-icon-sun{opacity:1;transform:rotate(0)}.theme-icon-moon{opacity:0;transform:rotate(-20deg)}html.dark .theme-icon-sun{opacity:0;transform:rotate(20deg)}html.dark .theme-icon-moon{opacity:1;transform:rotate(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero{background:var(--inverted-bg);min-height:0;color:var(--inverted-text);flex-direction:column;padding:0 clamp(24px,5vw,80px);display:flex}.hero-content{grid-template-columns:1.3fr .7fr;gap:52px;width:min(100%,1120px);height:365px;margin:0 auto;padding-top:16px;display:grid}.eyebrow{font:500 11px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px}.eyebrow:before{content:"";background:var(--clay);border-radius:50%;width:7px;height:7px;margin:0 9px 1px 0;display:inline-block}h1,h2{letter-spacing:-.06em;margin:0;font-weight:400;line-height:.86}h1{font-size:clamp(45px,4.8vw,70px)}.hero h1{font-family:var(--hero);letter-spacing:-.025em;font-weight:600;line-height:.98}h2{font-size:clamp(54px,9vw,126px)}em{font-family:var(--display);letter-spacing:-.04em;font-weight:400}.hero-bottom{grid-template-columns:minmax(0,370px) auto;align-items:end;gap:30px;margin-top:18px;display:grid}.hero-bottom p{margin:0;font-size:clamp(14px,1.15vw,17px);line-height:1.38}.text-link{font:500 11px/1.2 var(--mono);letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid;justify-self:start;padding-bottom:6px}.text-link span{color:var(--accent);padding-left:13px;font-size:16px}.hero-portrait{background:#bba996;height:365px;margin:-32px 0 0;position:relative;overflow:hidden}.hero-portrait img{object-fit:cover;object-position:55% center;filter:saturate(.82);width:100%;height:100%;display:block}.hero-portrait figcaption{color:var(--portrait-caption);text-transform:uppercase;letter-spacing:.09em;text-shadow:0 1px 6px #f4f0e9cc;font:500 9px/1.55 var(--mono);position:absolute;bottom:15px;left:17px}.hero-portrait figcaption span{opacity:.78;font-size:8px}.engagement-summary{background:var(--surface-bg);padding:clamp(65px,9vw,125px) clamp(24px,5vw,80px)}.engagement-intro{width:min(100%,1120px);margin:0 auto}.engagement-intro h2{max-width:900px;margin:0 0 24px;font-size:clamp(48px,7vw,100px);line-height:.92}.engagement-intro>p:last-child{font:500 13px var(--mono);text-transform:uppercase;letter-spacing:.06em;margin:0}.engagement-grid{grid-template-columns:1fr 1fr;gap:52px;width:min(100%,1120px);margin:clamp(55px,8vw,100px) auto 0;display:grid}.engagement-grid .eyebrow{margin-bottom:20px}.engagement-grid ul{max-width:560px;margin:0;padding:0;font-size:clamp(18px,2vw,26px);line-height:1.2;list-style:none}.engagement-grid li{border-top:1px solid var(--line);padding:15px 0}.engagement-grid li:last-child{border-bottom:1px solid var(--line)}.engagement-formats{flex-wrap:wrap;gap:9px;display:flex}.engagement-formats span{border:1px solid var(--page-text);font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.04em;padding:10px 14px}.services{padding:clamp(65px,9vw,125px) clamp(24px,5vw,80px) clamp(88px,12vw,170px)}.service-groups{margin-top:0}.service-group+.service-group{margin-top:100px}.service-group-title{border-bottom:1px solid var(--page-text);font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.08em;padding-bottom:15px;display:flex}.service-group-title p{margin:0}.service{border-bottom:1px solid var(--line)}.service summary{cursor:pointer;grid-template-columns:45px 1fr;align-items:center;gap:20px;padding:25px 0;list-style:none;display:grid}.service summary::-webkit-details-marker{display:none}.service-mark{color:var(--accent);font:300 27px var(--sans);justify-self:start;transition:transform .25s}.service-title{letter-spacing:-.05em;font-size:clamp(26px,4vw,54px);line-height:1}.service[open] .service-mark{transform:rotate(45deg)}.service-detail{grid-template-columns:45px minmax(0,580px);gap:20px;padding:0 40px 30px 65px;display:grid}.service-detail p{grid-column:2;margin:0;font-size:18px;line-height:1.45}.service-detail a{font:500 11px var(--mono);text-transform:uppercase;border-bottom:1px solid;grid-column:2;justify-self:start;margin-top:15px;padding-bottom:5px}.service-detail a span,.contact-link span{color:var(--action-accent)}.contact{background:var(--surface-bg);flex-direction:column;min-height:0;padding:clamp(48px,6vw,80px) clamp(24px,5vw,80px) 50px;display:flex}.contact h2{max-width:940px;margin-top:13px;font-size:clamp(52px,6vw,88px);line-height:.94}.contact-link{font:500 clamp(17px, 2vw, 28px)/1.2 var(--mono);letter-spacing:-.05em;border-bottom:2px solid;align-self:flex-start;margin-top:clamp(34px,4vw,55px);padding-bottom:9px}footer{background:var(--inverted-bg);color:var(--inverted-text);font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;gap:24px;padding:24px clamp(24px,5vw,80px);display:flex}.service-page{min-height:100vh;padding:0 clamp(24px,5vw,80px) 100px}.service-page article{max-width:850px;margin:clamp(80px,12vw,170px) auto 0}.service-page .back-link{margin-bottom:90px;display:inline-block}.service-page h1{margin-bottom:45px;font-size:clamp(58px,9vw,130px)}.service-intro{letter-spacing:-.04em;max-width:650px;margin:0 0 90px;font-size:clamp(22px,3vw,38px);line-height:1.15}.prose{max-width:650px;font-size:18px;line-height:1.6}.prose h2{font:400 38px/1 var(--display);letter-spacing:-.02em;margin:65px 0 18px}.prose p,.prose ul{margin:0 0 24px}.prose li{margin-bottom:9px}.service-page .contact-link{margin-top:100px}.not-found{flex-direction:column;align-items:flex-start;min-height:calc(100vh - 86px);padding:26px clamp(24px,5vw,80px);display:flex}.not-found .eyebrow{margin-top:auto}.not-found h1{max-width:800px}.not-found .contact-link{margin-top:50px}@media (width<=650px){.site-header{padding-top:20px;padding-bottom:20px}.nav{align-items:flex-start}.nav-actions{gap:14px}.nav-contact{font-size:10px}.hero-content{height:auto;padding:28px 0 0;display:block}.hero-bottom{grid-template-columns:1fr;margin-top:28px}.hero-portrait{height:390px;margin:46px 0 0}.engagement-grid{grid-template-columns:1fr;gap:48px}.service summary{grid-template-columns:36px 1fr;gap:10px}.service-detail{padding:0 0 26px 46px;display:block}.service-detail a{display:inline-block}.service-group+.service-group{margin-top:75px}footer{flex-direction:column}.service-page article{margin-top:80px}.service-page .back-link{margin-bottom:60px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-mark,.theme-icon{transition:none}}
