@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-100:#c9f2ce;--green-300:#6dd97e;--green-500:#24a431;--green-600:#1c8527;--green-700:#166a1f;--green-900:#0d3f13;
--blue-50:#e7f6fc;--blue-100:#c3e9f6;--blue-300:#5cbde3;--blue-500:#0c8abc;--blue-600:#0a7099;--blue-700:#08587a;--blue-900:#053348;
--ink-900:#101613;--ink-700:#333d38;--ink-500:#5b6660;--ink-300:#8d9994;--ink-100:#e2e8e5;
--white:#ffffff;--court-gray:#4c5350;--pickle-purple:#5a5fc7;
--brand-primary:var(--green-500);--brand-primary-hover:var(--green-600);--brand-primary-active:var(--green-700);
--brand-secondary:var(--blue-500);--brand-secondary-hover:var(--blue-600);
--text-heading:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--ink-500);--text-on-brand:var(--white);
--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);
--focus-ring:var(--blue-500);
--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-4xl:2.75rem;--text-5xl:3.5rem;--text-6xl:4.5rem;
--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.6;
--weight-regular:400;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;
--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-pill:999px;
--shadow-sm:0 1px 3px rgba(16,22,19,.06);
--shadow-md:0 6px 18px rgba(16,22,19,.08);
--shadow-lg:0 16px 36px rgba(16,22,19,.12);
--shadow-brand:0 6px 16px rgba(36,164,49,.18);
--container-max:1200px;
--ease-out:cubic-bezier(.16,1,.3,1);--dur-fast:120ms;
}
*{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)}
.btn{font-family:var(--font-display);font-weight:var(--weight-semibold);border-radius:var(--radius-pill);border:2px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;background:var(--cta-bg);color:var(--cta-text);box-shadow:var(--shadow-brand);padding:14px 28px;font-size:var(--text-base);transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);}
.btn:hover{background:var(--cta-bg-hover);transform:translateY(-1px);color:var(--cta-text)}
.btn-sm{padding:10px 18px;font-size:var(--text-sm)}
.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-multisport{background:#eeeef9;color:var(--pickle-purple)}
.topbar{display:flex;justify-content:flex-end;gap:20px;padding:10px 32px;background:var(--surface-sunken);font-size:var(--text-xs);color:var(--text-muted)}
.topbar a{display:flex;align-items:center;gap:6px;color:inherit;text-decoration:none;font-weight:var(--weight-semibold)}
.topbar a span{color:var(--brand-primary)}
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 .actions{display:flex;gap:10px}
.hero{padding:40px 32px 32px;text-align:center}
.hero-inner{max-width:720px;margin:0 auto}
.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 24px;line-height:var(--leading-normal)}
.rating-pill{display:inline-flex;align-items:center;gap:12px;background:var(--surface-sunken);border-radius:var(--radius-pill);padding:10px 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)}
.courts{padding:48px 32px 80px;max-width:var(--container-max);margin:0 auto}
.courts h2{text-align:center;font-family:var(--font-display);font-weight:600;font-size:var(--text-3xl);color:var(--text-heading);margin:0 0 8px}
.court-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:40px 0;align-items:stretch}
.court-card{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.court-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.court-body{padding:24px;display:flex;flex-direction:column;flex:1;text-align:center}
.badge-row{display:flex;justify-content:center}
.court-body h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-2xl);color:var(--text-heading);margin:14px 0 8px}
.court-copy{color:var(--text-body);font-size:var(--text-sm);line-height:1.7;margin:0 0 14px;text-align:center}
.court-copy p{margin:0 0 14px}
.court-copy p:last-child{margin-bottom:0}
.court-cta{text-align:center;margin-top:auto}
.how{background:var(--surface-sunken);padding:64px 32px}
.how .cta-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}
.steps{max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center}
.step-num{width:44px;height:44px;border-radius:50%;border:2px solid var(--brand-primary);color:var(--brand-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-family:var(--font-display);font-weight:600;font-size:var(--text-lg)}
.step-label{font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--text-heading)}
.testimonials{padding:72px 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:64px 32px;text-align:center;background:var(--surface-sunken)}
.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;font-size:var(--text-sm);display:block}
.footer-col div.addr{color:var(--ink-300);font-size:var(--text-sm)}
.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:900px){
.court-grid,.t-grid,.steps{grid-template-columns:1fr}
header{grid-template-columns:1fr;gap:12px;text-align:center}
header .actions{justify-content:center;flex-wrap:wrap}
.hero h1{font-size:var(--text-3xl)}
.footer-inner{flex-direction:column;text-align:center}
.contact-pill{flex-direction:column;gap:16px}
}


@media (max-width: 768px) {
  .footer-inner,
  .footer-cols,
  .footer-col {
    text-align: center;
  }
  .footer-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer-cols {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}