:root{
  --pine:#173a2c; --deep:#0c2117; --parch:#f3e6c4; --parch2:#fbf4e0; --ink:#3a2414;
  --gold:#c9a24a; --goldl:#f0d48a; --wax:#a3202c; --holly:#2e6b3f; --cream:#fff6dc;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --pine:#143325; --deep:#09190f; } }
:root[data-theme="dark"]{ --pine:#143325; --deep:#09190f; }
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
body{margin:0;color:var(--cream);font-family:"IM Fell English",Georgia,serif;font-size:19px;line-height:1.55;
  background:radial-gradient(ellipse at 50% 0%,var(--pine) 0%,var(--deep) 70%) fixed,var(--deep)}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:820px;margin:0 auto;padding:0 16px}
header.hero{text-align:center;padding:44px 0 10px}
.kicker{margin:0 0 .3em;color:#e9c878;font-style:italic;font-size:clamp(1.1rem,3.4vw,1.35rem)}
h1{margin:0;font-family:"IM Fell English SC",Georgia,serif;font-weight:400;color:var(--goldl);
  font-size:clamp(2.5rem,9vw,4.4rem);line-height:1.02;text-shadow:0 2px 0 #6b4d12}
.lede{margin:.6em auto 0;max-width:32ch;font-size:clamp(1.2rem,3.6vw,1.5rem)}
.btn{display:inline-block;text-decoration:none;font:inherit;font-size:1.35rem;padding:14px 30px;border-radius:12px;border:2px solid var(--goldl);
  color:#fff6dc;background:linear-gradient(#b82a36,var(--wax));box-shadow:0 4px 0 #5c0d14;cursor:pointer;text-align:center}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #5c0d14}
.btn:focus-visible{outline:3px solid var(--goldl);outline-offset:3px}
.btn.green{background:linear-gradient(#2f7a48,var(--holly));box-shadow:0 4px 0 #173a22}
.btn.big{font-size:1.55rem;padding:16px 38px}
.center{text-align:center}
.note{font-size:1rem;color:#e9c878;font-style:italic;margin:.6em 0 0}
.promise{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:22px 0 0;padding:0;list-style:none;font-size:1.05rem}
.promise li::before{content:"\2713";display:inline-grid;place-items:center;width:1.4em;height:1.4em;margin-right:.4em;border-radius:50%;background:#2e8b57;color:#fff;font-size:.8em;font-family:system-ui,sans-serif;vertical-align:.1em}
.phone{width:min(270px,70vw);margin:26px auto 0;border-radius:34px;overflow:hidden;box-shadow:0 0 0 10px #111,0 0 0 13px var(--gold),0 24px 50px rgba(0,0,0,.55)}
.video{margin:26px auto 0;max-width:440px;border-radius:18px;overflow:hidden;box-shadow:0 0 0 3px var(--gold),0 24px 50px rgba(0,0,0,.5);background:#000}
.video video{display:block;width:100%;height:auto}
section.page{background:var(--parch);color:var(--ink);border-radius:10px;box-shadow:0 0 0 3px var(--gold);padding:26px 24px;margin:40px 0}
h2{margin:0 0 .4em;font-family:"IM Fell English SC",Georgia,serif;font-weight:400;color:var(--wax);font-size:clamp(1.7rem,5.4vw,2.3rem);line-height:1.12}
h3{margin:1.1em 0 .3em;color:var(--holly);font-weight:400;font-size:1.35rem}
ol,ul{margin:.3em 0 0;padding-left:1.4em}
li{margin:.35em 0}
.devices{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:4px 28px}
.tip{margin-top:1.2em;padding:12px 16px;background:var(--parch2);border-left:4px solid var(--gold);border-radius:6px;font-size:1rem}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.strip figure{margin:0;text-align:center}
.strip img{border-radius:14px;box-shadow:0 0 0 2px var(--gold),0 10px 22px rgba(0,0,0,.35)}
.strip figcaption{font-size:.95rem;margin-top:.5em;font-style:italic}
@media (max-width:640px){ .strip{grid-template-columns:repeat(2,1fr)} }
.compare{width:100%;border-collapse:collapse;margin-top:10px;font-size:1.02rem}
.compare th,.compare td{padding:9px 8px;border-bottom:1px solid rgba(58,36,20,.18);text-align:center}
.compare th:first-child,.compare td:first-child{text-align:left}
.compare thead th{font-family:"IM Fell English SC",Georgia,serif;font-weight:400;font-size:1.15rem;color:var(--wax)}
.yes{color:var(--holly);font-weight:700}.no{color:rgba(58,36,20,.35)}
.price{font-size:1.3rem;margin:.4em 0 1em}
.price b{color:var(--wax);font-size:2.4rem;font-weight:400;font-family:"IM Fell English SC",Georgia,serif}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding-left:52px;margin:.9em 0}
.steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:38px;height:38px;border-radius:50%;background:var(--wax);color:#fff6dc;display:grid;place-items:center;font-size:1.2rem;font-family:"IM Fell English SC",Georgia,serif}
details{border-bottom:1px solid rgba(58,36,20,.18);padding:10px 0}
summary{cursor:pointer;font-size:1.12rem;color:var(--holly)}
details p{margin:.5em 0 .2em}
.upsell{background:linear-gradient(var(--parch),#efdcad)}
footer{text-align:center;padding:10px 0 50px;color:#e9c878;font-size:1rem}
footer p{margin:.3em 0}
.banner{background:var(--parch);color:var(--ink);border-radius:10px;box-shadow:0 0 0 3px #2e8b57;padding:18px 20px;margin:22px 0 0}
.banner h2{color:var(--holly);font-size:1.5rem;margin:0 0 .3em}
.banner p{margin:.3em 0}
.banner summary{font-size:1.05rem}
.inapp{display:none;background:#fff3c4;color:var(--ink);border-radius:10px;padding:12px 16px;margin:18px 0 0;font-size:1.05rem;box-shadow:0 0 0 2px var(--gold)}
.inapp.on{display:block}

/* logo seal */
.logo{text-align:center;margin:0 0 14px}
.logo img{display:block;margin:0 auto;width:84px;height:84px;border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.45)}
.logo.top{margin:30px 0 0}
/* free gift card (upgrade.html?free=1) */
.gift{text-align:center;background:var(--parch);color:var(--ink);border-radius:14px;box-shadow:0 0 0 3px #2e8b57,0 18px 40px rgba(0,0,0,.4);padding:26px 22px 22px;margin:18px 0 0}
.gift .kicker{color:var(--holly)}
.gift h1{color:var(--wax);font-size:clamp(2rem,7vw,3rem)}
.gift .note{color:var(--ink);opacity:.8}
.gift details{text-align:left;margin-top:14px}
.handoff{text-align:center;color:#e9c878;font-style:italic;font-size:1.25rem;margin:46px 0 -18px}
.handoff::before{content:"";display:block;width:60px;height:2px;background:var(--gold);margin:0 auto 18px;opacity:.7}
body.fromfree header.hero{padding-top:20px}
body.fromfree header.hero .kicker{display:none}

/* ---- sparkle & polish (upgrade page) ---- */
.sparkle{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.wrap{position:relative;z-index:1}
.sparkle .flake{position:absolute;top:-10px;border-radius:50%;background:#fff;opacity:.55;animation:fall linear infinite}
.sparkle .star{position:absolute;background:radial-gradient(circle,#fff6dc 0 18%,#f0d48a 30%,transparent 70%);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:twinkle ease-in-out infinite}
@keyframes fall{to{transform:translateY(110vh) translateX(30px)}}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:.95;transform:scale(1)}}
.handoff{margin:46px 0 -6px}
.handoff::before{display:none}
.handoff .ribbon{display:inline-block;position:relative;background:linear-gradient(#c22b39,var(--wax));color:#fff6dc;font-family:"IM Fell English SC",Georgia,serif;font-style:normal;font-size:clamp(1.6rem,5vw,2.3rem);padding:12px 44px;border-radius:6px;box-shadow:0 0 0 3px var(--goldl),0 10px 30px rgba(0,0,0,.45);animation:glow 1.6s ease-in-out infinite}
.handoff .ribbon::before,.handoff .ribbon::after{content:"";position:absolute;top:10px;bottom:-10px;width:28px;background:#7d1520;z-index:-1}
.handoff .ribbon::before{left:-18px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,40% 50%)}
.handoff .ribbon::after{right:-18px;clip-path:polygon(0 0,100% 0,60% 50%,100% 100%,0 100%)}
.handoff .sub{display:block;margin-top:14px;color:#e9c878;font-style:italic;font-size:1.15rem}
@keyframes glow{0%,100%{box-shadow:0 0 0 3px var(--goldl),0 10px 30px rgba(0,0,0,.45);transform:scale(1)}50%{box-shadow:0 0 0 3px #fff6dc,0 0 34px 8px rgba(240,212,138,.75);transform:scale(1.04)}}
h1 .shine{background:linear-gradient(90deg,#f0d48a 0%,#fff6dc 45%,#f0d48a 55%,#c9a24a 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;animation:shine 3.5s linear infinite}
@keyframes shine{to{background-position:-200% center}}
.seeit{margin:22px 0 0;color:#e9c878;font-style:italic;font-size:1.2rem}
.video.big{max-width:min(460px,100%);margin-top:12px;box-shadow:0 0 0 4px var(--goldl),0 0 40px 6px rgba(240,212,138,.35),0 24px 50px rgba(0,0,0,.5)}
.compare{border-radius:10px;overflow:hidden;box-shadow:0 0 0 2px var(--gold)}
.compare thead th{background:var(--pine);color:var(--goldl);padding:12px 8px}
.compare thead th:last-child{background:var(--wax);color:#fff6dc}
.compare tbody tr:nth-child(odd){background:rgba(255,255,255,.45)}
.compare tbody tr:nth-child(even){background:rgba(46,107,63,.07)}
.compare td:last-child{background:rgba(163,32,44,.06)}
.compare .yes span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a9a62,var(--holly));color:#fff6dc;font-weight:700;box-shadow:0 0 0 2px var(--goldl)}
.compare td:last-child.yes span{background:radial-gradient(circle at 35% 30%,#d33a48,var(--wax))}
.compare .no{color:rgba(58,36,20,.3)}
@media (prefers-reduced-motion: reduce){.handoff .ribbon,h1 .shine{animation:none}}
html,body{overflow-x:hidden}
@media (max-width:480px){.handoff .ribbon{padding:10px 26px;font-size:1.5rem}}

/* thanks page: point at the button */
.steplbl{margin:26px 0 0;color:#e9c878;font-family:"IM Fell English SC",Georgia,serif;font-size:1.3rem;letter-spacing:.03em}
.btn.pulse{animation:pulsebtn 1.8s ease-in-out infinite}
@keyframes pulsebtn{0%,100%{box-shadow:0 4px 0 #173a22,0 0 0 0 rgba(240,212,138,.0)}50%{box-shadow:0 4px 0 #173a22,0 0 0 10px rgba(240,212,138,.35)}}
.hand{font-size:3.2rem;line-height:1;margin:14px 0 0;animation:tap 1.4s ease-in-out infinite;display:inline-block}
@keyframes tap{0%,100%{transform:translateY(16px)}50%{transform:translateY(0)}}
.tapnote{margin:4px 0 0;color:#fff6dc;font-size:1.1rem}
@media (prefers-reduced-motion: reduce){.btn.pulse,.hand{animation:none}}

.promise-seal{display:flex;justify-content:center;margin:18px 0 0}
.promise-seal svg{filter:drop-shadow(0 8px 14px rgba(0,0,0,.4));transform:rotate(-8deg)}
