/* ==========================================================================
   BALI PADEL — Tropical Sport Luxury
   Inspired by: Jungle Padel, The Padel Retreat, Goddess Retreats
   Palette: Dark jungle #273E2A · Lime #D1FF79 · Cream #F7F0EA · Teal #87D1D2
   ========================================================================== */

/* ===== RESET & BASE ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#F7F0EA;color:#1A1A1A;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:#273E2A;text-decoration:none;transition:color .15s}
a:hover{color:#D1FF79}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}

/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.02em}

/* ===== LAYOUT ===== */
.container{max-width:1140px;margin:0 auto;padding:0 1.5rem}

/* ===== NAVBAR ===== */
.nav{background:#273E2A;color:#fff;position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.5rem;max-width:1140px;margin:0 auto}
.nav__brand{font-size:1.3rem;font-weight:800;color:#D1FF79;text-decoration:none;display:flex;align-items:center;gap:.5rem;letter-spacing:-.5px;text-transform:uppercase}
.nav__brand:hover{text-decoration:none;color:#D1FF79}
.nav__links{display:flex;align-items:center;gap:1.75rem}
.nav__links a{color:rgba(255,255,255,.7);font-size:.85rem;font-weight:500;text-decoration:none;transition:color .15s;text-transform:uppercase;letter-spacing:.5px}
.nav__links a:hover,.nav__links a.active{color:#D1FF79}
.nav__cta{background:#D1FF79;color:#273E2A!important;padding:.5rem 1.25rem;border-radius:100px;font-weight:700;font-size:.8rem;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}
.nav__cta:hover{background:#b8ea3f;transform:translateY(-1px);text-decoration:none;color:#273E2A!important}
.nav__toggle{display:none;background:none;border:none;color:#D1FF79;font-size:1.5rem;cursor:pointer;padding:.25rem}

/* ===== HERO ===== */
.hero{position:relative;color:#fff;padding:0;min-height:85vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.hero__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(39,62,42,.6) 0%,rgba(39,62,42,.8) 100%)}
.hero__content{position:relative;z-index:1;padding:4rem 1.5rem;max-width:800px}
.hero__tag{display:inline-block;background:rgba(209,255,121,.15);border:1px solid rgba(209,255,121,.3);color:#D1FF79;padding:.35rem 1rem;border-radius:100px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1.5rem}
.hero h1{font-size:3.5rem;font-weight:800;line-height:1.08;margin-bottom:1.25rem;letter-spacing:-.03em}
.hero p{font-size:1.2rem;opacity:.85;max-width:580px;margin:0 auto 2.5rem;line-height:1.6}
.hero__cta{display:inline-flex;align-items:center;gap:.5rem;background:#D1FF79;color:#273E2A;padding:1rem 2.5rem;border-radius:100px;font-size:1rem;font-weight:700;text-decoration:none;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}
.hero__cta:hover{background:#b8ea3f;transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.3);text-decoration:none;color:#273E2A}
.hero__sub{display:inline-flex;align-items:center;gap:.5rem;color:rgba(255,255,255,.7);padding:.75rem 1.5rem;font-size:.85rem;font-weight:500;text-decoration:none;margin-left:.75rem;transition:color .15s}
.hero__sub:hover{color:#D1FF79;text-decoration:none}

/* ===== HERO (small variant for inner pages) ===== */
.hero--sm{min-height:auto;padding:0}
.hero--sm .hero__content{padding:4rem 1.5rem 3.5rem}
.hero--sm h1{font-size:2.5rem;margin-bottom:.75rem}
.hero--sm p{margin-bottom:0}

/* ===== PHOTO GRID (homepage) ===== */
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:-4rem 0 0;position:relative;z-index:2}
.photo-grid img{width:100%;height:200px;object-fit:cover}

/* ===== SECTIONS ===== */
.section{padding:5rem 0}
.section--cream{background:#F7F0EA}
.section--white{background:#fff}
.section--dark{background:#273E2A;color:#fff}
.section--dark .section__title{color:#D1FF79}
.section--dark .section__subtitle{color:rgba(255,255,255,.7)}
.section--img{position:relative;background-size:cover;background-position:center;color:#fff}
.section--img::before{content:'';position:absolute;inset:0;background:rgba(39,62,42,.85)}
.section--img>*{position:relative;z-index:1}
.section__title{font-size:2rem;font-weight:800;margin-bottom:.5rem;color:#273E2A;letter-spacing:-.02em}
.section__subtitle{color:#6B7C6E;font-size:1.05rem;margin-bottom:2.5rem}
.section__label{display:inline-block;color:#D1FF79;background:#273E2A;padding:.3rem 1rem;border-radius:100px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1rem}

/* ===== CARDS (retreat cards with images) ===== */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}
.card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.12)}
.card__img{height:220px;background-size:cover;background-position:center;position:relative}
.card__img-overlay{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff}
.card__img-overlay .card__location{color:rgba(255,255,255,.85);margin:0}
.card__body{padding:1.25rem 1.5rem 1.5rem}
.card__location{font-size:.75rem;color:#6B7C6E;text-transform:uppercase;letter-spacing:1px;margin-bottom:.35rem;font-weight:600}
.card__title{font-size:1.15rem;font-weight:700;margin-bottom:.5rem;color:#273E2A}
.card__title a{color:inherit;text-decoration:none}
.card__title a:hover{color:#536942}
.card__desc{font-size:.9rem;color:#555;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.6}
.card__meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.card__price{font-weight:800;color:#273E2A;font-size:1.1rem}
.card__badges{display:flex;flex-wrap:wrap;gap:.35rem}
.card__link{display:inline-flex;align-items:center;gap:.3rem;color:#273E2A;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;transition:color .15s}
.card__link:hover{color:#D1FF79;text-decoration:none}

/* ===== EVENT CARDS ===== */
.event-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px rgba(0,0,0,.06);display:flex;gap:1.5rem;transition:transform .25s,box-shadow .25s}
.event-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1)}
.event-card__date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#273E2A;color:#D1FF79;border-radius:16px;min-width:72px;padding:.75rem;text-align:center;flex-shrink:0}
.event-card__date .month{font-size:.65rem;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.7)}
.event-card__date .day{font-size:1.75rem;font-weight:800;line-height:1.1}
.event-card__info{flex:1}
.event-card__title{font-weight:700;font-size:1.1rem;margin-bottom:.3rem;color:#273E2A}
.event-card__detail{font-size:.85rem;color:#6B7C6E;margin-bottom:.2rem}
.event-card__cta{display:inline-flex;align-items:center;gap:.35rem;background:#273E2A;color:#D1FF79;font-weight:700;font-size:.8rem;margin-top:.75rem;padding:.4rem 1rem;border-radius:100px;text-transform:uppercase;letter-spacing:.5px;text-decoration:none;transition:all .2s}
.event-card__cta:hover{background:#1a2c1d;text-decoration:none;color:#D1FF79}

/* ===== BADGES ===== */
.badge{display:inline-block;padding:.25rem .7rem;border-radius:100px;font-size:.7rem;font-weight:600;text-transform:capitalize;letter-spacing:.3px}
.badge--green{background:rgba(209,255,121,.2);color:#273E2A}
.badge--blue{background:rgba(135,209,210,.2);color:#1a6b6c}
.badge--yellow{background:#fff3cd;color:#856404}
.badge--gray{background:#e2e3e5;color:#383d41}
.badge--red{background:#f8d7da;color:#721c24}
.badge--lime{background:#D1FF79;color:#273E2A}

/* ===== HOW IT WORKS ===== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:2rem}
.step{text-align:center;padding:2rem 1.5rem;background:#fff;border-radius:24px;box-shadow:0 4px 20px rgba(0,0,0,.04)}
.step__number{width:56px;height:56px;border-radius:50%;background:#273E2A;color:#D1FF79;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.3rem;margin:0 auto 1rem}
.step__title{font-weight:700;margin-bottom:.5rem;font-size:1.05rem;color:#273E2A}
.step__text{font-size:.9rem;color:#6B7C6E;line-height:1.6}

/* ===== IMAGE SHOWCASE (2-col image + text) ===== */
.showcase{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.showcase--reverse{direction:rtl}
.showcase--reverse>*{direction:ltr}
.showcase__img{border-radius:24px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.12)}
.showcase__img img{width:100%;height:400px;object-fit:cover}
.showcase__text h2{font-size:1.75rem;font-weight:800;color:#273E2A;margin-bottom:.75rem}
.showcase__text p{color:#555;font-size:1rem;margin-bottom:1rem;line-height:1.7}

/* ===== DETAIL PAGE ===== */
.detail-hero{position:relative;min-height:50vh;display:flex;align-items:flex-end;overflow:hidden}
.detail-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.detail-hero__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(39,62,42,.9))}
.detail-hero__content{position:relative;z-index:1;padding:3rem 1.5rem;max-width:1140px;margin:0 auto;width:100%;color:#fff}
.detail-hero__content h1{font-size:2.5rem;font-weight:800;margin-bottom:.5rem}
.detail-hero__content .location{color:#D1FF79;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}
.detail-body{padding:3rem 0}
.detail-sidebar{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 4px 24px rgba(0,0,0,.08);position:sticky;top:80px}
.detail-sidebar__price{font-size:1.75rem;font-weight:800;color:#273E2A;margin-bottom:.25rem}
.detail-sidebar__label{font-size:.85rem;color:#6B7C6E;margin-bottom:1.25rem}
.detail-grid{display:grid;grid-template-columns:1fr 360px;gap:3rem}
.detail-content{min-width:0}
.detail-content h2{font-size:1.4rem;font-weight:800;color:#273E2A;margin:2.5rem 0 .75rem}
.detail-content h2:first-child{margin-top:0}
.detail-content p{margin-bottom:1rem;color:#444;line-height:1.7}
.amenity-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}

/* ===== FAQ ===== */
.faq-item{background:#fff;border-radius:20px;padding:1.75rem 2rem;margin-bottom:1rem;box-shadow:0 4px 20px rgba(0,0,0,.04);border-left:4px solid #D1FF79}
.faq-item h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem;color:#273E2A}
.faq-item p{color:#555;font-size:.95rem;line-height:1.7}

/* ===== ABOUT / VALUES ===== */
.about-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}
.value-card{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 4px 20px rgba(0,0,0,.04);transition:transform .2s}
.value-card:hover{transform:translateY(-4px)}
.value-card__icon{width:56px;height:56px;border-radius:16px;background:#273E2A;color:#D1FF79;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem}
.value-card h3{font-size:1.1rem;font-weight:700;color:#273E2A;margin-bottom:.5rem}
.value-card p{color:#6B7C6E;font-size:.9rem;line-height:1.6}

/* ===== CONTACT ===== */
.contact-card{background:#fff;border-radius:24px;padding:3rem;box-shadow:0 8px 32px rgba(0,0,0,.08);text-align:center;max-width:580px;margin:0 auto}
.contact-card h2{margin-bottom:.75rem;color:#273E2A;font-size:1.5rem}
.contact-card p{color:#6B7C6E;margin-bottom:2rem;font-size:1.05rem}

/* ===== BUTTONS ===== */
.wa-btn{display:inline-flex;align-items:center;gap:.5rem;background:#25D366;color:#fff;padding:1rem 2.25rem;border-radius:100px;font-size:1.05rem;font-weight:700;text-decoration:none;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}
.wa-btn:hover{background:#20bd5a;transform:translateY(-3px);box-shadow:0 8px 24px rgba(37,211,102,.3);text-decoration:none;color:#fff}
.btn--lime{display:inline-flex;align-items:center;gap:.5rem;background:#D1FF79;color:#273E2A;padding:.75rem 2rem;border-radius:100px;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}
.btn--lime:hover{background:#b8ea3f;transform:translateY(-2px);text-decoration:none;color:#273E2A}
.btn--outline{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3);padding:.75rem 2rem;border-radius:100px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}
.btn--outline:hover{border-color:#D1FF79;color:#D1FF79;text-decoration:none}

/* ===== FOOTER ===== */
.footer{background:#273E2A;color:rgba(255,255,255,.75);padding:4rem 1.5rem 2rem}
.footer__inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem}
.footer h3{color:#D1FF79;font-size:.85rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.footer p{font-size:.85rem;line-height:1.8}
.footer a{color:rgba(255,255,255,.6);font-size:.85rem;transition:color .15s}
.footer a:hover{color:#D1FF79;text-decoration:none}
.footer ul li{margin-bottom:.5rem}
.footer__bottom{max-width:1140px;margin:2.5rem auto 0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;text-align:center;opacity:.5}

/* ===== FLOATING WHATSAPP ===== */
.wa-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(37,211,102,.4);transition:transform .2s}
.wa-float:hover{transform:scale(1.1);text-decoration:none}
.wa-float svg{width:30px;height:30px;fill:#fff}

/* ===== CTA BANNER (image-backed) ===== */
.cta-banner{position:relative;padding:5rem 1.5rem;text-align:center;overflow:hidden}
.cta-banner__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.cta-banner__bg::after{content:'';position:absolute;inset:0;background:rgba(39,62,42,.88)}
.cta-banner__content{position:relative;z-index:1;color:#fff}
.cta-banner h2{font-size:2rem;font-weight:800;margin-bottom:.75rem;color:#fff}
.cta-banner p{opacity:.8;margin-bottom:2rem;font-size:1.1rem;max-width:560px;margin-left:auto;margin-right:auto}

/* ===== SEO CONTENT ===== */
.seo-content{max-width:780px;margin:0 auto}
.seo-content h2{font-size:1.4rem;font-weight:800;color:#273E2A;margin:2rem 0 .75rem}
.seo-content p{color:#555;margin-bottom:1.25rem;font-size:.95rem;line-height:1.8}

/* ===== EVENT TABS ===== */
.event-tabs{display:flex;gap:.5rem;margin-bottom:2rem}
.event-tab{background:#fff;border:2px solid #e0e0e0;border-radius:100px;padding:.6rem 1.5rem;font-size:.9rem;font-weight:700;color:#6B7C6E;cursor:pointer;transition:all .2s;font-family:inherit}
.event-tab:hover{border-color:#273E2A;color:#273E2A}
.event-tab--active{background:#273E2A;color:#D1FF79;border-color:#273E2A}
.event-section{display:none}
.event-section--active{display:block}

/* ===== TOURNAMENT CARD ===== */
.event-card--tournament{border-left:4px solid #87D1D2}
.event-card__date--tournament{background:#1a6b6c}
.event-card__badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}
.badge--tournament{background:rgba(135,209,210,.2);color:#1a6b6c;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.event-card__cta--outline{background:transparent;color:#273E2A;border:1.5px solid #273E2A}
.event-card__cta--outline:hover{background:#273E2A;color:#D1FF79;border-color:#273E2A}

/* ===== TIMELINE ===== */
.timeline{display:flex;flex-direction:column;gap:1.25rem}

/* ===== CATEGORY CTAs (homepage) ===== */
.category-ctas{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.category-cta{display:block;background:#fff;border-radius:24px;padding:2.5rem 2rem;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s;text-decoration:none;color:#1A1A1A;border:2px solid transparent}
.category-cta:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.12);border-color:#D1FF79;text-decoration:none;color:#1A1A1A}
.category-cta__icon{width:64px;height:64px;border-radius:20px;background:#273E2A;color:#D1FF79;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}
.category-cta h3{font-size:1.25rem;font-weight:800;color:#273E2A;margin-bottom:.5rem}
.category-cta p{font-size:.9rem;color:#6B7C6E;line-height:1.6;margin-bottom:1rem}
.category-cta__link{color:#273E2A;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}

/* ===== COURTS PAGE ===== */
.courts-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem}
.courts-toggle__btn{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:2px solid #e0e0e0;border-radius:100px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:700;color:#6B7C6E;cursor:pointer;transition:all .2s;font-family:inherit}
.courts-toggle__btn:hover{border-color:#273E2A;color:#273E2A}
.courts-toggle__btn--active{background:#273E2A;color:#D1FF79;border-color:#273E2A}
.courts-view{display:none}
.courts-view--active{display:block}
.courts-map{width:100%;min-height:500px;border-radius:20px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08)}

/* ===== AREA FILTER ===== */
.area-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.area-chip{background:#fff;border:2px solid #e0e0e0;border-radius:100px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;color:#6B7C6E;cursor:pointer;transition:all .2s;font-family:inherit}
.area-chip:hover{border-color:#273E2A;color:#273E2A}
.area-chip--active{background:#273E2A;color:#D1FF79;border-color:#273E2A}

/* ===== COURT CARD ===== */
.court-card__courts{float:right;background:rgba(209,255,121,.9);color:#273E2A;padding:.2rem .6rem;border-radius:100px;font-size:.7rem;font-weight:700}
.court-card__amenities{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}
.court-card__hours{font-size:.8rem;color:#6B7C6E;margin-bottom:.75rem}
.court-card__instagram{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:#6B7C6E;margin-bottom:.75rem;transition:color .15s}
.court-card__instagram:hover{color:#E1306C;text-decoration:none}
.detail-sidebar__social{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.6rem 1rem;background:#f5f5f5;border-radius:100px;font-size:.85rem;font-weight:600;color:#273E2A;transition:all .2s}
.detail-sidebar__social:hover{background:#E1306C;color:#fff;text-decoration:none}
.detail-sidebar__social svg{flex-shrink:0}

/* ===== NEWS GRID ===== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.news-card{display:flex;flex-direction:column;background:#F7F0EA;border-radius:16px;padding:1.5rem;transition:transform .25s,box-shadow .25s;text-decoration:none;color:#1A1A1A}
.news-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1);text-decoration:none;color:#1A1A1A}
.news-card__source{display:inline-block;background:#273E2A;color:#D1FF79;padding:.2rem .7rem;border-radius:100px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;width:fit-content;margin-bottom:.5rem}
.news-card__date{font-size:.75rem;color:#6B7C6E;margin-bottom:.5rem}
.news-card__title{font-size:1rem;font-weight:700;line-height:1.35;margin-bottom:.5rem;color:#273E2A}
.news-card__excerpt{font-size:.85rem;line-height:1.6;color:#4A5A4C;flex:1;margin-bottom:.75rem}
.news-card__link{font-size:.8rem;font-weight:600;color:#273E2A;transition:color .15s}
.news-card:hover .news-card__link{color:#5a8a00}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
  .nav__links{display:none;position:absolute;top:100%;left:0;right:0;background:#273E2A;flex-direction:column;padding:1.25rem 1.5rem;gap:1rem;box-shadow:0 8px 24px rgba(0,0,0,.2)}
  .nav__links.open{display:flex}
  .nav__toggle{display:block}
  .hero{min-height:70vh}
  .hero h1{font-size:2rem}
  .hero p{font-size:1rem}
  .hero--sm h1{font-size:1.75rem}
  .photo-grid{grid-template-columns:repeat(2,1fr);margin-top:-2rem}
  .photo-grid img{height:120px}
  .card-grid{grid-template-columns:1fr}
  .event-card{flex-direction:column}
  .event-card__date{flex-direction:row;gap:.5rem;min-width:unset;padding:.5rem 1rem;border-radius:12px}
  .detail-grid{grid-template-columns:1fr}
  .detail-sidebar{position:static}
  .detail-hero__content h1{font-size:1.75rem}
  .footer__inner{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .showcase{grid-template-columns:1fr;gap:2rem}
  .showcase__img img{height:280px}
  .showcase--reverse{direction:ltr}
  .cta-banner h2{font-size:1.5rem}
  .category-ctas{grid-template-columns:1fr}
  .courts-map{min-height:350px}
  .news-grid{grid-template-columns:1fr}
}
@media(min-width:769px) and (max-width:1024px){
  .hero h1{font-size:2.75rem}
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .footer__inner{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:repeat(2,1fr)}
}
