:root{
  --green-700:#1E5B23;
  --green-600:#2F8F2F;
  --green-500:#5FBF3E;
  --lime-400:#8FE04C;
  --lime-300:#B6F27A;
  --ink-900:#12190E;
  --ink-700:#33402C;
  --ink-500:#5C6B53;
  --paper-0:#FFFFFF;
  --paper-50:#F5FBF0;
  --paper-100:#EAF6E1;
  --line-200:#DCEBD1;
  --danger:#C0392B;
  --radius-s:8px;
  --radius-m:14px;
  --radius-l:24px;
  --shadow-card:0 1px 2px rgba(18,25,14,.06), 0 8px 24px rgba(18,25,14,.06);
  --font-display:'Manrope',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --bg:var(--paper-0);
  --surface:var(--paper-50);
  --surface-raised:var(--paper-0);
  --text:var(--ink-900);
  --text-muted:var(--ink-500);
  --border:var(--line-200);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.15;margin:0 0 .5em;color:var(--text);}
h1{font-size:clamp(2.1rem,4.4vw,3.4rem);}
h2{font-size:clamp(1.5rem,2.8vw,2.1rem);}
h3{font-size:1.2rem;font-weight:700;}
p{margin:0 0 1em;color:var(--text-muted);}
ul{margin:0 0 1em;padding-left:1.2em;color:var(--text-muted);}
li{margin-bottom:.4em;}
button{font-family:inherit;cursor:pointer;}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--border);}
.header-row{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px;}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:1.35rem;text-decoration:none;color:var(--text);}
.logo svg{width:34px;height:34px;flex:none;}
nav.primary-nav{display:flex;align-items:center;gap:4px;}
nav.primary-nav a{text-decoration:none;color:var(--text-muted);font-weight:600;font-size:.96rem;padding:10px 14px;border-radius:999px;transition:background .15s,color .15s;}
nav.primary-nav a:hover{background:var(--paper-100);color:var(--text);}
nav.primary-nav a.active{background:var(--green-600);color:#fff;}
.header-actions{display:flex;align-items:center;gap:10px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;font-weight:700;font-size:.95rem;padding:12px 22px;text-decoration:none;transition:transform .12s,box-shadow .12s,background .15s;}
.btn:active{transform:scale(.97);}
.btn-primary{background:var(--green-600);color:#fff;box-shadow:0 6px 18px rgba(47,143,47,.28);}
.btn-primary:hover{background:var(--green-700);}
.btn-ghost{background:transparent;color:var(--text);border:1.5px solid var(--border);}
.btn-ghost:hover{border-color:var(--green-500);color:var(--green-700);}
.btn-lime{background:var(--lime-400);color:var(--ink-900);}
.btn-lime:hover{background:var(--lime-300);}
.btn-block{width:100%;}
.menu-toggle{display:none;background:none;border:1.5px solid var(--border);border-radius:10px;width:44px;height:44px;align-items:center;justify-content:center;}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{content:"";display:block;width:18px;height:2px;background:var(--text);position:relative;transition:.2s;}
.menu-toggle span::before{position:absolute;top:-6px;}
.menu-toggle span::after{position:absolute;top:6px;}

/* Breadcrumbs */
.breadcrumbs{padding:16px 0 0;font-size:.85rem;color:var(--text-muted);}
.breadcrumbs a{text-decoration:none;color:var(--text-muted);}
.breadcrumbs a:hover{color:var(--green-700);}
.breadcrumbs .sep{margin:0 6px;opacity:.6;}
.breadcrumbs .current{color:var(--text);font-weight:600;}

/* Hero */
.hero{position:relative;overflow:hidden;padding:56px 0 64px;background:linear-gradient(180deg,var(--paper-50) 0%, var(--bg) 100%);border-bottom:1px solid var(--border);}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.eyebrow-badge{display:inline-flex;align-items:center;gap:8px;background:var(--paper-100);border:1px solid var(--border);color:var(--green-700);font-weight:700;font-size:.82rem;padding:6px 14px;border-radius:999px;margin-bottom:18px;}
.hero p.lead{font-size:1.12rem;max-width:46ch;}
.hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.hero-art{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;}
.card-shape{position:absolute;border-radius:20px;box-shadow:var(--shadow-card);}
.card-shape.c1{width:190px;height:260px;background:var(--green-600);top:6%;left:8%;transform:rotate(-12deg);}
.card-shape.c2{width:190px;height:260px;background:var(--paper-0);border:1px solid var(--border);top:18%;left:34%;transform:rotate(6deg);display:flex;align-items:center;justify-content:center;}
.card-shape.c3{width:190px;height:260px;background:var(--lime-400);top:2%;left:52%;transform:rotate(18deg);}
.card-suit{font-size:3.4rem;color:var(--green-600);}

/* Sections */
.section{padding:64px 0;}
.section-tight{padding:48px 0;}
.section-head{max-width:60ch;margin-bottom:34px;}
.section-head p{margin-bottom:0;}
.alt{background:var(--surface);}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-m);padding:26px;box-shadow:var(--shadow-card);}
.card .icon{width:46px;height:46px;border-radius:12px;background:var(--paper-100);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--green-700);}
.card h3{margin-bottom:.4em;}
.card p{margin-bottom:0;}

table{width:100%;border-collapse:collapse;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden;}
table caption{text-align:left;padding-bottom:10px;color:var(--text-muted);font-size:.9rem;}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--border);font-size:.95rem;}
th{background:var(--paper-100);font-family:var(--font-display);font-weight:700;color:var(--text);}
tr:last-child td{border-bottom:none;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.step .num{width:40px;height:40px;border-radius:50%;background:var(--green-600);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;margin-bottom:14px;}

.faq-item{border-bottom:1px solid var(--border);}
.faq-item:first-child{border-top:1px solid var(--border);}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:18px 4px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text);}
.faq-q .plus{flex:none;width:22px;height:22px;position:relative;}
.faq-q .plus::before,.faq-q .plus::after{content:"";position:absolute;background:var(--green-600);border-radius:2px;}
.faq-q .plus::before{width:14px;height:2px;top:10px;left:4px;}
.faq-q .plus::after{width:2px;height:14px;top:4px;left:10px;transition:transform .18s;}
.faq-item.open .faq-q .plus::after{transform:rotate(90deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .22s ease;}
.faq-a p{padding:0 4px 18px;margin:0;}
.faq-item.open .faq-a{max-height:300px;}

.cta-band{background:var(--green-700);color:#fff;border-radius:var(--radius-l);padding:48px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.cta-band h2,.cta-band p{color:#fff;}
.cta-band p{opacity:.85;margin-bottom:0;max-width:48ch;}

.form-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-l);padding:38px;box-shadow:var(--shadow-card);max-width:440px;margin:0 auto;}
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--text);}
.form-field input{width:100%;padding:13px 14px;border-radius:var(--radius-s);border:1.5px solid var(--border);background:var(--bg);color:var(--text);font-size:.98rem;font-family:inherit;}
.form-field input:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px rgba(95,191,62,.18);}
.form-row-between{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:.88rem;}
.form-row-between a{color:var(--green-700);text-decoration:none;font-weight:600;}
.form-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--text-muted);font-size:.85rem;}
.form-divider::before,.form-divider::after{content:"";flex:1;height:1px;background:var(--border);}
.form-note{text-align:center;font-size:.88rem;margin-top:16px;}
.form-note a{color:var(--green-700);font-weight:600;text-decoration:none;}

.promo-box{display:flex;gap:10px;max-width:480px;margin:0 auto 8px;}
.promo-box input{flex:1;padding:14px 16px;border-radius:var(--radius-s);border:1.5px solid var(--border);background:var(--bg);color:var(--text);font-size:1rem;font-family:inherit;text-transform:uppercase;letter-spacing:.03em;}
.promo-box input:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px rgba(95,191,62,.18);}

.badge-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.badge-list .pill{background:var(--paper-100);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600;color:var(--text-muted);}

.seo-content{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:56px 0;}
.seo-content .wrap{max-width:840px;}
.seo-content h2{font-size:1.35rem;}
.seo-content h3{font-size:1.05rem;}
.seo-content p,.seo-content li{color:var(--text-muted);}
.seo-content a{color:var(--green-700);text-decoration:underline;}
.seo-content table{margin:18px 0;}
.seo-placeholder{border:1.5px dashed var(--border);border-radius:var(--radius-m);padding:22px;color:var(--text-muted);font-size:.9rem;}

footer.site-footer{background:var(--ink-900);color:#DCEBD1;padding:56px 0 28px;margin-top:0;}
footer.site-footer a{color:#DCEBD1;text-decoration:none;}
footer.site-footer a:hover{color:var(--lime-300);}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:32px;margin-bottom:40px;}
.footer-grid h4{color:#fff;font-size:.9rem;letter-spacing:.02em;margin-bottom:14px;}
.footer-grid ul{list-style:none;padding:0;margin:0;}
.footer-grid li{margin-bottom:10px;font-size:.92rem;}
.footer-logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:1.2rem;color:#fff;margin-bottom:12px;}
.footer-legal-note{font-size:.82rem;color:#8CA27F;line-height:1.6;max-width:60ch;}
.footer-bottom{border-top:1px solid #233022;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem;color:#8CA27F;}
.age-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1.5px solid #8CA27F;border-radius:6px;font-weight:800;font-size:.78rem;margin-right:8px;}

nav.mobile-nav{display:none;flex-direction:column;gap:2px;padding:10px 24px 18px;border-bottom:1px solid var(--border);background:var(--bg);}
nav.mobile-nav.open{display:flex;}
nav.mobile-nav a{padding:14px 6px;text-decoration:none;color:var(--text);font-weight:600;border-bottom:1px solid var(--border);}
nav.mobile-nav a:last-child{border-bottom:none;}
nav.mobile-nav a.active{color:var(--green-700);}

@media (max-width:900px){
  nav.primary-nav{display:none;}
  .menu-toggle{display:flex;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-art{order:-1;aspect-ratio:16/10;}
  .grid-3,.grid-2,.steps{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .cta-band{flex-direction:column;text-align:center;}
}
@media (max-width:520px){
  .header-row{height:66px;}
  .footer-grid{grid-template-columns:1fr;}
  .promo-box{flex-direction:column;}
  .form-card{padding:26px 20px;}
}
