:root{
    --bg:#06131f;
    --bg2:#091c2b;
    --panel:#0b2031;
    --line:#17374c;
    --text:#edf6ff;
    --muted:#8ea7ba;
    --aqua:#55d2cf;
    --aqua2:#6df2e8;
    --gold:#f4bb30;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:
        radial-gradient(circle at 20% -10%,rgba(85,210,207,.16),transparent 31rem),
        linear-gradient(180deg,#06131f,#071722 70%);
    color:var(--text);
    font-family:Inter,Segoe UI,Arial,sans-serif;
}
a{color:inherit}
.site-header{
    position:sticky;top:0;z-index:100;
    display:flex;align-items:center;justify-content:space-between;
    max-width:1500px;margin:auto;padding:20px 34px;
    background:rgba(6,19,31,.88);backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(255,255,255,.06)
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{
    display:grid;place-items:center;width:44px;height:44px;border-radius:13px;
    background:var(--aqua);color:#04202b;font-size:22px;font-weight:900
}
.brand strong,.brand small{display:block}
.brand strong{font-size:18px}.brand small{margin-top:3px;color:var(--muted);font-size:10px}
nav{display:flex;align-items:center;gap:26px}
nav a{text-decoration:none;color:#abc0ce;font-size:13px}
nav a:hover{color:#fff}
.nav-login{padding:10px 17px;border:1px solid #5acdc9;border-radius:8px;color:#fff!important}
.hero{
    position:relative;overflow:hidden;
    display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
    gap:70px;align-items:center;max-width:1450px;margin:auto;padding:92px 50px 100px
}
.hero-glow{
    position:absolute;width:600px;height:600px;border-radius:50%;right:-200px;top:-270px;
    background:rgba(85,210,207,.08);filter:blur(40px);pointer-events:none
}
.eyebrow{display:block;color:var(--aqua2);font-size:10px;font-weight:900;letter-spacing:2.1px}
.hero h1{margin:18px 0 22px;font-size:clamp(54px,6vw,95px);line-height:.94;letter-spacing:-5px;max-width:890px}
.hero h1 span{color:var(--aqua)}
.hero-lead{max-width:760px;color:#acc0ce;font-size:20px;line-height:1.65}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{
    display:inline-flex;justify-content:center;align-items:center;
    min-height:48px;padding:0 21px;border-radius:8px;text-decoration:none;
    border:1px solid transparent;font-weight:800;font-size:13px;cursor:pointer
}
.btn.primary{background:var(--aqua);color:#06202b}
.btn.primary:hover{background:#72e5df}
.btn.secondary{border-color:#36586f;color:#eaf6ff;background:#0a1d2b}
.hero-points{display:flex;gap:25px;flex-wrap:wrap;margin-top:28px;color:#8ea8bb;font-size:12px}
.hero-login{
    position:relative;padding:28px;border:1px solid #24475d;border-radius:20px;
    background:linear-gradient(145deg,rgba(13,38,56,.96),rgba(7,24,37,.96));
    box-shadow:0 30px 90px rgba(0,0,0,.27)
}
.login-heading h2{margin:8px 0;font-size:31px}.login-heading p{color:var(--muted);font-size:13px;line-height:1.5}
.hero-login label{display:block;margin:16px 0 7px;color:#cfe0eb;font-size:11px;font-weight:800}
.hero-login input[type=email],.hero-login input[type=password]{
    width:100%;height:49px;padding:0 13px;border:1px solid #24475d;border-radius:8px;
    background:#061522;color:#fff;outline:none
}
.hero-login input:focus{border-color:var(--aqua)}
.remember{display:flex!important;align-items:center;gap:8px!important;font-weight:400!important;color:var(--muted)!important}
.remember input{accent-color:var(--aqua)}
.login-button{width:100%;margin-top:5px;border:0}
.create-account-button{width:100%;margin-top:10px;min-height:44px;border-color:#4b748a;color:#dff8fb;background:rgba(8,31,45,.65)}
.create-account-button:hover{border-color:var(--aqua);color:#fff;background:rgba(94,234,212,.08)}
.login-links{text-align:center;margin-top:14px}.login-links a{color:#84c9d3;font-size:11px}
.intro,.showcase,.audience,.final-cta{max-width:1400px;margin:auto}
.intro{padding:95px 50px 58px;text-align:center}
.intro h2,.section-heading h2,.audience h2,.final-cta h2{font-size:clamp(36px,4vw,62px);letter-spacing:-2.4px;line-height:1.05;margin:15px 0}
.intro p{max-width:880px;margin:20px auto 0;color:#a6bac9;font-size:18px;line-height:1.7}
.feature-grid{
    max-width:1400px;margin:0 auto 115px;padding:0 50px;
    display:grid;grid-template-columns:repeat(4,1fr);gap:12px
}
.feature-grid article{
    min-height:230px;padding:25px;border:1px solid var(--line);border-radius:15px;background:rgba(10,31,47,.72)
}
.feature-icon{font-size:25px}.feature-grid h3{margin:22px 0 9px;font-size:19px}
.feature-grid p{margin:0;color:#8fa7b8;font-size:13px;line-height:1.6}
.showcase{padding:30px 50px 110px}
.section-heading{max-width:800px;margin-bottom:35px}.section-heading p{color:var(--muted)}
.showcase-feature{display:grid;grid-template-columns:.55fr 1.45fr;gap:30px;align-items:center;margin-bottom:30px}
.shot-copy{padding:20px}.shot-copy h3{font-size:37px;margin:13px 0}.shot-copy p{color:#9ab0bf;line-height:1.7}
.shot-frame{
    overflow:hidden;border:1px solid #25475d;border-radius:16px;background:#06121e;
    box-shadow:0 25px 70px rgba(0,0,0,.24)
}
.shot-frame img{display:block;width:100%;height:auto}
.shot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.shot-grid article{padding:0 0 15px}.shot-grid h3{margin:16px 4px 7px}.shot-grid p{margin:0 4px;color:#8da4b6;font-size:13px;line-height:1.5}
.audience{padding:90px 50px}
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}
.audience-grid div{padding:22px;border:1px solid var(--line);border-radius:12px;background:#091d2c}
.audience-grid strong,.audience-grid span{display:block}.audience-grid strong{font-size:18px}.audience-grid span{margin-top:8px;color:#8fa7b8;font-size:12px;line-height:1.5}
.final-cta{
    margin-top:40px;margin-bottom:70px;padding:48px 50px;border:1px solid #285063;border-radius:22px;
    background:linear-gradient(100deg,#0c2738,#09202d);
    display:flex;justify-content:space-between;align-items:center;gap:30px
}
.final-cta h2{font-size:42px}.final-cta p{color:#9bb0bf}
footer{
    border-top:1px solid rgba(255,255,255,.07);padding:30px 50px;
    display:flex;align-items:center;justify-content:space-between;color:#70899b;font-size:11px
}
.footer-brand .brand-mark{width:35px;height:35px;border-radius:9px;font-size:16px}
@media(max-width:1050px){
    .hero{grid-template-columns:1fr;padding-top:60px}.hero-login{max-width:650px}
    .feature-grid{grid-template-columns:repeat(2,1fr)}
    .showcase-feature{grid-template-columns:1fr}.shot-grid{grid-template-columns:1fr}
    .audience-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
    .site-header{padding:15px 18px}.site-header nav a:not(.nav-login){display:none}
    .hero,.intro,.feature-grid,.showcase,.audience{padding-left:20px;padding-right:20px}
    .hero{padding-top:45px;gap:40px}.hero h1{font-size:53px;letter-spacing:-3px}
    .hero-lead{font-size:16px}.feature-grid{grid-template-columns:1fr}
    .audience-grid{grid-template-columns:1fr}.final-cta{margin:25px 20px 50px;padding:32px 25px;display:block}
    .final-cta .btn{margin-top:15px}footer{padding:25px 20px;gap:20px;align-items:flex-start}
}

.home-leaderboards{max-width:1400px;margin:auto;padding:70px 50px 115px}
.leader-widget{padding:24px;border:1px solid #25475d;border-radius:18px;background:#091d2c}
.leader-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.leader-control label{display:block;margin-bottom:6px;color:#9db1c0;font-size:10px;font-weight:800}
.leader-control select{width:100%;height:43px;padding:0 10px;border:1px solid #2a485c;border-radius:8px;background:#061522;color:#edf6ff}
.leader-tabs,.leader-metrics{display:flex;gap:7px;flex-wrap:wrap}
.leader-tabs{margin-top:18px}
.leader-metrics{margin-top:8px}
.leader-tabs button,.leader-metrics button{padding:8px 13px;border:1px solid #29485c;border-radius:7px;background:#071725;color:#a8bdcc;font-size:10px;font-weight:800;cursor:pointer}
.leader-tabs button.active,.leader-metrics button.active{border-color:#55d2cf;background:#55d2cf;color:#05202a}
.leader-widget-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:22px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.08)}
.leader-widget-heading h3{margin:6px 0 0;font-size:26px}
.leader-full-link{color:#70d8d5;text-decoration:none;font-size:11px;font-weight:800}
.leader-list{display:grid}
.home-leader-row{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:13px;padding:14px 5px;border-bottom:1px solid rgba(255,255,255,.07)}
.home-leader-rank{text-align:center;font-size:18px;font-weight:900}
.home-leader-player strong,.home-leader-player span{display:block}
.home-leader-player strong{font-size:14px}.home-leader-player span{margin-top:3px;color:#829bad;font-size:10px}
.home-leader-value{color:#61ddd8;font-size:22px}
.leader-empty{padding:25px;text-align:center;color:#8ca5b5;font-size:12px}
@media(max-width:850px){.leader-controls{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.home-leaderboards{padding-left:20px;padding-right:20px}.leader-widget-heading{align-items:flex-start;flex-direction:column}.home-leader-row{grid-template-columns:42px 1fr auto}}
@media(max-width:500px){.leader-controls{grid-template-columns:1fr}}

.demo-section,.pricing-section,.demo-leaders{max-width:1400px;margin:auto;padding:70px 50px 110px}
.demo-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.demo-choice{padding:30px;border:1px solid #25546a;border-radius:19px;background:linear-gradient(145deg,#0b2435,#091a28)}
.demo-role,.plan-name{color:#67e1dc;font-size:10px;font-weight:900;letter-spacing:1.7px}
.demo-choice h3,.price-card h3{font-size:29px;margin:12px 0}.demo-choice p,.plan-for{color:#8ea6b7;line-height:1.6}
.mini-calendar{display:grid;grid-template-columns:85px 1fr;gap:6px;margin:23px 0}.mini-calendar b,.mini-calendar span{padding:9px;background:#071725;border-radius:7px}.mini-calendar b{color:#61d9d4;font-size:10px}.mini-calendar span{color:#a7bac7;font-size:11px}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:23px 0}.mini-stats div{text-align:center;padding:12px;background:#071725;border-radius:8px}.mini-stats strong,.mini-stats span{display:block}.mini-stats strong{font-size:22px}.mini-stats span{margin-top:3px;color:#728b9d;font-size:8px}
.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mock-card{padding:22px;border:1px solid #1c3d52;border-radius:15px;background:#091c2b}.mock-card h3{margin:10px 0 17px}.mock-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;background:#061522;border-radius:11px;padding:18px}.mock-score strong{font-size:38px}.mock-score strong:first-child{text-align:left}.mock-score strong:last-child{text-align:right}.mock-score span{color:#65d9d4;font-size:9px}.mock-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.mock-tabs span{padding:6px 8px;border:1px solid #23475b;border-radius:6px;color:#829cac;font-size:8px}.mock-player,.mock-event{display:grid;grid-template-columns:35px 1fr;gap:8px;padding:9px 0;border-top:1px solid rgba(255,255,255,.06)}.mock-player b,.mock-event b{color:#5ed7d2}.mock-player span,.mock-event span{color:#a1b5c1;font-size:11px}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch}.price-card{position:relative;padding:28px;border:1px solid #1d4054;border-radius:17px;background:#091d2c}.price-card.featured{border-color:#55d2cf;box-shadow:0 0 0 1px rgba(85,210,207,.15),0 25px 70px rgba(0,0,0,.18)}.popular{position:absolute;right:18px;top:18px;padding:5px 7px;border-radius:999px;background:#153a3c;color:#69e5df;font-size:8px;font-weight:900}.price-card ul{margin:23px 0;padding-left:19px;color:#aac0cd}.price-card li{margin:10px 0;font-size:12px}.price-note{display:block;margin-top:22px;padding-top:15px;border-top:1px solid rgba(255,255,255,.08);color:#6ddbd6;font-size:10px}.plan-footnote{color:#758e9f;font-size:10px;margin-top:14px}.demo-leader-list{border:1px solid #1c3d52;border-radius:15px;overflow:hidden;background:#091d2c}.demo-leader-list>div{display:grid;grid-template-columns:55px 1fr auto;align-items:center;padding:15px 18px;border-bottom:1px solid rgba(255,255,255,.06)}.demo-leader-list>div:last-child{border-bottom:0}.demo-leader-list strong{color:#5fd8d3}.demo-leader-list span b,.demo-leader-list span small{display:block}.demo-leader-list span small{margin-top:4px;color:#728c9e}.demo-leader-list em{font-style:normal;color:#68ded9;font-size:21px}
@media(max-width:900px){.demo-choice-grid,.pricing-grid,.mock-grid{grid-template-columns:1fr}.demo-section,.pricing-section,.demo-leaders{padding-left:20px;padding-right:20px}}

/* Sprint 15.10C - visual plan comparison */
.compare-plans .price-card{display:flex;flex-direction:column}
.feature-checklist{display:grid;gap:7px;margin-top:20px;flex:1}
.feature-checklist>div{display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:center;min-height:31px;padding:6px 8px;border-radius:8px;font-size:11px}
.feature-checklist .included{background:rgba(85,210,207,.07);color:#dcecf4}
.feature-checklist .not-included{color:#526d7e}
.check-box{display:grid;place-items:center;width:19px;height:19px;border-radius:5px;border:1px solid #34576b;font-size:12px;font-weight:900;line-height:1}
.included .check-box{background:#55d2cf;border-color:#55d2cf;color:#05202a}
.not-included .check-box{background:#071725;border-color:#233f52}
.compare-plans .price-note{margin-top:22px}

/* Sprint 15.10D - side-by-side pricing comparison */
.plan-comparison{
    overflow:hidden;
    border:1px solid #24485e;
    border-radius:18px;
    background:#091d2c;
    box-shadow:0 28px 80px rgba(0,0,0,.18)
}
.compare-header,
.compare-row,
.compare-footer{
    display:grid;
    grid-template-columns:minmax(280px,1.65fr) repeat(3,minmax(150px,.75fr))
}
.compare-header{border-bottom:1px solid #24485e}
.feature-heading,.plan-heading{
    min-height:126px;
    padding:22px;
    display:flex;
    flex-direction:column;
    justify-content:center
}
.feature-heading strong{margin-top:8px;font-size:26px}
.feature-heading small{margin-top:5px;color:#7892a4}
.plan-heading{
    text-align:center;
    align-items:center;
    border-left:1px solid rgba(255,255,255,.08)
}
.plan-heading>span{font-size:12px;font-weight:900;letter-spacing:1.1px}
.plan-heading strong{margin:10px 0 4px;font-size:31px}
.plan-heading small{color:rgba(255,255,255,.72);font-size:9px}
.plan-heading.free{background:linear-gradient(180deg,#0e6d69,#0b4a4a)}
.plan-heading.standard{background:linear-gradient(180deg,#176c83,#12485b)}
.plan-heading.premium{background:linear-gradient(180deg,#65418f,#452e69)}
.compare-row{min-height:52px;border-bottom:1px solid rgba(255,255,255,.06)}
.compare-row:last-child{border-bottom:0}
.feature-name{
    display:flex;align-items:center;
    padding:12px 20px;
    color:#b9cbd6;
    font-size:12px
}
.plan-cell{
    display:grid;place-items:center;
    border-left:1px solid rgba(255,255,255,.06);
    background:rgba(255,255,255,.012)
}
.plan-cell .yes,
.plan-cell .no{
    display:grid;place-items:center;
    width:28px;height:28px;
    border-radius:50%;
    font-size:19px;
    font-weight:900
}
.plan-cell .yes{color:#55e0d8;background:rgba(85,224,216,.10)}
.plan-cell .no{color:#e66b7c;background:rgba(230,107,124,.08)}
.compare-footer{
    border-top:1px solid #24485e;
    background:#071725
}
.compare-footer>div{
    min-height:76px;
    display:grid;place-items:center;
    border-left:1px solid rgba(255,255,255,.06)
}
.compare-footer>div:first-child{border-left:0}
.plan-action{
    display:inline-flex;
    min-width:108px;
    justify-content:center;
    padding:9px 12px;
    border-radius:8px;
    font-size:9px;
    font-weight:900;
    letter-spacing:.8px;
    text-transform:uppercase
}
.free-action{background:#0e6d69;color:#dffdfb}
.standard-action{background:#176c83;color:#effbff}
.premium-action{background:#65418f;color:#fff}
@media(max-width:850px){
    .plan-comparison{overflow-x:auto}
    .compare-header,.compare-row,.compare-footer{
        min-width:760px;
        grid-template-columns:270px repeat(3,160px)
    }
}

/* Sprint 15.10E - visual 3-card pricing */
.visual-plan-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    align-items:stretch
}
.visual-plan-card{
    position:relative;
    min-height:560px;
    overflow:hidden;
    border:1px solid #24485e;
    border-radius:22px;
    box-shadow:0 28px 80px rgba(0,0,0,.28);
    background:#081724
}
.visual-plan-card .plan-image{
    position:absolute;inset:0;
    background-position:center;
    background-size:cover;
    transform:scale(1.03);
    filter:saturate(.9) contrast(1.02)
}
.free-plan .plan-image{
    background-image:url('/images/landing/calendar.png')
}
.standard-plan .plan-image{
    background-image:url('/images/landing/team-portal.png')
}
.premium-plan .plan-image{
    background-image:url('/images/landing/live-scoring.png')
}
.visual-plan-card .plan-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(4,14,23,.44) 0%,rgba(4,15,24,.82) 38%,rgba(3,12,20,.97) 100%)
}
.free-plan .plan-overlay{
    background:linear-gradient(180deg,rgba(8,73,71,.36) 0%,rgba(4,20,28,.84) 42%,rgba(3,12,20,.97) 100%)
}
.standard-plan .plan-overlay{
    background:linear-gradient(180deg,rgba(17,86,101,.38) 0%,rgba(4,20,28,.84) 42%,rgba(3,12,20,.97) 100%)
}
.premium-plan .plan-overlay{
    background:linear-gradient(180deg,rgba(83,48,116,.40) 0%,rgba(16,16,31,.84) 42%,rgba(3,12,20,.97) 100%)
}
.plan-content{
    position:relative;
    z-index:2;
    height:100%;
    display:flex;
    flex-direction:column;
    padding:28px
}
.plan-kicker{
    color:#71e4df;
    font-size:10px;
    font-weight:900;
    letter-spacing:2px
}
.plan-ribbon{
    align-self:flex-start;
    margin-top:9px;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(85,210,207,.14);
    border:1px solid rgba(85,210,207,.38);
    color:#7aebe5;
    font-size:8px;
    font-weight:900;
    letter-spacing:1px
}
.visual-plan-card h3{
    margin:14px 0 8px;
    font-size:33px;
    letter-spacing:-1px
}
.visual-plan-card p{
    margin:0;
    color:#a4b9c6;
    line-height:1.6
}
.plan-points{
    display:grid;
    gap:9px;
    margin:25px 0 30px
}
.plan-points span{
    color:#d5e5ed;
    font-size:12px
}
.plan-price-button{
    margin-top:auto;
    display:grid;
    place-items:center;
    min-height:118px;
    padding:14px 18px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(7,23,35,.76);
    backdrop-filter:blur(8px);
    text-decoration:none;
    transition:.2s ease
}
.plan-price-button:hover{
    transform:translateY(-3px);
    border-color:#66ddd7;
    background:rgba(11,44,56,.88)
}
.plan-price-button small{
    color:#8da6b6;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:1px
}
.plan-price-button strong{
    margin:4px 0;
    color:#fff;
    font-size:31px
}
.plan-price-button span{
    color:#6fe1dc;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.8px
}
.featured-plan{
    transform:translateY(-8px);
    border-color:#55d2cf;
    box-shadow:0 0 0 1px rgba(85,210,207,.16),0 34px 90px rgba(0,0,0,.32)
}
@media(max-width:950px){
    .visual-plan-grid{grid-template-columns:1fr}
    .visual-plan-card{min-height:500px}
    .featured-plan{transform:none}
}

/* PCP Concept 2 official branding */
.brand-mark.pcp-brand-image{
  background:url('/branding/pcp-app-icon.png') center/contain no-repeat!important;
  color:transparent!important;
  box-shadow:none!important;
}
