@font-face{font-family:'Barlow Condensed';font-display:swap;src:url(fonts/BarlowCondensed-800.woff) format('woff');font-weight:800}
@font-face{font-family:'Ropa Sans';font-display:swap;src:url(fonts/RopaSans-400.woff) format('woff')}
@font-face{font-family:'Open Sans';font-display:swap;src:url(fonts/OpenSans-400.woff) format('woff');font-weight:400}
@font-face{font-family:'Open Sans';font-display:swap;src:url(fonts/OpenSans-600.woff) format('woff');font-weight:600}
@font-face{font-family:'Open Sans';font-display:swap;src:url(fonts/OpenSans-700.woff) format('woff');font-weight:700}
:root{--navy:#083A47;--wave:#0C97A1;--teal:#198992;--or:#F88939;--yl:#F4C74F;--pk:#F54D72;--sand:#FBF6EE;--ink:#1d2b30}
*{box-sizing:border-box}body{position:relative;margin:0;font:400 17px/1.6 'Open Sans',sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;line-height:1.05;margin:0 0 14px;letter-spacing:.5px}
h2{font-size:clamp(34px,4vw,48px);color:var(--navy)}h3{font-size:26px;color:var(--navy)}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.ph{background:#FFF4CC;border:2px dashed #C99A12;color:#6b5200;font:600 13px/1.4 'Open Sans';padding:4px 8px;border-radius:6px;display:inline-block}
header{background:var(--navy);position:sticky;top:0;z-index:5}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
header img{height:56px}nav{display:flex;gap:26px;align-items:center;font:400 18px 'Ropa Sans'}nav a{color:#fff;text-decoration:none}
.btn{display:inline-block;font:400 19px 'Ropa Sans';padding:13px 24px;border-radius:999px;text-decoration:none;color:#fff;background:#137A83}
.btn:hover{background:var(--navy)}
.btn.or{background:#137A83;color:#fff}
.btn.sec{background:var(--navy);color:#fff}.btn.sec:hover{background:#137A83}
header .btn,.hero .btn:not(.ghost),.textcta .btn{box-shadow:inset 0 0 0 2px #fff}
.btn.ghost{background:transparent;border:2px solid #fff;color:#fff}.btn.ghost:hover{background:#fff;color:var(--navy)}
.trust{background:var(--sand);border-bottom:1px solid #E9E0D2}
.trust ul{display:flex;justify-content:space-between;align-items:center;gap:24px;list-style:none;margin:0 auto;padding:20px 28px;max-width:1180px}
.trust li{display:flex;align-items:center;gap:12px;font:600 17px/1.3 'Open Sans';color:var(--navy);white-space:nowrap}
.trust svg{width:30px;height:30px;flex:none}
.trust li span{font-weight:400;color:#33464b}
nav .btn{padding:9px 18px;font-size:17px}
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-top:64px;padding-bottom:84px}
.hero h1{font-size:clamp(46px,6vw,76px);color:#fff}.hero h1 span{color:var(--yl)}
.hero p{font-size:19px;color:#E4EEF0;max-width:560px}
.kick{font:400 18px 'Ropa Sans';color:var(--yl);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 12px}.note{font-size:14px;color:#B9D3D7}
.hero figure{margin:0;position:relative}.hero figure img{width:100%;aspect-ratio:4/4.2;object-fit:cover;object-position:50% 40%;border-radius:18px;display:block;border:4px solid #fff}
.stripes{position:absolute;right:-40px;top:96px;width:620px;opacity:.85;z-index:0;pointer-events:none}
.stripes i{display:block;border-radius:99px;margin-bottom:14px}
.sunbar{height:10px;background:linear-gradient(90deg,var(--or),var(--yl),var(--pk))}
section{padding:72px 0}.alt{background:var(--sand)}
.lead{font-size:19px;max-width:720px;color:#33464b}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px}
.card{background:#fff;border-radius:16px;padding:24px;border-top:6px solid var(--wave);box-shadow:0 4px 18px rgba(8,58,71,.08);display:flex;flex-direction:column}
.card.first{border-top-color:var(--or)}.card .tag{font:600 14px 'Open Sans';color:var(--teal);text-transform:uppercase;letter-spacing:1px}
.card ul{padding-left:18px;margin:8px 0 16px;font-size:15.5px}.card .price{margin-top:auto}
.card a.more{font:400 17px 'Ropa Sans';color:var(--teal);margin-top:12px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.chip{background:#fff;border:2px solid var(--wave);color:var(--navy);border-radius:999px;padding:7px 16px;font:600 15px 'Open Sans'}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}.why div{border-left:4px solid var(--yl);padding-left:16px}.why b{display:block;font:800 24px 'Barlow Condensed';color:var(--navy)}
.about{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:center}.about img{width:260px;border-radius:50%;aspect-ratio:1;object-fit:cover;border:5px solid var(--wave)}
.revs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}.rev{background:#fff;border-radius:14px;padding:20px;font-size:15px;box-shadow:0 3px 14px rgba(8,58,71,.07)}.rev .s{color:var(--or);letter-spacing:2px}.rev cite{display:block;font-style:normal;font-weight:700;color:var(--teal);margin-top:8px}
.towns{columns:4;margin:20px 0 0;padding:0;list-style:none;font-size:16px}.towns li{padding:3px 0;break-inside:avoid}
.textcta{background:var(--navy);color:#fff;text-align:center}.textcta h2{color:#fff}.textcta h2 span{color:var(--yl)}.textcta p{color:#D5E5E8}
.big{font:800 46px 'Barlow Condensed';color:var(--yl);letter-spacing:1px;margin:6px 0 18px}
footer{background:var(--navy);color:#B9D3D7;font-size:14px;border-top:1px solid rgba(255,255,255,.12)}footer .wrap{display:flex;justify-content:space-between;align-items:center;padding:28px;flex-wrap:wrap;gap:16px}footer img{height:44px}
@media(max-width:820px){body{font-size:16px}header .wrap{height:68px}header img{height:42px}nav a:not(.btn){display:none}
.hero .wrap{grid-template-columns:1fr;padding-top:36px;padding-bottom:48px;gap:28px}.stripes{display:none}
.cards,.revs,.why{grid-template-columns:1fr}.two,.about{grid-template-columns:1fr}.about img{width:150px;margin:0 auto}.towns{columns:2}section{padding:48px 0}.big{font-size:38px}.hero figure img{aspect-ratio:4/3}footer .wrap{padding-bottom:84px}
.trust ul{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 16px 18px}
.trust li{flex-direction:column;justify-content:center;gap:6px;text-align:center;background:#fff;border-radius:12px;padding:14px 8px;min-height:96px;font-size:15px;white-space:normal;box-shadow:0 2px 10px rgba(8,58,71,.06)}
.trust li span{display:none}.trust svg{width:28px;height:28px}}

.hero .wrap{grid-template-columns:1.1fr .9fr}

.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.fact{background:#fff;border-radius:16px;padding:22px 24px;border-top:6px solid var(--wave);box-shadow:0 4px 18px rgba(8,58,71,.08)}
.fact.o{border-top-color:var(--or)}.fact .k{font:600 12px 'Open Sans';color:var(--teal);text-transform:uppercase;letter-spacing:1px}
.fact .v{font:800 40px 'Barlow Condensed';color:var(--navy);line-height:1.1;margin:4px 0}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
.steps li{background:#fff;border-radius:14px;padding:20px;box-shadow:0 3px 14px rgba(8,58,71,.07);font-size:16px}
.steps li::before{counter-increment:s;content:counter(s);display:flex;width:38px;height:38px;border-radius:50%;background:var(--yl);color:var(--navy);font:800 22px 'Barlow Condensed';align-items:center;justify-content:center;margin-bottom:10px}
.revs.three{grid-template-columns:repeat(3,1fr)}
.rev.empty{background:transparent;border:2px dashed #C99A12;box-shadow:none;color:#6b5200;display:flex;flex-direction:column;justify-content:center;min-height:170px}
.rev.empty .s{color:#E7C873}
.opt{margin-top:18px;background:#fff;border-left:6px solid var(--wave);border-radius:12px;padding:16px 20px;box-shadow:0 3px 14px rgba(8,58,71,.07)}.opt b{display:block;font:800 24px 'Barlow Condensed';color:var(--navy)}
.glink{display:inline-block;margin-top:20px;font:400 19px 'Ropa Sans';color:var(--teal)}
.other{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:20px}.other a{display:block;background:#fff;border:2px solid var(--wave);border-radius:14px;padding:18px 20px;text-decoration:none;color:var(--navy);font:800 24px 'Barlow Condensed'}.other a span{display:block;font:400 15px 'Open Sans';color:#33464b;margin-top:4px}
.arealink{color:var(--navy);text-decoration:underline;text-decoration-color:var(--teal);text-decoration-thickness:2px;text-underline-offset:3px;font-weight:600}
footer .fcities{flex-basis:100%;font-size:14px}footer .fcities a{color:#fff;font-weight:600}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr}.revs[style],.other.four{grid-template-columns:1fr!important}.other[style]{grid-template-columns:1fr!important}.facts,.steps,.revs.three,.other{grid-template-columns:1fr}}
.rating{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.08);border-radius:999px;padding:6px 14px;font:600 15px 'Open Sans';color:#fff;margin-top:6px}.rating b{color:#F4C74F;letter-spacing:2px}
.rating.lt{background:#fff;color:var(--navy);border:2px solid var(--wave)}
.card .pr{font:800 34px 'Barlow Condensed';color:var(--navy);line-height:1.1}.card .pr{margin-top:6px}.card .pr small{display:block;font:600 14px 'Open Sans';color:#33464b;line-height:1.3}
.cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory}.cards .card{scroll-snap-align:start}@media(max-width:820px){.cards{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}}@media(max-width:820px){.cards,.revs[style]{grid-template-columns:1fr!important}}.cards a.card{text-decoration:none;color:inherit}
.faq dt{font:800 24px 'Barlow Condensed';color:var(--navy);margin-top:18px}.faq dd{margin:4px 0 0}

/* ---- production additions (Jeff, 2026-10-20) ---- */
:root{--tealtx:#137A83}
/* AA: #198992 is 4.17:1 on white, so small teal text uses deep teal #137A83 (5.07:1) */
.card .tag,.card a.more,.card .more,.glink,.rev cite,.fact .k{color:var(--tealtx)!important}
a{color:var(--navy)}
header img{width:auto}
nav a:not(.btn):hover,nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:6px;text-decoration-thickness:2px}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--yl);outline-offset:2px}
.glink.pending{text-decoration:underline;cursor:default}
footer .flinks a{color:#fff;text-decoration:none}footer .flinks a:hover{text-decoration:underline}
footer .fsmall{flex-basis:100%;font-size:13px}footer .fsmall a{color:#B9D3D7}
.towns a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:3px}
.other .topic{display:block;background:#fff;border:2px solid var(--wave);border-radius:14px;padding:18px 20px;color:var(--navy);font:800 24px 'Barlow Condensed'}.other .topic .ph{display:block;font-family:'Open Sans'}
.rev .s{color:#C9600F}
/* one "Text or chat" pill (bottom right; full width on mobile). The panel opens above it and below the sticky header. */
@media(max-width:820px){.hero .wrap{padding-bottom:88px}}
.bb-panel{bottom:86px!important;max-height:calc(100vh - 86px - 84px - 16px)!important}
@media(max-width:820px){.bb-bubble{left:16px!important;right:16px!important;bottom:14px!important;justify-content:center}
.bb-panel{left:16px!important;right:16px!important;width:auto!important;max-width:none!important;bottom:76px!important;max-height:calc(100vh - 76px - 68px - 12px)!important;max-height:calc(100dvh - 76px - 68px - 12px)!important}}
/* legacy pages (no mockup yet): site-wide chrome around the existing content */
.legacy .hero{padding:0}.legacy .hero .wrap{display:block;padding-top:56px;padding-bottom:64px}
.legacy .hero .sub{font-size:19px;color:#E4EEF0;max-width:680px}
.legacy .kicker{font:400 18px 'Ropa Sans';color:var(--yl);letter-spacing:2px;text-transform:uppercase;margin:0 0 10px}
.legacy .btns{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0 4px}
.legacy .hero .btn:not(.ghost){box-shadow:inset 0 0 0 2px #fff}
.legacy .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.legacy .card h3 a{color:var(--navy)}
.legacy .flag{background:#FFF4CC;border:2px dashed #C99A12;color:#6b5200;padding:10px 14px;border-radius:8px;font-size:14px;margin-top:16px}
.legacy .flag[hidden]{display:none}
.legacy .faq h3{margin-top:22px}
.legacy .revs--city{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.legacy figure.rev{margin:0}.legacy .rev .stars{color:#C9600F;letter-spacing:2px}.legacy .rev blockquote{margin:6px 0 0}
.legacy .rev figcaption{font-weight:700;color:var(--tealtx);margin-top:8px}.legacy .rev .src{font-weight:400;color:#33464b;margin-left:6px}.legacy .rev .src::before{content:"· "}
.legacy .courts li{margin-bottom:8px}.legacy section:not(.textcta) .note{font-size:14px;color:#33464b}
.legacy div.ph{display:block;padding:24px}
.legacy .legal{max-width:820px}.legacy .legal h1{font-size:clamp(40px,5vw,60px);color:var(--navy);margin-top:10px}
.legacy .f{display:grid;gap:12px;max-width:460px;margin-top:18px}.legacy .f label{display:grid;gap:4px;font-weight:600;color:var(--navy)}
.legacy .f input,.legacy .f select,.legacy .f textarea{font:400 16px 'Open Sans';padding:10px 12px;border:1.5px solid #9fb3b8;border-radius:10px}
.legacy .f button{border:0;cursor:pointer;justify-self:start}
.legacy .steps{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.legacy .court-intro{background:var(--sand);padding:14px 0;font-size:15px}
.legacy .court-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}.legacy .court-photo{margin:0}.legacy .court-photo img{width:100%;height:auto;border-radius:14px}
.legacy .court-photo figcaption{font-size:13px;color:#33464b}
.legacy aside.facts{display:block;background:var(--sand);border-radius:16px;padding:22px;margin:0}.legacy aside.facts dt{font-weight:700;color:var(--navy);margin-top:10px}.legacy aside.facts dd{margin:0}.legacy .src{display:block;font-size:12px;color:#33464b}
.legacy .sources{font-size:13px}.legacy .chips{list-style:none;padding:0}.legacy .chips li{background:#fff;color:var(--navy);border-radius:999px;padding:4px 12px;font-weight:600}
.legacy .court-cta{background:var(--sand)}.legacy .cta-where{list-style:none;padding:0;display:flex;gap:24px;flex-wrap:wrap}.legacy .cta-where li{display:flex;gap:10px;align-items:center}
.legacy .btn-line{background:var(--navy)}
@media(max-width:820px){.legacy .court-grid{grid-template-columns:1fr}}

/* DRAFT 2026-10-27 menu + photo slots */
header .wrap{gap:18px;position:relative}
header .logo{flex:none}
nav#mainnav{gap:24px;margin-left:auto}
nav#mainnav .mnav{display:none}
header .hbtn{flex:none}
.menubtn{display:none}
@media(max-width:820px){
 header .hbtn{display:none}
 .menubtn{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;background:transparent;color:#fff;border:2px solid #fff;border-radius:10px;font:400 21px 'Ropa Sans';cursor:pointer}
 nav#mainnav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;align-items:stretch;gap:0;padding:6px 20px 22px;border-top:1px solid rgba(255,255,255,.18);box-shadow:0 12px 24px rgba(0,0,0,.25)}
 nav#mainnav.open{display:flex}
 nav#mainnav a{display:block!important;padding:15px 4px;font-size:23px;border-bottom:1px solid rgba(255,255,255,.15)}
 nav#mainnav .mnav{display:block;text-align:center;margin-top:16px;border-bottom:0}
}
.photostrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:20px}
.phslot{aspect-ratio:4/3}
.revone{max-width:760px;margin-top:20px}
.medals{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px}
.medal b{display:block;margin-top:10px;color:var(--navy)}
.medal span{font-size:15px;color:#4a5a5f}
.dirlist{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 30px;margin-top:16px}
.dirlist b{display:block;font:800 24px 'Barlow Condensed';color:var(--navy)}
.come .kick.dk{color:var(--navy);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:14px}
.come .btn{margin-top:10px}
.hero p.dir{font-weight:700;margin:4px 0 10px}
@media(max-width:820px){.medals{grid-template-columns:repeat(2,1fr)}.dirlist{grid-template-columns:1fr}}

/* DRAFT 2026-10-27 five lessons: sideways scroll, 4 visible */
.rowwrap{position:relative;margin-top:24px}
.rowctl{display:flex;align-items:center;gap:10px;justify-content:flex-end;font-size:15px;color:#33464b}
.rowctl span{margin-right:auto}
.rarrow{width:44px;height:44px;border-radius:50%;border:2px solid var(--navy);background:#fff;color:var(--navy);font-size:26px;line-height:1;cursor:pointer}
.rarrow:hover{background:var(--navy);color:#fff}
.rowwrap .cards.five,.rowwrap .other.five{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:calc((100% - 60px)/4)!important;gap:20px;overflow-x:auto!important;scroll-snap-type:x mandatory;padding-bottom:14px;margin-top:14px;scrollbar-width:thin}
.rowwrap .cards.five>*,.rowwrap .other.five>*{scroll-snap-align:start}
.rowwrap::after{content:"";position:absolute;top:58px;right:0;bottom:14px;width:48px;background:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,.85));pointer-events:none}
@media(max-width:820px){.rowwrap .cards.five,.rowwrap .other.five{grid-auto-columns:80%!important}}

/* DRAFT 2026-10-27 home lesson rows (mobile) + five across (desktop), home only */
.lrowsbox{display:none}
.rowwrap.home5 .rowctl{display:none}
.rowwrap.home5::after{display:none}
.rowwrap.home5 .cards.five{grid-auto-flow:row!important;grid-template-columns:repeat(5,1fr)!important;grid-auto-columns:auto!important;overflow:visible!important;gap:16px;padding-bottom:0}
.rowwrap.home5 .card{padding:20px 18px}
.rowwrap.home5 .cards.five:not(:has(>:nth-child(5))){grid-template-columns:repeat(4,1fr)!important}
.rowwrap.home5 .card .tag{letter-spacing:.5px}
@media(max-width:820px){
 .rowwrap.home5{display:none}
 .lrowsbox{display:block;margin-top:18px}
 .lrows-lead{font-weight:700;color:#083A47;margin:0 0 10px;font-size:17px}
 .lrows{list-style:none;margin:0;padding:0;background:#fff;border-radius:16px;box-shadow:0 4px 18px rgba(8,58,71,.10);overflow:hidden}
 .lrows li+li{border-top:1px solid #DDE7E9}
 .lrows a{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 16px;text-decoration:none;color:#083A47}
 .lrows a:active,.lrows a:hover{background:#F1F7F8}
 .lrows .ln{flex:1;min-width:0}
 .lrows b{display:block;font:800 19px 'Barlow Condensed',sans-serif;color:#083A47;font-size:19px}
 .lrows .ln span{display:block;font-size:14.5px;color:#33464b;line-height:1.35}
 .lrows svg{flex:none}
 .lrows-all{margin:14px 0 0}.lrows-all a{color:#083A47;text-decoration:underline;text-decoration-color:#137A83;text-underline-offset:3px;text-decoration-thickness:2px;font-weight:600;font-size:16px}
}

/* DRAFT 2026-10-27 home lesson rows on all sizes (desktop follows mobile) */
.rowwrap.home5{display:none}
.lrowsbox{display:block;margin-top:18px}
@media(max-width:1099px){#lessons .wrap{max-width:800px}}
@media(min-width:821px){
 .lrows-lead{font-weight:700;color:#083A47;margin:0 0 12px;font-size:19px}
 .lrows{list-style:none;margin:0;padding:0;background:#fff;border-radius:18px;box-shadow:0 4px 18px rgba(8,58,71,.10);overflow:hidden}
 .lrows li+li{border-top:1px solid #DDE7E9}
 .lrows a{display:flex;align-items:center;gap:16px;min-height:76px;padding:14px 26px;text-decoration:none;color:#083A47}
 .lrows .ln{flex:1;min-width:0}
 .lrows b{display:block;font:800 23px 'Barlow Condensed',sans-serif;color:#083A47}
 .lrows .ln span{display:block;font-size:16px;color:#33464b;line-height:1.4}
 .lrows svg{flex:none}
 .lrows-all{margin:16px 0 0}.lrows-all a{color:#083A47;text-decoration:underline;text-decoration-color:#137A83;text-underline-offset:3px;text-decoration-thickness:2px;font-weight:600;font-size:17px}
}
.lrows a:hover{background:#F1F7F8}
.lrows a:focus-visible{outline:3px solid #137A83;outline-offset:-3px;background:#F1F7F8}
.lrows a:hover svg,.lrows a:focus-visible svg{transform:translateX(3px);transition:transform .15s}
@media(max-width:820px){.hero figure img.rphoto{height:auto}}

/* DRAFT 2026-10-27 compact home cards, 1100px and up (rows below) */
.card .hd{display:none}
@media(min-width:1100px){
 .rowwrap.home5{display:block;margin-top:18px}
 .lrowsbox{display:block;margin-top:0}
 .lrowsbox .lrows-lead,.lrowsbox .lrows{display:none}
 .rowwrap.home5 .cards.five{gap:14px;margin-top:0}
 .rowwrap.home5 .card{padding:14px 16px 12px;border-top-width:4px;border-radius:14px}
 .rowwrap.home5 .card .tag{font-size:11.5px;letter-spacing:.4px;line-height:1.2}
 .rowwrap.home5 .card h3{font-size:23px;margin:4px 0 2px;line-height:1.1}
 .rowwrap.home5 .card .pr,.rowwrap.home5 .card ul{display:none}
 .rowwrap.home5 .card .hd{display:block;margin:0 0 6px;font-size:14.5px;line-height:1.35;color:#33464b}
 .rowwrap.home5 .card .more{display:flex;align-items:center;min-height:32px;font-size:16px!important}
 .rowwrap.home5 .card:hover{box-shadow:0 6px 22px rgba(8,58,71,.16)}
 .rowwrap.home5 .card:focus-visible{outline:3px solid #137A83;outline-offset:2px}
}

/* 2026-10-27 trust bar: wrap instead of scrolling sideways between phone and desktop layouts */
@media(min-width:821px) and (max-width:1060px){.trust ul{flex-wrap:wrap;justify-content:center;row-gap:14px}}
/* v3 2026-10-28 home changes */
@media(min-width:821px){
 .hero .wrap{padding-top:48px;padding-bottom:56px}
 .hero figure img.rphoto{aspect-ratio:auto;height:min(580px,62vh);min-height:420px;object-fit:cover;object-position:50% 25%}
}
.trust i{font-style:normal}.trust .tmob{display:none}
@media(max-width:820px){.trust .tdesk{display:none}.trust .tmob{display:inline}body{padding-bottom:84px}}
.homerevs .revline{margin:6px 0 0;font-size:17px;color:#33464b}.homerevs .revline .s{color:#C9600F;letter-spacing:2px}
.homerevs .revall{margin:18px 0 0}
.citychips{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.citychips a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:2px solid var(--wave);border-radius:999px;background:#fff;color:var(--navy);font:600 16px 'Open Sans';text-decoration:none}
.citychips a:hover{background:#F1F7F8}.citychips a:focus-visible{outline:3px solid #137A83;outline-offset:2px}
.wherecta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:24px}
.tl{font:400 17px 'Ropa Sans',sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--tealtx);margin:0 0 8px}
/* About: tournament medals. Results table becomes stacked cards on narrow screens. */
.medcount{list-style:none;display:flex;gap:12px;flex-wrap:wrap;padding:0;margin:18px 0 22px}
.medcount li{background:#fff;border:1px solid #e3e8ee;border-radius:12px;padding:10px 18px;font:400 18px 'Ropa Sans',sans-serif;color:var(--navy);text-transform:uppercase;letter-spacing:1px}
.medcount b{font:800 30px/1 'Barlow Condensed',sans-serif;margin-right:6px}
.medlist{background:#fff;border:1px solid #e3e8ee;border-radius:14px;max-width:980px}
.medlist summary{cursor:pointer;padding:14px 18px;font:400 19px 'Ropa Sans',sans-serif;color:var(--navy)}
.medlist summary:focus-visible{outline:3px solid var(--navy);outline-offset:2px;border-radius:14px}
.medlist table{width:100%;border-collapse:collapse;font-size:15px}
.medlist th{text-align:left;font:400 14px 'Ropa Sans',sans-serif;text-transform:uppercase;letter-spacing:1px;color:#33464b;padding:8px 14px;border-top:1px solid #e3e8ee}
.medlist td{padding:10px 14px;border-top:1px solid #e3e8ee;vertical-align:top}
.medlist td ul{list-style:none;margin:0;padding:0}.medlist td li+li{margin-top:4px}
.md{display:inline-block;min-width:58px;font:600 12px/1.6 'Open Sans',sans-serif;text-align:center;border-radius:999px;padding:0 8px;margin-right:4px;color:var(--ink)}
.md.gold{background:var(--yl)}.md.silver{background:#e3e8ee}.md.bronze{background:color-mix(in srgb,var(--or) 45%,#fff)}
@media(max-width:820px){.medlist thead{display:none}.medlist table,.medlist tbody,.medlist tr,.medlist td{display:block}
.medlist tr{border-top:1px solid #e3e8ee;padding:10px 16px}.medlist td{border:0;padding:3px 0}
.medlist td::before{content:attr(data-l);display:block;font:400 12px 'Ropa Sans',sans-serif;text-transform:uppercase;letter-spacing:1px;color:#33464b}}
/* City pages: Nearby courts rows (from assets/parks.json via tools/build-parks.py) */
.parks .pkintro{font-size:15px;margin:0 0 6px}
.pklist{list-style:none;margin:0;padding:0}
.pk{display:flex;gap:14px;align-items:flex-start;margin-top:14px}
.pk picture{flex:none}
.pk img{display:block;width:190px;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
.pk b{display:inline;margin-right:8px}
.pkaddr{display:block;font-size:15px;color:#33464b;margin-top:2px}
.pkaddr.ph{display:inline-block;margin-top:6px}
.pktag{display:inline-block;padding:1px 8px;border-radius:10px;background:color-mix(in srgb,#E3F2F3 50%,#fff);color:#137A83;font:600 12px/1.6 "Open Sans",sans-serif;line-height:1.6;vertical-align:middle;white-space:nowrap}
.pklist.is-collapsed .pk-more{display:none}
.pkmore{margin-top:16px;min-height:44px;padding:10px 18px;border:2px solid var(--tealtx);border-radius:999px;background:#fff;color:var(--tealtx);font:400 17px 'Ropa Sans',sans-serif;cursor:pointer}
.pkmore:hover,.pkmore:focus-visible{background:#E3F2F3}
.pkmore:focus-visible,.pkbook a:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.pkbook{margin:10px 0 0}
.pkbook a{display:inline-flex;align-items:center;min-height:44px;font:400 18px 'Ropa Sans',sans-serif;color:var(--tealtx);text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.pk img{width:130px}}
/* Group Clinics: six topic cards, 3 by 2 on desktop, 2 by 3 on tablet, one column on phones */
.other.six{grid-template-columns:repeat(3,1fr)}
.topic h3{margin:0;font-size:24px;color:var(--navy)}
.topic p{margin:8px 0 12px;font:400 16px/1.55 'Open Sans',sans-serif;color:var(--ink)}
@media(max-width:1023px){.other.six{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.other.six{grid-template-columns:1fr}}
.topic .ph{display:inline-block}
/* v4 2026-11-04: 44px tap targets (padding, so the layout does not move) */
a[href^="sms:"]:not(.btn):not(.bb-textbtn),footer a,.arealink,.lrows-all a,main a[href="lessons/"]{display:inline-block;padding:12px 0;margin:-12px 0;min-height:44px;box-sizing:border-box;line-height:20px}
#mainnav a:not(.btn),.towns a,main a[href^="mailto:"]{display:inline-block;padding-top:12px;padding-bottom:12px;margin-top:-12px;margin-bottom:-12px;min-height:44px;box-sizing:border-box;line-height:20px}
#mainnav a[href="./"],#mainnav a[href="../"],footer a[href="./"],footer a[href="../"],footer a[href$="terms/"]{min-width:44px;text-align:center;padding-left:4px;padding-right:4px}
.citychips a{display:inline-flex;align-items:center;min-height:44px}
.rarrow{min-width:44px;flex-shrink:0}
footer a,.towns a,.arealink{min-width:44px;text-align:center}

/* amanda-fb 2026-11-09 */
.hero figure img.wmhero{aspect-ratio:3/4;object-position:50% 70%}
@media(max-width:820px){.hero figure img.wmhero{aspect-ratio:4/3;height:auto;object-fit:cover;object-position:50% 28%}}
footer .fsocial{flex-basis:100%;display:flex;gap:18px;flex-wrap:wrap}
footer .fsocial a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#fff;font-weight:600;text-decoration:none;cursor:pointer}
footer .fsocial a:hover span{text-decoration:underline}
.follow{margin-top:14px}
.follow a{color:var(--tealtx);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.cmp{background:#fff;border:2px solid #e6e1d6;border-radius:16px;padding:22px 24px}
.cmp.on{border-color:var(--tealtx)}
.cmp h3{margin:0 0 8px}
.cmp p{margin:0 0 6px}
.cmpnote{margin-top:14px;font-size:15px;color:#33464b}
@media(max-width:760px){.compare{grid-template-columns:1fr}}
/* legal pages r5 2026-11-09 */
.legacy .legaltext h2{font-size:clamp(24px,3vw,30px);color:var(--navy);margin:34px 0 10px}
.legacy .legaltext h3{font-size:19px;color:var(--navy);margin:20px 0 6px}
.legacy .legaltext p{margin:0 0 12px;line-height:1.6}
mark.confirm{background:#FFF4CC;color:#6b5200;border:1px dashed #C99A12;padding:1px 4px;border-radius:4px}
/* legal pages r7 2026-11-09: boilerplate highlight */
mark.boilerplate{background:#DDF3E4;color:inherit;padding:1px 3px;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}




/* r11 2026-11-10: buy links on lesson and gift pages (added by assets/buy-links.js only when a real pay link is set) */
.buyrow{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:18px 0 6px}
.btn.buy{background:var(--yl);color:var(--navy)}
.btn.buy:hover{background:#fff;color:var(--navy)}
.buynote{font-size:15px;margin:6px 0 18px}
/* r11: phone menu tap targets and two-up city chips */
@media(max-width:820px){
nav#mainnav{gap:6px}
nav#mainnav a:not(.btn){display:flex!important;align-items:center;min-height:56px;padding:16px 12px;margin:0;line-height:24px;box-sizing:border-box}
nav#mainnav .mnav{min-height:56px;padding:16px 12px;margin-top:16px;line-height:24px;box-sizing:border-box}
.citychips{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.citychips li{display:flex}
.citychips a{width:100%;justify-content:center;text-align:center;padding:0 10px}
}

/* ---- holiday gift page (mock additions, RoCo palette only) ---- */
.btn.gift{background:var(--yl);color:var(--navy);font-weight:400;box-shadow:none}
.btn.gift:hover{background:#fff;color:var(--navy)}
.hero .btn.gift{box-shadow:none}
.gh .wrap{display:grid!important;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center}
.gh h1{font-size:clamp(46px,6vw,74px)}
.gh h1 span{color:var(--yl)}
.gh .sub strong{color:#fff}
.gh .paynote{font-size:14px;color:#B9D3D7;margin:10px 0 0}
.gh .paynote a{color:#fff}
.gh figure{margin:0;position:relative}
.gh figure img{width:100%;aspect-ratio:4/4.3;object-fit:cover;object-position:0% 30%;border-radius:18px;display:block;border:4px solid #fff;height:auto}
/* ribbon: two bands across the photo corner, sunbar colors */
.gh figure::before{content:"";position:absolute;top:4px;right:56px;width:16px;height:calc(100% - 8px);background:linear-gradient(180deg,var(--or),var(--pk));opacity:.92;z-index:1;border-radius:2px}
.gtag{position:absolute;right:-26px;bottom:34px;z-index:2;background:var(--sand);color:var(--navy);border-radius:10px 14px 14px 10px;padding:16px 22px 14px 34px;box-shadow:0 10px 26px rgba(0,0,0,.28);clip-path:polygon(16px 0,100% 0,100% 100%,16px 100%,0 50%)}
.gtag::before{content:"";position:absolute;left:20px;top:50%;width:9px;height:9px;margin-top:-5px;border-radius:50%;background:var(--navy)}
.gtag .t{display:block;font:600 12px 'Open Sans';letter-spacing:1.4px;text-transform:uppercase;color:#137A83}
.gtag .p{display:block;font:800 40px/1 'Barlow Condensed';color:var(--navy);margin:2px 0}
.gtag .d{display:block;font-size:14px;color:#33464b}
.packgrid .fact .v{font-size:44px}
.packgrid .fact p{margin:6px 0 0;font-size:15.5px}
.packcta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:26px}
.packcta .btn.sec{box-shadow:none}
.packcta .note2{font-size:14px;color:#33464b}
.gsteps{counter-reset:s;list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.gsteps li{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 18px rgba(8,58,71,.08);font-size:16px}
.gsteps li::before{counter-increment:s;content:counter(s);display:flex;width:40px;height:40px;border-radius:50%;background:var(--yl);color:var(--navy);font:800 23px 'Barlow Condensed';align-items:center;justify-content:center;margin-bottom:12px}
.gsteps b{display:block;font:800 26px/1.1 'Barlow Condensed';color:var(--navy);margin-bottom:6px}
.confirm{display:inline;background:#FFF4CC;border:1.5px dashed #C99A12;color:#6b5200;font:600 13px/1.5 'Open Sans';padding:1px 6px;border-radius:5px}
.forgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:24px}
.forgrid div{border-left:4px solid var(--yl);padding-left:16px}
.forgrid b{display:block;font:800 25px 'Barlow Condensed';color:var(--navy);margin-bottom:4px}
.meet{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}
.meet img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:70% 35%;border-radius:18px;display:block}
.meet ul{padding-left:20px;margin:14px 0 18px}
.meet li{margin-bottom:6px}
.meet a.glink{margin-top:4px}
.grevs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.grevs figure{margin:0;background:#fff;border-radius:14px;padding:22px;box-shadow:0 3px 14px rgba(8,58,71,.07);font-size:15.5px;display:flex;flex-direction:column}
.grevs .stars{color:#C9600F;letter-spacing:2px}
.grevs blockquote{margin:8px 0 0;flex:1}
.grevs figcaption{font-weight:700;color:#137A83;margin-top:12px}
.grevs figcaption span{font-weight:400;color:#33464b}
.revnote{font-size:13px;color:#33464b;margin-top:14px}
.gfaq .qs{max-width:860px}
.gfaq details{background:#fff;border-radius:12px;padding:16px 22px;margin-top:12px;box-shadow:0 2px 10px rgba(8,58,71,.06)}
.gfaq summary{font:800 24px 'Barlow Condensed';color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.gfaq summary::-webkit-details-marker{display:none}
.gfaq summary::after{content:"+";color:#137A83;font-size:28px;line-height:1}
.gfaq details[open] summary::after{content:"\2013"}
.gfaq details p{margin:8px 0 2px}
.finalcta .btns{justify-content:center}
.finalcta .btn.ghost{box-shadow:none}
.finalcta .big a{color:var(--yl);text-decoration:none}
.giftbar{display:none}

/* v5: white CTA band, distinct from the navy footer. Scoped so the navy hero is unchanged. */
.textcta.finalcta,
.midcta{
  background:#fff;
  color:var(--ink);
  text-align:center;
}
.textcta.finalcta{
  border-top:2px solid var(--navy);
}
.midcta{
  padding:36px 0;
  border-top:2px solid var(--navy);
  border-bottom:2px solid var(--navy);
}
.midcta .btns{justify-content:center;margin:0 0 4px}
.textcta.finalcta h2{color:var(--navy)}
.textcta.finalcta h2 span{color:#137A83}
.textcta.finalcta p{color:var(--ink)}
.textcta.finalcta .note,
.midcta .note{color:#33464b;font-size:14px}
.textcta.finalcta .btn,
.midcta .btn{box-shadow:none}
.textcta.finalcta .btn.gift,
.midcta .btn.gift{
  background:var(--yl);
  color:var(--navy);
  border:2px solid var(--navy);
}
.textcta.finalcta .btn.gift:hover,
.midcta .btn.gift:hover{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
}
.textcta.finalcta .btn.ghost,
.midcta .btn.ghost{
  background:transparent;
  border:2px solid var(--navy);
  color:var(--navy);
}
.textcta.finalcta .btn.ghost:hover,
.midcta .btn.ghost:hover{
  background:var(--navy);
  color:#fff;
}
@media(max-width:820px){
  .midcta{padding:28px 0}
}
@media(max-width:900px){.forgrid,.gsteps,.grevs{grid-template-columns:1fr}.meet{grid-template-columns:1fr;gap:26px}}
@media(max-width:820px){
 .gh .wrap{grid-template-columns:1fr;gap:30px;padding-top:34px!important;padding-bottom:46px!important}
 .gh figure img{aspect-ratio:1/1;object-position:4% 30%}
 .gh figure::before{right:34px}
 .gtag{right:10px;bottom:-20px;padding:9px 14px 8px 28px;max-width:64%}
 .gtag .p{font-size:28px}
 .gtag .d{font-size:12.5px;line-height:1.35}
 .gtag .t{font-size:11px}
 .gh .btns .btn{flex:1 1 100%;text-align:center}
 .giftbar{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:99995;background:var(--navy);padding:10px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 18px rgba(0,0,0,.22)}
 .giftbar .btn{text-align:center;padding:12px 10px;font-size:18px}
 .giftbar .btn.ghost{box-shadow:none}
 body{padding-bottom:78px}
 .bb-bubble{display:none!important}
 .bb-panel{bottom:86px!important}
}

/* r16: holiday gift announcement bar */
.giftannounce{background:var(--or);color:var(--navy);font:400 17px/1.45 'Ropa Sans',sans-serif}
.giftannounce .wrap{padding-top:10px;padding-bottom:10px}
.giftannounce p{margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 14px}
.giftannounce a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;font:400 17px/1.45 'Ropa Sans',sans-serif;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;padding:0;box-shadow:none}
.giftannounce a:hover{color:var(--ink)}
.giftannounce-short{display:none}
@media(max-width:480px){
  .giftannounce-full{display:none}
  .giftannounce-short{display:inline}
  .giftannounce:has(a) .giftannounce-line{display:none}
  .giftannounce:not(:has(a)){display:none}
  .giftannounce:not(.giftannounce--nolink) .giftannounce-line{display:none}
  .giftannounce.giftannounce--nolink{display:none}
  .giftannounce p{gap:0;flex-wrap:nowrap;justify-content:center}
  .giftannounce .wrap{padding:0 12px;min-height:44px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
  .giftannounce a{min-height:44px}
  .giftannounce-line,.giftannounce-short{white-space:nowrap}
}
