:root{--bg:#f4efe6;--paper:#fffaf1;--ink:#202018;--muted:#695f52;--line:#d8cbbb;--accent:#8f5736;--accent2:#284238;--focus:#0b63ce;--shadow:0 18px 45px rgba(32,32,24,.10)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.65;font-size:17px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:.75rem;z-index:9}
.skip:focus{left:1rem}
.site-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(1rem,4vw,3rem);background:rgba(244,239,230,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);font-weight:800}
.mark{display:grid;place-items:center;width:2.2rem;height:2.2rem;border:1px solid var(--ink);border-radius:50%;background:var(--paper)}
.nav{display:none;gap:.2rem;align-items:center}
.nav.open{display:grid;position:absolute;inset:100% 1rem auto 1rem;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:.75rem}
.nav a{color:var(--ink);text-decoration:none;padding:.65rem .8rem;border-radius:999px;font-size:.94rem}
.nav a:hover,.nav a[aria-current=page]{background:#eadfce}
.nav-toggle{border:1px solid var(--line);background:var(--paper);padding:.65rem .8rem;border-radius:999px;color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.hero{display:grid;gap:2rem;min-height:64vh;align-items:center;padding:clamp(3rem,8vw,7rem) clamp(1rem,5vw,5rem);border-bottom:1px solid var(--line);background:radial-gradient(circle at 80% 20%,#ead7bd 0 12rem,transparent 24rem)}
h1,h2,h3{font-family:Georgia,serif;line-height:1.08;margin:0 0 1rem}
h1{font-size:clamp(2.45rem,8vw,5.9rem);letter-spacing:-.055em;max-width:950px}
h2{font-size:clamp(1.85rem,4vw,3.1rem);letter-spacing:-.035em}
h3{font-size:1.35rem}
.lead{font-size:clamp(1.13rem,2.3vw,1.55rem);max-width:820px;color:var(--muted)}
.kicker,.eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.1rem;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;border:1px solid var(--ink);font-weight:750}
.btn.secondary{background:transparent;color:var(--ink)}
.section{padding:clamp(2.4rem,6vw,5rem) clamp(1rem,5vw,5rem);max-width:1180px;margin:auto}
.narrow{max-width:820px}
.article-intro{font-size:1.2rem;color:var(--muted)}
.note,.feature{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--shadow)}
.cards{display:grid;grid-template-columns:1fr;gap:1rem;margin:1.2rem 0}
.card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:1.25rem;min-height:100%;box-shadow:0 10px 24px rgba(32,32,24,.06)}
.card a{font-weight:800;color:var(--accent2)}
.split{display:grid;gap:1rem}
.check,.warn{padding-left:1.2rem}
.check li::marker{color:var(--accent2)}
.warn li::marker{color:var(--accent)}
.house-graphic{min-height:290px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(135deg,#fffaf1,#e9dcc8);position:relative;box-shadow:var(--shadow);overflow:hidden}
.house-graphic:before{content:"";position:absolute;inset:16%;border:3px solid var(--accent2);clip-path:polygon(0 38%,50% 0,100% 38%,100% 100%,0 100%)}
.house-graphic span{position:absolute;background:rgba(143,87,54,.22);border:1px solid rgba(143,87,54,.35)}
.house-graphic span:nth-child(1){left:23%;top:55%;width:20%;height:25%}
.house-graphic span:nth-child(2){left:50%;top:55%;width:25%;height:12%}
.house-graphic span:nth-child(3){left:50%;top:72%;width:25%;height:8%}
.house-graphic span:nth-child(4){left:22%;top:40%;width:54%;height:1px}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1rem;margin:.75rem 0}
.faq summary{cursor:pointer;font-weight:800}
.form{display:grid;gap:1rem;max-width:780px;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(1rem,4vw,2rem);box-shadow:var(--shadow)}
label{display:grid;gap:.35rem;font-weight:750}
input,select,textarea{width:100%;border:1px solid #b9aa98;border-radius:14px;padding:.85rem;font:inherit;background:#fff;color:var(--ink)}
textarea{resize:vertical}
.privacy{grid-template-columns:auto 1fr;align-items:start;font-weight:500}
.privacy input{width:auto;margin-top:.45rem}
.hp{position:absolute;left:-10000px}
.status{font-weight:800}
.status.error{color:#8a1f12}
.status.success{color:#145c35}
.small{font-size:.9rem;color:var(--muted)}
.footer{display:grid;gap:1rem;padding:2rem clamp(1rem,5vw,5rem);background:#201f18;color:#fff}
.footer p{color:#e2d8c9;max-width:760px}
.footer a{color:#fff;margin-right:1rem}

@media (min-width:760px){.nav{display:flex}
.nav-toggle{display:none}
.hero{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr)}
.cards{grid-template-columns:repeat(3,1fr)}
.split,.footer{grid-template-columns:1fr 1fr}
.form{grid-template-columns:1fr 1fr}
.form label:has(textarea),.privacy,.form .btn,.status,.small{grid-column:1/-1}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important;animation:none!important}
}

.site-signature {
  margin-top: .75rem;
  font-size: .9rem;
  color: #e2d8c9;
}
.site-signature a {
  color: #fff;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
