:root{--paper:#f5f0e5;--ink:#302d28;--muted:#756f65;--wood:#a76636;--card:#ebe2d2;--line:#c9bda9;--gold:#e7b965}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
.header{position:sticky;top:0;z-index:20;height:80px;border-bottom:1px solid rgba(48,45,40,.12);background:rgba(245,240,229,.94);backdrop-filter:blur(14px)}
.header-inner{width:100%;max-width:1280px;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,20px)}
.brand{display:flex;align-items:center;gap:12px}
.brand-logo{width:48px;height:48px;object-fit:contain;border-radius:50%;background:#fff}
.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:11px;font-weight:700;letter-spacing:.12em}
.brand b{display:block;font:700 19px Georgia,serif}
.brand small{display:block;margin-top:3px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.18em}
.header nav{display:flex;gap:27px;font-size:14px;color:var(--muted)}
.header nav a:hover{color:var(--wood)}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 24px;border:0;font-size:14px;font-weight:700;cursor:pointer}
.dark{background:var(--ink);color:var(--paper)}
.accent{background:var(--wood);color:#fff}
.outline{border:1px solid rgba(48,45,40,.25)}
.glass{border:1px solid rgba(255,255,255,.38);background:rgba(8,20,15,.28);color:#fff;backdrop-filter:blur(8px)}
.hero{position:relative;isolation:isolate;height:clamp(600px,calc(100vh - 80px),820px);overflow:hidden;background:#06130e;color:#fff}
.hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,14,10,.86) 0%,rgba(3,14,10,.54) 38%,rgba(3,14,10,.07) 70%),linear-gradient(0deg,rgba(3,12,9,.4),transparent 55%)}
.hero-copy{width:min(1280px,100%);height:100%;margin:auto;display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(58px,8vh,92px) max(4vw,20px) 60px}
.hero-kicker{margin:0;color:var(--gold);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.22em}
.eyebrow{margin:0;color:var(--wood);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.2em}
.line:before{content:"";display:inline-block;width:40px;height:1px;margin:0 12px 4px 0;background:var(--wood)}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}
h1{margin:18px 0 0;font-size:clamp(70px,10vw,154px);line-height:.86;letter-spacing:-.06em}
.hero-tagline{margin:auto 0 0;font:400 clamp(34px,4vw,58px)/1 Georgia,serif;letter-spacing:-.035em}
.lead{max-width:570px;margin:18px 0 0;color:rgba(255,255,255,.72);font-size:19px;line-height:1.6}
.actions{display:flex;gap:12px;margin-top:36px}
.checks{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:42px;color:var(--muted);font-size:14px}
.gallery figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,18,15,.83),transparent 58%)}
.promise{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.promise div{padding:27px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.promise strong,.promise span{display:block}
.promise strong{font:400 20px Georgia,serif}
.promise span{margin-top:7px;color:var(--muted);font-size:13px;line-height:1.5}
.section{max-width:1280px;margin:auto;padding:110px max(4vw,20px)}
.section-title{display:grid;grid-template-columns:.8fr 1.25fr .8fr;gap:50px;align-items:end}
.section-title h2,.works-head h2,.split-heading h2,.cap-copy h2,.faq h2,.contact h2{margin:0;font-size:clamp(46px,5vw,68px);line-height:.98;letter-spacing:-.04em}
.section-title>p:last-child{margin:0;color:var(--muted);font-size:18px;line-height:1.7}
.services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:58px;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.services article{min-height:290px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.services article>span{float:right;color:var(--muted);font-size:12px;letter-spacing:.18em}
.service-icon{width:82px;height:82px;transition:transform .25s ease}
.service-icon img{width:100%;height:100%}
.services article:hover .service-icon{transform:translateY(-3px)}
.services h3{margin:62px 0 0;font-size:30px}
.services p{color:var(--muted);line-height:1.65}
.directions{background:var(--card);border-block:1px solid rgba(48,45,40,.08)}
.directions-inner{padding-top:95px;padding-bottom:95px}
.split-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}
.split-heading h2{margin-top:18px}
.split-heading>p{max-width:520px;margin:0;color:var(--muted);font-size:18px;line-height:1.7}
.direction-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:52px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.direction-grid article{min-height:250px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(245,240,229,.35)}
.direction-grid span{color:var(--wood);font-size:11px;font-weight:700;letter-spacing:.18em}
.direction-grid h3{margin:58px 0 0;font-size:26px;line-height:1.1}
.direction-grid p{color:var(--muted);font-size:15px;line-height:1.65}
.works-section{background:var(--ink);color:var(--paper)}
.works-section .inner{padding-top:110px;padding-bottom:110px}
.works-head{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}
.works-head>p{max-width:560px;margin:0 0 6px;color:rgba(245,240,229,.58);font-size:18px;line-height:1.7}
.gold{color:var(--gold)}
.works-head h2{margin-top:18px}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:16px;margin-top:58px}
.gallery figure{position:relative;aspect-ratio:1/1;margin:0;overflow:hidden;background:#201e1a}
.gallery figure.feature{grid-column:span 2;grid-row:span 2}
.gallery figure.art-kit img{object-position:58% center}
.gallery img{height:100%;object-fit:cover;transition:transform .7s}
.gallery figure:hover img{transform:scale(1.035)}
.gallery figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}
.gallery strong{display:block;font:400 clamp(21px,2vw,27px) Georgia,serif}
.gallery span{display:block;margin-top:5px;color:rgba(255,255,255,.66);font-size:14px}
.capabilities{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}
.cap-copy{position:sticky;top:120px}
.cap-copy h2{margin-top:20px}
.cap-copy>p:nth-of-type(2){max-width:480px;color:var(--muted);font-size:18px;line-height:1.7}
.text-link{display:inline-block;margin-top:18px;color:var(--wood);font-weight:700}
.cap-list{border-top:1px solid var(--line)}
.cap-list article{display:grid;grid-template-columns:62px 1fr;gap:20px;padding:29px 0;border-bottom:1px solid var(--line)}
.cap-list span{padding-top:7px;color:var(--wood);font-size:11px;font-weight:700;letter-spacing:.18em}
.cap-list h3{margin:0;font-size:29px}
.cap-list p{margin:8px 0 0;color:var(--muted);line-height:1.65}
.batch-section{max-width:1280px;margin:0 auto 30px;padding:0 max(4vw,20px)}
.batch{display:grid;grid-template-columns:1.08fr .92fr;background:var(--ink);color:var(--paper)}
.batch img{height:460px;object-fit:cover}
.batch>div{display:flex;flex-direction:column;justify-content:center;padding:55px}
.batch h3{margin:18px 0 0;font-size:clamp(36px,4vw,54px);line-height:1.02}
.batch>div>p:nth-of-type(2){color:rgba(245,240,229,.62);font-size:17px;line-height:1.7}
.light-on-dark{width:max-content;margin-top:18px;border:1px solid rgba(255,255,255,.3);color:#fff}
.steps{margin-top:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps>div{display:grid;grid-template-columns:80px 1fr 1fr;gap:24px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}
.steps>div:last-child{border:0}
.steps span{color:var(--wood);font-size:12px;font-weight:700;letter-spacing:.2em}
.steps h3{margin:0;font-size:31px}
.steps p{margin:0;color:var(--muted);line-height:1.65}
.faq-wrap{background:var(--card)}
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}
.faq h2{margin-top:20px}
.faq>div:first-child>p:last-child{max-width:380px;color:var(--muted);line-height:1.7}
.faq-list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0;list-style:none;cursor:pointer;font:400 24px Georgia,serif}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{color:var(--wood);font:400 27px Arial,sans-serif;transition:transform .2s}
.faq details[open] summary span{transform:rotate(45deg)}
.faq details p{max-width:660px;margin:-8px 45px 26px 0;color:var(--muted);line-height:1.7}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding:110px max(calc((100vw - 1280px)/2 + 4vw),20px);background:var(--paper)}
.contact h2{margin-top:20px}
.contact>div>p:nth-of-type(2){max-width:460px;color:var(--muted);font-size:18px;line-height:1.7}
.contact-hint{max-width:450px;margin-top:35px;padding:20px 0;border-block:1px solid var(--line);color:var(--wood);font-size:14px;font-weight:700;line-height:1.5}
.contact form{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:34px;border:1px solid var(--line);background:#faf7ef}
label{display:grid;gap:9px;font-size:14px;font-weight:700}
.full{grid-column:1/-1}
input,textarea{width:100%;min-height:48px;padding:13px;border:1px solid var(--line);border-radius:0;background:transparent;font:16px Arial,sans-serif}
textarea{min-height:125px;resize:vertical}
.contact button{width:max-content}
.note{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px;line-height:1.5}
footer{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px max(4vw,20px);color:var(--muted);font-size:14px}
footer .brand{color:var(--ink)}

@media(max-width:1000px){.header nav{display:none}
.promise{grid-template-columns:repeat(2,1fr)}
.section-title{grid-template-columns:1fr;gap:25px}
.section-title>p:last-child{max-width:560px}
.services{grid-template-columns:1fr}
.split-heading{grid-template-columns:1fr;gap:25px}
.direction-grid{grid-template-columns:repeat(2,1fr)}
.works-head{grid-template-columns:1fr;gap:28px}
.gallery{grid-template-columns:repeat(2,1fr)}
.capabilities{grid-template-columns:1fr;gap:45px}
.cap-copy{position:static}
.batch{grid-template-columns:1fr}
.faq{grid-template-columns:1fr;gap:50px}
.contact{grid-template-columns:1fr;gap:50px}
.hero-image{object-position:58% center}
.batch img{height:390px}
}

@media(max-width:600px){.header{height:68px}
.header-inner>.button{display:none}
.hero{height:680px}
.hero-image{object-position:63% center}
.hero-shade{background:linear-gradient(90deg,rgba(3,14,10,.89) 0%,rgba(3,14,10,.58) 63%,rgba(3,14,10,.13) 100%),linear-gradient(0deg,rgba(3,12,9,.5),transparent 55%)}
.hero-copy{padding:48px 20px 42px}
h1{font-size:68px}
.hero-tagline{font-size:37px}
.lead{font-size:18px}
.actions{flex-direction:column}
.checks{flex-direction:column}
.promise{grid-template-columns:1fr;margin-inline:20px}
.section,.works-section .inner{padding-top:78px;padding-bottom:78px}
.section-title h2,.works-head h2,.split-heading h2,.cap-copy h2,.faq h2,.contact h2{font-size:43px}
.services article{min-height:260px}
.direction-grid{grid-template-columns:1fr}
.direction-grid article{min-height:210px}
.direction-grid h3{margin-top:38px}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.gallery figure{aspect-ratio:1/1}
.gallery figcaption{left:13px;right:13px;bottom:12px}
.gallery strong{font-size:17px}
.gallery span{display:none}
.batch img{height:310px}
.batch>div{padding:32px}
.steps>div{grid-template-columns:52px 1fr}
.steps p{grid-column:2}
.faq summary{font-size:21px}
.contact{padding-top:78px;padding-bottom:78px}
.contact form{grid-template-columns:1fr;padding:24px}
.contact form>*{grid-column:1}
footer{align-items:flex-start;flex-direction:column}
}
