/* Big NC Pickleball: corporate geometry system (Oct 2026)
   60 paper/white · 30 Big NC purple · 10 Big NC orange. 8px rhythm. */
:root{
  --orange:#F27B23; --orange-txt:#A84A0C; --orange-t:#FDE6D3;
  --purple:#332C81; --deep:#1E1A52; --ink:#17153A; --ink-2:#3B3958; --muted:#55536B;
  --paper:#F5F1EA; --white:#FFFFFF; --rule:#DCD6CC; --rule-2:#C9C2B6;
  --gold:#E9C46A; --navy:#0E2A3B;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px;
  --disp:'Archivo','Inter Tight',system-ui,sans-serif; --body:'Inter Tight',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --wrap:1152px; --r:2px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.55;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--purple);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--orange-txt)}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--s3)}
.skip{position:absolute;left:-999px}.skip:focus{left:var(--s2);top:var(--s2);z-index:300;background:#fff;padding:var(--s1) var(--s2)}
h1,h2,h3{font-family:var(--disp);font-stretch:112%;letter-spacing:-.01em}

/* Top bar + Big NC AI pill (top left) */
.topbar{background:var(--deep);padding:var(--s1) 0}
.ai-pill{display:inline-flex;align-items:center;gap:var(--s1);background:var(--gold);color:var(--navy);text-decoration:none;border-radius:999px;padding:4px 14px 4px 6px;font:500 13px/1.25 var(--body);white-space:nowrap;max-width:100%}
.ai-pill:hover{color:var(--navy);background:#F0D27F}
.ai-pill svg{width:20px;height:20px;flex:none}
.ai-pill strong{font-weight:800}
.ai-pill .bncp-sep{opacity:.6}
@media (max-width:400px){.ai-pill{font-size:12px}.ai-pill .bncp-dt .yr{display:none}}

/* Header */
.site-h{background:var(--purple);color:#fff;position:sticky;top:0;z-index:100}
.site-h::after{content:"";display:block;height:8px;background:linear-gradient(var(--orange) 0 4px,var(--purple) 4px 5px,var(--orange) 5px 6px,var(--purple) 6px 7px,var(--orange) 7px 8px)}
.site-h .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:64px}
.logo{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-family:var(--disp);font-stretch:115%;font-weight:800;font-size:1.125rem;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.logo img{width:62px;height:auto}
.logo span span{color:#f5873a}
.logo:hover{color:#fff}
.nav ul{display:flex;list-style:none;gap:0}
.nav a{display:block;color:#fff;text-decoration:none;font-weight:600;font-size:.9375rem;padding:var(--s1) 12px;border-bottom:3px solid transparent}
.nav a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.5)}
.nav a[aria-current=page]{border-bottom-color:var(--orange)}
.nav .m-only{display:none}
.h-cta{flex:none}
.nav-toggle{display:none;background:transparent;border:2px solid #fff;color:#fff;font:700 .875rem var(--body);padding:6px 14px;cursor:pointer;border-radius:var(--r)}
@media (max-width:860px){
  .nav-toggle{display:block;margin-left:auto}
  .site-h .h-cta{display:none}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--deep);padding:var(--s1) var(--s3) var(--s3);border-top:1px solid rgba(255,255,255,.15)}
  .nav.open{display:block}
  .nav ul{flex-direction:column}
  .nav a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:1.0625rem}
  .nav a[aria-current=page]{border-bottom-color:var(--orange)}
  .nav .m-only{display:block}
}

/* Buttons: one orange primary per view; everything else is secondary */
.btn,.btn-ghost,.btn-light,.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);min-height:48px;padding:12px 24px;border-radius:var(--r);font:700 1rem/1.2 var(--disp);font-stretch:108%;text-decoration:none;text-align:center;border:2px solid var(--purple);background:transparent;color:var(--purple);cursor:pointer;transition:background .15s,color .15s}
.btn:hover,.btn-ghost:hover,.btn-line:hover{background:var(--purple);color:#fff}
.btn.btn-primary{background:var(--orange);border-color:var(--orange);color:var(--ink);box-shadow:6px 6px 0 var(--deep)}
.btn.btn-primary:hover{background:#FF8B36;border-color:#FF8B36;color:var(--ink);transform:translate(-1px,-1px);box-shadow:7px 7px 0 var(--deep)}
.hero .btn.btn-primary{box-shadow:6px 6px 0 #000}
.btn-light,.hero .btn:not(.btn-primary),.btn-line.on-dark,.price-box .btn:not(.btn-primary){border-color:#fff;color:#fff}
.btn-light:hover,.hero .btn:not(.btn-primary):hover,.btn-line.on-dark:hover,.price-box .btn:not(.btn-primary):hover{background:#fff;color:var(--deep)}
.site-h .h-cta{border-color:#fff;color:#fff;min-height:40px;padding:8px 16px}
.site-h .h-cta:hover{background:#fff;color:var(--purple)}
.btn-sm{min-height:40px;padding:8px 16px;font-size:.9375rem}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}

/* Hero: deep purple field, quarter-circle arcs, stripe base */
.hero{position:relative;color:#fff;background:var(--deep);padding:var(--s6) 0 calc(var(--s6) + 24px);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;z-index:-1;
  background:repeating-radial-gradient(circle at 100% 0,transparent 0 56px,var(--orange) 56px 72px,transparent 72px 88px,var(--purple) 88px 104px,transparent 104px 120px);
  -webkit-mask:radial-gradient(circle at 100% 0,#000 0 380px,transparent 381px);mask:radial-gradient(circle at 100% 0,#000 0 380px,transparent 381px);opacity:.9}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:24px;z-index:-1;background:repeating-linear-gradient(90deg,var(--orange) 0 48px,var(--purple) 48px 96px,var(--paper) 96px 104px)}
.hero .eyebrow,.eyebrow{display:inline-flex;align-items:center;gap:12px;font:700 .8125rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:var(--s2)}
.hero .eyebrow::before{content:"";width:32px;height:4px;background:var(--orange)}
.hero h1{font-size:clamp(2.25rem,5.4vw,4rem);font-weight:800;line-height:1.02;letter-spacing:-.02em;max-width:16ch}
.hero .lede{font-size:1.1875rem;color:#E4E2F2;max-width:52ch;margin-top:var(--s3)}
.hero .btn-row{margin-top:var(--s4)}
.hero-sm{padding:var(--s5) 0 calc(var(--s5) + 24px)}
.hero-sm h1{font-size:clamp(2rem,4.4vw,3rem);max-width:20ch}
.hero-sm::before{width:360px;height:360px;right:-80px;top:-80px;-webkit-mask:radial-gradient(circle at 100% 0,#000 0 260px,transparent 261px);mask:radial-gradient(circle at 100% 0,#000 0 260px,transparent 261px)}
.chips{display:flex;flex-wrap:wrap;gap:0;margin-top:var(--s3);border-top:1px solid rgba(255,255,255,.25);max-width:760px}
.chip{flex:1 1 200px;padding:12px 16px 12px 0;font-size:.9375rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}
.chip b{display:block;font:700 .75rem/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:2px}
.hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--s5);align-items:center}
.hero-vis{position:relative;background:#fff;border:0;box-shadow:12px 12px 0 var(--orange)}
.hero-vis img{width:100%;height:100%;object-fit:cover}
.hero-vis.wide img{aspect-ratio:4/3}
.hero-vis.flyer{max-width:340px;justify-self:end}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:var(--s4)}.hero-vis.flyer{max-width:300px;justify-self:start}.hero-vis.wide img{aspect-ratio:16/10}}

/* Home: photo wheel */
.hero-links{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);margin-top:var(--s3)}
.hero-links a{color:#fff;font-weight:600;text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:2px}
.hero-links a:hover{color:var(--orange)}
.wheel{position:relative;width:100%;max-width:440px;aspect-ratio:1;justify-self:end}
.wheel .ring{position:absolute;inset:0;animation:spin 60s linear infinite}
.wheel .disc{position:absolute;inset:7%;border-radius:50%;overflow:hidden;background:var(--purple);box-shadow:0 0 0 8px var(--deep),0 0 0 12px var(--orange)}
.wheel .disc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:wheelfade 18s infinite}
.wheel .disc img:nth-child(1){animation-delay:0s}.wheel .disc img:nth-child(2){animation-delay:6s}.wheel .disc img:nth-child(3){animation-delay:12s}
.wheel .quad{position:absolute;right:0;bottom:0;width:30%;aspect-ratio:1;background:var(--orange);border-top-left-radius:100%;z-index:2}
@keyframes wheelfade{0%{opacity:0}4%{opacity:1}33%{opacity:1}38%{opacity:0}100%{opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.wheel .ring{animation:none}.wheel .disc img{animation:none}.wheel .disc img:first-child{opacity:1}}
@media (max-width:860px){.wheel{max-width:320px;justify-self:center}}

/* Sections, Swiss rules */
.sec{padding:var(--s6) 0}
.sec + .sec{padding-top:0}
.sec.alt,.sec.alt + .sec{padding-top:var(--s6)}
.sec.alt{background:var(--white);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sec-head{display:grid;grid-template-columns:auto 1fr;gap:var(--s1) var(--s3);align-items:end;margin-bottom:var(--s4);padding-top:var(--s2);border-top:2px solid var(--ink)}
.sec-head h2{font-size:clamp(1.625rem,3vw,2.25rem);font-weight:800;line-height:1.1;color:var(--ink)}
.sec-head p{color:var(--muted);font-size:1rem;justify-self:end;text-align:right;max-width:48ch}
.sec-head.center{text-align:center}
@media (max-width:700px){.sec-head{grid-template-columns:1fr}.sec-head p{justify-self:start;text-align:left}}

/* Grid + cards */
.grid{display:grid;gap:var(--s3)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.g3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.g2,.g3{grid-template-columns:1fr}}
.card{position:relative;background:var(--white);border:1px solid var(--rule);border-radius:var(--r);padding:var(--s3);display:flex;flex-direction:column;min-width:0}
.card-ph{position:relative;margin:calc(-1 * var(--s3)) calc(-1 * var(--s3)) var(--s3);aspect-ratio:16/9;overflow:hidden;background:var(--purple)}
.card-ph img{width:100%;height:100%;object-fit:cover}
.card-ph::after{content:"";position:absolute;right:0;bottom:0;width:48px;height:48px;background:var(--orange);border-top-left-radius:100%}
.card-ph.alt::after{background:var(--purple);border-radius:0;width:100%;height:8px}
.card h3{font-size:1.25rem;font-weight:800;color:var(--ink);line-height:1.2;margin-bottom:var(--s1)}
.card p{color:var(--ink-2);font-size:.96875rem}
.card p + p{margin-top:var(--s1)}
.card .btn,.card .btn-ghost{margin-top:var(--s3);align-self:flex-start}
.card .grow{flex:1}
.card.accent{border-top:0;box-shadow:inset 0 4px 0 var(--orange)}
.card.accent .card-ph{margin-top:calc(-1 * var(--s3))}
a.card{text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
a.card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--purple)}
.tag{display:inline-flex;align-self:flex-start;font:700 .75rem/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--orange-txt);margin-bottom:var(--s1);padding-left:16px;position:relative}
.tag::before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;margin-top:-4px;background:var(--orange);border-radius:0 0 0 8px}
.tag.p{color:var(--purple)}.tag.p::before{background:var(--purple)}
.tag.g{color:var(--muted)}.tag.g::before{background:var(--muted)}
.tag.live{color:#17663C}.tag.live::before{background:#1E8A4F;border-radius:50%}

/* Lists */
.list{list-style:none}
.list li{position:relative;padding:6px 0 6px 24px;color:var(--ink-2);font-size:.96875rem;border-bottom:1px solid #EEE9E1}
.list li:last-child{border-bottom:0}
.list li::before{content:"";position:absolute;left:0;top:14px;width:10px;height:10px;background:var(--orange);border-radius:0 10px 0 0}
.list li strong{color:var(--ink)}
.list.cols{columns:2;column-gap:var(--s4)}
.list.cols li{break-inside:avoid}
@media (max-width:640px){.list.cols{columns:1}}
.facts{list-style:none}
.facts li{display:grid;grid-template-columns:104px 1fr;gap:var(--s2);padding:12px 0;border-bottom:1px solid var(--rule);font-size:.96875rem;color:var(--ink-2)}
.facts li:last-child{border-bottom:0}
.facts b{font:700 .75rem/1.6 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}

/* Sessions + registration */
.session{position:relative;background:var(--white);border:1px solid var(--rule);border-left:8px solid var(--purple);padding:var(--s3);margin-bottom:var(--s3)}
.session-top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s2);margin-bottom:var(--s1)}
.session h2,.session h3{font-size:1.375rem;font-weight:800;color:var(--ink);line-height:1.2}
.session .meta{color:var(--muted);font-size:.9375rem;margin-bottom:var(--s2)}
.session .meta strong{color:var(--ink)}
.reg{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s2)}
.opt{display:flex;flex-direction:column;gap:4px;background:var(--paper);border-top:3px solid var(--ink);padding:var(--s2)}
.opt .lbl{font-weight:700;color:var(--ink);font-size:.9375rem;line-height:1.3}
.opt .when{color:var(--muted);font-size:.875rem}
.opt .price{font-family:var(--disp);color:var(--orange-txt);font-weight:800;font-size:1.25rem;margin:4px 0 var(--s1)}
.opt .btn{margin-top:auto;align-self:stretch}
.sub-h{font:700 .8125rem/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:var(--s3) 0 var(--s2)}

/* Notes */
.note{background:var(--orange-t);border-left:8px solid var(--orange);padding:var(--s2) var(--s3);color:#4A2A10;font-size:.9375rem}
.note + .note{margin-top:var(--s2)}
.note.p{background:#ECEAF7;border-left-color:var(--purple);color:#25205E}
.muted{color:var(--muted)}
.small{font-size:.875rem}
.center{text-align:center}
.mt{margin-top:var(--s3)}
.back{margin-top:var(--s3);font-weight:700;font-size:.9375rem}
.back a{text-decoration:none}

/* Event cards */
.ev{position:relative;background:var(--white);border:1px solid var(--rule);overflow:hidden;display:flex;flex-direction:column}
.ev .card-ph{margin:0;aspect-ratio:16/8}
.ev-band{display:flex;align-items:center;gap:var(--s2);background:var(--purple);color:#fff;padding:12px var(--s3)}
.ev-band.hw{background:var(--deep);box-shadow:inset 0 -4px 0 var(--orange)}
.ev-band.past{background:#4E4C63}
.ev-date{background:#fff;color:var(--ink);width:52px;text-align:center;padding:4px 0;flex:none}
.ev-date .m{display:block;font:800 .6875rem/1.3 var(--body);color:var(--orange-txt);letter-spacing:.1em}
.ev-date .d{display:block;font:800 1.375rem/1 var(--disp)}
.ev-date.ico{font-size:1.5rem;padding:8px 0}
.ev-band .t{font:700 .75rem/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#FFB27A}
.ev-band .w{font-weight:700;font-size:.9375rem}
.ev-body{padding:var(--s3);display:flex;flex-direction:column;flex:1}
.ev-body h3{font-size:1.25rem;font-weight:800;color:var(--ink);margin-bottom:var(--s1)}
.ev-body .btn,.ev-body .btn-ghost{margin-top:var(--s3);align-self:flex-start}

/* Price box */
.price-box{position:relative;overflow:hidden;background:var(--deep);color:#fff;padding:var(--s4);isolation:isolate}
.price-box::after{content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;z-index:-1;background:repeating-radial-gradient(circle,var(--orange) 0 12px,transparent 12px 24px)}
.price-box .amt{font:800 3.5rem/1 var(--disp);color:#fff}
.price-box .amt small{display:block;font:600 .9375rem/1.4 var(--body);color:#E4E2F2;margin-top:var(--s1)}
.price-box p{color:#E4E2F2;font-size:.96875rem;margin-top:var(--s2);max-width:46ch}
.price-box a:not(.btn){color:#FFB27A}
.price-box .btn-row{margin-top:var(--s3)}

/* Media */
.photo{background:#fff;border:1px solid var(--rule);overflow:hidden}
.photo img{width:100%;object-fit:cover}
.photo figcaption{font-size:.875rem;color:var(--muted);padding:12px var(--s2);border-top:4px solid var(--orange)}
.photo.crop img{aspect-ratio:4/3;object-fit:cover}
.hero-photo{position:relative;z-index:2}
.hero-photo img{aspect-ratio:21/8;max-height:360px}
.sponsor{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s1)}
.sponsor img{max-width:220px;background:#fff;padding:6px 8px;border:1px solid var(--rule)}
.card.sponsor-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4)}
.sponsor-row img{max-width:220px;background:#fff;padding:8px;border:1px solid var(--rule)}
.sponsor-row .txt{flex:1;min-width:220px}
.stack{display:grid;gap:var(--s2)}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--rule);border-left:4px solid var(--purple);padding:var(--s2) var(--s3);margin-bottom:var(--s1)}
.faq summary{cursor:pointer;font-weight:700;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:var(--s2)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--orange-txt);font-weight:800;font-size:1.25rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:var(--ink-2);margin-top:var(--s1);font-size:.96875rem}

/* Up-next strip (home) */
.upnext{position:relative;z-index:2;padding:var(--s6) 0 0}
.upnext .card{padding:var(--s3)}
.upnext .when{font:700 .75rem/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--orange-txt)}
.upnext h3{font-size:1.1875rem;margin:4px 0 var(--s1)}
.upnext p{font-size:.9375rem}
.upnext a.card .go{margin-top:var(--s2);font-weight:700;color:var(--purple);font-size:.9375rem}

/* Cross-brand band */
.xband{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);background:var(--white);border:1px solid var(--rule);border-left:8px solid var(--orange);padding:var(--s3) var(--s4)}
.xband h3{font-size:1.25rem;font-weight:800}
.xband p{color:var(--ink-2)}

/* Footer */
.site-f{position:relative;background:var(--deep);color:#D6D4E8;padding:var(--s5) 0 var(--s3);font-size:.9375rem;margin-top:var(--s6)}
.site-f::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px;background:linear-gradient(var(--orange) 0 8px,transparent 8px 12px,var(--purple) 12px 16px,transparent 16px 18px,var(--deep) 18px 24px)}
.site-f .wrap{display:grid;gap:var(--s3);grid-template-columns:5fr 7fr;align-items:start}
.site-f .brand{font:800 1.25rem/1.2 var(--disp);font-stretch:115%;text-transform:uppercase;letter-spacing:.02em;color:#fff}.site-f .brand span{color:var(--orange)}
.site-f p{margin-top:var(--s1)}
.site-f a{color:#FFB27A}
.f-links{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);justify-content:flex-end}
.f-links a{color:#fff;text-decoration:none;padding:4px 0}
.f-links a:hover{color:var(--orange)}
.site-f .copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.18);padding-top:var(--s2);font-size:.8125rem;color:#B9B6D3}
.site-f .bncai-foot{text-align:center;margin:var(--s2) 0 0;font-size:.875rem}
.site-f .bncai-foot a{color:var(--gold)}
@media (max-width:760px){.site-f .wrap{grid-template-columns:1fr}.f-links{justify-content:flex-start}}

@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 var(--s2)}
  .hero{padding:var(--s5) 0 calc(var(--s5) + 16px)}
  .hero::after{height:16px}
  .hero::before{width:300px;height:300px;right:-110px;top:-110px;opacity:.55}
  .hero-sm{padding:var(--s4) 0 calc(var(--s4) + 16px)}
  .hero .lede{font-size:1.0625rem}
  .sec{padding:var(--s5) 0}.sec.alt,.sec.alt + .sec{padding-top:var(--s5)}
  .upnext{padding-top:var(--s5)}
  .card,.session,.upnext .card{padding:var(--s2)}
  .card-ph{margin:calc(-1 * var(--s2)) calc(-1 * var(--s2)) var(--s2)}
  .card.accent .card-ph{margin-top:calc(-1 * var(--s2))}
  .hero .btn-row .btn{flex:1 1 auto}
  .facts li{grid-template-columns:88px 1fr}
  .price-box{padding:var(--s3)}
  .xband{padding:var(--s3)}
  .logo{font-size:1rem}.logo img{width:52px}
}
/* Photo crops + 70s duotone treatments (CSS only, real photos) */
.card-ph.z-p img{transform:scale(1.9);transform-origin:55% 45%}
.card-ph.z-c img{transform:scale(1.7);transform-origin:50% 35%}
.card-ph.z-l img{transform:scale(2);transform-origin:18% 22%}
.card-ph.duo-o{background:var(--orange)}
.card-ph.duo-p{background:#7A72D6}
.card-ph.duo-o img,.card-ph.duo-p img{filter:grayscale(1) contrast(1.05) brightness(1.45);mix-blend-mode:multiply}
.card-ph.duo-o::after{background:var(--deep)}
/* Standalone wide cards: photo becomes a side column */
@media (min-width:700px){
  .wrap > .card:has(> .card-ph){padding-left:calc(32% + var(--s4));min-height:200px}
  .wrap > .card:has(> .card-ph) > .card-ph{position:absolute;left:0;top:0;bottom:0;width:32%;margin:0;aspect-ratio:auto}
}
.nav.open{box-shadow:inset 0 -4px 0 var(--orange)}
.stack .card-ph{aspect-ratio:21/9}
/* Compact heroes on every page (Oct 13 rev) */
.hero{padding:var(--s4) 0 calc(var(--s4) + 16px)}
.hero::after{height:16px}
.hero::before{width:360px;height:360px;right:-90px;top:-90px;-webkit-mask:radial-gradient(circle at 100% 0,#000 0 260px,transparent 261px);mask:radial-gradient(circle at 100% 0,#000 0 260px,transparent 261px)}
.hero h1{font-size:clamp(1.875rem,3.6vw,2.75rem);max-width:22ch}
.hero .lede{font-size:1.0625rem;margin-top:var(--s2)}
.hero .btn-row{margin-top:var(--s3)}
.hero .eyebrow{margin-bottom:var(--s1)}
.hero-sm{padding:var(--s4) 0 calc(var(--s4) + 16px)}
.hero-sm h1{font-size:clamp(1.75rem,3.2vw,2.5rem)}
.chips{margin-top:var(--s2)}
.chip{padding:8px 16px 8px 0}
.hero-vis{box-shadow:8px 8px 0 var(--orange)}
.hero-vis.wide{max-width:400px;justify-self:end}
.hero-vis.wide img{aspect-ratio:16/10}
.hero-vis.flyer{max-width:220px}
.wheel{max-width:280px}
.hero-links{margin-top:var(--s2)}
.upnext{padding-top:var(--s4)}
.sec{padding:var(--s5) 0}
@media (max-width:860px){.hero-vis.wide{max-width:none;justify-self:stretch}.hero-vis.wide img{aspect-ratio:21/9}.hero-vis.flyer{max-width:180px}.wheel{max-width:200px}}
@media (max-width:640px){.hero,.hero-sm{padding:var(--s3) 0 calc(var(--s3) + 12px)}.hero::after{height:12px}.hero h1{font-size:1.75rem}.hero .lede{font-size:1rem}.hero .btn-row{margin-top:var(--s2)}.upnext,.sec{padding-top:var(--s4)}.sec{padding-bottom:var(--s4)}}
/* Geometric (non-photo) cards */
.card-geo{position:relative;margin:calc(-1 * var(--s3)) calc(-1 * var(--s3)) var(--s3);aspect-ratio:16/7;overflow:hidden;display:flex;align-items:flex-end;padding:var(--s2) var(--s3);background:var(--deep);color:#fff}
.card-geo span{position:relative;z-index:1;font:800 clamp(1.5rem,3vw,2.25rem)/1 var(--disp);font-stretch:118%;letter-spacing:-.01em;text-transform:uppercase}
.card-geo.g1{background:var(--purple)}
.card-geo.g1::before{content:"";position:absolute;right:-30%;top:-60%;width:90%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,var(--orange) 0 10px,transparent 10px 22px)}
.card-geo.g2{background:var(--orange);color:var(--ink)}
.card-geo.g2::before{content:"";position:absolute;inset:0 0 0 45%;background:repeating-linear-gradient(90deg,var(--deep) 0 10px,transparent 10px 22px)}
.card-geo.g3{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--rule)}
.card-geo.g3::before{content:"";position:absolute;right:0;top:0;width:40%;height:100%;background:radial-gradient(circle at 100% 0,var(--orange) 0 38%,transparent 38.5%),radial-gradient(circle at 0 100%,var(--purple) 0 38%,transparent 38.5%)}
.card-geo.g4{background:var(--deep)}
.card-geo.g4::before{content:"";position:absolute;right:16px;top:16px;width:72px;height:72px;border:10px solid var(--orange);border-radius:50%;box-shadow:0 0 0 10px var(--deep),0 0 0 20px var(--purple)}
.ev .card-geo{margin:0;aspect-ratio:16/6}
@media (max-width:640px){.card-geo{margin:calc(-1 * var(--s2)) calc(-1 * var(--s2)) var(--s2);aspect-ratio:16/5}.card.accent .card-geo{margin-top:calc(-1 * var(--s2))}}
@media (min-width:700px){
  .wrap > .card:has(> .card-geo){padding-left:calc(28% + var(--s4));min-height:160px}
  .wrap > .card:has(> .card-geo) > .card-geo{position:absolute;left:0;top:0;bottom:0;width:28%;margin:0;aspect-ratio:auto}
}
/* About profile */
.profile{display:grid;grid-template-columns:5fr 7fr;gap:var(--s4);align-items:center;background:#fff;border:1px solid var(--rule);border-left:8px solid var(--orange);padding:var(--s3)}
.profile-ph{margin:0;overflow:hidden}
.profile-ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.profile-txt h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:var(--s2)}
@media (max-width:760px){.profile{grid-template-columns:1fr;padding:var(--s2)}}
.card-geo{aspect-ratio:auto;height:112px}
.card-geo span{font-size:clamp(1.25rem,2vw,1.625rem);background:inherit;padding:2px 8px 2px 0;max-width:60%}
.card-geo.g3 span{background:var(--paper)}
.card-geo.g1::before{right:-12%;top:-120%;width:60%}
.card-geo.g2::before{inset:0 0 0 62%}
.card-geo.g3::before{width:30%}
.ev .card-geo{aspect-ratio:auto;height:96px}
@media (max-width:640px){.card-geo{aspect-ratio:auto;height:88px}}
.card-geo:not(:empty) + .when,.card-geo:has(span:not(:empty)) + .tag,.card-geo:has(span:not(:empty)) + .when{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Big NC AI pill: small, text only, no date (Oct 19 2026, matches bignctennis.com) */
.ai-pill{font-size:12px!important;padding:4px 10px 4px 6px!important;gap:5px!important;line-height:1.1!important;white-space:nowrap}
.ai-pill svg,.ai-pill .bncp-mark{width:17px!important;height:17px!important}
.ai-pill strong{font-weight:800}
