/* Sign-up forms (/join), checkout and the CRM pages (verify, scan, card). DESIGN_SYSTEM.md tokens, dark by default. Shared by voltaclub.ca and crm.voltaclub.ca. */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format('woff2')}
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/marcellus-latin.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-latin.woff2) format('woff2')}
:root{
  --ink:#0B0B0B;--charcoal:#16181D;--paper:#FFFFFF;--paper-warm:#FAF7F1;--line:#E6EAF0;--muted:#5B6470;
  --cobalt:#0052CC;--cobalt-deep:#00337F;--cobalt-bright:#3D8BFF;--lime:#D2F362;--green:#7CB342;
  --card:#16181D;--card-line:rgba(255,255,255,.10);--line-dark:rgba(255,255,255,.08);--body:#C2C8D0;--label:#8A919B;
  --glow:radial-gradient(ellipse at 70% 0%,rgba(0,82,204,.28),rgba(11,11,11,0) 60%);
  --danger:#FF8A80;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:#fff;font:400 17px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{max-width:100%}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}

/* Header and footer */
.j-head{display:flex;align-items:center;justify-content:space-between;max-width:1296px;margin:0 auto;padding:22px 24px;border-bottom:1px solid var(--line-dark)}
.j-head .logo img{display:block;height:22px;width:auto}
.j-head .back{color:var(--body);font-size:15px;text-decoration:none}
.j-head .back:hover{color:#fff}
.j-foot{max-width:1296px;margin:0 auto;padding:36px 24px 48px;border-top:1px solid var(--line-dark);color:var(--label);font-size:14px;display:flex;flex-wrap:wrap;gap:8px 22px}
.j-foot a{color:var(--body);text-decoration:none}
.j-foot a:hover{color:#fff}

/* Page: hero copy left, form card right */
.j-wrap{position:relative;background:var(--glow);overflow:hidden}
.j-main{position:relative;max-width:1296px;margin:0 auto;padding:88px 24px 110px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:72px;align-items:start}
.j-lines{position:absolute;right:-60px;top:40px;width:720px;height:auto;opacity:1;pointer-events:none}
.eyebrow{font:700 13px/1.2 Inter,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--lime);margin:0 0 22px}
h1{font:400 84px/.98 Marcellus,serif;letter-spacing:-.01em;margin:0;text-wrap:balance}
.lead{color:var(--body);font-size:19px;line-height:1.6;margin:26px 0 0;max-width:30em}
.perks{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:12px;max-width:30em}
.perks li{position:relative;padding-left:30px;color:var(--body)}
.perks li::before{content:"";position:absolute;left:2px;top:.55em;width:14px;height:8px;border-left:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:rotate(-45deg)}
.proof{margin:40px 0 0;padding-top:22px;border-top:1px solid var(--line-dark);font:400 22px/1.35 Marcellus,serif;color:#E6E9EE;max-width:24em}
.notice{margin:34px 0 0;color:var(--label);font-size:14px;line-height:1.55;max-width:34em}

/* The founding counter (as on join.voltaclub.ca before the hotfix) */
.counter[hidden]{display:none}
.counter{display:block;text-decoration:none;color:inherit;max-width:460px;margin:26px 0 0}
.counter .proofrow{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.counter .proofdot{width:8px;height:8px;border-radius:50%;background:var(--lime);flex-shrink:0;position:relative;top:-1px;animation:jpulse 2.2s infinite}
.counter .proofnum{font-family:Marcellus,serif;font-size:21px;color:#fff;line-height:1}
.counter .prooflabel{font-size:13px;color:#c2c8d0}
.counter .prooftrack{height:6px;border-radius:100px;background:rgba(255,255,255,.15);overflow:hidden}
.counter .prooffill{height:100%;width:0;border-radius:100px;background:var(--lime);transition:width 1.1s cubic-bezier(.2,.7,.2,1)}
@keyframes jpulse{0%{box-shadow:0 0 0 0 rgba(210,243,98,.55)}70%{box-shadow:0 0 0 10px rgba(210,243,98,0)}100%{box-shadow:0 0 0 0 rgba(210,243,98,0)}}

/* One page, six flows: each panel takes part in the page grid; only the active one shows. */
.j-flow{display:contents}
.j-flow[hidden]{display:none!important}

/* Form card */
.card{background:var(--card);border:1px solid var(--card-line);border-radius:22px;padding:34px 32px 30px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.card h2{font:700 24px/1.2 'Plus Jakarta Sans',Inter,sans-serif;margin:0 0 6px}
.card .hint{color:var(--label);font-size:15px;margin:0 0 22px}
.f{display:grid;gap:18px}
.f .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:grid;gap:7px}
.fld>label,.fld>legend,.lbl{font:600 15px/1.3 Inter,sans-serif;color:#E6E9EE;padding:0}
.fld .opt{color:var(--label);font-weight:400}
fieldset.fld{border:0;margin:0;padding:0;min-width:0}
input:not([type]),input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],select,textarea{
  width:100%;min-height:50px;padding:12px 15px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#0F1114;color:#fff;
  font:400 17px/1.4 Inter,sans-serif;appearance:none;-webkit-appearance:none}
select{background-image:linear-gradient(45deg,transparent 50%,#C2C8D0 50%),linear-gradient(135deg,#C2C8D0 50%,transparent 50%);
  background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
textarea{min-height:110px;resize:vertical}
input::placeholder,textarea::placeholder{color:#6B737E}
input:focus,select:focus,textarea:focus{border-color:var(--cobalt-bright);outline:none;box-shadow:0 0 0 3px rgba(61,139,255,.25)}
.fld.err input,.fld.err select,.fld.err .tiles{border-color:var(--danger)}
.fld .msg{color:var(--danger);font-size:14px;min-height:0}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;border-radius:14px}
.tiles.cols-3{grid-template-columns:repeat(3,1fr)}
.tile{position:relative}
.tile input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.tile span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:10px 12px;border-radius:12px;
  border:1px solid rgba(255,255,255,.16);background:#0F1114;color:#E6E9EE;font:600 15px/1.25 'Plus Jakarta Sans',Inter,sans-serif;transition:border-color .15s,background .15s}
.tile small{display:block;color:var(--label);font:500 12px/1.3 Inter,sans-serif;margin-top:2px}
.tile input:hover+span{border-color:rgba(255,255,255,.35)}
.tile input:checked+span{border-color:var(--lime);background:rgba(210,243,98,.08);color:#fff}
.tile input:focus-visible+span{outline:2px solid var(--lime);outline-offset:2px}
.check{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;color:var(--body);font-size:15px;line-height:1.5;cursor:pointer}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--lime)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:14px 30px;border-radius:100px;border:0;
  background:var(--cobalt);color:#fff;font:700 17px/1 'Plus Jakarta Sans',Inter,sans-serif;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s}
.btn:hover{background:#0A5FE6}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:progress}
.btn.lime{background:var(--lime);color:var(--ink)}
.btn.lime:hover{background:#DDF77F}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.3)}
.btn.ghost:hover{border-color:#fff}
.btn.block{width:100%}
.consent{color:var(--label);font-size:13.5px;line-height:1.55;margin:2px 0 0}
.consent a{color:var(--body)}
.form-err{color:var(--danger);font-size:15px;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Confirmation */
.done{display:grid;gap:22px}
.done h2{font:400 44px/1.02 Marcellus,serif;margin:0}
.pos{font:400 22px/1.3 Marcellus,serif;color:#E6E9EE;margin:0}
.pos b{color:var(--lime);font-weight:400}
.pos-note{color:var(--label);font-size:14px;margin:-12px 0 0}
.ref{border:1px solid var(--card-line);border-radius:18px;padding:20px;background:#0F1114;display:grid;gap:12px}
.ref h3{font:700 18px/1.3 'Plus Jakarta Sans',Inter,sans-serif;margin:0}
.ref .link{display:flex;gap:8px}
.ref .link input{min-height:46px;font-size:15px}
.ref .link button{flex:none;min-height:46px;padding:0 18px;font-size:15px}
.share{display:flex;flex-wrap:wrap;gap:8px}
.share a,.share button{min-height:44px;padding:10px 16px;border-radius:100px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font:600 14px/1 Inter,sans-serif;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}
.share a:hover,.share button:hover{border-color:#fff}
.founder-line{color:var(--body);margin:0}
details.more{border-top:1px solid var(--line-dark);padding-top:18px}
details.more summary{cursor:pointer;font:700 16px/1.3 'Plus Jakarta Sans',Inter,sans-serif;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:44px}
details.more summary::-webkit-details-marker{display:none}
details.more summary::after{content:"+";color:var(--lime);font:400 26px/1 Inter,sans-serif}
details.more[open] summary::after{content:"–"}
details.more .f{margin-top:14px}
.ok{color:var(--lime);font-weight:600;margin:0}
.follow{color:var(--body);font-size:15px;margin:0}
.follow a{color:var(--lime);text-decoration:none;font-weight:600}
.dry{position:fixed;left:12px;bottom:12px;z-index:50;background:var(--lime);color:var(--ink);font:700 12px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:100px}

/* Simple centred pages (confirmed, verify, scan, checkout result) */
.j-simple{max-width:640px;margin:0 auto;padding:96px 24px 120px}
.j-simple .lead{max-width:none}

@media (max-width:1100px){
  .j-main{grid-template-columns:1fr;gap:44px;padding-top:56px}
  h1{font-size:64px}
  .j-lines{width:520px;right:-120px;top:0;opacity:.7}
}
@media (max-width:640px){
  body{font-size:16px}
  .j-head{padding:16px 16px}
  .j-main{padding:40px 16px 72px;gap:32px}
  h1{font-size:48px}
  .eyebrow{font-size:12px;margin-bottom:16px}
  .lead{font-size:17px;margin-top:18px}
  .perks{margin-top:24px}
  .proof{font-size:19px;margin-top:28px}
  .card{padding:24px 18px 22px;border-radius:20px;margin:0 -4px}
  .f .row{grid-template-columns:1fr}
  .tiles{grid-template-columns:1fr 1fr}
  .tiles.cols-3{grid-template-columns:1fr 1fr 1fr}
  .done h2{font-size:36px}
  .j-lines{display:none}
  .hero-copy{display:contents}
  .hero-copy .perks{display:none}
  .hero-copy .proof{order:3;margin-top:0}
  .hero-copy .notice{order:3;margin-top:0}
  .j-main .card{order:2}
  .j-simple{padding:56px 16px 80px}
  .j-foot{padding:28px 16px 40px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* Founder card, verify screen, checkout, card page. Extends join.css. */
.fcard{position:relative;width:min(380px,100%);aspect-ratio:1.586;border-radius:22px;padding:26px 26px 22px;color:#fff;
  background:linear-gradient(145deg,#1C1F25,#0B0B0B);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);
  display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.fcard::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% -10%,rgba(210,243,98,.10),transparent 55%);pointer-events:none}
.fcard .top{display:flex;justify-content:space-between;align-items:flex-start}
.fcard .top img{height:16px;width:auto}
.fcard .est{font:700 10px/1 Inter;letter-spacing:.3em;color:#8A919B}
.fcard .lab{font:700 11px/1 Inter;letter-spacing:.3em;color:#8A919B;margin:0 0 8px}
.fcard .nm{font:600 18px/1.2 'Plus Jakarta Sans',Inter;margin:0}
.fcard .no{font:400 34px/1 Marcellus,serif;color:var(--lime);margin:6px 0 0}
.fcard.paused{filter:saturate(.3)}
.fcard.revoked{filter:grayscale(1);opacity:.6}

.vscreen{max-width:460px;margin:0 auto;padding:48px 20px 80px;text-align:center}
.vmark{width:96px;height:96px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center}
.vmark svg{width:48px;height:48px}
.vmark.valid{background:rgba(210,243,98,.14);border:2px solid var(--lime)}
.vmark.paused{background:rgba(245,185,113,.12);border:2px solid #F5B971}
.vmark.invalid{background:rgba(255,138,128,.12);border:2px solid var(--danger)}
.vtitle{font:400 56px/1 Marcellus,serif;margin:0}
.vsub{font:600 18px/1.4 'Plus Jakarta Sans',Inter;color:#E6E9EE;margin:14px 0 0}
.vnote{color:var(--label);margin:18px 0 0;font-size:15px}
.vscreen form{margin-top:30px}
.vscreen .btn{width:100%}
.vused{margin-top:24px;color:var(--lime);font-weight:700}
.vtime{color:var(--label);font-size:13px;margin-top:24px}

.co{max-width:1100px;margin:0 auto;padding:64px 24px 100px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:64px;align-items:start}
.co .price{font:400 64px/1 Marcellus,serif;margin:22px 0 0}
.co .price small{font:400 16px/1.4 Inter;color:var(--label);display:block;margin-top:8px}
.co .fcard{margin-top:36px;transform:rotate(-4deg)}
.co .terms a{color:#fff}
.sim{border:1px dashed rgba(210,243,98,.5);border-radius:18px;padding:20px;color:var(--body)}
.cardpage{max-width:520px;margin:0 auto;padding:56px 20px 90px;display:grid;gap:26px;justify-items:center;text-align:center}
.qr{background:#fff;border-radius:18px;padding:14px;width:220px}
.qr svg{display:block;width:100%;height:auto}
.wallet{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
@media (max-width:900px){.co{grid-template-columns:1fr;gap:36px;padding:40px 16px 72px}.co .fcard{transform:none}.co .price{font-size:48px}.vtitle{font-size:46px}}

/* checkout: the three lines (membership, tax, total) before payment and on the receipt */
.co-lines{margin:22px 0 18px;padding:0;max-width:420px;border-top:1px solid rgba(255,255,255,.12)}
.co-lines div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.co-lines dt,.co-lines dd{margin:0}
.co-lines .total{font-weight:700;font-size:1.1em}
.co-h{margin-top:28px;font-size:18px}
.btn-fine{margin:10px 0 0;text-align:center}
.co-rule{margin:6px 0 16px;padding:14px 16px;border:1px solid rgba(255,255,255,.14);border-radius:12px;font-size:14px;line-height:1.5}
.co-rule p{margin:0}
.co-rule p + p{margin-top:8px}

/* ---------- /join: the Founders List page (body.jl). Final design 2026-10-02: dark, lime is the only accent; blue only in imagery. ---------- */
.jl{--glow:none;--card:#141619}
.jl [hidden]{display:none!important}
.jl .btn{background:var(--lime);color:var(--ink)}
.jl .btn:hover{background:#DDF77F}
.jl .btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.jl input:focus,.jl select:focus,.jl textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(210,243,98,.2)}
.jl .j-head{border-bottom:0}
.jl .j-head .back{color:#fff;font-weight:600;min-height:44px;display:inline-flex;align-items:center;font-size:15px}
.jl .j-head .logo,.jl .j-foot a{display:inline-flex;align-items:center;min-height:44px}
.jl .j-foot{align-items:center;justify-content:space-between}
.jl .j-foot span{margin-right:auto}
.fl{max-width:1200px;margin:0 auto;padding:0 24px}
.fl .eyebrow{margin:0 0 16px}
.fl h2{font:400 clamp(34px,4.2vw,52px)/1.05 Marcellus,serif;margin:0;text-wrap:balance}
.fl-lead{color:var(--body);font-size:17px;line-height:1.6;margin:16px 0 0;max-width:34em}
.fl-small{color:var(--label);font-size:14px;margin:0}
.fl-muted{color:var(--body);font-size:15px;line-height:1.5;margin:0}
.fl-tiny{font-size:13px;color:var(--label)}
.fl-center{text-align:center}
.fl-grey{color:var(--label)}
/* 2 hero */
.fl-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center;padding:56px 0 72px}
.fl-hero h1{font-size:clamp(46px,5.5vw,80px)}
.fl-hero .lead{margin-top:22px;font-size:18px;max-width:31em}
.fl-counter{margin-top:26px}
.fl-cta-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
/* 3 render */
.fl-img{margin:0}
.fl-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:22px}
.fl-img figcaption{color:var(--label);font-size:12px;margin-top:10px}
/* 4 lines: 3 + 2 on desktop */
/* amenity lines: rows, label column | one serif line each, thin dividers (2026-10-02) */
.fl-lines{padding:64px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.fl-lines-h{margin:0 0 28px;font:400 clamp(30px,3vw,40px)/1.1 Marcellus,serif;color:#fff}
.fl-rows{max-width:900px;margin:0}
.fl-aline{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:baseline;gap:24px;padding:18px 0;border-top:1px solid var(--line-dark)}
.fl-aline:last-child{border-bottom:1px solid var(--line-dark)}
.fl-aline dt{margin:0}
.fl-line{margin:0;font:400 26px/1.3 Marcellus,serif;color:#fff}
/* 5 + 6: why join (left) and the form (right) */
.fl-join{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start;padding:88px 0}
.fl-why-list{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:26px}
.fl-why-list li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
.fl-why-list .n{width:44px;height:44px;border-radius:50%;border:1px solid var(--lime);color:var(--lime);display:flex;align-items:center;justify-content:center;font:700 13px/1 Inter,sans-serif}
.fl-why-list h3{margin:2px 0 4px;font:700 17px/1.3 'Plus Jakarta Sans',Inter,sans-serif;color:#fff}
.fl-why-list p{margin:0;color:var(--body);font-size:16px;line-height:1.55}
.fl-formcol{scroll-margin-top:24px}
.fl-card{background:var(--card);border:1px solid var(--card-line);border-radius:22px;padding:30px 28px}
.fl-card h2{font-size:clamp(30px,3vw,40px)}
.fl-card .f{margin-top:22px;gap:16px}
.fl-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fl-card .consent{margin:0;font-size:12.5px}
/* after sign-up */
.fl-done{display:grid;gap:18px;scroll-margin-top:16px}
.fl-done:focus{outline:none}
.fl-done .done{gap:14px}
.fl-check{width:56px;height:56px;border-radius:50%;border:1px solid var(--lime);color:var(--lime);display:flex;align-items:center;justify-content:center}
.fl-check svg{width:24px;height:24px}
.fl-done-h{font:400 clamp(40px,5vw,60px)/1.02 Marcellus,serif!important;margin:0}
.fl-done .pos{font:400 22px/1.3 Marcellus,serif}
.fl-sms,.fl-help{display:grid;gap:14px}
.fl-sms h3,.fl-help h3,.fl-share h3{margin:0;font:700 17px/1.35 'Plus Jakarta Sans',Inter,sans-serif;color:#fff}
.fl-help h3 span{color:var(--label);font-weight:400}
.fl-help fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:10px}
.fl-help legend{padding:0;margin-bottom:10px;color:var(--body);font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#0E1013;color:#E6E9EE;font:600 14.5px/1.2 'Plus Jakarta Sans',Inter,sans-serif;transition:border-color .15s,color .15s}
.chip input:checked+span{border-color:var(--lime);color:var(--lime)}
.chip input:focus-visible+span{outline:2px solid var(--lime);outline-offset:2px}
.fl-share{display:grid;gap:12px;padding:8px 0}
.fl-share .share button,.fl-share .share a{min-height:44px}
.fl-club{border:1px solid var(--lime);border-radius:22px;padding:30px 28px;display:grid;gap:14px}
.fl-club .eyebrow{margin:0}
.fl-club h3{margin:0;font:400 clamp(30px,3vw,38px)/1.08 Marcellus,serif;color:#fff}
.fl-club-lead{margin:0;color:var(--body);font-size:16px;line-height:1.55}
.fl-ticks{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:9px;align-content:start}
.fl-ticks li{position:relative;padding-left:26px;color:#E6E9EE;line-height:1.5;font-size:15.5px}
.fl-ticks li::before{content:"";position:absolute;left:2px;top:.5em;width:11px;height:6px;border-left:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:rotate(-45deg)}
.fl-club-rel{margin:4px 0 0;color:var(--body);font-size:15px}
.fl-club .fl-small{margin-top:-2px}
/* 7 teaser */
.fl-teaser{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;margin:0 0 96px;padding:40px 44px;border:1px solid var(--card-line);border-radius:22px}
.fl-teaser h2{font-size:clamp(30px,3.2vw,42px)}
.fl-teaser .fl-lead{max-width:40em}
.fl-teaser-link{display:inline-flex;align-items:center;min-height:52px;padding:0 26px;border:1px solid var(--lime);border-radius:100px;color:var(--lime);font:700 16px/1 'Plus Jakarta Sans',Inter,sans-serif;text-decoration:none;white-space:nowrap}
.fl-teaser-link:hover{background:rgba(210,243,98,.08)}
/* 9 sticky bar (phones) */
.fl-sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(11,11,11,.96);border-top:1px solid var(--line-dark);backdrop-filter:blur(8px)}
.fl-sticky-h{margin:0;font:700 15px/1.2 'Plus Jakarta Sans',Inter,sans-serif;color:#fff}
.fl-sticky-n{margin:2px 0 0;color:var(--label);font-size:13px}
.fl-sticky .btn{min-height:48px;padding:12px 22px;font-size:16px}
@media (max-width:900px){
  .fl-hero{grid-template-columns:1fr;gap:36px;padding:32px 0 40px}
  .fl-img{margin:0 -24px}
  .fl-img img{border-radius:0;aspect-ratio:16/10}
  .fl-img figcaption{padding:0 24px}
  .fl-join{grid-template-columns:1fr;gap:48px;padding:64px 0}
  .fl-teaser{margin-bottom:64px}
}
@media (max-width:640px){
  .fl{padding:0 20px}
  .fl-img{margin:0 -20px}
  .fl-img figcaption{padding:0 20px}
  .fl-hero .lead{font-size:17px}
  .fl-cta-row{flex-direction:column;align-items:stretch;gap:12px;text-align:center}
  .fl-cta-row .btn{width:100%}
  .fl-lines{padding:48px 0}
  .fl-aline{grid-template-columns:1fr;gap:6px;padding:16px 0}
  .fl-line{font-size:22px}
  .fl-row{grid-template-columns:1fr}
  .fl-card,.fl-club{padding:24px 20px}
  .fl-teaser{padding:0;border:0;display:block}
  .fl-teaser-link{border:0;padding:0;margin-top:18px;min-height:44px}
  body.jl{padding-bottom:0}
}
@media (prefers-reduced-motion: reduce){ .counter .proofdot{animation:none} .counter .prooffill{transition:none} }
/* CTA system (DECISIONS.md, 2026-10-02): .btn is the lime primary, .btn.ghost the outline secondary; no other styles. */
.btn:not(.ghost){background:var(--lime);color:var(--ink)}
.btn:not(.ghost):hover{background:#DDF77F}

/* "The game ends. The club doesn't." (copy + layout round, 2026-10-02): centred. Eyebrow and H2 centred, 64px (40px
   phone) to the first row; rows centred as a block (max 860px), label + line, 28px padding, thin dividers; no divider
   touches the heading; section padding 120px (80px phone). */
.fl-lines{padding:120px 0;border-top:0;border-bottom:0;text-align:center}
.fl-lines-eb{margin:0 0 14px;text-align:center}
.fl .fl-lines-h{margin:0 auto 64px;text-align:center}
.fl-rows{max-width:860px;margin:0 auto;text-align:left}
.fl-aline{padding:28px 0;border-top:1px solid var(--line-dark)}
.fl-aline:first-child{border-top:0}
.fl-aline:last-child{border-bottom:0}
@media(max-width:640px){
  .fl-lines{padding:80px 0}
  .fl .fl-lines-h{margin-bottom:40px}
  .fl-aline{padding:22px 0}
}
