@font-face{font-family:'Fredoka';font-style:normal;font-weight:400 700;font-display:swap;src:url('https://fonts.gstatic.com/s/fredoka/v18/X7nP4b87HvSqjb_WIi2yDCRwoQ_k7367_B-i2yQag0-mac3GEBQ.woff2') format('woff2');}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('https://fonts.gstatic.com/s/manrope/v15/xn7gYHE41ni1AdIRqAuZuw1Bx9mbZk_NpQ.woff2') format('woff2');}
:root{
--green-50:#eafbec;--green-500:#24a431;--green-600:#1c8527;--green-700:#166a1f;
--blue-50:#e7f6fc;--blue-700:#08587a;
--ink-900:#101613;--ink-700:#333d38;--ink-500:#5b6660;--ink-300:#8d9994;--ink-100:#e2e8e5;
--white:#ffffff;--pickle-purple:#5a5fc7;
--brand-primary:var(--green-500);--brand-primary-hover:var(--green-600);
--text-heading:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--ink-500);
--surface-page:var(--white);--surface-card:var(--white);--surface-sunken:var(--green-50);--surface-dark:var(--ink-900);
--border-subtle:var(--ink-100);--border-strong:var(--ink-300);
--cta-bg:var(--green-500);--cta-bg-hover:var(--green-600);--cta-text:var(--white);
--font-display:'Fredoka',ui-rounded,'Segoe UI',sans-serif;
--font-body:'Manrope',-apple-system,'Segoe UI',sans-serif;
--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;
--text-2xl:1.75rem;--text-3xl:2.25rem;--text-5xl:3.5rem;
--leading-tight:1.1;--leading-normal:1.6;
--weight-semibold:600;--weight-bold:700;
--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-pill:999px;--radius-img:18px;
--shadow-sm:0 1px 3px rgba(16,22,19,.06);
--shadow-lg:0 16px 36px rgba(16,22,19,.12);
--shadow-brand:0 6px 16px rgba(36,164,49,.18);
--container-max:1200px;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);background:var(--surface-page)}
a{color:var(--brand-primary)}
a:hover{color:var(--brand-primary-hover)}
header{display:grid;grid-template-columns:1fr auto;align-items:center;padding:16px 32px;border-bottom:1px solid var(--border-subtle)}
header img{height:32px}
.header-contact{display:flex;gap:20px;font-size:var(--text-xs);color:var(--text-muted)}
.header-contact a{display:flex;align-items:center;gap:6px;color:inherit;text-decoration:none;font-weight:var(--weight-semibold)}
.header-contact a span{color:var(--brand-primary)}
.eyebrow-wrap{padding:56px 32px 0}
.eyebrow-wrap .inner{max-width:var(--container-max);margin:0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--surface-sunken);border-radius:var(--radius-pill);padding:6px 16px;font-weight:var(--weight-semibold);font-size:var(--text-xs);color:var(--brand-primary);letter-spacing:.03em;text-transform:uppercase;margin-bottom:20px}
.hero{padding:16px 32px 56px}
.hero-inner{max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.hero h1{font-family:var(--font-display);font-weight:600;font-size:var(--text-5xl);line-height:var(--leading-tight);color:var(--text-heading);margin:0 0 16px}
.hero p{font-size:var(--text-lg);color:var(--text-body);margin:0 0 20px;line-height:var(--leading-normal)}
.hero ul{margin:0 0 24px;padding-left:20px;font-size:var(--text-base);color:var(--text-body);line-height:2}
.rating-pill{display:inline-flex;align-items:center;gap:12px;background:var(--surface-sunken);border-radius:var(--radius-pill);padding:10px 20px;margin-top:20px}
.rating-pill .score{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);color:var(--text-heading)}
.rating-pill .stars{color:#f5b400;font-size:var(--text-base);letter-spacing:1px}
.rating-pill .count{font-weight:var(--weight-semibold);font-size:var(--text-xs);color:var(--text-muted)}
.hero img{width:100%;height:380px;object-fit:cover;border-radius:var(--radius-img);box-shadow:var(--shadow-lg)}
.programs{padding:16px 32px 64px;max-width:var(--container-max);margin:0 auto}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.program-card{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.program-card img{width:100%;height:200px;object-fit:cover;display:block}
.program-body{padding:24px;display:flex;flex-direction:column;flex:1;text-align:center}
.badge-row{display:flex;justify-content:center}
.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-sm);letter-spacing:.02em}
.badge-pickleball{background:var(--green-50);color:var(--green-700)}
.badge-padel{background:var(--blue-50);color:var(--blue-700)}
.badge-neutral{background:var(--ink-100);color:var(--ink-700)}
.program-body h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-2xl);color:var(--text-heading);margin:14px 0 16px}
.class-list{display:flex;flex-direction:column;gap:10px;text-align:left;margin-bottom:16px}
.class-row{border-top:1px solid var(--border-subtle);padding-top:10px}
.class-row-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.class-name{font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);color:var(--text-heading)}
.class-price{color:var(--text-muted);font-size:var(--text-xs)}
.mini-btn{font-family:var(--font-display);font-weight:var(--weight-bold);color:#fff;background:var(--cta-bg);text-decoration:none;font-size:var(--text-sm);white-space:nowrap;padding:10px 20px;border-radius:var(--radius-pill);box-shadow:var(--shadow-brand)}
.mini-btn:hover{background:var(--cta-bg-hover);color:#fff}
.class-row details{margin-top:6px}
.class-row summary{cursor:pointer;font-weight:var(--weight-semibold);color:var(--brand-primary);font-size:var(--text-xs);list-style:none}
.class-row details p{margin:6px 0 0;color:var(--text-muted);font-size:var(--text-xs);line-height:1.6}
.testimonials{padding:64px 32px;max-width:var(--container-max);margin:0 auto}
.testimonials h2{text-align:center;font-family:var(--font-display);font-weight:600;font-size:var(--text-3xl);color:var(--text-heading);margin:0 0 40px}
.t-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.t-card{background:var(--surface-card);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:14px;height:100%}
.t-card .stars{display:flex;gap:3px;color:var(--green-500);font-size:var(--text-lg);line-height:1}
.t-card p{margin:0;color:var(--text-body);font-size:var(--text-base);line-height:var(--leading-normal)}
.t-card .name{font-weight:var(--weight-bold);color:var(--text-heading);font-family:var(--font-display)}
.t-card .meta{color:var(--text-muted);font-size:var(--text-sm)}
.questions{padding:56px 32px;text-align:center}
.questions h2{font-family:var(--font-display);font-weight:600;font-size:var(--text-3xl);color:var(--text-heading);margin:0 0 20px}
.contact-pill{display:inline-flex;align-items:center;gap:28px;background:var(--surface-page);border-radius:var(--radius-lg);padding:20px 32px;box-shadow:var(--shadow-brand);margin-bottom:8px}
.contact-item{display:flex;align-items:center;gap:12px;text-decoration:none}
.contact-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--surface-sunken);display:flex;align-items:center;justify-content:center;color:var(--brand-primary);font-size:var(--text-lg)}
.contact-item span.label{color:var(--text-heading);font-family:var(--font-display);font-weight:600;font-size:var(--text-lg)}
footer{background:var(--surface-dark);color:#fff;padding:44px 32px 24px}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:32px;max-width:var(--container-max);margin:0 auto}
.footer-inner img{height:46px;filter:brightness(0) invert(1)}
.footer-cols{display:flex;gap:56px;flex-wrap:wrap}
.footer-col-title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-sm);margin-bottom:6px}
.footer-col a{color:var(--ink-300);text-decoration:none}
.footer-bottom{border-top:1px solid var(--ink-700);margin-top:28px;padding-top:16px;text-align:center;color:var(--ink-500);font-size:var(--text-xs)}
@media (max-width:1100px){.program-grid{grid-template-columns:1fr}.t-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){
.hero-inner{grid-template-columns:1fr}
header{grid-template-columns:1fr;gap:12px;text-align:center;justify-items:center}
.header-contact{justify-content:center}
.hero h1{font-size:var(--text-3xl)}
.t-grid{grid-template-columns:1fr}
.footer-inner{flex-direction:column;text-align:center}
.contact-pill{flex-direction:column;gap:16px}
}
