
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--navy:#061a35;--blue:#0c3d73;--red:#f51d3b;--ink:#10243f;--muted:#60718a;--light:#f3f7fb;--line:#dbe4ee;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}
.announcement{background:var(--red);color:#fff;text-align:center;padding:10px 14px;font-weight:700;font-size:13px}
.site-header{position:sticky;top:0;z-index:30;background:var(--navy);color:#fff;height:72px;display:flex;align-items:center;padding:0 5%;gap:24px}
.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand strong{display:block;letter-spacing:1.5px;font-size:18px}.brand em{display:block;font-style:normal;color:#4dc0f2;font-size:11px;letter-spacing:2.5px;font-weight:800;margin-top:2px}
.brand-mark{position:relative;width:38px;height:38px}.brand-mark:before{content:"";position:absolute;width:25px;height:25px;background:var(--red);border-radius:50%;left:5px;top:1px}.brand-mark:after{content:"";position:absolute;width:7px;height:24px;background:#fff;transform:rotate(40deg);left:7px;top:19px;border-radius:5px}.brand-mark span{position:absolute;width:12px;height:12px;background:#fff;border-radius:50%;right:0;bottom:0}
.nav{display:flex;gap:20px;margin-left:auto}.nav a{font-size:12px;font-weight:700}.nav a:hover{color:#4dc0f2}
.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:28px;cursor:pointer}
.mobile-menu-overlay,.mobile-menu{display:none}
.hero{background:linear-gradient(120deg,#061a35,#0d4e82);color:#fff;padding:82px 7% 70px;position:relative;overflow:hidden;min-height:560px}
.hero-content{max-width:650px;position:relative;z-index:2}.eyebrow{color:#45b8ef;font-size:11px;font-weight:900;letter-spacing:2.5px;margin:0 0 10px}.hero h1{font-size:68px;line-height:.92;margin:12px 0 20px;letter-spacing:-3px}.hero h1 span{color:#49baf0}.hero-copy{color:#d4e4ef;line-height:1.65;font-size:17px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:6px;font-weight:800;font-size:13px;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--red);color:#fff}.btn-outline{border-color:#9cb4c9;color:#fff}
.hero-art{position:absolute;right:-3%;bottom:0;width:45%;height:390px}.table{position:absolute;right:5%;bottom:50px;width:90%;height:210px;background:linear-gradient(150deg,#125b91,#071d3a);transform:skewY(-7deg) rotate(-2deg);border-radius:6px}.net{position:absolute;right:45%;top:-3px;height:220px;width:8px;background:#d8e2ea}.paddle{position:absolute;width:145px;height:82px;border-radius:70% 50% 55% 65%;background:#e92742;z-index:2}.paddle:after{content:"";position:absolute;width:72px;height:16px;background:#a86f3e;right:-55px;bottom:5px;border-radius:8px}.paddle-a{right:34%;top:18%;transform:rotate(-24deg)}.paddle-b{right:9%;bottom:23%;transform:rotate(23deg);background:#f5f5f5}.ball{position:absolute;width:34px;height:34px;background:#fff;border-radius:50%;right:29%;top:29%;z-index:3}
.section{padding:64px 7%;max-width:1400px;margin:auto}.light{background:var(--light);max-width:none}.section h2{font-size:34px;margin:6px 0 14px}.section p{line-height:1.65}.muted,.section-top>p{color:var(--muted)}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:28px}.section-top>p{max-width:480px;margin:0}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center}.callout{margin-top:24px;border-left:4px solid var(--red);padding:18px 22px;background:#f7faff;border-radius:0 8px 8px 0}.callout p{color:var(--muted);margin:8px 0}.callout a,.text-link{font-size:12px;font-weight:900;color:var(--blue)}
.visual-card{background:linear-gradient(145deg,#0a2749,#0d4f82);color:#fff;border-radius:14px;padding:48px 22px;text-align:center;min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 20px 50px rgba(5,30,60,.16)}.visual-ping{font-size:80px}.visual-card strong{display:block;font-size:24px;line-height:1.05;margin-top:14px;letter-spacing:1.5px}.visual-card span{display:block;color:#65c8f5;margin-top:10px;letter-spacing:1.5px;font-size:12px}
.session-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.session-row{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:18px;background:#fff}.session-row .day{color:var(--red);font-weight:900}.session-row b,.session-row span{display:block}.session-row span{margin-top:4px;color:var(--muted);font-size:13px}.session-row i{font-style:normal;font-size:10px;color:var(--blue);font-weight:900}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.price-card{border:1px solid var(--line);border-radius:10px;padding:20px;background:#fff;text-align:center}.price-card span{font-size:10px;color:var(--muted);font-weight:900}.price-card strong{display:block;font-size:30px;margin:10px 0;color:var(--navy)}.price-card small{color:var(--muted)}
.coaching-single{max-width:1400px}.coaching-panel{background:var(--navy);color:#fff;border-radius:12px;padding:34px;max-width:850px;margin:0 auto}.coaching-panel p:not(.eyebrow){color:#c5d3df}
.results-grid,.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.result-card,.news-card,.info-card{border:1px solid var(--line);border-radius:10px;padding:20px;background:#fff}.result-card{border-left:4px solid var(--red)}.result-date,.news-card span{font-size:10px;color:var(--muted);font-weight:800}.result-player{font-weight:800!important;margin-bottom:6px}.result-main{display:block;font-size:24px;color:var(--blue);font-weight:900}.chip{display:inline-block;background:#edf5fb;color:var(--blue);padding:5px 8px;border-radius:20px;margin:8px 0;font-size:10px;font-weight:800}.news-card p,.result-card p,.info-card p{color:var(--muted);font-size:13px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.faq-item{border:1px solid var(--line);border-radius:8px;padding:15px;background:#fff}.faq-item summary{font-weight:800;cursor:pointer}.faq-item p{color:var(--muted);font-size:13px}
.location{background:var(--navy);color:#fff;max-width:none;display:flex;align-items:center;justify-content:space-between;gap:30px}.location p{color:#c4d4e2}.contact-section{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:35px}.contact-links a{display:block;color:var(--blue);font-weight:800;margin:8px 0}
.subhero{background:linear-gradient(120deg,#061a35,#0d4e82);color:#fff;padding:62px 7%;text-align:center}.subhero-inner{max-width:850px;margin:auto}.subhero h1{font-size:50px;line-height:1;margin:10px 0 16px;letter-spacing:-2px}.subhero p:not(.eyebrow){max-width:680px;margin:auto;color:#c9dae7;line-height:1.65}
.info-split,.coaching-page-grid,.contact-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.coaching-copy,.contact-form-card{padding:28px}.clean-list{list-style:none;padding:0}.clean-list li{padding:12px 0;border-bottom:1px solid var(--line);font-weight:700}.clean-list li:before{content:"✓";color:var(--red);margin-right:10px}.contact-card{padding:16px 0;border-bottom:1px solid var(--line)}.contact-card span{display:block;font-size:10px;color:var(--muted);font-weight:900;letter-spacing:1.3px;margin-bottom:7px}.contact-card a{color:var(--blue);font-weight:800}.contact-form-card{background:var(--light);border:1px solid var(--line);border-radius:10px}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--navy);color:#fff;max-width:none;padding-left:8%;padding-right:8%}
footer{background:#031327;color:#fff;text-align:center;padding:34px 20px}footer p{color:#9eb1c5}.footer-nav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:14px 0}.footer-nav a{font-size:11px;color:#a9bbcd}
.empty{padding:20px;border:1px dashed #bbc8d5;border-radius:8px;color:var(--muted)}
@media(max-width:800px){
 .nav{display:none!important}.menu-toggle{display:block}.hero{padding:58px 20px 56px;min-height:auto}.hero h1{font-size:48px;letter-spacing:-2px}.hero-art{display:none}
 .section{padding:52px 20px}.section-top{display:block}.section-top>p{margin-top:10px}.intro-grid,.session-list,.pricing-grid,.results-grid,.news-grid,.faq-grid,.info-split,.coaching-page-grid,.contact-page-grid,.contact-section{grid-template-columns:1fr}.visual-card{min-height:300px}
 .subhero{padding:48px 20px}.subhero h1{font-size:39px}.location{display:block}.location .btn{margin-top:18px}.cta-band{display:block}.cta-band .btn{margin-top:18px}
 .mobile-menu-overlay{display:block;position:fixed;inset:0;background:rgba(2,13,29,.48);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:98}.mobile-menu-overlay.open{opacity:1;pointer-events:auto}
 .mobile-menu{display:block;position:fixed;top:0;right:0;bottom:0;width:min(84vw,360px);background:#061a35;color:#fff;transform:translateX(100%);transition:transform .24s ease;z-index:99;box-shadow:-20px 0 50px rgba(0,0,0,.25);padding:22px}.mobile-menu.open{transform:translateX(0)}
 .mobile-menu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.14)}.mobile-menu-brand strong,.mobile-menu-brand span{display:block}.mobile-menu-brand strong{font-size:15px;letter-spacing:1.4px}.mobile-menu-brand span{color:#43b7ef;font-size:11px;letter-spacing:2.5px;margin-top:4px;font-weight:800}.mobile-menu-close{border:0;background:transparent;color:#fff;font-size:34px;line-height:1;cursor:pointer;padding:0}.mobile-menu-links{display:flex;flex-direction:column;padding-top:12px}.mobile-menu-links a{padding:16px 2px;border-bottom:1px solid rgba(255,255,255,.11);font-size:16px;font-weight:700}body.menu-open{overflow:hidden}
}

/* v8 migrated news imagery */
.news-card{overflow:hidden;padding:0}
.news-image{width:100%;height:190px;object-fit:cover;display:block;background:#eaf0f5}
.news-card-body{padding:20px}
.news-card-body .card-line{height:3px;width:45px;background:var(--red);margin-top:18px}
@media(max-width:800px){
  .news-image{height:210px}
}

/* v9 collapsible news and competition cards */
.collapsible-card{overflow:hidden}
.collapsible-card>summary{list-style:none;cursor:pointer}
.collapsible-card>summary::-webkit-details-marker{display:none}
.collapsible-summary{position:relative}
.expand-label{
  margin-top:14px;
  font-size:10px;
  font-weight:900;
  color:var(--blue);
  display:flex;
  align-items:center;
  gap:6px;
}
.expand-label:after{content:"+";font-size:16px;line-height:1}
.collapsible-card[open] .expand-label:after{content:"–"}
.collapsible-card[open] .expand-label{color:var(--red)}
.collapsible-content{
  border-top:1px solid var(--line);
  padding:16px 20px 20px;
  background:#fff;
}
.collapsible-content p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
  font-size:13px;
}
.result-card.collapsible-card{padding:0;border-left:4px solid var(--red)}
.result-card.collapsible-card .collapsible-summary{padding:18px}
.news-card.collapsible-card{padding:0}

/* v10 section-level expansion */
.news-card.collapsible-card,
.result-card.collapsible-card{padding:initial}
.collapsible-card>summary,
.expand-label,
.collapsible-content{all:unset}

.section-more{
  grid-column:1/-1;
  margin-top:8px;
}
.section-more>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  padding:13px 18px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--blue);
  font-size:12px;
  font-weight:900;
}
.section-more>summary::-webkit-details-marker{display:none}
.section-more>summary:after{content:"+";font-size:18px;line-height:1}
.section-more[open]>summary:after{content:"–"}
.section-more[open]>summary{margin-bottom:14px;border-color:#b9d2e5;background:#f7fbfe}
.section-more-grid{
  display:grid;
  gap:14px;
}
.results-more-grid,
.news-more-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:800px){
  .news-more-grid{grid-template-columns:1fr}
}

/* v11 photo galleries / slideshows */
.photo-gallery{
  position:relative;
  background:#071a31;
  overflow:hidden;
}
.gallery-track{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-slide{
  flex:0 0 100%;
  margin:0;
  scroll-snap-align:start;
  height:230px;
  background:#071a31;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gallery-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:46px;
  border:0;
  border-radius:6px;
  background:rgba(6,26,53,.78);
  color:#fff;
  font-size:28px;
  z-index:4;
  cursor:pointer;
}
.gallery-prev{left:8px}
.gallery-next{right:8px}
.gallery-count{
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  background:rgba(6,26,53,.82);
  color:#fff;
  border-radius:20px;
  padding:5px 9px;
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
  z-index:4;
}
.news-card .photo-gallery{border-radius:9px 9px 0 0}
.result-card .photo-gallery{
  margin:16px -18px -18px;
  border-radius:0 0 9px 9px;
}
@media(max-width:800px){
  .gallery-slide{height:240px}
  .gallery-arrow{width:32px;height:42px}
}

/* v12 grouped competition events */


.event-result-head h3{margin:8px 0}

/* v20 launch-prep features */
.footer-social{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.footer-social a{font-size:11px;color:#79c9ef;font-weight:800}
.footer-legal{margin-top:12px;font-size:11px;color:#9eb1c5}
.footer-legal a{color:#9eb1c5}
.card-link{display:inline-block;margin-top:12px;font-size:11px;font-weight:900;color:var(--blue)}
.detail-page{max-width:900px}
.detail-summary{font-size:18px;font-weight:700;color:var(--ink);margin:24px 0}
.detail-copy{font-size:15px;color:var(--muted)}
.detail-gallery{position:relative;background:#071a31;border-radius:10px;overflow:hidden;margin-bottom:24px}
.detail-gallery .gallery-slide{height:min(65vw,520px)}
.detail-awards{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.contact-form{display:grid;gap:12px}
.contact-form label{display:block;font-size:11px;font-weight:800;color:var(--muted)}
.contact-form input,.contact-form textarea{width:100%;margin-top:6px;border:1px solid #cbd8e4;border-radius:6px;padding:11px;background:#fff;color:var(--ink);font:inherit}
.contact-form textarea{resize:vertical}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{min-height:18px;font-size:12px;font-weight:800;color:var(--blue)}
.form-privacy{font-size:10px!important;color:var(--muted)!important}
.form-privacy a{color:var(--blue);font-weight:800}
.policy-page{max-width:900px}
.policy-block{padding:20px 0;border-bottom:1px solid var(--line)}
.policy-block h2{font-size:22px}
.policy-block p{color:var(--muted)}
.message-new{border-left:4px solid var(--red)!important}


/* HOSTINGER DESKTOP ENHANCEMENTS — mobile rules above remain unchanged */
/* =========================================
   DESKTOP REDESIGN — mobile V27 unchanged
   Applies only at 1024px and above.
   ========================================= */
@media (min-width:1024px){

  body{
    background:#f7f9fc;
  }

  .announcement{
    font-size:12px;
    letter-spacing:.15px;
    padding:10px 24px;
  }

  .site-header{
    height:82px;
    padding:0 max(5vw,60px);
    background:rgba(6,26,53,.98);
    backdrop-filter:blur(8px);
  }

  .brand{
    font-size:18px;
    line-height:1;
    min-width:260px;
  }

  .brand span{
    font-size:11px;
    margin-top:5px;
    letter-spacing:2.8px;
  }

  .desktop-nav{
    display:flex;
    margin-left:auto;
    align-items:center;
    gap:26px;
    font-size:12px;
    font-weight:800;
  }

  .desktop-nav a{
    position:relative;
    padding:30px 0 28px;
    color:#dbe7f0;
  }

  .desktop-nav a:after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:21px;
    height:2px;
    background:#49baf0;
    transition:right .18s ease;
  }

  .desktop-nav a:hover{
    color:#fff;
  }

  .desktop-nav a:hover:after{
    right:0;
  }

  .hamb,.drawer,.overlay{
    display:none!important;
  }

  /* Hero becomes a true desktop split layout */
  .hero{
    position:relative;
    min-height:650px;
    max-width:none;
    padding:115px max(7vw,80px) 105px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow:hidden;
    background:
      radial-gradient(circle at 78% 28%,rgba(73,186,240,.18),transparent 26%),
      linear-gradient(120deg,#061a35 0%,#0a3159 56%,#0d4e82 100%);
  }

  .hero:before{
    content:"";
    position:absolute;
    right:7%;
    top:50%;
    width:410px;
    height:255px;
    transform:translateY(-40%) rotate(-7deg);
    border-radius:16px;
    background:
      linear-gradient(to bottom,transparent 49%,rgba(255,255,255,.65) 49%,rgba(255,255,255,.65) 51%,transparent 51%),
      linear-gradient(135deg,#12649e,#08284b);
    box-shadow:0 35px 80px rgba(0,0,0,.28);
    border:1px solid rgba(255,255,255,.13);
  }

  .hero:after{
    content:"";
    position:absolute;
    right:18%;
    top:26%;
    width:115px;
    height:115px;
    border-radius:55% 45% 52% 48%;
    background:#f51d3b;
    box-shadow:
      78px 145px 0 -44px #fff,
      -36px 198px 0 -8px rgba(255,255,255,.08);
    transform:rotate(-24deg);
  }

  .hero > *{
    position:relative;
    z-index:2;
    max-width:700px;
  }

  .hero .eye{
    font-size:11px;
    letter-spacing:3px;
  }

  .hero h1{
    font-size:82px;
    line-height:.88;
    letter-spacing:-4px;
    margin:14px 0 24px;
  }

  .hero > p:not(.eye){
    max-width:620px;
    font-size:18px;
    line-height:1.72;
  }

  .hero-actions{
    margin-top:30px;
  }

  .hero .btn{
    padding:15px 20px;
    font-size:12px;
  }

  /* General desktop content canvas */
  main > section:not(.hero):not(.venue):not(.overlay-page){
    max-width:1280px;
    margin:0 auto;
    padding:88px 40px;
  }

  main > section.alt{
    max-width:none!important;
    padding-left:max(calc((100vw - 1200px)/2),40px)!important;
    padding-right:max(calc((100vw - 1200px)/2),40px)!important;
  }

  h2{
    font-size:40px;
    line-height:1.08;
    letter-spacing:-1px;
    margin-bottom:20px;
  }

  .eye{
    font-size:10px;
    letter-spacing:2.6px;
  }

  /* About section becomes editorial / asymmetric */
  #club .two-col{
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
    gap:76px;
    align-items:center;
  }

  #club .two-col > div:first-child{
    max-width:700px;
  }

  #club .two-col > div:first-child > p.muted{
    font-size:16px;
    line-height:1.8;
  }

  #club .callout{
    margin-top:26px;
    padding:20px 24px;
  }

  .brand-card{
    min-height:405px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:
      radial-gradient(circle at 50% 15%,rgba(73,186,240,.16),transparent 35%),
      linear-gradient(145deg,#071a35,#0d4e82);
    box-shadow:0 24px 55px rgba(6,26,53,.16);
  }

  .brand-card .icon{
    font-size:90px;
  }

  /* Sessions: 2x2 compact desktop dashboard */
  #sessions .grid2{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    max-width:1020px;
  }

  .session-card{
    min-height:115px;
    padding:22px 24px;
    grid-template-columns:62px 1fr auto;
    box-shadow:0 8px 20px rgba(14,47,82,.045);
  }

  .session-card .day{
    font-size:15px;
  }

  .session-card h3{
    font-size:16px;
  }

  .session-card p{
    font-size:13px;
  }

  /* Membership: two strong hero cards, then compact pricing below */
  #membership .membership-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    max-width:900px;
  }

  .membership-card{
    min-height:205px;
    padding:30px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid #d8e4ed;
    box-shadow:0 12px 30px rgba(8,40,73,.055);
  }

  .membership-card h3{
    font-size:20px;
  }

  .membership-card strong{
    font-size:35px;
  }

  .membership-note{
    max-width:900px;
    padding:25px 28px;
  }

  .price-panel{
    max-width:900px;
  }

  #membership .offers{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:900px;
    gap:14px;
  }

  .offer-card{
    min-height:120px;
    padding:21px 22px;
  }

  .registration{
    max-width:900px;
  }

  /* Coaching gets a large editorial feature card */
  #coaching{
    padding-top:96px!important;
    padding-bottom:96px!important;
  }

  .coaching-box{
    position:relative;
    max-width:1050px;
    min-height:300px;
    padding:48px 52px;
    overflow:hidden;
    background:
      linear-gradient(90deg,#061a35 0%,#0a3158 62%,#0e4d7d 100%);
    box-shadow:0 24px 60px rgba(6,26,53,.16);
  }

  .coaching-box:after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    right:-70px;
    bottom:-110px;
    border:28px solid rgba(73,186,240,.14);
    border-radius:50%;
  }

  .coaching-box h2{
    color:#fff;
    font-size:42px;
  }

  .coaching-box p:not(.eye){
    max-width:720px;
    font-size:16px;
    line-height:1.75;
  }

  /* News is the biggest desktop rethink:
     first three cards are editorial, wide and image-led */
  #news{
    padding-top:95px!important;
  }

  #news > .grid3{
    grid-template-columns:repeat(12,1fr);
    gap:20px;
    align-items:start;
  }

  #news > .grid3 > .news-card:nth-of-type(1){
    grid-column:span 6;
  }

  #news > .grid3 > .news-card:nth-of-type(2),
  #news > .grid3 > .news-card:nth-of-type(3){
    grid-column:span 3;
  }

  .news-card{
    border:0;
    border-radius:14px;
    box-shadow:0 16px 38px rgba(6,26,53,.09);
    min-height:100%;
  }

  .news-card .gallery figure{
    height:245px;
  }

  #news > .grid3 > .news-card:nth-of-type(1) .gallery figure{
    height:355px;
  }

  .news-body{
    padding:22px;
  }

  .news-body h3{
    font-size:19px;
    line-height:1.25;
  }

  #news > .grid3 > .news-card:nth-of-type(1) .news-body h3{
    font-size:25px;
  }

  .news-body p{
    font-size:13px;
    line-height:1.65;
  }

  .more-section{
    grid-column:1/-1;
    margin-top:10px;
  }

  .more-section > summary{
    max-width:420px;
    margin:0 auto;
    padding:15px 20px;
    border-radius:30px;
  }

  .more-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    margin-top:28px;
  }

  .more-grid .news-card .gallery figure{
    height:235px;
  }

  /* FAQs: two-column desktop accordion */
  main > section:has(.faq-item){
    max-width:1200px;
  }

  main > section:has(.faq-item) > .faq-item{
    width:calc(50% - 8px);
    display:inline-block;
    vertical-align:top;
    margin:6px 4px;
  }

  .faq-item{
    padding:18px 20px;
  }

  /* Venue becomes a full-width desktop band */
  .venue{
    max-width:none!important;
    padding:70px max(7vw,80px)!important;
    display:grid;
    grid-template-columns:1fr auto;
    gap:60px;
    align-items:center;
    background:
      radial-gradient(circle at 85% 25%,rgba(73,186,240,.13),transparent 24%),
      #061a35;
  }

  .venue h2{
    font-size:38px;
  }

  /* Contact becomes balanced 2-col footer conversion area */
  #contact{
    max-width:1200px!important;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:start;
  }

  #contact > p,
  #contact > h2,
  #contact > .eye{
    grid-column:1;
  }

  footer{
    padding:46px max(7vw,80px);
  }

  .footer-nav{
    margin-top:18px;
  }

  /* Detail pages use a wider editorial canvas */
  .overlay-inner,
  .detail-page{
    max-width:1050px;
  }

  .detail-gallery .gallery-slide,
  .overlay-page .gallery figure{
    height:min(55vw,560px);
  }
}


/* =========================================
   Desktop centering refinement
   MOBILE V27 REMAINS UNCHANGED
   ========================================= */
@media (min-width:1024px){

  /* Pull the hero composition into a centred desktop canvas instead of
     pinning the copy and illustration close to the browser edges. */
  .hero{
    padding-left:max(calc((100vw - 1240px)/2),72px);
    padding-right:max(calc((100vw - 1240px)/2),72px);
  }

  .hero > *{
    max-width:610px;
  }

  .hero:before{
    right:max(calc((100vw - 1240px)/2),72px);
    width:390px;
  }

  .hero:after{
    right:max(calc((100vw - 930px)/2),185px);
  }

  /* Centre the venue content inside the same kind of desktop canvas.
     Explicit grid areas stop the four items spreading across the full width. */
  .venue{
    grid-template-columns:minmax(320px,.9fr) minmax(520px,1.35fr);
    grid-template-areas:
      "venue-eye venue-title"
      "venue-address venue-action";
    column-gap:74px;
    row-gap:26px;
    padding-left:max(calc((100vw - 1180px)/2),72px)!important;
    padding-right:max(calc((100vw - 1180px)/2),72px)!important;
  }

  .venue > .eye{
    grid-area:venue-eye;
    align-self:end;
    margin:0;
  }

  .venue > h2{
    grid-area:venue-title;
    align-self:end;
    margin:0;
    max-width:650px;
  }

  .venue > p:not(.eye){
    grid-area:venue-address;
    align-self:start;
    margin:0;
    max-width:420px;
  }

  .venue > .directions{
    grid-area:venue-action;
    align-self:start;
    width:100%;
    max-width:650px;
    margin:0;
    text-align:center;
  }
}


/* =========================================
   Desktop-only venue redesign
   Mobile remains unchanged
   ========================================= */
@media (min-width:1024px){

  .venue{
    position:relative;
    max-width:none!important;
    display:grid;
    grid-template-columns:300px minmax(580px, 720px);
    grid-template-areas:
      "venue-eye venue-title"
      "venue-address venue-action";
    justify-content:center;
    align-content:center;
    column-gap:96px;
    row-gap:28px;
    padding:86px 72px!important;
    overflow:hidden;
  }

  .venue::before{
    content:"";
    position:absolute;
    inset:26px max(calc((100vw - 1180px)/2),52px);
    border-radius:22px;
    background:
      radial-gradient(circle at 78% 50%, rgba(73,186,240,.10), transparent 24%),
      linear-gradient(135deg,#05172f 0%, #08284b 58%, #0b3f6a 100%);
    box-shadow:0 24px 60px rgba(4,18,35,.18);
    border:1px solid rgba(255,255,255,.06);
    z-index:0;
  }

  .venue > *{
    position:relative;
    z-index:1;
  }

  .venue > .eye{
    grid-area:venue-eye;
    align-self:end;
    margin:0;
    font-size:11px;
    letter-spacing:3px;
    opacity:.95;
  }

  .venue > h2{
    grid-area:venue-title;
    align-self:end;
    margin:0;
    max-width:720px;
    font-size:46px;
    line-height:1.08;
    letter-spacing:-1.25px;
  }

  .venue > p:not(.eye){
    grid-area:venue-address;
    align-self:start;
    margin:0;
    max-width:300px;
    font-size:17px;
    line-height:1.75;
    color:rgba(255,255,255,.86);
  }

  .venue > .directions{
    grid-area:venue-action;
    align-self:start;
    justify-self:start;
    width:auto;
    min-width:260px;
    max-width:none;
    margin:0;
    padding:15px 28px;
    text-align:center;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.24);
    background:rgba(255,255,255,.02);
    box-shadow:none;
  }

  .venue > .directions:hover{
    background:rgba(255,255,255,.06);
  }
}


/* V37 article experience */
.detail-page .photo-gallery,.detail-page .detail-gallery{background:#071a31}
.detail-page .gallery-slide{height:auto!important;min-height:0!important;background:#071a31}
.detail-page .gallery-slide img{
  width:100%;
  height:auto!important;
  max-height:82vh;
  object-fit:contain!important;
  object-position:center center;
  display:block;
  margin:auto;
}
.article-share-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
.share-button{border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:7px;padding:10px 14px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.preview-mode-banner{background:#fff3cd;color:#6a4f00;border-bottom:1px solid #ead27a;padding:10px 16px;text-align:center;font-size:12px;font-weight:800}
@media(max-width:700px){
  .article-share-row{flex-direction:column;align-items:stretch}
  .share-button{width:100%}
  .detail-page .gallery-slide img{max-height:72vh}
}




/* V45 CLEAN NEWS CARD STRUCTURE
   Media and text are separate grid rows, so images cannot overlap card text. */
#news .news-card,
.news-card{
  display:grid;
  grid-template-rows:auto 1fr;
  overflow:hidden;
  background:#fff;
}

#news .news-card-media,
.news-card-media{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#071a31;
  aspect-ratio:16 / 10;
}

#news .news-card-media img,
.news-card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

#news .news-body,
#news .news-card-body,
.news-card-body{
  position:relative;
  background:#fff;
  z-index:1;
}

@media(min-width:1024px){
  #news > .grid3 > .news-card:nth-of-type(1) .news-card-media{
    aspect-ratio:16 / 10;
  }
  #news > .grid3 > .news-card:nth-of-type(2) .news-card-media,
  #news > .grid3 > .news-card:nth-of-type(3) .news-card-media{
    aspect-ratio:4 / 3;
  }
  #news .more-grid .news-card-media,
  .news-more-grid .news-card-media{
    aspect-ratio:4 / 3;
  }
}

@media(max-width:800px){
  #news .news-card,
  .news-card{
    display:grid;
    grid-template-rows:auto auto;
  }
  #news .news-card-media,
  .news-card-media{
    aspect-ratio:16 / 10;
  }
}


/* V47 mobile navigation state hardening */
.mobile-menu:not(.open){pointer-events:none}
.mobile-menu.open{pointer-events:auto}
.mobile-menu-overlay:not(.open){pointer-events:none}
.mobile-menu-overlay.open{pointer-events:auto}


/* V48 — phone image containment fix
   Prevent intrinsic image dimensions from forcing galleries/cards wider or
   taller than the mobile viewport. */
@media(max-width:800px){

  /* News listing cards */
  .news-grid,
  .news-page-grid,
  #news .grid3,
  #news .more-grid,
  .news-more-grid{
    min-width:0 !important;
    width:100% !important;
  }

  .news-card{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .news-card-media{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    aspect-ratio:16 / 10 !important;
    overflow:hidden !important;
  }

  .news-card-media img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  /* Full article gallery/slideshow */
  .detail-page{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }

  .detail-page .photo-gallery,
  .detail-page .detail-gallery{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .detail-page .gallery-track{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
  }

  .detail-page .gallery-slide{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:#071a31 !important;
  }

  .detail-page .gallery-slide img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:72vh !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:auto !important;
    flex:none !important;
  }
}

/* V54 — restore approved pricing presentation */
.membership-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.membership-card{
  text-align:center;
  padding:23px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.membership-card small{
  color:var(--blue);
  font-size:9px;
  font-weight:900;
  letter-spacing:1.2px;
}
.membership-card h3{font-size:18px}
.membership-card strong{
  display:block;
  font-size:30px;
  color:var(--navy);
  margin:10px 0;
}
.membership-card p{color:var(--muted);font-size:13px}
.membership-note{
  background:var(--navy);
  color:#fff;
  border-radius:12px;
  padding:22px;
  margin-top:18px;
}
.membership-note p{color:#cbd8e3;margin:0}
.price-panel{
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  overflow:hidden;
  margin-top:20px;
}
.price-row{
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:17px;
  border-bottom:1px solid var(--line);
}
.price-row:last-child{border:0}
.price-row small{
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:5px;
  max-width:280px;
}
.price-row>strong{font-size:20px;color:var(--blue)}
.offers{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.offer-card{
  border:1px solid var(--line);
  border-left:4px solid var(--red);
  border-radius:10px;
  background:#fff;
  padding:17px;
}
.offer-card p{font-size:12px;color:var(--muted);margin-bottom:0}
.registration{
  border:2px solid var(--red);
  border-radius:10px;
  padding:20px;
  margin-top:20px;
  background:#fff;
}
.registration>p{font-size:12px;color:var(--muted)}
.reg-row{
  display:flex;
  justify-content:space-between;
  padding:13px 0;
  border-top:1px solid var(--line);
}
.reg-row strong{color:var(--blue);font-size:19px}

@media(max-width:800px){
  .membership-grid,
  .offers{grid-template-columns:1fr}
  .price-row{align-items:flex-start}
}

/* V57 — dedicated News mobile-only Back/image hardening. Desktop V49 unchanged. */
@media(max-width:650px){
  .news-page-grid .news-card,
  .news-more-grid .news-card{
    contain:layout paint;
  }
  .news-page-grid .news-card-media,
  .news-more-grid .news-card-media{
    width:100% !important;
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
    overflow:hidden !important;
  }
  .news-page-grid .news-card-media img,
  .news-more-grid .news-card-media img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    transform:none !important;
    -webkit-transform:none !important;
  }
  .news-page-grid .news-card-body,
  .news-more-grid .news-card-body{
    position:relative !important;
    z-index:2 !important;
    background:#fff !important;
  }
}
