/* SuperGirl: own brand, endorsed by Ken Chertow. Self-contained. */
@font-face{font-family:"Montserrat";src:url("fonts/montserrat.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Oswald";src:url("fonts/oswald.woff2") format("woff2");font-weight:200 700;font-display:swap}

:root{
  --ink:#060a1e; --ink2:#0d0b26; --navy:#0b1f5c; --navy-d:#061a40;
  --pink:#ff2e88; --pink-d:#c8005f; --red:#bf0a30; --gold:#f2b705; --white:#fff;
  --text:#eceef8; --muted:#bcc2dc; --paper:#ffffff; --paper2:#f4f3f7; --ink-text:#11142b;
  --display:"Anton","Oswald",Impact,"Arial Narrow",sans-serif;
  --body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1320px; --gut:clamp(16px,4vw,56px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--ink);color:var(--text);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
a{color:inherit}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gut));margin:0 auto;padding:0 var(--gut)}
.pink{color:var(--pink)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--pink);color:var(--ink);padding:10px 16px;font-weight:700}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--white);outline-offset:3px}
.parents :focus-visible{outline-color:var(--pink-d)}

/* type */
.eyebrow{font:700 14px/1.2 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--pink);margin-bottom:18px}
.eyebrow .star{color:var(--gold);margin-right:6px}
.eyebrow.ink{color:var(--pink-d)}
.eyebrow.gold{color:var(--gold)}
.h-xl,.mega,.hero-h,.final-h,.rm h3,.coach h3,.fs-body h3,.camp-card h3,.h-md{font-family:var(--display);font-weight:400;text-transform:uppercase;font-style:italic;letter-spacing:.005em;line-height:.92}
.h-xl{font-size:clamp(44px,6.2vw,92px);color:var(--white)}
.h-md{font-size:clamp(30px,3vw,42px);color:var(--white);margin-bottom:22px}
.sec-head{max-width:880px;margin-bottom:48px}
.sec-lede{font-size:19px;color:var(--muted);margin-top:18px;max-width:560px}

/* buttons: slanted athletic blocks */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;font:800 14px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transform:skewX(-10deg);transition:transform .2s ease,background .2s ease,box-shadow .2s ease;border:2px solid transparent;cursor:pointer}
.btn>span{display:inline-block;transform:skewX(10deg)}
.btn-lg{min-height:60px;padding:0 34px;font-size:15px}
.btn-pink{background:var(--pink);color:var(--ink)}
.btn-pink:hover{background:#ff4f9c;transform:skewX(-10deg) translateY(-2px);box-shadow:0 10px 30px rgba(255,46,136,.35)}
.btn-ghost{border-color:rgba(255,255,255,.7);color:var(--white)}
.btn-ghost:hover{border-color:var(--pink);color:var(--pink)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{transform:skewX(-10deg) translateY(-2px)}
.btn-ink{background:var(--ink);color:var(--white)}
.btn-ink:hover{background:var(--navy);transform:skewX(-10deg) translateY(-2px)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(6,10,30,.92);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid rgba(255,46,136,.35)}
.nav-in{display:flex;align-items:center;gap:24px;min-height:76px}
.brand{display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:center}
.brand-home{display:contents;text-decoration:none}
.brand-mark{grid-row:1 / span 2;width:46px;height:auto}
.wm{font-family:var(--display);font-style:italic;text-transform:uppercase;font-size:30px;line-height:1;letter-spacing:.01em;margin:0}
.wm-a{color:var(--white);margin-right:.18em}
.wm-b{color:var(--pink)}
.endorse{font:600 12px/1.3 var(--body);letter-spacing:.06em;color:var(--muted);text-decoration:none;align-self:start}
.endorse:hover{color:var(--white);text-decoration:underline}
.menu{margin-left:auto;display:flex;align-items:center;gap:28px}
.menu a:not(.btn){font:700 14px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--text)}
.menu a:not(.btn):hover{color:var(--pink)}
.menu-btn{display:none}

/* hero */
.hero{position:relative;overflow:hidden;padding:64px 0 88px;background:
  radial-gradient(900px 520px at 78% 30%,rgba(255,46,136,.22),transparent 60%),
  radial-gradient(700px 500px at 5% 100%,rgba(11,31,92,.9),transparent 70%),var(--ink)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:linear-gradient(90deg,var(--red) 0 33.3%,var(--white) 33.3% 66.6%,var(--navy) 66.6%)}
.hero-bgword{position:absolute;top:10px;left:-30px;margin:0;font:400 clamp(160px,21vw,300px)/1 var(--display);font-style:italic;text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:2px rgba(255,46,136,.16);pointer-events:none;user-select:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.02fr;gap:40px;align-items:center}
.hero-h{font-size:clamp(84px,11.5vw,168px);color:var(--white);margin:0 0 26px}
.hero-h span{display:block}
.hero-h .pink{text-shadow:0 0 50px rgba(255,46,136,.35)}
.hero-lede{font-size:clamp(19px,1.5vw,22px);line-height:1.5;color:var(--white);max-width:540px;font-weight:600}
.hero-sub{font-size:18px;color:var(--muted);max-width:500px;margin-bottom:32px}
.cta-row{display:flex;flex-wrap:wrap;gap:18px 22px;margin-bottom:38px}
.hero-camps{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;border-top:1px solid rgba(255,255,255,.18);max-width:680px}
.hero-camps li{padding:16px 22px 0 0;margin-right:22px;font:700 13px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hero-camps li+li{border-left:1px solid rgba(255,255,255,.18);padding-left:22px}
.hero-camps b{font:400 40px/1 var(--display);font-style:italic;color:var(--pink);margin-right:6px;vertical-align:-4px}
.hero-camps span{display:block;color:var(--white);margin-top:6px}
.hero-art{position:relative;height:700px}
.hero-main{position:absolute;right:0;top:0;width:80%;height:640px;overflow:hidden;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);background:var(--navy)}
.hero-main img{width:100%;height:100%;object-fit:cover;object-position:42% 18%;animation:slowzoom 22s ease-in-out infinite alternate;transform-origin:50% 30%}
.hero-inset{position:absolute;left:0;bottom:6px;width:40%;aspect-ratio:1/1;border:6px solid var(--pink);transform:rotate(-4deg);box-shadow:0 24px 60px rgba(0,0,0,.55);overflow:hidden;background:var(--navy)}
.hero-inset img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.hero-mark{position:absolute;top:-22px;left:10%;width:108px;height:auto;transform:rotate(-8deg);filter:drop-shadow(0 12px 24px rgba(0,0,0,.5))}
.hero-tag{position:absolute;right:-6px;bottom:0;width:270px;background:var(--navy);border-left:6px solid var(--pink);padding:18px 22px 16px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.tag-role{font:700 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--pink);margin-bottom:8px}
.tag-name{font:400 34px/1 var(--display);font-style:italic;text-transform:uppercase;color:var(--white);margin-bottom:10px}
.hero-tag li{font-size:14px;line-height:1.45;color:var(--text);padding-left:16px;position:relative}
.hero-tag li::before{content:"★";position:absolute;left:0;color:var(--gold);font-size:10px;top:3px}
@keyframes slowzoom{from{transform:scale(1)}to{transform:scale(1.08)}}

/* ticker */
.ticker{background:var(--pink);color:var(--ink);overflow:hidden;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.ticker-track{display:flex;width:max-content;animation:marquee 60s linear infinite}
.ticker-set{display:flex;align-items:center;gap:26px;margin:0;padding:16px 13px;white-space:nowrap;font:400 30px/1 var(--display);font-style:italic;text-transform:uppercase}
.ticker-set em{font:800 13px/1 var(--body);font-style:normal;letter-spacing:.14em;margin-left:10px;vertical-align:5px}
.ticker-set i{font-style:normal;font-size:20px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* community */
.belong{padding:110px 0 120px;background:linear-gradient(180deg,var(--ink2),var(--ink))}
.mega{font-size:clamp(40px,7.6vw,116px);color:var(--white);margin-bottom:44px}
.mega span{display:block}
.belong-hero{position:relative;overflow:hidden;border-bottom:8px solid var(--pink)}
.belong-hero img{width:100%;height:auto}
.belong-hero figcaption,.tile figcaption{position:absolute;left:0;bottom:0;background:var(--ink);color:var(--white);font:700 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;padding:12px 16px}
.belong-grid{display:grid;grid-template-columns:5fr 4fr 3fr;gap:22px;margin-top:22px;align-items:stretch}
.belong-copy{background:var(--navy);padding:40px 38px;display:flex;flex-direction:column;justify-content:center}
.belong-copy .big{font:400 clamp(28px,2.6vw,38px)/1.08 var(--display);font-style:italic;text-transform:uppercase;color:var(--white)}
.belong-copy p{color:var(--text)}
.belong-copy .kw{font:400 30px/1 var(--display);font-style:italic;text-transform:uppercase;color:var(--pink);margin:10px 0 0}
.tile{position:relative;overflow:hidden;min-height:420px}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tile-b img{object-position:50% 30%}
.tile:hover img{transform:scale(1.04)}

/* role models bento */
.models{padding:120px 0;background:var(--navy-d);position:relative}
.models::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-60deg,transparent 0 22px,rgba(255,255,255,.018) 22px 23px);pointer-events:none}
.bento{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:14px;
  grid-template-areas:
   "helen helen helen helen helen helen helen helen nicole nicole nicole nicole"
   "helen helen helen helen helen helen helen helen medal medal medal medal"
   "kylie kylie kylie kylie belg belg belg belg belg belg belg belg"
   "kylie kylie kylie kylie quote quote quote ava ava ava ava ava"
   "jenny jenny jenny jenny jenny jenny jenny zoe zoe zoe zoe zoe";
  grid-template-rows:270px 330px 360px 310px auto}
.rm{position:relative;overflow:hidden;margin:0;background:var(--ink);transition:transform .35s ease,box-shadow .35s ease}
.rm:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.45)}
.rm>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.rm:hover>img{transform:scale(1.04)}
.rm-txt{position:absolute;left:0;right:0;bottom:0;padding:90px 28px 24px;background:linear-gradient(180deg,transparent,rgba(6,10,30,.78) 38%,rgba(6,10,30,.95))}
.rm-txt.sm{padding:70px 22px 20px}
.rm-txt p{font-size:16px;line-height:1.5;color:var(--text);margin:10px 0 0;max-width:600px}
.rm-tag{font:800 12px/1.3 var(--body)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--pink)!important;margin:0 0 8px!important}
.rm h3{font-size:clamp(34px,3.4vw,52px);color:var(--white)}
.rm-txt.sm h3{font-size:clamp(28px,2.4vw,36px)}
.rm-helen{grid-area:helen}
.rm-helen>img{object-position:50% 30%}
.rm-nicole{grid-area:nicole}
.rm-medal{grid-area:medal}
.rm-medal>img{object-position:50% 0%} /* crop audit 9/29: Helen's hair/forehead whole (was 32%) */
/* crop audit 9/29: at desktop the caption overlay sat on Helen's mouth/chin once her whole head was in frame.
   Caption moves to a side panel (same pattern as the Belgium card); the photo column matches the photo's shape, so head and medal both show. */
@media (min-width:1025px){
  .rm-medal{display:grid;grid-template-columns:.95fr 1.05fr}
  .rm-medal>img{position:static;grid-column:2;grid-row:1;height:100%;min-height:0}
  .rm-medal>.rm-txt{position:static;grid-column:1;grid-row:1;padding:24px 20px;background:var(--ink);border-right:4px solid var(--pink);display:flex;flex-direction:column;justify-content:flex-end}
  .rm-medal>.rm-txt h3{font-size:clamp(26px,2.1vw,31px)}
  .rm-medal:hover>img{transform:none}
}
.rm-kylie{grid-area:kylie}
.rm-kylie>img{object-position:50% 25%}
.rm-belg{grid-area:belg}
.rm-belg{display:grid;grid-template-columns:44% 1fr}
.rm-belg>img{position:static;grid-column:2;grid-row:1;height:100%;object-position:55% 50%}
.rm-txt.side{position:static;grid-column:1;grid-row:1;padding:30px 28px;background:var(--ink);border-right:4px solid var(--pink);display:flex;flex-direction:column;justify-content:flex-end}
.rm-txt.side h3{font-size:clamp(30px,2.6vw,40px)}
.rm-quote{grid-area:quote}
.rm-ava{grid-area:ava}
.rm-ava>img{inset:auto 0 0 0;height:clamp(100%,128%,524px);object-position:50% 30%}
.rm-jenny{grid-area:jenny}
.rm-zoe{grid-area:zoe}
.type-card{background:var(--pink);color:var(--ink);padding:26px 28px;display:flex;flex-direction:column;justify-content:flex-end}
.type-card .rm-num{font:400 132px/.8 var(--display);font-style:italic;margin:0 0 auto;color:var(--ink)}
.type-card .rm-tag{color:var(--ink)!important}
.type-card h3{color:var(--ink);font-size:44px}
.type-card p:last-child{margin:8px 0 0;font-weight:600;font-size:16px;line-height:1.45}
.rm-quote{background:var(--white);color:var(--ink-text);padding:28px;display:flex;flex-direction:column;justify-content:space-between;border-top:8px solid var(--pink)}
.rm-quote p{font:400 27px/1.12 var(--display);font-style:italic;text-transform:uppercase;margin:0;color:var(--ink)}
.rm-quote footer{font:700 13px/1.4 var(--body);letter-spacing:.06em;color:var(--pink-d);margin-top:14px}
.cap-card{display:flex;flex-direction:column;background:var(--ink)}
.cap-card>img{position:static;height:440px;flex:none}
.rm-jenny>img{object-position:50% 50%}
.rm-zoe>img{object-position:50% 35%}
.cap{padding:20px 22px 22px;border-top:4px solid var(--pink);flex:1}
.cap h3{font-size:32px}
.cap p:last-child{font-size:15px;line-height:1.5;color:var(--text);margin:8px 0 0}

/* coaches */
.coaches{padding:120px 0;background:var(--ink)}
.coach-grid{display:grid;grid-template-columns:4fr 8fr;gap:56px;align-items:start}
.coach-head{position:sticky;top:110px}
.coach-head p:last-child{color:var(--muted);font-size:18px;margin-top:20px}
.coach-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.coach{background:var(--ink2);border:1px solid rgba(255,255,255,.08);transition:transform .35s ease,border-color .35s ease}
.coach:hover{transform:translateY(-6px);border-color:var(--pink)}
.c-photo{grid-column:span 3}
.c-photo figure{position:relative;height:560px;overflow:hidden}
.c-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.yr{display:inline-block;background:var(--pink);color:var(--ink);font:800 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;padding:9px 12px;transform:skewX(-10deg)}
.c-photo .yr{position:absolute;left:18px;top:18px}
.c-txt{padding:22px 24px 26px}
.coach h3{font-size:40px;color:var(--white);margin-bottom:10px}
.coach p{font-size:16px;color:var(--text);margin:0}
.c-type{grid-column:span 2;padding:26px 24px;border-top:6px solid var(--pink)}
.c-type .yr{margin-bottom:18px}
.c-type .yr-long{white-space:normal;max-width:calc(100% - 8px);box-sizing:border-box;line-height:1.2;font-size:11px;letter-spacing:.08em;padding:9px 9px}
.c-type h3{font-size:34px}
.roster{grid-column:1 / -1;display:grid;grid-template-columns:260px 1fr;gap:28px;background:var(--navy);padding:24px;align-items:center}
.roster figure{height:280px;overflow:hidden}
.roster img{width:100%;height:100%;object-fit:cover;object-position:40% 35%}
.roster h3{font:400 30px/1 var(--display);font-style:italic;text-transform:uppercase;color:var(--white);margin-bottom:14px}
.roster li{font-size:15px;line-height:1.4;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.12);color:var(--text)}
.roster li b{color:var(--white);margin-right:8px}
.roster .note{font:700 12px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin:14px 0 0}

/* camps */
.camps{padding:120px 0;background:linear-gradient(180deg,var(--ink2) 0,var(--navy-d) 100%)}
.flagship{display:grid;grid-template-columns:1.1fr 1fr;background:var(--ink);border:2px solid var(--pink);box-shadow:14px 14px 0 var(--pink)}
.flagship figure{height:600px;overflow:hidden}
.flagship img{width:100%;height:100%;object-fit:cover;object-position:45% 40%}
.fs-body{padding:38px 42px}
.fs-days b{font-size:124px}
.fs-days{font:800 14px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0}
.fs-days b,.cc-days b{display:block;font:400 150px/.82 var(--display);font-style:italic;color:var(--pink);letter-spacing:0}
.fs-body h3{font-size:clamp(46px,4.4vw,68px);color:var(--white);margin:8px 0 6px}
.fs-who{font-weight:700;color:var(--white);font-size:19px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.chips li{font:700 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;border:1.5px solid rgba(255,255,255,.35);padding:9px 12px;color:var(--white)}
.chips li:first-child{border-color:var(--pink);color:var(--pink)}
.fine{font-size:14px;color:var(--muted);margin-bottom:24px}
.camp-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.camp-card{background:var(--ink);padding:34px 34px 30px;border-top:6px solid var(--pink);transition:transform .35s ease}
.camp-card:hover{transform:translateY(-6px)}
.cc-days{font:800 14px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cc-days b{font-size:96px}
.camp-card h3{font-size:44px;color:var(--white);margin:6px 0 12px}
.camp-card p{color:var(--text)}
.history{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:center;margin-top:80px}
.history figure{position:relative;transform:rotate(-3deg);box-shadow:0 26px 60px rgba(0,0,0,.5);border:6px solid var(--white)}
.history figcaption{position:absolute;right:-10px;bottom:-16px;background:var(--pink);color:var(--ink);font:800 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;padding:9px 12px}
.tl{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:3px solid var(--pink)}
.tl li{position:relative;padding:26px 18px 0 0}
.tl li::before{content:"";position:absolute;top:-10px;left:0;width:16px;height:16px;background:var(--pink);transform:rotate(45deg)}
.tl b{display:block;font:400 38px/1 var(--display);font-style:italic;color:var(--white);margin-bottom:8px}
.tl span{font-size:15px;line-height:1.45;color:var(--text);display:block}
.prices{margin-top:80px;background:var(--paper);color:var(--ink-text);padding:44px 48px;display:grid;grid-template-columns:320px 1fr;gap:20px 48px;align-items:start}
.p-label{display:inline-block;background:var(--ink);color:var(--white);font:800 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;padding:10px 14px;transform:skewX(-10deg);margin-bottom:16px}
.prices h3{white-space:nowrap;font:400 42px/.95 var(--display);font-style:italic;text-transform:uppercase;color:var(--ink)}
.prices table{width:100%;border-collapse:collapse;font-size:17px}
.prices th,.prices td{text-align:left;padding:16px 10px;border-bottom:1px solid #d9dbe6}
.prices thead th{font:800 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#4a4f6a;border-bottom:2px solid var(--ink)}
.prices tbody th{font-weight:800;color:var(--ink)}
.prices tbody th span{display:block;font-weight:500;font-size:14px;color:#4a4f6a}
.prices td{font:400 30px/1 var(--display);color:var(--ink)}
.prices tbody tr:first-child td{color:var(--pink-d)}
.p-note{grid-column:2;font-size:15px;color:#3a3f5a;margin:0}

/* parents: calmer, light */
.parents{background:var(--paper2);color:var(--ink-text);padding:120px 0}
.par-grid{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
.par-photos{position:relative;padding-bottom:120px}
.pp-1{width:78%;box-shadow:0 30px 60px rgba(17,20,43,.22)}
.pp-1 img{width:100%;height:auto}
.pp-2{position:absolute;right:0;bottom:0;width:44%;border:8px solid var(--paper2);box-shadow:0 20px 40px rgba(17,20,43,.25)}
.pp-2 img{width:100%;height:auto}
.pp-cap{font:700 13px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--pink-d);margin-top:18px;max-width:52%}
.h-par{font:400 clamp(40px,4.6vw,64px)/.98 var(--display);text-transform:uppercase;color:var(--ink);margin-bottom:22px}
.parents .lede{font-size:20px;line-height:1.55;color:#2a2e4a;max-width:640px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:34px 0 40px}
.fact{background:var(--paper);padding:22px 24px;border-top:4px solid var(--pink-d)}
.fact.wide{grid-column:1 / -1}
.fact h3{font:800 14px/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
.fact p{margin:0;font-size:16px;color:#2a2e4a}
.fact a{color:var(--pink-d);font-weight:700}
.faq details{border-top:1px solid #cfd2df;padding:4px 0}
.faq details:last-child{border-bottom:1px solid #cfd2df}
.faq summary{cursor:pointer;list-style:none;font:700 18px/1.4 var(--body);padding:16px 40px 16px 0;position:relative;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:10px;font:400 30px/1 var(--display);color:var(--pink-d)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:#2a2e4a;font-size:16px;margin:0 0 18px;max-width:620px}

/* Ken endorsement */
.ken{padding:120px 0;background:radial-gradient(800px 500px at 80% 40%,rgba(242,183,5,.12),transparent 65%),var(--ink);border-top:8px solid var(--gold)}
.ken-grid{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center}
.ken-photo{position:relative}
.ken-photo img{width:100%;height:640px;object-fit:cover;object-position:50% 30%;border:2px solid rgba(242,183,5,.6)}
.ken-photo figcaption{font-size:14px;color:var(--muted);margin-top:12px}
.ken blockquote{margin:0 0 28px}
.ken blockquote p{font:400 clamp(40px,4.4vw,66px)/1 var(--display);font-style:italic;text-transform:uppercase;color:var(--white);margin:0 0 20px}
.ken blockquote footer{font:800 15px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.ken blockquote footer span{display:block;font-weight:600;color:var(--muted);letter-spacing:.08em;font-size:13px;margin-top:4px}
.ken-copy>p:not(.eyebrow){font-size:18px;color:var(--text);max-width:560px;margin-bottom:30px}

/* final CTA */
.final{background:var(--pink);color:var(--ink);padding:90px 0;overflow:hidden}
.final-in{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.final-h{font-size:clamp(64px,9vw,140px);color:var(--ink);margin-bottom:24px}
.final-h span{display:block}
.final-copy p{font-size:19px;font-weight:600;max-width:520px;margin-bottom:30px;color:var(--ink)}
.final-photo{height:520px;overflow:hidden;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);background:var(--ink)}
.final-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}

/* footer */
.foot{background:var(--ink);padding:56px 0 40px;border-top:3px solid var(--pink)}
.foot-in{display:grid;grid-template-columns:auto 1fr;gap:28px 48px;align-items:center}
.foot-brand{display:flex;gap:16px;align-items:center}
.foot-brand p{margin:0}
.foot-brand a{font-size:14px;color:var(--muted)}
.foot-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 26px}
.foot-nav a{font:700 13px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--text)}
.foot-nav a:hover{color:var(--pink)}
.foot-note{grid-column:1 / -1;font-size:13px;color:var(--muted);margin:10px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}

/* progressive reveal: only when JS runs and motion is OK */
@media (prefers-reduced-motion:no-preference){
  .rv.pre{opacity:0;transform:translateY(26px)}
  .rv.pre.in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-main img,.ticker-track{animation:none}
  .ticker-track{width:auto;flex-wrap:wrap}
  *{transition:none!important}
}

/* laptop */
@media (max-width:1360px){
  .camp-row{grid-template-columns:1fr 1fr}
  .camp-row .camp-card:last-child{grid-column:1 / -1}
}
@media (max-width:1280px){
  .hero-art{height:640px}
  .hero-main{height:590px}
  .bento{grid-template-rows:250px 310px 340px 300px auto}
}

/* tablet */
@media (max-width:1024px){
  .menu{gap:18px}
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero-art{height:640px;max-width:680px;width:100%;margin:0 auto}
  .belong-grid{grid-template-columns:1fr 1fr}
  .belong-copy{grid-column:1 / -1}
  .bento{grid-template-columns:1fr 1fr;grid-template-areas:none;grid-template-rows:none}
  .bento>.rm{grid-area:auto;min-height:380px}
  .rm-helen,.rm-belg{grid-column:1 / -1}
  .rm-helen{min-height:520px!important}
  .type-card,.rm-quote,.cap-card{min-height:0!important}
  .cap-card>img{height:360px}
  .coach-grid{grid-template-columns:1fr;gap:36px}
  .coach-head{position:static}
  .flagship{grid-template-columns:1fr}
  .flagship figure{height:420px;max-width:900px}
  .ken-grid,.par-grid,.final-in{grid-template-columns:1fr}
  .ken-photo{max-width:520px}
  .par-photos{max-width:560px}
  .history{grid-template-columns:220px 1fr;gap:32px}
  .tl{grid-template-columns:1fr;border-top:0;border-left:3px solid var(--pink);padding-left:4px}
  .tl li{padding:0 0 22px 28px}
  .tl li::before{top:6px;left:-11px}
  .prices{grid-template-columns:1fr}
  .p-note{grid-column:1}
}

/* phone */
@media (max-width:760px){
  body{font-size:17px}
  .nav-in{min-height:66px;gap:12px}
  .wm{font-size:25px}
  .brand-mark{width:38px}
  .endorse{font-size:11px}
  .menu-btn{display:inline-flex;align-items:center;gap:10px;margin-left:auto;background:transparent;border:2px solid rgba(255,255,255,.6);color:var(--white);font:800 13px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;padding:11px 14px;cursor:pointer}
  .bars,.bars::before,.bars::after{display:block;width:18px;height:2px;background:currentColor;position:relative}
  .bars::before,.bars::after{content:"";position:absolute;left:0}
  .bars::before{top:-6px}.bars::after{top:6px}
  .js .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--ink);border-bottom:3px solid var(--pink);padding:8px var(--gut) 20px}
  .js .menu.open{display:flex}
  .js .menu a:not(.btn){padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:15px}
  .js .menu .btn{margin-top:16px}
  html:not(.js) .menu-btn{display:none}
  html:not(.js) .nav-in{flex-wrap:wrap;padding-bottom:12px}
  html:not(.js) .menu{flex-wrap:wrap;gap:14px;margin-left:0}
  .hero{padding:36px 0 64px}
  .hero-bgword{font-size:130px;top:4px}
  .hero-h{font-size:clamp(84px,27vw,120px);margin-bottom:20px}
  .hero-lede{font-size:19px}
  .cta-row{gap:14px}
  .cta-row .btn{width:100%}
  .hero-camps li{padding:14px 14px 0 0;margin-right:14px;font-size:11px}
  .hero-camps li+li{padding-left:14px}
  .hero-camps b{font-size:32px}
  .hero-camps{grid-template-columns:repeat(2,1fr)}
  .hero-camps li{margin-right:0}
  .hero-camps li:nth-child(odd){border-left:0;padding-left:0}
  .hero-camps li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.18);margin-top:14px}
  .hero-art{height:auto;padding-top:18px}
  .hero-main{position:relative;width:88%;height:440px;margin-left:auto}
  .hero-inset{width:46%;bottom:auto;top:300px;left:0}
  .hero-mark{width:78px;top:0;left:4%}
  .hero-tag{position:relative;right:auto;bottom:auto;width:auto;margin-top:84px}
  .ticker-set{font-size:24px;padding:13px 10px;gap:20px}
  .belong,.models,.coaches,.camps,.parents,.ken{padding:80px 0}
  .mega{margin-bottom:30px}
  .belong-grid{grid-template-columns:1fr}
  .belong-copy{padding:30px 24px}
  .tile{min-height:300px}
  .tile-b{min-height:420px}
  .sec-head{margin-bottom:34px}
  .bento{grid-template-columns:1fr;gap:12px}
  .bento>.rm{min-height:420px}
  .rm-helen{min-height:460px!important}
  .rm-belg{min-height:0!important;display:flex;flex-direction:column}
  .rm-belg>img{position:static;height:250px}
  .rm-txt.side{position:static;width:auto;background:var(--ink);padding:22px 22px 24px;border-right:0;border-top:4px solid var(--pink)}
  .rm-txt{padding:80px 22px 20px}
  .type-card .rm-num{font-size:110px;margin-bottom:24px}
  .cap-card>img{height:auto;aspect-ratio:4/3}
  .rm-jenny>img{aspect-ratio:1440/948}
  .rm-zoe>img{aspect-ratio:4/5}
  .coach-cards{grid-template-columns:1fr 1fr;gap:12px}
  .c-photo{grid-column:1 / -1}
  .c-photo figure{height:480px}
  .c-type{grid-column:1 / -1;padding:22px 20px}
  .c-type h3{font-size:32px}
  .roster{grid-template-columns:1fr;padding:18px}
  .roster figure{height:300px}
  .fs-body{padding:30px 22px}
  .fs-days b{font-size:120px}
  .flagship{box-shadow:8px 8px 0 var(--pink)}
  .flagship figure{height:300px}
  .camp-row{grid-template-columns:1fr}
  .camp-card{padding:28px 22px}
  .history{grid-template-columns:1fr;gap:40px;margin-top:64px}
  .history figure{max-width:260px}
  .prices{padding:30px 20px;margin-top:64px}
  .prices table{font-size:15px}
  .prices th,.prices td{padding:14px 6px}
  .prices td{font-size:24px}
  .facts{grid-template-columns:1fr}
  .par-photos{padding-bottom:90px}
  .ken-photo img{height:520px}
  .final{padding:70px 0}
  .final-h{font-size:clamp(54px,15.5vw,96px)}
  .final-copy .btn{width:100%}
  .final-photo{height:340px}
  .foot-in{grid-template-columns:1fr}
  .foot-nav{justify-content:flex-start}
}

/* ===== Round 2 additions (2026-09-28) ===== */
/* championship band: photo is 1140px native, so it runs edge to edge up to 1140 and sits centered in the full-width band above that (never upscaled) */
.champ{position:relative;overflow:hidden;background:var(--ink);padding:0 0 100px;border-top:10px solid var(--pink)}
.champ::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 420px at 50% 0%,rgba(255,46,136,.20),transparent 70%);pointer-events:none}
.champ-photo{position:relative;max-width:1140px;margin:0 auto}
.champ-photo img{width:100%;height:auto}
.champ-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(180deg,transparent,var(--ink));pointer-events:none}
@media (min-width:1141px){.champ-photo img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%)}}
.champ-body{position:relative;margin-top:-54px}
.champ-h{font:400 clamp(60px,8.4vw,128px)/.9 var(--display);font-style:italic;text-transform:uppercase;color:var(--white);margin:0 0 30px;text-shadow:0 10px 40px rgba(0,0,0,.6)}
.champ-h .pink{text-shadow:0 0 50px rgba(255,46,136,.35)}
.champ-row{display:grid;grid-template-columns:1.1fr 1fr;gap:28px 56px;align-items:start}
.champ-lede{font-size:clamp(18px,1.4vw,21px);line-height:1.5;color:var(--white);font-weight:600;max-width:600px;margin:0}
.champ-stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;border-top:1px solid rgba(255,255,255,.2)}
.champ-stats li{padding:16px 26px 0 0;margin-right:26px;font:700 12px/1.25 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.champ-stats li+li{border-left:1px solid rgba(255,255,255,.2);padding-left:26px}
.champ-stats b{display:block;font:400 52px/1 var(--display);font-style:italic;color:var(--pink);margin-bottom:8px;letter-spacing:0}
/* 2026 women's staff highlights */
.staff{padding:120px 0;background:linear-gradient(180deg,var(--ink) 0,var(--ink2) 100%)}
.staff-top{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:end;margin-bottom:56px}
.staff-top .sec-head{margin-bottom:0}
.staff .h-xl{font-size:clamp(44px,5.4vw,80px)}
.staff-action{position:relative;justify-self:end;width:100%;max-width:520px;border:6px solid var(--white);transform:rotate(2deg);box-shadow:0 26px 60px rgba(0,0,0,.5)}
.staff-action img{width:100%;height:auto}
.staff-action figcaption{position:absolute;left:-10px;bottom:-16px;background:var(--pink);color:var(--ink);font:800 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;padding:9px 12px}
.staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sc{display:flex;flex-direction:column;background:var(--ink2);border:1px solid rgba(255,255,255,.08);transition:transform .35s ease,border-color .35s ease}
.sc:hover{transform:translateY(-6px);border-color:var(--pink)}
.sc figure{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--navy)}
.sc figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.sc-txt{padding:18px 20px 22px;border-top:4px solid var(--pink);flex:1}
.sc-tag{font:800 11px/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--pink);margin:0 0 8px}
.sc h3{font:400 30px/.95 var(--display);font-style:italic;text-transform:uppercase;color:var(--white);margin-bottom:8px}
.sc-txt p:last-child{font-size:15px;line-height:1.45;color:var(--text);margin:0}
.sc-lead{grid-column:span 2;grid-row:span 2}
.sc-lead figure{aspect-ratio:auto;flex:1;min-height:420px;background:#000}
.sc-lead figure img{object-position:50% 30%}
.sc-lead .sc-txt{flex:none;padding:24px 28px 28px}
.sc-lead h3{font-size:clamp(40px,4vw,60px)}
.sc-lead .sc-txt p:last-child{font-size:17px}
.sc-yu figure{aspect-ratio:399/501;background:var(--ink)}
.sc-yu figure img{object-fit:contain}
.sc-kendra figure img{object-position:30% 15%}
.sc-makennah figure img{object-position:50% 15%}
/* Dr. Jenny Wong card (rebuilt; no poster art) */
.jw{display:grid;grid-template-columns:44% 1fr;background:var(--ink);min-height:470px}
.jw-photo{position:relative;overflow:hidden;border-right:6px solid var(--pink)}
.jw-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 25%}
.jw-body{padding:30px 30px 28px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(420px 300px at 95% 0%,rgba(255,46,136,.24),transparent 70%),var(--ink)}
.jw-quote{margin:0 0 20px}
.jw-quote p{font:400 clamp(26px,2.4vw,36px)/1 var(--display);font-style:italic;text-transform:uppercase;color:var(--white);margin:0}
.jw-quote span{display:block;color:var(--pink);font-size:1.5em;line-height:.95;margin-top:4px}
.rm .jw-body h3{font-size:32px}
.jw-body>p:not(.rm-tag){font-size:15px;line-height:1.5;color:var(--text);margin:8px 0 0}
.jw-body>p.jw-stamp{margin-top:18px;font:700 12px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.jw-stamp b{display:inline-block;background:var(--pink);color:var(--ink);padding:6px 10px;transform:skewX(-10deg);margin-right:8px}
/* dates */
.fs-date{font:700 14px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--white);margin:0 0 24px}
.fs-date b{color:var(--pink);margin-right:8px}
.cc-date{font:700 13px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}
.p-early{margin-top:8px}
.p-early b{color:var(--pink-d)}
/* Spooky Nook photos in the parents section */
.nook{margin:0 0 40px}
.nook-h{font:400 34px/1 var(--display);text-transform:uppercase;color:var(--ink);margin-bottom:14px}
.nook-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:170px 170px;gap:12px}
.nook-grid figure{position:relative;overflow:hidden;background:#dfe1ea}
.nook-grid img{width:100%;height:100%;object-fit:cover}
.nk-room{grid-row:span 2}
.nook-grid figcaption{position:absolute;left:0;bottom:0;background:var(--ink);color:var(--white);font:700 11px/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;padding:8px 10px}
@media (max-width:1024px){
  .champ-body{margin-top:-30px}
  .champ-row{grid-template-columns:1fr}
  .staff-top{grid-template-columns:1fr}
  .staff-action{justify-self:start}
  .staff-grid{grid-template-columns:repeat(3,1fr)}
  .rm-jenny{grid-column:1 / -1}
}
@media (max-width:760px){
  .champ{padding-bottom:70px}
  .champ-body{margin-top:14px}
  .champ-h{font-size:clamp(50px,15vw,84px);margin-bottom:22px}
  .champ-stats{grid-template-columns:repeat(3,1fr)}
  .champ-stats li{padding:14px 10px 0 0;margin-right:0;font-size:10px;letter-spacing:.1em}
  .champ-stats li+li{padding-left:12px}
  .champ-stats b{font-size:34px}
  .staff{padding:80px 0}
  .staff-top{gap:40px;margin-bottom:40px}
  .staff-action{max-width:none;transform:rotate(1.5deg)}
  .staff-grid{grid-template-columns:1fr 1fr;gap:12px}
  .sc-lead{grid-column:1 / -1;grid-row:auto}
  .sc-lead figure{flex:none;min-height:0;aspect-ratio:1/1}
  .sc-txt{padding:12px 12px 14px}
  .sc h3{font-size:22px}
  .sc-tag{font-size:10px;letter-spacing:.1em}
  .sc-txt p:last-child{font-size:13px}
  .sc-lead h3{font-size:40px}
  .sc-lead .sc-txt{padding:18px 18px 20px}
  .sc-lead .sc-txt p:last-child{font-size:16px}
  .jw{display:flex;flex-direction:column}
  .jw-photo{border-right:0;border-bottom:6px solid var(--pink);aspect-ratio:620/650;flex:none}
  .jw-body{padding:24px 22px 26px}
  .nook-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 130px}
  .nk-room{grid-column:1 / -1;grid-row:auto}
}
/* round 2: one-line headings (no dangling words) */
.staff .h-xl{font-size:clamp(44px,5.4vw,80px);white-space:nowrap}
.jw-quote p{font-size:clamp(22px,2vw,30px)}
@media (max-width:760px){
  .champ-h{font-size:10.5vw;white-space:nowrap}
  .staff .h-xl{font-size:11vw}
  .sc h3{font-size:19px}
  .sc-lead h3{font-size:34px}
  .nook-h{font-size:24px}
}
/* ===== Round 2b: flyer-style lockup, hero shield, Helen wall ===== */
:root{--cyan:#3ad7ea}
.wm{font-family:"Audiowide","Anton",sans-serif;font-style:normal;font-size:27px;letter-spacing:.01em;display:inline-block;transform:skewX(-10deg);white-space:nowrap}
.wm-a{margin-right:0}
.wm-a,.wm-b{text-shadow:1.5px 0 0 var(--ink),-1.5px 0 0 var(--ink),0 1.5px 0 var(--ink),0 -1.5px 0 var(--ink),1.1px 1.1px 0 var(--ink),-1.1px 1.1px 0 var(--ink),1.1px -1.1px 0 var(--ink),-1.1px -1.1px 0 var(--ink),
 2.8px 0 0 var(--cyan),-2.8px 0 0 var(--cyan),0 2.8px 0 var(--cyan),0 -2.8px 0 var(--cyan),2px 2px 0 var(--cyan),-2px 2px 0 var(--cyan),2px -2px 0 var(--cyan),-2px -2px 0 var(--cyan),0 0 14px rgba(58,215,234,.35)}
.brand-mark{width:66px;filter:drop-shadow(0 0 6px rgba(255,46,136,.45))}
.foot-brand img{width:90px;height:auto}
.hero-shield{position:absolute;left:-3%;top:110px;width:106%;height:auto;z-index:0;filter:drop-shadow(0 0 34px rgba(255,46,136,.5)) drop-shadow(0 26px 40px rgba(0,0,0,.45));pointer-events:none}
.hero-inset{z-index:2}
.hero-tag{z-index:3}
.bento{grid-template-areas:
   "helen helen helen helen helen flag flag flag flag flag flag flag"
   "helen helen helen helen helen nicole nicole nicole medal medal medal medal"
   "kylie kylie kylie kylie belg belg belg belg belg belg belg belg"
   "kylie kylie kylie kylie quote quote quote ava ava ava ava ava"
   "jenny jenny jenny jenny jenny jenny jenny zoe zoe zoe zoe zoe";
  grid-template-rows:330px 330px 360px 310px auto}
.rm-helen>img{object-position:50% 0%}
.rm-flag{grid-area:flag}
.rm-flag>img{object-position:50% 30%}
.rm-nicole{padding:22px 22px}
.rm-nicole .rm-num{font-size:100px}
.rm-nicole h3{font-size:38px}
.rm-nicole p:last-child{font-size:15px}
@media (max-width:1280px){.bento{grid-template-rows:310px 310px 340px 300px auto}}
@media (max-width:1024px){.rm-helen>img{object-position:50% 12%}.bento>.rm-flag{grid-column:1 / -1}}
@media (max-width:760px){
  .wm{font-size:21px}
  .brand-mark{width:52px}
  .hero-shield{top:170px;left:-4%;width:108%}
  .hero-main{position:relative;left:auto;width:74%;height:360px;margin:0 auto}
  .hero-inset{top:300px;width:42%}
  .hero-tag{margin-top:100px}
  .rm-nicole .rm-num{font-size:96px}
}
@media (max-width:1024px){.bento{grid-template-areas:none;grid-template-rows:none}}
.champ-stats b{white-space:nowrap}
.jw-stamp span{white-space:nowrap}
@media (max-width:760px){.staff .eyebrow{font-size:12px;letter-spacing:.12em}}

/* ===== Round 2c: Kylie cut out and standing in front of the shield ===== */
.hero-shield{top:0}
.hero-art .hero-main{position:absolute;left:auto;right:8%;top:auto;bottom:0;width:auto;height:560px;overflow:visible;clip-path:none;background:none;z-index:1;margin:0}
.hero-art .hero-main img{position:static;display:block;width:auto;height:100%;object-fit:contain;animation:none;transform:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 64%,transparent 96%);mask-image:linear-gradient(to bottom,#000 0,#000 64%,transparent 96%);
  filter:drop-shadow(0 10px 26px rgba(0,0,0,.5))}
@media (max-width:1280px){.hero-art .hero-main{height:520px}}
@media (max-width:1024px){.hero-art .hero-main{position:absolute;left:auto;right:8%;bottom:auto;top:110px;width:auto;height:480px;margin:0}
  .hero-art{height:640px;padding-top:0}
  .hero-tag{position:absolute;right:-6px;bottom:0;width:270px;margin-top:0}
  .hero-inset{position:absolute;bottom:6px;top:auto;left:0;width:40%}}
@media (max-width:760px){
  .hero-shield{top:0;left:-4%;width:108%}
  .hero-art{height:640px}
  .hero-art .hero-main{top:70px;right:6%;height:400px}
  .hero-inset{width:42%;bottom:6px}
  .hero-tag{width:230px;padding:14px 18px 12px}
}

/* ===== Round 4 (Sept 29) ===== */
.sg-demand{font-size:15px;font-weight:600;color:var(--muted);margin:16px 0 0}
.sg-demand::before{content:"\2605";color:var(--gold);margin-right:8px}
.final .sg-demand{color:var(--ink);margin-top:18px}
.final .sg-demand::before{color:var(--ink)}
.faq-all{margin:22px 0 0}
.faq-all a{font:800 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--pink-d);text-decoration:none}
.faq-all a:hover{text-decoration:underline}
.prices .ast{font-size:.6em;vertical-align:super;margin-left:2px}
.p-note .ast{color:var(--pink-d);font-weight:800;margin-right:2px}

/* Round 4 photos (Ryan's 9/29 SuperGirl photos) */
.tile-b img{object-position:50% 5%}
.tile-a img{object-position:55% 30%}
.flagship img{object-position:50% 0%}
@media (min-width:761px) and (max-width:1024px){.flagship figure{height:auto;aspect-ratio:1.15}}

/* Round 4b: Jenny action photo (upscaled 2x, Ryan's one-photo exception), history strip label */
.jw-photo img{object-position:50% 100%}
@media (max-width:760px){.jw-photo{aspect-ratio:2/3}}
.tl b{white-space:nowrap}
.history .tl{grid-template-columns:1.3fr repeat(4,1fr)}
@media (max-width:1024px){.history .tl{grid-template-columns:1fr}}
.final-copy .sg-demand{margin-bottom:0}
.camp-crowd{margin:80px 0 0;clip-path:polygon(2.5% 0,100% 0,97.5% 100%,0 100%);background:var(--ink)}
.camp-crowd img{display:block;width:100%;height:auto}
@media (max-width:760px){.camp-crowd{margin-top:56px}}

/* Round 4c: hero cutout shadow moved from the masked image to its figure. On the image itself Chrome drew a faint dark box around the whole picture (also present with the old file). */
.hero-art .hero-main{filter:drop-shadow(0 10px 26px rgba(0,0,0,.5))}
.hero-art .hero-main img{filter:none}

/* Round 5: past-camp group photo under the price tile (was the history strip photo) */
.camp-past{position:relative;margin:76px 0 0;border:6px solid var(--white);box-shadow:0 26px 60px rgba(0,0,0,.5);background:var(--ink)}
.camp-past img{display:block;width:100%;height:auto}
.camp-past figcaption{position:absolute;left:-6px;bottom:-18px;background:var(--pink);color:var(--ink);font:800 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;padding:10px 14px;transform:skewX(-10deg)}
@media (max-width:760px){.camp-past{margin:56px calc(-1 * var(--gut)) 0;border-left:0;border-right:0;box-shadow:none}.camp-past figcaption{left:var(--gut);bottom:-18px}}

/* Round 5: Kylie (past coaches) sits a little left; the file's left 150px was trimmed. Frame is only 225-256px wide on desktop, so position is tuned per range: shoe stays whole, hair not cropped at 1440. Bottom-anchored so the shoes never clip when the frame is wide (tablet). */
.c-photo img.kylie-stance{object-position:45% 100%}
@media (min-width:1025px) and (max-width:1360px){.c-photo img.kylie-stance{object-position:39% 100%}}
/* Header: FAQ link added. Keep every link on one line and tighten spacing on small desktops. */
.menu a:not(.btn){white-space:nowrap}
@media (min-width:761px) and (max-width:1100px){.menu{gap:14px}.menu a:not(.btn){font-size:13px;letter-spacing:.06em}}

/* SG6 (9/29, Ryan): symmetric camp cards (2-line titles, 3 chip rows) + more girls photos in For the grown-ups; full 2022 flyer */
.camp-card .chips{gap:0 8px}
.camp-card .chips li{margin-bottom:8px}
.camp-card .chips li.chip-br{flex-basis:100%;height:0;margin:0;padding:0;border:0}
.pp-more{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.pp-more figure{margin:0;aspect-ratio:4/5;overflow:hidden;box-shadow:0 18px 36px rgba(17,20,43,.2)}
.pp-more img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
/* SG6: keep the three camp cards side by side on laptops (was 2+1 under 1360px) */
@media (min-width:1100px){.camp-row{grid-template-columns:repeat(3,1fr)}.camp-row .camp-card:last-child{grid-column:auto}}
@media (min-width:1100px) and (max-width:1439px){.camp-card{padding:30px 26px 26px}.camp-card h3+p{font-size:15px}.camp-card .chips li{font-size:11px;padding:8px 10px}}
/* Round 7 (Ryan 9/29): flag photo back to its smaller pre-round-6 size; hero = heart-hands Kylie cutout, bigger, so the heart reaches the top of the shield */
.hero-art .hero-inset{width:40%}
@media (max-width:760px){.hero-art .hero-inset{width:42%}}
.hero-art .hero-main{height:690px}
@media (max-width:1280px){.hero-art .hero-main{height:620px}}
@media (max-width:1024px){.hero-art .hero-main{top:16px;height:600px}}
@media (max-width:760px){.hero-art .hero-main{top:6px;height:470px}}
.pp-stack{position:relative}
/* Nicole Woody headshot (Ryan 9/29), top-right of her pink card beside the "4x" */
.rm-nicole{position:relative}
.rm-nicole .rm-face{position:absolute;top:20px;right:20px;width:112px;height:112px;border-radius:50%;object-fit:cover;border:4px solid var(--ink);box-shadow:0 12px 28px rgba(0,0,0,.35)}
@media (min-width:761px) and (max-width:1024px){.rm-nicole .rm-face{width:140px;height:140px}}
.bento .rm.rm-nicole>img.rm-face{inset:20px 20px auto auto;position:absolute;width:112px;height:112px;min-height:0;transform:none}
@media (min-width:761px) and (max-width:1024px){.bento .rm.rm-nicole>img.rm-face{width:140px;height:140px}}
@media (max-width:760px){.bento .rm.rm-nicole>img.rm-face{width:96px;height:96px;inset:16px 16px auto auto}}
/* R8 (Ken 9/29): Alexia Wagner gets the same lead card as Odun. Desktop: Odun top-left, Alexia bottom-right; dense flow fills the rest. */
.staff-grid{grid-auto-flow:row dense}
@media (min-width:1025px){.staff-grid .sc-lead-alt{grid-column:3 / span 2;grid-row:3 / span 2}}
.sc-note{display:flex;flex-direction:column;justify-content:flex-end;gap:12px;background:var(--pink);color:var(--ink);padding:26px 24px 28px}
.sc-note p{margin:0;color:var(--ink)}
.sc-note-k{font:800 11px/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase}
.sc-note-h{font:400 40px/.95 var(--display);font-style:italic;text-transform:uppercase}
.sc-note-p{font-size:15px;line-height:1.45}
@media (min-width:761px) and (max-width:1024px){.sc-note{grid-column:1 / -1}}
@media (max-width:760px){.sc-note{padding:14px 12px 16px;gap:8px}.sc-note-h{font-size:22px}.sc-note-p{font-size:13px}.sc-note-k{font-size:10px;letter-spacing:.1em}}
/* R8: bottom coach grid. The one-line pink heading (nbsp) forced the head column to ~740px at 1440, squeezing the coach cards into ~470px. Let the heading wrap so the cards get room. */
@media (min-width:1025px){.coach-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
/* R8c: photo on a text staff card (Hadyn Stine). Photo sits under the pink top bar, full card width. */
.c-type-ph{padding-top:0}
.c-type-ph .ct-fig{margin:0 -24px 20px;aspect-ratio:4/5;overflow:hidden;background:var(--navy)}
.c-type-ph .ct-fig img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
@media (max-width:760px){.c-type-ph .ct-fig{margin:0 -20px 18px}}

/* Round 8: Ryan's flag-wrestler sticker, slapped on the top-left corner of the college-wrestling photo (covers only dark arena seats) */
.staff-action img.sticker{position:absolute;z-index:2;width:150px;height:auto;left:-72px;top:-60px;transform:rotate(-12deg);pointer-events:none;filter:drop-shadow(0 12px 16px rgba(0,0,0,.45)) drop-shadow(0 2px 3px rgba(0,0,0,.35))}
@media (max-width:1024px){.staff-action img.sticker{width:120px;left:-18px;top:-56px}}
@media (max-width:760px){.staff-action img.sticker{width:84px;left:-6px;top:-46px;transform:rotate(-10deg)}}

/* ===== R8P (Ryan 9/30): "For the grown-ups" photo column = one designed mosaic, as long as the right column =====
   Top: Beth + the Beth-and-daughter overlay (overlay dropped a little lower). Below: a staggered two-column "brick"
   of four girls photos (two action, two smiling pairs) with a full-width group photo at the bottom.
   Desktop (2 columns): the photo column stretches to the right column's height and the mosaic fills what is left,
   so both columns end together at any desktop width. Tablet/phone (1 column): the mosaic gets its own fixed shape. */
.par-grid{align-items:stretch}
.par-photos{display:flex;flex-direction:column;padding-bottom:0}
.pp-2{bottom:-44px}
.pp-mosaic{flex:1 1 0px;min-height:560px;margin-top:74px;display:grid;gap:14px;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-rows:minmax(0,3fr) minmax(0,1fr) minmax(0,3fr) minmax(0,3.2fr);
  grid-template-areas:"a a a b b b" "c c c b b b" "c c c d d d" "e e e e e e"}
.pp-mosaic figure{margin:0;min-height:0;min-width:0;overflow:hidden;background:#dfe1ea;box-shadow:0 18px 36px rgba(17,20,43,.18)}
.pp-mosaic img{display:block;width:100%;height:100%;object-fit:cover}
.pm-a{grid-area:a}.pm-a img{object-position:50% 30%}
.pm-b{grid-area:b}.pm-b img{object-position:50% 22%}
.pm-c{grid-area:c}.pm-c img{object-position:50% 24%}
.pm-d{grid-area:d}.pm-d img{object-position:52% 62%}
.pm-e{grid-area:e;border-bottom:6px solid var(--pink-d)}.pm-e img{object-position:50% 16%}
@media (max-width:1024px){
  .par-grid{align-items:start}
  .pp-mosaic{flex:none;min-height:0;aspect-ratio:5/7}
}
@media (max-width:760px){
  .par-photos{padding-bottom:0}
  .pp-2{bottom:-28px}
  .pp-mosaic{margin-top:50px;gap:10px;aspect-ratio:4/5}
}
/* R8 (9/30): small phones (<=380px): the price table fits the screen (it was 12px too wide at 320) */
@media (max-width:380px){.prices{padding-left:14px;padding-right:14px}.prices table th,.prices table td{padding-left:3px;padding-right:3px}.prices table tbody td:nth-child(n+2){font-size:17px}.prices table th{letter-spacing:.04em;font-size:11px}.prices .p-head h3{font-size:36px}}
@media (max-width:760px){.camp-past figcaption{right:auto;max-width:calc(100% - var(--gut) - 18px);line-height:1.25}}

/* G70 (10/1): Ask Coach floating button: slightly rounded corners, matching the main site */
#kcacBtn{border-radius:6px!important}

/* R10 G71 (10-01): Register entry on the SuperGirl page, mirrors the main site (nav link + floating "Register now") */
.menu a.nav-reg{color:var(--pink)!important;border-bottom:2px solid var(--pink);padding-bottom:4px}
.reg-fab{position:fixed;left:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:10px;min-height:50px;background:var(--pink);color:#fff;font:700 14px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:14px 20px 14px 16px;border-radius:6px;box-shadow:0 14px 34px -10px rgba(255,46,136,.75);transition:transform .2s}
.reg-fab:hover{transform:translateY(-2px) scale(1.03)}
.reg-fab:focus-visible{outline:3px solid #fff;outline-offset:3px}
body:has(.menu-btn[aria-expanded="true"]) .reg-fab{display:none}
@media (max-width:420px){.reg-fab{left:12px;bottom:12px;font-size:13px;padding:12px;min-height:46px}}

/* ===== G81 (spec 10/1): Amanda Lebec joins the 2026 staff highlights. 8 small tiles fill the two 2x2 blocks beside the
   lead cards (4 columns from 761px up); the pink "2027 staff" note becomes a full-width band so no row has a straggler. ===== */
.staff-grid .sc-note{grid-column:1 / -1;justify-content:center}
@media (min-width:761px){.staff-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.staff-grid .sc-lead-alt{grid-column:3 / span 2;grid-row:3 / span 2}.staff-grid .sc-note{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:8px 24px}}
@media (min-width:761px) and (max-width:1024px){.staff-grid .sc:not(.sc-lead) h3{font-size:22px}.staff-grid .sc:not(.sc-lead) .sc-txt{padding:14px 14px 16px}.staff-grid .sc:not(.sc-lead) .sc-txt p:last-child{font-size:14px}}

/* G82: girls' camps timeline copy + camp row balance (scoped) */
.history{align-items:start}
.history h3.h-md{text-wrap:balance;margin-bottom:14px}
.hist-intro{font-size:16px;line-height:1.5;color:var(--text);margin:0 0 22px}
.history .tl.tl-v{display:block;border-top:0;border-left:3px solid var(--pink);padding-left:4px;margin:0 0 6px}
.history .tl.tl-v li{display:grid;grid-template-columns:215px 1fr;gap:14px;padding:0 0 16px 26px;position:relative}
.history .tl.tl-v li::before{top:5px;left:-11px}
.history .tl.tl-v b{font-size:23px;line-height:1.05;white-space:normal;margin:0}
.history .tl.tl-v span{font-size:14.5px;line-height:1.45}
.hist-notes{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:8px}
.hist-notes p{font-size:14.5px;line-height:1.45;color:var(--text);margin:0}
.hist-notes b{color:var(--white)}
.hist-close{margin:16px 0 0;font:800 13px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--pink)}
@media (max-width:760px){
  .history .tl.tl-v li{grid-template-columns:1fr;gap:4px;padding-left:22px}
  .hist-notes{grid-template-columns:1fr}
}
@media (min-width:901px){.camp-row{grid-template-columns:repeat(3,1fr)}.camp-row .camp-card:last-child{grid-column:auto}}
@media (min-width:901px) and (max-width:1099px){.camp-card{padding:26px 20px 24px}.camp-card h3{font-size:36px}.camp-card h3+p{font-size:14.5px}.camp-card .chips li{font-size:10.5px;padding:7px 8px}}
@media (max-width:900px){.camp-row{grid-template-columns:1fr}.camp-row .camp-card:last-child{grid-column:auto}}

/* G83: four small counselor tiles = two rows of two (no orphan) above phone width */
@media (min-width:761px){.c-type-ph{grid-column:span 3}}

/* G90: "Twenty years" section, short timeline + expander (Ryan 10/2). Diamonds are centred on the pink line by geometry: line centre = 1.5px (3px border), diamond 16px => offset -9.5px. */
.history .tl.tl-s{display:grid;grid-template-columns:minmax(0,1fr);border-top:0;border-left:3px solid var(--pink);padding:0;margin:0 0 6px}
.history .tl.tl-s li{padding:0 0 14px 26px;position:relative}
.history .tl.tl-s li::before{top:5px;left:-9.5px}
.history .tl.tl-s b{font-size:24px;line-height:1.05;white-space:normal;margin:0 0 6px}
.history .tl.tl-s span{font-size:14.5px;line-height:1.45}
.history .tl.tl-s strong,.history .tl-v strong,.hist-notes strong{color:var(--white);font-weight:800}
@media (min-width:1181px){
  .history .tl.tl-s{grid-template-columns:repeat(5,minmax(0,1fr));border-left:0;border-top:3px solid var(--pink)}
  .history .tl.tl-s li{padding:24px 16px 0 0}
  .history .tl.tl-s li::before{top:-9.5px;left:0}
}
.history .tl.tl-v{padding-left:0}
.history .tl.tl-v li::before{left:-9.5px}
.hist-more{margin:22px 0 0}
.hist-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;background:var(--pink);color:var(--ink);font:800 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;padding:15px 22px}
.hist-more>summary::-webkit-details-marker{display:none}
.hist-more>summary::after{content:"+";font-size:18px;line-height:1}
.hist-more[open]>summary::after{content:"\2212"}
.hist-more>summary:focus-visible{outline:3px solid #fff;outline-offset:3px}
.hist-more .lbl-o{display:none}.hist-more[open] .lbl-o{display:inline}.hist-more[open] .lbl-c{display:none}
.hist-full{margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.18)}
.hist-full .hist-notes{margin-top:8px;width:100%}
.hist-close{margin-top:24px}

/* G91a: keep "A camp of their own" on one line in the short timeline at desktop */
@media (min-width:1181px){.history .tl.tl-s b{font-size:21px;white-space:nowrap}}

/* ===== G100 (2026-10-02, Ryan): footer newsletter + kenchertow.com links row. Appended block; nothing above changed. ===== */
.kc-more{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px 56px;align-items:end;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.kc-more h4{margin:0 0 14px;font:700 13px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--pink)}
.kc-links{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:flex-end}
.kc-links a{font:700 12px/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
.kc-links a:hover{color:var(--pink)}
.kc-news-form form{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end}
.kc-news-form fieldset{max-width:none!important;border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 12px;flex:1 1 100%}
.kc-news-form .hs-form-field{flex:1 1 200px;margin:0}
.kc-news-form label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.kc-news-form .input{margin:0!important}
.kc-news-form input[type=email],.kc-news-form input[type=text],.kc-news-form input[type=tel]{width:100%!important;box-sizing:border-box;min-height:46px;padding:10px 14px;background:#0d0b26;border:1px solid rgba(255,255,255,.22);border-radius:0;color:#fff;font:inherit;font-size:16px}
.kc-news-form input:focus{outline:2px solid var(--pink);outline-offset:1px}
.kc-news-form .hs-button{min-height:46px;padding:0 24px;background:var(--pink);color:#12030b;border:0;border-radius:0;font:700 14px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.kc-news-form .hs-error-msgs{list-style:none;padding:0;margin:6px 0 0;color:#ff9b9b;font-size:13px}
.kc-news-form .legal-consent-container,.kc-news-form .hs-richtext,.kc-news-form .submitted-message{flex:1 1 100%;font-size:13px;color:var(--muted)}
@media (max-width:980px){.kc-more{grid-template-columns:1fr;align-items:start}.kc-links{justify-content:flex-start}}
/* ===== end G100 ===== */

/* RegFox go-live 2026-10-02: Camp options pills + per-camp Register buttons */
.p-tap{margin:6px 0 0;font-weight:600}
.p-sub{margin:18px 0 4px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px}
.otable{width:100%;border-collapse:collapse}
.otable td{vertical-align:middle}
.pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 14px;border:2px solid var(--pink,#ff2e88);border-radius:999px;font-weight:700;color:inherit;text-decoration:none;white-space:nowrap}
.pill:hover,.pill:focus-visible{background:var(--pink,#ff2e88);color:#12030b}
.pill .pl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.otable .rs{display:block;font-size:12px;margin-top:4px;opacity:.85}
@media (max-width:620px){
  .otable thead{display:none}
  .otable tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px;padding:10px 0;border-top:1px solid rgba(127,127,127,.3)}
  .otable th,.otable td{border:0!important;padding:0!important;text-align:left!important}
  .otable th{grid-column:1/-1}
  .pill{display:flex;width:100%;padding:9px 8px;white-space:normal}
  .pill .pl{position:static;width:auto;height:auto;clip:auto;margin-right:4px}
}
/* fix after 2026-10-02 screenshots: options table spans the full box, normal text size in pills */
.prices:has(.otable){grid-template-columns:1fr}
.prices>*{min-width:0}
.prices .otable td{font:700 16px/1.2 var(--body);color:var(--ink)}
.prices .otable tbody tr:first-child td{color:var(--ink)}
.prices .otable .pill{border-color:var(--pink-d,#d4136d);color:var(--ink)}
@media (max-width:620px){.prices .otable td{font-size:14px}}
.prices .p-head,.prices .p-sub,.prices .otable,.prices .p-note{grid-column:1/-1}

/* ===== G110 (2026-10-02): live-audit fixes (LIVE-AUDIT-20261002.md). Appended block. ===== */
/* #1 "PAST COACHES AT SUPERGIRL CAMPS." fits its column */
.coach-head{min-width:0}
#coaches-h{font-size:clamp(48px,5vw,72px)}
/* #2 tablet header: switch to the Menu button below 920px (the full link row does not fit 761-919px) */
@media (max-width:919px){
  .menu-btn{display:inline-flex;align-items:center;gap:10px;margin-left:auto;background:transparent;border:2px solid rgba(255,255,255,.6);color:var(--white);font:800 13px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;padding:11px 14px;cursor:pointer}
  .bars,.bars::before,.bars::after{display:block;width:18px;height:2px;background:currentColor;position:relative}
  .bars::before,.bars::after{content:"";position:absolute;left:0}
  .bars::before{top:-6px}.bars::after{top:6px}
  .js .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--ink);border-bottom:3px solid var(--pink);padding:8px var(--gut) 20px}
  .js .menu.open{display:flex}
  .js .menu a:not(.btn){padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:15px}
  .js .menu .btn{margin-top:16px}
  html:not(.js) .menu-btn{display:none}
  html:not(.js) .nav-in{flex-wrap:wrap;padding-bottom:12px}
}
/* #7 tiny text */
.sc-tag,.staff-grid .sc-tag{font-size:13px}
.nook figcaption,html body .nook figcaption{font-size:13px}
/* #8 button labels stay on one line */
.btn{white-space:nowrap}
/* #9 Ask Coach: short label under 900px, never wraps */
@media (max-width:899px){#kcacBtn{white-space:nowrap}#kcacBtn .kcac-label{font-size:0!important;letter-spacing:0!important}#kcacBtn .kcac-label::after{content:"Ask Coach";font-size:13px;letter-spacing:.06em}}
/* #10 Ask Coach close: 44x44 tap area (icon unchanged) */
#kcacClose{min-width:44px!important;min-height:44px!important;display:flex!important;align-items:center;justify-content:center}
/* #3 floating Register: on desktop it waits until the hero has scrolled away (main.js/sg.js add .show), and sits in the right-hand stack above Ask Coach. Phones unchanged. */
@media (min-width:900px){.reg-fab{left:auto!important;right:22px;bottom:88px}.fab-io .reg-fab:not(.show){opacity:0;visibility:hidden;pointer-events:none}.fab-io .reg-fab{transition:opacity .25s,visibility .25s,transform .2s,box-shadow .2s}}

/* G111 SuperGirl price pills 44px tap target; "camper + parent" label 13px; HubSpot overlay CTA suppressed (Ryan: "turn it off") */
a.pill.reg-pill,.otable a.pill{min-height:44px}
.otable .rs,small.rs{font-size:13px!important}
#hs-web-interactives-top-anchor,#hs-web-interactives-top-push-anchor,#hs-interactives-modal-overlay,[id^="hs-overlay-cta"]{display:none!important}
