
:root{--black:#0a0a0a;--coal:#141414;--gold:#c9a227;--gold2:#e6c65a;--cream:#faf7ef;--ink:#1c1a14;--mut:#5c5747;--line:#e7dfc9}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{color:#8a6d14}a:hover{color:var(--gold)}
header.site{position:sticky;top:0;z-index:50;background:var(--black);border-bottom:3px solid var(--gold)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.brand{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.4px;font-size:1.05rem}
.brand span{color:var(--gold)}
.navlinks{display:flex;gap:18px;flex-wrap:wrap}
.navlinks a{color:#f2ecd9;text-decoration:none;font-size:.95rem}
.navlinks a:hover{color:var(--gold2)}
.navcta{background:var(--gold);color:#111!important;padding:8px 14px;border-radius:8px;font-weight:700}
.burger{display:none;background:none;border:0;color:#fff;font-size:1.5rem;cursor:pointer}
@media(max-width:760px){.navlinks{display:none;flex-direction:column;width:100%;padding:10px 0}.navlinks.open{display:flex}.burger{display:block}.nav{flex-wrap:wrap}}
.hero{background:linear-gradient(135deg,#0a0a0a 55%,#26200c);color:var(--cream);padding:56px 0}
.hero h1{font-size:2.5rem;line-height:1.15;margin:.2em 0;color:#fff}
.hero h1 em{color:var(--gold);font-style:normal}
.hero p{max-width:720px;font-size:1.12rem}
.hero .grid{align-items:center}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
@media(max-width:760px){.grid{grid-template-columns:1fr}.hero h1{font-size:1.9rem}}
.headshot{width:100%;max-width:380px;border-radius:16px;border:3px solid var(--gold);display:block;margin:0 auto}
.btn{display:inline-block;background:var(--gold);color:#111;text-decoration:none;font-weight:700;padding:13px 22px;border-radius:10px;margin:6px 8px 6px 0}
.btn.dark{background:#111;color:var(--gold2);border:1px solid var(--gold)}
.btn.ghost{background:transparent;color:#fff;border:1px solid #fff}
.btn:hover{filter:brightness(1.08);color:#111}
.btn.ghost:hover{color:var(--gold2)}
section{padding:44px 0}
.alt{background:var(--cream)}
h2{font-size:1.7rem;margin:.1em 0 .5em;color:#111}
h2 .gold{color:#8a6d14}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:18px}
.card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:12px;padding:20px}
.card h3{margin:.1em 0 .4em;font-size:1.12rem}
.card p{margin:.2em 0;color:#33312a;font-size:.98rem}
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;position:relative}
.step:before{counter-increment:step;content:counter(step);position:absolute;top:-14px;left:16px;background:var(--gold);color:#111;font-weight:800;width:30px;height:30px;border-radius:50%;text-align:center;line-height:30px}
.faq{border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:10px 0;background:#fff}
.faq h3{margin:.2em 0;font-size:1.02rem}
.faq p{margin:.3em 0;color:#33312a}
.crumbs{font-size:.88rem;color:var(--mut);padding:16px 0 0}
.crumbs a{color:var(--mut)}
.townlinks{columns:3;column-gap:28px;font-size:.95rem}
@media(max-width:760px){.townlinks{columns:2}}
.townlinks a{display:block;padding:2px 0;text-decoration:none}
footer.site{background:var(--black);color:#d9d2ba;padding:44px 0 26px;margin-top:0}
footer.site a{color:#e9dfae;text-decoration:none}
footer.site a:hover{color:var(--gold2)}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
footer.site h4{color:var(--gold);margin:.2em 0 .6em;font-size:1rem}
footer.site ul{list-style:none;padding:0;margin:0}footer.site li{margin:5px 0}
.legal{border-top:1px solid #2c2c2c;margin-top:28px;padding-top:16px;font-size:.85rem;color:#a99f7d}
.strip{background:var(--gold);color:#111;text-align:center;padding:10px 14px;font-weight:700;font-size:.92rem}
form.composer{display:grid;gap:12px;max-width:620px}
form.composer label{font-weight:600;font-size:.95rem}
form.composer input,form.composer select,form.composer textarea{width:100%;padding:11px;border:1px solid #cfc6a4;border-radius:8px;font:inherit;margin-top:4px}
.small{font-size:.9rem;color:var(--mut)}
.kicker{text-transform:uppercase;letter-spacing:2px;font-size:.8rem;color:var(--gold);font-weight:700}
