@font-face{font-family:Caslon;src:url('/assets/fonts/libre-caslon-text.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Archivo;src:url('/assets/fonts/archivo.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--foundation:#0f1f1b;--stone:#e8e5de;--fern:#4f6b5f;--clay:#b55a3c;--graphite:#2b2b2b;--ink:#15251f;--line:#c2c6bc;scroll-behavior:smooth;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--foundation);color:var(--ink);font-family:Archivo,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2{font-family:Caslon,Georgia,serif;font-weight:450;letter-spacing:-.045em}p{line-height:1.55}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}button,input,textarea{font:inherit}img{display:block;max-width:100%;height:auto}section,[id]{scroll-margin-top:24px}.shell{width:calc(100% - 112px);max-width:1320px;margin-inline:auto}.eyebrow{text-transform:uppercase;font-size:11px;line-height:1.6;letter-spacing:.18em;font-weight:500}.skip{position:fixed;top:12px;left:16px;z-index:10;padding:14px;background:var(--stone);color:var(--foundation);transform:translateY(-150%)}.skip:focus{transform:none}
.hero-wrap{position:relative;color:var(--stone);background:var(--foundation);isolation:isolate}.hero-image{position:absolute;inset:0;z-index:-2}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:center 56%}.hero-wrap:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,23,17,.88),rgba(7,23,17,.38) 62%,rgba(7,23,17,.15)),linear-gradient(180deg,rgba(7,23,17,.6),transparent 45%,rgba(7,23,17,.12))}.site-header{position:absolute;top:0;left:0;right:0;z-index:2;color:var(--stone);display:flex;justify-content:space-between;align-items:center;padding-block:26px;gap:32px;border-bottom:1px solid #e8e5de38}.brand{width:185px;flex-shrink:0}.brand img{mask-image:url('/assets/wordmark-white-on-black.png');mask-mode:luminance;mask-size:100% 100%;-webkit-mask-image:url('/assets/wordmark-white-on-black.png');-webkit-mask-size:100% 100%}.site-header nav{display:flex;gap:34px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.site-header nav a{min-height:44px;display:inline-flex;align-items:center}.site-header .nav-contact{padding:11px 23px;border:1px solid #e8e5de80;color:var(--stone)}.hero{display:grid;grid-template-columns:1fr 170px;gap:45px;align-items:end;padding-block:210px 86px;min-height:710px}.hero-copy .eyebrow{margin-bottom:24px}.hero h1{font-size:clamp(48px,5.45vw,78px);line-height:1.12;letter-spacing:-.045em}.hero h1 span{display:block}.hero-description{margin-top:29px;font-size:19px;line-height:1.5;max-width:540px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:48px;padding:14px 21px;font-size:12px;line-height:1.3;font-weight:600;letter-spacing:.04em;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,transform .2s}.button:hover{text-decoration:none;transform:translateY(-1px)}.button:active{transform:translateY(0)}.button span[aria-hidden]{font-size:20px;line-height:1}.button-light{background:var(--stone);color:var(--foundation)}.button-light:hover{background:white}.hero .button{margin-top:27px}.hero-note{border-left:1px solid #e8e5de80;padding:10px 0 4px 24px;margin-bottom:1px}.hero-note p{font-size:10px;letter-spacing:.17em;line-height:2.15;text-transform:uppercase}.hero-note>span{display:block;width:26px;height:1px;background:var(--stone);margin:44px 0 18px}
.approach{background:var(--stone);padding:68px 0 63px}.approach-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:88px}.approach h2{font-size:clamp(35px,3.5vw,50px);line-height:1.2;margin-top:23px}.approach-copy{padding-top:32px;max-width:580px}.approach-copy .lead{font-family:Caslon,Georgia,serif;font-size:27px;line-height:1.4;letter-spacing:-.035em;margin-bottom:20px}.approach-copy p{font-size:17px;line-height:1.6}.approach-copy p+p{margin-top:16px} .work{background:var(--foundation);color:var(--stone);padding:65px 0 46px}.work>.shell{display:grid;grid-template-columns:.68fr 1.32fr;column-gap:84px}.section-heading{grid-column:1;grid-row:1 / span 2}.section-heading h2{font-size:clamp(40px,4.35vw,62px);line-height:1.12;margin-top:23px}.work-intro{font-size:16px;line-height:1.6;color:#c5cec4;max-width:300px;margin-top:26px}.work-grid{grid-column:2;display:grid;grid-template-columns:1fr}.work-grid article{display:grid;grid-template-columns:34px 1fr;gap:24px;border-top:1px solid #e8e5de3d;padding:26px 0 30px}.work-grid article>div{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}.work-number{font-size:11px;letter-spacing:.08em;line-height:1.7;color:#a8bdb0}.work h3{font-size:21px;line-height:1.3;font-weight:550;letter-spacing:-.025em}.work article p{font-size:16px;line-height:1.55;color:#c5cec4}.continuity{grid-column:2;font-size:13px;color:#a8bdb0;border-top:1px solid #e8e5de3d;padding-top:20px;margin-top:0;max-width:740px}.about{background:var(--fern);color:var(--stone);padding:57px 0}.about-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:84px;align-items:start}.about h2{font-size:clamp(35px,3.55vw,51px);line-height:1.15;margin-top:23px}.about-copy{padding-top:6px}.about-copy>p:first-child{font-size:19px;line-height:1.6;max-width:760px}.about p.sibling{font-size:14px;line-height:1.6;margin-top:24px;padding-top:20px;border-top:1px solid #e8e5de45}.sibling a{text-decoration:underline;text-underline-offset:4px}

.contact{background:var(--stone);padding:40px 0}.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;grid-template-rows:auto 1fr;column-gap:88px;row-gap:24px;align-items:start}.contact-intro{grid-column:1;grid-row:1}.contact-intro h2{font-size:46px;line-height:1.17;margin-top:14px}.contact-intro>p:last-child{font-size:17px;max-width:350px;margin-top:15px}.contact-direct{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;column-gap:24px;row-gap:9px;font-size:17px}.contact-direct p{width:100%;font-size:12px;color:#59665e}.contact-direct a{min-height:30px}.contact-direct a:first-of-type{text-decoration:underline;text-underline-offset:5px}#inquiry-form{grid-column:2;grid-row:1 / span 2}fieldset{min-width:0;border:0;padding:0;margin:0}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-pair+.form-field{margin-top:15px}label{font-size:13px;font-weight:500;display:block;margin-bottom:7px}label span{font-size:11px;font-weight:400;color:#59665e}input,textarea{width:100%;display:block;border:1px solid #959e93;border-radius:0;background:#ffffff42;color:var(--foundation);padding:11px 12px;font-size:16px;line-height:1.4}input{min-height:45px}textarea{min-height:100px;resize:vertical}input:focus-visible,textarea:focus-visible{outline:2px solid var(--fern);outline-offset:3px}[aria-invalid=true]{border-color:#933726}.field-error,.form-error{font-size:13px;line-height:1.4;color:#8b3020;margin-top:8px}.form-trap,.visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap;border:0;padding:0}#form-verification{min-height:65px;margin-top:12px}.form-bottom{display:flex;gap:25px;align-items:center;justify-content:space-between;margin-top:13px}.form-notice{font-size:11px;line-height:1.4;max-width:220px;color:#59665e}.button-rust{background:#9c4c33;color:white;flex-shrink:0}.button-rust:hover{background:#813d29}button:disabled{opacity:.55;cursor:wait}#form-status{font-size:14px;line-height:1.5;margin-top:12px}#form-status:empty{display:none}#form-status:focus{outline:none}.is-success{padding:18px;border-left:3px solid var(--fern);background:#ffffff55}
.footer{padding:25px 0 19px;background:var(--foundation);color:var(--stone)}.footer-top{display:flex;align-items:center;gap:26px;padding-bottom:23px;border-bottom:1px solid #e8e5de30}.footer-top img{width:53px}.footer-top p{font-family:Caslon,Georgia,serif;font-size:22px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:15px;color:#c6cdc4;font-size:10px;line-height:1.5}.footer-bottom p:last-child{text-align:right}
@media(max-width:1100px){.shell{width:calc(100% - 72px)}.hero{grid-template-columns:1fr 132px;gap:26px;padding-block:190px 68px;min-height:670px}.hero h1{font-size:5.6vw}.hero-note{padding-left:18px}.hero-note p{font-size:9px}.site-header nav{gap:24px}.approach-grid,.about-grid,.contact-grid,.work>.shell{column-gap:45px}.work-grid article>div{display:block}.work article p{margin-top:12px}.contact-intro h2{font-size:40px}.form-bottom{gap:15px}.form-notice{max-width:165px}}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-note{display:none}.hero h1{font-size:7vw}.hero-description{max-width:540px}.brand{width:155px}.site-header nav{gap:18px}.work>.shell,.about-grid{grid-template-columns:.8fr 1.2fr}.work h3{font-size:20px}.work-intro{font-size:15px}.work-grid article{gap:15px;grid-template-columns:23px 1fr}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.site-header{padding-block:20px;gap:16px;align-items:center;flex-wrap:wrap}.brand{width:145px}.site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.035em}.site-header nav a{min-height:35px}.site-header .nav-contact{background:transparent;border:0;padding:0;color:var(--stone)}.hero{display:block;min-height:0;padding-block:198px 48px}.hero h1{font-size:clamp(37px,7.9vw,60px);line-height:1.17;max-width:610px}.hero-copy .eyebrow{font-size:9px;margin-bottom:22px}.hero-description{font-size:17px;max-width:440px;margin-top:26px}.hero .button{margin-top:23px;font-size:11px}.hero-note{display:none}.hero-image img{object-position:64% center}.hero-wrap:after{background:linear-gradient(90deg,rgba(7,23,17,.83),rgba(7,23,17,.38)),linear-gradient(180deg,rgba(7,23,17,.55),transparent 50%)}.approach{padding-block:38px}.approach-grid{grid-template-columns:1fr;gap:22px}.eyebrow{font-size:10px}.approach h2{font-size:34px;line-height:1.2;margin-top:17px}.approach-copy{padding-top:0}.approach-copy .lead{font-size:23px;line-height:1.4;margin-bottom:17px}.approach-copy p{font-size:16px;line-height:1.55}.work{padding-block:36px}.work>.shell{display:block}.section-heading h2{font-size:37px;line-height:1.15;margin-top:17px}.section-heading h2 br{display:none}.work-intro{font-size:15px;max-width:440px;margin-top:19px;margin-bottom:27px}.work-grid article{grid-template-columns:23px 1fr;gap:15px;padding-block:22px}.work h3{font-size:20px}.work article p{font-size:15px;margin-top:10px}.continuity{font-size:13px;line-height:1.55;padding-top:18px}.about{padding-block:36px}.about-grid{grid-template-columns:1fr;gap:23px}.about h2{font-size:35px;line-height:1.2;margin-top:16px}.about h2 br{display:none}.about-copy{padding:0}.about-copy>p:first-child{font-size:17px;line-height:1.65}.about p.sibling{font-size:13px;margin-top:20px;padding-top:18px}.contact{padding-block:27px;scroll-margin-top:10px}.contact-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:19px}.contact-intro,#inquiry-form,.contact-direct{grid-column:auto;grid-row:auto}.contact-intro h2{font-size:33px;line-height:1.15;margin-top:10px}.contact-intro h2 br{display:none}.contact-intro>p:last-child{font-size:15px;line-height:1.45;margin-top:10px;max-width:440px}.form-pair{gap:12px}.form-pair+.form-field{margin-top:13px}label{font-size:12px}label span{font-size:10px}input{min-height:44px;padding:10px}textarea{min-height:86px;padding:10px}.form-bottom{gap:16px}.form-notice{font-size:10px;max-width:160px}.button-rust{font-size:11px;gap:16px;min-height:46px;padding:12px 15px}.contact-direct{gap:4px 18px;font-size:14px}.contact-direct p{font-size:11px}.contact-direct a{min-height:28px}.footer{padding-block:20px 16px}.footer-top{gap:15px;padding-bottom:16px}.footer-top img{width:42px}.footer-top p{font-size:16px;max-width:230px;line-height:1.4}.footer-bottom{display:block;font-size:9px;padding-top:12px}.footer-bottom p:last-child{text-align:left;margin-top:8px;max-width:330px}}
@media(max-width:360px){.hero h1{font-size:34px}.hero{padding-top:188px}.hero-description{font-size:16px}.approach h2,.section-heading h2,.about h2{font-size:30px}.form-bottom{align-items:stretch;flex-direction:column;gap:10px}.form-notice{max-width:none}.button-rust{width:100%}#form-verification{min-height:150px}.contact-intro h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}.button:hover{transform:none}}

.not-found{min-height:100svh;display:grid;align-content:center;gap:24px;color:var(--stone);padding-block:60px}.not-found img{width:95px}.not-found h1{font-size:clamp(48px,7vw,90px)}.not-found p{font-size:18px;max-width:560px}.not-found .button{justify-self:start}
