/* MyCampingShirt marketing site: shared by / (home.php) and /stores (stores.php) */
:root{
  --forest:#2E5C2E; --forest-deep:#1c3b1c; --gold:#C9A84C;
  --bg:#F8F5F0; --ink:#102017; --fire:#E8621A; --fire-hover:#cf5314;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --disp:'Fraunces',Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 22px}

/* ── Top bar ── */
.topbar{position:absolute;top:0;left:0;right:0;z-index:5}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:600;font-size:1.32rem;color:#fff;letter-spacing:.2px}
.brand img{height:38px;width:auto}
.brand .mark{display:inline-flex;align-items:center;justify-content:center;height:38px;width:38px;border-radius:11px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)}
.topnav{display:flex;align-items:center;gap:20px}
.topnav .navlink{color:rgba(255,255,255,.9);font-weight:600;font-size:.96rem;transition:color .15s}
.topnav .navlink:hover{color:#fff}
.topbar .nav-cta{display:inline-flex;align-items:center;gap:7px;background:var(--fire);color:#fff;font-weight:600;font-size:.94rem;padding:11px 18px;border-radius:11px;font-family:var(--sans);box-shadow:0 6px 18px rgba(232,98,26,.32);transition:background .15s,transform .15s}
.topbar .nav-cta:hover{background:var(--fire-hover);transform:translateY(-1px)}

/* ── Hero ── */
.hero{position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(620px 360px at 50% 118%, rgba(255,150,60,.40), rgba(232,98,26,.10) 42%, transparent 68%),
    radial-gradient(1100px 620px at 80% -14%, rgba(20,48,20,.55), transparent 60%),
    linear-gradient(180deg, #122b0e 0%, #183619 42%, #234a1f 74%, #2b5425 100%);
}
/* faint topographic contour texture */
.hero::before{content:"";position:absolute;inset:0;opacity:.055;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='700' viewBox='0 0 700 700'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.1'%3E%3Cpath d='M-50 250 Q175 150 350 250 T750 250'/%3E%3Cpath d='M-50 320 Q175 220 350 320 T750 320'/%3E%3Cpath d='M-50 390 Q175 290 350 390 T750 390'/%3E%3Cpath d='M-50 460 Q175 360 350 460 T750 460'/%3E%3Cpath d='M-50 530 Q175 430 350 530 T750 530'/%3E%3Cpath d='M-50 180 Q175 80 350 180 T750 180'/%3E%3C/g%3E%3C/svg%3E");
  background-size:760px;
}

/* ── Campfire night scene ── */
.hero-scene{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.stars,.stars-gold{position:absolute;top:0;left:50%;margin-left:-720px;width:2px;height:2px;border-radius:50%;background:transparent}
.stars{opacity:.72;box-shadow:30px 40px #fff,95px 90px #fff,150px 30px #fff,210px 75px #fff,275px 120px #fff,330px 45px #fff,400px 95px #fff,460px 25px #fff,520px 70px #fff,585px 115px #fff,640px 40px #fff,705px 85px #fff,770px 130px #fff,835px 55px #fff,900px 100px #fff,960px 30px #fff,1025px 75px #fff,1090px 120px #fff,1150px 45px #fff,1215px 90px #fff,1280px 25px #fff,1345px 70px #fff,1400px 110px #fff,60px 170px #fff,190px 210px #fff,320px 180px #fff,450px 220px #fff,600px 190px #fff,760px 215px #fff,920px 185px #fff,1080px 210px #fff,1240px 180px #fff,1370px 205px #fff,120px 290px #fff,380px 320px #fff,700px 300px #fff,1150px 300px #fff}
.stars-gold{opacity:.85;box-shadow:250px 60px 1px 0 #C9A84C,540px 40px 1px 0 #C9A84C,830px 70px 1px 0 #C9A84C,1120px 50px 1px 0 #C9A84C,1330px 100px 1px 0 #C9A84C,400px 200px 1px 0 #C9A84C,900px 220px 1px 0 #C9A84C,1250px 150px 1px 0 #C9A84C,150px 260px 1px 0 #C9A84C,680px 250px 1px 0 #C9A84C}
.tw{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 7px 1px rgba(255,255,255,.85);animation:twinkle 3.2s ease-in-out infinite}
.tw.t1{left:17%;top:23%;animation-delay:.2s}.tw.t2{left:33%;top:12%;animation-delay:1.2s}.tw.t3{left:63%;top:19%;animation-delay:.6s}
.tw.t4{left:79%;top:29%;animation-delay:1.7s}.tw.t5{left:88%;top:13%;animation-delay:.9s}.tw.t6{left:47%;top:8%;animation-delay:2.1s}
.moon{position:absolute;top:8%;right:9%;width:56px;height:56px;border-radius:50%;
  box-shadow:15px 12px 0 0 #f4e7c2, 15px 12px 26px 5px rgba(244,231,194,.4)}
.treeline{position:absolute;bottom:0;left:0;width:100%;height:130px;display:block}
.campfire{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);width:120px;height:112px}
.fire-glow{position:absolute;bottom:-46px;left:50%;transform:translateX(-50%);width:360px;height:320px;border-radius:50%;z-index:0;filter:blur(5px);
  background:radial-gradient(circle at 50% 66%, rgba(255,186,96,.52),rgba(232,98,26,.28) 32%,rgba(232,98,26,.08) 55%,transparent 72%);animation:glowPulse 3.4s ease-in-out infinite}
.logs{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:86px;height:16px;z-index:3}
.logs::before,.logs::after{content:"";position:absolute;left:50%;top:5px;width:86px;height:11px;border-radius:6px;background:linear-gradient(#704b2a,#412a14);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.logs::before{transform:translateX(-50%) rotate(13deg)}
.logs::after{transform:translateX(-50%) rotate(-13deg)}
.flame{position:absolute;bottom:10px;left:50%;z-index:2;transform-origin:50% 100%;filter:blur(.5px);
  clip-path:polygon(50% 0,60% 16%,71% 38%,80% 64%,72% 84%,76% 100%,24% 100%,28% 84%,20% 64%,29% 38%,40% 16%)}
.f-out{width:74px;height:74px;margin-left:-37px;background:linear-gradient(to top,#c4330e,#E8621A 48%,#f7a53c 90%);animation:flick1 1.3s ease-in-out infinite}
.f-mid{width:48px;height:56px;margin-left:-24px;bottom:12px;background:linear-gradient(to top,#f0561a,#f7b733 55%,#ffdd82);animation:flick2 1.02s ease-in-out infinite}
.f-core{width:24px;height:34px;margin-left:-12px;bottom:15px;border-radius:50% 50% 46% 46%/62% 62% 40% 40%;clip-path:none;background:linear-gradient(to top,#ffcf5e,#fff4cc);filter:blur(.5px);animation:flick3 .8s ease-in-out infinite}
.spark{position:absolute;bottom:44px;left:50%;width:3px;height:3px;border-radius:50%;background:#ffcf7a;box-shadow:0 0 6px 1px rgba(255,180,90,.85);opacity:0}
.spark.sp1{animation:spark 2.4s ease-in .4s infinite}
.spark.sp2{margin-left:9px;animation:spark 2.9s ease-in 1.2s infinite}
.spark.sp3{margin-left:-11px;animation:spark 2.2s ease-in 1.9s infinite}
.shooting-star{position:absolute;top:14%;left:60%;width:2px;height:2px;border-radius:50%;background:#fff;box-shadow:0 0 8px 2px rgba(255,255,255,.9);opacity:0;animation:shoot 9s ease-in 2.5s infinite}
.shooting-star::before{content:"";position:absolute;right:2px;top:50%;width:96px;height:1.5px;transform:translateY(-50%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.85))}
@keyframes twinkle{0%,100%{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.3)}}
@keyframes glowPulse{0%,100%{opacity:.82;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.06)}}
@keyframes flick1{0%,100%{transform:scaleY(1) scaleX(1) rotate(0)}30%{transform:scaleY(1.09) scaleX(.94) rotate(-2deg)}62%{transform:scaleY(.93) scaleX(1.06) rotate(2deg)}}
@keyframes flick2{0%,100%{transform:scaleY(1) scaleX(1) rotate(0)}35%{transform:scaleY(1.12) scaleX(.9) rotate(2.5deg)}68%{transform:scaleY(.9) scaleX(1.08) rotate(-2.5deg)}}
@keyframes flick3{0%,100%{transform:scaleY(1)}45%{transform:scaleY(1.18)}}
@keyframes spark{0%{opacity:0;transform:translate(0,0) scale(1)}18%{opacity:1}70%{opacity:.8}100%{opacity:0;transform:translate(var(--dx,7px),-92px) scale(.35)}}
@keyframes shoot{0%{opacity:0;transform:translate(0,0) rotate(20deg)}2%{opacity:1}13%{opacity:1}20%{opacity:0}100%{opacity:0;transform:translate(-270px,120px) rotate(20deg)}}
@media (prefers-reduced-motion:reduce){.tw,.flame,.fire-glow,.spark,.shooting-star{animation:none!important}.fire-glow{opacity:.92}}

.hero .wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;
  padding-top:132px;padding-bottom:96px;min-height:88vh;justify-content:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;max-width:100%;font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.34);padding:8px 15px;border-radius:100px;margin-bottom:26px}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}
.hero h1{font-family:var(--disp);font-weight:600;font-size:clamp(2.35rem,6.2vw,4.15rem);line-height:1.04;letter-spacing:-.01em;max-width:16ch;margin-bottom:22px}
.subhead{font-size:clamp(1.06rem,2.3vw,1.32rem);font-weight:400;color:rgba(255,255,255,.9);max-width:38ch;margin-bottom:18px}
.subhead strong{font-weight:600;color:#fff}
.supporting{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:6px 4px;font-size:.95rem;font-weight:500;color:rgba(255,255,255,.72);max-width:46ch;margin-bottom:38px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:600;font-size:1.06rem;padding:16px 28px;border-radius:13px;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s;border:1.5px solid transparent}
.btn-primary{background:var(--fire);color:#fff;box-shadow:0 12px 30px rgba(232,98,26,.36)}
.btn-primary:hover{background:var(--fire-hover);transform:translateY(-2px);box-shadow:0 16px 38px rgba(232,98,26,.42)}
.btn-secondary{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.45)}
.btn-secondary:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.btn-arrow{transition:transform .15s}
.btn:hover .btn-arrow{transform:translateX(3px)}

/* ── Section shell (reused by all light sections) ── */
.section{padding:90px 0}
.sec-head{max-width:720px;margin:0 auto 54px;text-align:center}
.sec-eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--forest);margin-bottom:15px}
.sec-head h2{font-family:var(--disp);font-weight:600;font-size:clamp(1.85rem,3.6vw,2.7rem);line-height:1.12;letter-spacing:-.01em;color:var(--ink);margin-bottom:15px}
.sec-sub{font-size:1.12rem;color:#4a5a4f;line-height:1.6}

/* ── 2 · Who it's for ── */
.who{background:var(--bg)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:#fff;border:1px solid #e7e1d6;border-radius:18px;padding:30px 24px;transition:transform .18s,box-shadow .18s,border-color .18s}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(16,32,23,.10);border-color:#d6cdbb}
.card .ico{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:15px;font-size:1.7rem;background:linear-gradient(150deg,rgba(46,92,46,.10),rgba(201,168,76,.18));margin-bottom:18px}
.card h3{font-family:var(--disp);font-weight:600;font-size:1.24rem;color:var(--ink);margin-bottom:9px;line-height:1.2}
.card p{font-size:.98rem;color:#5a6a5f;line-height:1.55}

/* ── 3 · How it works (dark band) ── */
.how{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(900px 460px at 85% -10%, rgba(232,98,26,.20), transparent 60%),linear-gradient(160deg,var(--forest) 0%,var(--forest-deep) 100%)}
.how .sec-eyebrow{color:var(--gold)}
.how .sec-head h2{color:#fff}
.how .sec-sub{color:rgba(255,255,255,.82)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.step{position:relative}
.step-num{position:relative;z-index:2;width:52px;height:52px;border-radius:50%;background:var(--fire);color:#fff;font-family:var(--disp);font-weight:600;font-size:1.4rem;display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:0 8px 20px rgba(232,98,26,.38)}
.step:not(:last-child)::after{content:"";position:absolute;top:25px;left:64px;right:-16px;height:2px;z-index:1;
  background:repeating-linear-gradient(90deg,rgba(201,168,76,.55) 0 7px,transparent 7px 14px)}
.step h3{font-family:var(--disp);font-weight:600;font-size:1.22rem;margin-bottom:10px;color:#fff}
.step p{font-size:.98rem;color:rgba(255,255,255,.78);line-height:1.55}
.how .sec-cta{text-align:center;margin-top:52px}

/* ── 4 · Social proof gallery ── */
.proof{background:var(--bg)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.shot{background:#fff;border:1px solid #e7e1d6;border-radius:16px;overflow:hidden;transition:transform .18s,box-shadow .18s}
.shot:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(16,32,23,.10)}
.shot img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#fff;display:block;transition:transform .3s}
.shot:hover img{transform:scale(1.03)}
.shot figcaption{padding:13px 16px;font-size:.92rem;font-weight:600;color:var(--ink);border-top:1px solid #f0ebe1}
.shot figcaption span{display:block;color:#8a9a8f;font-weight:500;font-size:.82rem;margin-top:1px}
.proof .sec-cta{text-align:center;margin-top:48px}

/* ── 5 · The difference (dark band, white table) ── */
.diff{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(900px 460px at 12% -10%, rgba(201,168,76,.16), transparent 60%),linear-gradient(160deg,var(--forest) 0%,var(--forest-deep) 100%)}
.diff .sec-eyebrow{color:var(--gold)}
.diff .sec-head h2{color:#fff}
.diff .sec-sub{color:rgba(255,255,255,.82)}
.cmp{max-width:840px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.cmp-row{display:contents}
.cmp-row>div{padding:16px 20px;border-bottom:1px solid #f0ebe1;display:flex;align-items:center;gap:9px;font-size:.98rem;color:var(--ink)}
.cmp-feat{font-weight:600}
.cmp-us{background:rgba(46,92,46,.06);font-weight:600}
.cmp-them{color:#8a9a8f}
.cmp-row:last-child>div{border-bottom:none}
.cmp-head>div{padding-top:20px;padding-bottom:20px;font-family:var(--disp);font-weight:600;font-size:1.05rem}
.cmp-head .cmp-us{background:var(--forest);color:#fff}
.cmp-head .cmp-them{color:#6a7a6f}
.cmp .yes{color:var(--forest);font-weight:800;font-size:1.05rem}
.cmp .no{color:#c9bda9;font-weight:800;font-size:1.05rem}
.cmp-head .cmp-us .yes{color:var(--gold)}

/* ── 6 · Retainer plan ── */
.retainer{background:linear-gradient(160deg,#fbf7ee 0%,#f3ecda 100%)}
.plan{max-width:920px;margin:0 auto;display:grid;grid-template-columns:.86fr 1.14fr;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px rgba(16,32,23,.16);border:1px solid #eaddc2}
.plan-left{position:relative;overflow:hidden;color:#fff;padding:46px 40px;display:flex;flex-direction:column;justify-content:center;
  background:radial-gradient(600px 300px at 80% -20%, rgba(201,168,76,.30), transparent 60%),linear-gradient(160deg,var(--forest),var(--forest-deep))}
.plan-tag{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);background:rgba(201,168,76,.14);border:1px solid rgba(201,168,76,.4);padding:6px 12px;border-radius:100px;margin-bottom:20px}
.plan-price{display:flex;align-items:baseline;gap:7px}
.plan-price .amt{font-family:var(--disp);font-weight:600;font-size:3.5rem;line-height:1;color:#fff}
.plan-price .per{font-size:1.1rem;color:rgba(255,255,255,.82)}
.plan-note{color:rgba(255,255,255,.72);font-size:.92rem;margin:12px 0 26px}
.plan-left .btn{width:100%;justify-content:center}
.plan-list{list-style:none;padding:42px 44px;display:grid;gap:15px;align-content:center}
.plan-list li{position:relative;padding-left:32px;font-size:1.03rem;color:var(--ink);font-weight:500;line-height:1.4}
.plan-list li::before{content:"✓";position:absolute;left:0;top:1px;color:var(--forest);font-weight:800;font-size:1.1rem}

/* ── 7 · Digital downloads (Etsy) ── */
.downloads{background:#fff}
.dl-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1000px;margin:0 auto}
.dl-text .sec-eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--forest);margin-bottom:14px}
.dl-text h2{font-family:var(--disp);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.12;color:var(--ink);margin-bottom:16px}
.dl-text p{font-size:1.08rem;color:#4a5a4f;line-height:1.6;margin-bottom:28px}
.dl-art{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.dl-tile{background:linear-gradient(160deg,#f6f2e8,#eef2e8);border:1px solid #e7e1d6;border-radius:16px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:26px;transition:transform .18s}
.dl-tile:hover{transform:translateY(-3px)}
.dl-tile img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}

/* ── 8 · FAQ ── */
.faq{background:var(--bg)}
.faq-list{max-width:760px;margin:0 auto;display:grid;gap:14px}
.faq-item{background:#fff;border:1px solid #e7e1d6;border-radius:14px;overflow:hidden;transition:border-color .18s,box-shadow .18s}
.faq-item[open]{border-color:#d6cdbb;box-shadow:0 10px 30px rgba(16,32,23,.07)}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  font-family:var(--disp);font-weight:600;font-size:1.1rem;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{background:#faf7f0}
.q-ico{flex:none;position:relative;width:22px;height:22px;transition:transform .22s ease}
.faq-item[open] .q-ico{transform:rotate(135deg)}
.q-ico::before,.q-ico::after{content:"";position:absolute;background:var(--forest);border-radius:2px}
.q-ico::before{left:50%;top:3px;width:2.5px;height:16px;transform:translateX(-50%)}
.q-ico::after{top:50%;left:3px;height:2.5px;width:16px;transform:translateY(-50%)}
.faq-item .ans{padding:0 24px 22px;color:#54655a;font-size:1.01rem;line-height:1.62}
.faq-cta{text-align:center;margin-top:44px}
.faq-cta p{color:#4a5a4f;margin-bottom:18px;font-size:1.05rem}

/* ── 9 · Final CTA + intake form ── */
.final{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(700px 380px at 50% 122%, rgba(232,98,26,.26), transparent 66%),linear-gradient(160deg,var(--forest) 0%,var(--forest-deep) 100%)}
.final-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:1040px;margin:0 auto}
.final-text .sec-eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.final-text h2{font-family:var(--disp);font-weight:600;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.12;color:#fff;margin-bottom:16px}
.final-text p{font-size:1.08rem;color:rgba(255,255,255,.85);line-height:1.6;margin-bottom:24px}
.final-points{list-style:none;display:flex;flex-wrap:wrap;gap:10px 24px}
.final-points li{position:relative;padding-left:26px;font-weight:600;color:#fff}
.final-points li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:800}
.intake{background:#fff;border-radius:20px;padding:32px 30px;box-shadow:0 30px 70px rgba(0,0,0,.3)}
.fld{margin-bottom:15px}
.fld label{display:block;font-size:.86rem;font-weight:600;color:#3a4a3f;margin-bottom:6px}
.fld label .opt{color:#9aa8a0;font-weight:500}
.fld input,.fld textarea{width:100%;font-family:var(--sans);font-size:1rem;color:var(--ink);background:#faf8f3;border:1.5px solid #e2dccd;border-radius:11px;padding:12px 14px;transition:border-color .15s,box-shadow .15s,background .15s}
.fld textarea{resize:vertical;min-height:82px}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px rgba(46,92,46,.14);background:#fff}
.hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}
.intake-submit{width:100%;justify-content:center;margin-top:6px}
.intake-err{display:none;color:#c0392b;font-size:.9rem;margin-top:11px;text-align:center}
.intake-note{text-align:center;font-size:.82rem;color:#8a9a8f;margin-top:12px}
.intake-ok{display:none;text-align:center;padding:26px 10px}
.intake-ok .ok-ic{width:56px;height:56px;border-radius:50%;background:rgba(46,92,46,.1);color:var(--forest);display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin:0 auto 16px}
.intake-ok h3{font-family:var(--disp);font-weight:600;color:var(--ink);font-size:1.35rem;margin-bottom:8px}
.intake-ok p{color:#5a6a5f;line-height:1.55}
.intake.sent .intake-fields{display:none}
.intake.sent .intake-ok{display:block}

/* ── Footer ── */
.site-footer{background:#0c1c07;color:rgba(255,255,255,.68);padding:40px 0 30px}
.foot-wrap{display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center;justify-content:space-between}
.foot-brand{display:flex;align-items:center;gap:10px;color:#fff;font-family:var(--disp);font-weight:600;font-size:1.1rem}
.foot-brand img{height:32px;width:auto}
.foot-links{display:flex;flex-wrap:wrap;gap:20px;font-size:.92rem}
.foot-links a{color:rgba(255,255,255,.72)}
.foot-links a:hover{color:#fff}
.foot-copy{width:100%;text-align:center;font-size:.82rem;color:rgba(255,255,255,.45);margin-top:22px;border-top:1px solid rgba(255,255,255,.1);padding-top:20px}

@media (max-width:900px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);gap:32px 28px}
  .step:nth-child(2)::after{display:none}
  .gallery{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:640px){
  .topbar .nav-cta{display:none}   /* hero CTA carries the design action on mobile */
  .topnav .navlink{font-size:1rem}  /* keep Shop reachable on mobile */
  .brand{font-size:1.14rem}
  .eyebrow{font-size:.68rem;letter-spacing:.09em;padding:7px 13px}
  .hero h1{font-size:2.1rem;max-width:100%}
  .subhead,.supporting{max-width:100%}
  .section{padding:58px 0}
  .sec-head{margin-bottom:34px}
  .sec-sub{font-size:1.04rem}
  .cards{grid-template-columns:1fr;gap:15px}
  .card{padding:24px 20px}
  .steps{grid-template-columns:1fr;gap:26px}
  .step:not(:last-child)::after{display:none}
  .how .sec-cta{margin-top:38px}
  .gallery{gap:13px}
  .proof .sec-cta{margin-top:34px}
  .cmp{grid-template-columns:1.25fr .8fr .8fr}
  .cmp-row>div{padding:13px 11px;font-size:.84rem;gap:5px}
  .cmp-head>div{font-size:.86rem}
  .cmp .yes,.cmp .no{font-size:.95rem}
  .plan{grid-template-columns:1fr;max-width:440px}
  .plan-left{padding:34px 28px}
  .plan-price .amt{font-size:3rem}
  .plan-list{padding:30px 28px}
  .dl-wrap{grid-template-columns:1fr;gap:34px;max-width:460px}
  .dl-text{text-align:center}
  .dl-text .btn{width:100%;justify-content:center}
  .faq-item summary{padding:17px 18px;font-size:1rem;gap:12px}
  .faq-item .ans{padding:0 18px 18px;font-size:.97rem}
  .final-wrap{grid-template-columns:1fr;gap:32px;max-width:480px}
  .intake{padding:26px 22px}
  .foot-wrap{flex-direction:column;text-align:center;gap:16px}
  .hero .wrap{padding-top:104px;padding-bottom:172px;min-height:auto}
  .campfire{transform:translateX(-50%) scale(.82);bottom:50px}
  .treeline{height:104px}
  .moon{width:44px;height:44px;top:74px;right:8%;box-shadow:12px 10px 0 0 #f4e7c2,12px 10px 22px 4px rgba(244,231,194,.4)}
  .cta-row{width:100%;flex-direction:column}
  .cta-row .btn{width:100%;justify-content:center}
}

/* ── Stores (homepage tile band + /stores page) ── */
.hero.mini .wrap{min-height:0;padding-top:150px;padding-bottom:96px}
.hero.mini h1{max-width:19ch}
.stores-band{background:#fff}
.card .more{display:inline-block;margin-top:12px;font-weight:600;font-size:.94rem;color:var(--forest)}
.card .more:hover{color:var(--fire)}
.band-cta{text-align:center;margin-top:46px}
.btn-dark{background:var(--forest);color:#fff;box-shadow:0 12px 30px rgba(28,59,28,.28)}
.btn-dark:hover{background:var(--forest-deep);transform:translateY(-2px)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.flip .split-media{order:-1}
.split h2{font-family:var(--disp);font-weight:600;font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.14;letter-spacing:-.01em;margin-bottom:14px}
.split p{font-size:1.08rem;color:#4a5a4f;line-height:1.62;margin-bottom:14px}
.checks{list-style:none;margin:18px 0 0;padding:0}
.checks li{position:relative;padding:8px 0 8px 34px;font-size:1.02rem;color:var(--ink);line-height:1.5}
.checks li::before{content:"✓";position:absolute;left:0;top:8px;width:23px;height:23px;border-radius:50%;background:rgba(46,92,46,.12);color:var(--forest);font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.fundcall{display:inline-flex;align-items:baseline;gap:10px;background:linear-gradient(150deg,rgba(46,92,46,.10),rgba(201,168,76,.22));border:1px solid rgba(201,168,76,.5);border-radius:16px;padding:16px 22px;margin:6px 0 16px}
.fundcall .amt{font-family:var(--disp);font-weight:700;font-size:2.6rem;line-height:1;color:var(--forest)}
.fundcall .txt{font-weight:600;color:var(--ink);font-size:1.04rem;line-height:1.35}
.sample-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8a6d1d;background:#fbf3da;border:1px solid #ecdca8;border-radius:100px;padding:5px 12px;margin-bottom:14px}
.mock-frame{background:#fff;border:1px solid #ddd5c3;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px rgba(16,32,23,.18)}
.mock-bar{display:flex;align-items:center;gap:7px;padding:11px 15px;background:#f1ede4;border-bottom:1px solid #e3dccb}
.mock-bar i{width:10px;height:10px;border-radius:50%;background:#d6cdb9;display:block}
.mock-bar span{margin-left:10px;flex:1;background:#fff;border-radius:8px;font-size:.78rem;color:#7a867e;padding:5px 11px;border:1px solid #e6dfcf}
.mock-head{display:flex;align-items:center;gap:14px;padding:20px 22px;background:var(--forest);color:#fff}
.mock-logo{width:52px;height:52px;border-radius:12px;background:#fff;color:var(--forest);font-family:var(--disp);font-weight:700;font-size:1.25rem;display:flex;align-items:center;justify-content:center;flex:none}
.mock-head b{display:block;font-family:var(--disp);font-size:1.18rem;font-weight:600;line-height:1.2}
.mock-head small{opacity:.85;font-size:.86rem}
.mock-fund{padding:16px 22px;border-bottom:1px solid #eee6d6}
.mock-fund .row{display:flex;justify-content:space-between;font-size:.84rem;color:#5a6a5f;margin-bottom:7px}
.mock-fund .track{height:9px;border-radius:99px;background:#ece6d6;overflow:hidden}
.mock-fund .track span{display:block;height:100%;width:46%;background:var(--forest)}
.mock-prods{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:20px 22px 24px}
.mock-prod{text-align:center}
.mock-prod .tee{background:#f8f5f0;border-radius:12px;padding:10px 6px}
.mock-prod svg{width:100%;height:auto;display:block}
.mock-prod b{display:block;font-size:.88rem;margin-top:8px}
.mock-prod span{font-size:.84rem;color:#5a6a5f}
.dash{background:#fff;border:1px solid #ddd5c3;border-radius:16px;box-shadow:0 30px 70px rgba(16,32,23,.16);padding:22px}
.dash .eb{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#6b6b6b;font-weight:700}
.dash .big{font-family:var(--disp);font-weight:700;font-size:3rem;line-height:1.05;color:var(--forest);margin:4px 0}
.dash .sub{font-size:.92rem;color:#4a5a4f;margin-bottom:12px}
.dash table{width:100%;border-collapse:collapse;font-size:.88rem}
.dash th{text-align:left;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#8a8a8a;padding:7px 6px;background:#f7f4ec}
.dash td{padding:9px 6px;border-top:1px solid #eee6d6}
.dash td.g{color:#1a7f45;font-weight:700;text-align:right}
.dash .pill{display:inline-block;padding:2px 9px;border-radius:99px;background:#eee;font-size:.76rem;font-weight:600}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.area{background:#fff;border:1px solid #e7e1d6;border-radius:18px;padding:28px 24px}
.area .ico{display:inline-flex;width:52px;height:52px;border-radius:14px;align-items:center;justify-content:center;font-size:1.6rem;background:linear-gradient(150deg,rgba(46,92,46,.10),rgba(201,168,76,.18));margin-bottom:14px}
.area h3{font-family:var(--disp);font-weight:600;font-size:1.22rem;margin-bottom:8px}
.area p{font-size:.98rem;color:#5a6a5f;line-height:1.55}
.label-mock{display:flex;gap:14px;align-items:center;background:#fff;border:1.5px dashed #b9ad92;border-radius:10px;padding:14px 16px;max-width:380px;margin:18px 0 0}
.label-mock .qr{width:84px;height:84px;flex:none;background:
  conic-gradient(from 90deg at 3px 3px,#0000 90deg,#111 0) 0 0/12px 12px;border:5px solid #111;border-radius:3px}
.label-mock b{display:block;font-size:1rem}
.label-mock span{font-size:.82rem;color:#5a6a5f}
@media (max-width:880px){
  .split{grid-template-columns:1fr;gap:34px}.split.flip .split-media{order:0}
  .area-grid{grid-template-columns:1fr}
  .hero.mini .wrap{padding-top:112px;padding-bottom:70px}
}
.how .area h3{color:var(--ink)}
.how .area p{color:#5a6a5f}
.how .label-mock b{color:var(--ink)}
