/* pages.css: shared styles for welcome, onboarding, membership and referral pages (layered on styles.css + training/training.css) */
.tt-wm{position:fixed;right:-70px;bottom:-50px;width:min(78vw,540px);opacity:.045;pointer-events:none;z-index:0}
main,footer{position:relative;z-index:1}
.p-hero{position:relative;padding:calc(var(--navh) + 46px) 0 34px;text-align:center;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,#241800 0%,rgba(10,10,10,0) 62%)}
.p-hero .hero-logo{width:96px;margin:0 auto 14px}
.p-hero h1{font-size:clamp(2.7rem,9vw,4.8rem);margin:4px 0 12px}
.p-hero .lead{max-width:640px;margin:0 auto;color:#d6d0c4;font-size:1.1rem}
.p-sec{padding:34px 0}
.p-sec h2{font-size:clamp(2rem,6vw,2.9rem)}
.steps3{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:16px}
.steps3 li{position:relative;display:grid;grid-template-columns:58px 1fr;gap:14px;padding:22px 20px;border-radius:var(--r);background:linear-gradient(180deg,var(--panel2),var(--panel));box-shadow:inset 0 0 0 1px var(--line)}
.steps3 li.main-step{box-shadow:inset 0 0 0 1.5px rgba(255,184,0,.6)}
.steps3 .num{font-family:var(--display);font-size:2.6rem;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.steps3 h3{font-size:1.65rem;margin:0 0 6px}
.steps3 p{margin:0 0 12px;color:#ddd7cb}
.steps3 .btn{min-height:46px}
.timeline{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.timeline li{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:12px 16px;border-radius:14px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:#ddd7cb}
.timeline b{font-family:var(--display);font-weight:400;font-size:1.25rem;letter-spacing:.04em;color:var(--gold2)}
.promise-box{margin:18px 0 0;padding:18px 20px;border-radius:14px;background:rgba(255,184,0,.08);box-shadow:inset 0 0 0 1px rgba(255,184,0,.45);color:#efe7d6}
.promise-box strong{color:var(--gold2)}
.share-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}
.share-row .btn{min-height:44px;padding:10px 18px;font-size:.92rem}
.share-msg{min-height:1.4em;color:var(--gold2);font-size:.9rem;margin:8px 0 0;text-align:center}
.onb-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px auto 0}
.onb-nav a{font-size:.85rem;font-weight:700;text-decoration:none;color:var(--muted);padding:7px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}
.onb-nav a[aria-current]{color:#120c00;background:var(--grad);box-shadow:none}
/* forms */
.tt-form{display:grid;gap:18px}
.tt-form fieldset{border:0;margin:0;padding:22px 18px;border-radius:var(--r);background:linear-gradient(180deg,var(--panel2),var(--panel));box-shadow:inset 0 0 0 1px var(--line)}
.tt-form legend{float:left;width:100%;font-family:var(--display);font-size:1.75rem;letter-spacing:.03em;color:var(--gold2);margin:0 0 4px;padding:0}
.tt-form legend+*{clear:both}
.tt-form .hint{color:var(--muted);font-size:.9rem;margin:0 0 12px}
.fld{display:grid;gap:6px;margin:0 0 14px}
.fld:last-child{margin-bottom:0}
.fld>label,.fld>.q{font-weight:600;font-size:.95rem;color:#ece6da}
.fld small{color:var(--muted);font-size:.85rem;font-weight:400}
.tt-form input[type=text],.tt-form input[type=email],.tt-form input[type=tel],.tt-form input[type=date],.tt-form input[type=number],.tt-form select,.tt-form textarea{font:inherit;font-size:16px;color:var(--text);background:#0c0c0c;border:1px solid rgba(255,255,255,.16);border-radius:12px;min-height:50px;padding:11px 13px;width:100%}
.tt-form textarea{min-height:92px;resize:vertical}
.tt-form input:focus,.tt-form select:focus,.tt-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,184,0,.25)}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choices label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 14px;border-radius:999px;background:#0c0c0c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);cursor:pointer;font-weight:500;font-size:.95rem;color:#e6e0d4}
.choices label:has(input:checked){box-shadow:inset 0 0 0 2px var(--gold);background:rgba(255,184,0,.1);color:#fff}
.choices input{accent-color:#ffb800;width:18px;height:18px;margin:0}
.check{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;margin:0 0 12px;color:#e6e0d4;cursor:pointer}
.check input{accent-color:#ffb800;width:22px;height:22px;margin:2px 0 0}
.grid2{display:grid;gap:0 14px;grid-template-columns:1fr}
@media (min-width:700px){.grid2{grid-template-columns:1fr 1fr}}
.draft-tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#120c00;background:var(--grad);padding:3px 9px;border-radius:999px;margin-left:6px;vertical-align:middle}
.legal{font-size:.92rem;color:#d6d0c4;background:#0c0c0c;border-radius:12px;padding:14px 16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);margin:0 0 14px}
.legal p{margin:0 0 8px}
.send-box{text-align:center;padding:26px 18px;border-radius:var(--r);background:radial-gradient(ellipse at 50% 0%,rgba(255,184,0,.16),transparent 65%),#121212;box-shadow:inset 0 0 0 1px rgba(255,184,0,.35)}
.send-box .cta-row{justify-content:center;margin-top:14px}
.send-box p{color:#d6d0c4;margin:0 auto;max-width:560px}
.fine{color:var(--muted);font-size:.88rem}
.tally-banner{margin:16px auto 0;max-width:640px}
/* snapshot */
.snap-scale{display:flex;gap:6px;flex-wrap:wrap}
.snap-scale label{min-width:46px;justify-content:center}
.snap-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.snap-list li{padding:14px 16px;border-radius:14px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:#ddd7cb;font-size:.95rem}
.snap-list li b{color:var(--gold2)}
.streak{font-family:var(--display);font-size:2.4rem;line-height:1;margin:0}
.faq-list details{border-bottom:1px solid var(--line);padding:14px 0}
.faq-list summary{cursor:pointer;font-weight:700}
.faq-list p{color:#d6d0c4;margin:10px 0 0}
.code-chip{display:inline-block;font-family:ui-monospace,Menlo,monospace;font-size:1.3rem;letter-spacing:.08em;color:var(--gold2);padding:10px 18px;border-radius:12px;box-shadow:inset 0 0 0 1.5px rgba(255,184,0,.6);background:#0c0c0c}
@media (max-width:600px){.steps3 li{grid-template-columns:44px 1fr;padding:18px 16px}.steps3 .num{font-size:2.2rem}.timeline li{grid-template-columns:1fr;gap:2px}.tt-form fieldset{padding:18px 14px}}
@media print{.nav,.footer,.tt-wm,.send-box .cta-row,.share-row{display:none!important}body{background:#fff;color:#000}}
/* long emails/links never push the layout wider than the phone */
.steps3 li>div,.timeline li>div{min-width:0}
.p-sec p,.p-sec li,.promise-box p,.legal{overflow-wrap:anywhere}

/* App home tiles (v5) */
.app-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:700px){.app-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.app-tile{display:flex;flex-direction:column;gap:4px;padding:18px 16px;min-height:118px;border-radius:18px;background:#141414;box-shadow:inset 0 0 0 1px rgba(255,184,0,.22);color:#f3efe6;text-decoration:none;transition:.2s}
.app-tile:hover,.app-tile:focus-visible{box-shadow:inset 0 0 0 1.5px var(--gold);transform:translateY(-2px)}
.app-tile .ico{color:var(--gold);font-size:1.4rem;line-height:1}
.app-tile strong{font-size:1.02rem;margin-top:6px}
.app-tile span:last-child{color:var(--muted);font-size:.86rem;line-height:1.35}
.app-hero{padding-bottom:10px}
