:root{
  --bg:#faf8f4; --ink:#1c1a17; --muted:#6b655c; --line:#e2dcd2;
  --accent:#7a4a22; --accent-ink:#fff; --card:#fff;
  --max:64rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.65; font-size:clamp(16px,1.05vw,18px);
}
.site-header{
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:1.1rem clamp(1rem,4vw,3rem); border-bottom:1px solid var(--line);
  position:sticky; top:0; background:color-mix(in srgb,var(--bg) 92%,transparent);
  backdrop-filter:blur(8px); z-index:10;
}
.brand{font-weight:650; text-decoration:none; color:inherit; letter-spacing:-.01em}
nav{display:flex; gap:1.25rem; flex-wrap:wrap}
nav a{color:var(--muted); text-decoration:none; font-size:.95rem}
nav a:hover{color:var(--ink)}
main{max-width:var(--max); margin:0 auto; padding:0 clamp(1rem,4vw,3rem)}
section{padding:clamp(2.5rem,6vw,4.5rem) 0; border-bottom:1px solid var(--line)}
section:last-of-type{border-bottom:0}
h1{font-size:clamp(2rem,5vw,3.25rem); line-height:1.1; letter-spacing:-.02em; margin:0 0 1rem}
h2{font-size:clamp(1.4rem,2.5vw,2rem); letter-spacing:-.015em; margin:0 0 1.5rem}
h3{margin:0 0 .4rem; font-size:1.05rem}
p{margin:0 0 1rem; color:var(--muted)}
.hero{display:grid; gap:2.5rem; align-items:center; padding-top:clamp(2rem,5vw,4rem)}
@media(min-width:48rem){.hero{grid-template-columns:1.1fr .9fr}}
.hero h1+p{font-size:1.1rem}
.hero-img{width:100%; height:auto; border-radius:14px; display:block}
.btn{
  display:inline-block; margin-top:.75rem; padding:.8rem 1.4rem; border-radius:999px;
  background:var(--accent); color:var(--accent-ink); text-decoration:none; font-weight:600;
  border:0; font-size:1rem; cursor:pointer;
}
.btn:hover{filter:brightness(1.08)}
.grid{display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.card{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:1.4rem}
.card p{margin:0; font-size:.95rem}
form{display:grid; gap:.9rem; max-width:34rem; margin-top:1.5rem}
.row{display:grid; gap:.9rem}
@media(min-width:34rem){.row{grid-template-columns:1fr 1fr}}
label{display:grid; gap:.35rem; font-size:.9rem; color:var(--muted)}
input,textarea{
  font:inherit; color:var(--ink); background:var(--card);
  border:1px solid var(--line); border-radius:10px; padding:.7rem .8rem;
}
input:focus,textarea:focus{outline:2px solid var(--accent); outline-offset:1px}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form-note{margin:0; font-size:.9rem}
.meta{font-size:.9rem; color:var(--muted); margin-top:1.5rem}
.site-footer{padding:2rem clamp(1rem,4vw,3rem); border-top:1px solid var(--line); font-size:.85rem}
.site-footer p{margin:0; color:var(--muted)}
