/* Big NC Tennis: 70s-80s corporate geometry layer (loaded last) */
:root{--navy:#0E2540;--blue:#029bd8;--action:#0a6fb0;--action-h:#085a8f;--lime:#ccff00;--paper:#f5f7fa;--rule:#dfe5ec;--r:0px;
--fd:"Archivo","Inter Tight",system-ui,sans-serif;--fb:"Inter Tight","Open Sans",system-ui,sans-serif}
body{font-family:var(--fb)!important}
h1,h2,h3,.section-title,.logo{font-family:var(--fd)!important;font-stretch:112%;letter-spacing:-.01em}
h1,h2{font-weight:800!important}
/* gold pill bar: Big NC AI accent */
.bncp-bar{background:var(--navy)!important;border-bottom:0!important;padding:6px 0!important}
.bncp-pill{background:#C9A227!important;border-color:#C9A227!important;color:#111!important}
.bncp-pill strong,.bncp-pill .bncp-date,.bncp-pill .bncp-sep{color:#111!important}
.bncp-pill .bncp-mark circle{stroke:#111}.bncp-pill .bncp-mark path{fill:#111}
/* header: navy with blue band */
header{background:var(--navy)!important;border-bottom:6px solid var(--blue)!important;box-shadow:inset 0 -10px 0 -4px var(--navy),0 0 0 transparent!important;position:relative}

header .btn{border-radius:0!important}
header .nav-toggle{border-radius:0!important}
.logo-mark rect{fill:var(--navy)}
header .dd{border-radius:0!important}
/* buttons */
.b-primary,.b-outline,.oc-btn,.btn,.cta,.hero-buttons a,.button{border-radius:0!important}
.b-primary{background:var(--action)!important;border-color:var(--action)!important;box-shadow:none!important}
.b-primary:hover{background:var(--action-h)!important}
/* topbar */
.topbar{background:#fff!important;border-bottom:1px solid var(--rule)!important}
/* compact heroes with geometry */
.hero{min-height:0!important;padding:40px 5% 44px!important;position:relative;overflow:hidden}
.hero h1{font-size:clamp(1.8rem,3.4vw,2.6rem)!important;line-height:1.08!important;margin-bottom:10px!important}

.hero > *{position:relative;z-index:2}
.page-hero,.pg-hero,.pl-hero{background:var(--navy)!important;color:#fff!important;position:relative;overflow:hidden;padding-top:32px!important;padding-bottom:36px!important;min-height:0!important;border-bottom:8px solid var(--blue)!important}


.page-hero > *,.pg-hero > *,.pl-hero > *{position:relative;z-index:1}
.page-hero h1,.pg-hero h1,.pl-hero h1{color:#fff!important;font-size:clamp(1.8rem,3.4vw,2.6rem)!important;line-height:1.08!important}
.page-hero :is(p,h2,h3,li,span,.sub,.lede),.pg-hero :is(p,h2,h3,li,span),.pl-hero :is(p,h2,h3,li,span){color:#E7EDF4!important}
.page-hero a:not([class]),.pg-hero a:not([class]),.pl-hero a:not([class]){color:var(--lime)!important}
.page-hero .b-outline,.pg-hero .b-outline,.pl-hero .b-outline{background:transparent!important;color:#fff!important;border:2px solid #fff!important}
@media (max-width:760px){.hero,.page-hero,.pg-hero,.pl-hero{padding-top:24px!important;padding-bottom:28px!important}.hero::after,}
/* Swiss heading rule */
.section-title{position:relative;padding-top:14px}

/* cards: square corners, geometric bands */
.oc,.card,.pc,.prog,.pkg,.faq-item,details,.info-card,.session-card{border-radius:0!important}
.oc-ph img,.card img{border-radius:0 0 0 0!important}
.oc-ph{border-radius:0!important;overflow:hidden}



footer{border-top:8px solid var(--blue)!important;background:var(--navy)!important}
footer a:hover{color:var(--lime)!important}
.program-card,.box,.pkg,.tile,.test-card,.how-step,.loc-grid > *{border-radius:0!important}
/* about */
.bn-profile{display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:center;background:#fff;border:1px solid var(--rule);border-left:8px solid var(--blue);padding:24px}
.bn-profile-ph{margin:0;overflow:hidden}.bn-profile-ph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.bn-profile h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:8px 0 12px;color:var(--navy)}
.bn-profile p{margin-bottom:12px;line-height:1.6}
.bn-tag{display:inline-block;background:var(--navy);color:var(--lime);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px}
.bn-facts{list-style:none;padding:0;margin:0}.bn-facts li{padding:6px 0 6px 22px;position:relative;border-top:1px solid var(--rule)}
.bn-facts li::before{content:"";position:absolute;left:0;top:13px;width:10px;height:10px;background:var(--blue)}
.bn-stand{background:var(--navy);color:#fff;padding:40px 0;position:relative;overflow:hidden}

.bn-stand .wrap{position:relative}
.bn-stand-k{color:var(--lime);font-family:var(--fd);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin-bottom:8px}
.bn-stand blockquote{font-family:var(--fd);font-weight:700;font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.3;max-width:34ch;margin:0;color:#fff}
.bn-faq{max-width:760px;margin:24px auto 0}
.bn-faq details{background:#fff;border:1px solid var(--rule);margin-bottom:8px;padding:0}
.bn-faq summary{cursor:pointer;padding:14px 16px;font-weight:700;color:var(--navy)}
.bn-faq p{padding:0 16px 14px;margin:0;line-height:1.6}
.bn-faq a{color:var(--action);font-weight:700;text-decoration:underline}
.bn-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.pg-hero .eyebrow{color:var(--lime)!important;font-family:var(--fd);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}
@media (max-width:760px){.bn-profile{grid-template-columns:1fr;padding:16px}}
.page-hero .subtitle,.pg-hero .subtitle{color:#E7EDF4!important}
.pc-locs li{background:#fff!important;color:var(--navy)!important;border-radius:0!important;border:0!important}
.max6-chip span{background:var(--lime)!important;color:var(--navy)!important;border-radius:0!important}
.btn-inquire{border-radius:0!important}
.page-hero .pc-jump{color:var(--lime)!important}
.ai-strip{display:none!important}
.bn-profile-ph img{height:auto!important;max-height:360px}
.session-block{border-radius:0!important;border-top:6px solid var(--blue)!important;padding:12px 16px!important}
.page-hero .pc-locs li{background:#fff!important;color:#0E2540!important;border-radius:0!important;border:0!important}
.page-hero .max6-chip span{background:#ccff00!important;color:#0E2540!important;border:0!important;border-radius:0!important}
.page-hero a.pc-jump{color:#ccff00!important}
.page-hero .btn-inquire{border-radius:0!important}
.bn-profile-ph img{aspect-ratio:4/3!important;height:auto!important;max-height:none!important;object-fit:cover!important;object-position:50% 30%}

/* v3: flat, no arcs */
.band-ph{display:flex;align-items:flex-end;width:100%;aspect-ratio:16/9;background:var(--navy);border-bottom:8px solid var(--blue);padding:16px;box-sizing:border-box}
.band-ph span{color:#fff;font-family:var(--fd);font-weight:800;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.1}
.pkg .amt,.harnett-prices strong{color:var(--navy)!important}
.inquire-soft h3,.harnett-level h3{color:var(--navy)!important}
.btn:hover,.btn-inquire:hover,.btn-book:hover{color:var(--navy)!important}
/* inline pill next to logo */
header .nav-container{display:flex;align-items:center;flex-wrap:nowrap}
header .logo{flex:none}
header .bncp-pill{flex:none;margin:0 auto 0 14px;font-size:12.5px!important;padding:3px 10px 3px 5px!important;white-space:nowrap;line-height:1.2}
header .bncp-pill .bncp-mark{width:18px!important;height:18px!important}
@media (max-width:1440px){header nav a,header nav button{font-size:14px!important;padding-left:7px!important;padding-right:7px!important}header .nav-container{max-width:none!important;padding-left:24px!important;padding-right:24px!important}header .logo{font-size:1.1rem!important}header .bncp-pill{margin-left:10px!important}}
@media (max-width:1366px){header .bncp-pill .bncp-dt{display:none!important}}
@media (max-width:480px){header .bncp-pill{font-size:11px!important;margin-left:8px;padding:2px 8px 2px 4px!important}header .bncp-pill .bncp-txt{white-space:nowrap}header .logo{font-size:1.05rem!important}header .logo svg{width:26px;height:26px}}
@media (max-width:360px){header .bncp-pill .bncp-txt{font-size:0}header .bncp-pill .bncp-txt strong{font-size:11px}}
header .bncp-pill{flex-wrap:nowrap!important;max-width:none!important;overflow:visible}
header .nav-container > .logo{margin-right:0!important}
@media (max-width:1440px){header nav ul{gap:.15rem 1rem!important}header nav a,header nav button{padding-left:0!important;padding-right:0!important}}
header nav{flex:0 1 auto!important;margin-left:auto!important;width:auto!important}header nav ul{justify-content:flex-end!important;width:auto!important}
/* legal */
.legal-body{max-width:760px}
.legal-body p{margin:0 0 14px;line-height:1.65;color:#2c3240}
.legal-body ul{margin:0 0 16px 20px;line-height:1.6}.legal-body li{margin-bottom:6px}
.legal-body a,.legal-foot a{text-decoration:underline}
.legal-body a{color:var(--action)}
.legal-foot{font-size:13px;line-height:1.6;color:rgba(255,255,255,.75);margin-top:12px}
.legal-foot p{margin:4px 0}
.legal-foot a{color:#fff!important}
.pl-resched{margin:12px 0;font-size:.95rem}
footer .wa-line{display:none}
@media (max-width:1440px){header .social-links{display:none!important}}
@media (max-width:480px){
header .nav-container{padding-left:12px!important;padding-right:12px!important;gap:8px}
header .logo{font-size:17px!important;white-space:nowrap}
header .logo-mark{width:24px!important;height:24px!important}
header .bncp-pill{margin:0 0 0 auto!important;padding:4px 8px!important;font-size:10.5px!important;gap:4px}
header .bncp-mark{width:16px;height:16px}
header .nav-toggle{flex:0 0 auto;margin-left:6px}
}
img.fill-ph{display:block;width:100%;height:240px;object-fit:cover;border:0;margin:0 0 14px}
.photo-stack img.fill-ph{height:360px}
.program-card img.fill-ph{height:200px;margin:0}
.photo-grid-2 figure.solo{grid-column:1/-1;border-radius:0}.photo-grid-2 figure.solo img{height:320px;object-position:center 30%}
:root:root{--primary-purple:#0E2540;--purple:#0E2540}
.program-card img.fill-ph{height:160px}
.photo-grid-2 figure.solo img{height:420px;object-position:center 72%}
.court-fig img[src*="stock-pickleball-rally"]{object-position:center 35%}
@media(max-width:600px){.photo-grid-2 figure.solo img{height:340px}}
.court-fig img.fill-ph[src*="stock-pickleball-rally"]{object-position:center 88%!important}
/* ===== v7: nav spacing ===== */
header nav li.nav-contact{margin-left:1.25rem!important}
header nav ul{column-gap:1.05rem}
@media (max-width:1366px){header nav li.nav-contact{margin-left:1rem!important}}
/* ===== v7: compact AI pill ===== */
header .bncp-pill{padding:4px 10px 4px 6px!important;font-size:12px!important;gap:5px!important;line-height:1.1}
header .bncp-pill .bncp-mark{width:17px!important;height:17px!important}
header .bncp-pill strong{font-weight:800}
/* ===== v7: ONE chip / badge system (navy on light chip, >=12:1) ===== */
.badge,.badge.gray,.badge.lime,.badge.gold,.badge.badge-hc,.chip,.chips>span,.tags>span,.tags>li,.tag,.bn-tag,.spots-pill,.season-label,.week-label,.medal-label,.pick-label,.size-label,.updated,.max6-chip,.max6-chip span,.pc-locs span,.pc-locs li{
  background:#E6F3FB!important;color:#0E2540!important;border:1px solid #8CCBEA!important;border-radius:0!important;
  font-weight:700!important;text-shadow:none!important;box-shadow:none!important;opacity:1!important}
.max6-chip span{border:0!important;padding:0!important}
.badge *,.chip *,.tag *,.updated *,.spots-pill *{color:inherit!important}
/* chips on dark surfaces: white chip, navy text */
:is(header,footer,.page-hero,.pg-hero,.pl-hero,.hero,.bn-stand,.band-ph,.when) :is(.badge,.chip,.tag,.bn-tag,.updated,.spots-pill,.season-label,.week-label,.max6-chip){background:#fff!important;color:#0E2540!important;border-color:#fff!important}
/* date blocks */
.when,.when *{background-color:#0E2540;color:#fff!important}
.when{background:#0E2540!important;border:0!important}
/* ONE meta-text color */
.meta,.meta *,.program-meta,.author-meta,.spots-meta,.meta-row,.meta-box,.fine,.dates,.sponsor-tagline,.sponsor-kicker,.sv-small,.sv-wa{color:#3E4A5C!important;opacity:1!important}
:is(header,footer,.page-hero,.pg-hero,.pl-hero,.hero,.bn-stand) :is(.meta,.program-meta,.fine,.dates,.sub){color:#E3EAF2!important}
.band-dark .card h3,.band-dark .card h2{color:#fff!important}
.side-guide a{color:#9FE0FF!important}
a.pl-jump{color:#fff!important;text-decoration:underline}
.bnc-direct,.bnc-direct p,.bnc-direct li{color:#0E2540!important}
.bnc-direct a{color:#0E2540!important;text-decoration:underline}
html body .bnc-direct p a[href]{color:#0E2540!important}
html body .bnc-direct > a[href^="mailto"]{color:#fff!important;text-decoration:none}
/* ===== v7 homepage ===== */
.hm{--pri:#0A6FB0;--ink:#0E2540;--mut:#3E4A5C;font-size:17px;line-height:1.6;color:var(--ink)}
.hm-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.hm img{filter:saturate(.9) contrast(1.04)}
.hm h1{font:800 clamp(34px,5vw,56px)/1.08 Archivo,sans-serif;margin:0 0 16px;color:#fff;max-width:760px}
.hm h2{font:800 clamp(26px,3vw,36px)/1.15 Archivo,sans-serif;margin:0 0 28px;color:var(--ink)}
.hm h3{font:700 19px/1.3 Archivo,sans-serif;margin:0 0 6px;color:var(--ink)}
.hm p{margin:0 0 12px}
.hm-hero{padding:72px 0 64px;background:#0E2540;color:#fff;border-bottom:6px solid #029bd8}.hm-hero-in{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.hm-hero-img{width:100%;height:480px;object-fit:cover;object-position:center 45%;display:block}@media(max-width:900px){.hm-hero-in{grid-template-columns:1fr;gap:32px}.hm-hero-img{height:300px}}
.hm-kicker{font:700 13px/1.4 Inter Tight,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#D9FF66;margin-bottom:14px}
.hm-lede{font-size:20px;max-width:600px;color:#F1F5F9;margin-bottom:28px}
.hm-btn{display:inline-block;background:var(--pri);color:#fff!important;font:700 17px/1 Inter Tight,sans-serif;padding:16px 28px;text-decoration:none;border:0}
.hm-btn:hover{background:#085A90}
.hm-trust{list-style:none;padding:0;margin:44px 0 0;display:flex;flex-wrap:wrap;gap:28px;border-top:1px solid rgba(255,255,255,.25);padding-top:22px}
.hm-trust li{display:flex;align-items:center;gap:12px;font-size:14px;color:#E3EAF2;flex-direction:column;align-items:flex-start;gap:2px}
.hm-trust li:first-child{flex-direction:row;gap:12px}
.hm-trust li:first-child span{display:flex;flex-direction:column}
.hm-trust strong{color:#fff;font-size:15px}
.hm-trust img{width:56px;height:56px;object-fit:cover;border:2px solid #fff}
.hm-sec{padding:72px 0;background:#fff}
.hm-alt{background:#F4F7FA}
.hm-step{font:700 13px/1 Inter Tight,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--pri);margin-bottom:10px!important}
.hm-ages{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hm-ages a{display:block;background:var(--ink);color:#fff;text-decoration:none;padding:26px 22px;border-bottom:6px solid #029bd8}
.hm-ages a strong{display:block;font:800 24px/1.1 Archivo,sans-serif;margin-bottom:8px;color:#fff}
.hm-ages a span{color:#E3EAF2;font-size:15px}
.hm-ages a:hover{background:#163659}
.hm-note{margin-top:22px!important;color:var(--mut)}
.hm a:not(.hm-btn):not(.hm-ages a){color:var(--pri)}
.hm-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.hm-grid3 p,.hm-prices p{color:var(--mut);font-size:16px}
.hm-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.hm-prices>div{background:#fff;border-top:4px solid var(--ink);padding:22px}
.hm-amt{display:block;font:800 34px/1 Archivo,sans-serif;color:var(--ink);margin-bottom:10px}
.hm-quotes{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.hm-quotes blockquote{margin:0;border-left:4px solid #029bd8;padding:4px 0 4px 22px}
.hm-quotes p{font-size:19px;color:var(--ink)}
.hm-quotes cite{font-style:normal;font-size:14px;color:var(--mut);font-weight:600}
.hm-cole{background:#F4F7FA;padding:80px 0}
.hm-cole-in{display:grid;grid-template-columns:5fr 6fr;gap:48px;align-items:center}
.hm-cole img{width:100%;height:420px;object-fit:cover;object-position:center 30%}
.hm-cole p{font-size:18px}
.hm-sig{font-weight:700;color:var(--mut)}
.hm-small{font-size:14px!important;color:var(--mut);margin-top:16px!important}
@media(max-width:900px){.hm-ages,.hm-prices{grid-template-columns:1fr 1fr}.hm-grid3{grid-template-columns:1fr;gap:20px}.hm-quotes{grid-template-columns:1fr}.hm-cole-in{grid-template-columns:1fr;gap:28px}.hm-cole img{height:300px}}
@media(max-width:520px){.hm-hero{padding:64px 0 44px}.hm-sec{padding:52px 0}.hm-ages,.hm-prices{grid-template-columns:1fr}.hm-trust{gap:16px}.hm-lede{font-size:18px}}
header .nav-container > a.btn{margin-left:1.5rem!important;flex:0 0 auto;white-space:nowrap}
@media (max-width:1366px){header .nav-container > a.btn{margin-left:1.1rem!important}}
header nav{min-width:0}
header nav > ul{flex-wrap:nowrap!important;white-space:nowrap}
