/* Global design tokens for the directly served signup homepage. */
:root {
 --bg: oklch(0.96 0.027 236); --card: oklch(1 0 0); --fg: oklch(0.28 0.042 235);
 --muted: oklch(0.97 0.012 235); --muted-fg: oklch(0.46 0.035 235); --border: oklch(0.88 0.025 235);
 --primary: oklch(0.73 0.115 240); --primary-dark: oklch(0.4 0.092 240);
 --accent: oklch(0.867 0.073 7); --accent-dark: oklch(0.817 0.1 10);
 --sky: #e0f2fe; --sky-strong: #7dd3fc; --peach: #fecaca; --peach-strong: #f9a8a8;
 --success: oklch(0.4 0.072 195); --success-bg: oklch(0.94 0.033 195); --danger: oklch(0.5 0.19 25);
 --focus: oklch(0.84 0.068 235); --radius: 8px; --shadow: 0 6px 18px color-mix(in oklab, var(--fg) 8%, transparent);
}
* {box-sizing:border-box;letter-spacing:0}
html,body {margin:0;padding:0;scroll-behavior:smooth}
body {font-family:Figtree,system-ui,sans-serif;color:var(--fg);background:var(--sky);line-height:1.5;-webkit-font-smoothing:antialiased}
a {color:var(--primary-dark);text-underline-offset:3px}
img {display:block;max-width:100%}
svg {flex-shrink:0}
html[data-form-short="1"] [data-full-form],html:not([data-form-short="1"]) [data-short-form],html:not([data-form-top="1"]) [data-top-only],html[data-form-top="1"] [data-top-hide] {display:none!important}
.wrap {max-width:620px;margin:auto;padding:0 28px 36px}
.header {display:flex;align-items:center;justify-content:space-between;padding:28px 0 18px;gap:16px}
.logo {width:158px;height:auto}
.header-note {font-size:12px;display:flex;align-items:center;gap:5px;color:var(--muted-fg)}
.header-note svg {width:14px;height:14px}
.hero {text-align:center;margin:12px 0 24px}
.eyebrow {font-size:12px;font-weight:700;margin:0 0 10px;display:flex;align-items:center;justify-content:center;gap:8px}
.eyebrow svg {width:16px;height:16px}
h1,h2,h3,.display,.cta,.sticky button {font-family:Outfit,system-ui,sans-serif}
.hero h1 {font-size:44px;line-height:1.08;font-weight:600;margin:0 0 12px}
.hero h1 span {color:var(--primary-dark)}
.hero-sub {font-size:16px;max-width:410px;margin:auto;color:var(--muted-fg)}
.hero-sub b {color:var(--primary-dark);font-weight:600}
.card {background:var(--card);margin:0 -28px;padding:26px 28px 0;border:0;border-radius:0;box-shadow:none}
.section {padding:0}
.form-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.form-heading h2 {font-size:22px;font-weight:600;margin:0}
.free-tag {font-size:12px;font-weight:700;color:var(--success);white-space:nowrap}
.bonus-banner {display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,var(--sky),var(--peach))}
.bonus-banner-amount {font-family:Outfit,sans-serif;font-size:36px;font-weight:600;line-height:1;color:var(--primary-dark);white-space:nowrap}
.bonus-banner-text {display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted-fg)}
.bonus-banner-text b {font-size:14px;font-weight:700;color:var(--fg);font-family:Outfit,sans-serif}
label.fld {font-size:13px;font-weight:600;display:block;margin:14px 0 6px}
.input {width:100%;height:56px;padding:0 16px;font:inherit;font-size:16px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--fg);outline:none;transition:border-color .15s,box-shadow .15s}
.input::placeholder {color:var(--muted-fg)}
.input:focus {border-color:var(--primary-dark);box-shadow:0 0 0 3px var(--focus)}
.input.err {border-color:var(--danger)}
.consent {display:flex;align-items:flex-start;gap:10px;margin-top:16px}
.consent input {width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--primary-dark);cursor:pointer}
.consent label {font-size:11px;line-height:1.6;color:var(--muted-fg);cursor:pointer}
.value-mini {display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;padding:9px 12px;border-radius:8px;background:var(--success-bg);color:var(--success);font-size:12px;font-weight:600}
.value-mini svg {width:13px;height:13px}
.cta,.sticky button {width:100%;min-height:56px;padding:12px 16px;border:0;border-radius:8px;cursor:pointer;background:var(--peach);color:var(--fg);font-size:17px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,transform .2s}
.cta {margin-top:20px}
.cta:hover,.sticky button:hover {background:var(--peach-strong)}
.cta:active {transform:translateY(1px)}
.cta:disabled {opacity:.7;cursor:wait}
button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible {outline:3px solid var(--primary-dark);outline-offset:3px}
.spinner {display:none;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--fg);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin {to {transform:rotate(360deg)}}
.reassure {display:flex;justify-content:center;flex-wrap:wrap;gap:14px;color:var(--muted-fg);font-size:11px;margin-top:13px;padding-bottom:23px}
.reassure span {display:inline-flex;align-items:center;gap:4px}
.reassure svg {width:12px;height:12px;color:var(--success)}
.membership-summary {border-top:1px solid var(--border);margin:0 -28px;padding:0 28px}
.membership-summary summary {padding:16px 0;font-size:13px}
.coupon .sec-label,.totals .row,.coupon-input,.coupon-apply,.coupon-note {font-size:12px}
.coupon-row {display:flex;gap:8px;margin:12px 0 8px}
.coupon-input {flex:1;min-width:0;border:1px dashed var(--border);padding:8px;border-radius:6px;display:flex;align-items:center;gap:6px;background:var(--muted)}
.coupon-input svg,.coupon-note svg {width:14px;height:14px}
.coupon-input input {width:100%;min-width:0;border:0;background:transparent;font:inherit;color:var(--fg)}
.coupon-apply {background:var(--success-bg);color:var(--success);border:0;border-radius:6px;padding:0 12px;cursor:pointer}
.coupon-note {display:flex;align-items:center;gap:4px;color:var(--success)}
.totals {margin:16px 0}
.totals .row,.totals .grand {display:flex;justify-content:space-between;gap:16px;padding:4px 0}
.totals .grand {border-top:1px solid var(--border);margin-top:8px;padding-top:12px;font-weight:700}
.due-note {font-size:11px;color:var(--muted-fg);padding-bottom:12px}
.pack {margin:0 -28px;background:var(--card);padding:0 28px 28px}
.sample-photo {margin:0 -28px;position:relative;background:var(--sky)}
.sample-photo img {width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
.sample-photo figcaption {font-size:10px;color:var(--muted-fg);position:absolute;bottom:8px;right:14px}
.pack h3 {font-size:25px;font-weight:600;margin:26px 0 8px}
.pack .sub {font-size:14px;color:var(--muted-fg);margin:0 0 22px}
.feat {display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}
.f {border:0;background:transparent;padding:0}
.fi {font-size:21px;margin-bottom:6px}
.ft {font-size:14px;font-weight:700;line-height:1.3}
.fd {font-size:12px;color:var(--muted-fg);margin-top:5px}
.bonus-strip {display:flex;align-items:center;gap:16px;margin-top:24px;border-radius:12px;background:linear-gradient(135deg,var(--sky),var(--peach));padding:18px}
.bonus-amount {font-family:Outfit,sans-serif;font-size:40px;font-weight:600;line-height:1;color:var(--primary-dark)}
.bonus-strip p {font-size:12px;color:var(--muted-fg);margin:4px 0 0}
.bonus-strip b {font-size:14px;font-family:Outfit,sans-serif}
.proof {text-align:center;padding:25px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted-fg)}
.proof b {display:block;font-family:Outfit,sans-serif;font-size:22px;color:var(--fg);font-weight:600}
.faq {padding-top:22px}
.faq h3 {font-size:24px;font-weight:600;margin:0 0 12px}
details {border-bottom:1px solid var(--border)}
summary {list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 0;font-size:14px;font-weight:600;cursor:pointer}
summary::-webkit-details-marker {display:none}
.chev {width:18px;height:18px;transition:transform .2s}
details[open] .chev {transform:rotate(180deg)}
.ans {font-size:13px;color:var(--muted-fg);padding:0 0 18px}
.foot {font-size:11px;text-align:center;color:var(--muted-fg);margin-top:26px;line-height:1.8}
.fine-print {text-align:left;margin-top:18px;font-size:10px;line-height:1.7;max-height:200px;overflow-y:auto;border-top:1px solid var(--border);padding-top:12px}
.fine-print a {overflow-wrap:anywhere}
.sticky {position:fixed;left:0;right:0;bottom:0;z-index:50;transform:translateY(120%);background:var(--card);border-top:1px solid var(--border);padding:10px 18px calc(10px + env(safe-area-inset-bottom));transition:transform .25s}
.sticky.show {transform:translateY(0)}
.sticky .mini {display:block;text-align:center;font-size:11px;margin-bottom:6px;color:var(--muted-fg)}
.sticky button {max-width:564px;margin:auto}
.success {display:none;text-align:center;padding:28px 0}
.success.show {display:block}
.success .check {margin:auto;color:var(--success)}
.success .check svg {width:48px;height:48px}
.success h2 {font-size:26px}
.success p {font-size:14px;color:var(--muted-fg)}
.offer {margin-top:20px}
.ohead {font-weight:600;font-size:14px}
.obtn {display:flex;justify-content:center;padding:16px;border-radius:8px;background:var(--peach);text-decoration:none;color:var(--fg)}
.sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media (min-width:760px) {.wrap {padding-top:12px}.hero {margin:22px 0 30px}.hero h1 {font-size:48px}.card {padding-top:28px}}
@media (max-width:480px) {.wrap {padding-left:22px;padding-right:22px}.header {padding:20px 0 14px}.logo {width:137px}.header-note {font-size:10px}.hero {margin:8px 0 22px}.hero h1 {font-size:34px}.hero-sub {font-size:14px;max-width:310px}.eyebrow {font-size:11px;margin-bottom:8px}.card {margin:0 -22px;padding:22px 22px 0}.bonus-banner {gap:12px}.bonus-banner-amount {font-size:30px}.form-heading {margin-bottom:12px}.form-heading h2 {font-size:20px}.pack {margin:0 -22px;padding:0 22px 24px}.sample-photo,.membership-summary {margin:0 -22px}.membership-summary {padding:0 22px}.reassure {gap:10px}.feat {gap:20px 14px}}
@media (prefers-reduced-motion:reduce) {html,body {scroll-behavior:auto}*,*::before,*::after {animation:none!important;transition:none!important}}
@media (max-width:360px) {.hero h1 {font-size:30px}.form-heading h2 {font-size:18px}.cta,.sticky button {font-size:15px}.header-note {max-width:100px}}
