:root {
  --green: #4CAF50;
  --forest: #2E7D32;
  --cream: #FAF9F5;
  --gold: #D4AF37;
  --ink: #1B1B1B;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family:'Open Sans', Arial, sans-serif; color:var(--ink); background:var(--cream);}
h1,h2,h3,h4 { font-family:'Montserrat', 'Open Sans', Arial, sans-serif; margin:0 0 .5rem 0; }
.container { width: min(1100px, 92%); margin: 0 auto; }
.site-header { background:#fff; border-bottom:1px solid #eee; position:sticky; top:0; z-index:10;}
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:.9rem 0; gap:1rem;}
.brand .logo { font-weight:800; letter-spacing:.5px; font-family:'Montserrat'; color:var(--forest); }
.brand .logo em { color:var(--green); font-style:normal; }
.brand .tagline { display:block; font-size:.9rem; color:#444; }
.nav a { margin-left:1rem; text-decoration:none; color:#222; font-weight:600; }
.nav .btn--sm { padding:.45rem .7rem; border:1px solid var(--forest); border-radius:.5rem; }
.hero { background:linear-gradient(135deg, #fff, var(--cream)); padding:3.2rem 0 2.4rem;}
.hero-inner { display:grid; grid-template-columns:1.3fr .9fr; gap:2rem; align-items:center;}
.hero-copy h1 { font-size:2.2rem; line-height:1.2; }
.hl { color:var(--green); }
.cta .btn { margin-right:.6rem; }
.ticks { list-style:none; padding:0; margin:1rem 0 0 0; }
.ticks li::before { content:'✓'; color:var(--green); margin-right:.5rem; }
.card { background:#fff; border:1px solid #eee; border-radius:12px; padding:1.1rem 1.2rem; box-shadow:0 6px 20px rgba(0,0,0,.04);}
.hero-card .card h3 { margin-bottom:.6rem; }
.hero-card ol { margin:.2rem 0 0 1rem; }
.pricing { padding:2.8rem 0; background:#fff; }
.price-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.price-card.highlight { border-color:var(--gold); box-shadow:0 8px 24px rgba(212,175,55,.15); }
.example { margin-top:1.4rem; }
.calc { padding:2.8rem 0; background:#fff; }
.calc-card form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.calc-card .row, .calc-card .row-inline { display:flex; flex-direction:column; }
.calc-card label { font-weight:700; margin-bottom:.25rem; }
.calc-card input[type=number] { padding:.6rem .7rem; border:1px solid #e1e1e1; border-radius:.5rem; }
.chk { font-weight:600; }
.result { margin-top:1.2rem; }
.result ul { list-style:none; padding:0; margin:.4rem 0; }
.result li { display:flex; align-items:center; justify-content:space-between; padding:.35rem 0; border-bottom:1px dashed #eee; }
.total-line { display:flex; align-items:center; justify-content:space-between; font-weight:800; font-size:1.2rem; margin-top:.6rem; }
.total-line.sub { font-size:1.05rem; font-weight:700; }
.muted { color:#666; }
.small { font-size:.9rem; }
.tip-wrap { margin:.6rem 0; }
.tip-buttons { display:flex; gap:.5rem; margin:.3rem 0 .4rem; flex-wrap:wrap; }
.feature { padding:2.8rem 0; }
.feature-inner { display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; }
.live { padding:2.6rem 0; background:linear-gradient(180deg, #fff, var(--cream)); }
.contact { padding:2.8rem 0; }
.contact .phone a { font-size:1.6rem; font-weight:800; color:var(--forest); text-decoration:none; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.col-span { grid-column: span 2; }
input, textarea { padding:.6rem .7rem; border:1px solid #e1e1e1; border-radius:.5rem; width:100%; }
.alert { margin-top:.8rem; padding:.7rem 1rem; border-radius:.5rem; font-weight:600; }
.alert.success { background:#E8F5E9; color:#2E7D32; border:1px solid #C8E6C9; }
.alert.error { background:#FFEBEE; color:#B71C1C; border:1px solid #FFCDD2; }
.btn { display:inline-block; padding:.8rem 1.1rem; border-radius:.7rem; font-weight:700; text-decoration:none; border:2px solid transparent; }
.btn--primary { background:var(--green); color:#fff; }
.btn--outline { border-color:var(--forest); color:var(--forest); background:transparent; }
.site-footer { padding:1.6rem 0; border-top:1px solid #eee; font-size:.95rem; color:#444; }
@media (max-width: 920px) {
  .hero-inner, .price-grid, .calc-card form, .feature-inner, .grid2 { grid-template-columns:1fr; }
  .col-span { grid-column: span 1; }
}
