:root{
  --bg:#F9F8F4; --surface:#FFFFFF; --card:#FFFFFF; --ink:#0F1F1C; --sec:#47565A; --muted:#7A868B;
  --line:#E3E6E2; --divider:#EEF1EE; --soft:#FCFCFA;
  --brand:#184A45; --brand-hover:#143F3A; --brand-active:#103430; --brand2:#356D68;
  --teal-light:#DDEDEB; --teal-vlight:#EFF8F7; --grad:linear-gradient(135deg,#2A5D58 0%,#184A45 100%);
  --brass:#C2A66C; --brass-light:#E7D9BA;
  --good:#1F9D7A; --warn:#D59C3A; --err:#C15B4B; --gold:#C2A66C;
  --shadow:0 12px 34px rgba(15,31,28,.08); --maxw:1120px; --gut:2rem;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Satoshi',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;color:var(--ink);background:#F9F8F4}
a{color:inherit;text-decoration:none}
h1,h2,h3{letter-spacing:-.02em}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--muted);font-weight:400;font-size:.7em}
.note{color:var(--muted);font-size:.86rem;margin:.6rem 0}
.link{background:none;border:0;color:var(--brand);cursor:pointer;font:inherit;text-decoration:underline}
.hidden{display:none!important}

/* nav */
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:.9rem max(var(--gut), calc((100% - var(--maxw))/2 + var(--gut)));background:rgba(255,255,255,.82);backdrop-filter:blur(12px);color:var(--ink);border-bottom:1px solid var(--line)}
.brand{font-weight:800;font-size:1.05rem;display:flex;align-items:center;gap:.5rem}
.logo{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--grad);font-size:.8rem;color:#fff}
.logo-img{width:30px;height:30px;border-radius:8px;display:block}
.tld{color:var(--brand)}
.nav nav{display:flex;align-items:center;gap:1.5rem;font-size:.92rem;color:#47565A}
.nav nav a:hover{color:var(--ink)}
.nav .lock{color:var(--brass)}

/* account chip + dropdown (header) */
.acct{position:relative}
.btn.chip{background:#f1f2f7;color:var(--ink);border:1px solid var(--line);
  padding:.3rem .75rem .3rem .32rem;border-radius:999px;font-size:.85rem;gap:.45rem}
.btn.chip:hover{background:#e7e9f3}
.btn.chip .ava{width:22px;height:22px;min-width:22px;border-radius:50%;display:grid;place-items:center;overflow:hidden;
  background:var(--grad);color:#fff;font-size:.7rem;font-weight:800;flex:none}
.btn.chip .chip-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.btn.chip img.ava{width:22px;height:22px;object-fit:cover;background:none;display:block}
.gbtn-slot{display:flex;justify-content:center;min-height:42px}
.gbtn-slot>div,.gbtn-slot iframe{width:100%!important}
.acct-menu{position:absolute;right:0;top:calc(100% + .5rem);width:232px;background:#fff;color:var(--ink);
  border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:.4rem;z-index:30}
.acct-head{padding:.55rem .7rem;border-bottom:1px solid var(--line);margin-bottom:.3rem;display:flex;flex-direction:column;gap:.1rem}
.acct-head b{font-size:.95rem}
.acct-head .muted{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct-item{display:block;width:100%;text-align:left;background:none;border:0;padding:.55rem .7rem;border-radius:9px;
  font:inherit;font-size:.9rem;color:var(--ink);cursor:pointer}
.acct-item:hover{background:#f2f4fb}

/* profile overlay */
.profileView{position:fixed;inset:0;z-index:50;display:grid;place-items:start center;
  background:rgba(11,16,32,.55);backdrop-filter:blur(3px);overflow-y:auto;padding:6vh 1rem 3rem}
.profile-card{position:relative;width:min(560px,100%);background:#fff;border-radius:20px;
  box-shadow:var(--shadow);padding:1.6rem 1.6rem 1.4rem}
.profile-close{position:absolute;top:.8rem;right:.9rem;background:none;border:0;font-size:1.2rem;color:var(--muted);cursor:pointer;line-height:1}
.profile-top{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}
.profile-ava{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--grad);
  color:#fff;font-size:1.5rem;font-weight:800;flex:none;overflow:hidden}
.profile-ava img{width:100%;height:100%;object-fit:cover}
.profile-id h2{margin:0;font-size:1.25rem}
.profile-id p{margin:.1rem 0 .35rem}
.badge2{display:inline-block;background:#eef1f8;color:#374151;font-size:.72rem;font-weight:700;
  padding:.15rem .55rem;border-radius:999px;text-transform:capitalize}
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1.3rem}
.pf-stat{background:#FCFCFA;border:1px solid var(--line);border-radius:12px;padding:.75rem;text-align:center}
.pf-stat span{display:block;font-size:.72rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}
.pf-stat b{font-size:1.15rem}
.profile-sec{border-top:1px solid var(--line);padding-top:1rem}
.profile-sec h3{margin:0 0 .6rem;font-size:1rem}
.pf-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.pf-row span{color:var(--muted)}
.profile-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.2rem}
.btn.danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.btn.danger:hover{background:#fee2e2}
body.noscroll{overflow:hidden}

/* buttons */
.btn{border:0;border-radius:11px;padding:.7rem 1.1rem;font-weight:600;cursor:pointer;font-size:.95rem;transition:.15s;display:inline-flex;align-items:center;gap:.5rem}
.btn.primary{background:var(--grad);color:#fff}
.btn.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn.ghost{background:#eef1f8;color:#1f2937}
.btn.ghost.sm,.btn.sm{padding:.45rem .8rem;font-size:.85rem}
.btn.lg{padding:.9rem 1.5rem;font-size:1.05rem}
.btn.login{width:100%;justify-content:flex-start;background:#fff;border:1px solid var(--line);color:#111}
.btn.login:hover{border-color:var(--brand)}
.ic{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#f1f5f9;font-weight:800}
img.ic{width:20px;height:20px;background:transparent;border-radius:0;padding:0;object-fit:contain}
.ic.ms{background:linear-gradient(135deg,#f25022 50%,#7fba00 50%)}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center;padding:5.5rem var(--gut) 5rem;max-width:var(--maxw);margin:0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);color:#47565A;padding:.4rem .85rem;border-radius:999px;font-size:.82rem;font-weight:600;box-shadow:0 1px 2px rgba(16,24,40,.05)}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px rgba(5,150,105,.15)}
.hero h1{font-size:4rem;line-height:1.02;letter-spacing:-.035em;font-weight:900;margin:1.5rem 0 1.1rem;color:#0F1F1C}
.hero .accent{color:var(--brand)}
.hero p{color:#47565A;font-size:1.12rem;line-height:1.5;max-width:46ch;margin:0 0 1.6rem}
.supp{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.2rem 0}
.supp-lbl,.coming-lbl{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#7A868B;margin-right:.25rem}
.chip-ok{display:inline-flex;align-items:center;gap:.35rem;background:#EFF8F7;color:#103430;border:1px solid #DDEDEB;padding:.35rem .8rem;border-radius:999px;font-size:.85rem;font-weight:600}
.chip-ok::before{content:"✓";font-weight:900}
.coming{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:1.1rem 0 0;padding-top:1.1rem;border-top:1px solid var(--line)}
.chip-soon{background:#f1f2f7;color:#7A868B;padding:.3rem .75rem;border-radius:999px;font-size:.82rem;font-weight:500}
.hero-cta{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin:1.9rem 0 0}
.btn-dark{background:var(--grad);color:#fff;border:0;border-radius:999px;padding:.95rem 1.7rem;font-weight:700;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;gap:.6rem;box-shadow:0 12px 26px rgba(24,74,69,.32);transition:.15s;font-family:inherit}
.btn-dark:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(24,74,69,.4)}
.assure{color:#47565A;font-size:.86rem}
.hero-r{display:flex;justify-content:center}
.showcard{width:100%;max-width:450px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 70px rgba(16,24,40,.12);padding:1.4rem}
.sc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.sc-tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#47565A}
.sc-priv{font-size:.76rem;color:var(--brand);font-weight:700;background:#EFF8F7;padding:.28rem .65rem;border-radius:999px}
.sc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line);font-size:.82rem;color:#47565A}
.sc-rate{color:#0F1F1C;font-weight:800}
.mini-head{font-size:.78rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem}
table.mini{width:100%;border-collapse:collapse;font-size:.8rem}
table.mini th{color:var(--muted);text-align:right;font-weight:600;padding:.3rem}
table.mini th:first-child,table.mini td:first-child{text-align:left}
table.mini td{padding:.45rem .3rem;text-align:right;border-top:1px solid var(--line);color:#0F1F1C}
table.mini tr.blur td{filter:blur(4px);user-select:none}

/* wizard */
.wizard{max-width:var(--maxw);margin:-2.5rem auto 6rem;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:1.6rem;position:relative;z-index:5}
.steps{display:flex;gap:.4rem;list-style:none;padding:0;margin:0 0 1.4rem;counter-reset:s;flex-wrap:wrap}
.steps li{flex:1;min-width:110px;font-size:.82rem;color:var(--muted);padding:.5rem .3rem .6rem;border-bottom:3px solid var(--line);counter-increment:s;font-weight:600}
.steps li::before{content:counter(s);display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#eef1f8;margin-right:.4rem;font-size:.72rem}
.steps li.active{color:var(--brand);border-color:var(--brand)}
.steps li.active::before{background:var(--grad);color:#fff}
.panel h2{margin:.2rem 0 1rem}
.logins{display:grid;gap:.6rem;max-width:420px}
.row-end{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.3rem}
.drops{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.drop{border:2px dashed var(--line);border-radius:14px;padding:1.6rem;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.25rem;transition:.15s}
.drop:hover,.drop.hot{border-color:var(--brand);background:#f5f7ff}
.drop.done{border-color:var(--good);background:#EFF8F7}
.drop-ic{font-size:2rem}
.drop b{font-size:1.05rem}.drop span{color:var(--muted);font-size:.82rem}
.drop em{margin-top:.4rem;font-style:normal;font-size:.8rem;color:var(--brand);font-weight:600;word-break:break-all}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.grid2 label{display:flex;flex-direction:column;font-size:.82rem;color:var(--muted);font-weight:600;gap:.3rem}
.grid2 input{padding:.6rem .7rem;border:1px solid var(--line);border-radius:10px;font-size:.95rem;color:#111}
.grid2 input:focus{outline:2px solid var(--brand);border-color:transparent}

/* summary + table */
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1rem}
.summary .box{background:#FCFCFA;border:1px solid var(--line);border-radius:12px;padding:.8rem}
.summary .box b{display:block;font-size:1.15rem;margin-top:.2rem}
.summary .box span{font-size:.75rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tablewrap{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;max-height:360px;overflow-y:auto}
table.fa{width:100%;border-collapse:collapse;font-size:.82rem}
table.fa th{position:sticky;top:0;background:#f1f3fb;color:#374151;text-align:right;padding:.55rem;font-weight:700;z-index:1}
table.fa th:first-child,table.fa th:nth-child(2),table.fa td:first-child,table.fa td:nth-child(2){text-align:left}
table.fa td{padding:.5rem .55rem;text-align:right;border-top:1px solid var(--line)}
table.fa tr.locked td{filter:blur(5px)}
.lockmask{position:absolute;inset:70px 0 0;background:linear-gradient(180deg,transparent,rgba(255,255,255,.9) 30%);display:grid;place-items:center;text-align:center}
.lockmask>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.6rem;box-shadow:var(--shadow)}
.lockmask .lk{font-size:1.6rem}
.lockmask b{display:block;margin:.3rem 0}
.lockmask span{display:block;color:var(--muted);font-size:.85rem;margin-bottom:.7rem}

/* plans */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.plan{border:1px solid var(--line);border-radius:16px;padding:1.2rem;text-align:center;position:relative;transition:.15s}
.plan:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.plan.pop{border-color:var(--brand);box-shadow:var(--shadow)}
.plan.gold{border-color:var(--gold);background:linear-gradient(180deg,#fffdf5,#fff)}
.badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--grad);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:999px}
.pt{font-weight:700;color:var(--muted)}
.pp{font-size:2rem;font-weight:800;margin:.3rem 0}
.pd{font-size:.8rem;color:var(--muted);margin-bottom:.9rem}
.export{margin-top:1.4rem;background:#EFF8F7;border:1px solid #DDEDEB;border-radius:14px;padding:1.2rem}
.export .row,.row{display:flex;gap:.6rem;flex-wrap:wrap}

/* how / security */
.how,.security{max-width:960px;margin:2.5rem auto;padding:0 1rem}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.cards .c{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.1rem}
.cards .n{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--grad);color:#fff;font-weight:800;margin-bottom:.5rem}
.cards p{color:var(--muted);font-size:.86rem;margin:.3rem 0 0}
.security{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem 1.6rem}
.security ul{margin:.6rem 0 0;padding-left:1.1rem;color:#47565A;line-height:1.7}
.foot{max-width:1100px;margin:2rem auto;padding:1.4rem 1rem;color:var(--muted);font-size:.83rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;border-top:1px solid var(--line)}

.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#111827;color:#fff;padding:.7rem 1.1rem;border-radius:12px;font-size:.9rem;box-shadow:var(--shadow);z-index:50;opacity:0;transition:.25s}
.toast.show{opacity:1}
@media(max-width:820px){
  .hero{grid-template-columns:1fr;padding:2.4rem 5vw}.hero h1{font-size:2.2rem}
  .drops,.grid2,.summary,.plans,.cards{grid-template-columns:1fr 1fr}
  .summary{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.plans,.cards,.drops,.grid2{grid-template-columns:1fr}}
@media(max-width:640px){
  .nav{padding:.7rem 4vw}
  .nav nav{gap:.5rem}
  .nav nav a{display:none}                 /* declutter section links on phones */
  .brand{font-size:1rem}.brand .logo-img{width:26px;height:26px}
  .btn.chip .chip-name{max-width:92px}
  .acct-menu{width:212px}
  .wizard{padding:1.1rem;margin:-1.4rem auto 2rem;border-radius:14px}
  .hero-cta{flex-wrap:wrap}
  .logins{max-width:none}
  .profileView{padding:4vh .8rem 2rem}
  .profile-card{padding:1.2rem}
  .profile-grid{gap:.5rem}.pf-stat{padding:.6rem}.pf-stat b{font-size:1rem}
  .profile-top{gap:.8rem}.profile-ava{width:56px;height:56px}
}
.coupon{margin:1.4rem auto 0;text-align:center}
.coupon-toggle{background:none;border:0;color:var(--muted);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .5rem;border-radius:8px}
.coupon-toggle:hover{color:var(--brand)}
.coupon-reveal{display:inline-flex;gap:.4rem;align-items:center;margin-top:.5rem;
  background:#FCFCFA;border:1px solid var(--line);border-radius:999px;padding:.26rem .26rem .26rem .85rem}
.coupon-reveal[hidden]{display:none}
.coupon-reveal input{border:0;background:none;outline:none;width:128px;
  font:700 .85rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.coupon-reveal .btn{padding:.4rem .85rem;font-size:.82rem;border-radius:999px}
.coupon-msg{font-size:.8rem;margin:.5rem 0 0;min-height:1em;font-weight:600}
.coupon-msg.ok{color:var(--good)}
.coupon-msg.err{color:#c0392b}

/* ---------- reviews + questions ---------- */
.feedback{max-width:var(--maxw);margin:6.5rem auto 0;padding:0 var(--gut) 3rem}
.fb-title{font-size:1.9rem;font-weight:900;letter-spacing:-.02em;margin:0 0 .3rem}
.fb-sub{color:var(--muted);margin:0 0 1.6rem;font-size:1rem}
.fb-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.fb-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.5rem 1.6rem;box-shadow:0 8px 24px rgba(16,24,40,.06);display:flex;flex-direction:column}
.fb-card h3{margin:0 0 .15rem;font-size:1.15rem;font-weight:800}
.fb-card .note{margin:.1rem 0 .2rem}
.fb-form{display:flex;flex-direction:column;gap:.65rem;margin-top:.9rem;flex:1}
.fb-form textarea{flex:1;min-height:96px}
.fb-form .btn{margin-top:.2rem}
.fb-form input,.fb-form textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:11px;font:inherit;font-size:.94rem;color:var(--ink);background:#fff;resize:vertical}
.fb-form input:focus,.fb-form textarea:focus{outline:2px solid var(--brand);border-color:transparent}
.fb-form .btn{align-self:flex-start;border-radius:11px;padding:.7rem 1.3rem}
.stars{display:flex;gap:.15rem;margin-bottom:.1rem}
.stars button{background:none;border:0;font-size:1.7rem;line-height:1;color:#d8dce6;cursor:pointer;padding:0 .05rem;transition:.1s}
.stars button.on{color:#f59e0b}
.stars button:hover{transform:scale(1.12)}
.fb-msg{font-size:.85rem;font-weight:700;min-height:1em;margin:.15rem 0 0}
.fb-msg.ok{color:var(--good)} .fb-msg.err{color:#c0392b}

/* ---------- footer (revamped) ---------- */
.foot{max-width:var(--maxw);margin:6rem auto 1.5rem;padding:2.5rem var(--gut) 1.4rem;border-top:1px solid var(--line);
  display:grid;grid-template-columns:1fr auto;gap:1rem 2rem;align-items:start;color:var(--ink)}
.foot .brand{font-size:1.02rem}
.foot-l{display:flex;flex-direction:column;gap:.35rem}
.foot-tag{color:var(--muted);font-size:.86rem}
.foot-links{display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.9rem;color:#47565A;align-items:center}
.foot-links a:hover{color:var(--brand)}
.foot-copy{grid-column:1/-1;color:#7A868B;font-size:.8rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:.4rem}

/* ---------- static content pages (refund / contact) ---------- */
.page{max-width:820px;margin:0 auto;padding:3rem 6vw 4rem}
.page .eyebrow{margin-bottom:1rem}
.page h1{font-size:2.6rem;font-weight:900;letter-spacing:-.03em;margin:.4rem 0 .3rem;color:#0F1F1C}
.page .lede{color:var(--muted);font-size:1.05rem;margin:0 0 2rem}
.page h2{font-size:1.25rem;font-weight:800;margin:2rem 0 .6rem}
.page p,.page li{color:#47565A;line-height:1.65;font-size:.98rem}
.page ul{padding-left:1.2rem} .page li{margin:.3rem 0}
.page .card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem 1.6rem;box-shadow:0 8px 24px rgba(16,24,40,.05);margin:1rem 0}
.page a{color:var(--brand);font-weight:600}
.page .back{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-weight:600;font-size:.9rem;margin-bottom:1.2rem}
@media(max-width:820px){ .fb-grid{grid-template-columns:1fr} .hero h1{font-size:2.7rem} }

/* ---------- premium landing refresh ---------- */
.section-wide{max-width:var(--maxw);margin:6.5rem auto;padding:0 var(--gut)}
.section-head{max-width:760px;margin-bottom:1.4rem}.section-head h2,.final-cta h2{font-size:2.6rem;line-height:1.03;letter-spacing:-.03em;margin:.75rem 0 .45rem;color:#0F1F1C}.section-head p,.final-cta p,.security p{color:#47565A;font-size:1.04rem;line-height:1.6}.how-layout{display:grid;grid-template-columns:1fr 330px;gap:1.2rem;align-items:stretch}.cards-steps{grid-template-columns:repeat(2,1fr);margin:0}.cards .c,.sample-card,.compare-card{border-radius:20px;box-shadow:0 16px 46px rgba(16,24,40,.07)}.sample-card{background:#fff;border:1px solid var(--line);padding:1.5rem}.sample-card h3{font-size:1.45rem;margin:.35rem 0 .8rem;letter-spacing:-.03em}.sample-card ul{padding-left:1.1rem;color:#47565A;line-height:1.75}.mini-label{font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#356D68}.sample-metric{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem;border-radius:16px;background:#EFF8F7;color:#47565A}.sample-metric b{color:var(--good);font-size:1.3rem}.security{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.8rem;margin-top:3rem;padding:2.4rem 2.6rem;align-items:center}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.compare-card{background:#fff;border:1px solid var(--line);padding:1.5rem}.compare-card h3{margin:0 0 .5rem;font-size:1.3rem}.compare-card p{color:#47565A;line-height:1.6}.compare-card span{display:inline-flex;margin-top:.5rem;border-radius:999px;padding:.35rem .7rem;font-weight:800;font-size:.82rem}.muted-card span{background:#f1f5f9;color:#47565A}.win-card{border-color:#DDEDEB;background:linear-gradient(180deg,#fff,#EFF8F7)}.win-card span{background:#EFF8F7;color:#103430}.stats-band{max-width:var(--maxw);margin:6.5rem auto;padding:0 var(--gut);display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}.stats-band div{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:1.25rem;box-shadow:0 12px 30px rgba(16,24,40,.06)}.stats-band b{display:block;font-size:2rem;letter-spacing:-.03em;color:var(--brand)}.stats-band span{color:var(--muted);font-size:.86rem}.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.1rem 1.25rem;margin:.75rem 0;box-shadow:0 8px 24px rgba(16,24,40,.04)}.faq summary{cursor:pointer;font-weight:900;font-size:1.05rem}.faq p{color:#47565A;line-height:1.65}.final-cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:linear-gradient(135deg,#ffffff,#EFF8F7);border:1px solid #DDEDEB;border-radius:24px;padding:2rem 2.2rem;box-shadow:0 24px 60px rgba(24,74,69,.12)}

/* ---------- broker-first wizard ---------- */
.broker-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.broker-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:1.25rem;text-align:left;cursor:pointer;font:inherit;box-shadow:0 10px 26px rgba(16,24,40,.05);transition:.15s}.broker-card:hover{transform:translateY(-2px);border-color:#DDEDEB}.broker-card.on{border-color:var(--brand);background:linear-gradient(180deg,#fff,#EFF8F7);box-shadow:0 14px 34px rgba(24,74,69,.13)}.broker-card span{font-size:1.7rem;display:block;margin-bottom:.6rem}.broker-card b{display:block;font-size:1.05rem}.broker-card em{display:block;font-style:normal;color:#47565A;font-size:.86rem;margin-top:.25rem}.local-banner{display:flex;gap:1rem;align-items:center;background:#EFF8F7;border:1px solid #DDEDEB;color:#065f46;border-radius:18px;padding:1rem 1.1rem;margin:.6rem 0 1rem}.local-banner b{white-space:nowrap}.local-banner span{font-size:.9rem;line-height:1.45}.broker-upload{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.15rem;margin:1rem 0;box-shadow:0 12px 34px rgba(16,24,40,.06)}.upload-head{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:.9rem}.upload-head h3{margin:.15rem 0 0;font-size:1.15rem}.broker-upload .drop{padding:1.35rem}.optional-sold{margin-top:.8rem;border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:.85rem 1rem}.optional-sold summary{cursor:pointer;font-weight:800}.optional-sold p{color:#47565A;margin:.55rem 0 0;line-height:1.5}.spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:spin .75s linear infinite}.btn.loading{opacity:.82;cursor:wait}@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- two-plan pricing + guide modal ---------- */
.plans{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin:0 auto}.plan{border-radius:22px;padding:1.5rem}.pp{letter-spacing:-.04em}.guide-modal{border:0;border-radius:24px;padding:0;max-width:520px;width:calc(100% - 2rem);box-shadow:0 28px 80px rgba(15,31,28,.26)}.guide-modal::backdrop{background:rgba(11,16,32,.45);backdrop-filter:blur(4px)}.guide-modal #guideBody{padding:1.7rem 1.9rem}.guide-modal h2{font-size:1.8rem;letter-spacing:-.03em;margin:.7rem 0 1rem}.guide-modal ol{padding-left:1.2rem;color:#47565A;line-height:1.8}.guide-close{position:absolute;right:1rem;top:.8rem;border:0;background:#f1f5f9;border-radius:999px;width:32px;height:32px;font-size:1.25rem;cursor:pointer;color:#47565A}

/* ---------- dedicated profile page ---------- */
.profile-page{max-width:640px;margin:2.5rem auto;padding:0 1rem}.profile-page .profile-card{width:100%;position:relative;overflow:hidden}.profile-cover{height:74px;margin:-1.6rem -1.6rem 1.1rem;background:linear-gradient(135deg,#184A45,#356D68)}.profile-id h1{font-size:1.45rem;margin:0;letter-spacing:-.03em}.profile-page .profile-actions{justify-content:space-between;flex-wrap:wrap}.profile-page .foot{max-width:640px}

@media(max-width:820px){.how-layout,.security,.compare-grid{grid-template-columns:1fr}.broker-picks{grid-template-columns:1fr}.stats-band{grid-template-columns:repeat(2,1fr)}.final-cta{align-items:flex-start;flex-direction:column}.section-head h2,.final-cta h2{font-size:2.05rem}.upload-head{flex-direction:column}.local-banner{align-items:flex-start;flex-direction:column}.plans{grid-template-columns:1fr}}
@media(max-width:560px){.stats-band{grid-template-columns:1fr}.section-wide{padding:0 4vw}.final-cta{padding:1.4rem}.guide-modal #guideBody{padding:1.35rem}.hero h1{font-size:2.55rem}.steps li{min-width:96px}}

/* header "reports left" badge */
.credits-badge{display:inline-flex;align-items:center;gap:.3rem;background:var(--teal-light);color:var(--brand);
  border:1px solid #cfe4e1;font-size:.8rem;font-weight:800;padding:.34rem .72rem;border-radius:999px;white-space:nowrap}

/* privacy: "download before closing" callout in the export zone */
.privacy-note{display:flex;gap:.6rem;align-items:flex-start;margin:.9rem 0 0;padding:.85rem 1rem;
  border:1px solid var(--brass);background:var(--brass-light);border-radius:14px;
  font-size:.88rem;line-height:1.5;color:var(--sec)}
.privacy-note b{color:var(--ink)}
/* mandatory sign-in gate — Continue stays disabled until signed in */
#gateContinue:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.6)}

/* ==================================================================
   FULL-PAGE SCROLL — each section is its own screen ("page")
   Palette-strict backgrounds (Deep Teal), full-bleed via ::before.
   ================================================================== */
:root{ --navH:64px; }
html{ scroll-snap-type:y mandatory; scroll-padding-top:var(--navH); scroll-behavior:smooth; }
body{ overflow-x:hidden; }

body>section{
  position:relative;
  min-height:100vh; min-height:100dvh;
  scroll-snap-align:start;
  display:flex; flex-direction:column; justify-content:center;
  box-sizing:border-box;
  padding-top:calc(var(--navH) + 2.2rem);
  padding-bottom:2.4rem;
}
/* full-bleed palette background painted behind each max-width section */
body>section::before{
  content:""; position:absolute; z-index:-1; top:0; bottom:0;
  left:50%; margin-left:-50vw; width:100vw; background:var(--bg);
}
/* --- palette rhythm: cream / v-light-teal / white / teal band / light-teal --- */
.hero::before       { background:var(--bg); }
#wizard::before     { background:var(--teal-vlight); }
#how::before        { background:var(--surface); }
#security::before   { background:var(--bg); }
.compare::before    { background:var(--teal-vlight); }
.stats-band::before { background:var(--grad); }
.faq::before        { background:var(--surface); }
.final-cta::before  { background:var(--teal-light); }
#feedback::before   { background:var(--bg); }

/* seamless colour pages: drop the old vertical section margins */
.hero, #wizard.wizard, #how.section-wide, #security.section-wide,
.compare.section-wide, .stats-band, .faq.section-wide,
.final-cta.section-wide, #feedback.feedback{ margin-top:0; margin-bottom:0; }
#wizard.wizard{ margin-left:auto; margin-right:auto; }

/* grid pages: centre content vertically within the screen */
.hero, .security, .stats-band{ align-content:center; }
/* hero fits exactly under the sticky nav */
.hero{ min-height:calc(100vh - var(--navH)); min-height:calc(100dvh - var(--navH)); }
/* long / interactive pages: top-align so height changes don't jump the view */
#wizard, #feedback, .faq{ justify-content:flex-start; }

/* teal stats band: white cards read cleanly on the gradient (keep teal numerals) */
.stats-band div{ box-shadow:0 18px 40px rgba(16,24,40,.18); }

/* headings: coherent Deep-Teal instead of near-black (modern, on-brand) */
.hero h1{ color:var(--brand); }
.hero .accent{ color:var(--brand2); }
.section-head h2, .final-cta h2, .faq h2, .fb-title,
#security h2, .panel h2, .compare h2{ color:var(--brand); }

/* tall / interactive pages scroll internally so exactly one screen shows */
#wizard, #feedback{ height:100vh; height:100dvh; overflow-y:auto; }

/* opaque nav so no previous-page sliver shows at a snap boundary */
.nav{ background:rgba(255,255,255,.97); }

/* full-page CTA: centre the stack instead of pushing the button to the floor */
.final-cta{ flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:1.4rem; }

/* multi-stock: one config card per broker in the Details step */
.stock-configs{ display:grid; gap:1rem; margin:.5rem 0 .2rem; }
.stock-config{ border:1px solid var(--line); border-radius:16px; padding:1.1rem 1.2rem; background:var(--soft); }
.stock-config .sc-title{ font-weight:800; font-size:1rem; margin-bottom:.8rem; color:var(--brand); }
.stock-config .grid2{ gap:.8rem; }
.sc-note{ margin:.6rem 0 0; }
