:root {
  --bg: #fff6f4;
  --panel: rgba(255, 255, 255, 0.8);
  --ink: #241c1a;
  --muted: #665753;
  --line: rgba(36, 28, 26, 0.1);
  --primary: #8c3d34;
  --primary-ink: #fff8f6;
  --accent: #f2b5a7;
  --shadow: 0 24px 70px rgba(63, 37, 29, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Manrope", sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(242, 181, 167, 0.24), transparent 33%),
    linear-gradient(180deg, #fffdfc 0%, var(--bg) 100%);
}
a { color: inherit; text-decoration: none; }
.page-shell { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding-bottom: 48px; }
.topbar, .hero, .section-grid, .process, .content-slab, .form-section, .footer { margin-top: 24px; }
.topbar, .accent-card, .table-card, .content-slab, .lead-form, .footer {
  background: var(--panel);
  backdrop-filter: blur(12px);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.topbar { display:flex; justify-content:space-between; align-items:center; border-radius:24px; padding:18px 22px; }
.eyebrow, .section-tag, .panel-label { display:inline-block; font-size:.78rem; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); }
.brand { display:block; margin-top:6px; font-family:"Fraunces", serif; font-size:1.6rem; }
.cta-link { font-weight:700; }
.hero { display:grid; grid-template-columns:1.35fr .85fr; gap:24px; align-items:stretch; }
.hero-copy, .accent-card, .form-copy { padding:34px; }
h1, h2, h3 { font-family:"Fraunces", serif; margin:0; }
h1 { margin-top:12px; font-size:clamp(2.4rem, 5.8vw, 4.6rem); line-height:.96; }
h2 { font-size:clamp(1.8rem, 3vw, 2.7rem); margin-top:10px; }
h3 { font-size:1.2rem; }
.lead, .hero-copy p, .form-copy p, .content-slab p, .metric-row span, .metric-row strong, .price-row span, .price-row strong, .steps p, .footer p, .status-message { color:var(--muted); line-height:1.6; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin:28px 0 24px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 22px; border-radius:999px; border:1px solid transparent; font-weight:800; cursor:pointer; }
.button.primary { background:var(--primary); color:var(--primary-ink); }
.button.ghost { background:transparent; border-color:var(--line); }
.trust-strip, .bullet-columns ul { margin:0; padding-left:18px; }
.trust-strip li, .bullet-columns li { margin:8px 0; color:var(--muted); }
.accent-card { border-radius:28px; position:relative; overflow:hidden; }
.accent-card::after { content:""; position:absolute; inset:auto -10% -34% 40%; height:260px; background:radial-gradient(circle, rgba(140,61,52,.2), transparent 65%); }
.metric-row, .price-row { display:grid; grid-template-columns:1fr auto; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }
.metric-row:last-of-type, .price-row:last-of-type { border-bottom:0; }
.section-grid, .form-section { display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; align-items:start; }
.table-card, .content-slab, .lead-form, .footer { border-radius:28px; padding:28px; }
.process .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:18px; }
.steps article { padding:24px; background:rgba(255,255,255,.62); border:1px solid var(--line); border-radius:22px; }
.content-slab { display:grid; gap:20px; }
.bullet-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
label { display:flex; flex-direction:column; gap:8px; font-weight:700; }
input, select, textarea { width:100%; border:1px solid var(--line); border-radius:16px; padding:14px 16px; font:inherit; background:rgba(255,255,255,.94); }
.full-width { grid-column:1 / -1; margin-top:14px; }
.consent-row { margin-top:16px; flex-direction:row; align-items:flex-start; font-weight:500; }
.consent-row input { width:auto; margin-top:3px; }
.status-message { min-height:24px; }
.status-message.success { color:var(--primary); }
.status-message.error { color:#9c2f2f; }
.footer { display:flex; justify-content:space-between; align-items:center; }
@media (max-width: 900px) {
  .hero, .section-grid, .form-section, .process .steps, .bullet-columns, .field-grid { grid-template-columns:1fr; }
  .topbar, .footer { flex-direction:column; align-items:flex-start; gap:12px; }
  .hero-copy, .accent-card, .form-copy, .table-card, .content-slab, .lead-form, .footer { padding:24px; }
}
