@font-face{font-family:Manrope;src:url(manrope.woff2) format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:Instrument;src:url(instrument-serif-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{color-scheme:light;--paper:#f4efe5;--ink:#1d1b17;--soft:#595249;--red:#ef4a33;--red-ink:#b22e21;--brown:#201e19;--muted:#c4bbab;--border:#cfc5b5;--pad:clamp(20px,4.5vw,80px);--font:Manrope,Arial,sans-serif;--serif:Instrument,Georgia,serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:500 16px/1.55 var(--font);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}p,h1,h2,h3,figure{margin:0}em{font-family:var(--serif);font-weight:400}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:5px}[hidden]{display:none!important}.shell{width:min(100% - 2*var(--pad),1490px);margin-inline:auto}.kicker{font:600 10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.13em}.signal{display:inline-block;width:8px;height:8px;background:var(--red);border-radius:50%;margin-right:10px;vertical-align:1px}.skip{position:absolute;left:var(--pad);top:8px;transform:translateY(-150%);padding:9px 16px;background:var(--ink);color:var(--paper);z-index:10}.skip:focus{transform:none}
.mast{border-bottom:1px solid var(--border)}.mast-inner{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:26px;line-height:.78;font-weight:800;letter-spacing:-.09em;text-decoration:none;display:inline-flex;flex-direction:column;width:max-content}.wordmark>span{padding-left:.58em}.mark-period{color:var(--red-ink)}.mast nav{display:flex;align-items:center;gap:clamp(16px,3vw,42px);font-size:13px;font-weight:750}.mast nav>a:not(.button){text-decoration:none}.mast nav>a:not(.button):hover{text-decoration:underline;text-underline-offset:4px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;width:fit-content;min-height:44px;padding:10px 15px;border:1px solid currentColor;text-decoration:none;font-size:13px;font-weight:800;transition:background .2s,color .2s,border-color .2s}.button span,.text-link span{font-size:17px;line-height:1;transition:transform .2s}.button:hover span,.text-link:hover span{transform:translate(3px,-2px)}.mast-cta:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.hero{display:grid;grid-template-columns:minmax(0,.81fr) minmax(0,1.19fr);gap:clamp(24px,4vw,68px);align-items:center;padding-block:clamp(37px,5vw,78px) clamp(47px,6vw,97px)}.hero-label{color:var(--soft);margin-bottom:clamp(21px,3vw,36px)}.hero h1{font-size:clamp(58px,7.15vw,124px);font-weight:800;line-height:.86;letter-spacing:-.091em;margin-left:-.066em}.hero h1 em{font-size:1.16em;line-height:.68;letter-spacing:-.042em;color:var(--red-ink)}.hero-intro{font-size:clamp(16px,1.32vw,20px);line-height:1.48;max-width:365px;margin-top:clamp(27px,3vw,44px);color:var(--soft);font-weight:600}.text-link{display:inline-flex;align-items:center;gap:13px;text-decoration:none;border-bottom:1px solid currentColor;padding:0 0 4px;margin-top:22px;font-size:13px;font-weight:800}.text-link span{color:var(--red-ink)}.hero-frame{position:relative}.hero-image{position:relative;overflow:hidden;background:#33271d;aspect-ratio:1.24}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:56% 50%;animation:arrive .72s ease-out both}.frame-caption{display:flex;justify-content:space-between;gap:10px;margin-top:9px;color:var(--soft)}.seal{position:absolute;width:clamp(65px,8vw,125px);right:clamp(-16px,-1vw,-8px);top:clamp(-19px,-1.1vw,-10px);rotate:12deg;pointer-events:none}.seal svg{display:block;width:100%;overflow:visible;filter:drop-shadow(0 2px 2px #16090036)}.seal circle{fill:var(--red);stroke:var(--paper);stroke-width:1.3}.seal text{fill:var(--ink);font:800 10px var(--font);letter-spacing:.07em}.seal-star{fill:var(--ink)}.image-cross{position:absolute;width:15px;height:15px;border-style:solid;border-color:#f6edddbd;border-width:0}.image-cross.top-left{left:11px;top:11px;border-left-width:1px;border-top-width:1px}.image-cross.bottom-right{right:11px;bottom:11px;border-right-width:1px;border-bottom-width:1px}
section[id]{scroll-margin-top:17px}.ethos{background:var(--brown);color:var(--paper)}.ethos-inner{padding-block:clamp(34px,5vw,72px) clamp(55px,7vw,102px)}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid var(--border);color:var(--soft)}.ethos .section-bar{border-color:#625d50;color:#dfd4c2}.ethos-head{display:grid;grid-template-columns:1fr minmax(210px,330px);align-items:end;gap:28px;margin:clamp(23px,3.6vw,48px) 0 clamp(25px,4vw,50px)}.ethos-head h2,.approach h2,.contact h2{font-size:clamp(46px,6.6vw,108px);font-weight:800;line-height:.89;letter-spacing:-.088em;margin-left:-.055em}.ethos-head h2 em,.approach h2 em,.contact h2 em{font-size:1.13em;letter-spacing:-.038em;line-height:.72}.ethos-head h2 em{color:#f49c83}.ethos-head>p{max-width:310px;font-size:clamp(15px,1.3vw,18px);line-height:1.55;color:#ded2c0}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #625d50;gap:0;margin-bottom:18px}.tabs button{border:0;border-right:1px solid #625d50;background:none;color:#f0e7d7;padding:13px clamp(6px,1.5vw,19px);text-align:left;min-height:48px;font-size:clamp(12px,1.45vw,17px);font-weight:800;cursor:pointer;transition:background .2s,color .2s;letter-spacing:-.025em}.tabs button:last-child{border-right:0}.tabs button[aria-selected=true]{background:var(--red);color:var(--ink)}.tabs button:not([aria-selected=true]):hover{background:#353025}.tabs button:focus-visible{outline-color:var(--paper);outline-offset:-4px}.tab-no{font:600 10px var(--mono);margin-right:.65em;opacity:.78}.panel{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,80px)}.panel+.panel{margin-top:26px}.panel[hidden]+.panel{margin-top:0}.panel.is-entering .scene-media,.panel.is-entering .scene-copy{animation:panel-enter .42s cubic-bezier(.22,.73,.25,1) both}.panel.is-entering .scene-copy{animation-delay:.035s}.scene-media{position:relative;min-width:0}.scene-figure img{width:100%;height:auto;aspect-ratio:1.9;object-fit:cover;background:#352c21}.scene-figure figcaption{margin-top:9px;color:#cfc2ad}.scene-inset{position:absolute;right:2.5%;bottom:16%;width:clamp(62px,21%,171px);rotate:7deg;border:5px solid var(--paper);background:var(--paper);box-shadow:0 6px 23px #160b0980}.scene-inset img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 74%}.scene-inset figcaption{color:var(--ink);font-size:clamp(6px,1vw,10px);letter-spacing:.05em;margin:5px 1px 1px}.scene-kicker{color:#f49c83;margin-bottom:13px}.scene-copy h3{font-size:clamp(31px,4.35vw,72px);font-weight:800;letter-spacing:-.075em;line-height:.96;margin-bottom:15px}.scene-copy h3 em{font-size:1.11em;letter-spacing:-.035em}.scene-copy>p:last-child{max-width:34ch;color:#ded2c0;font-size:clamp(14px,1.25vw,18px);line-height:1.54}
.approach{padding-block:clamp(39px,6vw,90px) clamp(48px,7vw,107px)}.approach h2{margin-block:clamp(28px,4vw,59px) clamp(24px,4vw,60px)}.approach h2 em{color:var(--red-ink)}.steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,45px)}.steps li{border-top:1px solid var(--border);padding-top:14px}.steps .kicker{color:var(--red-ink);margin-bottom:13px}.steps h3{font-size:clamp(18px,2vw,29px);line-height:1.1;letter-spacing:-.06em;font-weight:800;margin-bottom:9px}.steps li>p:last-child{color:var(--soft);max-width:34ch;font-size:14px}
.contact{background:#e8d9bc;border-block:1px solid #c9b997}.contact-inner{padding-block:clamp(37px,5.6vw,84px);display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,.62fr);align-items:end;gap:30px}.contact h2{margin-top:18px}.contact h2 em{color:var(--red-ink)}.contact-action{padding-bottom:3px}.contact-action p{max-width:30ch;margin-bottom:19px;color:#4d4032}.contact-button{background:var(--ink);color:var(--paper);border-color:var(--ink);min-height:51px;padding-inline:17px}.contact-button:hover{color:var(--ink);background:var(--red);border-color:var(--ink)}.footer .shell{display:flex;justify-content:space-between;gap:23px;align-items:center;padding-block:24px 27px}.footer .wordmark{font-size:21px}.footer p{color:var(--soft)}.footer .back{text-underline-offset:3px}
@keyframes arrive{from{opacity:.64;transform:scale(1.045)}to{opacity:1;transform:none}}
@keyframes panel-enter{from{opacity:.1;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes print-reveal{from{clip-path:inset(0 0 100% 0);transform:translateY(5px)}to{clip-path:inset(0);transform:none}}
@media(max-width:1050px){.hero-image{aspect-ratio:1.07}.hero h1{font-size:clamp(53px,7.25vw,88px)}.hero h1 em{font-size:1.13em}.scene-figure img{aspect-ratio:1.62}}
@media(max-width:760px){.mast-inner{min-height:61px}.mast nav{gap:12px}.mast .nav-work,.mast .nav-approach{display:none}.mast .wordmark{font-size:24px}.mast-cta{min-height:39px;gap:9px;font-size:11px;padding:7px 10px}.hero{display:block;padding-top:36px;padding-bottom:39px}.hero h1{font-size:clamp(58px,12vw,91px)}.hero h1 em{font-size:1.16em}.hero-label{margin-bottom:19px}.hero-intro{max-width:37ch;margin-top:23px}.text-link{margin-top:14px}.hero-frame{margin-top:29px}.hero-image{aspect-ratio:1.27}.seal{width:70px;right:-8px;top:-11px}.section-bar{padding-bottom:12px}.ethos-head,.contact-inner{grid-template-columns:1fr;gap:19px;align-items:start}.ethos-head h2,.approach h2,.contact h2{font-size:clamp(47px,10vw,77px)}.ethos-head>p{max-width:40ch}.panel{grid-template-columns:1fr;gap:17px}.scene-figure img{aspect-ratio:1.58}.scene-copy h3{font-size:clamp(35px,7vw,57px);margin-bottom:8px}.scene-kicker{margin-bottom:8px}.scene-copy>p:last-child{max-width:45ch}.steps{grid-template-columns:1fr;gap:17px}.steps li{display:grid;grid-template-columns:1fr;gap:4px}.steps .kicker,.steps h3{margin-bottom:0}.steps li>p:last-child{max-width:47ch}.contact-action p{margin-bottom:12px}.footer .shell{gap:12px}.footer .back{display:none}.footer p{text-align:right;max-width:20ch}}
@media(max-width:390px){.hero h1{font-size:clamp(50px,13.7vw,58px)}.hero-label,.section-bar,.frame-caption{font-size:9px;letter-spacing:.09em}.frame-caption span:last-child{text-align:right}.tabs button{font-size:12px}.tab-no{font-size:9px;margin-right:.15em}.ethos-head h2,.approach h2,.contact h2{font-size:45px}}
.hero h1,.ethos-head h2,.approach h2,.contact h2,.scene-copy h3{letter-spacing:-.065em;word-spacing:.045em}
.hero h1 em,.ethos-head h2 em,.approach h2 em,.contact h2 em,.scene-copy h3 em{letter-spacing:-.027em}
.panel.is-entering .scene-figure img{animation:print-reveal .46s cubic-bezier(.22,.73,.25,1) both}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
