/* ==========================================================================
   Homepage (front-page.php) - "Smell the Magic" design.
   Loaded only on the front page, after main.css. Colours, fonts, --pad,
   buttons (.btn-*), .eyebrow and section headings (.sec, .sec-head) come
   from main.css.
   The site header lives in main.css; the CTA + footer is the shared
   site closer (plugin footer-forest.php for now).
   ========================================================================== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#fff;color:var(--color-ink);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{margin:0;font-size:inherit;font-weight:inherit;}
p{margin:0;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-purple);color:#fff;padding:10px 16px;border-radius:8px;z-index:1000;}
.skip-link:focus{left:12px;top:12px;}
a:focus-visible,summary:focus-visible{outline:3px solid var(--color-gold-bright);outline-offset:2px;border-radius:6px;}

/* ---------- HERO ---------- */
.hero{display:flex;gap:56px;padding:70px var(--pad) 44px;align-items:stretch;background:#fff;}
.hero-copy{flex:1;min-width:0;}
.hero-eyebrow{margin-bottom:4px;}
.hero h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(40px,5.4vw,68px);line-height:1.04;letter-spacing:-.015em;color:var(--color-ink);text-wrap:balance;}
.hero h1 em{font-style:italic;font-weight:500;color:var(--color-purple);}
.hero-sub{font-size:22px;line-height:1.6;color:var(--color-muted);margin-top:24px;max-width:520px;}
.hero-ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
/* Gold accent rule under the eyebrow (52x4 gradient bar, from T's hero). */
/* Gold accent rule under the hero eyebrow. */
.hero-eyebrow::after{content:"";display:block;width:52px;height:4px;border-radius:4px;margin-top:24px;background:var(--gradient-gold-45);}
/* Capability trio that fills the space under the CTAs (replaces the old
   redundant inline badge row T flagged). Deliberately a DIFFERENT category
   from the trust ribbon below: what we make and how to buy, not the
   compliance badges. */
.hero-caps{list-style:none;margin:34px 0 0;padding:0;display:flex;flex-direction:column;gap:18px;max-width:520px;}
.hero-caps li{display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-items:start;}
.hero-caps li::before{content:"\2713";content:"\2713" / "";grid-row:1 / span 2;font-weight:700;color:var(--color-gold);font-size:18px;line-height:1;margin-top:2px;}
.hero-caps .cap-t{display:block;font-weight:700;font-size:15px;color:var(--color-ink-soft);letter-spacing:-.005em;margin-bottom:2px;}
.hero-caps .cap-d{display:block;font-size:14px;line-height:1.5;color:var(--color-muted);}
.hero-visual{flex:none;width:500px;min-height:620px;position:relative;overflow:hidden;}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.hero-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,#fff 0%,rgba(255,255,255,0) 17%,rgba(255,255,255,0) 83%,#fff 100%),linear-gradient(to bottom,#fff 0%,rgba(255,255,255,0) 13%,rgba(255,255,255,0) 85%,#fff 100%);}

/* ---------- TRUST BAR ---------- */
.trust{list-style:none;margin:56px var(--pad);background:var(--color-purple);border-radius:18px;padding:20px;display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap;font-weight:600;font-size:16px;color:#e6dcf5;}
.trust strong{color:var(--color-gold-light);font-weight:700;}
.trust .dot{opacity:.4;}

/* ---------- ZERO / HUMBOLDT BAND ---------- */
.zero{position:relative;min-height:548px;overflow:hidden;display:flex;flex-direction:column;}
.zero>img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;}
.zero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 17%,rgba(255,255,255,0) 83%,#fff 100%);}
.zero .cap{position:relative;z-index:2;text-align:center;order:2;margin:4px auto 0;}
.magic-kicker{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--color-green);font-family:var(--font-sans);font-weight:700;font-size:12px;letter-spacing:.28em;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 7px rgba(255,255,255,.95),0 1px 3px rgba(255,255,255,.85);}
.magic-kicker::before,.magic-kicker::after{content:"";width:7px;height:7px;background:var(--color-gold-bright);transform:rotate(45deg);}
.magic-place{font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:26px;color:var(--color-green);margin-top:3px;text-shadow:0 0 9px rgba(255,255,255,.95),0 1px 3px rgba(255,255,255,.85);}
.zero .cap .btn{margin-top:16px;box-shadow:0 10px 24px rgba(31,58,44,.28);}
.zero .zeros{position:relative;z-index:2;padding:60px var(--pad) 0;display:flex;justify-content:center;align-items:flex-start;gap:36px;flex-wrap:wrap;}
.zero-item{display:flex;align-items:center;gap:16px;}
.zero-item img{width:86px;height:86px;flex:none;display:block;filter:drop-shadow(0 7px 14px rgba(31,58,44,.28));}
.zero-item .lbl{font-family:var(--font-serif);font-weight:600;font-size:26px;color:var(--color-green);line-height:1;text-shadow:0 0 9px rgba(255,255,255,.95),0 1px 3px rgba(255,255,255,.85);}

/* ---------- STRAIN PROFILES ---------- */
.strains{background:#fff;}
.strain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.scard{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--color-line);box-shadow:0 8px 22px rgba(74,38,128,.06);transition:transform .18s ease,box-shadow .18s ease;display:block;}
.scard:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(74,38,128,.16);}
.scard>img{width:100%;height:170px;object-fit:cover;display:block;}
.scard .body{padding:20px;}
.scard .tags{display:flex;align-items:center;gap:8px;margin-bottom:9px;}
.badge{font-size:10px;font-weight:700;letter-spacing:.08em;padding:4px 9px;border-radius:30px;}
.badge.hybrid{background:#e6f0e4;color:#3e6e5c;}
.badge.indica{background:#efe7fa;color:var(--color-purple);}
.badge.sativa{background:#f6edd8;color:#b0871f;}
.terp{font-size:12px;color:var(--color-gold-text);font-weight:600;}
.scard .name{font-family:var(--font-serif);font-weight:600;font-size:22px;color:var(--color-ink);}
.scard .price{display:flex;justify-content:space-between;align-items:center;margin-top:12px;}
.scard .price .ml{font-size:12px;color:var(--color-note);}
.scard .price .amt{font-weight:700;font-size:15px;color:var(--color-purple);}
.strain-all{display:inline-flex;align-items:center;gap:10px;margin-top:36px;}

/* ---------- LANDSCAPE DIVIDER ---------- */
.divider{position:relative;height:238px;overflow:hidden;}
.divider>img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;}
.divider::after{content:"";position:absolute;inset:0;z-index:1;}
.divider .cap{position:absolute;top:18px;left:50%;transform:translateX(-50%);text-align:center;z-index:2;}
.divider .magic-place{font-size:23px;}

/* ---------- WHAT WE MAKE ---------- */
.make{background:var(--color-lilac);}
.make-grid,.why-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.mcard{background:#fff;border-radius:16px;padding:34px;border:1px solid var(--color-line);}
.mcard img{width:80px;height:80px;display:block;margin-bottom:16px;}
.mcard .h{font-family:var(--font-serif);font-weight:600;font-size:23px;color:var(--color-ink);margin-bottom:10px;}
.mcard .d{font-size:16px;line-height:1.6;color:var(--color-muted);}

/* ---------- WHOLESALE ---------- */
.wholesale{background:var(--color-lilac);position:relative;overflow:hidden;}
.flower-deco{position:absolute;top:-26px;right:-54px;width:500px;height:auto;z-index:1;pointer-events:none;filter:drop-shadow(0 14px 26px rgba(31,58,44,.16));}
.wholesale .sec-head{max-width:840px;position:relative;z-index:2;}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;position:relative;z-index:2;}
.tier{background:#fff;border-radius:20px;padding:32px;border:1px solid var(--color-line);box-shadow:0 8px 24px rgba(74,38,128,.06);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;}
.tier:hover{transform:translateY(-6px);box-shadow:0 24px 46px rgba(74,38,128,.16);}
.tier .kick{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold-text);margin-bottom:12px;}
.tier .name{font-family:var(--font-serif);font-weight:600;font-size:26px;color:var(--color-ink);}
.tier .pr{display:flex;align-items:baseline;gap:8px;margin:6px 0 12px;}
.tier .pr .big{font-family:var(--font-serif);font-weight:700;font-size:42px;line-height:1;}
.tier .pr .sm{font-size:14px;color:var(--color-note-2);}
.tier .desc{font-size:15px;line-height:1.6;color:var(--color-muted);margin-bottom:18px;}
.tier ul{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:9px;}
.tier li{display:flex;align-items:center;gap:9px;font-size:15px;color:var(--color-ink-mid);}
.tier li::before{content:"\2713";content:"\2713" / "";color:var(--color-green-free);font-weight:700;}
.tier .foot{margin-top:auto;}
.tier .foot .note{text-align:center;font-size:12px;color:var(--color-note);margin-top:10px;}
.tier .btn{display:block;width:100%;}
.tier.feat{border:2px solid var(--color-purple);box-shadow:0 22px 48px rgba(74,38,128,.2);position:relative;transform:scale(1.035);z-index:3;}
.tier.feat:hover{transform:scale(1.035) translateY(-6px);}
.tier .pop{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--color-purple),var(--color-purple-dark));color:#fff;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 16px;border-radius:30px;white-space:nowrap;box-shadow:0 6px 16px rgba(74,38,128,.3);}
.wholesale-call{margin-top:34px;text-align:center;font-size:16px;color:var(--color-muted);position:relative;z-index:2;}
.wholesale-call strong{color:var(--color-purple);}

/* ---------- WHY TERPLANDIA ---------- */
.why{background:#fff;position:relative;overflow:hidden;}
.why .sec-head{max-width:760px;position:relative;z-index:2;}
.why .sec-head h2{font-weight:600;}
.why .sec-head p strong{color:var(--color-gold);}
.why-grid-3{gap:28px 44px;position:relative;z-index:2;}
.why-item{border-left:2px solid var(--color-gold-bright);padding-left:20px;}
.why-item .h{font-family:var(--font-serif);font-weight:600;font-size:23px;color:var(--color-ink);margin-bottom:6px;}
.why-item .d{font-size:16px;line-height:1.6;color:var(--color-muted);}

/* ---------- REAL DIFFERENCE (dark) ---------- */
.diff{position:relative;isolation:isolate;padding:96px var(--pad) 104px;background:radial-gradient(135% 100% at 50% 0%,var(--color-purple-dark) 0%,#3b2a60 44%,#2f4a3d 100%);overflow:hidden;color:#f3eef9;}
/* Decoration lives in pseudo-elements painted behind the content (z-index -1
   inside the isolated .diff): rays = .diff::before; sparks = .diff::after,
   .diff-head::before, .diff-head::after (positioned against .diff). */
.diff::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-conic-gradient(from 0deg at 50% -4%,rgba(231,198,107,.08) 0deg 3deg,transparent 3deg 12deg);}
.diff::after,.diff-head::before,.diff-head::after{content:"";position:absolute;z-index:-1;border-radius:50%;}
.diff::after{top:70px;left:16%;width:5px;height:5px;background:var(--gradient-gold-45);box-shadow:0 0 12px 2px rgba(231,198,107,.7);animation:tl-twinkle 3.6s ease-in-out infinite;}
.diff-head::before{top:130px;right:20%;width:4px;height:4px;background:#fff;box-shadow:0 0 9px 2px rgba(255,255,255,.6);animation:tl-twinkle 4.6s ease-in-out .6s infinite;}
.diff-head::after{top:90px;left:54%;width:3px;height:3px;background:var(--gradient-gold-45);box-shadow:0 0 8px 2px rgba(231,198,107,.6);animation:tl-twinkle 5.2s ease-in-out 1.1s infinite;}
@keyframes tl-twinkle{0%,100%{opacity:.3}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.diff::after,.diff-head::before,.diff-head::after{animation:none;opacity:.8;}}
.diff-head{text-align:center;max-width:860px;margin:0 auto;}
.diff-kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-sans);font-weight:700;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--color-gold-light);margin-bottom:24px;}
.diff-kicker::before,.diff-kicker::after{content:"";width:7px;height:7px;background:var(--gradient-gold-45);transform:rotate(45deg);}
.diff-head h2{font-family:var(--font-serif);font-weight:600;font-size:clamp(40px,5vw,62px);line-height:1.05;color:#f7f2ea;}
.diff-head h2 em{font-style:italic;color:var(--color-gold-light);}
.diff-head p{font-family:var(--font-sans);font-weight:400;font-size:18px;line-height:1.6;color:#cdbfe2;margin-top:22px;}
.diff-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1080px;margin:56px auto 0;}
.diff-stats .st{text-align:center;}
.diff-stats .num{font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:44px;color:var(--color-gold-light);}
.diff-stats .cap{font-size:15px;color:#cdbfe2;margin-top:6px;line-height:1.5;}

/* ---------- FAQ ---------- */
.faq{background:#fff;}
.faq-row{display:flex;gap:56px;align-items:flex-start;flex-wrap:wrap;}
.faq-main{flex:1;min-width:440px;}
.faq-main>.eyebrow{font-size:12px;color:var(--color-gold-text);margin-bottom:14px;display:block;}
.faq-main h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(30px,3.4vw,40px);line-height:1.08;color:var(--color-ink);margin-bottom:14px;}
.faq-main>p{font-size:16px;line-height:1.6;color:var(--color-muted);max-width:680px;margin-bottom:30px;}
.faq details{border-bottom:1px solid var(--color-line);}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 4px;font-family:var(--font-serif);font-weight:600;font-size:22px;color:var(--color-ink);cursor:pointer;list-style:none;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";content:"+" / "";font-size:24px;color:var(--color-gold-bright);transition:transform .2s ease;font-weight:400;flex:none;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .ans{padding:0 4px 24px;font-size:16px;line-height:1.6;color:var(--color-muted);max-width:760px;}
.faq-aside{flex:none;width:336px;background:linear-gradient(160deg,var(--color-purple-dark),var(--color-purple));border-radius:22px;padding:38px;color:#fff;position:relative;isolation:isolate;overflow:hidden;}
.faq-aside::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-conic-gradient(from 0deg at 82% 0%,rgba(231,198,107,.10) 0deg 3deg,transparent 3deg 12deg);}
.faq-aside .kick{font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-gold-light);margin-bottom:14px;}
.faq-aside .h{font-family:var(--font-serif);font-weight:600;font-size:30px;line-height:1.12;margin-bottom:12px;}
.faq-aside p{font-size:16px;line-height:1.6;color:#d8ccef;}
.faq-aside .phone{font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:28px;color:var(--color-gold-light);margin-top:22px;display:block;}
.faq-aside .phone:hover{text-decoration:underline;}
.faq-aside .sub{font-size:15px;color:#cdbfe6;margin-top:6px;}
.faq-aside .email{font-family:var(--font-sans);font-weight:700;font-size:16px;color:var(--color-gold-light);margin-top:8px;display:block;}
.faq-aside .email:hover{text-decoration:underline;}
.faq-aside .note{font-size:15px;line-height:1.55;color:#cdbfe6;margin-top:18px;}
.faq-aside .note strong{color:#fff;}
.faq-aside .btn-gold{margin-top:18px;padding:14px 26px;font-size:15px;}

/* CTA + footer now live in templates/partials/footer-forest.php (site closer). */

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .strain-grid{grid-template-columns:repeat(3,1fr);}
  .diff-stats{grid-template-columns:repeat(2,1fr);gap:36px 24px;}
  .flower-deco{width:380px;opacity:.5;}
}
@media (max-width:900px){
  .hero{flex-direction:column;align-items:flex-start;gap:36px;padding-top:48px;}
  .hero-visual{width:100%;height:420px;min-height:0;}
  .hero-sub{max-width:none;}
  .hero-caps{max-width:none;}
  .make-grid,.why-grid-3,.tiers{grid-template-columns:1fr;}
  .tier.feat{transform:none;}
  .tier.feat:hover{transform:translateY(-6px);}
  .faq-row{flex-direction:column;}
  .faq-main{min-width:0;width:100%;}
  .faq-aside{width:100%;}
}
@media (max-width:640px){
  .hero-ctas .btn{flex:1 1 100%;}
  .trust{margin:36px var(--pad);gap:14px 22px;font-size:15px;}
  .strain-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .scard .name{font-size:19px;}
  .zero .zeros{gap:22px;padding-top:40px;}
  .zero-item img{width:64px;height:64px;}
  .zero-item .lbl{font-size:21px;}
  .diff{padding:64px var(--pad);}
  .diff-stats{gap:30px 18px;}
}
@media (max-width:420px){
  .strain-grid{grid-template-columns:1fr;}
}

/* ---------- Section modifiers (were inline style="" attributes) ---------- */
.strains .sec-head{max-width:780px;}
.make .sec-head{max-width:840px;}
.make .sec-head h2{font-size:clamp(30px,3.4vw,42px);}
.wholesale .sec-head h2{font-weight:600;}
.tier.feat .kick{margin-top:6px;}
.tier .pr .big.is-free{color:var(--color-green-free);}
.tier .pr .big.is-purple{color:var(--color-purple);}
.wholesale-call a{color:var(--color-purple);}
.why .flower-deco{width:560px;top:-34px;right:-64px;}

/* Landscape dividers: the veil fades from the section above into the one below. */
.divider--to-lilac{background:var(--color-lilac);}
.divider--to-lilac::after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 24%,rgba(245,241,251,0) 62%,var(--color-lilac) 100%);}
.divider--to-white{background:#fff;}
.divider--to-white::after{background:linear-gradient(180deg,var(--color-lilac) 0%,rgba(245,241,251,0) 24%,rgba(255,255,255,0) 62%,#fff 100%);}

/* ---------- MAGIC BOX (consumer lane) ---------- */
.mbx{background:var(--color-lilac);text-align:center;}
.mbx h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(30px,3.6vw,46px);margin:.3em 0 .2em;}
.mbx p{max-width:600px;margin:0 auto;font-size:18px;line-height:1.6;color:#5a5168;}
.mbx-img{display:block;max-width:460px;width:100%;height:auto;margin:28px auto 0;border-radius:18px;box-shadow:0 18px 40px rgba(74,38,128,.18);}
.mbx .btn{margin-top:26px;}
