:root{--ink:#1d1e1c;--black:#151614;--paper:#f6f3eb;--gold:#efbc58;--muted:#5c5b54;--line:#d8d3c6}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Instrument Sans",Arial,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ab7115;outline-offset:4px}
.wrap{width:min(1192px,calc(100% - 96px));margin-inline:auto}
.top,footer{background:var(--black);color:var(--paper)}
.bar,.foot{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:83px}
.brand{display:inline-flex;flex-direction:column;line-height:1}
.brand strong{font-family:"Archivo Black",Arial,sans-serif;font-weight:900;letter-spacing:-.075em;font-size:32px}
.brand strong span{color:var(--gold)}
.brand small{font-size:8px;font-weight:700;letter-spacing:.19em;margin-top:5px}
nav,.actions{display:flex;align-items:center;gap:29px}
nav a{font-size:14px;font-weight:700}
.nav-contact{border:1px solid #ffffff45;padding:9px 16px}
.hero{position:relative;isolation:isolate;background:#21211d;color:var(--paper);min-height:620px;display:grid;align-items:center}
.hero-img,.hero::after{position:absolute;inset:0;width:100%;height:100%}
.hero-img{object-fit:cover;object-position:62% 50%;z-index:-2}
.hero::after{content:"";z-index:-1;background:linear-gradient(90deg,#131411 0%,#131411ee 25%,#131411ab 53%,#13141117 100%)}
.hero-content{padding-block:76px 90px}
.eyebrow{text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.15em;margin:0 0 16px;color:#755019}
.hero .eyebrow{color:var(--gold)}
h1,h2,h3,p,figure{margin-top:0}
h1,h2{line-height:.99;letter-spacing:-.065em;margin-bottom:24px}
h1{font-size:clamp(49px,7.8vw,112px);font-weight:850}
h1 em{font-style:normal;color:var(--gold)}
h2{font-size:clamp(40px,6vw,75px)}
h3{letter-spacing:-.025em;line-height:1.15;font-size:24px;margin-bottom:8px}
.intro{font-size:19px;max-width:400px;margin-bottom:29px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;background:var(--gold);border:0;padding:14px 18px;color:var(--black);font:inherit;font-weight:800;cursor:pointer}
.button:hover{background:#ffd078}
.subtle{font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.section{padding-block:84px}
.section-head,.contact{display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:48px}
.section-head>p,.contact p,.services p,.caption p{color:var(--muted);max-width:460px}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:34px}
.services article{border-top:2px solid var(--ink);padding-top:20px}
.services p,.caption p{margin-bottom:0}
.projects{background:#eae5d9}
.pair,.more{display:grid;grid-template-columns:1fr 1fr;gap:12px}
figure{margin:0;position:relative}
figure img,.more img{display:block;width:100%;height:clamp(210px,32vw,425px);object-fit:cover}
figure a,.more a{display:block}
.caption{padding:19px 0 0}
.more{margin-top:30px;gap:24px}
.more h3{margin-top:14px}
.contact{align-items:start}
.mail{font-size:20px;font-weight:800;text-decoration:underline;text-underline-offset:5px}
form{display:grid;gap:8px}
label{font-weight:700;font-size:14px}
input,textarea{width:100%;padding:12px;border:1px solid var(--line);background:#fffdfa;font:inherit;color:var(--ink);margin-bottom:8px}
textarea{resize:vertical}
form .button{justify-self:start}
.foot{min-height:110px;font-size:14px}
@media(max-width:720px){
.wrap{width:calc(100% - 36px)}
.bar{min-height:69px;gap:10px}
nav{gap:12px}
nav a{font-size:12px}
.nav-contact{padding:6px 8px}
.brand strong{font-size:27px}
.hero{min-height:540px;align-items:end}
.hero::after{background:linear-gradient(0deg,#131411 1%,#131411d9 40%,#13141118 100%)}
.hero-content{padding-block:54px 38px}
.hero-img{object-position:60% 50%}
.section{padding-block:54px}
.section-head,.contact,.services{grid-template-columns:1fr;gap:15px}
.contact{gap:28px}
.services{margin-top:18px}
.pair{gap:7px}
figure img,.more img{height:210px}
.foot{flex-wrap:wrap;padding-block:22px}
}
@media(max-width:370px){nav{gap:8px}.actions{gap:12px}.subtle{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:721px){
.hero-img{left:auto;width:61%;object-position:center 57%}
.hero::after{background:linear-gradient(90deg,#151614 0%,#151614 37%,#151614c9 49%,#15161422 72%,#1516140c 100%)}
}
.pair img{object-position:center 55%}
.pair figure:first-child img{object-position:center 62%}
@media(max-width:480px){.more{grid-template-columns:1fr}}
.hero{min-height:0;background:#22231f}
.hero::after{display:none}
.hero-content{padding-block:74px 80px}
.hero h1{font-size:clamp(48px,7.5vw,104px)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fields label{display:block;margin-bottom:8px}
.project-page{background:#eae5d9}
.project-page h1{font-size:clamp(38px,7.6vw,96px);margin-bottom:40px}
.project{border-top:1px solid #c9c2b3;padding:27px 0 38px}
.project h2{font-size:clamp(26px,4vw,43px);line-height:1.08;margin-bottom:10px;letter-spacing:-.045em}
.project p{color:var(--muted);margin-bottom:15px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr));gap:12px}
.gallery figure{background:var(--paper)}
.gallery img{height:auto;aspect-ratio:4/3;object-fit:contain;background:#272823}
nav [aria-current]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:720px){.hero-content{padding-block:54px}.project-page h1{margin-bottom:28px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:375px){nav{gap:7px}nav a{font-size:11px}.brand strong{font-size:24px}.fields{grid-template-columns:1fr;gap:0}}
.brand-with-mark{display:flex;flex-direction:row;align-items:center;gap:9px}
.brand-with-mark img{width:36px;height:36px;object-fit:contain}
.brand-name{display:flex;flex-direction:column}
.home-hero{background:radial-gradient(ellipse at 75% 28%,#34352d,#1b1c19 63%);overflow:hidden}
.hero-layout{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:35px;padding-block:85px 88px}
.hero-layout h1{font-size:clamp(50px,6.4vw,96px);max-width:780px}
.hero-layout h1 em{display:block}
.hero-layout .intro{max-width:495px}
.logo-panel{display:grid;place-items:center;aspect-ratio:1;max-width:400px;width:100%;justify-self:end;border:1px solid #efbc5850;border-radius:50%;background:radial-gradient(circle,#efbc5819,transparent 66%)}
.logo-rings{display:grid;place-items:center;width:86%;aspect-ratio:1;border:1px solid #efbc586b;border-radius:50%;outline:1px dashed #efbc583b;outline-offset:11px}
.logo-rings img{width:70%;height:auto;filter:drop-shadow(0 0 16px #efbc5840)}
.facts{background:#e8dfcc;border-bottom:1px solid #d3c8b2}
.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-block:24px}
.facts-grid div{display:grid;gap:3px}
.facts-grid strong{font-size:19px;letter-spacing:-.02em}
.facts-grid span{color:var(--muted);font-size:14px}
.process{background:#ebe6da;border-block:1px solid var(--line)}
.steps{padding:0;list-style:none;counter-reset:steps}
.steps li{border-top:1px solid #aaa08b;padding-top:16px;counter-increment:steps}
.steps li::before{content:counter(steps,decimal-leading-zero);display:block;color:#755019;font-weight:800;margin-bottom:12px}
.project-link{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:35px;border-bottom:1px solid var(--line)}
.project-link h2{font-size:clamp(25px,3vw,37px);letter-spacing:-.04em;margin-bottom:9px}
.project-link p{margin-bottom:0;color:var(--muted);max-width:590px}
.text-link{font-weight:800;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
@media(max-width:900px){.hero-layout{grid-template-columns:1.7fr 1fr}.brand-with-mark img{width:30px;height:30px}}
@media(max-width:720px){
.hero-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:30px 40px}
.hero-layout>div:first-child{grid-column:1/-1;grid-row:2}
.logo-panel{grid-row:1;grid-column:1;justify-self:center;width:clamp(170px,53vw,260px)}
.logo-rings{outline-offset:6px}
.facts-grid{grid-template-columns:1fr;gap:14px}
.project-link{align-items:start;flex-direction:column;gap:13px}
}
@media(max-width:385px){.brand-with-mark{gap:4px}.brand-with-mark img{width:23px;height:23px}.hero-layout h1{font-size:clamp(33px,9.8vw,43px)}}

.social-links{margin-top:18px}
.social-button{display:inline-flex;gap:12px;align-items:center;border:1px solid #877c63;padding:9px 12px;font-size:14px;font-weight:800}
.social-button:hover{background:#e8dfcc}
@media(max-width:540px){
.top .bar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding-block:11px 9px}
.top .brand{justify-self:start}
.top nav{width:100%;justify-content:space-between;gap:8px}
.top nav a{font-size:12px}
.hero-layout h1{font-size:clamp(33px,9.8vw,50px)}
.hero-layout .actions{flex-wrap:wrap;gap:12px 18px}
}
.logo-panel{border:0;background:radial-gradient(circle,#efbc5811,transparent 67%);max-width:360px}
.logo-rings{width:100%;border:0;outline:0}
.logo-rings img{width:85%;height:auto;aspect-ratio:1;object-fit:contain;filter:none;display:block}
.foot .brand-with-mark img{width:46px;height:46px}
.social-links{display:flex;flex-wrap:wrap;gap:10px}
.social-button{gap:8px;min-height:44px;font-family:inherit;border-color:#a69b82;border-radius:4px}
.social-button:disabled{opacity:.63;cursor:default;background:transparent;color:var(--ink)}
.social-note{display:block;margin-top:9px;color:var(--muted)}
@media(max-width:720px){
.hero-layout{gap:16px;padding-top:23px}
.logo-panel{width:clamp(154px,48vw,220px)}
.logo-rings img{width:100%}
}

.foot-legal{display:flex;flex-wrap:wrap;gap:16px}
.legal{max-width:860px}
.legal h1{font-size:clamp(38px,8vw,66px);overflow-wrap:anywhere}
.legal h2{font-size:24px;letter-spacing:-.02em;margin:27px 0 12px}
.legal main a,.legal p a{text-decoration:underline;text-underline-offset:3px}
