﻿
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#0c0f0a;--surface:#131710;--card:#1a1f16;--card2:#1f2519;
  --accent:#8fd62f;--accent-dim:rgba(143,214,47,0.12);
  --white:#f0f4e8;--muted:rgba(240,244,232,0.55);
  --border:rgba(143,214,47,0.12);--border2:rgba(240,244,232,0.07);
  --font-display:'Plus Jakarta Sans',sans-serif;
  --font-body:'Instrument Sans',sans-serif;
  --font-mono:-apple-system,sans-serif;
  --text-xs:.9rem;
  --text-sm:.9rem;
  --text-base:1rem;
  --text-md:1.1rem;
  --text-lg:1.25rem;
  --text-xl:1.5rem;
  --text-2xl:2.0rem;
  --text-3xl:clamp(1.8rem,3.5vw,2.8rem);
  --text-hero:clamp(2.4rem,5.5vw,4.2rem);
  --text-price:4.2rem;
  --text-match:4.5rem;
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--black);color:var(--white);font-family:var(--font-body);font-size:16px;line-height:1.65;overflow-x:hidden}
h1,h2,h3{font-family:var(--font-display)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;background:rgba(12,15,10,0.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.nav-logo-link{display:flex;align-items:center;gap:8px;text-decoration:none}
.nav-logo-img{height:36px;width:36px;display:block;border-radius:8px}
.nav-btns{display:flex;align-items:center;gap:.5rem}
.logo-wrap svg{height:34px;width:auto;display:block}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{color:var(--muted);text-decoration:none;font-size:var(--text-base);font-weight:500;transition:color .15s}
.nav-links a:hover{color:var(--white)}
.nav-cta{background:var(--accent);color:#0c0f0a;font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);padding:.55rem 1.3rem;border-radius:100px;text-decoration:none;white-space:nowrap;transition:transform .15s,box-shadow .15s}
.nav-cta:hover{transform:scale(1.04);box-shadow:0 4px 20px rgba(143,214,47,.3)}
a.nav-login{font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);padding:.55rem 1.1rem;border-radius:100px;text-decoration:none;white-space:nowrap;color:var(--white);border:1.5px solid rgba(255,255,255,.2);transition:border-color .15s,color .15s}
a.nav-login:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:640px){.nav-links{display:none}}

/* HERO */
.hero-outer{padding:0 2rem;max-width:960px;margin:0 auto}
.hero{min-height:100vh;padding:7rem 0 4rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;width:100%}
@media(max-width:820px){.hero{grid-template-columns:1fr;padding-top:6rem}}
.hero-tag{display:flex;text-align:center;font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:.3rem .8rem;border-radius:100px;margin-bottom:1.5rem}
.hero h1{font-size:var(--text-hero);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin-bottom:1.2rem}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-sub{font-size:var(--text-xl);color:var(--muted);max-width:480px;margin-bottom:1.8rem;line-height:1.7}
.hero-sub strong{color:var(--white);font-weight:600}
.app-badges{display:flex;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}
.app-badge{height:72px;width:auto;border-radius:10px;display:block}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}
.btn-primary{background:var(--accent);color:#0c0f0a;font-family:var(--font-display);font-weight:700;font-size:var(--text-md);padding:.9rem 1.8rem;border-radius:100px;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:transform .15s,box-shadow .15s}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(143,214,47,.28)}
.btn-primary--sm{font-size:.85rem;padding:.65rem 1.3rem}
.btn-ghost{color:var(--white);font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);padding:.9rem 1.5rem;border-radius:100px;border:1px solid var(--border2);background:transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:border-color .15s}
.btn-ghost:hover{border-color:rgba(255,255,255,.25)}
.hero-fine{font-size:var(--text-lg);color:var(--muted)}
.hero-fine span{margin-right:1.2rem}
.hero-pill{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;background:var(--accent-dim);border:1px solid var(--border);border-radius:100px;padding:.35rem .9rem;text-decoration:none;transition:background .2s}
.hero-pill:hover{background:rgba(143,214,47,0.2)}
.hero-pill-label{font-size:var(--text-xs);font-weight:700;color:var(--accent);letter-spacing:.04em;text-transform:uppercase}
.hero-pill-text{font-size:.82rem;color:rgba(240,244,232,.75)}

/* PHONE */
.phone-wrap{display:flex;justify-content:center;align-items:flex-start;position:relative;isolation:isolate}
@media(max-width:820px){.phone-wrap{order:1}}
@media(max-width:820px){.phone-glow{width:100vw !important;left:0 !important;transform:none !important}}
.phone-glow{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);width:500px;height:500px;background:radial-gradient(ellipse at center,rgba(143,214,47,0.55) 0%,rgba(143,214,47,0.25) 40%,rgba(143,214,47,0.08) 65%,transparent 80%);border-radius:50%;pointer-events:none;z-index:0;filter:blur(22px)}
@media(max-width:820px){.phone-glow{width:260px;height:260px;bottom:8px}}
.phone-z{position:relative;z-index:1}
.phone{background:#0a0f0a;border-radius:44px;border:8px solid #1a1f1a;outline:2px solid rgba(255,255,255,.06);width:100%;max-width:280px;max-height:560px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.8),inset 0 0 0 1px rgba(255,255,255,.04)}
.phone-bar{background:#1a1a1a;padding:10px 16px 6px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#888;font-family:var(--font-mono)}
.phone-inner{background:#0c0f0a;padding:12px;color:#f0f4e8;font-size:11px;font-family:var(--font-mono)}
.ph-name{font-size:13px;font-weight:600;color:#f0f4e8}
.ph-sub{font-size:10px;color:rgba(240,244,232,0.55)}
.ph-goals{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:10px}
.ph-goal{background:#131710;border:1px solid #1a1f16;border-radius:8px;padding:6px 2px;text-align:center}
.ph-goal.active{border-color:#8fd62f;border-width:2px}
.gl{font-size:8px;color:rgba(240,244,232,0.55);margin-bottom:3px}
.ga{font-size:11px;font-weight:700;color:#f0f4e8}
.ga-green{color:#22c55e}
.ga-accent{color:#8fd62f}
.gs{font-size:8px;color:rgba(240,244,232,0.35)}
.ph-prog{background:#131710;border:1px solid #1a1f16;border-radius:10px;padding:6px 8px;margin-bottom:6px}
.ph-prog-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1px}
.ph-prog-vals{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px}
.ph-prog-label{font-size:9px;color:rgba(240,244,232,0.55)}
.ph-prog-right{text-align:right}
.ph-earned{font-size:14px;font-weight:700}
.ph-goal-val{font-size:13px;font-weight:700}
.ph-goal-val-green{color:#22c55e}
.ph-bar{height:6px;background:#1a1f16;border-radius:999px;overflow:hidden;margin:6px 0}
.ph-bar-fill{height:100%;border-radius:999px}
.ph-bar-fill-green{background:#22c55e}
.ph-prog-meta{display:flex;justify-content:space-between;font-size:9px}
.ph-meta-neutral{color:#94a3b8}
.ph-meta-negative{color:#f87171;font-weight:600}
.ph-cal-label{font-size:9px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.ph-tile{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:8px 10px;margin-bottom:6px}
.ph-tile-title{font-size:10px;font-weight:700;color:#f0f4e8;margin-bottom:2px}
.ph-tile-desc{font-size:8px;color:rgba(240,244,232,0.5);margin:0 0 7px}
.ph-tile-logos{display:flex;gap:6px;align-items:center}
.ph-tile-logos img{height:28px;width:auto;object-fit:contain;border-radius:3px}
.ph-tile-more{font-size:10px;height:28px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;color:rgba(240,244,232,0.5);background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:3px;text-align:center;line-height:1.2}
.ph-guarantee{background:rgba(245,158,11,0.08);border:1px solid rgba(245,158,11,0.2);border-radius:8px;padding:8px 10px;margin-bottom:6px}
.ph-guarantee-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.ph-guarantee-lbl{font-size:10px;font-weight:700;color:#f59e0b}
.ph-guarantee-amt{font-size:10px;font-weight:800;color:#f59e0b}
.ph-guarantee-divider{border:none;border-top:1px solid rgba(245,158,11,0.15);margin:4px 0}
.ph-guarantee-pts-lbl{font-size:9px;color:rgba(240,244,232,0.5)}
.ph-guarantee-pts-val{font-size:9px;font-weight:700;color:#22c55e}
#hero-cal{overflow-x:auto;font-size:8px}

/* CAL ONBOARD MODAL */
#cal-onboard{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:500;align-items:center;justify-content:center;padding:1.5rem}
.cal-onboard-box{background:#1a1f16;border:1px solid rgba(143,214,47,.2);border-radius:24px;max-width:480px;width:100%;padding:2rem;position:relative}
.t-step-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:600;margin-bottom:.6rem}
.t-modal-h3{font-family:var(--font-display);font-size:1.4rem;font-weight:800;margin-bottom:1rem;line-height:1.2}
.cal-legend-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin-bottom:1.2rem}
.cal-legend-box{background:#0c0f0a;border-radius:12px;padding:1rem;text-align:center}
.cal-legend-swatches{display:flex;gap:4px;justify-content:center;margin-bottom:.6rem}
.cal-swatch{width:24px;height:24px;border-radius:5px;display:block}
.cal-legend-label-blue{font-size:1rem;color:#93c5fd;font-weight:600}
.cal-legend-label-green{font-size:1rem;color:#86efac;font-weight:600}
.cal-legend-label-orange{font-size:1rem;color:#fbbf24;font-weight:600}
.cal-legend-sub{font-size:.9rem;color:rgba(240,244,232,.5);margin-top:2px}
.cal-step-desc{font-size:1.1rem;color:rgba(240,244,232,.6);margin-bottom:1.4rem;line-height:1.6}
.cal-step2-example{background:#0c0f0a;border-radius:12px;padding:1rem;margin-bottom:1.2rem}
.cal-step2-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:.75rem}
.cal-swatch-cell{width:100%;aspect-ratio:1;border-radius:3px}
.cal-swatch-cell--blue{background:#1e3a8a}
.cal-swatch-cell--green{background:#16a34a;box-shadow:0 0 6px rgba(22,163,74,.5)}
.cal-swatch-cell--green-dark{background:#15803d;box-shadow:0 0 6px rgba(22,163,74,.5)}
.cal-swatch-cell--orange{background:#b45309;box-shadow:0 0 6px rgba(180,83,9,.5)}
.cal-step2-caption{font-size:1.1rem;color:rgba(240,244,232,.5);text-align:center}
.cal-btn-full{width:100%;padding:.85rem;border-radius:100px;justify-content:center}
.cal-btn-back{width:100%;background:transparent;border:none;color:rgba(240,244,232,.4);font-size:1.1rem;cursor:pointer;margin-top:.75rem;text-decoration:underline}

/* DEMO */
.demo-outer{background:var(--surface);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);padding:5rem 2rem}
.demo-inner{max-width:960px;margin:0 auto;text-align:center}
.sec-tag{font-size:var(--text-base);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:600;margin-bottom:.8rem;display:block}
.demo-subtitle{color:var(--muted);font-size:var(--text-xl);margin-bottom:2rem}
.demo-cal-card{background:var(--card);border:1px solid var(--border2);border-radius:20px;padding:1.5rem}
.demo-city-reveal{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.demo-city-display{background:#0d1a0d;border:1px solid var(--border);border-radius:12px;padding:.75rem 1.4rem;font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--accent);min-width:140px;text-align:center;transition:all .3s}
.demo-city-display.spinning{opacity:.3;transform:scale(.95)}
.demo-roll-btn{background:var(--accent);color:#0c0f0a;font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);padding:.6rem 1.2rem;border-radius:100px;border:none;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:transform .15s,box-shadow .15s}
.demo-roll-btn:hover{transform:scale(1.04);box-shadow:0 4px 16px rgba(143,214,47,.3)}
.demo-roll-btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}
.demo-rolls-left{font-size:var(--text-xs);color:var(--muted)}
.demo-toolbar{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}
.demo-seg{display:flex;border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden}
.demo-seg button{font-size:var(--text-sm);padding:.45rem 1rem;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s;font-family:var(--font-body)}
.demo-seg button.on{background:rgba(56,189,248,.15);color:#38bdf8;font-weight:600}
.demo-seg img{height:45px;width:auto;border-radius:6px;display:block}
.demo-propose-btn{background:#f59e0b;color:#0b1220;font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);padding:.45rem 1rem;border-radius:8px;border:none;cursor:pointer;transition:transform .1s}
.demo-propose-btn:hover{transform:scale(1.04)}
.demo-reset-btn{font-size:var(--text-sm);padding:.45rem .9rem;border-radius:8px;border:1px solid var(--border2);background:transparent;color:var(--muted);cursor:pointer;font-family:var(--font-body)}
.demo-mode-sel{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:200;align-items:center;justify-content:center}
.demo-mode-sel.open{display:flex}
.demo-mode-box{background:#1e293b;border-radius:16px;padding:24px;width:280px;border:1px solid #334155}
.demo-mode-title{font-family:var(--font-display);font-size:15px;font-weight:700;margin-bottom:8px}
.demo-mode-sub{font-size:12px;color:#94a3b8;margin-bottom:20px}
.demo-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.demo-mode-grid button{padding:14px 8px;border-radius:10px;border:1px solid #334155;background:#111827;color:#f8fafc;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:background .15s}
.demo-mode-grid button:hover{background:#1e293b}
.demo-mode-grid button.noc{color:#38bdf8}
.demo-cal-wrap{overflow-x:hidden;-webkit-overflow-scrolling:touch}
.demo-cal-wrap table{border-collapse:separate;border-spacing:3px;width:100%;table-layout:fixed;min-width:0}
.demo-cal-wrap td{padding:7px 2px;border-radius:6px;text-align:center;font-size:11px;font-weight:600;transition:transform .1s;cursor:pointer;user-select:none}
.demo-cal-wrap td:hover{transform:scale(1.12);position:relative;z-index:2}
.demo-cal-wrap .time-col{font-size:10px;color:#94a3b8;text-align:right;padding-right:5px;white-space:nowrap;width:36px;cursor:default}
.demo-cal-wrap .time-col:hover,.demo-cal-wrap .day-head:hover{transform:none}
.demo-cal-wrap .day-head{text-align:center;font-size:11px;font-weight:600;padding-bottom:5px;cursor:default}
.demo-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:#64748b}
.demo-legend span{display:flex;align-items:center;gap:4px}
.demo-legend i{width:10px;height:10px;border-radius:2px;display:inline-block;border:1px solid rgba(255,255,255,.1)}
.demo-plan-box{margin-top:1rem;background:#0d1a0d;border:1px solid rgba(143,214,47,.2);border-radius:12px;padding:1rem 1.2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.demo-plan-box .dpl{font-size:var(--text-sm);color:var(--muted)}
.demo-plan-box .dpr{font-size:var(--text-lg);font-weight:700;font-family:var(--font-display)}

/* ONBOARDING MODAL */
#onboarding-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:300;align-items:center;justify-content:center;padding:1rem}
.ob-modal-box{background:#131710;border:1px solid rgba(143,214,47,.15);border-radius:24px;width:100%;max-width:680px;max-height:90vh;overflow-y:auto;position:relative}
.ob-close-btn{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.08);border:none;color:#94a3b8;font-size:18px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.ob-step{padding:2rem}
.ob-step2{display:none;padding:2rem}
.ob-step3{display:none;padding:1.5rem}
.ob-step4{display:none;padding:2rem;text-align:center}
.ob-step4-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.5rem auto 2rem;max-width:360px}
.ob-step4-cards img{width:100%;height:120px;object-fit:cover;border-radius:10px}
.ob-step4-cards .reward-card{width:auto;height:120px}
.ob-step4-more{height:120px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);font-weight:700;color:rgba(240,244,232,0.7);font-size:1.4rem;line-height:1.2}
.ob-step4-more span{font-size:.75rem;font-weight:500;color:rgba(240,244,232,0.45)}
.ob-city-display{background:#0d1a0d;border:1px solid rgba(143,214,47,.2);border-radius:14px;padding:1rem 2rem;font-size:1.3rem;min-width:0;text-align:center;letter-spacing:-.01em}
.ob-step1-cities{display:flex;flex-direction:column;align-items:center;gap:1.2rem}
.ob-step1-next{display:none;margin-top:1.8rem;text-align:center}
.ob-step2-align{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem}
.ob-city-confirm{background:#0d1a0d;border:1px solid rgba(143,214,47,.15);border-radius:10px;padding:.6rem 1.2rem;font-size:.85rem;color:#8fd62f;font-weight:600}
.ob-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:400px;margin:0 auto}
.ob-mode-btn{background:#111827;border:1px solid #1e293b;border-radius:16px;padding:1.6rem 1rem;cursor:pointer;transition:all .15s;color:#f8fafc;font-family:var(--font-display)}
.ob-mode-btn--noc{color:#38bdf8}
.ob-mode-btn:hover{border-color:#8fd62f}
.ob-mode-btn--noc:hover{border-color:#38bdf8}
.ob-mode-icon{font-size:2rem;margin-bottom:.5rem}
.ob-mode-label{font-weight:700;font-size:.95rem;margin-bottom:.2rem}
.ob-mode-hint{font-size:.75rem;color:#64748b}
.ob-step3-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}
.ob-step3-left{display:flex;flex-direction:column;gap:.2rem;min-width:0}
#ob-city-badge{font-size:.75rem;color:#8fd62f;font-weight:600;margin-bottom:.2rem}
.ob-toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.ob-info-hint{background:rgba(143,214,47,.06);border:1px solid rgba(143,214,47,.15);border-radius:10px;padding:.75rem 1rem;font-size:.8rem;color:rgba(240,244,232,.7);margin-bottom:.8rem;display:flex;align-items:center;gap:.6rem}
.ob-info-hint-icon{font-size:1.1rem}
#ob-cal-wrap{margin-bottom:.8rem}
.ob-demo-legend{margin-bottom:1rem}
#ob-plan-box{display:none;background:#0d1a0d;border:1px solid rgba(143,214,47,.2);border-radius:12px;padding:.9rem 1.1rem;margin-bottom:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.ob-plan-label{font-size:.78rem;color:rgba(240,244,232,.55)}
#ob-plan-box-hidden{display:none}
.ob-hidden-cta-wrap{text-align:center;padding:.5rem 0}
.ob-hidden-cta-note{font-size:.75rem;color:rgba(240,244,232,.35);margin-top:.6rem}
#ob-sticky-bar{display:none;position:sticky;bottom:0;background:#0d1a0d;border-top:1px solid rgba(143,214,47,.3);padding:.85rem 1.2rem;z-index:10;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;box-shadow:0 -4px 24px rgba(0,0,0,.6);transform:translateY(100%);transition:transform .3s cubic-bezier(.34,1.56,.64,1);border-radius:0 0 24px 24px;margin-top:auto}
.ob-sticky-info{min-width:0;overflow:hidden}
.ob-sticky-label-text{font-size:.72rem;color:rgba(240,244,232,.5)}
#ob-sticky-val{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:#8fd62f;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ob-sticky-cta{background:#8fd62f;color:#0c0f0a;font-weight:700;font-size:.9rem;padding:.7rem 1.4rem;border-radius:100px;border:none;cursor:pointer;white-space:nowrap;flex-shrink:0}
.ob-guarantee-block{background:rgba(245,158,11,0.08);border:1px solid rgba(245,158,11,0.2);border-radius:10px;padding:.5rem .75rem;flex-shrink:0;min-width:160px}
.ob-guarantee-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem}
.ob-guarantee-lbl{font-size:.72rem;font-weight:700;color:#f59e0b}
.ob-guarantee-amt{font-size:.72rem;font-weight:800;color:#f59e0b;white-space:nowrap}
.ob-guarantee-divider{border:none;border-top:1px solid rgba(245,158,11,0.15);margin:4px 0}
.ob-guarantee-pts-lbl{font-size:.68rem;color:rgba(240,244,232,0.5)}
.ob-guarantee-pts-val{font-size:.68rem;font-weight:700;color:#22c55e;white-space:nowrap}

/* SECTIONS */
.section{padding:5rem 2rem;max-width:960px;margin:0 auto}
.section h2{font-size:var(--text-3xl);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:2.5rem}
.section h2 em{font-style:normal;color:var(--accent)}
.offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}
.offer-card{background:var(--card);border:1px solid var(--border2);border-radius:16px;padding:1.4rem;position:relative;transition:border-color .2s}
.offer-card:hover{border-color:rgba(255,255,255,.15)}
.offer-card.hl{border-color:var(--accent)}
.offer-badge{position:absolute;top:.9rem;right:.9rem;background:var(--accent);color:#0c0f0a;font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:.22rem .55rem;border-radius:100px}
.offer-icon{font-size:1.4rem;margin-bottom:.9rem}
.offer-card h3{font-size:var(--text-xl);font-weight:700;margin-bottom:.4rem}
.offer-card p{font-size:var(--text-lg);color:var(--muted);line-height:1.55}
.offer-list{margin-top:.75rem;list-style:none}
.offer-list li{font-size:var(--text-sm);color:rgba(240,244,232,.5);padding:.2rem 0;display:flex;align-items:flex-start;gap:.45rem}
.offer-list li::before{content:"→";color:var(--accent);flex-shrink:0}

/* STARTERKI */
@keyframes marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.marquee-track{display:flex;width:max-content;animation:marquee-scroll 28s linear infinite}
.marquee-track:hover{animation-play-state:running}
.marquee-wrap{overflow:hidden;margin-bottom:2.5rem;mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}
.mq-item{display:inline-flex;align-items:center;justify-content:center;padding:.4rem 0.5rem;margin-right:.6rem;white-space:nowrap;flex-shrink:0;overflow:hidden}
.mq-item img{height:120px;width:auto;display:block;object-fit:contain}
.reward-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:172px;height:130px;background:var(--card);border:1px solid var(--border2);border-radius:16px;padding:1rem .75rem;transition:border-color .2s,transform .2s;cursor:default;position:relative}
.reward-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.reward-card[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) scale(.92);background:rgba(20,20,20,.96);color:#f0f4e8;font-size:.78rem;font-weight:500;line-height:1.5;padding:.55rem .85rem;border-radius:10px;white-space:normal;width:200px;text-align:center;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;box-shadow:0 4px 18px rgba(0,0,0,.45);z-index:10;border:1px solid rgba(255,255,255,.1)}
.reward-card[data-tooltip]::before{content:'';position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:rgba(20,20,20,.96);pointer-events:none;opacity:0;transition:opacity .2s;z-index:10}
.reward-card[data-tooltip]:hover::after,.reward-card[data-tooltip]:hover::before{opacity:1;transform:translateX(-50%) scale(1)}
.ob-step4-more[data-tooltip]{position:relative;cursor:default}
.ob-step4-more[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) scale(.92);background:rgba(20,20,20,.96);color:#f0f4e8;font-size:.78rem;font-weight:500;line-height:1.5;padding:.55rem .85rem;border-radius:10px;white-space:normal;width:200px;text-align:center;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;box-shadow:0 4px 18px rgba(0,0,0,.45);z-index:10;border:1px solid rgba(255,255,255,.1)}
.ob-step4-more[data-tooltip]::before{content:'';position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:rgba(20,20,20,.96);pointer-events:none;opacity:0;transition:opacity .2s;z-index:10}
.ob-step4-more[data-tooltip]:hover::after,.ob-step4-more[data-tooltip]:hover::before{opacity:1;transform:translateX(-50%) scale(1)}
.reward-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--accent-dim);border-radius:12px;color:var(--accent)}
.reward-icon svg,.reward-icon i{width:22px;height:22px;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}
.reward-title{font-size:1rem;font-weight:700;color:var(--white);line-height:1.2;text-align:center}
.reward-subtitle{font-size:.9rem;color:var(--muted);text-align:center;line-height:1.3}
#starterki{background:var(--surface);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);padding:5rem 2rem}
.sk-inner{max-width:960px;margin:0 auto}
#starterki h2{font-size:var(--text-3xl);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem}
#starterki h2 em{font-style:normal;color:var(--accent)}
.sk-lead{font-size:var(--text-xl);color:var(--muted);max-width:560px;margin-bottom:3rem;line-height:1.65}
.sk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin-bottom:3rem}
.sk-krok{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.3rem}
.sk-rewards-label{font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:1rem;display:block}
.sk-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}
.sk-cta-note{font-size:var(--text-sm);color:var(--muted)}

/* KALKULATOR */
.calc-wrap{background:var(--card);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);padding:5rem 2rem}
.calc-inner{max-width:960px;margin:0 auto}
.calc-h2{margin-bottom:.4rem}
.calc-subtitle{margin-bottom:0}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem}
@media(max-width:640px){.calc-grid{grid-template-columns:1fr}}
.cq{margin-bottom:1.8rem}
.cq label{display:block;font-size:var(--text-base);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.6rem}
.copts{display:flex;gap:.45rem;flex-wrap:wrap}
.copt{padding:.45rem 1rem;border-radius:100px;border:1px solid var(--border2);background:transparent;color:var(--white);font-size:var(--text-sm);cursor:pointer;transition:all .15s;font-family:var(--font-body)}
.copt:hover{border-color:rgba(255,255,255,.25)}
.copt.sel{background:var(--accent);color:#0c0f0a;border-color:var(--accent);font-weight:600}
.calc-result{background:#0d110b;border:1px solid var(--border);border-radius:16px;padding:1.8rem;display:flex;flex-direction:column;justify-content:center;min-height:260px}
.match-num{font-family:var(--font-display);font-size:var(--text-match);font-weight:800;letter-spacing:-.06em;line-height:1;margin-bottom:.3rem}
.match-num span{color:var(--accent)}
.match-lbl{font-size:var(--text-md);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:1.2rem}
.match-desc{font-size:var(--text-lg);color:rgba(240,244,232,.65);line-height:1.6;margin-bottom:1.4rem}
#calc-cta{display:none}

/* CENNIK */
.pricing-wrap{padding:5rem 2rem;max-width:860px;margin:0 auto;text-align:center}
.pricing-wrap .sec-tag{display:inline-block;margin-bottom:.8rem}
.pricing-h2{margin-bottom:.5rem}
.pricing-sub{margin-bottom:2.5rem}
.gratis{display:inline-block;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;background:rgba(143,214,47,.12);color:var(--accent);padding:.18rem .5rem;border-radius:100px;margin-left:.4rem}
.no-card{font-size:var(--text-lg);color:var(--muted);margin-top:1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}
.badge-new{font-size:.7rem;background:var(--accent-dim);color:var(--accent);border-radius:100px;padding:.1rem .45rem;font-weight:700}
.pt-features-new{color:var(--accent)}
.pt-features-new .badge-new{margin-left:.2rem}
.pt-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;margin-top:2rem}
.pt-table thead th{height:1px}
.pt-label-col{width:34%}
.pt-table col:nth-child(2),.pt-table col:nth-child(3),.pt-table col:nth-child(4){width:22%}
.pt-plan-col{width:22%}
.pt-th-label{padding:0;vertical-align:bottom}
.pt-plan-th--relative{position:relative}
.pt-label-header{background:linear-gradient(135deg,#1a2a0a,#0d1a0d);border-radius:14px 0 0 0;padding:1.4rem 1.2rem;text-align:left;border:1px solid rgba(143,214,47,.15);border-right:none;border-bottom:none}
.pt-label-header span{font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pt-plan-th{padding:0;vertical-align:bottom;text-align:center}
.pt-badge{display:flex;flex-direction:column;align-items:center;padding:1.2rem .8rem 1.4rem;border:1px solid rgba(240,244,232,.07);border-bottom:none;position:relative;height:100%;justify-content:flex-end}
.pt-badge.free{background:#131710;border-left:none}
.pt-badge.std{background:linear-gradient(160deg,#1a2a0a,#111d09);border-color:rgba(143,214,47,.25);border-left:none}
.pt-badge.prem{background:linear-gradient(160deg,#1a1530,#110d22);border-color:rgba(120,80,220,.3);border-right:1px solid rgba(120,80,220,.3);border-radius:0 14px 0 0;border-left:none}
.pt-badge .popular-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--accent);color:#0c0f0a;font-family:var(--font-display);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.22rem .7rem;border-radius:100px;white-space:nowrap}
.pt-badge .plan-name{font-family:var(--font-display);font-size:1.0rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.pt-badge .plan-price{font-family:var(--font-display);font-size:1.9rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--white)}
.pt-badge .plan-price.accent{color:var(--accent)}
.pt-badge .plan-price.purple{color:#a78bfa}
.pt-badge .plan-period{font-size:1.0rem;color:var(--muted);margin-top:.3rem}
.pt-badge .plan-desc{font-size:var(--pt-desc-size);color:rgba(240,244,232,.4);margin-top:.5rem;line-height:1.4;min-height:2.8em}
.pt-row td{border-bottom:1px solid rgba(240,244,232,.05);padding:.9rem .8rem;font-size:.88rem;color:rgba(240,244,232,.75);vertical-align:middle;background:#0f120d}
.pt-row:nth-child(even) td{background:#111610}
.pt-row td:first-child{text-align:left;padding-left:1.2rem;border-left:1px solid rgba(240,244,232,.06)}
.pt-row td:nth-child(2){border-left:1px solid rgba(240,244,232,.06)}
.pt-row td:nth-child(3){background:rgba(143,214,47,.04);border-left:1px solid rgba(143,214,47,.12);border-right:1px solid rgba(143,214,47,.12)}
.pt-row:nth-child(even) td:nth-child(3){background:rgba(143,214,47,.07)}
.pt-row td:nth-child(4){background:rgba(120,80,220,.04);border-left:1px solid rgba(120,80,220,.12);border-right:1px solid rgba(120,80,220,.18)}
.pt-row:nth-child(even) td:nth-child(4){background:rgba(120,80,220,.07)}
.pt-row td:last-child{border-right:none}
.pt-row td.cc{text-align:center}
.pt-chk{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%}
.pt-chk.yes{background:rgba(143,214,47,.15)}
.pt-chk.yes::after{content:'';display:block;width:5px;height:9px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg) translate(-1px,-1px)}
.pt-chk.yes-p{background:rgba(120,80,220,.2)}
.pt-chk.yes-p::after{content:'';display:block;width:5px;height:9px;border-right:2px solid #a78bfa;border-bottom:2px solid #a78bfa;transform:rotate(45deg) translate(-1px,-1px)}
.pt-chk.no{background:rgba(240,244,232,.06)}
.pt-chk.no::before{content:'';display:block;width:8px;height:1.5px;background:rgba(240,244,232,.25);border-radius:2px}
.pt-btn-row td{padding:1rem .8rem;background:#0c0f0a;border-bottom:none;text-align:center;vertical-align:top}
.pt-btn-row td:first-child{border-left:none;border-bottom:none}
.pt-btn-row td:nth-child(2){border-left:1px solid rgba(240,244,232,.06);border-right:none}
.pt-btn-row td:nth-child(3){border-left:1px solid rgba(143,214,47,.12);border-right:1px solid rgba(143,214,47,.12);background:rgba(143,214,47,.04)}
.pt-btn-row td:nth-child(4){border-left:1px solid rgba(120,80,220,.12);border-right:1px solid rgba(120,80,220,.18);background:rgba(120,80,220,.04)}
.pt-corner-bl{border-radius:0 0 0 14px;border-left:1px solid rgba(240,244,232,.06)}
.pt-corner-br{border-radius:0 0 14px 0}
.pt-btn{display:block;width:100%;padding:.65rem .5rem;border-radius:100px;font-family:var(--font-display);font-size:var(--pt-btn-size);font-weight:700;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s;border:none;white-space:normal;overflow:hidden;text-overflow:ellipsis;text-align:center;box-sizing:border-box}
.pt-btn.free{background:transparent;border:1px solid rgba(240,244,232,.15);color:var(--muted)}
.pt-btn.free:hover{border-color:rgba(240,244,232,.3);color:var(--white)}
.pt-btn.std{background:var(--accent);color:#0c0f0a}
.pt-btn.std:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(143,214,47,.3)}
.pt-btn.prem{background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff}
.pt-btn.prem:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(120,80,220,.4)}
.pt-btn-lg{padding:.85rem;font-size:1rem;display:block;text-align:center;text-decoration:none;font-weight:700}
@media(max-width:640px){
  .pricing-wrap{padding:3rem 1rem}
  .pt-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .pt-table{min-width:560px}
  :root{--pt-price-size:var(--text-xl);--pt-row-size:var(--text-sm)}
}
.pt-desktop{display:table}
.pt-mobile{display:none}
@media(max-width:640px){
  .pt-desktop{display:none}
  .pt-mobile{display:block}
  .pt-tabs{display:flex;gap:.5rem;margin-bottom:1.2rem}
  .pt-tab{flex:1;padding:.6rem .4rem;border-radius:100px;border:1px solid rgba(240,244,232,.15);background:transparent;color:rgba(240,244,232,.45);font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s}
  .pt-tab.active{background:rgba(143,214,47,.12);border-color:rgba(143,214,47,.4);color:#8fd62f}
  .pt-card{display:none}
  .pt-card.active{display:block}
  .pt-card-header{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem 1.2rem;border-radius:14px 14px 0 0;border:1px solid rgba(240,244,232,.08);border-bottom:none;margin-bottom:0}
  .pt-card-header.free{background:#131710}
  .pt-card-header.std{background:linear-gradient(160deg,#1a2a0a,#111d09);border-color:rgba(143,214,47,.25)}
  .pt-card-header.prem{background:linear-gradient(160deg,#1a1530,#110d22);border-color:rgba(120,80,220,.3)}
  .pt-card-header .plan-name{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(240,244,232,.5);margin-bottom:.3rem}
  .pt-card-header .plan-price{font-size:2.4rem;font-weight:800;letter-spacing:-.04em;color:#f0f4e8;line-height:1}
  .pt-card-header .plan-price.accent{color:var(--accent)}
  .pt-card-header .plan-period{font-size:.95rem;color:rgba(240,244,232,.5);margin-top:.25rem}
  .pt-card-header .plan-desc{font-size:.8rem;color:rgba(240,244,232,.35);margin-top:.4rem}
  .pt-mobile-popular-tag{display:inline-block;background:#8fd62f;color:#0c0f0a;font-family:var(--font-display);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.22rem .7rem;border-radius:100px;margin-bottom:.5rem}
  .pt-features{list-style:none;padding:0;margin:0 0 1rem;border:1px solid rgba(240,244,232,.07);border-top:none;background:#0f120d}
  .pt-features li{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.2rem;font-size:.9rem;color:rgba(240,244,232,.75);border-bottom:1px solid rgba(240,244,232,.05)}
  .pt-features li:last-child{border-bottom:none}
  .pt-features li::before{content:'';display:inline-flex;flex-shrink:0;width:20px;height:20px;border-radius:50%}
  .pt-features li.yes::before{background:rgba(143,214,47,.15);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10l3 3 5-5' stroke='%238fd62f' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
  .pt-features li.no::before{background:rgba(240,244,232,.06);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10h8' stroke='rgba(240,244,232,0.25)' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
}

/* STEPS */
.steps-wrap{background:var(--surface);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);padding:5rem 2rem}
.steps-inner{max-width:960px;margin:0 auto}
.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:2.5rem;position:relative}
@media(max-width:700px){.steps-grid{grid-template-columns:1fr 1fr}}
.step{padding:1.5rem 1.2rem;border-left:1px solid var(--border2);position:relative}
.step:first-child{border-left:none}
@media(max-width:700px){.step{border-left:none;border-top:1px solid var(--border2)}.step:nth-child(-n+2){border-top:none}}
.step-n{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--accent);line-height:1;margin-bottom:.6rem;letter-spacing:-.04em}
.step h3{font-size:var(--text-lg);font-weight:700;margin-bottom:.35rem}
.step p{font-size:var(--text-lg);color:var(--muted);line-height:1.5}
.step:not(:last-child)::after{content:"→";position:absolute;right:-10px;top:1.8rem;font-size:1.2rem;color:var(--accent);z-index:2}
@media(max-width:700px){.step:not(:last-child)::after{display:none}}

/* LEADERBOARD */
.lb-wrap{padding:5rem 2rem}
.lb-inner{max-width:960px;margin:0 auto}
.lb-wrap h2{margin-bottom:.5rem}
.lb-intro{margin-bottom:0}
.lb-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}
@media(max-width:640px){.lb-grid{grid-template-columns:1fr}}
.lb-card{background:var(--card);border:1px solid var(--border2);border-radius:20px;overflow:hidden}
.lb-header{background:linear-gradient(135deg,#1a2a0a,#0d1a0d);padding:1rem 1.3rem;border-bottom:1px solid var(--border2)}
.lb-header h3{font-size:var(--text-xl);font-weight:700;margin-bottom:.2rem}
.lb-header p{font-size:var(--text-md);color:var(--muted)}
.lb-row{display:flex;align-items:center;padding:.75rem 1.2rem;gap:.75rem;border-bottom:1px solid var(--border2);transition:background .15s}
.lb-row:last-child{border-bottom:none}
.lb-row:hover{background:rgba(255,255,255,.03)}
.lb-row.top3{background:rgba(143,214,47,.04)}
.lb-rank{font-family:var(--font-display);font-size:var(--text-md);font-weight:800;min-width:28px;text-align:center}
.lb-rank.medal{font-size:var(--text-lg)}
.lb-info{flex:1}
.lb-name{font-size:var(--text-lg);font-weight:600}
.lb-city{font-size:var(--text-lg);color:var(--muted)}
.lb-earn{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--accent)}
.lb-app-icon{height:32px;width:32px;border-radius:6px;object-fit:cover;flex-shrink:0}
.lb-prize{background:var(--surface);border-top:1px solid var(--border2);padding:1rem 1.3rem}
.lb-prize h4{font-size:var(--text-lg);font-weight:700;color:var(--accent);margin-bottom:.25rem}
.lb-prize p{font-size:var(--text-base);color:var(--muted);line-height:1.5}
.lb-sidebar{display:flex;flex-direction:column;gap:1rem}
.lb-sidebar-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem}
.lb-sidebar-icon{font-size:1.8rem;margin-bottom:.6rem}
.lb-sidebar-card--highlight{background:linear-gradient(135deg,#1a2a0a,#0d1a0d)}
.lb-promo-amount{font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.4rem}

/* PARTNERS */
.partners-wrap{padding:4rem 2rem;background:var(--surface);border-top:1px solid var(--border2)}
.partners-inner{max-width:960px;margin:0 auto}
.partners-title{text-align:center;font-size:var(--text-lg);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:2rem;font-weight:600}
.partners-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2rem 3rem}
.partner-logo{height:52px;width:auto;opacity:.85;transition:opacity .2s}
.partner-logo:hover{opacity:1}
.partners-cta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem;margin-top:3rem;margin-bottom:2rem}

/* FOOTER */
footer{border-top:1px solid var(--border2);padding:2rem;text-align:center;font-size:var(--text-sm);color:var(--muted)}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--white)}
.footer-brand{margin-bottom:.7rem}
.footer-logo-img{height:30px;width:30px;display:inline-block;border-radius:6px;vertical-align:middle;margin-right:8px}
.footer-logo-text{vertical-align:middle}

/* PARTNER MODAL */
#partner-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:400;align-items:center;justify-content:center;padding:1rem}
.partner-modal-box{background:#131710;border:1px solid rgba(143,214,47,.15);border-radius:24px;width:100%;max-width:460px;padding:2rem;position:relative}
.partner-modal-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.08);border:none;color:#94a3b8;font-size:18px;width:32px;height:32px;border-radius:50%;cursor:pointer}
.partner-modal-title{font-size:1.3rem;margin-bottom:.4rem;color:var(--white)}
.partner-modal-sub{font-size:var(--text-sm);color:var(--muted);margin-bottom:1.5rem}
.partner-modal-btn{width:100%;border-radius:12px;padding:.9rem}

/* MISC */
.city-blur{filter:blur(9px);user-select:none;cursor:pointer;display:inline-block;min-width:100px;text-align:center;transition:filter .2s}
.city-blur:hover{filter:blur(7px)}
#cookieyes,.cky-btn-revisit-wrapper{display:none !important}
.lb-app-icon-sm{width:18px;height:18px;object-fit:contain;border-radius:4px;display:block}

/* TYPOGRAPHY UTILITIES */
.t-display{font-family:var(--font-display)}
.t-xs{font-size:var(--text-xs)}
.t-sm{font-size:var(--text-sm)}
.t-base{font-size:var(--text-base)}
.t-md{font-size:var(--text-md)}
.t-lg{font-size:var(--text-lg)}
.t-xl{font-size:var(--text-xl)}
.t-2xl{font-size:var(--text-2xl)}
.t-3xl{font-size:var(--text-3xl)}
.t-bold{font-weight:700}
.t-extrabold{font-weight:800}
.t-muted{color:var(--muted)}
.t-accent{color:var(--accent)}
.t-white{color:var(--white)}
.t-upper{text-transform:uppercase;letter-spacing:.14em}
.t-section-h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.t-modal-h3{font-family:var(--font-display);font-size:1.4rem;font-weight:800;margin-bottom:1rem;line-height:1.2}
.t-logo{font-family:var(--font-display);font-size:1.1rem;font-weight:800;letter-spacing:-.02em}
.t-step-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:600;margin-bottom:.6rem}
.modal-input{width:100%;box-sizing:border-box;background:#0d1a0d;border:1px solid rgba(143,214,47,.2);border-radius:10px;padding:.75rem 1rem;color:var(--white);font-size:var(--text-base);margin-bottom:.8rem;outline:none}

/* Calendar legend swatch colors */
.cal-swatch--blue1{background:#1d4ed8}
.cal-swatch--blue2{background:#1e40af}
.cal-swatch--green1{background:#16a34a}
.cal-swatch--green2{background:#15803d}
.cal-swatch--orange1{background:#b45309}
.cal-swatch--orange2{background:#d97706}
/* Demo legend inline colors */
.leg-mało{background:#202D41}
.leg-słabsza{background:#3F7180}
.leg-dobra{background:#339566}
.leg-bdobra{background:#69C32D}
.leg-naj{background:#F16319}
/* Demo section */
.demo-h2{margin-bottom:.5rem}
.demo-btn-center{margin:0 auto}
/* Onboarding step misc */
.ob-step-intro{margin-bottom:1.8rem}
.ob-step1-btn{font-size:1rem;padding:.9rem 2.5rem}
.ob-plat-icon{height:45px;width:auto;border-radius:4px;display:block}
.ob-hidden-cta-btn{font-size:.9rem;padding:.85rem 2rem}
/* JS-hidden elements */
#cal-step2{display:none}
/* Ranking sidebar */
.lb-sidebar-card h3{margin-bottom:.4rem}
.lb-sidebar-card p{line-height:1.6}
.lb-promo-note{font-weight:400}

