:root{--green:#7a1f3d;--green-dark:#55142a;--gold:#b08d57;--cream:#faf6ee;--sand:#f3ecdd;--ink:#2b2b2b;--muted:#5a5a5a;--line:#e3d9c4;--err:#a3321f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;color:var(--green);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:600}
h3{font-size:1.15rem;font-weight:600}
p{margin:0 0 1em}
a{color:var(--green)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px clamp(20px,5vw,64px);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.15}
.brand-name{font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:var(--green)}
.brand-sub{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}
.nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--ink);font-size:.95rem;font-weight:500}
.nav a:hover{color:var(--gold)}
.btn{display:inline-block;background:var(--green);color:#fff!important;padding:14px 28px;border-radius:2px;text-decoration:none;font-weight:600;letter-spacing:.04em;border:1px solid var(--green);cursor:pointer;font-size:.95rem;font-family:inherit;transition:background .2s}
.btn:hover{background:var(--green-dark)}
.btn:disabled{opacity:.6;cursor:wait}
.btn-small{padding:10px 18px;font-size:.85rem}
.btn-ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.7)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-gold{background:var(--gold);border-color:var(--gold)}
.btn-gold:hover{background:#9a7a49}
.hero{background:linear-gradient(135deg,var(--green) 0%,#9b2c52 100%);color:#fff;padding:clamp(72px,12vw,150px) clamp(20px,5vw,64px);border-bottom:6px solid var(--gold)}
.hero-inner{max-width:820px;margin:0 auto}
.hero h1{color:#fff}
.hero .lead{font-size:1.2rem;max-width:620px;color:#f8edf1}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold);margin-bottom:14px}
.eyebrow.dark{color:var(--gold)}
.center{text-align:center}
.section{padding:clamp(56px,8vw,100px) clamp(20px,5vw,64px)}
.section.alt{background:var(--cream)}
.narrow{max-width:720px;margin:0 auto}
.wide{max-width:1100px;margin:0 auto}
.sub{color:var(--muted);max-width:620px;margin:0 auto 44px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:26px 24px;border-radius:2px}
.card p{color:var(--muted);margin:0;font-size:.95rem}
.steps{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px}
.steps li{text-align:center}
.num{display:inline-flex;width:46px;height:46px;border-radius:50%;background:var(--green);color:#fff;font-family:"Playfair Display",serif;font-size:1.2rem;align-items:center;justify-content:center;margin-bottom:14px}
.steps p{color:var(--muted)}
.cta{background:var(--sand);text-align:center;padding:clamp(56px,8vw,90px) 20px;border-top:1px solid var(--line)}
.cta p{color:var(--muted);margin-bottom:24px}
.site-footer{background:var(--green-dark);color:#f0dde4;text-align:center;padding:40px 20px}
.site-footer p{margin:0 0 6px}
.foot-brand{font-family:"Playfair Display",serif;font-size:1.25rem;color:#fff}
.foot-brand span{display:block;font-family:"Inter",sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:2px}
.small{font-size:.8rem;opacity:.8;margin-top:12px!important}
.page-head{background:var(--cream);text-align:center;padding:clamp(48px,7vw,84px) 20px;border-bottom:1px solid var(--line)}
.page-head .lead{color:var(--muted);max-width:560px;margin:0 auto}
.form-wrap{padding:clamp(32px,6vw,72px) 20px}
.form-card{max-width:680px;margin:0 auto;background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);padding:clamp(22px,4vw,40px);border-radius:2px;box-shadow:0 8px 30px rgba(122,31,61,.08)}
.muted{color:var(--muted)}
.field{margin-bottom:20px}
.field label.lbl,.field .lbl{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--green)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=date],.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid #cfc3a9;border-radius:2px;font:inherit;background:#fff;color:var(--ink)}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--err)}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px}
.checks label{display:flex;gap:8px;align-items:flex-start;font-size:.92rem;font-weight:400}
.help{font-size:.82rem;color:var(--muted);margin:6px 0 0}
.err{font-size:.84rem;color:var(--err);margin:6px 0 0;min-height:0}
.form-error{background:#fbeae6;color:var(--err);padding:10px 14px;border-radius:2px;margin-bottom:16px;font-size:.92rem}
.thanks{text-align:center;padding:24px 8px}
.thanks h2{margin-bottom:.4em}
@media(max-width:640px){.site-header{justify-content:center;text-align:center}.nav{justify-content:center;gap:14px}}
.logo{display:block;position:relative;width:112px;height:88px;overflow:hidden}
.logo img{position:absolute;width:228px;max-width:none;height:auto;left:-23px;top:-30px}

.group{font-family:"Inter",system-ui,sans-serif;font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:44px 0 18px;font-weight:600}
.group:first-of-type{margin-top:0}

.card-link{display:block;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.card-link:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(122,31,61,.12)}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,60px);align-items:center;max-width:1100px;margin:0 auto 72px}
.feature:last-child{margin-bottom:0}
.feature.rev .ph{order:2}
.feature img{width:100%;height:auto;display:block;border-radius:2px;box-shadow:0 10px 30px rgba(122,31,61,.14)}
.cap{font-size:.74rem;color:var(--muted);margin:8px 0 0}
.feature .txt p{color:var(--muted);font-size:1.05rem}
@media(max-width:760px){.feature{grid-template-columns:1fr;margin-bottom:48px}.feature.rev .ph{order:0}}
