/* Shared spacing and typography keep the original identity consistent. */
:root{--gutter:max(6vw,calc((100vw - 1240px)/2));--line:#20332e26;--gold:#a58b54}
body{line-height:1.7;-webkit-font-smoothing:antialiased}
header,footer,.strip{padding-inline:var(--gutter)}
main>section{padding:96px var(--gutter)}
header{gap:32px;padding-block:19px}
.brand .logo-window{width:232px}
nav{gap:32px}
nav>a:not(.button){padding-block:12px;font-weight:500;text-underline-offset:6px}
.button{min-height:48px;padding:13px 23px;border-radius:4px;font-size:14px;line-height:1.5;letter-spacing:.1px;transition:background-color .18s ease,box-shadow .18s ease}
.button:hover{background:#304b41;box-shadow:0 4px 14px #20332e16}
.button.light:hover{background:#e5d1a9}
.text-link:hover,nav>a:not(.button):hover{color:#88713f;text-decoration:underline}
.hero{min-height:650px;gap:64px;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);padding-block:76px 88px}
h1{font-size:clamp(48px,5.4vw,76px);line-height:1.08;letter-spacing:-3px;font-weight:600}
h2{font-size:clamp(32px,3.2vw,46px);line-height:1.18;letter-spacing:-1.4px;text-wrap:balance}
.eyebrow{font-size:11px;letter-spacing:2.2px;margin-bottom:20px}
.intro{font-size:17px;line-height:1.8;max-width:490px;margin-bottom:30px}
.hero-actions{gap:24px}
.hero-art{min-height:450px;border:1px solid #ffffff12;box-shadow:0 14px 36px #20332e0d}
.hero-art svg{height:450px}
.strip{padding-block:19px;font-size:12px;font-weight:500;letter-spacing:.15px}
.strip span:before{font-size:14px}
.section-head{gap:70px;margin-bottom:38px}
.section-head h2{margin-bottom:0}
.section-head p{font-size:15px;line-height:1.8;margin-bottom:2px;max-width:390px}
.service{padding:32px 32px 28px 0}
.service+.service{padding-left:32px}
.service h3{font-size:23px;margin:0 0 18px;letter-spacing:-.5px}
.service p{font-size:15px;line-height:1.8;margin:0}
.service .scope{font-size:13px;line-height:1.7;margin-top:24px;color:#68716a}
.hire{gap:80px}
.hire h2{margin-bottom:22px}
.hire p{font-size:15px;line-height:1.85}
.hire .button{margin-top:12px}
.hire-list li{font-size:15px;line-height:1.6;padding:20px 0;gap:18px}
.hire-list+p{margin-top:26px}
.project-lead{gap:80px}
.project-lead-intro>p{font-size:15px;line-height:1.85}
.project-lead h2{font-size:clamp(32px,3vw,43px)}
.project-lead-details{padding-top:5px}
.project-lead-label{font-size:15px}
.project-lead-details ul{font-size:15px;line-height:1.8}
.project-lead-note{font-size:14px;line-height:1.75}
.steps{gap:48px;margin-top:42px}
.steps b{width:34px;height:34px;line-height:32px;font-weight:500;color:#88713f;border-color:#a58b5460}
.steps h3{font-size:19px;font-weight:600;letter-spacing:-.25px;margin:19px 0 12px}
.steps p{line-height:1.85;margin:0}
.contact{gap:70px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.contact>div:first-child>p{font-size:16px;line-height:1.85;max-width:400px}
.contact-panel{padding:36px;border:1px solid #20332e18;border-radius:6px;box-shadow:0 8px 28px #20332e06}
.contact-panel h3{font-size:25px;letter-spacing:-.6px;margin-bottom:12px}
.contact-panel>p{font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:14px}
.contact-email{font-weight:600;font-size:16px;text-decoration-color:#a58b5470;text-underline-offset:5px;overflow-wrap:anywhere}
.contact-email:hover{text-decoration-color:var(--ink)}
.contact-form{margin-top:26px;padding-top:22px}
.contact-form label{font-size:13px;margin-bottom:18px}
.contact-form input,.contact-form select,.contact-form textarea{border-color:#20332e35;background:#fffdf8;font-size:16px;padding:11px 12px;border-radius:4px;line-height:1.5}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#737b72;opacity:1}
.contact-form .button{font-size:14px;width:100%;margin-top:5px}
.form-note{font-size:12px;line-height:1.75}
#contact-status{padding:14px;border-left:2px solid var(--gold);background:#ece5d580}
footer{padding-block:32px;border-top:1px solid var(--line);font-size:11px;line-height:1.9}
.footer-brand{gap:16px}
.footer-brand .logo-window{width:160px}
@media(min-width:801px) and (max-width:1050px){.hero{gap:32px}.hire,.project-lead,.contact{gap:40px}.contact-panel{padding:26px}nav{gap:22px}}
@media(max-width:800px){
  header{padding-block:15px;gap:18px}.brand .logo-window{width:185px}nav{gap:18px}
  nav>a:not(.button){font-size:13px}
  main>section{padding:64px var(--gutter)}
  .hero{grid-template-columns:minmax(0,1fr);gap:36px;min-height:0;padding-top:48px}
  h1{font-size:clamp(44px,8.7vw,66px);letter-spacing:-2px;line-height:1.1}
  h2,.project-lead h2{font-size:clamp(30px,6vw,40px);letter-spacing:-1px}
  .intro{font-size:16px;max-width:550px}
  .hero-art{min-height:0}.hero-art svg{height:auto;max-height:420px}
  .hero-art .stamp{top:20px;right:22px}.hero-art .art-label{left:22px;bottom:18px}
  .strip{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;padding-block:20px;font-size:11px}
  .section-head{margin-bottom:28px}.section-head h2{margin-bottom:22px}
  .services,.hire,.project-lead,.steps,.contact{grid-template-columns:minmax(0,1fr)}
  .service,.service+.service{padding:26px 0;border-left:0}.service h3{margin:0 0 12px;font-size:22px}
  .service .scope{margin-top:16px}.hire,.project-lead,.contact{gap:34px}
  .steps{gap:32px;margin-top:32px}.steps h3{margin-top:14px}
  .contact-panel{padding:26px}.contact>div:first-child>p{max-width:550px}
  footer{align-items:flex-start;gap:22px;padding-block:28px}
}
@media(max-width:400px){header{gap:12px}.brand .logo-window{width:150px}nav{gap:12px}nav>a:not(.button){font-size:12px}.hero-actions{align-items:flex-start;gap:18px}.contact-panel{padding:20px}.hero-art .art-label{font-size:11px}.hero-art .art-label small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
