:root{--ct-red:#ba0035;--ct-navy:#0b1c30}
html{scroll-behavior:auto}body{overflow-x:hidden}
/* Avoid CLS: only hide reveals after JS marks motion ready */
html.ct-motion-ready [data-reveal]{opacity:0;transform:translateY(18px);will-change:opacity,transform}
html.ct-motion-ready [data-reveal].is-in{opacity:1;transform:none;will-change:auto}
.ct-menu-panel{position:fixed;inset:80px 16px auto 16px;z-index:9999;background:#fff;border:1px solid rgba(11,28,48,.12);border-radius:16px;box-shadow:0 24px 60px rgba(11,28,48,.18);padding:12px;display:none}.ct-menu-panel.open{display:block}.ct-menu-panel a{display:block;padding:12px 14px;border-radius:10px;color:#0b1c30;font-weight:700}.ct-menu-panel a:hover{background:#eff4ff;color:#ba0035}
.ct-modal-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(5,13,25,.72);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px}.ct-modal-backdrop.open{display:flex}.ct-modal{width:min(560px,100%);max-height:90vh;overflow:auto;background:white;color:#0b1c30;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.3);padding:28px;position:relative}.ct-close{position:absolute;right:18px;top:18px;width:40px;height:40px;border-radius:999px;background:#eff4ff;display:grid;place-items:center;font-size:24px}.ct-modal h2{font-size:30px;font-weight:800;margin:0 42px 8px 0}.ct-modal p{color:#5b6573;margin-bottom:20px}.ct-form{display:grid;gap:14px}.ct-form label{font-size:13px;font-weight:700}.ct-form input,.ct-form select,.ct-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;margin-top:6px;outline:none}.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{border-color:#ba0035;box-shadow:0 0 0 3px rgba(186,0,53,.1)}.ct-submit{background:#ba0035;color:white;border-radius:12px;padding:13px 16px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.ct-success{padding:20px;border-radius:14px;background:#ecfdf5;color:#065f46;font-weight:700;display:none}.ct-toast{position:fixed;z-index:11000;right:20px;bottom:20px;background:#0b1c30;color:white;padding:13px 18px;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.22);transform:translateY(30px);opacity:0;transition:.25s}.ct-toast.show{transform:none;opacity:1}
.ct-search-wrap{position:fixed;inset:0;z-index:10000;background:rgba(5,13,25,.82);backdrop-filter:blur(10px);display:none;padding:9vh 20px}.ct-search-wrap.open{display:block}.ct-search-box{width:min(760px,100%);margin:auto;background:#fff;border-radius:18px;padding:18px}.ct-search-box input{width:100%;font-size:20px;border:0;outline:0;padding:12px}.ct-search-results{max-height:55vh;overflow:auto;border-top:1px solid #e5e7eb}.ct-search-results a{display:block;padding:13px 12px;border-bottom:1px solid #f1f5f9;color:#0b1c30}.ct-search-results a:hover{background:#f8fafc;color:#ba0035}
.ct-active-filter{background:#0b1c30!important;color:#fff!important}.ct-hidden-filter{display:none!important}
.ct-progress{position:fixed;top:0;left:0;height:3px;background:#ba0035;z-index:12000;width:0}.ct-top{position:fixed;right:20px;bottom:76px;z-index:999;width:46px;height:46px;border-radius:999px;background:#ba0035;color:white;display:grid;place-items:center;box-shadow:0 12px 30px rgba(186,0,53,.3);opacity:0;pointer-events:none;transition:.25s}.ct-top.show{opacity:1;pointer-events:auto}
@media(max-width:767px){.ct-modal{padding:22px}.ct-modal h2{font-size:25px}.ct-menu-panel{top:72px}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.ct-motion-ready [data-reveal],*[data-reveal]{opacity:1!important;transform:none!important}
  .ct-toast,.ct-top{transition:none}
  .ct-cursor,.ct-float-orb,.ct-ball-trail{display:none!important}
}

/* Premium motion layer */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:12100;opacity:.035;background-image:radial-gradient(circle at 25% 25%,#fff 0 1px,transparent 1.5px);background-size:18px 18px;mix-blend-mode:soft-light}
html.ct-loading,html.ct-loading body{overflow:hidden}
.ct-loader{position:fixed;inset:0;z-index:20000;background:linear-gradient(135deg,#f8f9ff 0%,#eef4ff 55%,#f8f9ff 100%);display:grid;place-items:center;padding:22px;transition:opacity .6s ease,visibility .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.ct-loader.is-done{opacity:0;visibility:hidden;transform:scale(1.025)}
.ct-client-loader-card{position:relative;width:min(420px,calc(100vw - 32px));height:300px;background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.08);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;box-shadow:0 28px 90px rgba(11,28,48,.17);backdrop-filter:blur(16px)}
.ct-client-loader-card::before{content:"";position:absolute;inset:-80px;background:radial-gradient(circle at 50% 15%,rgba(29,63,214,.08),transparent 35%),radial-gradient(circle at 50% 85%,rgba(163,45,45,.07),transparent 35%);pointer-events:none}
.ct-client-loader-brand{position:absolute;top:18px;left:0;right:0;text-align:center;line-height:1.02;z-index:2;animation:ctBrandFloat 1.8s ease-in-out infinite alternate}
.ct-client-connecticut{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700;font-size:30px;color:#1d3fd6;text-shadow:1px 1px 0 #fff,-1px -1px 0 #fff}
.ct-client-table-tennis{font-family:Arial,sans-serif;font-weight:800;font-size:23px;letter-spacing:1px;color:#a32d2d;text-shadow:1px 1px 0 #fff,-1px -1px 0 #fff;text-transform:uppercase}
.ct-client-court-line{position:absolute;left:22px;right:22px;bottom:60px;height:6px;background:#185fa5;border-radius:4px;box-shadow:0 4px 14px rgba(24,95,165,.22)}
.ct-client-center-line{position:absolute;left:50%;bottom:60px;width:1px;height:26px;background:#94a3b8;transform:translateX(-.5px)}
.ct-client-ball{position:absolute;left:50%;bottom:120px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#e8a15a);box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 9px 18px rgba(232,161,90,.25);will-change:left,bottom,opacity}
.ct-client-paddle{position:absolute;left:50%;bottom:66px;transform:translateX(-100px) rotate(-40deg);transform-origin:30px 80px;filter:drop-shadow(0 10px 10px rgba(15,23,42,.18));will-change:transform}
.ct-client-load-label{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#64748b;margin:0}
.ct-client-load-label::after{content:"";display:inline-block;width:18px;height:2px;margin-left:8px;vertical-align:middle;background:#a32d2d;animation:ctLoadPulse .8s ease-in-out infinite alternate}
@keyframes ctBrandFloat{to{transform:translateY(3px)}}
@keyframes ctLoadPulse{from{transform:scaleX(.35);opacity:.35}to{transform:scaleX(1);opacity:1}}
html.ct-has-cursor,html.ct-has-cursor *{cursor:none}
.ct-cursor{position:fixed;left:0;top:0;width:18px;height:18px;border-radius:50%;pointer-events:none;z-index:15000;will-change:transform;transition:width .15s ease,height .15s ease;transform:translate3d(-100px,-100px,0)}
.ct-float-orb,.ct-ball-trail{display:none!important}
header,nav{transition:transform .35s ease,background-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}.ct-nav-scrolled{backdrop-filter:blur(14px);box-shadow:0 12px 36px rgba(11,28,48,.10)}
main img{backface-visibility:hidden;max-width:100%;height:auto;display:block}
main a,main button{position:relative;overflow:hidden;isolation:isolate}
@media(pointer:fine){
  main a::after,main button::after{content:"";position:absolute;inset:-40% auto -40% -35%;width:22%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-18deg) translateX(-220%);transition:transform .7s ease;pointer-events:none;z-index:2}
  main a:hover::after,main button:hover::after{transform:skewX(-18deg) translateX(700%)}
}
.ct-tilt{transition:transform .22s ease,box-shadow .3s ease}
@media(pointer:fine){.ct-tilt:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(11,28,48,.12)}.ct-tilt img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}.ct-tilt:hover img{transform:scale(1.03)}}
.ct-image-wrap{overflow:hidden}
.ct-media-frame{overflow:hidden;background:#e8eef8}
.ct-media-frame--hero{aspect-ratio:16/10}
.ct-media-frame--card{aspect-ratio:16/10;height:auto;min-height:12rem}
.ct-media-frame img{width:100%;height:100%;object-fit:cover}
.ct-line-reveal{overflow:hidden}.ct-line-reveal>*{will-change:transform}
.ct-stagger-child{opacity:0;transform:translateY(22px)}
.ct-progress{box-shadow:0 0 16px rgba(186,0,53,.5)}
.ct-top{transition:transform .25s ease,opacity .25s ease,box-shadow .25s ease}.ct-top:hover{transform:translateY(-4px) rotate(-5deg);box-shadow:0 18px 36px rgba(186,0,53,.4)}
@media(max-width:900px){.ct-cursor,.ct-float-orb{display:none}.ct-tilt{transform:none!important}}
@media(prefers-reduced-motion:reduce){.ct-loader{display:none}.ct-client-loader-brand,.ct-client-load-label::after{animation:none}.ct-cursor,.ct-float-orb{display:none}.ct-tilt,.ct-tilt img{transition:none!important;transform:none!important}}

/* Requested interaction pass: hero reveal, shrink nav, stagger cards, counters & ball cursor */
body > nav, body > header, header nav, nav[data-purpose="top-navigation"]{contain:layout style}
nav[data-purpose="top-navigation"] > div,
body > nav > div,
body > header > div{transition:height .35s cubic-bezier(.2,.8,.2,1),padding .35s cubic-bezier(.2,.8,.2,1)}
.ct-nav-shrink{background:rgba(255,255,255,.93)!important;box-shadow:0 12px 34px rgba(11,28,48,.13)!important;backdrop-filter:blur(18px)!important}
.ct-nav-shrink > div{height:64px!important}
.ct-nav-shrink img{transform:scale(.92);transition:transform .35s ease}
.ct-nav-shrink a,.ct-nav-shrink button{transition:transform .3s ease,color .3s ease,background-color .3s ease}

.ct-hero-reveal{will-change:transform,opacity}
.ct-card-ball{position:absolute;right:14px;top:14px;width:24px;height:24px;border-radius:50%;z-index:8;pointer-events:none;opacity:0;transform:translateY(8px) rotate(0deg) scale(.78);transition:opacity .25s ease,transform .45s cubic-bezier(.2,.85,.2,1);background:radial-gradient(circle at 34% 30%,#fff 0 18%,#f6d6ac 38%,#e69a51 72%,#c77a35 100%);box-shadow:0 5px 14px rgba(11,28,48,.18),inset -2px -3px 4px rgba(0,0,0,.08)}
.ct-card-ball::before{content:"";position:absolute;left:5px;top:4px;width:13px;height:13px;border:1px solid rgba(130,77,31,.35);border-color:rgba(130,77,31,.38) transparent transparent rgba(130,77,31,.38);border-radius:50%;transform:rotate(38deg)}
.ct-tilt:hover .ct-card-ball,.masonry-item:hover .ct-card-ball,article:hover .ct-card-ball{opacity:1;transform:translateY(0) rotate(420deg) scale(1)}
@media(pointer:fine){.masonry-item:hover,article.ct-event-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(11,28,48,.12)}}

.ct-counter{font-variant-numeric:tabular-nums;display:inline-block;min-width:1.2ch}
.ct-stagger-target{will-change:auto}

/* Table-tennis-ball cursor + soft trailing balls */
.ct-cursor{width:20px!important;height:20px!important;border:0!important;background:radial-gradient(circle at 34% 28%,#fff 0 20%,#f7dcb9 38%,#e9a35d 70%,#d4823b 100%)!important;box-shadow:0 4px 12px rgba(11,28,48,.22),inset -2px -3px 4px rgba(0,0,0,.08)!important;mix-blend-mode:normal!important;transition:width .15s ease,height .15s ease!important}
.ct-cursor::after{content:"";position:absolute;left:4px;top:4px;width:11px;height:11px;border:1px solid rgba(130,77,31,.32);border-color:rgba(130,77,31,.38) transparent transparent rgba(130,77,31,.38);border-radius:50%;transform:rotate(40deg)}
.ct-cursor.big{width:28px!important;height:28px!important;background:radial-gradient(circle at 34% 28%,#fff 0 20%,#f7dcb9 38%,#e9a35d 70%,#d4823b 100%)!important;filter:drop-shadow(0 7px 11px rgba(11,28,48,.2))}
.ct-ball-trail{position:fixed;left:0;top:0;width:9px;height:9px;border-radius:50%;pointer-events:none;z-index:14990;background:radial-gradient(circle at 34% 28%,#fff 0 20%,#f5d9b4 42%,#e39a52 100%);box-shadow:0 2px 6px rgba(11,28,48,.16);opacity:.46;transform:translate(-50%,-50%);will-change:left,top,transform,opacity}

@media(max-width:900px){.ct-ball-trail{display:none}.ct-nav-shrink > div{height:68px!important}}
@media(prefers-reduced-motion:reduce){.ct-card-ball,.ct-ball-trail{display:none}.ct-nav-shrink > div{transition:none}}


/* Home hero refinement */
.ct-home-hero{min-height:calc(100svh - 80px);height:min(820px,calc(100svh - 80px));display:flex;align-items:center;background:#071321;isolation:isolate;contain:layout paint}
.ct-home-hero-media{z-index:0;overflow:hidden}
.ct-home-hero-img{object-position:center 42%;filter:saturate(1) contrast(1.02) brightness(1.06)}
.ct-home-hero-overlay{background:linear-gradient(90deg,rgba(5,14,26,.78) 0%,rgba(5,14,26,.48) 42%,rgba(5,14,26,.22) 72%,rgba(5,14,26,.12) 100%),linear-gradient(0deg,rgba(5,14,26,.42) 0%,rgba(5,14,26,.02) 52%,rgba(5,14,26,.1) 100%)}
.ct-home-hero-glow{background:radial-gradient(circle at 20% 44%,rgba(220,38,38,.15),transparent 34%);mix-blend-mode:screen;pointer-events:none}
.ct-home-hero-inner{padding-top:clamp(72px,9vh,112px);padding-bottom:clamp(126px,17vh,162px)}
.ct-home-hero-copy{position:relative}
.ct-hero-kicker{padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);font-size:11px;letter-spacing:.14em;font-weight:800;color:rgba(255,255,255,.88)}
.ct-hero-kicker-dot{width:7px;height:7px;border-radius:999px;background:#dc2626;box-shadow:0 0 0 5px rgba(220,38,38,.16)}
.ct-hero-title{font-size:clamp(3.6rem,7.4vw,6.8rem);text-wrap:balance;text-shadow:0 12px 40px rgba(0,0,0,.24)}
.ct-hero-title span{color:#fff}
.ct-hero-subtitle{font-size:clamp(1.12rem,2vw,1.48rem);line-height:1.35;color:#fff}
.ct-hero-description{font-size:clamp(.98rem,1.3vw,1.08rem);line-height:1.75;color:rgba(255,255,255,.72)}
.ct-hero-primary,.ct-hero-secondary{position:relative;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,background-color .28s ease,border-color .28s ease}
.ct-hero-primary{box-shadow:0 14px 34px rgba(220,38,38,.28)}
.ct-hero-primary:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(220,38,38,.38);background:#b91c1c}
.ct-hero-secondary{background:rgba(255,255,255,.07);backdrop-filter:blur(9px)}
.ct-hero-secondary:hover{transform:translateY(-3px);background:#fff;color:#0f172a;border-color:#fff}
.ct-home-hero-meta{padding-bottom:18px}
.ct-home-hero-meta-inner{overflow:hidden;border:1px solid rgba(255,255,255,.14);background:rgba(7,19,33,.63);backdrop-filter:blur(16px);border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.18)}
.ct-home-hero-meta-inner>div{display:flex;align-items:baseline;gap:9px;padding:15px 18px;justify-content:center;min-width:0}
.ct-home-hero-meta-inner>div+div{border-left:1px solid rgba(255,255,255,.12)}
.ct-home-hero-meta-inner strong{font-size:13px;color:#fff;white-space:nowrap}
.ct-home-hero-meta-inner span{font-size:11px;color:rgba(255,255,255,.62);white-space:nowrap}
@media(max-width:767px){
  .ct-home-hero{height:auto;min-height:720px;align-items:flex-start}
  .ct-home-hero-img{object-position:62% center}
  .ct-home-hero-overlay{background:linear-gradient(90deg,rgba(5,14,26,.72),rgba(5,14,26,.4)),linear-gradient(0deg,rgba(5,14,26,.5),rgba(5,14,26,.05) 58%)}
  .ct-home-hero-inner{padding-top:90px;padding-bottom:178px}
  .ct-hero-title{font-size:clamp(3.15rem,15vw,4.7rem)}
  .ct-hero-actions{width:100%}.ct-hero-actions button{width:100%}
  .ct-home-hero-meta{padding-bottom:12px}
  .ct-home-hero-meta-inner{grid-template-columns:1fr;border-radius:14px}
  .ct-home-hero-meta-inner>div{justify-content:flex-start;padding:10px 14px}
  .ct-home-hero-meta-inner>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.1)}
}
@media(max-width:420px){.ct-hero-kicker{font-size:9px;letter-spacing:.1em}.ct-home-hero-inner{padding-top:78px}.ct-home-hero-meta-inner span{white-space:normal}}

/* Client homepage: bulletins + locations in hero, weekly activities */
.ct-home-hero--bulletin{height:auto;min-height:calc(100svh - 80px);align-items:stretch}
.ct-home-hero--bulletin .ct-home-hero-inner{padding-bottom:clamp(150px,20vh,190px)}
.ct-home-hero--bulletin .ct-hero-title{font-size:clamp(3.1rem,6.4vw,5.6rem)}
.ct-hero-bulletin-panel{border:1px solid rgba(255,255,255,.16);background:rgba(7,19,33,.72);backdrop-filter:blur(18px);border-radius:22px;padding:18px 18px 16px;box-shadow:0 22px 55px rgba(0,0,0,.28)}
.ct-hero-bulletin-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.ct-hero-bulletin-head strong{font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.ct-hero-bulletin-live{width:8px;height:8px;border-radius:999px;background:#dc2626;box-shadow:0 0 0 5px rgba(220,38,38,.18);animation:ct-pulse 1.8s ease-in-out infinite}
@keyframes ct-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}
.ct-hero-bulletin-list{display:grid;gap:10px;margin:0 0 16px;padding:0;list-style:none}
.ct-hero-bulletin-list li{position:relative;padding-left:14px;font-size:13px;line-height:1.55;color:rgba(255,255,255,.82)}
.ct-hero-bulletin-list li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:999px;background:#dc2626}
.ct-hero-locations{border-top:1px solid rgba(255,255,255,.12);padding-top:14px;display:grid;gap:10px}
.ct-hero-locations h2{margin:0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:800}
.ct-hero-loc{display:grid;gap:2px;text-decoration:none;color:inherit;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);transition:background .25s ease,transform .25s ease}
.ct-hero-loc:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.ct-hero-loc strong{font-size:14px;color:#fff}
.ct-hero-loc span{font-size:12px;color:rgba(255,255,255,.65)}
.ct-hero-bulletin-contact{margin:14px 0 0;font-size:12px;color:rgba(255,255,255,.62)}
.ct-hero-bulletin-contact a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ct-newplayer-band{display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px;align-items:center;padding:28px 28px;border-radius:22px;background:linear-gradient(135deg,#eff4ff 0%,#fff 55%,#f8f9ff 100%);border:1px solid rgba(15,23,42,.08)}
.ct-newplayer-actions{display:flex;flex-wrap:wrap;gap:10px}
.ct-newplayer-actions a{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:14px;font-weight:800;font-size:13px;border:1px solid rgba(15,23,42,.14);color:#0f172a;background:#fff}
.ct-newplayer-actions a.is-primary{background:#dc2626;border-color:#dc2626;color:#fff}
.ct-dave-photos{display:grid;grid-template-columns:1.2fr .9fr;grid-template-rows:160px 160px;gap:12px}
.ct-dave-photos img{width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:0 16px 40px rgba(15,23,42,.12)}
.ct-dave-photos img:first-child{grid-row:span 2;height:100%;min-height:332px}
.ct-dave-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}
.ct-dave-list li{position:relative;padding-left:18px;font-weight:600;color:#474c56}
.ct-dave-list li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:999px;background:#dc2626}
@media(max-width:1023px){
  .ct-home-hero--bulletin .ct-home-hero-inner{padding-bottom:170px}
  .ct-dave-photos{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .ct-dave-photos img:first-child{grid-row:auto;min-height:220px}
}
@media(max-width:767px){
  .ct-home-hero--bulletin{min-height:0}
  .ct-home-hero--bulletin .ct-home-hero-inner{padding-top:72px;padding-bottom:150px}
  .ct-hero-bulletin-panel{border-radius:18px}
  .ct-newplayer-band{padding:22px}
  .ct-dave-photos{grid-template-columns:1fr 1fr}
}

/* Inner page system — same theme, archive-driven content */
.ct-page-band{position:relative;overflow:hidden;background:#071321;color:#fff;min-height:280px;display:flex;align-items:flex-end}
.ct-page-band-media{position:absolute;inset:0}
.ct-page-band-media img{width:100%;height:100%;object-fit:cover;opacity:.55;filter:saturate(.95)}
.ct-page-band-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,14,26,.94) 0%,rgba(5,14,26,.72) 55%,rgba(5,14,26,.45) 100%),linear-gradient(0deg,rgba(5,14,26,.7),transparent 55%)}
.ct-page-band-inner{position:relative;z-index:2;width:100%;max-width:80rem;margin:0 auto;padding:96px 1.5rem 40px}
.ct-page-kicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:12px}
.ct-page-kicker i{width:7px;height:7px;border-radius:999px;background:#dc2626;display:inline-block}
.ct-page-band h1{font-size:clamp(2.4rem,5vw,3.75rem);font-weight:900;letter-spacing:-.03em;line-height:1;margin:0 0 12px}
.ct-page-band p{max-width:38rem;font-size:1.05rem;line-height:1.65;color:rgba(255,255,255,.72);font-weight:600;margin:0}
.ct-confirm-note{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:8px 12px;border-radius:999px;background:rgba(220,38,38,.16);border:1px solid rgba(220,38,38,.35);font-size:12px;font-weight:700;color:#fecaca}
.ct-sidebar-rail{display:grid;gap:8px;padding:18px;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 36px rgba(15,23,42,.06)}
.ct-sidebar-rail h2{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#474c56;margin:0 0 4px}
.ct-sidebar-rail a{display:block;padding:10px 12px;border-radius:12px;font-weight:700;font-size:14px;color:#0f172a;background:#f8f9ff;border:1px solid transparent;text-decoration:none;transition:.2s}
.ct-sidebar-rail a:hover{border-color:rgba(220,38,38,.25);color:#dc2626}
.ct-faq{display:grid;gap:14px}
.ct-faq details{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:16px 18px}
.ct-faq summary{cursor:pointer;font-weight:800;color:#0f172a}
.ct-faq p{margin:10px 0 0;color:#474c56;font-weight:500;line-height:1.65}
.ct-prose{color:#474c56;font-weight:500;line-height:1.75}
.ct-prose h2{color:#0f172a;font-weight:900;font-size:1.75rem;margin:2rem 0 .75rem}
.ct-prose h3{color:#0f172a;font-weight:800;font-size:1.2rem;margin:1.5rem 0 .5rem}
.ct-prose p{margin:0 0 1rem}
.ct-prose ul{margin:0 0 1rem;padding-left:1.2rem;display:grid;gap:8px}
.ct-news-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.ct-news-card h3{font-weight:900;font-size:1.2rem;margin:0 0 8px;color:#0f172a}
.ct-news-card p{margin:0;color:#474c56;font-weight:500;line-height:1.65}
.ct-news-meta{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#dc2626;margin-bottom:8px}
.ct-bulletin-box{border-left:4px solid #dc2626;background:#fff;border-radius:0 16px 16px 0;padding:18px 20px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.ct-bulletin-box ul{margin:10px 0 0;padding-left:1.1rem;display:grid;gap:8px;color:#474c56;font-weight:600}
.ct-nav-desktop{display:none;align-items:center;gap:1rem;flex-wrap:wrap}
@media(min-width:1100px){.ct-nav-desktop{display:flex}}
.ct-nav-desktop a{font-size:12px;font-weight:700;color:#474c56;text-decoration:none;white-space:nowrap}
.ct-nav-desktop a:hover,.ct-nav-desktop a.is-active{color:#dc2626}
.ct-nav-desktop a.is-active{border-bottom:2px solid #dc2626;padding-bottom:2px}
button.ct-active-filter{background:#0f172a!important;color:#fff!important;border-color:#0f172a!important}
.ct-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:1px solid rgba(15,23,42,.12);background:#fff;font-weight:800}
@media(min-width:1100px){.ct-menu-btn{display:none}}
.ct-brand-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit}
.ct-footer-grid{display:grid;gap:2rem}
@media(min-width:768px){.ct-footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}

/* Prospect gym clear photo band */
.ct-prospect-band{background:#fff;border-top:1px solid rgba(15,23,42,.06);border-bottom:1px solid rgba(15,23,42,.06)}
.ct-prospect-band-media{max-width:80rem;margin:0 auto;padding:0}
.ct-prospect-band-media img{display:block;width:100%;max-height:min(78vh,820px);object-fit:cover;object-position:center 35%}
.ct-prospect-band-caption{max-width:80rem;margin:0 auto;padding:1.5rem 1.5rem 2.25rem}
@media(min-width:768px){.ct-prospect-band-caption{padding:1.75rem 2rem 2.75rem}}

/* Archive library cards on home */
.ct-archive-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:700px){.ct-archive-grid{grid-template-columns:1fr 1fr}}
.ct-archive-card{
  display:grid;grid-template-columns:44px 1fr;gap:4px 14px;align-items:start;
  padding:20px 18px;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 32px rgba(15,23,42,.05);text-decoration:none;color:inherit;transition:.2s;
}
.ct-archive-card:hover{border-color:rgba(220,38,38,.35);transform:translateY(-2px)}
.ct-archive-num{
  grid-row:span 2;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:#0f172a;color:#fff;font-weight:900;font-size:1rem;
}
.ct-archive-card strong{font-size:1.05rem;font-weight:900;color:#0f172a;grid-column:2}
.ct-archive-card span:last-child{grid-column:2;color:#474c56;font-size:13px;font-weight:600;line-height:1.45}
.ct-archive-photo{margin:0}
.ct-archive-photo img{display:block;width:100%;height:220px;object-fit:cover;border-radius:14px;background:#e8edf5}
.ct-archive-photo figcaption{margin-top:8px;font-size:13px;font-weight:600;color:#474c56;line-height:1.4}
.ct-prose h2{margin:1.75rem 0 .75rem;font-size:1.35rem;font-weight:900;color:#0f172a}
.ct-prose p,.ct-prose li{color:#474c56;font-weight:500;line-height:1.65}
.ct-prose ul{margin:.75rem 0 0;padding-left:1.15rem;display:grid;gap:.45rem}
