/* ================================================================
   MPL PURSUITS — Core Stylesheet
   Shared across all pages. Page-specific styles live inline.
================================================================ */

/* RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* TOKENS */
:root{
  --ink:#23103c;--ivory:#fdf8ff;--warm:#f5eeff;--border:#ddd0f0;
  --muted:#7a6890;--hint:#a898bc;--gold:#e8620a;--gold-dk:#c85208;
  --purple:#7c3aed;--serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
}

/* BASE */
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--ink);color:#e8d8ff}

/* NAV */
nav{position:sticky;top:0;z-index:100;background:#1e0a3c;border-bottom:0.5px solid #3d1f5a;padding:0 2.5rem;height:72px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;text-decoration:none;gap:10px}
.nav-logo img{height:42px;width:auto;object-fit:contain}
.nav-logo-text{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:#e8d8ff}
.nav-links{display:flex;gap:1.5rem;list-style:none;align-items:center}
.nav-links>li{position:relative}
.nav-links>li>a{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#c8a8e8;text-decoration:none;font-weight:500;transition:color .2s;display:flex;align-items:center;gap:4px;padding:8px 0}
.nav-links>li>a:hover,.nav-links>li>a.active{color:#fff}
.nav-links>li>a .drop-arrow{font-size:9px;opacity:.6;transition:transform .2s}
.nav-links>li:hover>a .drop-arrow,.nav-links>li:focus-within>a .drop-arrow{transform:rotate(180deg)}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#200e42;border:1px solid #5a2a8a;min-width:200px;display:none;flex-direction:column;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.nav-links>li:hover .dropdown,.nav-links>li:focus-within .dropdown{display:flex}
.dropdown a{font-size:12px;color:#c8a8e8;text-decoration:none;padding:10px 16px;border-bottom:0.5px solid #2a1040;transition:all .2s;letter-spacing:.5px;white-space:nowrap}
.dropdown a:last-child{border-bottom:none}
.dropdown a:hover{background:#301258;color:#fff;padding-left:22px}
.nav-right{display:flex;align-items:center;gap:10px}
.nav-login{background:none;border:0.5px solid #3d1f5a;padding:8px 16px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;font-family:var(--sans);color:#c8a8e8;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.nav-login:hover{border-color:#fff;color:#fff}
.nav-cta{background:var(--gold);color:#fff;padding:9px 20px;font-size:11px;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--sans);transition:background .2s;text-decoration:none;display:inline-block}
.nav-cta:hover{background:var(--gold-dk)}
.nav-membership{color:#c9a96e!important;background:none;padding:7px 0;display:inline-flex!important;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:1.5px;text-decoration:none;transition:color .2s}
.nav-membership:hover{color:#e8c882!important}
.nav-mobile-toggle{display:none;background:none;border:none;cursor:pointer;font-size:22px;color:#e8d8ff}

/* Mobile nav */
@media(max-width:768px){
  nav{padding:0 1.5rem}
  .nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:#1e0a3c;border-bottom:1px solid #7a4a9a;padding:1rem 1.5rem;flex-direction:column;gap:0}
  .nav-links.open{display:flex}
  .nav-links li a{padding:10px 0;display:block}
  .nav-mobile-toggle{display:block}
  .nav-login,.nav-cta{font-size:9px;padding:5px 10px}
  .dropdown{position:static;transform:none;display:none;background:#301258;border:none;box-shadow:none;padding-left:1rem}
  .nav-links>li:hover .dropdown,.nav-links>li:focus-within .dropdown{display:none}
  .nav-links>li.open .dropdown{display:flex;flex-direction:column;position:static;transform:none;border:none;box-shadow:none;background:#301258;padding-left:1rem}
}

/* LAYOUT */
section{border-bottom:0.5px solid #3d1f5a}
.inner{max-width:1200px;margin:0 auto;padding:5rem 3rem}
@media(max-width:768px){.inner{padding:3rem 1.5rem}}

/* TYPOGRAPHY */
.eyebrow,.section-eyebrow,.page-eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#8a68a8;margin-bottom:1.5rem}
.serif-h,.serif-heading{font-family:var(--serif);font-weight:300;line-height:1.1;color:#e8d8ff}
.serif-h em,.serif-heading em{font-style:italic;color:var(--gold)}
.body-copy{font-size:13px;color:#c8a8e8;line-height:1.85}

/* BUTTONS */
.btn-orange{background:var(--gold);color:#fff;padding:13px 28px;font-size:11px;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--sans);transition:background .2s;text-decoration:none;display:inline-block}
.btn-orange:hover{background:var(--gold-dk)}
.btn-ghost{background:none;color:var(--ivory);padding:13px 28px;font-size:11px;letter-spacing:2px;text-transform:uppercase;border:0.5px solid rgba(255,255,255,.35);cursor:pointer;font-family:var(--sans);text-decoration:none;display:inline-block;transition:all .2s}
.btn-ghost:hover{border-color:#fff;background:rgba(100,50,150,.15)}
.btn-ivory{background:var(--ink);color:#e8d8ff;padding:13px 28px;font-size:11px;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--sans);text-decoration:none;display:inline-block}
.btn-white{background:#fff;color:var(--gold);padding:13px 28px;font-size:11px;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--sans);font-weight:500;text-decoration:none;display:inline-block;margin:0 6px}
.btn-white:hover{background:#1e0a3c;color:var(--purple)}
.btn-book{background:var(--gold);color:#fff;padding:12px 24px;font-size:11px;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--sans);font-weight:500;transition:background .2s;text-decoration:none;display:inline-block;align-self:flex-start}
.btn-book:hover{background:var(--gold-dk)}

/* PAGE HERO — wide/left-aligned (hub pages: about, tennis, coaching, etc.) */
.page-hero{background:var(--ink);padding:6rem 3rem 5rem;border-bottom:0.5px solid #3d1f5a}
.page-hero-inner{max-width:1200px;margin:0 auto}
.page-hero h1{font-family:var(--serif);font-size:60px;font-weight:300;line-height:1.05;color:var(--ivory)}
.page-hero h1 em{font-style:italic;color:var(--gold)}
.page-hero-sub{font-size:15px;color:#8a68a8;line-height:1.8;margin-top:1.5rem;max-width:560px}
.page-hero-btns{display:flex;gap:14px;margin-top:2.5rem;flex-wrap:wrap}

/* PAGE HERO — centered variant (content pages; add class page-hero--center) */
.page-hero--center{padding:5rem 2rem 4rem;text-align:center;background:radial-gradient(ellipse at 60% 40%,#341460 0%,var(--ink) 65%)}
.page-hero--center .page-eyebrow{margin-bottom:1.25rem}
.page-h{font-family:var(--serif);font-size:clamp(38px,5vw,64px);font-weight:300;line-height:1.1;color:#e8d8ff;margin-bottom:1.25rem}
.page-h em{font-style:italic;color:var(--gold)}
.page-sub{font-size:14px;color:#c8a8e8;line-height:1.85;max-width:560px;margin:0 auto}
@media(max-width:768px){.page-hero{padding:3rem 1.5rem}.page-hero h1{font-size:40px}}

/* CONTENT PAGE BODY */
.content-wrap{max-width:820px;margin:0 auto;padding:4rem 2rem}
.content-section{margin-bottom:3rem}
.content-section h2{font-family:var(--serif);font-size:clamp(26px,3vw,36px);font-weight:300;color:#e8d8ff;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:0.5px solid #3d1f5a}
.content-section h3{font-family:var(--serif);font-size:20px;font-weight:400;color:#c8a8e8;margin:1.5rem 0 .5rem}
.content-section p{font-size:14px;color:#c8a8e8;line-height:1.9;margin-bottom:1rem}
.content-section ul{padding-left:1.25rem;margin-bottom:1rem}
.content-section ul li{font-size:14px;color:#c8a8e8;line-height:1.85;margin-bottom:.4rem}

/* CTA STRIP */
.cta-strip{background:var(--gold);padding:5rem 3rem;text-align:center}
.cta-strip h2{font-family:var(--serif);font-size:48px;font-weight:300;color:#fff;margin-bottom:1rem}
.cta-strip p{font-size:14px;color:rgba(255,255,255,.8);max-width:500px;margin:0 auto 2rem;line-height:1.75}

/* HERO CREDENTIALS (replaces stats bar) */
.hero-creds{display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:2rem;border-top:0.5px solid #3d1f5a}
.hero-cred{display:flex;flex-direction:column;gap:5px}
.hero-cred-val{font-family:var(--serif);font-size:24px;font-weight:300;color:var(--gold);line-height:1}
.hero-cred-lbl{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#8a68a8}
@media(max-width:768px){.hero-creds{gap:1.5rem}}

/* MEMBERSHIP CTA */
.membership-cta{padding:5rem 2rem;background:linear-gradient(180deg,var(--ink) 0%,#150930 100%);border-top:0.5px solid #3d1f5a;text-align:center}
.cta-wrap{max-width:1100px;margin:0 auto}
.cta-eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#8a68a8;margin-bottom:1rem}
.cta-heading{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:300;color:#e8d8ff;margin-bottom:1rem;line-height:1.2}
.cta-heading em{font-style:italic;color:var(--gold)}
.cta-body{font-size:14px;color:#c8a8e8;max-width:500px;margin:0 auto 3rem;line-height:1.85}
.cta-signin{font-size:12px;color:#8a68a8;margin-top:1.5rem}
.cta-signin a{color:var(--gold);text-decoration:none}
.cta-signin a:hover{text-decoration:underline}
.pricing-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}
.pricing-card{background:#200c40;border:0.5px solid #3d1f5a;padding:2rem 1.5rem;position:relative;text-align:center}
.pricing-card.pricing-featured{border-color:var(--gold)}
.pricing-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--gold);color:#fff;font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:3px 12px;white-space:nowrap}
.pricing-tier-label{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:#8a68a8;margin-bottom:.75rem}
.pricing-featured .pricing-tier-label{color:var(--gold)}
.pricing-price{font-family:var(--serif);font-size:36px;font-weight:300;color:#e8d8ff;margin-bottom:.5rem}
.pricing-price span{font-size:14px;color:#8a68a8}
.pricing-desc{font-size:12px;color:#a888c8;line-height:1.7;margin-bottom:1.5rem;min-height:3rem}
.pricing-btn{display:block;background:var(--gold);color:#fff;padding:11px 24px;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:background .2s}
.pricing-btn:hover{background:var(--gold-dk)}
.pricing-btn-ghost{display:block;border:1px solid #5a2a8a;color:#c8a8e8;padding:10px 24px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:all .2s}
.pricing-btn-ghost:hover{border-color:#fff;color:#fff}
.pricing-note{font-size:10px;color:#5a3a7a;margin-top:.5rem;letter-spacing:.5px}

/* FOOTER */
footer{background:#160830;border-top:0.5px solid #3d1f5a;padding:4rem 3rem 2rem}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:0.5px solid #2e1448}
.footer-brand{font-family:var(--serif);font-size:22px;font-weight:300;letter-spacing:3px;text-transform:uppercase;color:#e8d8ff;display:block;margin-bottom:1rem}
.footer-tagline{font-size:12px;color:#8868a8;line-height:1.8}
.footer-col h4{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#7a5a98;margin-bottom:1.25rem}
.footer-col a{display:block;font-size:12px;color:#8868a8;text-decoration:none;margin-bottom:.6rem;transition:color .2s}
.footer-col a:hover{color:#e8d8ff}
.footer-copy{max-width:1200px;margin:2rem auto 0;display:flex;justify-content:space-between;align-items:center}
.footer-copy p{font-size:12px;color:#6848a8}
@media(max-width:768px){footer{padding:3rem 1.5rem 2rem}.footer-inner{grid-template-columns:1fr 1fr;gap:2rem;padding:0 0 2rem}.footer-copy{flex-direction:column;gap:.5rem;text-align:center}}

/* COMING SOON HERO */
.cs-hero{min-height:70vh;display:flex;align-items:center;padding:5rem 3rem;border-bottom:0.5px solid #3d1f5a;background:radial-gradient(ellipse at 30% 50%,#341460 0%,var(--ink) 65%)}
.cs-eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#8a68a8;margin-bottom:1.5rem}
.cs-badge{display:inline-block;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);border:0.5px solid var(--gold);padding:4px 12px;margin-bottom:1.5rem}
.cs-h{font-family:var(--serif);font-size:clamp(48px,7vw,80px);font-weight:300;line-height:1.05;color:#e8d8ff;margin-bottom:1.5rem}
.cs-h em{font-style:italic;color:var(--gold)}
.cs-body{font-size:14px;color:#c8a8e8;line-height:1.85;max-width:480px;margin-bottom:2.5rem}
.cs-btn{display:inline-block;background:var(--gold);color:#fff;padding:12px 26px;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:background .2s;margin-right:10px}
.cs-btn:hover{background:var(--gold-dk)}
.cs-btn-ghost{display:inline-block;border:0.5px solid rgba(255,255,255,.3);color:#e8d8ff;padding:12px 26px;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:all .2s}
.cs-btn-ghost:hover{border-color:#fff}

/* SUBPAGE CARDS (tennis, athlete-development, college-route hub pages) */
.subpages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:#3d1f5a;margin-top:2.5rem}
.subpage-card{background:#200c40;padding:2.5rem 2rem;text-decoration:none;display:flex;flex-direction:column;gap:.75rem;transition:background .2s}
.subpage-card:hover{background:#2c1254}
.subpage-icon{font-size:28px;color:var(--gold)}
.subpage-title{font-family:var(--serif);font-size:22px;font-weight:300;color:#e8d8ff;line-height:1.2}
.subpage-desc{font-size:13px;color:#a888c8;line-height:1.7;flex:1}
.subpage-link{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:.5rem}
