
:root{--oat:#f6f1ea;--snow:#fbfaf7;--ink:#33312d;--mut:#77716a;--sage:#8a9a86;--sage2:#dfe5db;--clay:#b98563;--line:#e6dfd5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--snow);color:var(--ink);font:17px/1.7 "Jost","Avenir Next","Segoe UI",system-ui,sans-serif;font-weight:300}
h1,h2,h3{font-family:"Jost","Avenir Next",system-ui,sans-serif;font-weight:400;letter-spacing:.02em;line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2.4rem,5.4vw,4.4rem);font-weight:300}h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:300}h3{font-size:1.15rem;font-weight:500;letter-spacing:.06em}
a{color:inherit}img{max-width:100%;display:block}.w{max-width:1200px;margin:auto;padding:0 28px}
.eyebrow{font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;color:var(--sage);font-weight:500;margin-bottom:1rem;display:block}
.btn{display:inline-block;padding:14px 30px;border:1px solid var(--ink);text-decoration:none;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:500;transition:.2s}
.btn:hover{background:var(--ink);color:var(--snow)}.btn.fill{background:var(--ink);color:var(--snow)}.btn.fill:hover{background:var(--clay);border-color:var(--clay)}
.top{text-align:center;padding:26px 0 0}.logo{text-decoration:none;display:inline-flex;flex-direction:column;align-items:center}
.logo svg{width:38px;height:38px}.logo b{font-weight:400;font-size:clamp(1.35rem,5.2vw,2.8rem);letter-spacing:clamp(.12em,1vw,.3em);white-space:nowrap;text-transform:uppercase;margin-top:6px}.logo small{font-size:.66rem;letter-spacing:.5em;text-transform:uppercase;color:var(--mut)}
.nav{display:flex;justify-content:center;gap:34px;padding:18px 0;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(251,250,247,.94);backdrop-filter:blur(6px);z-index:5;flex-wrap:wrap}
.nav a{text-decoration:none;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mut)}.nav a:hover{color:var(--ink)}
.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center;padding:70px 0 90px}
.hero p.lead{font-size:1.15rem;color:var(--mut);max-width:30em}.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.arch{position:relative}.arch img{border-radius:300px 300px 0 0;aspect-ratio:4/5;object-fit:cover;width:100%}
.arch .tag{position:absolute;left:-30px;bottom:40px;background:var(--snow);padding:18px 22px;box-shadow:0 10px 30px rgba(0,0,0,.06);font-size:.85rem;max-width:280px;line-height:1.5}
.arch .tag b{display:block;font-weight:500;letter-spacing:.08em}
.areas{background:var(--sage2);text-align:center;padding:16px;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase}
section{padding:100px 0}.oat{background:var(--oat)}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.about .pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.about .pair img{aspect-ratio:3/4;object-fit:cover}.about .pair img:last-child{margin-top:60px}
.center{text-align:center;max-width:720px;margin:0 auto 60px}
.svc{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.svc div{padding:38px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--snow)}
.svc span{font-size:.8rem;color:var(--clay);letter-spacing:.2em}.svc p{color:var(--mut);margin:0;font-size:.97rem}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;counter-reset:s}.steps div{border-top:2px solid var(--sage);padding-top:20px}
.steps div:before{counter-increment:s;content:"0" counter(s);display:block;font-size:2rem;font-weight:200;color:var(--sage);margin-bottom:6px}.steps p{color:var(--mut);font-size:.95rem;margin:0}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic .t{grid-row:span 2}.mosaic .wd{grid-column:span 2}
.team{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:960px;margin:auto}.team img{aspect-ratio:1/1;object-fit:cover;object-position:top;border-radius:50%;width:220px;margin:0 auto 24px}
.team div{text-align:center}.team em{font-style:normal;font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--clay)}.team p{color:var(--mut)}
.rev{background:var(--ink);color:var(--oat);text-align:center}.rev h2{color:#fff}.rev .stars{font-size:1.4rem;letter-spacing:.3em;color:#d9b48f}.rev .btn{border-color:var(--oat);color:var(--oat)}.rev .btn:hover{background:var(--oat);color:var(--ink)}
.ph{display:inline-block;margin-top:14px;font-size:.72rem;letter-spacing:.12em;background:#ffe9a8;color:#5a4400;padding:4px 10px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact dl{margin:0}.contact dt{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--sage);margin-top:22px}.contact dd{margin:4px 0 0;font-size:1.1rem}
form{display:grid;gap:14px}input,textarea{font:inherit;padding:14px;border:1px solid var(--line);background:var(--snow);width:100%}textarea{min-height:130px}
footer{border-top:1px solid var(--line);padding:40px 0;text-align:center;font-size:.85rem;color:var(--mut)}footer a{margin:0 10px}
@media(max-width:880px){.hero,.about,.contact,.team{grid-template-columns:1fr}.hero{padding:40px 0 60px;gap:40px}.arch .tag{left:10px}.svc{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.nav{gap:16px}section{padding:70px 0}}
