:root{
  --bg:#FBF3EA;
  --fg:#3A2419;
  --accent:#C46B3A;
  --fg-soft:#5B3522;
  --line:rgba(58,36,25,.15);
  --band:#3A2419;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--fg);
  font-family:'Archivo',system-ui,sans-serif;
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Archivo Black',sans-serif;line-height:1.05;letter-spacing:-.01em;text-transform:uppercase}
h1{font-size:clamp(2.2rem,5.4vw,4rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.6rem);margin-bottom:.6em}
h3{font-size:1.2rem}
h4{font-size:1rem;letter-spacing:.02em;margin-bottom:.4em}
p{margin-bottom:1em}
a{color:var(--fg);text-decoration:none}
ul{list-style:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}

/* header */
.site-header{border-bottom:2px solid var(--fg);background:var(--bg);position:sticky;top:0;z-index:50}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;gap:24px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;font-family:'Archivo Black';text-transform:uppercase;font-size:.95rem;letter-spacing:.03em}
.logo svg{flex-shrink:0}
nav{display:flex;gap:6px;flex-wrap:wrap}
nav a{
  padding:8px 14px;
  font-weight:600;
  font-size:.9rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  border:2px solid transparent;
}
nav a:hover{border-color:var(--fg)}
nav a.active{background:var(--fg);color:var(--bg)}

/* typography helpers */
.eyebrow{
  display:inline-block;
  font-family:'Archivo Black';
  font-size:.78rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:1rem;
  padding:4px 0;
  border-top:2px solid var(--accent);
  border-bottom:2px solid var(--accent);
  padding:4px 10px;
}
.eyebrow.light{color:var(--accent);border-color:var(--accent)}
.lede{font-size:1.15rem;max-width:58ch;color:var(--fg-soft)}
.status{font-family:'Archivo Black';font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;margin-top:1.4rem;color:var(--fg-soft)}
.small{font-size:.9rem;color:var(--fg-soft)}

/* hero */
.hero{padding:80px 0 60px;border-bottom:2px solid var(--fg)}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.hero-copy h1{margin-bottom:1rem}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.6rem}
.btn{
  display:inline-block;
  padding:14px 22px;
  font-family:'Archivo Black';
  text-transform:uppercase;
  font-size:.9rem;
  letter-spacing:.05em;
  border:2px solid var(--fg);
}
.btn-primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.btn-primary:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.btn-ghost{background:transparent;color:var(--fg)}
.btn-ghost:hover{background:var(--fg);color:var(--bg)}
.hero-art{border:3px solid var(--fg);overflow:hidden;line-height:0;box-shadow:8px 8px 0 var(--fg)}

/* strip */
.strip{background:var(--fg);color:var(--bg);padding:40px 0;border-bottom:2px solid var(--fg)}
.strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.strip h3{font-size:1.6rem;color:var(--accent);margin-bottom:.4em}
.strip p{margin:0;font-size:.98rem;color:#F2D9B8}

/* section */
.section{padding:80px 0;border-bottom:2px solid var(--fg)}
.two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}
.prose p{font-size:1.05rem;color:var(--fg-soft)}
.prose p:first-child{color:var(--fg);font-size:1.15rem}

/* band (dark section) */
.band{background:var(--fg);color:var(--bg);border-bottom:none}
.band .light{color:var(--bg)}
.band p{color:#E6D1BB}

/* faq */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:36px 48px;margin-top:2rem}
.faq-item h4{color:var(--accent);font-size:1.05rem;margin-bottom:.5em}
.faq-item p{color:#E6D1BB;margin:0}

/* page head */
.page-head{padding:80px 0 40px;border-bottom:2px solid var(--fg)}
.page-head h1{max-width:18ch}

/* services list */
.services-list{display:grid;gap:32px}
.service{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:24px;
  padding:28px;
  border:2px solid var(--fg);
  background:#fff8ee;
}
.service .num{
  font-family:'Archivo Black';
  font-size:2.8rem;
  color:var(--accent);
  line-height:1;
}
.service h2{font-size:1.4rem;margin-bottom:.5em}
.service ul{margin-top:.6em;padding-left:1.1em;list-style:square}
.service li{margin-bottom:.2em;color:var(--fg-soft)}

/* don't grid */
.dont-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:2rem}
.dont-grid h4{color:var(--accent)}
.dont-grid p{color:#E6D1BB;font-size:.95rem}

/* cta block */
.cta-block{text-align:center;max-width:640px;margin:0 auto}
.cta-block p{color:var(--fg-soft);font-size:1.1rem;margin-bottom:1.6rem}
.cta-block.light p{color:#E6D1BB}

/* about */
.about-art{border:3px solid var(--fg);line-height:0;box-shadow:6px 6px 0 var(--accent)}

.principles{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:2rem}
.principles h4{color:var(--accent);font-size:1.1rem}
.principles p{color:#E6D1BB;margin:0}

/* steps */
.steps{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.step{
  border:2px solid var(--fg);
  padding:28px;
  background:#fff8ee;
  position:relative;
}
.step .num{
  position:absolute;
  top:-16px;left:24px;
  background:var(--accent);
  color:var(--bg);
  font-family:'Archivo Black';
  font-size:1.1rem;
  width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
}
.step h3{margin-top:.4em;margin-bottom:.5em;font-size:1.15rem}
.step p{color:var(--fg-soft);margin:0;font-size:.98rem}

/* footer */
footer{background:var(--bg);padding:60px 0 30px;border-top:2px solid var(--fg)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:30px}
footer strong{font-family:'Archivo Black';text-transform:uppercase;font-size:.9rem;letter-spacing:.05em;display:block;margin-bottom:.8em;color:var(--accent)}
footer p{color:var(--fg-soft);font-size:.95rem}
footer ul li{margin-bottom:.3em}
footer ul a{font-size:.95rem;color:var(--fg-soft)}
footer ul a:hover{color:var(--accent)}
.tiny{font-size:.8rem;color:var(--fg-soft);text-transform:uppercase;letter-spacing:.1em;border-top:1px solid var(--line);padding-top:20px}

/* 404 */
.err{padding:80px 0;min-height:60vh;display:flex;align-items:center}
.err-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}

/* responsive */
@media (max-width:820px){
  .hero{padding:50px 0 40px}
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .strip-grid{grid-template-columns:1fr;gap:24px}
  .two-col{grid-template-columns:1fr;gap:32px}
  .faq{grid-template-columns:1fr;gap:28px}
  .service{grid-template-columns:1fr;padding:22px}
  .service .num{font-size:2rem}
  .dont-grid{grid-template-columns:1fr 1fr;gap:22px}
  .principles{grid-template-columns:1fr;gap:22px}
  .steps{grid-template-columns:1fr;gap:28px}
  .foot-grid{grid-template-columns:1fr;gap:28px}
  .err-grid{grid-template-columns:1fr}
  .section{padding:56px 0}
  nav{width:100%;justify-content:flex-start}
  nav a{padding:6px 10px;font-size:.82rem}
}
@media (max-width:480px){
  body{font-size:16px}
  .dont-grid{grid-template-columns:1fr}
  .logo span{font-size:.85rem}
}