:root{
  --blue:#1f6feb; --blue-600:#1a5fcc; --blue-700:#1850ac; --blue-050:#eef4fe; --blue-100:#d9e7fd;
  --lime:#c3f53c; --lime-ink:#1d2a00; --lime-050:#f4fde0; --lime-line:#e3f7a8;
  --ink:#0b0e13; --ink-2:#1b2230; --slate:#5b6776; --slate-2:#8a95a3;
  --line:#e6eaf0; --line-2:#eef1f5; --paper:#ffffff; --bg:#f5f7fb;
  --green:#16a34a; --amber:#f5a524; --red:#ef4444;
  --r:14px; --r-lg:20px; --r-xl:28px;
  --sh-sm:0 1px 2px rgba(11,14,19,.06);
  --sh:0 4px 12px -4px rgba(11,14,19,.10), 0 12px 32px -12px rgba(11,14,19,.16);
  --sh-lg:0 30px 80px -32px rgba(11,14,19,.42);
  --ff-d:'Archivo',sans-serif; --ff-b:'Hanken Grotesk',system-ui,sans-serif; --ff-m:'JetBrains Mono',monospace;
  --maxw:1200px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:88px;}
body{font-family:var(--ff-b);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;}
img,svg{display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
h1,h2,h3,h4,h5{font-family:var(--ff-d);letter-spacing:-.025em;line-height:1.04;font-weight:800;}
.mono{font-family:var(--ff-m);}
.eyebrow{font-family:var(--ff-m);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:9px;}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--lime);display:inline-block;}
.eyebrow.on-dark{color:#9fc0ff;}
.lime{color:var(--lime);}
section{position:relative;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--ff-d);font-weight:700;font-size:15px;letter-spacing:-.01em;padding:13px 22px;border-radius:12px;border:0;cursor:pointer;transition:transform .12s,box-shadow .2s,background .2s;white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn-lg{padding:16px 28px;font-size:16.5px;border-radius:14px;}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 24px -10px var(--blue);}
.btn-primary:hover{background:var(--blue-600);}
.btn-lime{background:var(--lime);color:var(--lime-ink);box-shadow:0 12px 30px -10px rgba(195,245,60,.7);}
.btn-lime:hover{filter:brightness(1.04);}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--slate-2);}
.btn-ghost.on-dark{color:#fff;border-color:rgba(255,255,255,.24);}
.btn-ghost.on-dark:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);}

/* ===================== NAV ===================== */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .25s,box-shadow .25s,border-color .25s;border-bottom:1px solid transparent;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;}
.nav.scrolled{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-color:var(--line);box-shadow:0 1px 0 rgba(11,14,19,.02);}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--ff-d);font-weight:900;font-size:21px;letter-spacing:-.03em;color:#fff;transition:color .25s;}
.nav.scrolled .brand{color:var(--ink);}
.brand .mk{width:38px;height:38px;flex:none;}
.nav-links{display:flex;gap:30px;}
.nav-links a{font-size:15px;font-weight:600;color:rgba(255,255,255,.82);transition:color .2s;}
.nav.scrolled .nav-links a{color:var(--slate);}
.nav-links a:hover{color:#fff;}
.nav.scrolled .nav-links a:hover{color:var(--ink);}
.nav-cta{display:flex;align-items:center;gap:18px;flex-wrap:nowrap;}
.signin{font-size:15px;font-weight:600;color:rgba(255,255,255,.86);white-space:nowrap;}
.nav.scrolled .signin{color:var(--ink);}
.nav-burger{display:none;background:none;border:0;cursor:pointer;}
.nav-burger svg{stroke:#fff;}
.nav.scrolled .nav-burger svg{stroke:var(--ink);}

/* ===================== HERO ===================== */
.hero{background:var(--ink);color:#fff;padding:150px 0 90px;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background:
   radial-gradient(70% 90% at 78% -5%, rgba(31,111,235,.55), transparent 60%),
   radial-gradient(50% 60% at 8% 110%, rgba(195,245,60,.10), transparent 60%);pointer-events:none;}
.hero .court-bg{position:absolute;inset:0;opacity:.06;pointer-events:none;width:100%;height:100%;}
.hero .court-bg line{stroke:#fff;stroke-width:2;}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;}
.hero h1{font-size:clamp(40px,6.2vw,76px);font-weight:900;letter-spacing:-.04em;margin:22px 0 0;}
.hero-sub{font-size:19px;color:#c4cedd;max-width:480px;margin:24px 0 0;line-height:1.5;}
.hero-sub strong{color:#fff;}
.hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:14px;margin-top:46px;}
.hero-stat{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:var(--r);padding:18px 16px;}
.hero-stat .n{font-family:var(--ff-d);font-weight:900;font-size:30px;letter-spacing:-.03em;}
.hero-stat:nth-child(1) .n{color:var(--lime);}
.hero-stat .l{font-family:var(--ff-m);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--slate-2);margin-top:5px;}

/* device stack */
.device-stack{position:relative;height:500px;}
.device-rig{position:relative;width:100%;height:100%;}
.laptop{position:absolute;top:14px;right:0;width:470px;z-index:2;}
.laptop .lid{background:#0d1117;border:1px solid #222b38;border-radius:14px;padding:9px;box-shadow:var(--sh-lg);}
.laptop .bar{display:flex;gap:5px;padding:5px 4px 9px;}
.laptop .bar i{width:8px;height:8px;border-radius:50%;background:#39424f;}
.ui{background:#fff;border-radius:8px;overflow:hidden;color:var(--ink);}
.opsidebar{display:grid;grid-template-columns:38px 1fr;height:276px;}
.opsidebar .rail{background:linear-gradient(168deg,#101a2e,#0b1018);display:flex;flex-direction:column;align-items:center;gap:9px;padding:14px 0;}
.opsidebar .rail span{width:18px;height:14px;border-radius:5px;background:#28323f;}
.opsidebar .rail span.on{background:var(--blue);}
.opsidebar .main{padding:13px 14px;}
.ui-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.ui-logo{font-family:var(--ff-d);font-weight:800;font-size:15px;}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.kpi{background:var(--bg);border:1px solid var(--line-2);border-radius:9px;padding:9px 11px;}
.kpi .lab{font-family:var(--ff-m);font-size:7.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-2);}
.kpi .val{font-family:var(--ff-d);font-weight:900;font-size:19px;margin-top:2px;}
.kpi .val.blue{color:var(--blue);}
.kpi .sub{font-size:8px;color:var(--slate-2);margin-top:3px;line-height:1.3;}
.kpi .bar{height:4px;border-radius:3px;background:var(--line);margin-top:6px;overflow:hidden;}
.kpi .bar i{display:block;height:100%;background:var(--lime);}
.kpi .bar i.blue{background:var(--blue);}
.barchart{display:flex;align-items:flex-end;gap:5px;height:54px;margin-top:12px;}
.barchart i{flex:1;background:var(--line);border-radius:3px 3px 0 0;}
.barchart i.has{background:var(--blue);}
.barchart i.hot{background:var(--lime);}

.phone{position:absolute;bottom:0;left:6px;width:228px;z-index:3;}
.phone .screen{position:relative;background:#0d1117;border-radius:30px;padding:7px;box-shadow:var(--sh-lg);border:1px solid #222b38;}
.phone .screen > .ui{border-radius:24px;min-height:384px;}
.phone .notch{position:absolute;top:13px;left:50%;transform:translateX(-50%);width:78px;height:17px;background:#0d1117;border-radius:0 0 12px 12px;z-index:3;}
.ui-nav{display:flex;align-items:center;justify-content:space-between;padding:24px 12px 10px;border-bottom:1px solid var(--line-2);}
.ui-nav .b{display:flex;align-items:center;gap:6px;font-family:var(--ff-d);font-weight:900;font-size:12px;}
.ui-nav .mk2{width:18px;height:18px;border-radius:5px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;}
.ui-nav .bk{background:var(--blue);color:#fff;font-family:var(--ff-d);font-weight:700;font-size:9px;padding:5px 11px;border-radius:99px;}
.ui-hero{background:#0d1117;color:#fff;padding:28px 14px 16px;position:relative;overflow:hidden;}
.ui-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 90% at 80% 0,rgba(31,111,235,.5),transparent 60%);}
.ui-hero > *{position:relative;}
.ui-hero .mono{font-family:var(--ff-m);font-size:7.5px;letter-spacing:.1em;color:#9fc0ff;}
.ui-hero h4{font-family:var(--ff-d);font-weight:900;font-size:18px;margin-top:7px;line-height:1.05;}
.ui-hero h4 u{text-decoration:none;box-shadow:inset 0 -7px 0 rgba(195,245,60,.85);}
.facts{display:flex;gap:5px;margin-top:11px;flex-wrap:wrap;}
.facts .f{font-family:var(--ff-m);font-size:7px;letter-spacing:.03em;color:#dbe4f1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:4px 7px;border-radius:99px;}
.ui-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px;box-shadow:var(--sh-sm);margin:-14px 12px 0;position:relative;z-index:2;}
.ui-card .ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
.ui-card .ch b{font-family:var(--ff-d);font-size:13px;}
.ui-card .ch span{font-family:var(--ff-m);font-size:7px;color:var(--slate-2);letter-spacing:.05em;}
.datestrip{display:flex;gap:4px;margin-bottom:9px;}
.datestrip .d{flex:1;text-align:center;padding:5px 0;border-radius:8px;border:1px solid var(--line);background:#fff;}
.datestrip .d span{font-family:var(--ff-m);font-size:6.5px;color:var(--slate-2);display:block;}
.datestrip .d b{font-family:var(--ff-d);font-size:12px;}
.datestrip .d.on{background:var(--blue);border-color:var(--blue);color:#fff;}
.datestrip .d.on span{color:rgba(255,255,255,.85);}
.lab-m{font-family:var(--ff-m);font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2);margin:2px 0 7px;}
.slotgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;}
.slotgrid.g4{grid-template-columns:repeat(4,1fr);}
.slot{font-family:var(--ff-m);font-size:9.5px;text-align:center;padding:9px 0;border-radius:8px;border:1.5px solid var(--lime-line);color:#5d7a16;background:#fff;box-shadow:0 4px 8px -6px rgba(195,245,60,.9);}
.slot.taken{border:1.5px dashed var(--line);color:var(--slate-2);text-decoration:line-through;background:var(--bg);box-shadow:none;}
.ui-btn{background:var(--blue);color:#fff;font-family:var(--ff-d);font-weight:700;font-size:11px;text-align:center;padding:10px;border-radius:9px;margin-top:9px;}
.ui-btn.go{background:var(--lime);color:var(--lime-ink);box-shadow:0 8px 18px -8px rgba(195,245,60,.8);}
.ui-btn.ghost{background:#fff;color:var(--blue);border:1px solid var(--line);box-shadow:none;}

/* player booking matrix (court rows × time cols) */
.bmx{display:grid;grid-template-columns:30px repeat(5,1fr);gap:3px;}
.bmx .hh{font-family:var(--ff-m);font-size:6.5px;color:var(--slate-2);text-align:center;}
.bmx .rl{font-family:var(--ff-d);font-weight:700;font-size:8px;display:flex;align-items:center;}
.bmx .cc{height:20px;border-radius:4px;background:var(--line);border:1px solid var(--line-2);}
.bmx .cc.free{background:var(--lime);border-color:var(--lime-line);}
.bmx .cc.sel{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 2px rgba(31,111,235,.25);}
.bmx .cc.na{background:repeating-linear-gradient(45deg,#eef1f5 0 4px,#e2e8ef 4px 8px);border-color:var(--line);}
.bmx-leg{display:flex;gap:9px;margin-top:9px;font-family:var(--ff-m);font-size:6.5px;color:var(--slate);}
.bmx-leg i{display:inline-block;width:9px;height:9px;border-radius:3px;vertical-align:-1px;margin-right:3px;}

/* player confirm sheet */
.cs-eb{font-family:var(--ff-m);font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2);}
.cs-title{font-family:var(--ff-d);font-weight:800;font-size:15px;margin:4px 0 9px;}
.cs-row{display:flex;justify-content:space-between;font-size:10px;padding:4px 0;color:var(--slate);}
.cs-row b{color:var(--ink);font-weight:600;}
.dpills{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:9px 0;}
.dpill{font-family:var(--ff-m);font-size:9px;text-align:center;padding:7px 0;border-radius:7px;border:1.5px solid var(--line);color:var(--slate);background:#fff;}
.dpill.on{background:var(--blue);border-color:var(--blue);color:#fff;}
.cs-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed var(--line);margin-top:7px;padding-top:8px;}
.cs-total .lab{font-size:11px;font-weight:600;}
.cs-total .amt{font-family:var(--ff-d);font-weight:900;font-size:20px;}
.cs-mem{font-family:var(--ff-m);font-size:7.5px;color:#5d7a16;text-align:right;margin-top:3px;}
.cs-addon{display:flex;align-items:center;gap:7px;font-size:10px;padding:5px 0;border-top:1px solid var(--line-2);}
.cs-addon .box{width:13px;height:13px;border-radius:4px;background:var(--blue);border:1.5px solid var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:8px;flex:none;}
.cs-addon .box.off{background:#fff;border-color:var(--line);}
.cs-addon .grow{flex:1;}
.cs-addon .pl{font-family:var(--ff-m);font-size:8.5px;color:var(--slate);}
.cs-promo{display:flex;gap:5px;margin:9px 0 4px;}
.cs-promo .in{flex:1;border:1.5px solid var(--line);border-radius:7px;padding:6px 8px;font-family:var(--ff-m);font-size:8px;color:var(--slate-2);letter-spacing:.08em;text-transform:uppercase;}
.cs-promo .ap{font-family:var(--ff-d);font-weight:700;font-size:9px;border:1.5px solid var(--line);border-radius:7px;padding:0 11px;display:flex;align-items:center;}
.cs-micro{font-family:var(--ff-m);font-size:7px;color:var(--slate-2);text-align:center;margin-top:8px;letter-spacing:.02em;}

/* player confirmation */
.cf-circ{width:42px;height:42px;border-radius:99px;background:var(--lime);color:var(--lime-ink);display:flex;align-items:center;justify-content:center;margin:2px auto 11px;font-size:22px;box-shadow:0 10px 22px -8px rgba(195,245,60,.9);}
.cf-h{font-family:var(--ff-d);font-weight:900;font-size:17px;text-align:center;}
.cf-sub{font-family:var(--ff-m);font-size:7.5px;color:var(--slate);text-align:center;margin-top:5px;letter-spacing:.04em;}
.cf-card{border:1px solid var(--line);border-radius:11px;padding:11px;margin-top:12px;}
.cf-qr{width:90px;height:90px;margin:11px auto 6px;padding:7px;background-color:#fff;background-image:url("../qr-app.svg");background-repeat:no-repeat;background-position:center;background-size:76px 76px;background-origin:content-box;border:1px solid var(--line);border-radius:8px;}
.cf-habit{background:var(--blue-050);border:1px solid var(--blue-100);border-radius:12px;padding:11px;margin-top:11px;text-align:center;}
.cf-habit .eb{font-family:var(--ff-m);font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-700);}

/* ===================== SOCIAL PROOF ===================== */
.proof{background:var(--ink);color:#fff;padding:0 0 64px;overflow:hidden;}
.proof .label{text-align:center;font-family:var(--ff-m);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-2);padding:0 0 26px;}
.marquee{position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.marquee-track{display:flex;gap:54px;width:max-content;animation:marq 38s linear infinite;}
@keyframes marq{to{transform:translateX(-50%);}}
.club-logo{display:inline-flex;align-items:center;gap:11px;font-family:var(--ff-d);font-weight:800;font-size:21px;color:rgba(255,255,255,.62);white-space:nowrap;letter-spacing:-.02em;}
.club-logo .glyph{width:24px;height:24px;border-radius:7px;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.14);}

/* ===================== SECTIONS ===================== */
.section{padding:104px 0;}
.head{max-width:720px;margin:0 auto 56px;text-align:center;}
.head.left{margin-left:0;text-align:left;}
.head h2{font-size:clamp(30px,4.2vw,46px);font-weight:800;margin:18px 0 0;}
.head p{font-size:18px;color:var(--slate);margin-top:18px;}
.center{text-align:center;}
.muted{color:var(--slate);}

/* PROBLEM */
.problem{background:var(--ink);color:#fff;}
.problem .head p{color:#aeb9c7;}
.problem .figure{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:14px;}
.problem .figure > div{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-lg);padding:30px 26px;}
.problem .big{font-family:var(--ff-d);font-weight:900;font-size:54px;letter-spacing:-.04em;line-height:1;}
.problem .big.good{color:var(--lime);}
.problem .cap{color:#aeb9c7;font-size:14.5px;margin-top:12px;}
.ledger{margin-top:30px;text-align:center;font-size:17px;color:#c4cedd;max-width:720px;margin-left:auto;margin-right:auto;}
.ledger strong{color:#fff;}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.step{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px;position:relative;box-shadow:var(--sh-sm);transition:transform .2s,box-shadow .2s;}
.step:hover{transform:translateY(-4px);box-shadow:var(--sh);}
.step .num{font-family:var(--ff-m);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--blue);}
.step h3{font-size:22px;margin:14px 0 10px;font-weight:800;}
.step p{color:var(--slate);font-size:15px;}
.step code{font-family:var(--ff-m);font-size:12.5px;background:var(--blue-050);color:var(--blue-700);padding:2px 6px;border-radius:5px;}
.step .pill{display:inline-block;margin-top:16px;font-family:var(--ff-m);font-size:11px;letter-spacing:.04em;text-transform:uppercase;background:var(--lime-050);color:#5d7a16;border:1px solid var(--lime-line);padding:5px 11px;border-radius:99px;}
.steps-note{text-align:center;color:var(--slate);font-size:17px;margin-top:34px;}
.steps-note b{color:var(--ink);}

/* FEATURES */
.buckets{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.bucket{border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px;background:var(--paper);}
.bucket .tag{font-family:var(--ff-m);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);font-weight:500;}
.bucket h3{font-size:21px;margin:12px 0 18px;font-weight:800;}
.bucket ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
.bucket li{display:flex;gap:11px;font-size:14.5px;color:var(--ink-2);line-height:1.4;}
.bucket li > :first-child{color:#7aa10a;font-size:12px;flex:none;margin-top:3px;}
.bucket li b{color:var(--ink);font-weight:700;}
.bucket.b2{background:var(--ink);color:#fff;border-color:#222b38;}
.bucket.b2 .tag{color:var(--lime);}
.bucket.b2 li{color:#c4cedd;}
.bucket.b2 li > :first-child{color:var(--lime);}
.bucket.b2 li b{color:#fff;}

/* TOUR */
.tour{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.toggle{display:inline-flex;background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:5px;gap:4px;box-shadow:var(--sh-sm);}
.toggle button{font-family:var(--ff-d);font-weight:700;font-size:15px;padding:11px 26px;border-radius:99px;border:0;background:transparent;color:var(--slate);cursor:pointer;transition:.2s;}
.toggle button.on{background:var(--blue);color:#fff;box-shadow:0 6px 16px -8px var(--blue);}
.tour-panel{display:none;margin-top:48px;}
.tour-panel.on{display:block;animation:fade .4s;}
@keyframes fade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.tour-intro{text-align:center;max-width:600px;margin:0 auto 40px;}
.tour-intro h3{font-size:25px;font-weight:800;}
.tour-intro p{color:var(--slate);margin-top:12px;}
.screens{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:start;}
.screen-card{display:flex;flex-direction:column;gap:16px;}
.screen-card .phone{position:static;width:100%;}
.screen-card .phone .screen > .ui{min-height:360px;}
.screen-card .cap .mono{font-family:var(--ff-m);font-size:11px;color:var(--blue);letter-spacing:.06em;}
.screen-card .cap h4{font-size:17px;font-weight:800;margin:6px 0 6px;}
.screen-card .cap p{font-size:14px;color:var(--slate);line-height:1.5;}
/* operator screen */
.opscreen{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--sh);}
.opscreen .head-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line-2);}
.opscreen h5{font-family:var(--ff-d);font-weight:800;font-size:14px;}
.opscreen .chip{font-family:var(--ff-m);font-size:8.5px;letter-spacing:.06em;background:var(--lime-050);color:#5d7a16;padding:4px 9px;border-radius:99px;}
.opscreen .opbody{padding:14px;}
/* calendar */
.cal-tb{display:flex;align-items:center;gap:6px;margin-bottom:10px;}
.cal-tb .nav-b{width:18px;height:18px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--slate);}
.cal-tb .rng{font-family:var(--ff-d);font-weight:700;font-size:11px;}
.cal-tb .seg{margin-left:auto;display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;}
.cal-tb .seg b{font-family:var(--ff-m);font-size:8px;padding:4px 9px;color:var(--slate);font-weight:500;letter-spacing:.04em;}
.cal-tb .seg b.on{background:var(--blue);color:#fff;}
.cal{display:grid;grid-template-columns:22px repeat(4,1fr);gap:4px;}
.cal .h{font-family:var(--ff-m);font-size:8px;color:var(--slate-2);text-align:center;}
.cal .t{font-family:var(--ff-m);font-size:8px;color:var(--slate-2);display:flex;align-items:center;}
.cal .c{height:24px;border-radius:5px;border:1px solid var(--line-2);background:#fff;font-family:var(--ff-m);font-size:6px;color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.cal .c.bk{background:var(--blue);border-color:var(--blue);}
.cal .c.club{background:var(--amber);border-color:var(--amber);color:var(--lime-ink);}
.cal .c.free{background:#fff;}
.cal .c.maint{background:repeating-linear-gradient(45deg,#fdeccb 0 4px,#f9e0b0 4px 8px);border-color:#f3d49a;}
.cal-leg{font-family:var(--ff-m);font-size:8px;color:var(--slate);margin-top:9px;display:flex;gap:11px;flex-wrap:wrap;}
/* pricing */
.pr-base{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border:1px solid var(--line-2);border-radius:9px;padding:9px 11px;}
.pr-base .l{font-size:11px;}.pr-base b{font-family:var(--ff-d);font-size:13px;}
.pr-head{font-family:var(--ff-d);font-weight:800;font-size:12px;margin:13px 0 8px;}
.pr-rule{border:1px solid var(--line-2);border-radius:9px;padding:9px 10px;margin-bottom:8px;}
.pr-rule .top{display:flex;align-items:center;justify-content:space-between;}
.pr-rule .nm{font-family:var(--ff-d);font-weight:700;font-size:11px;}
.pr-rule .delta{font-family:var(--ff-d);font-weight:800;font-size:12px;}
.pr-rule .delta.up{color:var(--blue);}.pr-rule .delta.down{color:var(--green);}
.pr-rule .meta{font-family:var(--ff-m);font-size:7.5px;color:var(--slate-2);margin-top:3px;letter-spacing:.02em;}
.band{position:relative;height:13px;border-radius:5px;background:var(--line-2);margin-top:8px;}
.band i{position:absolute;top:0;bottom:0;border-radius:5px;}
.band i.up{background:rgba(31,111,235,.55);}
.band i.down{background:rgba(22,163,74,.5);}
.band-ax{display:flex;justify-content:space-between;font-family:var(--ff-m);font-size:6.5px;color:var(--slate-2);margin-top:3px;}
.pr-warn{font-family:var(--ff-b);font-size:9px;color:#b54708;margin-top:7px;line-height:1.35;}
/* members CRM */
.crm-search{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:11px;color:var(--slate-2);margin-bottom:9px;display:flex;align-items:center;gap:7px;}
.crm-cols{display:grid;grid-template-columns:1fr auto auto;gap:8px;font-family:var(--ff-m);font-size:7px;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-2);padding:0 2px 6px;border-bottom:1px solid var(--line-2);}
.memrow{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:9px 2px;border-bottom:1px solid var(--line-2);font-size:12px;}
.memrow .who{display:flex;align-items:center;gap:9px;min-width:0;}
.memrow .av{width:27px;height:27px;border-radius:7px;background:var(--blue-050);color:var(--blue-700);display:flex;align-items:center;justify-content:center;font-family:var(--ff-d);font-weight:700;font-size:11px;flex:none;}
.memrow .nm{font-weight:700;font-size:12px;line-height:1.1;}
.memrow .ph{font-family:var(--ff-m);font-size:8px;color:var(--slate-2);}
.memrow .bkn{font-family:var(--ff-d);font-weight:800;font-size:13px;text-align:right;width:22px;}
.badge{font-family:var(--ff-m);font-size:8px;letter-spacing:.04em;background:var(--blue-050);color:var(--blue-700);padding:4px 8px;border-radius:99px;white-space:nowrap;}
.badge.amber{background:#fdeccb;color:#a06c12;}
.badge.none{background:#f1f3f6;color:var(--slate-2);}

/* COMPARE */
.ctable-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);}
.ctable{width:100%;border-collapse:collapse;min-width:880px;}
.ctable th,.ctable td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line-2);}
.ctable thead th{font-family:var(--ff-d);font-weight:800;font-size:15px;background:var(--bg);border-bottom:1px solid var(--line);}
.ctable thead th.us{background:var(--ink);color:#fff;}
.ctable thead th.us span{display:block;font-family:var(--ff-m);font-size:9px;font-weight:500;letter-spacing:.08em;color:var(--lime);margin-top:4px;}
.ctable td.feat{font-weight:600;font-size:14.5px;color:var(--ink-2);}
.ctable td.us{background:rgba(31,111,235,.04);font-weight:700;}
.ctable tbody tr:last-child td{border-bottom:0;}
.yes{color:var(--green);font-weight:700;}
.no{color:var(--slate-2);font-size:13px;}
.part{color:var(--amber);font-size:13px;font-weight:600;}
.soon{display:inline-block;font-family:var(--ff-m);font-size:10px;letter-spacing:.04em;text-transform:uppercase;background:var(--blue-050);color:var(--blue-700);padding:3px 8px;border-radius:99px;}
.compare .foot{text-align:center;color:var(--slate);font-size:15px;margin-top:24px;max-width:680px;margin-left:auto;margin-right:auto;}

/* CALC */
.calc{background:var(--ink);color:#fff;}
.calc .head p{color:#aeb9c7;}
.calc-card{max-width:680px;margin:0 auto;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-xl);padding:34px;}
.calc-row{margin-bottom:26px;}
.calc-row .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;}
.calc-row label{font-size:15px;color:#c4cedd;font-weight:600;}
.calc-row .out{font-family:var(--ff-d);font-weight:900;font-size:24px;color:#fff;letter-spacing:-.02em;}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:rgba(255,255,255,.16);outline:none;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--lime);cursor:pointer;box-shadow:0 0 0 5px rgba(195,245,60,.2),0 6px 14px -4px rgba(0,0,0,.5);}
input[type=range]::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:var(--lime);cursor:pointer;}
.calc-result{margin-top:32px;padding-top:30px;border-top:1px dashed rgba(255,255,255,.16);text-align:center;}
.calc-result .mono{font-family:var(--ff-m);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2);}
.calc-result .figure{font-family:var(--ff-d);font-weight:900;font-size:68px;letter-spacing:-.04em;color:var(--lime);line-height:1;margin:10px 0;}
.calc-result .sub{color:#aeb9c7;font-size:15px;}
.calc-result .year{margin-top:20px;font-size:15px;color:#c4cedd;background:rgba(0,0,0,.2);border-radius:12px;padding:14px 18px;}
.calc-result .year b{color:#fff;}

/* TESTIMONIALS */
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.tcard{border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;background:var(--paper);box-shadow:var(--sh-sm);}
.tcard .quote{font-size:17px;line-height:1.5;color:var(--ink-2);}
.tcard .quote .hl{background:var(--lime-050);color:#4d6300;padding:1px 5px;border-radius:5px;font-weight:600;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.tcard .who{display:flex;align-items:center;gap:12px;margin-top:22px;}
.tcard .av{width:42px;height:42px;border-radius:50%;background:var(--blue-050);color:var(--blue-700);display:flex;align-items:center;justify-content:center;font-family:var(--ff-d);font-weight:700;font-size:15px;flex:none;}
.tcard .nm{font-weight:700;font-size:15px;}
.tcard .ro{font-size:13px;color:var(--slate);}

/* PRICING */
.pricing{background:var(--bg);border-top:1px solid var(--line);}
.ptable{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:840px;margin:0 auto;}
.plan{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:34px 32px;position:relative;}
.plan h3{font-size:22px;font-weight:800;}
.plan .price{font-family:var(--ff-d);font-weight:900;font-size:54px;letter-spacing:-.04em;margin:14px 0 4px;}
.plan .price span{font-size:18px;font-weight:600;color:var(--slate);}
.plan .desc{color:var(--slate);font-size:15px;min-height:44px;}
.plan ul{list-style:none;margin:22px 0 26px;display:flex;flex-direction:column;gap:12px;}
.plan li{font-size:14.5px;color:var(--ink-2);}
.plan li b{font-weight:700;}
.plan .btn{width:100%;}
.plan.feature{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:var(--sh-lg);}
.plan.feature .desc{color:#aeb9c7;}
.plan.feature li{color:#d3dbe6;}
.plan.feature li b{color:#fff;}
.plan .ribbon{position:absolute;top:-12px;right:28px;background:var(--lime);color:var(--lime-ink);font-family:var(--ff-m);font-size:11px;font-weight:700;letter-spacing:.06em;padding:5px 12px;border-radius:99px;}
.contrast{text-align:center;color:var(--slate);font-size:15.5px;margin-top:34px;max-width:760px;margin-left:auto;margin-right:auto;line-height:1.6;}
.contrast b{color:var(--ink);}

/* FAQ */
.faq-list{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);overflow:hidden;}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:none;border:0;cursor:pointer;font-family:var(--ff-d);font-weight:700;font-size:17px;text-align:left;color:var(--ink);}
.faq-q .ic{font-size:22px;color:var(--blue);flex:none;transition:transform .25s;font-weight:400;}
.faq-item.open .faq-q .ic{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:340px;}
.faq-a p{padding:0 24px 22px;color:var(--slate);font-size:15.5px;line-height:1.6;}
.faq-a code{font-family:var(--ff-m);font-size:13px;background:var(--blue-050);color:var(--blue-700);padding:1px 5px;border-radius:4px;}

/* FINAL */
.final{background:var(--ink);color:#fff;text-align:center;overflow:hidden;}
.final::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 0%,rgba(31,111,235,.4),transparent 60%);pointer-events:none;}
.final .wrap{position:relative;}
.final h2{font-size:clamp(34px,5vw,58px);font-weight:900;letter-spacing:-.035em;margin:20px 0;}
.final p{font-size:19px;color:#c4cedd;max-width:560px;margin:0 auto 34px;}
.final .micro{font-family:var(--ff-m);font-size:12px;letter-spacing:.1em;color:var(--slate-2);margin-top:22px;}

/* FOOTER */
.footer{background:#070a0e;color:#aeb9c7;padding:72px 0 32px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
.footer .brand{color:#fff;margin-bottom:16px;}
.footer .blurb{font-size:14px;color:var(--slate);max-width:300px;line-height:1.6;}
.footer h5{font-family:var(--ff-d);font-weight:800;font-size:14px;color:#fff;margin-bottom:16px;letter-spacing:0;}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
.footer ul a{font-size:14px;color:var(--slate-2);transition:color .2s;}
.footer ul a:hover{color:#fff;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:54px;padding-top:26px;border-top:1px solid #18202a;font-family:var(--ff-m);font-size:12px;color:var(--slate-2);}
.footer-bottom .dot{color:var(--lime);font-size:9px;}

/* ===================== RESPONSIVE ===================== */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:10px;}
  /* keep the exact desktop composition, scaled down to fit as one unit */
  .device-stack{height:calc(min(520px,92vw) * 0.962);width:min(520px,92vw);margin:24px auto 0;}
  .device-rig{width:520px;height:500px;transform-origin:top left;transform:scale(calc(min(520px,92vw) / 520));}
  .screens{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
}
@media (max-width:760px){
  .nav-links,.nav-cta .signin{display:none;}
  .nav-burger{display:block;}
  .nav.open .nav-links{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:#fff;padding:18px 28px;gap:18px;border-bottom:1px solid var(--line);box-shadow:var(--sh);}
  .nav.open .nav-links a{color:var(--ink);}
  .section{padding:74px 0;}
  .problem .figure,.steps,.buckets,.tcards,.ptable{grid-template-columns:1fr;}
  .hero-stats{flex-wrap:wrap;}
  .hero-stat{min-width:90px;}
  .screens{grid-template-columns:1fr;max-width:330px;margin:0 auto;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center;}
}
@media (max-width:460px){
  .wrap{padding:0 18px;}
}

/* =====================================================================
   MULTIPAGE HELPERS
   ===================================================================== */
.page-hero{background:var(--ink);color:#fff;padding:142px 0 78px;overflow:hidden;text-align:center;}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% -10%,rgba(31,111,235,.5),transparent 60%),radial-gradient(40% 60% at 90% 110%,rgba(195,245,60,.08),transparent 60%);pointer-events:none;}
.page-hero .wrap{position:relative;}
.page-hero h1{font-size:clamp(36px,5.6vw,64px);font-weight:900;letter-spacing:-.04em;margin-top:18px;}
.page-hero p{font-size:19px;color:#c4cedd;max-width:600px;margin:20px auto 0;line-height:1.5;}
.page-hero .ph-cta{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.page-hero .ph-shot{margin-top:54px;}

.feature-row{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center;}
.feature-row + .feature-row{margin-top:104px;}
.feature-row.rev .copy{order:2;}
.feature-copy h3{font-size:clamp(26px,3.1vw,38px);font-weight:800;margin:16px 0 0;letter-spacing:-.02em;}
.feature-copy > p{font-size:17px;color:var(--slate);margin-top:16px;}
.feature-copy ul{list-style:none;margin:22px 0 0;display:flex;flex-direction:column;gap:12px;}
.feature-copy li{display:flex;gap:11px;font-size:15px;color:var(--ink-2);}
.feature-copy li > :first-child{color:#7aa10a;flex:none;margin-top:2px;font-size:13px;}
.feature-copy li b{font-weight:700;}
.feature-wide{margin-top:48px;}
.feature-wide .feature-copy{max-width:680px;margin:0 auto 36px;text-align:center;}
.feature-wide .feature-copy ul{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 28px;text-align:left;}

/* =====================================================================
   APP-UI REPRODUCTION - mirrors app/static/css/admin.css treatments
   ===================================================================== */
/* Browser / screenshot frame */
.browser{border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-lg);background:#fff;}
.browser__bar{height:40px;background:#e9edf3;display:flex;align-items:center;gap:13px;padding:0 14px;border-bottom:1px solid #dce1e9;}
.browser__dots{display:flex;gap:6px;flex:none;}
.browser__dots i{width:11px;height:11px;border-radius:50%;background:#cdd5df;display:block;}
.browser__addr{flex:1;background:#fff;border-radius:7px;height:23px;display:flex;align-items:center;gap:7px;padding:0 11px;font-family:var(--ff-m);font-size:11px;color:var(--slate);overflow:hidden;white-space:nowrap;}
.browser__addr svg{width:11px;height:11px;flex:none;color:#9aa6b3;}
.browser__body{background:var(--bg);overflow:hidden;}

/* shot frame (single-screen, faux main column with its own topbar) */
.ap-shot{border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--sh);background:var(--bg);}
.ap-shot__top{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#fff;border-bottom:1px solid var(--line);}
.ap-shot__title{font-family:var(--ff-d);font-weight:800;font-size:17px;}
.ap-shot__act{background:var(--blue);color:#fff;font-family:var(--ff-d);font-weight:700;font-size:12px;padding:8px 14px;border-radius:99px;}
.ap-shot__act.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.ap-shot__body{padding:18px;}

/* full admin shell (the showpiece) */
.ap{display:grid;grid-template-columns:204px 1fr;font-family:var(--ff-b);color:var(--ink);min-height:520px;}
.ap-nav{background:linear-gradient(168deg,#101a2e,#0b1018);color:#c7cedb;display:flex;flex-direction:column;}
.ap-brand{display:flex;align-items:center;gap:9px;padding:16px 14px;border-bottom:1px solid #2a3340;}
.ap-mark{width:30px;height:30px;border-radius:8px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--ff-d);font-weight:900;font-size:14px;flex:none;}
.ap-club{font-family:var(--ff-d);font-weight:800;color:#fff;font-size:14px;letter-spacing:-.02em;}
.ap-navlist{list-style:none;padding:10px 8px;display:flex;flex-direction:column;gap:1px;flex:1;}
.ap-navlist a{display:block;padding:7px 11px;border-radius:8px;color:#c7cedb;font-weight:600;font-size:12.5px;}
.ap-navlist a.on{background:var(--blue);color:#fff;}
.ap-navlist .sep{height:1px;background:#2a3340;margin:7px 6px;}
.ap-navfoot{padding:11px 14px;border-top:1px solid #2a3340;font-family:var(--ff-m);font-size:9px;letter-spacing:.04em;color:#7d8799;display:flex;flex-direction:column;gap:5px;}
.ap-navfoot a{color:#c7cedb;font-family:var(--ff-b);font-size:11px;font-weight:600;}
.ap-main{min-width:0;display:flex;flex-direction:column;background:var(--bg);}
.ap-top{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#fff;border-bottom:1px solid var(--line);}
.ap-title{font-family:var(--ff-d);font-weight:800;font-size:18px;letter-spacing:-.02em;}
.ap-action{background:var(--blue);color:#fff;font-family:var(--ff-d);font-weight:700;font-size:12px;padding:8px 14px;border-radius:99px;}
.ap-content{padding:18px;}

/* KPI cards (faithful) */
.ap-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.ap-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-sm);padding:14px 16px;}
.ap-kpi .lab{font-family:var(--ff-m);text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--slate);}
.ap-kpi .val{font-family:var(--ff-d);font-weight:800;font-size:28px;letter-spacing:-.02em;margin-top:5px;}
.ap-kpi .val.blue{color:var(--blue);}
.ap-kpi .pbar{height:7px;border-radius:99px;background:var(--line);margin-top:9px;overflow:hidden;}
.ap-kpi .pbar i{display:block;height:100%;background:var(--lime);border-radius:99px;}
.ap-kpi .pbar i.blue{background:var(--blue);}
.ap-kpi .sub{font-size:12px;color:var(--slate);margin-top:6px;}
.ap-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;}
.ap-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-sm);padding:16px 18px;}
.ap-card h4{font-family:var(--ff-d);font-weight:700;font-size:15px;margin-bottom:12px;}
.ap-arr{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.ap-arr:last-child{border-bottom:0;}
.ap-arr .nm{font-weight:600;}
.ap-arr .t{font-family:var(--ff-m);font-weight:700;font-size:12.5px;}
.ap-arr .ct{color:var(--slate);font-size:12.5px;}
.ap-occ{display:flex;align-items:flex-end;gap:5px;height:90px;}
.ap-occ i{flex:1;background:var(--line);border-radius:4px 4px 0 0;min-height:2px;}
.ap-occ i.has{background:var(--blue);}
.ap-occ i.peak{background:var(--lime);}
.ap-occ-ax{display:flex;justify-content:space-between;font-size:12px;color:var(--slate);margin-top:6px;}

/* calendar (court columns × time rows, absolute blocks) */
.ap-caltb{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.ap-stepb{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--slate);}
.ap-caldate{font-family:var(--ff-d);font-weight:700;font-size:15px;}
.ap-seg{margin-left:auto;display:flex;border:1px solid var(--line);border-radius:99px;overflow:hidden;}
.ap-seg b{font-weight:600;font-size:12px;padding:7px 15px;color:var(--slate);}
.ap-seg b.on{background:var(--blue);color:#fff;}
.ap-calwrap{display:flex;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--sh-sm);}
.ap-axiscol{flex:0 0 56px;}
.ap-axiscol .hh{height:38px;border-bottom:1px solid var(--line);}
.ap-axiscol .tick{height:38px;border-bottom:1px dashed var(--line);font-family:var(--ff-m);font-size:10px;color:var(--slate);text-align:right;padding:4px 8px 0;}
.ap-col{flex:1;border-left:1px solid var(--line);position:relative;}
.ap-col .hh{height:38px;border-bottom:1px solid var(--line);padding:10px 11px;font-family:var(--ff-d);font-weight:700;font-size:13px;}
.ap-col .cells{position:relative;}
.ap-col .cell{height:38px;border-bottom:1px dashed var(--line);}
.ap-blk{position:absolute;left:3px;right:3px;border-radius:8px;padding:4px 7px;color:#fff;font-size:11.5px;font-weight:600;overflow:hidden;box-shadow:var(--sh-sm);}
.ap-blk .bt{font-family:var(--ff-m);font-size:9.5px;opacity:.9;}
.ap-blk.paid{background:var(--blue);}
.ap-blk.club{background:var(--amber);color:var(--ink);}
.ap-blk.maint{background:repeating-linear-gradient(45deg,#e9edf3 0 6px,#f6f8fb 6px 12px);border:1px solid var(--line);color:var(--slate);box-shadow:none;}
.ap-callegend{display:flex;gap:16px;margin-top:13px;font-size:12.5px;color:var(--slate);flex-wrap:wrap;}
.ap-callegend i{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-1px;margin-right:5px;}

/* pricing */
.ap-base{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-sm);padding:14px 16px;}
.ap-base .v{font-family:var(--ff-d);font-weight:800;font-size:26px;letter-spacing:-.02em;}
.ap-rulehead{font-family:var(--ff-d);font-weight:800;font-size:15px;margin:18px 0 10px;}
.ap-rule{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-sm);padding:14px 16px;margin-bottom:12px;}
.ap-rule .top{display:flex;align-items:center;justify-content:space-between;}
.ap-rule .nm{font-family:var(--ff-d);font-weight:700;font-size:14px;}
.ap-rule .delta{font-family:var(--ff-d);font-weight:800;font-size:15px;}
.ap-rule .delta.up{color:var(--blue);}
.ap-rule .delta.down{color:var(--green);}
.ap-rule .meta{color:var(--slate);font-size:12.5px;margin-top:3px;}
.ap-timeband{position:relative;height:30px;background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:11px;}
.ap-timeband i{position:absolute;top:2px;bottom:2px;border-radius:6px;display:flex;align-items:center;padding:0 9px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap;}
.ap-timeband i.up{background:var(--blue);}
.ap-timeband i.down{background:var(--green);}
.ap-tbaxis{display:flex;justify-content:space-between;font-family:var(--ff-m);font-size:10px;color:var(--slate);margin-top:5px;}
.ap-warn{font-size:13px;color:#b54708;margin-top:9px;}

/* data table */
.ap-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--sh-sm);}
.ap-table th{text-align:left;font-family:var(--ff-m);text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--slate);font-weight:700;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--bg);}
.ap-table td{padding:12px 16px;border-bottom:1px solid var(--line);font-size:13.5px;vertical-align:middle;}
.ap-table tr:last-child td{border-bottom:0;}
.ap-tp{font-weight:700;}
.ap-tm{color:var(--slate);font-size:12.5px;}
.ap-mchip{display:inline-block;background:var(--blue-050);color:var(--blue-700);font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;}
.ap-okpill{display:inline-block;background:rgba(22,163,74,.13);color:#15803d;font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;}
.ap-offpill{display:inline-block;background:rgba(91,103,118,.14);color:var(--slate);font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;}
.ap-refund{display:inline-flex;gap:5px;}
.ap-refund .in{width:54px;border:1px solid var(--line);border-radius:7px;font-family:var(--ff-m);font-size:11px;color:var(--slate-2);padding:5px 7px;}
.ap-refund .b{border:1px solid var(--line);border-radius:7px;background:#fff;font-weight:700;font-size:12px;padding:5px 11px;}

/* member profile */
.ap-mp-head{display:flex;align-items:center;gap:14px;}
.ap-mp-av{width:46px;height:46px;border-radius:14px;background:linear-gradient(140deg,var(--blue),#6b46e6);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--ff-d);font-weight:900;font-size:18px;flex:none;}
.ap-mp-name{font-family:var(--ff-d);font-weight:800;font-size:19px;letter-spacing:-.02em;}
.ap-mp-contact{color:var(--slate);font-size:13px;margin-top:1px;}
.ap-mp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;}
.ap-mp-stat{border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#fbfcfe;}
.ap-mp-stat b{font-family:var(--ff-d);font-weight:800;font-size:18px;display:block;letter-spacing:-.02em;}
.ap-mp-stat span{font-family:var(--ff-m);text-transform:uppercase;font-size:10px;color:var(--slate);letter-spacing:.05em;}
.ap-mp-card{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff;}
.ap-mp-card .eb{font-family:var(--ff-m);text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--slate);}
.ap-mp-card .tt{font-family:var(--ff-d);font-weight:800;font-size:17px;margin-top:3px;}
.ap-mp-dates{display:flex;gap:24px;margin-top:11px;}
.ap-mp-dates span{font-family:var(--ff-m);text-transform:uppercase;font-size:9px;color:var(--slate);display:block;}
.ap-mp-dates b{font-size:13px;}

/* reports */
.ap-repbar{margin:13px 0;}
.ap-repbar .head{display:flex;align-items:baseline;justify-content:space-between;font-size:13.5px;font-weight:600;}
.ap-repbar .head b{font-family:var(--ff-d);font-weight:800;}
.ap-repbar .head .sub{color:var(--slate);font-weight:600;font-size:12px;}
.ap-repbar .track{height:8px;border-radius:99px;background:var(--line);margin-top:7px;overflow:hidden;}
.ap-repbar .track i{display:block;height:100%;background:var(--blue);border-radius:99px;}
.ap-reptop{list-style:none;counter-reset:rt;}
.ap-reptop li{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;}
.ap-reptop li:last-child{border-bottom:0;}
.ap-reptop li::before{counter-increment:rt;content:counter(rt);width:22px;height:22px;border-radius:50%;background:var(--blue-050);color:var(--blue);font-family:var(--ff-m);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;}
.ap-reptop .nm{font-weight:700;}
.ap-reptop .mt{color:var(--slate);font-size:12px;margin-left:auto;}
.ap-reptop .sp{font-family:var(--ff-d);font-weight:800;}
.ap-repchips{display:flex;gap:8px;margin-bottom:14px;}
.ap-repchip{font-weight:700;font-size:12px;padding:7px 13px;border:1px solid var(--line);border-radius:99px;color:var(--slate);}
.ap-repchip.on{background:var(--blue);border-color:var(--blue);color:#fff;}

/* website editor */
.ap-web{display:grid;grid-template-columns:1fr 290px;gap:20px;}
.ap-web-sub{font-family:var(--ff-d);font-weight:800;font-size:13px;margin:14px 0 8px;border-top:1px solid var(--line);padding-top:12px;}
.ap-web-sub:first-child{border-top:0;padding-top:0;margin-top:0;}
.ap-field{margin-bottom:9px;}
.ap-field .l{font-family:var(--ff-m);text-transform:uppercase;font-size:9px;color:var(--slate);letter-spacing:.06em;}
.ap-field .in{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:12px;color:var(--slate-2);background:#fff;margin-top:4px;}
.ap-field .in.area{height:42px;}
.ap-prev{position:sticky;top:90px;}
.ap-prev-tag{font-family:var(--ff-m);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--slate);display:flex;align-items:center;gap:7px;margin-bottom:9px;}
.ap-prev-tag .live{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime);}
.ap-prev-frame{border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--sh-sm);background:#fff;}
@media (max-width:760px){ .ap-web{grid-template-columns:1fr;} }

/* audit log */
.ap-audit{list-style:none;}
.ap-audit li{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;}
.ap-audit li:last-child{border-bottom:0;}
.ap-audit .when{font-family:var(--ff-m);font-size:11px;color:var(--slate);flex:none;width:96px;}
.ap-audit .act{font-weight:600;}
.ap-audit .by{color:var(--slate);margin-left:auto;font-family:var(--ff-m);font-size:11px;}

/* responsive app-ui */
@media (max-width:900px){
  .feature-row{grid-template-columns:1fr;gap:32px;}
  .feature-row.rev .copy{order:0;}
  .ap{grid-template-columns:60px 1fr;}
  .ap-club,.ap-navlist a span,.ap-navfoot{display:none;}
  .ap-navlist a{text-align:center;font-size:0;padding:9px 0;}
  .ap-kpis{grid-template-columns:1fr 1fr;}
  .ap-two,.ap-web{grid-template-columns:1fr;}
  .feature-wide .feature-copy ul{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .ap-kpis{grid-template-columns:1fr;}
  .ap-mp-stats{grid-template-columns:1fr 1fr;}
}

/* =====================================================================
   PLAYER LANDING REPRODUCTION - mirrors app/static/css/landing.css
   ===================================================================== */
.lpx{background:#fff;font-family:var(--ff-b);color:var(--ink);}
.lpx-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 22px;background:#fff;border-bottom:1px solid var(--line);}
.lpx-nav .brand{display:flex;align-items:center;gap:10px;font-family:var(--ff-d);font-weight:800;font-size:17px;}
.lpx-nav .brand .mk{width:30px;height:30px;border-radius:8px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;flex:none;}
.lpx-nav .links{display:flex;align-items:center;gap:18px;}
.lpx-nav .links a{font-size:13px;font-weight:600;color:var(--slate);}
.lpx-nav .links a.on{color:var(--ink);}
.lpx-nav .links .bookbtn{background:var(--blue);color:#fff;font-family:var(--ff-d);font-weight:700;font-size:13px;padding:9px 16px;border-radius:99px;}

.lpx-hero{position:relative;overflow:hidden;background:#0b0f14;color:#fff;}
.lpx-hero .glow{position:absolute;inset:0;background:radial-gradient(85% 120% at 10% -15%,rgba(31,111,235,.45),transparent 52%);pointer-events:none;}
.lpx-hero .court{position:absolute;inset:0;opacity:.10;width:100%;height:100%;}
.lpx-hero .court line{stroke:#fff;stroke-width:2.4;}
.lpx-hero .inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:32px;padding:42px 28px 46px;align-items:center;}
.lpx-eb{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#cddcff;}
.lpx-eb .lv{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 9px var(--lime);}
.lpx-hero h2{font-family:var(--ff-d);font-weight:900;font-size:clamp(28px,3.6vw,44px);line-height:.96;letter-spacing:-.035em;margin:14px 0 12px;color:#fff;}
.lpx-hero h2 u{text-decoration:none;box-shadow:inset 0 -.14em 0 var(--lime);}
.lpx-hero .lede{color:#c0ccdf;font-size:15px;max-width:420px;margin:0 0 20px;line-height:1.5;}
.lpx-facts{display:flex;gap:9px;flex-wrap:wrap;}
.lpx-facts .f{display:inline-flex;align-items:center;gap:7px;color:#dbe5f4;font-size:12px;font-weight:600;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:6px 12px;}
.lpx-facts .f svg{width:14px;height:14px;opacity:.8;}
.lpx-bookcard{background:#fff;border-radius:18px;box-shadow:0 30px 70px -28px rgba(0,0,0,.6);padding:18px;color:var(--ink);}
.lpx-bookcard .h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;}
.lpx-bookcard .h b{font-family:var(--ff-d);font-weight:800;font-size:16px;}
.lpx-bookcard .h span{font-family:var(--ff-m);font-size:11px;color:var(--slate-2);}
.lpx-bookcard .datestrip{margin-bottom:0;}
.lpx-bookcard .label{font-family:var(--ff-m);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2);margin:14px 0 9px;}
.lpx-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px;}
.lpx-slot{font-family:var(--ff-m);font-size:11px;text-align:center;padding:10px 0;border-radius:9px;border:1.5px solid var(--lime-line);color:#5d7a16;background:#fff;}
.lpx-slot.taken{border:1.5px dashed var(--line);color:var(--slate-2);text-decoration:line-through;background:var(--bg);}
.lpx-bookbtn{background:var(--blue);color:#fff;font-family:var(--ff-d);font-weight:700;font-size:13px;text-align:center;padding:12px;border-radius:11px;}

.lpx-sec{padding:36px 28px;}
.lpx-sec.tint{background:#fbfcfd;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);}
.lpx-eb2{font-family:var(--ff-m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:600;margin-bottom:7px;}
.lpx-sec h3{font-family:var(--ff-d);font-weight:800;font-size:22px;letter-spacing:-.02em;margin:0 0 16px;}
.lpx-amen{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--line);gap:1px;}
.lpx-amen .a{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;}
.lpx-amen .a .ic{width:24px;height:24px;color:var(--ink);flex:none;}
.lpx-amen .a b{font-size:14px;font-family:var(--ff-d);font-weight:700;display:block;line-height:1.2;}
.lpx-amen .a span{font-size:12px;color:var(--slate-2);}
.lpx-two{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.lpx-courts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.lpx-courttile{border:1px solid var(--line);border-radius:13px;padding:15px;}
.lpx-courttile .n{font-family:var(--ff-d);font-weight:900;font-size:30px;line-height:1;letter-spacing:-.02em;}
.lpx-courttile .l{font-size:12px;color:var(--slate);margin-top:6px;}
.lpx-map{height:178px;border-radius:13px;overflow:hidden;position:relative;border:1px solid var(--line);background:#eef1f5;}
.lpx-map .pin{position:absolute;left:50%;top:46%;transform:translate(-50%,-100%) rotate(-45deg);width:26px;height:26px;border-radius:50% 50% 50% 0;background:var(--blue);box-shadow:0 8px 18px -6px var(--blue);}
.lpx-map .pin::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:9px;height:9px;border-radius:50%;background:#fff;}
.lpx-pricestrip{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:18px;align-items:center;background:var(--ink);border-radius:18px;padding:22px 24px;color:#fff;}
.lpx-pricestrip .pc .l{font-family:var(--ff-m);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8b98a7;}
.lpx-pricestrip .pc .v{font-family:var(--ff-d);font-weight:900;font-size:25px;letter-spacing:-.02em;margin-top:5px;}
.lpx-pricestrip .pc .v small{font-size:12px;font-weight:600;color:#9aa7b6;}
.lpx-pricestrip .pc + .pc{border-left:1px solid #20262f;padding-left:18px;}
.lpx-pricestrip .gobtn{background:var(--lime);color:var(--lime-ink);font-family:var(--ff-d);font-weight:700;font-size:13px;padding:13px 22px;border-radius:11px;text-align:center;}
.lpx-memgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;}
.lpx-memcard{border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;background:#fff;}
.lpx-memcard .nm{font-family:var(--ff-d);font-weight:800;font-size:17px;}
.lpx-memcard .pr{font-family:var(--ff-d);font-weight:900;font-size:26px;letter-spacing:-.02em;}
.lpx-memcard .pr small{font-size:12px;font-weight:600;color:var(--slate);}
.lpx-memcard ul{list-style:none;font-size:13px;color:var(--ink-2);display:flex;flex-direction:column;gap:6px;margin:2px 0;}
.lpx-memcard .joinbtn{margin-top:auto;background:var(--blue);color:#fff;font-family:var(--ff-d);font-weight:700;font-size:13px;text-align:center;padding:11px;border-radius:11px;}
.lpx-foot{padding:24px 28px;background:#0b0f14;color:#9aa7b6;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.lpx-foot .brand{display:flex;align-items:center;gap:9px;font-family:var(--ff-d);font-weight:800;color:#fff;font-size:15px;}
.lpx-foot .brand .mk{width:26px;height:26px;border-radius:7px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;}
.lpx-foot .pw{font-family:var(--ff-m);font-size:11px;color:#5f6b7a;}

/* booking-flow phones (bigger, connected) */
.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start;max-width:880px;margin:0 auto;}
.flow .step{display:flex;flex-direction:column;align-items:center;gap:16px;position:relative;}
.flow .step .phone{width:240px;max-width:100%;position:static;}
.flow .step .phone .screen > .ui{min-height:auto;}
.flow .stepcap{text-align:center;max-width:240px;}
.flow .stepcap .n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:99px;background:var(--blue);color:#fff;font-family:var(--ff-d);font-weight:800;font-size:13px;margin-bottom:8px;}
.flow .stepcap h4{font-size:16px;font-weight:800;}
.flow .stepcap p{font-size:13.5px;color:var(--slate);margin-top:5px;}
.flow .step:not(:last-child)::after{content:"→";position:absolute;top:120px;right:-18px;color:var(--slate-2);font-size:22px;font-weight:700;z-index:2;}

@media (max-width:720px){
  .lpx-hero .inner{grid-template-columns:1fr;gap:24px;padding:32px 18px 36px;}
  .lpx-two,.lpx-courts{grid-template-columns:1fr;}
  .lpx-amen,.lpx-memgrid{grid-template-columns:1fr;}
  .lpx-pricestrip{grid-template-columns:1fr 1fr;gap:14px;}
  .lpx-pricestrip .pc + .pc{border-left:0;padding-left:0;}
  .lpx-pricestrip .gobtn{grid-column:span 2;}
  .lpx-nav .links a:not(.bookbtn){display:none;}
  .flow{grid-template-columns:1fr;gap:36px;}
  .flow .step:not(:last-child)::after{content:"↓";top:auto;bottom:-30px;right:auto;left:50%;transform:translateX(-50%);}
}

/* =====================================================================
   FAITHFUL PLAYER PHONE SCREENS - scaled mirror of app.css
   (booking grid .cp-slot, bottom sheet, confirmation)
   ===================================================================== */
.flow .step .phone{width:258px;}

/* --- shared mobile hero band on the booking page --- */
.rc-hero{background:#0b0f14;color:#fff;padding:22px 15px 14px;position:relative;overflow:hidden;}
.rc-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 110% at 12% -10%,rgba(31,111,235,.5),transparent 55%);}
.rc-hero > *{position:relative;}
.rc-hero .eb{font-family:var(--ff-m);font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#cddcff;}
.rc-hero h4{font-family:var(--ff-d);font-weight:900;font-size:19px;letter-spacing:-.03em;margin-top:7px;line-height:1.02;}
.rc-hero h4 u{text-decoration:none;box-shadow:inset 0 -.13em 0 var(--lime);}

/* --- booking grid (court × time) --- */
.rcb{padding:14px;background:#fff;}
.rc-seclabel{font-family:var(--ff-m);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2);margin-bottom:11px;}
.rc-datestrip{display:flex;gap:6px;margin-bottom:13px;}
.rc-datechip{flex:1;text-align:center;padding:7px 2px;border-radius:10px;border:1.5px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:1px;}
.rc-datechip .d{font-family:var(--ff-m);font-size:8px;color:var(--slate-2);text-transform:uppercase;letter-spacing:.05em;}
.rc-datechip .n{font-family:var(--ff-d);font-weight:800;font-size:15px;}
.rc-datechip.on{background:var(--blue);border-color:var(--blue);}
.rc-datechip.on .d,.rc-datechip.on .n{color:#fff;}
.rc-cp{display:grid;grid-template-columns:20px repeat(5,1fr);gap:6px;align-items:center;}
.rc-time{font-family:var(--ff-m);font-size:8px;color:var(--slate-2);text-align:center;padding-bottom:2px;}
.rc-court{font-family:var(--ff-d);font-weight:700;font-size:10px;color:var(--ink);}
.rc-slot{height:34px;border-radius:8px;border:1px solid transparent;}
.rc-slot.free{background:var(--lime);border-color:#dcf2a0;}
.rc-slot.sel{background:var(--blue);border-color:var(--blue);box-shadow:0 6px 14px -6px var(--blue);}
.rc-slot.booked{background:var(--line);}
.rc-slot.block{background:repeating-linear-gradient(45deg,#eef1f5 0 5px,#e2e8ef 5px 10px);}
.rc-legend{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px;font-size:9px;color:var(--slate);}
.rc-legend span{display:inline-flex;align-items:center;gap:5px;}
.rc-legend i{width:11px;height:11px;border-radius:3px;flex:none;}

/* --- confirm bottom sheet --- */
.rc-scrim{height:22px;background:rgba(13,17,23,.42);}
.rc-sheet{position:relative;background:#fff;border-radius:20px 20px 0 0;margin-top:-12px;padding:13px 15px 16px;}
.rc-grip{width:36px;height:5px;border-radius:3px;background:var(--line);margin:0 auto 11px;}
.rc-x{position:absolute;top:14px;right:13px;width:26px;height:26px;border-radius:50%;background:var(--bg);color:var(--slate);display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;}
.rc-eb{font-family:var(--ff-m);font-size:8.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-2);}
.rc-title{font-family:var(--ff-d);font-weight:800;font-size:18px;letter-spacing:-.02em;margin:4px 0 12px;}
.rc-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;}
.rc-row .k{color:var(--slate);font-size:12px;}
.rc-row .v{font-weight:600;font-size:12px;}
.rc-dpills{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:7px 0 0;}
.rc-dpill{font-family:var(--ff-d);font-weight:700;font-size:11px;text-align:center;padding:8px 0;border-radius:9px;border:1.5px solid var(--line);color:var(--ink);background:#fff;}
.rc-dpill.on{background:var(--blue);border-color:var(--blue);color:#fff;}
.rc-total{display:flex;align-items:baseline;justify-content:space-between;border-top:1px dashed var(--line);padding-top:11px;margin-top:12px;}
.rc-total .lab{font-size:13px;font-weight:600;}
.rc-total .amt{font-family:var(--ff-d);font-weight:900;font-size:22px;letter-spacing:-.02em;}
.rc-total .was{text-decoration:line-through;color:var(--slate-2);font-size:13px;font-weight:600;margin-right:6px;}
.rc-mem{font-family:var(--ff-m);font-size:9px;color:#4d6300;text-align:right;margin-top:4px;}
.rc-lbl{font-family:var(--ff-m);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-2);margin-top:13px;display:block;}
.rc-addon{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;}
.rc-addon .nm{display:flex;align-items:center;gap:8px;font-size:12px;}
.rc-check{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--blue);background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;flex:none;}
.rc-check.off{background:#fff;border-color:var(--line);}
.rc-addon .pl{font-family:var(--ff-m);font-size:10px;color:var(--slate-2);}
.rc-pf{display:flex;gap:6px;margin-top:6px;}
.rc-input{flex:1;height:38px;border:1.5px solid var(--line);border-radius:10px;background:#fff;padding:0 11px;display:flex;align-items:center;font-family:var(--ff-m);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-2);}
.rc-apply{height:38px;border:1.5px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;padding:0 14px;font-family:var(--ff-d);font-weight:700;font-size:11px;box-shadow:var(--sh-sm);}
.rc-bookingas{font-family:var(--ff-m);font-size:9px;color:var(--slate-2);margin-top:14px;}
.rc-go{background:var(--lime);color:var(--lime-ink);font-family:var(--ff-d);font-weight:700;font-size:13px;text-align:center;padding:12px;border-radius:11px;margin-top:8px;box-shadow:0 8px 18px -8px var(--lime);}
.rc-micro{font-family:var(--ff-m);font-size:8px;color:var(--slate-2);text-align:center;margin-top:9px;letter-spacing:.02em;line-height:1.4;}

/* --- confirmation --- */
.rc-conf{padding:26px 15px 16px;text-align:center;}
.rc-circ{width:52px;height:52px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;margin:0 auto 11px;box-shadow:0 12px 26px -10px var(--lime);}
.rc-circ svg{width:26px;height:26px;}
.rc-conf h4{font-family:var(--ff-d);font-weight:900;font-size:21px;letter-spacing:-.02em;}
.rc-conf .sub{color:var(--slate);font-size:11px;margin-top:7px;line-height:1.5;}
.rc-card{border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh);padding:13px;margin-top:14px;text-align:left;}
.rc-qr{width:104px;height:104px;margin:12px auto 0;padding:7px;background-color:#fff;background-image:url("../qr-app.svg");background-repeat:no-repeat;background-position:center;background-size:90px 90px;background-origin:content-box;border:1px solid var(--line);border-radius:13px;}
.rc-ghostbtn{background:#fff;color:var(--ink);border:1.5px solid var(--line);box-shadow:var(--sh-sm);font-family:var(--ff-d);font-weight:700;font-size:12px;text-align:center;padding:10px;border-radius:11px;margin-top:7px;}
.rc-habit{background:var(--blue-050);border:1px solid var(--blue-100);border-radius:16px;padding:12px;margin-top:11px;text-align:center;}
.rc-habit .eb{font-family:var(--ff-m);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-700);}
.rc-habit .hbtn{background:var(--blue);color:#fff;font-family:var(--ff-d);font-weight:700;font-size:12px;text-align:center;padding:11px;border-radius:11px;margin-top:9px;}
.rc-cancel{text-decoration:underline;color:var(--slate-2);font-size:11px;margin-top:10px;display:inline-block;}

/* uniform phone device size - every phone on the players page is identical */
.page-players .phone{width:258px;}
.page-players .screen-card{max-width:258px;}
.page-players .phone .screen > .ui{height:560px;overflow:hidden;}

/* ---- hero laptop: compact high-fidelity admin (reuses .ap-* from for-clubs) ---- */
.laptop .ui{border-radius:8px;}
.laptop .ap{grid-template-columns:96px 1fr;min-height:0;}
.laptop .ap-brand{padding:11px 9px;gap:7px;}
.laptop .ap-mark{width:22px;height:22px;border-radius:6px;font-size:11px;}
.laptop .ap-club{font-size:10.5px;}
.laptop .ap-navlist{padding:7px 6px;gap:1px;}
.laptop .ap-navlist a{font-size:9.5px;padding:5px 8px;border-radius:6px;}
.laptop .ap-navfoot{display:none;}
.laptop .ap-top{height:36px;padding:0 11px;}
.laptop .ap-title{font-size:12px;}
.laptop .ap-action{font-size:9px;padding:6px 9px;}
.laptop .ap-content{padding:11px;}
.laptop .ap-kpis{grid-template-columns:1fr 1fr;gap:8px;}
.laptop .ap-kpi{padding:8px 10px;border-radius:9px;}
.laptop .ap-kpi .lab{font-size:7.5px;}
.laptop .ap-kpi .val{font-size:19px;}
.laptop .ap-kpi .sub{font-size:8px;margin-top:4px;}
.laptop .ap-kpi .pbar{height:5px;margin-top:6px;}
.laptop .ap-occ{height:44px;gap:4px;}
.laptop .ap-occ-ax{font-size:8px;margin-top:4px;}

/* roadmap 4-card grid (reuses .step cards) */
.steps.four{grid-template-columns:repeat(4,1fr);}
.steps.four .step{padding:26px 24px;}
.steps.four .step .pill{margin:0 0 4px;}
@media(max-width:900px){.steps.four{grid-template-columns:1fr 1fr;}}

/* homepage product-tour: lock the four player phones to one device height */
.screens .screen-card .phone .screen > .ui{height:560px;overflow:hidden;}

/* tour phone-1 landing extras (amenities strip + membership teaser) */
.rc-amen{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:12px 14px 0;}
.rc-amen .a{border:1px solid var(--line);border-radius:9px;padding:9px 5px;text-align:center;}
.rc-amen .a svg{width:15px;height:15px;margin:0 auto 4px;color:var(--ink-2);}
.rc-amen .a b{font-family:var(--ff-d);font-size:8.5px;font-weight:700;display:block;line-height:1.1;}
.rc-amen .a span{font-size:7px;color:var(--slate-2);}
.rc-memteaser{margin:11px 14px 14px;border:1px solid var(--blue-100);background:var(--blue-050);border-radius:11px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.rc-memteaser .t b{font-family:var(--ff-d);font-weight:800;font-size:11.5px;display:block;}
.rc-memteaser .t span{font-size:8px;color:var(--slate);}
.rc-memteaser .j{font-family:var(--ff-d);font-weight:700;font-size:9px;background:var(--blue);color:#fff;padding:7px 12px;border-radius:99px;white-space:nowrap;}

/* tour: lock the four operator boxes to one height */
.screens .opscreen{height:330px;}

/* active-page indicator: lime underline under the current nav link */
.nav-links a{position:relative;}
.nav-links a.active{color:#fff;}
.nav.scrolled .nav-links a.active{color:var(--ink);}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2.5px;border-radius:99px;background:var(--lime);box-shadow:0 0 8px rgba(195,245,60,.45);}

/* tour: keep phone/screen cards phone-shaped & centred at every width */
.screens .screen-card{max-width:300px;margin-left:auto;margin-right:auto;width:100%;}

/* scroll-reveal: fade + rise as elements enter the viewport (JS-gated, reduced-motion safe) */
@media (prefers-reduced-motion: no-preference){
  .reveal-on .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .7s cubic-bezier(.2,.7,.2,1);}
  .reveal-on .reveal.in{opacity:1;transform:none;}
}

/* ===================== CONTENT / RESOURCES PAGES ===================== */
.prose{max-width:760px;margin:0 auto;font-size:17px;color:var(--ink-2);line-height:1.7;}
.prose > p{margin:0 0 18px;}
.prose .lead{font-size:19px;color:var(--slate);margin:0 0 26px;}
.prose h2{font-family:var(--ff-d);font-weight:800;font-size:clamp(23px,3vw,30px);letter-spacing:-.02em;margin:38px 0 12px;color:var(--ink);}
.prose h3{font-family:var(--ff-d);font-weight:800;font-size:19px;margin:26px 0 8px;color:var(--ink);}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px;}
.prose li{margin:7px 0;}
.prose a{color:var(--blue);font-weight:600;}
.prose strong{color:var(--ink);}
.prose blockquote{margin:22px 0;padding:14px 18px;border-left:3px solid var(--lime);background:var(--bg);border-radius:0 10px 10px 0;color:var(--ink);}
.prose .keytake{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg);padding:20px 22px;margin:26px 0;}
.prose .keytake b{font-family:var(--ff-m);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:8px;}
.meta-line{font-family:var(--ff-m);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#9fc0ff;}

/* resources hub */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.res-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-sm);transition:transform .2s,box-shadow .2s;color:var(--ink);}
.res-card:hover{transform:translateY(-4px);box-shadow:var(--sh);}
.res-card .tag{font-family:var(--ff-m);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);}
.res-card h3{font-family:var(--ff-d);font-weight:800;font-size:18px;margin:10px 0 8px;letter-spacing:-.02em;}
.res-card p{font-size:14.5px;color:var(--slate);}
.res-sec-title{font-family:var(--ff-d);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-2);margin:0 0 16px;}
.res-block + .res-block{margin-top:48px;}

/* pros/cons + ranked list (best-of pages) */
.poc{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 8px;}
.poc > div{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--paper);}
.poc h4{font-family:var(--ff-m);font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;}
.poc .pro h4{color:var(--green);}
.poc .con h4{color:#b5485a;}
.poc ul{list-style:none;margin:0;padding:0;font-size:14px;}
.poc li{padding:4px 0;color:var(--ink-2);}
.rankhead{display:flex;align-items:baseline;gap:11px;margin:36px 0 4px;}
.rankhead .n{font-family:var(--ff-d);font-weight:900;font-size:24px;color:var(--blue);line-height:1;}
.rankhead h2{margin:0;}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.related a{display:block;border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--paper);color:var(--ink);font-weight:700;font-size:15px;box-shadow:var(--sh-sm);}
.related a:hover{border-color:var(--slate-2);}
.related a span{display:block;font-family:var(--ff-m);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-bottom:5px;}
@media(max-width:860px){.res-grid,.related{grid-template-columns:1fr;}}
@media(max-width:560px){.poc{grid-template-columns:1fr;}}
