:root {
  --ink:#163c36;
  --ink-deep:#102e2a;
  --body:#4d5e56;
  --muted:#7d8981;
  --line:#dbe0d7;
  --paper:#fbfaf6;
  --cream:#f2f0e8;
  --sage:#dde6da;
  --rose:#e8cfba;
  --serif: Georgia,'Times New Roman',serif;
  --sans: -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,Helvetica,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}
button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13}address{font-style:normal}
:focus-visible{outline:3px solid #c59274;outline-offset:4px}
.wrap{width:min(1192px,calc(100% - 64px));margin:0 auto}
.skip-link{position:absolute;left:15px;top:-70px;z-index:100;background:#fff;color:var(--ink);padding:10px 16px}.skip-link:focus{top:15px}
.site-header{position:relative;z-index:40;background:var(--paper);border-bottom:1px solid #edf0e9}
.header-inner{height:100px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.logo{display:flex;align-items:center;gap:12px;min-width:230px}
.logo-symbol{position:relative;background:var(--ink);color:#fff8ed;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;font-family:var(--serif);font-size:21px;letter-spacing:-3px;padding-right:4px;font-weight:700}
.logo-symbol span{position:absolute;color:#e2ae87;right:3px;top:-10px;font:24px var(--serif);letter-spacing:0}
.logo-copy{font-size:15px;font-weight:520;letter-spacing:.16em;line-height:1.4;color:var(--ink-deep)}.logo-copy strong{font-weight:850}.logo-copy small{display:block;color:#89968a;font-size:8px;letter-spacing:.36em;margin-top:3px;font-weight:700}
.main-nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:660;letter-spacing:.01em}.main-nav>a:not(.nav-cta){color:#455b51;transition:color .2s}.main-nav>a:hover,.main-nav>a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-color:#ba947a;text-decoration-thickness:2px;text-underline-offset:8px}
.nav-cta{background:var(--ink);color:white;border-radius:999px;padding:13px 20px 13px 24px;transition:background .2s,transform .2s}.nav-cta:hover{background:#25574c;transform:translateY(-2px)}.nav-cta span{margin-left:12px;font-size:18px}
.menu-toggle{display:none;background:transparent;border:0;padding:10px;align-items:center;flex-direction:column;gap:5px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px}
.section{padding:112px 0}.section-label,.eyebrow{font-weight:800;font-size:10px;letter-spacing:.22em;text-transform:uppercase}.section-label{color:#7d9588}.eyebrow{color:#d5e3d6;display:inline-flex;align-items:center;gap:12px}.eyebrow-dot{width:7px;height:7px;background:#d6ab89;border-radius:50%}
h1,h2{letter-spacing:-.045em}h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.065em}
.button{display:inline-flex;align-items:center;justify-content:center;gap:44px;min-height:58px;border-radius:999px;padding:16px 24px;border:1px solid transparent;font-size:13px;font-weight:800;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:18px;font-weight:400}.button-light{color:var(--ink);background:#fff9eb}.button-light:hover{background:white}.button-dark{color:white;background:var(--ink);border-color:var(--ink)}.button-dark:hover{background:#29564c}
.text-link{display:inline-flex;align-items:center;gap:28px;padding:11px 0;border-bottom:1px solid var(--ink);font-weight:750;font-size:13px;white-space:nowrap;transition:gap .2s}.text-link:hover{gap:39px}.text-link span{font-size:17px;font-weight:400}.text-link-light{color:#f9fff8;border-color:#91ab9e}
.hero{background:var(--ink);color:#fff;overflow:hidden}.hero-grid{min-height:682px;display:grid;grid-template-columns:52% 48%;align-items:center;gap:0}.hero-copy{position:relative;z-index:2;padding:84px 15px 100px 0}.hero-copy h1{font-size:clamp(68px,7.4vw,115px);line-height:1.07;font-weight:580;margin:30px 0 27px;color:#f7f6ed}.hero-copy h1 em{color:#e6c2a8}.hero-copy>p{font-size:17px;color:#d4e1d7;max-width:480px;line-height:1.85}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:38px}.hero-bottom{display:flex;align-items:center;gap:13px;border-top:1px solid #45655b;margin-top:75px;padding-top:24px;font-size:11px;line-height:1.5;letter-spacing:.07em;color:#aac0b1;text-transform:uppercase}.asterisk{font-size:35px;color:#e4bc9e;line-height:1}
.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:660px}.hero-art>img{width:112%;max-width:none;transform:translate(5%,0)}.hero-art-badge{position:absolute;bottom:84px;left:16px;width:118px;height:118px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;background:#f3e9db;color:var(--ink);transform:rotate(-10deg);box-shadow:0 10px 25px #071c1930}.hero-art-badge span{font-family:var(--serif);font-size:23px}.hero-art-badge b{font-size:8px;letter-spacing:.12em}
.hero-ticker{height:64px;border-top:1px solid #45655b;white-space:nowrap;overflow:hidden;display:flex;gap:60px;align-items:center;justify-content:center;color:#acc3b5;letter-spacing:.22em;font-size:11px;font-weight:850}.hero-ticker span{flex-shrink:0}.hero-ticker b{color:#ddb59b;padding:0 30px;font-size:16px}
.intro-grid{display:grid;grid-template-columns:32% 68%;gap:20px}.section-intro{background:#fbfaf6}.intro-grid h2,.section-heading h2,.approach-grid h2,.about-content h2,.identity-grid h2,.contact-aside h2{font-size:clamp(40px,4.5vw,65px);line-height:1.18;font-weight:550;margin:0 0 21px}.intro-grid h2 em,.section-heading h2 em,.approach-grid h2 em,.about-content h2 em,.identity-grid h2 em,.contact-aside h2 em{color:#809b88}.lead{font-size:20px;line-height:1.8;color:#516158;max-width:715px;margin-bottom:26px}
.section-work{background:var(--cream)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:43px}.section-heading h2{margin:13px 0 0}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:57px 25px}.work-card{min-width:0}.work-card[hidden]{display:none!important}.work-cover{display:block;overflow:hidden;position:relative;background:#dfe4dc;aspect-ratio:1.2;border-radius:6px}.work-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.work-cover:hover img{transform:scale(1.055)}.work-cover-arrow{position:absolute;top:18px;right:18px;background:#fffbf2;border-radius:50%;display:grid;place-items:center;width:42px;height:42px;font-size:23px;font-weight:300;color:var(--ink);transition:transform .3s}.work-cover:hover .work-cover-arrow{transform:rotate(45deg)}.work-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:750;letter-spacing:.15em;color:#778b7e;text-transform:uppercase;margin:22px 0 9px}.work-card h3{font-size:27px;letter-spacing:-.035em;font-weight:590;margin:0 0 10px}.work-card p{margin:0;color:#6c7970;max-width:460px;font-size:14px;line-height:1.8}.small-disclaimer{font-size:12px;color:#758278;border-top:1px solid var(--line);margin:47px 0 0;padding-top:20px}
.section-approach{background:#fbfaf6}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach-grid h2{margin-top:15px}.approach-grid>div>p{color:var(--body);font-size:16px;max-width:430px;line-height:1.85;margin:23px 0 30px}.approach-list{padding-top:15px}.approach-list article{display:grid;grid-template-columns:39px 1fr 22px;gap:17px;border-bottom:1px solid var(--line);padding:28px 0}.approach-list article:first-child{border-top:1px solid var(--line)}.approach-list article>span{color:#9ba69a;font-size:14px}.approach-list h3{font-size:19px;letter-spacing:-.025em;font-weight:650;margin-bottom:9px}.approach-list p{font-size:13px;color:#6d7c70;margin:0;line-height:1.8}
.contact-band{background:#dce5db;padding:65px 0}.contact-band-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-band h2{font-size:clamp(48px,5.1vw,75px);font-weight:560;margin:13px 0 0}.contact-band h2 em{color:#728d7c}.round-link{width:110px;height:110px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-size:43px;line-height:1;transition:transform .2s,background .2s}.round-link:hover{transform:rotate(35deg);background:#295b4f}
.site-footer{background:#112f2a;color:#dce6db}.footer-main{padding:78px 0 67px;display:grid;grid-template-columns:1.55fr .75fr .85fr 1.15fr;gap:35px}.footer-wordmark{font-size:20px;letter-spacing:.12em;font-weight:500;color:white;margin:0 0 22px;white-space:nowrap}.footer-wordmark span{font-weight:850}.footer-wordmark i{font-style:normal;color:#d7ac89;vertical-align:top}.footer-brand>p:not(.footer-wordmark){font-size:13px;line-height:1.85;color:#b0c2b5;max-width:270px}.footer-tag{display:inline-block;border:1px solid #5a7467;color:#b4c8ba;border-radius:999px;padding:6px 11px;font-size:9px;letter-spacing:.1em;font-weight:750;margin-top:13px}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:10px;font-size:12px}.footer-links h2,.footer-contact h2{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:white;margin-bottom:14px;font-weight:800}.footer-links>a,.footer-contact>a{color:#c0d1c3}.footer-links>a:hover,.footer-contact>a:hover{text-decoration:underline}.footer-contact a{overflow-wrap:anywhere}.footer-contact address{margin-top:9px;color:#9cb2a4;line-height:1.95}.footer-base{border-top:1px solid #36554a;display:flex;justify-content:space-between;gap:20px;padding:23px 0 31px}.footer-base p{font-size:11px;color:#9db4a5;line-height:1.75;margin:0}.footer-base p:last-child{text-align:right;max-width:330px}
.interior-hero{background:#e8ede4;padding:91px 0 105px}.interior-hero .section-label{color:#68877a}.interior-title{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-top:29px}.interior-title h1{font-size:clamp(60px,8vw,112px);font-weight:560;line-height:1.04;max-width:830px;margin:0}.interior-title h1 em{color:#799887}.interior-title p{font-size:15px;color:#587064;line-height:1.85;max-width:325px;min-width:240px;margin:0 0 10px}
.portfolio-page{padding-top:55px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:38px}.filter-button{border:1px solid #cad6ca;border-radius:100px;background:transparent;padding:11px 18px;color:#536b5d;font-weight:700;font-size:12px;transition:background .2s,color .2s}.filter-button:hover,.filter-button.is-active{background:var(--ink);border-color:var(--ink);color:white}.filter-button span{font-size:10px;margin-left:9px;opacity:.75}.note-panel{display:flex;align-items:start;gap:20px;margin-top:56px;padding:23px 25px;background:#fffaf4;border-left:3px solid #c3a085;color:#6d796f}.note-panel>span{font-size:29px;color:#ad795d;line-height:1}.note-panel p{font-size:12px;line-height:1.8;margin:0}
.about-section{background:#fbfaf6}.about-grid{display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:100px}.about-art{background:#d9e2d5;overflow:hidden}.about-art img{width:100%;height:100%;object-fit:cover}.about-content h2{margin-top:17px}.about-content p{font-size:15px;line-height:1.9;color:var(--body)}.about-values{margin:36px 0}.about-values div{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px;color:#42584b}.about-values div:first-child{border-top:1px solid var(--line)}.about-values b{color:#9dab9d}
.identity-section{background:#edf0e9}.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.identity-grid h2{margin-top:17px}.identity-grid p{line-height:1.9;color:var(--body);max-width:490px}.identity-panel{background:#f9faf5;padding:32px 40px}.identity-panel dl{margin:0}.identity-panel dl>div{border-bottom:1px solid var(--line);padding:15px 0}.identity-panel dl>div:first-child{padding-top:0}.identity-panel dl>div:last-child{border:0;padding-bottom:0}.identity-panel dt{font-size:10px;color:#89998c;text-transform:uppercase;letter-spacing:.15em;font-weight:800;margin-bottom:7px}.identity-panel dd{font-size:14px;line-height:1.7;margin:0;color:#29493c;font-weight:600}.identity-panel a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-section{background:#fbfaf6}.contact-layout{display:grid;grid-template-columns:40% 1fr;gap:100px}.contact-aside h2{margin-top:17px}.contact-aside>p{font-size:15px;color:var(--body);max-width:360px}.contact-detail{padding:27px 0;border-top:1px solid var(--line);margin-top:32px}.contact-detail+.contact-detail{margin-top:0}.contact-detail>span{font-size:10px;letter-spacing:.16em;color:#7d9485;font-weight:800;display:block;margin-bottom:10px}.contact-detail a{font-size:19px;color:var(--ink);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}.contact-detail address{font-size:14px;line-height:1.9}.form-panel{background:#f0f2eb;padding:38px 42px}.form-panel>h2{font-size:30px;letter-spacing:-.035em;margin:0 0 8px;font-weight:600}.form-panel>p{font-size:13px;color:#728074;margin-bottom:28px}.contact-form{display:flex;flex-direction:column;gap:10px}.contact-form label:not(.check-line){font-weight:750;font-size:12px;color:#304b3d;margin-top:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row>div{display:flex;flex-direction:column;gap:10px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;padding:12px 14px;border:1px solid #cbd6c9;background:#fffdf9;border-radius:4px;color:var(--ink);outline:none;min-height:47px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#617c6a;box-shadow:0 0 0 3px #a3c1af55}.contact-form textarea{resize:vertical}.check-line{display:flex;align-items:start;gap:10px;font-size:12px;line-height:1.65;color:#68796c;margin-top:15px}.check-line input{margin-top:3px;accent-color:var(--ink);width:17px;height:17px;flex:0 0 auto}.check-line a,.form-help a{text-decoration:underline;text-underline-offset:3px}.form-submit{align-self:flex-start;margin-top:18px}.form-help{font-size:11px;color:#839085;margin:10px 0 0}.trap-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.notice{padding:14px 17px;font-size:13px;border-radius:4px;margin-bottom:20px}.notice-error{background:#f9e7e4;color:#7a332f;border:1px solid #edc4c0}.notice-success{background:#e2efe3;color:#315d40;border:1px solid #b6d8bd}
.legal-heading{background:#e8ede4;padding:80px 0 65px}.legal-heading h1{font-size:clamp(50px,6.5vw,87px);font-weight:550;margin:19px 0 11px}.legal-heading h1 em{color:#799887}.legal-heading p{color:#708778;font-size:13px}.legal-content{background:#fbfaf6;padding:80px 0 115px}.legal-layout{display:grid;grid-template-columns:240px 1fr;gap:100px}.legal-side{position:sticky;top:30px;align-self:start;display:flex;flex-direction:column;gap:14px;border-left:2px solid #cbd6ca;padding-left:20px;font-size:12px}.legal-side strong{font-size:12px;margin-bottom:7px;color:var(--ink)}.legal-side a{color:#667b6e}.legal-side a:hover{color:var(--ink);text-decoration:underline}.legal-prose{max-width:820px;color:#536257;font-size:15px;line-height:1.9}.legal-prose h2{color:var(--ink);font-size:26px;font-weight:650;letter-spacing:-.035em;margin:40px 0 15px;scroll-margin-top:20px}.legal-prose h2:first-child{margin-top:0}.legal-prose p{margin-bottom:20px}.legal-prose a{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}.legal-prose code{background:#e6ebe2;padding:2px 5px;border-radius:3px}.error-page{min-height:580px;display:flex;align-items:center}.error-page h1{font-size:clamp(58px,8vw,99px);font-weight:560;max-width:850px;margin:20px 0}.error-page h1 em{color:#809b88}.error-page p{color:var(--body);margin-bottom:35px}
@media(max-width:1050px){.header-inner{height:84px}.main-nav{gap:19px}.hero-copy h1{font-size:clamp(63px,7.8vw,91px)}.hero-grid{min-height:610px}.hero-art{min-height:590px}.hero-actions{gap:17px}.approach-grid,.contact-layout{gap:50px}.about-grid{gap:55px}.footer-main{grid-template-columns:1.5fr 1fr 1fr;row-gap:38px}.footer-contact{grid-column:1/-1}.interior-title{gap:28px}.interior-title p{min-width:200px}}
@media(max-width:800px){.wrap{width:min(100% - 40px,650px)}.header-inner{height:76px}.logo{min-width:0}.menu-toggle{display:flex}.main-nav{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 15px 30px #173d3826;padding:15px 20px 25px}.main-nav.is-open{display:flex}.main-nav>a{padding:13px 10px}.main-nav>a.nav-cta{margin-top:15px;text-align:center}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:68px 0 20px}.hero-copy h1{font-size:clamp(65px,11vw,92px)}.hero-copy>p{max-width:530px}.hero-bottom{margin-top:45px}.hero-art{min-height:420px;max-height:550px}.hero-art>img{max-width:580px;width:105%;transform:translate(0,-5%)}.hero-art-badge{left:3%;bottom:65px}.hero-ticker{height:54px}.section{padding:75px 0}.intro-grid{grid-template-columns:1fr;gap:25px}.section-heading{align-items:start;flex-direction:column;gap:20px}.approach-grid,.about-grid,.identity-grid,.contact-layout{grid-template-columns:1fr;gap:40px}.approach-list{padding:0}.about-art{max-height:550px}.about-art img{object-position:center 38%}.interior-hero{padding:70px 0}.interior-title{display:block}.interior-title h1{font-size:clamp(59px,10vw,84px)}.interior-title p{margin-top:30px;max-width:480px}.contact-band{padding:55px 0}.contact-band h2{font-size:55px}.round-link{width:80px;height:80px;font-size:34px}.footer-main{grid-template-columns:repeat(2,1fr);padding-top:60px}.footer-contact{grid-column:auto}.footer-base{flex-direction:column}.footer-base p:last-child{text-align:left}.legal-layout{grid-template-columns:1fr;gap:40px}.legal-side{position:static;gap:11px}.legal-content{padding:60px 0}}
@media(max-width:520px){.wrap{width:calc(100% - 34px)}.logo-symbol{width:43px;height:43px;font-size:19px}.logo-copy{font-size:12px}.logo-copy small{font-size:7px}.hero-copy{padding-top:60px}.hero-copy h1{font-size:clamp(56px,12.7vw,74px);line-height:1.09;margin:23px 0}.hero-copy>p{font-size:15px}.hero-actions{flex-wrap:wrap;align-items:start;gap:16px}.hero-actions .button{width:100%;justify-content:space-between}.hero-bottom{margin-top:38px}.hero-art{min-height:345px;max-height:420px}.hero-art>img{width:112%;transform:translateY(-3%)}.hero-art-badge{width:83px;height:83px;bottom:38px;left:6px}.hero-art-badge span{font-size:18px}.hero-art-badge b{font-size:6px}.hero-ticker{font-size:9px}.hero-ticker b{padding:0 18px}.section{padding:60px 0}.intro-grid h2,.section-heading h2,.approach-grid h2,.about-content h2,.identity-grid h2,.contact-aside h2{font-size:43px}.lead{font-size:17px}.work-grid{grid-template-columns:1fr;gap:42px}.work-card h3{font-size:24px}.section-heading{margin-bottom:27px}.contact-band h2{font-size:41px}.round-link{width:61px;height:61px;font-size:28px}.interior-hero{padding:60px 0}.interior-title h1{font-size:58px}.interior-title p{font-size:14px}.filter-row{gap:7px}.filter-button{font-size:11px;padding:9px 13px}.footer-main{grid-template-columns:1fr 1fr;gap:38px 20px}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-base{padding:20px 0 30px}.form-panel{padding:25px 19px}.form-row{grid-template-columns:1fr;gap:9px}.form-panel>h2{font-size:27px}.legal-heading{padding:62px 0 45px}.legal-heading h1{font-size:51px}.legal-prose{font-size:14px}.legal-prose h2{font-size:23px}.identity-panel{padding:26px 21px}.about-values{margin-top:27px}.note-panel{padding:18px 16px}.contact-detail{margin-top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
