/* Padel League UK: site styles. Mobile first. Tokens come from the brand kit. */
:root{
  --navy:#22465C;--night:#0F2230;--deep:#17313F;--footer:#10222D;
  --orange:#EBA653;--orange-deep:#D88838;--clay:#9A5A17;
  --cream:#F8F5EE;--paper:#FFFDF8;--sand:#E6DECB;--sand-bg:#EFE8D8;
  --slate:#4B6272;--mist:#C9D8E0;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --body:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Figtree',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --gut:clamp(20px,4vw,60px);
  --radius:24px;
  --line:rgba(248,245,238,.14);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--night);font:400 19px/1.55 var(--body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.015em;font-optical-sizing:auto}
:focus-visible{outline:3px solid currentColor;outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:12px 18px;border-radius:12px;background:var(--orange);color:var(--night);font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.wrap{width:min(1200px,calc(100% - 2*var(--gut)));margin-inline:auto}
.narrow{max-width:760px}
.sec{padding:clamp(56px,8vw,104px) 0;overflow-x:clip}
.sec-tint{background:var(--sand-bg)}
.sec-paper{background:var(--paper);border-top:1px solid var(--sand)}
.sec-navy{background:var(--navy);color:var(--cream)}
.sec-dark{background:var(--night);color:var(--cream)}
.sec-deep{background:var(--deep);color:var(--cream)}
.sec-orange{background:var(--orange);color:var(--night)}
.sec-dark .eyebrow,.sec-deep .eyebrow{color:var(--orange)}
.sec-orange .eyebrow{color:var(--night)}
.sec-dark .lead,.sec-deep .lead{color:var(--mist)}
.sec-orange .lead{color:var(--night)}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:14px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--clay)}
.sec-navy .eyebrow,.hero .eyebrow,.on-dark .eyebrow{color:var(--orange)}
.hero .eyebrow::before{content:"";width:28px;height:2px;background:var(--orange)}
.h1{font-weight:340;font-size:clamp(40px,7vw,80px);line-height:1;letter-spacing:-.03em}
.h2{font-weight:350;letter-spacing:-.025em;font-size:clamp(32px,4.4vw,52px);line-height:1.05}
.h2-sm{font-weight:380;letter-spacing:-.02em;font-size:clamp(28px,3.6vw,44px);line-height:1.08}
.h3{font-weight:500;font-size:clamp(22px,2.4vw,26px);line-height:1.15}
.lead{font-size:clamp(19px,2vw,22px);line-height:1.5;color:var(--slate)}
.sec-navy .lead,.hero .lead,.phero .lead{color:var(--mist)}
.accent{color:var(--clay);font-style:italic;font-weight:320}
.sec-navy .accent,.sec-dark .accent,.sec-deep .accent,.hero .accent,.phero .accent,.panels .accent,.closing .accent,.on-dark .accent{color:var(--orange)}
.sec-orange .accent{color:var(--night)}
.muted{color:var(--slate)}
.small{font-size:17px}
.tiny{font-size:15px;line-height:1.5}
.stack>*+*{margin-top:20px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 28px;border:2px solid transparent;border-radius:14px;font:700 17px/1 var(--sans);text-decoration:none;cursor:pointer;text-align:center;transition:transform .2s ease,background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}
.btn:hover{transform:translateY(-1px)}
.btn-pill{border-radius:999px}
.btn-orange{background:var(--orange);color:var(--night)}
.btn-navy{background:var(--navy);color:var(--cream)}
.btn-cream{background:var(--cream);color:var(--navy)}
.btn-ghost{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-ghost-light{border-color:var(--cream);color:var(--cream);background:transparent}
.btn-block{display:flex;width:100%}
.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
.link-u{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.2}
.badge-open{background:var(--orange);color:var(--night)}
.badge-open::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--night)}
.badge-wait{border:1.5px solid var(--navy);color:var(--navy)}
.badge-navy{background:var(--navy);color:var(--cream)}

/* Announcement bar */

/* Header: sticky, dark, logo in the middle on wide screens */
.site-header{position:sticky;top:0;z-index:60;transition:background .4s ease,box-shadow .4s ease;background:rgba(15,34,48,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--cream);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:96px;width:min(1360px,calc(100% - 2*var(--gut)))}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{display:block;width:128px;height:auto;transition:width .4s ease}
.nav{display:none;align-items:center;gap:24px;font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.nav a{position:relative;text-decoration:none;padding:8px 0;white-space:nowrap}
.nav a:not(.header-cta)::after{content:"";position:absolute;left:0;bottom:2px;height:2px;width:0;background:var(--orange);transition:width .3s ease}
.nav a:not(.header-cta):hover::after,.nav a[aria-current="page"]::after{width:100%}
.nav-r nav{display:flex;align-items:center;gap:24px}
.nav a.header-cta{min-height:46px;padding:0 22px;font-size:15px;letter-spacing:.06em;text-transform:uppercase;border-bottom:0}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1.5px solid rgba(248,245,238,.4);border-radius:14px;background:transparent;color:var(--cream);cursor:pointer}
.menu-btn svg{display:block}
.mobile-nav{display:none;background:var(--night);border-top:1px solid var(--line);padding:8px 0 20px}
.mobile-nav.open{display:block}
.site-header .mobile-nav .wrap{display:block;min-height:0;gap:0}
.mobile-nav a{display:block;padding:14px 0;font-size:18px;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(248,245,238,.12)}
.mobile-nav .btn{margin-top:16px;border-bottom:0}
/* Nine links need about 1400px beside the large centred logo; narrower screens use the menu button */
@media (min-width:1400px){
  .site-header{--nav-gap:22px}
  .site-header .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:28px;min-height:148px}
  /* Logo exactly in the middle; each side's links spread evenly to the edge, so the gap beside the logo is the same on both sides */
  /* Five links left of the logo, four right, all with the same gap, so the spacing looks even (it was stretched to the edges, which made one side loose and the other tight) */
  .nav{display:flex;gap:var(--nav-gap)}.nav-l{justify-self:stretch;justify-content:flex-end}.nav-r{justify-self:stretch;gap:var(--nav-gap)}
  .nav-r nav{flex:1;justify-content:flex-start;gap:var(--nav-gap)}
  .site-header .wrap{transition:min-height .4s ease}
  .brand img{width:176px}
  .site-header.scrolled .wrap{min-height:100px}
  .site-header.scrolled .brand img{width:128px}
  .menu-btn,.mobile-nav{display:none!important}
}
@media (min-width:1500px){.site-header{--nav-gap:24px}}
noscript .mobile-nav-fallback a{color:var(--cream)}

/* Hero: full width, centred. A photo goes in assets/photos/hero.jpg; without one the court drawing shows. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:var(--cream);text-align:center;display:flex;align-items:center;min-height:min(84vh,760px)}
.hero-bg{position:absolute;inset:0;z-index:-2;background-color:var(--night);background-image:linear-gradient(180deg,rgba(15,34,48,.5) 0%,rgba(15,34,48,.68) 60%,rgba(15,34,48,.95) 100%),var(--photo,none),radial-gradient(90% 80% at 50% 30%,#2E5F7B 0%,var(--navy) 45%,var(--night) 100%);background-size:cover;background-position:center}
.hero-art{position:absolute;z-index:-1;left:50%;top:62%;width:min(1100px,150%);opacity:.22;pointer-events:none;transform:translate(-50%,-52%) perspective(1400px) rotateX(52deg) rotateZ(-8deg)}
.hero-art svg{display:block;width:100%}
.hero-in{display:flex;flex-direction:column;align-items:center;gap:24px;padding:clamp(56px,9vw,104px) 0 clamp(72px,9vw,120px)}
.hero .eyebrow{justify-content:center;margin:0}
.hero .h1{font-size:clamp(46px,7.6vw,100px);line-height:.98;letter-spacing:-.035em;text-wrap:balance;max-width:16ch}
.hero .lead{max-width:600px;margin:0;color:var(--mist)}
.finder{display:flex;flex-direction:column;gap:12px;padding:10px;border-radius:24px;background:var(--cream);color:var(--night);box-shadow:0 18px 40px rgba(8,24,34,.45);width:min(640px,100%);text-align:left}
.finder .pick{display:flex;flex-direction:column;justify-content:center;padding:8px 14px}
.finder label{font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.finder select{border:0;background:transparent;padding:6px 0;min-height:36px;font:600 18px var(--sans);color:var(--night);width:100%}
.finder .btn{min-height:60px}
.hero-note{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;margin:0;font-size:16px;color:var(--mist)}
.hero-note a{font-weight:700;color:var(--orange);text-underline-offset:3px}
@media (min-width:700px){.finder{flex-direction:row;align-items:stretch}.finder .pick{flex:1}.finder .btn{flex-shrink:0}}
.meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;font-size:16px;color:var(--slate)}

/* Three panels straight under the hero */
.panels{position:relative;z-index:3;background:var(--deep);color:var(--cream);border-top:1px solid var(--line)}
.panels .wrap{display:grid;grid-template-columns:1fr;width:100%;max-width:none}
.pn{position:relative;display:flex;flex-direction:column;gap:14px;padding:36px var(--gut);border-bottom:1px solid var(--line)}
.pn-no{margin:0;font-size:14px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.pn-h{font-weight:380;font-size:clamp(30px,3.4vw,42px);line-height:1.05;letter-spacing:-.01em}
.pn p:not(.pn-no){margin:0;font-size:19px;line-height:1.5;color:var(--mist);max-width:38ch}
.pn-link{margin-top:auto;padding-top:6px;font-size:15px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);text-decoration:none}
.pn-link::after{content:"";position:absolute;inset:0}
.pn:hover .pn-link,.pn-link:focus-visible{text-decoration:underline;text-underline-offset:5px}
.pn:hover{background:rgba(248,245,238,.04)}
@media (min-width:1000px){
  .panels{background:var(--deep);border-top:1px solid var(--line)}
  .hero+.stats-band{margin-top:-104px;box-shadow:0 -24px 60px rgba(8,20,30,.35)}
  .panels .wrap{grid-template-columns:repeat(3,1fr)}
  .pn{padding:40px clamp(28px,3.4vw,52px) 44px;border-bottom:0;border-left:1px solid var(--line)}
  .pn:first-child{border-left:0}
  .hero{padding-bottom:104px}
}

/* Section heads */
.sec-head{display:flex;flex-direction:column;gap:20px;margin-bottom:clamp(32px,5vw,56px)}
.sec-head .row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}
@media (min-width:900px){.sec-head{flex-direction:row;align-items:flex-end;justify-content:space-between}}

/* Steps */
.steps{display:grid;gap:20px;grid-template-columns:1fr;padding:0;margin:0;list-style:none}
.step{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--sand)}
.step .top{display:flex;align-items:center;justify-content:space-between}
.step .ico{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--navy)}
.step .no{font:400 46px/1 var(--serif);color:var(--orange-deep)}
.step .h3{margin-top:6px}
.step p{margin:0;font-size:18px;line-height:1.5;color:var(--slate)}
@media (min-width:700px){.steps{grid-template-columns:1fr 1fr}}
@media (min-width:1040px){.steps{grid-template-columns:repeat(4,1fr);gap:24px}}

/* League cards */
.cards{display:grid;gap:24px;grid-template-columns:1fr}
@media (min-width:700px){.cards{grid-template-columns:1fr 1fr}}
@media (min-width:1040px){.cards{grid-template-columns:repeat(3,1fr);gap:32px}}
.lcard{display:flex;flex-direction:column;gap:16px;padding:28px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--sand)}
.lcard .top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.lcard .season{font-size:16px;font-weight:600;color:var(--slate)}
.lcard h3{font-weight:480;font-size:32px;line-height:1.1}
.lcard h3 a{text-decoration:none}
.lcard h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.lcard .info{font-size:18px;color:var(--slate);flex:1}
.lcard .btn{width:100%}
.cta-band{grid-column:1/-1;display:flex;flex-direction:column;gap:20px;padding:28px;border-radius:var(--radius);background:var(--navy);color:var(--cream)}
.cta-band p{margin:6px 0 0;color:var(--mist);font-size:18px}
@media (min-width:800px){.cta-band{flex-direction:row;align-items:center;justify-content:space-between;padding:28px 36px}}
.filters{display:flex;flex-wrap:wrap;gap:10px}
.chip{min-height:44px;padding:0 20px;border:2px solid var(--navy);border-radius:999px;background:transparent;color:var(--navy);font:700 16px var(--sans);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--navy);color:var(--cream)}
.search{min-height:52px;padding:0 18px;border:1.5px solid #C9BFA8;border-radius:14px;background:#fff;font:400 17px var(--sans);width:100%;max-width:360px}
.count{font-size:16px;color:var(--slate);margin:0 0 20px}
.empty{padding:32px;border-radius:var(--radius);background:var(--paper);border:1px dashed #C9BFA8;text-align:center}

/* Returning players band and coupon */
.early{position:relative;overflow:hidden}
.early .wrap{display:grid;gap:48px;align-items:center}
.coupon{position:relative;width:100%;max-width:480px;justify-self:center;padding:28px 24px;border-radius:28px;background:var(--cream);color:var(--night);transform:rotate(-2deg);box-shadow:0 28px 56px rgba(8,24,34,.4)}
.coupon::before,.coupon::after{content:"";position:absolute;top:50%;width:40px;height:40px;margin-top:-20px;border-radius:50%;background:var(--navy)}
.coupon::before{left:-20px}.coupon::after{right:-20px}
.coupon .in{display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 8px;border:2.5px dashed var(--orange-deep);border-radius:18px;text-align:center}
.coupon .big{font:400 clamp(64px,10vw,104px)/.95 var(--serif);letter-spacing:-.035em;color:var(--navy)}
.coupon .eyebrow{justify-content:center;margin:0}
@media (min-width:1040px){.early .wrap{grid-template-columns:1.1fr .9fr;gap:80px}}

/* Forms */
.form{display:flex;flex-direction:column;gap:18px;padding:clamp(24px,4vw,36px);border-radius:28px;background:var(--paper);border:1px solid var(--sand);box-shadow:0 20px 40px rgba(34,70,92,.08)}
.field{display:flex;flex-direction:column;gap:8px}
.field>label,.field>legend,.fieldset>legend{font-size:16px;font-weight:700}
.field .hint{font-size:14px;color:var(--slate);line-height:1.4}
.input,.select{width:100%;min-height:56px;padding:0 16px;border:1.5px solid #C9BFA8;border-radius:14px;background:#fff;font:400 17px var(--sans);color:var(--night)}
.input:focus,.select:focus{border-color:var(--navy);outline:3px solid rgba(34,70,92,.25);outline-offset:0}
.input[aria-invalid="true"],.select[aria-invalid="true"]{border-color:#B3261E}
.two{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:600px){.two{grid-template-columns:1fr 1fr}}
.fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.check{display:flex;align-items:flex-start;gap:12px;font-size:16px;color:var(--night);line-height:1.45;cursor:pointer}
.check input{flex-shrink:0;width:24px;height:24px;margin:0;accent-color:var(--navy)}
.err{display:none;margin:0;font-size:15px;font-weight:600;color:#B3261E}
.err.show{display:block}
.notice{padding:16px 18px;border-radius:14px;background:var(--sand-bg);font-size:16px;line-height:1.5}
.notice-ok{background:#E3EFE3}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.split{display:grid;gap:40px;align-items:start}
@media (min-width:1040px){.split{grid-template-columns:1fr 560px;gap:96px;align-items:center}}

/* Page hero (inner pages) */
.phero{background:var(--navy);color:var(--cream);padding:clamp(40px,6vw,72px) 0}
.phero .h1{font-size:clamp(36px,5.6vw,60px)}
.phero .lead{max-width:680px;margin-top:16px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none;font-size:16px;color:var(--mist)}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.6}
.crumbs a{text-underline-offset:3px}
.facts{display:grid;gap:16px;grid-template-columns:1fr;margin:0;padding:0;list-style:none}
@media (min-width:700px){.facts{grid-template-columns:1fr 1fr}}
.fact{display:flex;flex-direction:column;gap:4px;padding:20px 22px;border-radius:18px;background:var(--paper);border:1px solid var(--sand)}
.fact dt,.fact .k{font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--clay)}
.fact dd,.fact .v{margin:0;font-size:18px;font-weight:600}
.two-col{display:grid;gap:40px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1040px){.two-col{grid-template-columns:1.2fr .8fr;gap:64px}}
.panel{padding:28px;border-radius:var(--radius);background:var(--navy);color:var(--cream);display:flex;flex-direction:column;gap:16px}
.panel .eyebrow{color:var(--orange);margin:0}
.panel p{margin:0;color:var(--mist);font-size:18px}
.panel-light{background:var(--paper);color:var(--night);border:1px solid var(--sand)}
.panel-light p{color:var(--slate)}
.panel-light .eyebrow{color:var(--clay)}
details.faq{border-bottom:1px solid var(--sand);padding:0}
details.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;font:480 clamp(20px,2.2vw,24px)/1.25 var(--serif)}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";flex-shrink:0;font:400 28px/1 var(--sans);color:var(--clay)}
details.faq[open] summary::after{content:"\2212"}
details.faq .ans{padding:0 0 22px;color:var(--slate);font-size:19px;max-width:70ch}
.prose{max-width:70ch}
.prose h2{font-size:clamp(28px,3vw,34px);font-weight:400;margin:40px 0 12px}
.prose h3{font-size:24px;font-weight:480;margin:28px 0 8px}
.prose ul{padding-left:1.2em}
.prose li{margin:.3em 0}
.draft{padding:16px 18px;border-radius:14px;background:#FFF1D6;border:1px solid var(--orange);font-size:16px;margin-bottom:28px}
.list-check{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.list-check li{position:relative;padding-left:32px}
.list-check li::before{content:"";position:absolute;left:0;top:.35em;width:20px;height:20px;border-radius:50%;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F8F5EE' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/14px no-repeat}

/* Store buttons and app steps */
.stores{display:flex;flex-wrap:wrap;gap:14px}
.store{display:inline-flex;align-items:center;gap:12px;min-height:60px;padding:0 22px;border-radius:14px;background:var(--night);color:var(--cream);text-decoration:none;font-weight:700}
.store small{display:block;font-size:13px;font-weight:500;color:var(--mist);line-height:1.1}
.store span{display:block;font-size:19px;line-height:1.15}
.store[aria-disabled="true"]{opacity:.6;cursor:not-allowed}
.bignum{counter-reset:n;display:flex;flex-direction:column;gap:20px;padding:0;margin:0;list-style:none}
.bignum li{counter-increment:n;display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start}
.bignum li::before{content:counter(n);display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--cream);font:500 26px/1 var(--serif)}
.bignum h3{font-size:22px;margin:4px 0 4px}
.bignum p{margin:0;color:var(--slate);font-size:19px}

/* Sponsors and news */
.logos{display:grid;gap:16px;grid-template-columns:1fr 1fr}
@media (min-width:700px){.logos{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1040px){.logos{grid-template-columns:repeat(5,1fr);gap:20px}}
.logo-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:150px;padding:20px 16px 44px;border-radius:18px;border:1px solid var(--sand);background:#fff;text-align:center;font-size:16px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);text-decoration:none;isolation:isolate}
.logo-tile .lg{display:block;max-width:82%;max-height:70px;width:auto;height:auto;object-fit:contain;transition:transform .45s cubic-bezier(.25,.46,.45,.94),opacity .45s ease}
.logo-tile .lg-txt{transition:transform .45s ease,opacity .45s ease}
.logo-tile.tile-dark,.sp-logo.tile-dark{background:var(--night);border-color:var(--night)}
.logo-tile .gear{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12) translateY(12%);transition:opacity .5s ease,transform .7s cubic-bezier(.25,.46,.45,.94)}
.logo-tile .lt-more{position:absolute;left:0;right:0;bottom:12px;font-size:13px;letter-spacing:.12em;color:var(--clay)}
.logo-tile:hover,.logo-tile:focus-visible{border-color:var(--orange);transform:translateY(-4px);box-shadow:0 18px 36px rgba(8,20,30,.16)}
.logo-tile.has-gear:hover .gear,.logo-tile.has-gear:focus-visible .gear{opacity:1;transform:none}
.logo-tile.has-gear::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,34,48,0) 30%,rgba(15,34,48,.85) 100%);opacity:0;transition:opacity .5s ease}
.logo-tile.has-gear:hover::after,.logo-tile.has-gear:focus-visible::after{opacity:1}
.logo-tile.has-gear:hover .lg,.logo-tile.has-gear:focus-visible .lg,.logo-tile.has-gear:hover .lg-txt,.logo-tile.has-gear:focus-visible .lg-txt{transform:translateY(-140%) scale(.8);opacity:0}
.logo-tile.has-gear:hover .lt-more,.logo-tile.has-gear:focus-visible .lt-more{color:var(--cream)}
.tile-dark .lt-more{color:var(--orange)}
.sp-logo{display:flex;align-items:center;justify-content:center;min-height:200px;padding:32px;border-radius:var(--radius);border:1px solid var(--sand);background:#fff;font:800 22px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.sp-logo img{max-width:min(360px,90%);max-height:140px;width:auto;height:auto}
.sp-gear{margin:0;border-radius:var(--radius);overflow:hidden}
.sp-gear img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}
.coupon .code{font:800 clamp(28px,4vw,40px)/1 var(--sans);letter-spacing:.12em;color:var(--night);padding:10px 18px;border-radius:12px;background:var(--sand-bg)}
.perk{display:flex;flex-direction:column;gap:14px;padding:24px 28px;border-radius:20px;background:var(--sand-bg);margin-top:32px}
.perk .txt{font-size:18px;font-weight:600}
@media (min-width:800px){.perk{flex-direction:row;align-items:center;justify-content:space-between}}
.news{display:grid;gap:32px;grid-template-columns:1fr}
@media (min-width:800px){.news{grid-template-columns:repeat(3,1fr)}}
.post{display:flex;flex-direction:column;gap:16px}
.post .ph{position:relative;display:flex;align-items:flex-end;height:220px;padding:16px;border-radius:20px;background:var(--navy);color:var(--mist);font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;overflow:hidden}
.post .ph svg{position:absolute;inset:0;width:100%;height:100%}
.post .ph span{position:relative}
.post .tag{font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--clay)}

/* Carousel */
.carousel{position:relative}
.car-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:28px}
.car-controls{display:flex;align-items:center;gap:10px}
.car-controls .link-u{margin-right:14px}
.car-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:2px solid var(--navy);border-radius:50%;background:transparent;color:var(--navy);cursor:pointer}
.car-btn:hover:not(:disabled){background:var(--navy);color:var(--cream)}
.car-btn:disabled{opacity:.35;cursor:default}
.car-track{display:flex;gap:24px;margin:0;padding:4px 2px 18px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--sand) transparent}
.car-track>li{flex:0 0 84%;min-width:0;scroll-snap-align:start}
@media (min-width:700px){.car-track>li{flex-basis:calc((100% - 24px)/2)}}
@media (min-width:1040px){.car-track{gap:32px}.car-track>li{flex-basis:calc((100% - 64px)/3)}}
.post .excerpt{margin:0;font-size:18px;color:var(--slate)}
.post .h3 a{text-decoration:none}
.post .h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.post .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post .ph{text-decoration:none}
.news .post{min-width:0}

/* Closing CTA and footer */
.closing .wrap{display:grid;gap:40px;align-items:center}
.closing .h1{font-size:clamp(44px,7vw,68px)}
.closing .card-dark{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:24px;background:var(--deep)}
.closing .card-dark .mail{font:500 clamp(22px,2.6vw,26px)/1.2 var(--serif);word-break:break-word}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
@media (min-width:1040px){.closing .wrap{grid-template-columns:1fr 380px;gap:64px}}
.site-footer{background:var(--footer);color:var(--mist);padding:clamp(48px,6vw,80px) 0 32px}
.site-footer .top{display:grid;gap:40px}
.site-footer .brandcol{display:flex;flex-direction:column;gap:20px;max-width:320px;font-size:16px}
.site-footer .brandcol img{width:96px;height:96px}
.site-footer .cols{display:grid;gap:32px;grid-template-columns:1fr 1fr;font-size:16px}
.site-footer .col{display:flex;flex-direction:column;gap:12px}
.site-footer .col .fh{margin:0;font:800 14px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.social{display:flex;gap:14px}
.social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--slate)}
.site-footer .base{display:flex;flex-direction:column;gap:8px;margin-top:40px;padding-top:24px;border-top:1px solid #2A4657;font-size:16px}
.site-footer .company{margin:14px 0 0;font-size:16px;line-height:1.5}
@media (min-width:700px){.site-footer .cols{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1040px){.site-footer .top{grid-template-columns:1fr auto;gap:64px}.site-footer .cols{grid-template-columns:repeat(3,200px);gap:48px}.site-footer .base{flex-direction:row;justify-content:space-between}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.btn:hover{transform:none}}

/* ---- Dark layer: cards, carousel, mosaic, tiles, floating button ---- */
.sec-dark .btn-ghost,.sec-deep .btn-ghost{border-color:var(--cream);color:var(--cream)}
.sec-dark .lcard,.sec-deep .lcard{background:rgba(248,245,238,.05);border-color:var(--line);color:var(--cream)}
.sec-dark .lcard .season,.sec-dark .lcard .info,.sec-dark .lcard .meta-row,.sec-deep .lcard .info{color:var(--mist)}
.sec-dark .badge-wait{border-color:var(--mist);color:var(--mist)}
.sec-dark .lcard h3{font-weight:440}
.sec-dark .cta-band{background:var(--orange);color:var(--night)}
.sec-dark .cta-band p{color:var(--night)}
.sec-dark .car-btn{border-color:var(--cream);color:var(--cream)}
.sec-dark .car-btn:hover:not(:disabled){background:var(--cream);color:var(--night)}
.sec-dark .car-track{scrollbar-color:#2C5A75 transparent}
.sec-dark .post .h3 a{color:var(--cream)}
.sec-dark .post .excerpt{color:var(--mist)}
.sec-dark .post .tag{color:var(--orange)}
.sec-dark .post .ph{border:1px solid var(--line)}
.sec-dark .link-u{color:var(--cream)}
.sec-dark .split .form{box-shadow:0 20px 50px rgba(0,0,0,.35)}

/* Community tiles: everything readable without hovering */
.tiles{display:grid;gap:16px;grid-template-columns:1fr}
.tile{display:flex;flex-direction:column;gap:12px;padding:30px 28px;border:1px solid var(--line);background:rgba(15,34,48,.55);border-radius:var(--radius)}
.tile .ti{color:var(--orange);display:flex}
.tile h3{font-weight:440;font-size:clamp(24px,2.4vw,30px);line-height:1.1}
.tile p{margin:0;font-size:18px;color:var(--mist)}
.tile p strong{color:var(--cream);letter-spacing:.06em}
.tile .tl{margin-top:auto;padding-top:8px;font-size:15px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);text-decoration:none}
.tile .tl:hover{text-decoration:underline;text-underline-offset:5px}
.tile-lg{background:linear-gradient(160deg,#2C5A75 0%,var(--navy) 60%,var(--night) 130%);justify-content:flex-end;min-height:280px}
.tile-lg h3{font-size:clamp(30px,3.2vw,42px)}
@media (min-width:700px){.tiles{grid-template-columns:1fr 1fr}.tile-lg{grid-column:1/-1}}
@media (min-width:1040px){.tiles{grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:auto auto;gap:20px}.tile-lg{grid-column:1;grid-row:1/3;min-height:0}}

/* Returning players band */
.sec-orange .early-x{display:none}
.early{--notch:var(--orange)}
.coupon::before,.coupon::after{background:var(--notch,var(--navy))}
.sec-orange .btn-navy{background:var(--night);color:var(--cream)}
.sec-orange .h2{color:var(--night)}

/* Inner-page banner follows the dark look */
.phero{background:linear-gradient(180deg,var(--night) 0%,var(--deep) 100%);border-bottom:1px solid var(--line)}
.phero .h1{font-weight:340}

/* Floating "Find your league" button */
.app-pill{position:fixed;left:16px;bottom:16px;z-index:55;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 22px;border-radius:999px;background:var(--orange);color:var(--night);font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:opacity .2s ease,transform .2s ease}
.app-pill:hover{background:var(--orange-deep)}
.app-pill.off{opacity:0;pointer-events:none;transform:translateY(10px)}
@media (max-width:520px){.app-pill{left:12px;bottom:12px;min-height:48px;padding:0 18px}}

.sec-dark .form,.sec-deep .form{color:var(--night)}
.sec-dark .form .link-u,.sec-dark .form a{color:var(--navy)}
.tile-lg .ti{margin-bottom:auto}
.tile-lg{justify-content:flex-start}

/* Clear sans-serif for buttons, menus, labels and data; the serif is for reading */
.btn,.chip,.badge,.eyebrow,.nav,.mobile-nav,.app-pill,.skip,.pn-no,.pn-link,.tile .tl,.finder,.field,.input,.select,.search,.check,.err,.notice,.count,.crumbs,.site-footer,.store,.fact,.post .tag,.meta-row,.lcard .season,.hero-note,.perk .txt,.coupon,.logo-tile,.draft,.filters,.car-controls,.stat,.form .tiny,.fieldset,.post .ph{font-family:var(--sans)}
.fact dd{font-weight:600}
.hero .lead,.phero .lead{font-weight:400}

/* ---- Motion ---- */
@keyframes pageIn{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes heroPan{from{transform:scale(1.03) translate3d(0,0,0)}to{transform:scale(1.13) translate3d(-1.2%,-1%,0)}}
@keyframes courtDrift{from{transform:translate(-50%,-52%) perspective(1400px) rotateX(52deg) rotateZ(-8deg)}to{transform:translate(-50%,-49%) perspective(1400px) rotateX(52deg) rotateZ(-6deg)}}
@keyframes ringPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.75);opacity:0}}
@keyframes dialogFade{from{opacity:0}to{opacity:1}}
@keyframes dialogUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
body{animation:pageIn .5s ease-out backwards}
.hero-bg{animation:heroPan 12s ease-in-out infinite alternate;will-change:transform}
.hero-art{animation:courtDrift 14s ease-in-out infinite alternate}
.hero-in>*,.phero .wrap>*{animation:rise .9s cubic-bezier(.25,.46,.45,.94) backwards}
.hero-in>*:nth-child(1){animation-delay:.1s}.hero-in>*:nth-child(2){animation-delay:.22s}.hero-in>*:nth-child(3){animation-delay:.36s}.hero-in>*:nth-child(4){animation-delay:.5s}.hero-in>*:nth-child(5){animation-delay:.62s}
.phero .wrap>*:nth-child(1){animation-delay:.05s}.phero .wrap>*:nth-child(2){animation-delay:.15s}.phero .wrap>*:nth-child(3){animation-delay:.25s}.phero .wrap>*:nth-child(n+4){animation-delay:.35s}

/* Scroll reveal (classes are added by site.js only) */
.rv{opacity:0;transform:translateY(30px);transition:opacity .75s cubic-bezier(.25,.46,.45,.94) var(--d,0ms),transform .75s cubic-bezier(.25,.46,.45,.94) var(--d,0ms)}
.rv-r{transform:translateX(40px)}.rv-l{transform:translateX(-40px)}.rv-s{transform:scale(.94)}
.rv.in{opacity:1;transform:none}

/* Hover life */
.btn-orange:hover{background:var(--orange-deep)}
.btn-navy:hover{background:#2C5A75}
.btn-ghost:hover{background:var(--navy);color:var(--cream)}
.btn-ghost-light:hover,.sec-dark .btn-ghost:hover,.sec-deep .btn-ghost:hover{background:var(--cream);color:var(--night);border-color:var(--cream)}
.btn:hover{box-shadow:0 10px 24px rgba(8,20,30,.25)}
.lcard,.tile,.step,.logo-tile{transition:transform .3s ease,border-color .3s ease,background-color .3s ease,box-shadow .3s ease}
.lcard:hover,.tile:hover,.step:hover{transform:translateY(-4px)}
.sec-dark .lcard:hover,.tile:hover{border-color:rgba(235,166,83,.6)}
.lcard:hover,.step:hover{box-shadow:0 18px 36px rgba(8,20,30,.14)}
.pn-link span,.tile .tl span{display:inline-block;transition:transform .25s ease}
.pn:hover .pn-link span,.tile:hover .tl span{transform:translateX(6px)}
.pn{transition:background-color .3s ease}
.post .ph svg,.post .ph img,.mt img{transition:transform .7s cubic-bezier(.25,.46,.45,.94)}
.post:hover .ph svg,.post:hover .ph img,.mt:hover img{transform:scale(1.06)}
.car-btn{transition:background-color .25s ease,color .25s ease,border-color .25s ease,opacity .25s ease}

/* WhatsApp button and pop-up */
.wa-fab{position:fixed;right:16px;bottom:16px;z-index:55;display:none;align-items:center;justify-content:center;gap:10px;min-height:56px;min-width:56px;padding:0 20px 0 16px;border:0;border-radius:999px;background:#25D366;color:#0B2417;font:800 15px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:background-color .25s ease,transform .3s ease,opacity .2s ease}
.js .wa-fab{display:inline-flex}
.wa-fab::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #25D366;animation:ringPulse 2.4s ease-out infinite;pointer-events:none}
.wa-fab:hover{background:#39E07B;transform:translateY(-2px)}
.wa-fab.off{opacity:0;pointer-events:none;transform:translateY(10px)}
@media (max-width:520px){.wa-fab{right:12px;bottom:12px;padding:0;width:56px}.wa-fab span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.modal-open{overflow:hidden}
.wa-dialog{width:min(600px,calc(100% - 24px));max-height:min(88vh,760px);margin:auto;padding:0;border:1px solid var(--line);border-radius:26px;background:var(--night);color:var(--cream);box-shadow:0 40px 90px rgba(0,0,0,.55);overflow:hidden}
.wa-dialog[open]{animation:dialogUp .35s cubic-bezier(.25,.46,.45,.94)}
.wa-dialog::backdrop{background:rgba(6,16,24,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.wa-dialog[open]::backdrop{animation:dialogFade .3s ease}
.wa-in{position:relative;display:flex;flex-direction:column;gap:14px;max-height:min(88vh,760px);padding:30px clamp(20px,4vw,34px) 24px;overflow:auto}
.wa-in .eyebrow{margin:0;color:var(--orange)}
.wa-h{font-weight:350;font-size:clamp(30px,5vw,40px);line-height:1.05;letter-spacing:-.025em;padding-right:44px}
.wa-h:focus{outline:none}
.wa-lead{margin:0;font-size:19px;color:var(--mist)}
.wa-x{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1.5px solid rgba(248,245,238,.35);border-radius:50%;background:transparent;color:var(--cream);cursor:pointer;transition:background-color .25s ease,color .25s ease}
.wa-x:hover{background:var(--cream);color:var(--night)}
.wa-search{display:flex;flex-direction:column;gap:6px;font-family:var(--sans)}
.wa-search label{font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.wa-search .input{background:rgba(248,245,238,.08);border-color:rgba(248,245,238,.25);color:var(--cream)}
.wa-search .input::placeholder{color:#9DB2BF}
.wa-search .input:focus{border-color:var(--orange);outline-color:rgba(235,166,83,.35)}
.wa-list{display:flex;flex-direction:column;gap:18px}
.wa-group h3{margin:0 0 6px;font:800 14px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
.wa-group ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.wa-item{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:64px;padding:8px 6px;border-bottom:1px solid var(--line);transition:background-color .25s ease}
.wa-item.is-pick{background:rgba(235,166,83,.14)}
.wa-name{display:flex;flex-direction:column;font:500 22px/1.15 var(--serif);letter-spacing:-.01em}
.wa-name small{font:400 16px var(--body);color:var(--mist);letter-spacing:0}
.wa-join{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;background:#25D366;color:#0B2417;font:800 15px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;flex-shrink:0;transition:background-color .25s ease,transform .2s ease}
.wa-join:hover{background:#39E07B;transform:translateY(-1px)}
.wa-soon{font:600 15px var(--sans);color:#9DB2BF;text-align:right}
.wa-empty,.wa-foot{margin:0;font-size:17px;color:var(--mist)}
.wa-dialog a:not(.wa-join){color:var(--orange)}
.wa-item[hidden],.wa-group[hidden]{display:none}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.hero-bg{will-change:auto}.wa-fab::before{display:none}}
.wa-dialog .accent{color:var(--orange)}
.wa-in .eyebrow{padding-right:56px}
.panels,.closing,.early{overflow-x:clip}
body{overflow-x:clip}

/* Numbers band under the panels */
.stats-band{position:relative;z-index:3;background:var(--cream);border-bottom:1px solid var(--sand)}
.stats-band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;padding:clamp(32px,5vw,56px) 0}
.stats-band .wrap>div{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}
.stats-band .n{font:400 clamp(44px,5.6vw,68px)/1 var(--serif);color:var(--clay);letter-spacing:-.02em}
.stats-band .l{font:600 16px var(--sans);color:var(--slate);letter-spacing:.04em;text-transform:uppercase}
@media (min-width:800px){.stats-band .wrap{grid-template-columns:repeat(4,1fr)}}

/* League map */
.lmap{display:grid;gap:28px;align-items:start}
@media (min-width:900px){.lmap{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px}}
.lmap-fig{margin:0;position:relative}
.lmap-fig svg{display:block;width:100%;max-height:820px;margin-inline:auto}
.lmap .land{fill:#1F4257;stroke:rgba(201,216,224,.55);stroke-width:1.2;stroke-linejoin:round}
.pin{cursor:pointer;outline:none}
.pin .dot{fill:var(--cream);stroke:var(--night);stroke-width:3;transition:transform .25s ease,fill .25s ease}
.pin.hot .dot{fill:var(--orange)}
.pin .halo{fill:var(--orange);opacity:0;transition:opacity .25s ease}
.pin.hot .halo{opacity:.22}
.pin:hover .dot,.pin:focus-visible .dot,.pin.is-near .dot,.pin.is-on .dot{transform:scale(1.35)}
.pin:focus-visible .halo,.pin.is-on .halo{opacity:.55}
.pin.is-on .dot{fill:var(--orange)}
.pin-label rect{fill:var(--cream)}
.pin-label text{font:700 18px var(--sans);fill:var(--night)}
.lmap-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:14px 0 0;font:600 15px var(--sans);color:var(--mist)}
.lmap-legend>span{display:inline-flex;align-items:center;gap:8px}
.lmap .key{display:inline-block;flex-shrink:0;width:14px;height:14px;border-radius:50%;background:var(--cream);border:2px solid var(--night);box-shadow:0 0 0 1px rgba(201,216,224,.5)}
.lmap .key.hot{background:var(--orange)}
.lmap .key-v{border-radius:3px;transform:rotate(45deg) scale(.9)}
.lmap-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;border-radius:var(--radius);background:rgba(248,245,238,.06);border:1px solid var(--line);margin-bottom:24px;min-height:150px}
.lmap-card .eyebrow{margin:0;color:var(--orange)}
.lmap-card .h3{color:var(--cream)}
.lmap-tip{margin:0;font-size:18px;color:var(--mist)}
.lmap-h{margin:20px 0 8px;font:800 14px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
.lmap-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
@media (min-width:560px){.lmap-list{grid-template-columns:1fr 1fr;column-gap:20px}}
.lmap-list a{display:grid;grid-template-columns:14px 1fr;align-items:center;column-gap:12px;min-height:56px;padding:8px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--cream);transition:background-color .2s ease}
.lmap-list a .nm{font:500 19px/1.2 var(--serif)}
.lmap-list a small{grid-column:2;font:600 13px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--mist)}
.lmap-list a:hover,.lmap-list a:focus-visible,.lmap-list a.is-near,.lmap-list a.is-on{background:rgba(235,166,83,.14)}

/* Ambassador reward tiers */
.tiers{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:1fr 1fr}
@media (min-width:900px){.tiers{grid-template-columns:repeat(3,1fr);gap:20px}}
@media (min-width:1200px){.tiers{grid-template-columns:repeat(6,1fr)}}
.tier{display:flex;flex-direction:column;gap:4px;padding:24px 20px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--sand);font-family:var(--sans)}
.tier:last-child{background:var(--navy);border-color:var(--navy);color:var(--cream)}
.tier-no{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--clay)}
.tier:last-child .tier-no{color:var(--orange)}
.tier-n{font:400 clamp(48px,5vw,64px)/1 var(--serif);color:var(--navy);margin-top:6px}
.tier:last-child .tier-n{color:var(--orange)}
.tier-l{font-size:15px;color:var(--slate)}
.tier:last-child .tier-l{color:var(--mist)}
.tier-r{margin-top:12px;padding-top:12px;border-top:1px solid var(--sand);font-size:18px;font-weight:700;line-height:1.3}
.tier:last-child .tier-r{border-color:var(--line)}

/* Masters Series band, video and the support form */
.masters-band{margin-top:24px;background:var(--night);border:1px solid var(--line)}
.masters-band .h3{color:var(--cream)}
.sec-deep .masters-band .eyebrow{color:var(--orange)}
.video{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--deep);border:1px solid var(--line)}
.video iframe,.video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-soon{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--mist);font:600 19px var(--sans);text-align:center;padding:20px}
.video-soon span{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:var(--navy);color:var(--orange)}
.jotform{border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid var(--sand)}
.jotform iframe{display:block;width:100%;height:1100px;border:0}

/* Venue league pages: shown with the venue's logo and colours (data/venues.json) */
.venue-brand{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:24px;padding:16px 20px;border-radius:18px;background:rgba(248,245,238,.08);border:1px solid var(--line);font:600 17px var(--sans);color:var(--cream)}
.venue-brand img{display:block;height:64px;width:auto;max-width:220px;object-fit:contain}
.phero .draft{margin:20px 0 0;color:var(--night)}
@media (prefers-reduced-motion:reduce){.logo-tile .gear{transform:none}.logo-tile.has-gear:hover .lg,.logo-tile.has-gear:focus-visible .lg{transform:none}}
/* Labels and badges on the dark page banner need light colours to be readable */
.phero .eyebrow{color:var(--orange)}
.phero .badge-wait{border-color:var(--mist);color:var(--mist)}
.venue-brand img.to-white{filter:brightness(0) invert(1)}
.pin .halo,.pin .dot{pointer-events:none}
.pin .hit{fill:transparent}
/* Text on accent-coloured buttons and badges (a venue page can set --on-accent, e.g. white on red) */
.btn-orange{color:var(--on-accent,var(--night))}
.badge-open{color:var(--on-accent,var(--night))}
.badge-open::before{background:var(--on-accent,var(--night))}
/* WhatsApp pop-up: leagues without an invite link point to Register interest */
.wa-reg{display:inline-flex;align-items:center;justify-content:flex-end;min-height:44px;font:700 15px var(--sans);text-align:right;text-decoration:underline;text-underline-offset:3px;flex-shrink:0}

/* Register interest: steps 2 and 3 appear in place of the form once it is sent */
.notify-root{min-width:0}
.form.next{gap:20px}
.form.next:focus{outline:none}
.form.next .eyebrow{margin:0}
.form.next .wa-step{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:20px;border-top:1px solid var(--sand)}
.form.next .wa-step p{margin:0}
.form.next .prefs{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.form .hint{font-size:15px;line-height:1.45;color:var(--slate)}
.stack>.bignum,.stack>.list-check,.stack>.facts{margin-top:24px}

/* Homepage League Ambassadors band: reward ladder on the coupon */
.rewards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;width:100%;text-align:left;font-family:var(--sans)}
.rewards li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:18px;align-items:center;padding-bottom:14px;border-bottom:1px dashed var(--sand)}
.rewards li:last-child{border-bottom:0;padding-bottom:0}
.rewards .r-n{grid-row:1/3;min-width:2ch;font:400 clamp(44px,6vw,60px)/1 var(--serif);color:var(--navy);text-align:right}
.rewards .r-l{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clay)}
.rewards .r-v{font-size:19px;font-weight:700;line-height:1.25;color:var(--night)}
.coupon .link-u{color:var(--navy)}
/* Four equal tiles when the community grid has no large tile */
@media (min-width:700px){.tiles.tiles-4{grid-template-columns:1fr 1fr}}
@media (min-width:1040px){.tiles.tiles-4{grid-template-columns:repeat(4,1fr);grid-template-rows:auto}}
.early .btn{line-height:1.2;padding-top:12px;padding-bottom:12px}

/* ---- Tutorial animation: a phone whose screen changes step by step ---- */
@keyframes tapPulse{0%{transform:scale(.96);opacity:.9}100%{transform:scale(1.14);opacity:0}}
.tut{display:grid;gap:36px;align-items:center}
@media (min-width:900px){.tut{grid-template-columns:minmax(260px,300px) 1fr;gap:72px}}
.tut-stage{display:flex;flex-direction:column;align-items:center;gap:14px}
.tut-phone{position:relative;width:268px;height:540px;flex-shrink:0;border-radius:42px;background:#0B1822;border:2px solid #2C5A75;box-shadow:0 30px 60px rgba(8,24,34,.35);overflow:hidden}
.tut-notch{position:absolute;top:12px;left:50%;width:84px;height:20px;margin-left:-42px;border-radius:12px;background:#0B1822;z-index:3}
/* The phone copies the real app's own colours (navy gradient header, white cards, dark navy pills, burnt orange), whatever venue colours the page has */
.tut-phone{--a-navy:#22465C;--a-deep:#033059;--a-bg:#EEF3F7;--a-orange:#A96421;--a-ink:#0B2A4A;--a-mute:#6F8399;--a-line:#DCE5EE;--a-lime:#F0F9C9;--a-lime-b:#CBE24A}
.ts{position:absolute;inset:10px;border-radius:32px;background:var(--a-bg);overflow:hidden;display:flex;flex-direction:column;font-family:var(--sans);color:var(--a-ink);opacity:0;transform:translateY(14px) scale(.98);transition:opacity .45s ease,transform .45s ease;pointer-events:none}
.ts.on{opacity:1;transform:none}
.ts-top{flex:none;padding:46px 16px 22px;background:linear-gradient(160deg,#22465C 0%,#3C7090 100%);color:#fff;display:flex;flex-direction:column;gap:2px}
.ts-top b{font:700 19px/1.2 var(--sans)}
.ts-top small{font:500 13px var(--sans);opacity:.85}
.ts-top-s{padding-bottom:26px}
.ts-tabs{flex:none;display:grid;grid-template-columns:1fr 1fr;margin-top:-14px;padding-top:4px;border-radius:22px 22px 0 0;background:#fff;text-align:center;font:600 13px var(--sans);color:var(--a-mute)}
.ts-tabs span{padding:12px 0 9px;border-bottom:2px solid transparent}
.ts-tabs .on{color:var(--a-ink);border-bottom-color:var(--a-navy)}
.ts-body{flex:1;min-height:0;padding:12px 12px 10px;display:flex;flex-direction:column;gap:9px;overflow:hidden}
.ts-field{padding:12px 13px;border:1px solid var(--a-line);border-radius:12px;background:#fff;color:var(--a-mute);font-size:13px}
.ts-btn{position:relative;margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;background:var(--a-navy);color:#fff;font:600 15px var(--sans)}
.ts.on .tap::after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid var(--a-orange);animation:tapPulse 1.6s ease-out infinite}
.ts-card{position:relative;background:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 2px 8px rgba(34,70,92,.08)}
.ts-lg{display:grid;grid-template-columns:34px 1fr;gap:2px 10px;align-items:center}
.ts-lg b{font:700 11px/1.25 var(--sans);text-transform:uppercase;letter-spacing:.01em;color:var(--a-deep)}
.ts-sh{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--a-lime);border:1px solid #DDEB92;color:var(--a-deep)}
.ts-dt{grid-column:2;display:flex;align-items:center;gap:5px;font:500 10px var(--sans);color:var(--a-mute);text-transform:uppercase}
.ts-chips{display:flex;gap:7px;align-items:center}
.ts-fl{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--a-deep);color:#fff}
.ts-pad{padding:6px 14px;border-radius:999px;background:var(--a-orange);color:#fff;font:700 12px var(--sans)}
.ts-nav{flex:none;display:flex;justify-content:space-around;margin:0 8px 8px;padding:5px;border-radius:24px;background:#fff;box-shadow:0 4px 16px rgba(34,70,92,.14)}
.ts-nav span{display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 9px;border-radius:18px;color:#8EA2B5}
.ts-nav i{font:600 9px var(--sans);font-style:normal}
.ts-nav .on{background:var(--a-deep);color:#fff}
.ts-info{display:flex;flex-direction:column;gap:5px;padding:11px 12px;border-radius:14px;background:var(--a-deep);color:#fff;position:relative}
.ts-info small{display:flex;align-items:center;gap:5px;font:600 11px var(--sans);color:#fff}
.ts-info small svg{color:#E4A24A}
.ts-info b{font:700 12.500px/1.3 var(--sans)}
.ts-open{position:absolute;right:8px;top:-9px;padding:2px 9px;border-radius:999px;background:var(--a-lime);border:2px solid var(--a-lime-b);font:600 10.500px var(--sans);color:var(--a-ink)}
.ts-price{display:flex;align-items:center;gap:8px;font:600 11.500px var(--sans)}
.ts-price svg{color:#D4893A;flex:none}
.ts-price span{flex:1}
.ts-note{font:500 11px/1.4 var(--sans);color:var(--a-mute);padding:0 2px}
.ts-sheet{margin:auto -12px -10px;padding:12px 14px 14px;border-radius:20px 20px 0 0;background:#fff;display:flex;flex-direction:column;gap:3px;box-shadow:0 -4px 16px rgba(34,70,92,.1)}
.ts-sheet b{font:700 14px var(--sans)}
.ts-sheet small{font:500 11px var(--sans);color:var(--a-mute)}
.ts-sheet .ts-btn{margin-top:10px}
.ts-store{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;background:#fff;padding:20px}
.ts-store b{font:700 17px var(--sans)}
.ts-store small{color:var(--a-mute);font-size:13px}
.ts-ico{display:flex;width:84px;height:84px;align-items:center;justify-content:center;border-radius:20px;background:var(--a-navy);margin-bottom:6px;overflow:hidden;box-shadow:0 6px 16px rgba(15,34,48,.25)}
.ts-ico img{display:block;width:100%;height:100%}
.ts-get{position:relative;margin-top:16px;padding:7px 30px;border-radius:999px;background:#EEF1F5;color:#1B6FE0;font:800 14px var(--sans)}
.ts-next{display:grid;gap:2px}
.ts-next small{font:700 10px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--a-mute)}
.ts-next b{font:700 15px var(--sans)}
.ts-next span{font:500 12px var(--sans);color:var(--a-mute)}
.ts-play{position:absolute;right:10px;bottom:10px;padding:6px 12px;border-radius:999px;background:var(--a-orange);color:#fff;font:700 12px var(--sans);font-style:normal}
.ts-ex{font:700 14px var(--sans);margin-top:4px}
.tut-note{margin:0;font:400 14px var(--sans);color:var(--slate);text-align:center}
.tut-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tut-steps button{width:100%;display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;text-align:left;padding:14px 16px;border:1.5px solid transparent;border-radius:18px;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}
.tut-steps button:hover{background:rgba(255,253,248,.7)}
.tut-steps .tn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--cream);font:500 22px var(--serif);transition:background-color .3s ease,color .3s ease}
.tut-steps strong{display:block;font:700 19px/1.3 var(--sans)}
.tut-steps small{display:block;margin-top:4px;font:400 18px/1.45 var(--body);color:var(--slate)}
.tut-steps li.on button{background:var(--paper);border-color:var(--orange);box-shadow:0 12px 28px rgba(8,20,30,.1)}
.tut-steps li.on .tn{background:var(--orange);color:var(--night)}
.tut-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.tut-controls .btn{min-height:48px;padding:0 24px}
.open-list{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--sand);font-family:var(--sans)}
.open-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;padding:12px 4px;border-bottom:1px solid var(--sand)}
.open-list a{font-weight:800;font-size:18px}
.open-list span{color:var(--slate);font-size:16px}
.panel .store{border:1px solid var(--line)}
@media (prefers-reduced-motion:reduce){.ts{transition:none}}

/* ---- Places left, the Full badge and the season schedule ---- */
.badge-full{background:#B3261E;color:#fff}
.places{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;font-family:var(--sans);font-size:16px}
.places .bar{flex:1 1 100%;height:8px;margin-bottom:2px;border-radius:999px;background:var(--sand);overflow:hidden}
.places .bar span{display:block;height:100%;border-radius:999px;background:var(--navy)}
.places.low .bar span{background:var(--orange-deep)}
.places.full .bar span{background:#B3261E}
.places b{font-weight:800}
.places.low b{color:var(--clay)}
.places.full b{color:#B3261E}
.places small{color:var(--slate);font-size:15px}
.places .places-note{flex-basis:100%;font-size:14px}
.panel .places .bar,.sec-dark .places .bar{background:rgba(248,245,238,.2)}
.panel .places .bar span,.sec-dark .places .bar span{background:var(--orange)}
.panel .places b,.sec-dark .places b{color:var(--cream)}
.panel .places small,.sec-dark .places small{color:var(--mist)}
.sec-dark .places.full b,.panel .places.full b{color:#FF8A80}
.lcard .places{margin-top:-4px}
.sched-wrap{overflow-x:auto}
.sched{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--sans);font-size:17px;line-height:1.35}
.sched th{background:var(--night);color:var(--cream);text-align:left;padding:14px 12px;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.sched th:first-child{border-radius:14px 0 0 0}.sched th:last-child{border-radius:0 14px 0 0}
.sched td{padding:14px 12px;border-bottom:1px solid var(--sand);background:var(--paper);vertical-align:middle}
.sched tr.is-open td{background:#FFF6E6}
.sched tr.is-open td:first-child{box-shadow:inset 4px 0 0 var(--orange)}
.sched td small{display:block;margin-top:2px;color:var(--slate);font-size:14px}
.sched .sch-name{font-weight:800;font-size:18px;text-decoration:none}
.sched .sch-name:hover{text-decoration:underline;text-underline-offset:4px}
.sched .badge{white-space:nowrap}
.sched .btn{min-height:44px;padding:0 16px;font-size:15px;white-space:nowrap}
@media (max-width:1100px){
  .sched thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .sched,.sched tbody,.sched tr,.sched td{display:block;width:100%}
  .sched tr{margin:0 0 16px;padding:10px 18px 18px;border:1px solid var(--sand);border-radius:18px;background:var(--paper)}
  .sched tr.is-open{border-color:var(--orange);background:#FFF6E6}
  .sched td,.sched tr.is-open td{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;border:0;background:transparent;box-shadow:none}
  .sched td::before{content:attr(data-label);flex-shrink:0;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--clay)}
  .sched td:first-child{display:block;padding-top:6px}.sched td:first-child::before{display:none}
  .sched td[data-label=""]{display:block;padding-top:12px}.sched td[data-label=""]::before{display:none}
  .sched td[data-label=""] .btn{width:100%}
  .sched td>small{display:block;text-align:right}
}
.sched td{padding:12px 10px}.sched th{padding:14px 10px}.sched .btn{padding:0 14px}
.sched td[data-label="Season"],.sched td[data-label="Round 1 starts"],.sched td[data-label="Sign-up opens"],.sched td[data-label="Sign-up closes"]{white-space:nowrap}
@media (max-width:1100px){.sched tr.is-open td:first-child{box-shadow:none}.sched td[data-label]{white-space:normal}}

/* League info pack download (venue league pages) */
.pack{display:flex;align-items:center;gap:18px;margin-top:20px;padding:20px 22px;border-radius:18px;background:var(--paper);border:2px solid var(--orange);color:var(--night);text-decoration:none;font-family:var(--sans)}
.pack:hover,.pack:focus-visible{background:#fff;border-color:var(--orange-deep)}
.pack-ico{flex:none;display:grid;place-items:center;width:56px;height:68px;border-radius:10px;background:var(--night);color:#fff;font:800 15px var(--sans);letter-spacing:.06em}
.pack-txt strong{display:block;font:700 19px/1.3 var(--sans)}
.pack-txt small{display:block;margin-top:4px;font:500 16px/1.45 var(--sans);color:var(--slate)}
@media (max-width:480px){.pack{align-items:flex-start;padding:18px}}
.sched-season summary small{font:600 16px var(--sans);color:var(--slate);margin-left:10px}
details.faq.sched-season .ans{max-width:none;padding-bottom:28px}

/* League logos: shown in a light tile so any logo reads on dark or light backgrounds */
.lc-logo{display:flex;align-items:center;justify-content:center;align-self:flex-start;min-width:92px;height:92px;padding:10px 14px;border-radius:18px;background:#fff;border:1px solid var(--sand);text-decoration:none}
.lc-logo img{display:block;height:100%;width:auto;max-width:190px;object-fit:contain}
.league-logo{display:inline-flex;align-items:center;justify-content:center;margin-top:24px;padding:12px 18px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.league-logo img{display:block;height:120px;width:auto;max-width:min(100%,360px);object-fit:contain}
.lmap-card .lc-logo{min-width:84px;height:84px;margin-bottom:12px}
.phero .league-logo+.venue-brand{margin-top:16px}

/* Ambassador video (portrait) */
.reel-sec{align-items:center}
.reel{margin:0;justify-self:center;width:min(100%,380px)}
.reel video{display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:var(--radius);background:#000;border:1px solid var(--sand);box-shadow:0 18px 40px rgba(8,20,30,.18)}

/* Photo galleries and strips */
.gal{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(var(--cols,4),1fr)}
.gal li{margin:0;overflow:hidden;border-radius:16px;background:var(--deep);aspect-ratio:3/4}
.gal img{display:block;width:100%;height:100%;object-fit:cover}
.post-gal{margin:36px 0 8px}
.phero-photo{position:relative;isolation:isolate;overflow:hidden}
.phero-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.phero-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,16,24,.8) 0%,rgba(8,16,24,.92) 100%)}
@media (max-width:820px){.gal{grid-template-columns:repeat(2,1fr)}.gal-strip li:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:16/10}}
@media (min-width:821px){.gal-strip li{aspect-ratio:2/3}}

/* Join the WhatsApp community card (league pages) */
.wa-card{display:flex;align-items:center;gap:16px;margin-top:20px;padding:18px 22px;border-radius:18px;background:var(--paper);border:2px solid #25D366;color:var(--night);text-decoration:none;font-family:var(--sans)}
.wa-card:hover,.wa-card:focus-visible{background:#fff;border-color:#1DA851}
.wa-ico{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#25D366}
.wa-ico svg{width:28px;height:28px;stroke:#0F2230}
.wa-txt strong{display:block;font:700 19px/1.3 var(--sans)}
.wa-txt small{display:block;margin-top:4px;font:500 16px/1.45 var(--sans);color:var(--slate)}

/* Sponsors page: bigger tiles, three to a line on a wide screen, one per row on a phone */
.logos.logos-lg{grid-template-columns:1fr;gap:20px}
@media (min-width:700px){.logos.logos-lg{grid-template-columns:repeat(2,1fr);gap:24px}}
@media (min-width:1000px){.logos.logos-lg{grid-template-columns:repeat(3,1fr);gap:28px}}
.logos-lg .logo-tile{min-height:260px;padding:32px 24px 60px;border-radius:22px}
.logos-lg .logo-tile .lg{width:72%;height:110px;max-width:none;max-height:none;object-fit:contain}
.logos-lg .logo-tile .lg-txt{font-size:28px}
.logos-lg .logo-tile .lt-more{bottom:20px;font-size:15px}

/* Homepage hero: photos fade in turn behind a dark overlay */
.hero-slides{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--night)}
.hero-slides::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,34,48,.58) 0%,rgba(15,34,48,.74) 55%,rgba(15,34,48,.95) 100%)}
.hs{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);transition:opacity 1.6s ease,transform 9s ease-out}
.hs.on{opacity:1;transform:scale(1.07)}
.hero-pause{white-space:nowrap;position:absolute;right:max(16px,calc((100vw - 1200px)/2));top:20px;z-index:4;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(248,245,238,.5);background:rgba(15,34,48,.72);color:var(--cream);font:700 15px var(--sans);letter-spacing:.04em;cursor:pointer}
.hero-pause:hover,.hero-pause:focus-visible{background:rgba(15,34,48,.92);border-color:var(--orange)}
.hp-ico{display:inline-flex;gap:3px}.hp-ico i{display:block;width:4px;height:14px;background:currentColor;border-radius:1px}
.hero-pause[aria-pressed="true"] .hp-ico{gap:0}.hero-pause[aria-pressed="true"] .hp-ico i:first-child{width:0;height:0;background:none;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;border-radius:0}.hero-pause[aria-pressed="true"] .hp-ico i:last-child{display:none}
@media (max-width:700px){.hero-pause{left:50%;right:auto;transform:translateX(-50%);top:14px}}
@media (prefers-reduced-motion:reduce){.hs{transition:none;transform:none}.hs.on{transform:none}.hero-pause{display:none}}

/* Photos behind the three start-here panels, under a dark overlay so the text stays easy to read */
.pn-photo{isolation:isolate;overflow:hidden}
.pn-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.pn-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,34,48,.8) 0%,rgba(15,34,48,.88) 55%,rgba(15,34,48,.95) 100%)}
.pn-photo:hover .pn-img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.pn-photo:hover .pn-img{transform:none}}

.masters-logo{display:block;width:min(100%,420px);height:auto;margin-top:28px}

/* Sponsorship opportunities page */
.textarea{width:100%;min-height:140px;padding:14px 16px;border:1.5px solid #C9BFA8;border-radius:14px;background:#fff;font:400 17px/1.5 var(--sans);color:var(--night);resize:vertical}
.textarea:focus{border-color:var(--navy);outline:3px solid rgba(34,70,92,.25);outline-offset:0}
.benefits{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:700px){.benefits{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.benefits{grid-template-columns:repeat(3,1fr);gap:24px}}
.benefit{padding:28px 26px 30px;border-radius:18px;background:var(--paper);border:1px solid var(--sand)}
.benefit h3{font:480 clamp(22px,2.4vw,26px)/1.2 var(--serif);margin:0 0 10px;color:var(--night)}
.benefit p{margin:0;font-size:18px;line-height:1.55;color:var(--slate)}
.sec-dark .benefit{background:rgba(248,245,238,.05);border-color:var(--line)}
.sec-dark .benefit h3{color:var(--cream)}
.sec-dark .benefit p{color:var(--mist)}
.options{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:700px){.options{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.options{grid-template-columns:repeat(4,1fr)}}
.option{display:flex;flex-direction:column;gap:10px;padding:26px 24px;border-radius:18px;background:var(--paper);border:1px solid var(--sand)}
.option h3{font:480 24px/1.2 var(--serif);margin:0;color:var(--night)}
.option p{margin:0;font-size:18px;line-height:1.5;color:var(--slate);flex:1}
.option .opt-term{flex:none;font:800 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--clay)}
.option .link-u{font-weight:700;color:var(--navy)}
.season-steps{list-style:none;margin:8px 0 4px;padding:0;display:flex;flex-direction:column;gap:14px}
.season-steps li{display:flex;flex-direction:column;gap:2px;padding-left:18px;border-left:3px solid var(--orange)}
.season-steps strong{font:700 19px var(--sans);color:var(--night)}
.season-steps span{font-size:18px;color:var(--slate);line-height:1.5}
.sec-deep .pack{border-color:var(--orange)}
@media (min-width:1100px){.option .opt-term{min-height:2.6em}}

/* Venue leagues page (club owners) */
.split{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:28px}}
.split .panel{padding:32px}
.split .panel h3{margin:0}
.split .panel .big{font-size:21px;line-height:1.5;color:var(--cream)}
.split .panel.keep{background:var(--orange);color:var(--night)}
.split .panel.keep .eyebrow{color:var(--night)}
.split .panel.keep .big{color:var(--night)}
.split .panel-light .list-check{gap:14px;font-size:19px}
.split .panel-light .list-check li{color:var(--night)}
.benefits.two{grid-template-columns:1fr}
@media (min-width:800px){.benefits.two{grid-template-columns:repeat(2,1fr)}}
.options.three{grid-template-columns:1fr}
@media (min-width:900px){.options.three{grid-template-columns:repeat(3,1fr)}}
.options.three .option h3{font-size:26px}
.callout{margin-top:28px;padding:28px 30px;border-radius:18px;background:var(--orange);color:var(--night)}
.callout h3{font:480 clamp(24px,2.6vw,30px)/1.2 var(--serif);margin:0 0 8px}
.callout p{margin:0;font-size:19px;line-height:1.5;max-width:75ch}
.bk-cols{align-items:start}
.bk{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--sans);font-size:18px;line-height:1.3}
.bk th,.bk td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--sand);background:var(--paper)}
.bk thead th{background:var(--night);color:var(--cream);font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;vertical-align:bottom}
.bk thead th:first-child{border-radius:14px 0 0 0}.bk thead th:last-child{border-radius:0 14px 0 0}
.bk tbody th{font-weight:800;color:var(--night)}
.bk tbody td strong{font-size:22px;color:var(--clay)}
.bk tbody tr:last-child th:first-child{border-radius:0 0 0 14px}.bk tbody tr:last-child td:last-child{border-radius:0 0 14px 0}
.calc{padding:26px 24px;border-radius:18px;background:var(--sand-bg);border:1px solid var(--sand)}
.calc .h3{margin:0 0 16px}
.calc .two{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:560px){.calc .two{grid-template-columns:1fr 1fr}}
.money{position:relative}
.money span{position:absolute;left:14px;top:50%;transform:translateY(-50%);font:700 18px var(--sans);color:var(--slate)}
.money .input{padding-left:32px}
.calc-out{margin:18px 0 0;font:600 20px/1.45 var(--sans);color:var(--navy)}
.cases{display:grid;gap:24px;grid-template-columns:1fr}
@media (min-width:900px){.cases{grid-template-columns:1fr 1fr;gap:28px}}
.case{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--sand)}
.case-h{position:relative;padding:24px 28px 22px;background:var(--navy);color:var(--cream)}
.case-h.alt{background:var(--orange);color:var(--night)}
.case-h .eyebrow{margin:0 0 6px;color:var(--orange)}
.case-h.alt .eyebrow{color:var(--night)}
.case-h h3{font:440 clamp(30px,3.4vw,40px)/1.05 var(--serif);margin:0}
.case-tag{position:absolute;right:24px;top:24px;font:700 15px var(--sans);opacity:.85}
.case-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:22px 28px 0}
.case-stats div{display:flex;flex-direction:column;gap:2px;padding:14px 14px 12px;border-radius:14px;background:var(--cream)}
.case-stats b{font:400 clamp(34px,4vw,46px)/1 var(--serif);color:var(--navy)}
.case-stats span{font:700 13px/1.25 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.case>p{margin:18px 28px 0;font-size:19px;line-height:1.55;color:var(--slate)}
.case>.case-link{margin:14px 28px 26px}
.vlogos-wrap{margin-top:clamp(40px,6vw,64px)}
.vlogos{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){.vlogos{grid-template-columns:repeat(4,1fr)}}
.vlogo{display:flex;flex-direction:column;height:100%;border-radius:16px;overflow:hidden;border:1px solid var(--sand);background:#fff;text-decoration:none;color:var(--night);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.vlogo:hover,.vlogo:focus-visible{border-color:var(--orange);transform:translateY(-3px);box-shadow:0 14px 30px rgba(8,20,30,.14)}
.vlogo .vl-img{display:flex;align-items:center;justify-content:center;height:100px;padding:16px;background:#fff}
.vlogo img{max-width:82%;max-height:62px;width:auto;height:auto;object-fit:contain}
.vlogo .vl-name{display:flex;flex-direction:column;gap:2px;padding:12px 14px 14px;font:700 17px/1.25 var(--sans);border-top:1px solid var(--sand)}
.vlogo small{font:600 14px var(--sans);color:var(--slate)}
.phases{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:1fr;counter-reset:ph}
@media (min-width:700px){.phases{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.phases{grid-template-columns:repeat(5,1fr)}}
.phases li{counter-increment:ph;display:flex;flex-direction:column;gap:6px;padding:20px 20px 22px;border-radius:16px;background:#fff;border:1px solid var(--sand)}
.phases li::before{content:"Step " counter(ph);font:800 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--clay)}
.phases b{font:480 22px/1.2 var(--serif);color:var(--night)}
.phases span{font-size:17px;line-height:1.5;color:var(--slate)}
.sec-deep .bignum h3{color:var(--cream)}
.sec-deep .bignum p{color:var(--mist)}
.sec-deep .bignum li::before{background:var(--orange);color:var(--night)}
.sec-dark .benefit h3{color:var(--cream)}
.calc .two{grid-template-columns:1fr}
.stack>.season-steps{margin-top:20px}
.split{align-items:stretch}
.case-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:699px){
  .case-tag{position:static;display:block;margin-top:8px}
  .case-h{padding:20px 20px 18px}
  .case-stats{gap:8px;padding:18px 18px 0}
  .case-stats div{padding:12px 10px 10px}
  .case-stats span{font-size:12px;letter-spacing:.04em;overflow-wrap:anywhere}
  .case>p{margin:16px 20px 0}.case>.case-link{margin:12px 20px 22px}
}

/* Fraunces draws very fine hairlines at its largest optical size, which makes the thin bar of an "e" disappear on ordinary
   (not high-resolution) screens. The big headlines use a sturdier optical size so they stay readable. */
.h1,.h2{font-variation-settings:"opsz" 56}
.proof-photo{margin:0 0 28px;border-radius:20px;overflow:hidden;background:var(--night)}
.proof-photo img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover}
.proof-photo figcaption{padding:14px 20px;font:600 16px/1.4 var(--sans);color:var(--mist);background:var(--night)}
@media (max-width:699px){.proof-photo img{aspect-ratio:4/3}}

/* A league's own logo: large, on the right of the banner, straight onto the photo with no white box (its own transparent background) */
.phero-has-logo{position:relative}
.phero-logo{position:relative;z-index:2;width:min(78%,300px);margin:-6px var(--gut) 0;padding-bottom:32px;pointer-events:none}
.phero-logo img{display:block;width:100%;height:auto;opacity:.95;filter:drop-shadow(0 14px 32px rgba(0,0,0,.35))}
.phero-logo.tile{padding:18px;border-radius:22px;width:min(78%,300px);margin-bottom:32px}
@media (min-width:900px){
  .phero-has-logo .wrap>*:not(.crumbs){max-width:calc(100% - clamp(300px,34vw,470px))}
  .phero-has-logo .wrap>.crumbs{max-width:100%}
  .phero-logo{position:absolute;top:50%;right:max(var(--gut),calc((100% - 1200px) / 2));transform:translateY(-46%);width:clamp(280px,32vw,450px);margin:0;padding:0}
  .phero-logo.tile{padding:22px}
}

/* A quotation banner: one big sentence on dark blue, with its source underneath */
.quote-band{padding:clamp(48px,7vw,88px) 0;background:var(--navy);color:var(--cream)}
.quote-band figure{margin:0;position:relative;max-width:980px;padding-left:clamp(0px,5vw,72px)}
.quote-band figure::before{content:"\201C";position:absolute;left:0;top:-.18em;font:300 clamp(96px,14vw,180px)/1 var(--serif);color:var(--orange);opacity:.9}
.quote-band blockquote{margin:0}
.quote-band blockquote p{margin:0;font:300 clamp(28px,4vw,46px)/1.25 var(--serif);letter-spacing:-.01em;color:var(--cream)}
.quote-band figcaption{margin-top:22px;font:500 17px/1.55 var(--sans);color:var(--mist);max-width:70ch}
@media (max-width:699px){.quote-band figure{padding-left:0;padding-top:56px}.quote-band figure::before{top:-.1em}}
.sp-notice{margin-top:22px;max-width:62ch}
.quote-band.on-orange{background:var(--orange);color:var(--night)}
.quote-band.on-orange figure::before{color:var(--night);opacity:.25}
.quote-band.on-orange blockquote p{color:var(--night)}
.quote-band.on-orange figcaption{color:var(--night)}

/* Masters Series Finals: tickets */
.btn-xl{min-height:64px;padding:0 40px;font-size:20px;gap:14px}
.buy-tickets{box-shadow:0 12px 32px rgba(235,166,83,.4)}
.buy-tickets .bt-arrow{display:inline-block;transition:transform .2s ease}
.buy-tickets:hover .bt-arrow,.buy-tickets:focus-visible .bt-arrow{transform:translateX(5px)}
.buy-tickets.on-orange{background:var(--night);color:var(--cream);box-shadow:0 12px 32px rgba(15,34,48,.35)}
.hero-days{margin:16px 0 0;font:600 18px var(--sans);color:var(--mist)}
.hero-days b{color:var(--orange);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.masters-hype{position:relative;overflow:hidden;padding:clamp(56px,8vw,104px) 0;color:var(--cream);background:radial-gradient(900px 460px at 88% 18%,rgba(235,166,83,.3),transparent 62%),linear-gradient(135deg,#0F2230 0%,#17313F 55%,#22465C 100%)}
.mh-in{display:grid;gap:44px;align-items:center}
@media (min-width:960px){.mh-in{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:72px}}
.mh-logo{display:block;width:min(100%,340px);height:auto;margin:0 0 26px}
.mh-copy .eyebrow{color:var(--orange)}
.mh-copy .lead{color:var(--mist);max-width:56ch}
.mh-copy .accent{color:var(--orange)}
.mh-copy .btn-row{margin-top:30px;align-items:center}
.mh-fine{margin:18px 0 0;font:500 16px/1.5 var(--sans);color:var(--mist);max-width:56ch}
.mh-ticket{background:var(--cream);color:var(--night);border-radius:24px;padding:30px 28px 28px;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.45);border-top:8px solid var(--orange)}
.mh-date{display:flex;flex-direction:column;align-items:center;padding-bottom:18px;border-bottom:2px dashed #D4C7A8}
.mh-dow{font:800 15px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--clay)}
.mh-date b{font:300 clamp(92px,11vw,132px)/.95 var(--serif);color:var(--night);letter-spacing:-.03em}
.mh-mon{font:700 20px var(--sans);letter-spacing:.08em;text-transform:uppercase}
.mh-facts{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font:700 19px/1.35 var(--sans)}
.mh-days{display:inline-block;margin:20px 0 0;padding:9px 18px;border-radius:999px;background:var(--orange);color:var(--night);font:800 16px var(--sans);letter-spacing:.1em;text-transform:uppercase}
.mh-copy .h2{margin-bottom:16px}

/* Map: a search box beside the map; the map zooms in on the nearest leagues */
.lmap{grid-template-areas:"search" "fig" "card" "all"}
.lmap-search{grid-area:search;display:none;position:relative}
.js .lmap-search{display:block}
.lmap-fig{grid-area:fig}
.lmap-card{grid-area:card;margin-bottom:0}
.lmap-all{grid-area:all}
@media (min-width:900px){
  .lmap{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"fig search" "fig card" "fig all";align-content:start}
}
.lms-l{display:block;margin:0 0 10px;font:700 22px/1.2 var(--serif);color:var(--cream)}
.lms-row{display:flex;gap:10px}
.lms-q{flex:1;min-width:0;min-height:60px;padding:0 18px;font-size:19px}
.lms-row .btn{min-height:60px;padding:0 26px;font-size:18px}
.lms-hint{margin:10px 0 0;font:500 16px/1.5 var(--sans);color:var(--mist)}
.lms-hint.lms-bad{color:#FFC9A0}
.lms-sugg{position:absolute;left:0;right:0;top:calc(100% - 4px);z-index:20;list-style:none;margin:6px 0 0;padding:6px;border-radius:16px;background:var(--cream);color:var(--night);box-shadow:0 20px 50px rgba(0,0,0,.45)}
.lms-sugg[hidden]{display:none}
.lms-sugg li{padding:14px 14px;border-radius:12px;font:500 18px/1.3 var(--sans);cursor:pointer}
.lms-sugg li b{font-weight:800}
.lms-sugg li.on,.lms-sugg li:hover{background:#FFE8C6}
.lmap-card .lmr{position:relative;display:flex;flex-direction:column;gap:3px;width:100%;padding:16px 56px 16px 18px;border-radius:16px;background:rgba(248,245,238,.08);border:1px solid var(--line);color:var(--cream);text-decoration:none;transition:background-color .25s ease,border-color .25s ease}
.lmap-card .lmr:hover,.lmap-card .lmr:focus-visible{background:rgba(235,166,83,.16);border-color:var(--orange)}
.lmap-card .lmr-best{background:rgba(235,166,83,.14);border-color:var(--orange)}
.lmr-k{font:800 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.lmr b{font:480 22px/1.2 var(--serif)}
.lmr small{font:500 15px/1.4 var(--sans);color:var(--mist)}
.lmr-go{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--orange)}
.lmap-note{margin:0;font:500 15px/1.5 var(--sans);color:var(--mist)}
.lmap-all{margin-top:20px;border-top:1px solid var(--line)}
.lmap-all summary{cursor:pointer;list-style:none;padding:16px 4px;font:700 17px var(--sans);color:var(--cream);display:flex;justify-content:space-between;align-items:center}
.lmap-all summary::-webkit-details-marker{display:none}
.lmap-all summary::after{content:"+";font-size:26px;color:var(--orange)}
.lmap-all[open] summary::after{content:"\2212"}
.lmap-reset{position:absolute;left:12px;top:12px;min-height:44px;padding:0 18px;font-size:15px;background:rgba(15,34,48,.85)}
.lmap-credit{margin:8px 0 0;text-align:center;font:500 13px var(--sans);color:var(--mist);opacity:.8}
.lmap-credit a{text-decoration:underline;text-underline-offset:2px}
/* Drawn by the search */
.sl-route{stroke:rgba(201,216,224,.55);stroke-width:2;stroke-dasharray:6 7;vector-effect:non-scaling-stroke;fill:none}
.sl-route.best{stroke:var(--orange);stroke-width:3;stroke-dasharray:9 7}
.sl-area{fill:rgba(235,166,83,.16);stroke:var(--orange);stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:0;vector-effect:non-scaling-stroke}
.sl-you{fill:#fff;stroke:var(--night);stroke-width:3;vector-effect:non-scaling-stroke}
.sl-you-halo{fill:rgba(255,255,255,.28)}
.sl-you-g circle{transform:scale(var(--inv,1));transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){
  .sl-area{stroke-dashoffset:1;animation:slDraw 1.4s ease .9s forwards}
  .sl-you-halo{animation:slPulse 2s ease-out infinite}
}
@keyframes slDraw{to{stroke-dashoffset:0}}
@keyframes slPulse{0%{opacity:1;transform:scale(calc(var(--inv,1)*.7))}100%{opacity:0;transform:scale(calc(var(--inv,1)*2.2))}}
.lmap .pin.is-best .dot,.lmap .pin.is-alt .dot{stroke:var(--cream);stroke-width:3}
.lmap .pin.is-best .halo{opacity:.9}
/* Pins keep a sensible size while the map is zoomed in */
.lmap.is-zoomed .pin circle,.lmap.is-zoomed .pin .dot:not(rect){transform:scale(var(--inv,1));transform-box:fill-box;transform-origin:center}
.lmap.is-zoomed .pin rect.dot{transform:rotate(45deg) scale(var(--inv,1));transform-box:fill-box;transform-origin:center}
.lmap.is-zoomed .pin-label{display:none}
.lmap-fig svg{border-radius:22px;background:rgba(248,245,238,.035);overflow:hidden}

/* Masters Series branding is black and white: the home page section follows it */
.masters-hype{background:radial-gradient(900px 460px at 88% 18%,rgba(255,255,255,.1),transparent 62%),#000;color:#fff}
.masters-hype .eyebrow,.mh-copy .eyebrow{color:#fff}
.mh-copy .accent{color:#fff}
.mh-copy .lead{color:#d9d9d9}
.mh-fine{color:#bdbdbd}
.masters-hype .btn-ghost-light{border-color:#fff;color:#fff}
.masters-hype .buy-tickets{background:#fff;color:#000;box-shadow:0 12px 32px rgba(255,255,255,.2)}
.masters-hype .buy-tickets:hover{background:#e9e9e9}
.mh-ticket{background:#fff;color:#000;border-top:8px solid #fff;box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.25)}
.mh-date{border-bottom-color:#b5b5b5}
.mh-dow{color:#000}
.mh-date b{color:#000}
.mh-mon{color:#000}
.mh-days{background:#000;color:#fff}

/* Homepage hero as an animated graphic (heroGraphic in data/site.json): a padel court drawn in SVG, built by heroGraphic() in src/lib.mjs.
   The dark overlay keeps the headline and buttons easy to read; the Pause button stops the movement. */
.hero-graphic{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(90% 80% at 50% 30%,#2E5F7B 0%,var(--navy) 45%,var(--night) 100%)}
.hero-graphic svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-graphic::after{content:"";position:absolute;inset:0;background:radial-gradient(78% 72% at 50% 46%,rgba(15,34,48,.84) 0%,rgba(15,34,48,.64) 62%,rgba(15,34,48,.36) 100%),linear-gradient(180deg,rgba(15,34,48,0) 55%,rgba(15,34,48,.9) 100%)}
@keyframes hgDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes hgRing{0%{opacity:.75;transform:scale(.15)}14%{opacity:0;transform:scale(1.5)}100%{opacity:0;transform:scale(1.5)}}
@keyframes hgSheen{0%{transform:translateX(0) skewX(-18deg);opacity:0}8%{opacity:1}52%{opacity:1}60%{transform:translateX(720px) skewX(-18deg);opacity:0}100%{transform:translateX(720px) skewX(-18deg);opacity:0}}
@keyframes hgFade{from{opacity:0}to{opacity:1}}
.hg-lines path{stroke-dasharray:1;animation:hgDraw 1.7s cubic-bezier(.4,0,.2,1) backwards;animation-delay:calc(var(--i) * .22s)}
.hg-ring{opacity:0;transform-box:fill-box;transform-origin:center}
.hg-play{animation:hgFade 1.2s ease .5s backwards}
.hg-sheen{animation:hgSheen 9.2s ease-in-out infinite;transform-box:fill-box}
.hg-ghost{opacity:0}
.hero.is-paused .hero-graphic *,.hero.is-paused .hero-bg{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.hg-ghost,.hg-ring,.hg-sheen{display:none}}
.hero-graphic~.hero-in .eyebrow,.hero-graphic~.hero-in .h1,.hero-graphic~.hero-in .lead,.hero-graphic~.hero-in .hero-note{text-shadow:0 0 16px rgba(10,24,34,.75),0 1px 3px rgba(10,24,34,.5)}

/* Home page, Masters Series section: spectator challenges (black and white, like the rest of the section) */
.mh-challenges{margin:26px 0 0;padding:20px 22px;max-width:56ch;border:2px solid #fff;border-radius:16px;background:rgba(255,255,255,.06)}
.mh-ch-h{margin:0 0 12px;font:800 17px/1.35 var(--sans);letter-spacing:.02em;color:#fff}
.mh-challenges ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.mh-challenges li{padding:9px 16px;border-radius:999px;background:#fff;color:#000;font:700 16px/1.2 var(--sans)}

/* Schedule: one button per venue for a brand with several venues */
.sched .sch-venues{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sched .sch-v-l{flex:0 0 100%;font:800 13px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.sched .sch-venues .btn{min-height:40px;padding:0 14px;font-size:15px}
.sched td small a{font-weight:700}
/* Schedule cards (tablet and phone): the main button and "Find out more" side by side, like the league cards on Find a league */
.sched .sch-btns{display:flex;gap:10px}
.sched .sch-more{display:none}
@media (max-width:1100px){
  .sched .sch-more{display:inline-flex}
  .sched td[data-label=""] .sch-btns{flex:1 1 auto;width:100%}
  .sched td[data-label=""] .sch-btns .btn{width:auto;flex:1 1 0;min-width:0;padding:0 8px;justify-content:center;text-align:center}
}
@media (max-width:359px){.sched td[data-label=""] .sch-btns .btn{font-size:14px;padding:0 4px}}

/* A fact in a draft policy that the team still has to confirm */

/* League pages: "Sponsored by" under the title, and the Our sponsors section */
.phero-sponsor{display:inline-flex;align-items:center;gap:14px;margin:22px 0 0;padding:10px 20px 10px 14px;border-radius:999px;background:rgba(15,34,48,.55);border:1px solid rgba(248,245,238,.35);color:var(--cream);text-decoration:none;font-family:var(--sans)}
.phero-sponsor:hover,.phero-sponsor:focus-visible{border-color:var(--orange)}
.phero-sponsor .ps-l{font:700 14px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
.phero-sponsor .ps-tile{display:flex;align-items:center;justify-content:center;min-width:92px;height:52px;padding:6px 14px;border-radius:12px;background:#fff}
.phero-sponsor .ps-tile.tile-dark{background:var(--night);border:1px solid rgba(248,245,238,.25)}
.phero-sponsor .ps-logo{display:block;max-height:38px;max-width:150px;width:auto;height:auto;object-fit:contain}
.phero-sponsor .ps-name{font:800 20px var(--sans);letter-spacing:.01em}
@media (max-width:560px){.phero-sponsor{flex-wrap:wrap;border-radius:22px;gap:8px 12px}.phero-sponsor .ps-name{font-size:18px}}
.phero .venue-brand{margin-top:22px}
.lsp-grid{display:grid;gap:24px}
@media (min-width:900px){.lsp-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}}
.lsp-main{display:grid;gap:22px;align-items:center;padding:28px;border-radius:22px;background:#fff;border:1px solid var(--sand)}
@media (min-width:620px){.lsp-main{grid-template-columns:200px 1fr}}
.lsp-logo{display:flex;align-items:center;justify-content:center;min-height:140px;padding:18px;border-radius:16px;border:1px solid var(--sand);background:#fff}
.lsp-logo.tile-dark,.lsp-tile.tile-dark{background:var(--night);border-color:var(--night)}
.lsp-logo .lg{display:block;max-width:100%;max-height:90px;width:auto;height:auto;object-fit:contain}
.lsp-main h3{margin:6px 0 8px;font:300 clamp(28px,3.4vw,38px)/1.1 var(--serif)}
.lsp-main p{margin:0 0 10px}
.lsp-badge{display:inline-block;font:800 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--clay)}
.lsp-offer{padding:10px 14px;border-radius:12px;background:#FFF6E6;border:1px solid #F0D9AE;font-size:17px}
.lsp-others{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.lsp-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:150px;padding:34px 14px 40px;border-radius:18px;border:1px solid var(--sand);background:#fff;text-decoration:none;color:var(--slate)}
.lsp-tile .lsp-badge{position:absolute;top:12px;left:0;right:0;text-align:center;font-size:12px}
.lsp-tile .lg{display:block;max-width:80%;max-height:56px;width:auto;height:auto;object-fit:contain}
.lsp-tile .lg-txt{font:800 18px var(--sans);letter-spacing:.06em;text-transform:uppercase}
.lsp-tile .lsp-more{position:absolute;bottom:10px;left:0;right:0;text-align:center;font:700 13px var(--sans);letter-spacing:.08em;color:var(--clay)}
.lsp-tile:hover,.lsp-tile:focus-visible{border-color:var(--orange);box-shadow:0 14px 28px rgba(8,20,30,.12)}
.lsp-cta{margin:26px 0 0;font:600 17px var(--sans);color:var(--slate)}

/* Find a league: app buttons in the banner, and two buttons on each league card */
.phero-app{margin-top:26px}
.phero-app .pa-l{margin:0 0 12px;font:700 17px/1.4 var(--sans);color:var(--cream)}
.lc-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.lc-btns .btn{flex:1 1 auto;min-width:0;justify-content:center;text-align:center}
.lcard .lc-btns .btn{width:auto}
.lcard .lc-btns .btn{padding:0 12px;font-size:16px;white-space:nowrap}
.lcard .lc-btns .btn{flex:1 1 0;padding:0 8px;font-size:15px}

/* How it works: the stages of a season, each with the app on screen */
.stages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(48px,7vw,92px)}
.stage{display:grid;gap:28px;align-items:center}
@media (min-width:900px){.stage{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:72px}.stage.flip .stage-fig{order:-1}}
.stage-no{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:var(--orange);color:var(--night);font:500 28px var(--serif);margin-bottom:14px}
.stage h3{margin:0 0 14px;font:300 clamp(30px,3.6vw,44px)/1.1 var(--serif)}
.stage-txt p{margin:0 0 12px;font-size:20px;line-height:1.55;max-width:54ch}
.stage-txt .stores{margin-top:18px}
.stage-fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px}
.stage-fig figcaption{font:400 14px var(--sans);color:var(--slate)}
.stage-photo{display:block;width:min(100%,290px);height:auto;border-radius:30px;box-shadow:0 26px 54px rgba(8,24,34,.3)}
.stage-shot{display:block;width:min(100%,290px);height:auto;border-radius:30px;box-shadow:0 26px 54px rgba(8,24,34,.3)}
.app-static .ts{opacity:1;transform:none}
.ts-fx{display:grid;gap:7px}.ts-fx small{font:700 10px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--a-mute)}
.ts-vs{display:flex;align-items:center;justify-content:space-between;gap:6px}.ts-vs b{font:700 14px var(--sans)}.ts-vs i{font:600 12px var(--sans);font-style:normal;color:var(--a-mute)}
.ts-cap{align-self:flex-start;padding:3px 10px;border-radius:999px;background:var(--a-lime);border:1.5px solid var(--a-lime-b);font:600 11px var(--sans)}
.ts-sets{display:grid;gap:8px}.ts-set{display:grid;grid-template-columns:1fr 54px 54px;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#fff}
.ts-set i{font:600 12px var(--sans);font-style:normal;color:var(--a-mute)}.ts-set b{display:flex;align-items:center;justify-content:center;height:34px;border-radius:9px;background:var(--a-bg);font:700 18px var(--sans)}
.ts-th,.ts-tr{display:grid;grid-template-columns:22px 1fr 26px 34px;align-items:center;gap:6px;padding:7px 10px;border-radius:10px;font:600 12px var(--sans)}
.ts-th{color:var(--a-mute);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.ts-tr{background:#fff}.ts-tr i{font-style:normal;color:var(--a-mute)}
.ts-tr.up{box-shadow:inset 3px 0 0 #4DAA57}.ts-tr.down{box-shadow:inset 3px 0 0 #D8574A}.ts-tr span:last-child{font-weight:800}

/* Masters Series page: what it is, and spectator challenges (black and white) */
.ms-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ms-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 12px;border-radius:18px;background:#fff;color:#000;text-align:center}
.ms-stat b{font:300 clamp(48px,6vw,72px)/1 var(--serif)}.ms-stat span{font:800 14px var(--sans);letter-spacing:.14em;text-transform:uppercase}
.ms-wide{grid-column:1/-1}.ms-wide b{font-size:clamp(44px,5vw,60px)}
.ms-regions{grid-column:1/-1;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ms-regions li{padding:8px 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.7);font:700 16px var(--sans);color:#fff}
.ms-note{grid-column:1/-1;margin:0;font:500 16px var(--sans);color:var(--mist)}
.ch-photo{margin:0}.ch-photo img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 24px 54px rgba(8,24,34,.25)}
.ch-photo figcaption{margin-top:10px;font:400 15px var(--sans);color:var(--slate)}
.challenges{list-style:none;margin:20px 0 26px;padding:0;display:grid;gap:12px}
.challenges li{display:grid;gap:2px;padding:16px 20px;border-radius:16px;background:var(--paper);border:1.5px solid var(--sand);border-left:6px solid var(--night)}
.challenges b{font:800 20px var(--sans)}.challenges span{font:400 18px var(--body);color:var(--slate)}

/* Photo grids: a wide photo takes two columns (the row height comes from its portrait neighbours) */
.gal li.wide{grid-column:span 2;aspect-ratio:auto}
@media (max-width:820px){.gal li.wide{grid-column:1/-1;aspect-ratio:3/2}}

/* Sponsor pages: website and social buttons */
.sp-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}
.btn.btn-sm-pill{min-height:44px;padding:0 18px;border-radius:999px;font-size:16px}

/* Venue partners page, and the tabs shared with the Sponsors page */
.subnav{background:var(--night);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:6px;padding-top:0;padding-bottom:0}
.subnav a{display:inline-flex;align-items:center;min-height:56px;padding:0 22px;font:800 15px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mist);text-decoration:none;border-bottom:3px solid transparent}
.subnav a:hover,.subnav a:focus-visible{color:#fff}
.subnav a[aria-current="page"]{color:#fff;border-bottom-color:var(--orange)}
.vmap{display:block}.vmap .lmap-fig{max-width:720px;margin:0 auto}
.vp-chips{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.vp-chips a{display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-radius:14px;background:rgba(248,245,238,.07);border:1px solid var(--line);color:var(--cream);text-decoration:none}
.vp-chips a:hover,.vp-chips a:focus-visible{border-color:var(--orange);background:rgba(235,166,83,.14)}
.vp-chips strong{font:700 18px var(--sans)}.vp-chips small{font:500 15px var(--sans);color:var(--mist)}
.vp-list{display:flex;flex-direction:column;gap:clamp(56px,7vw,96px)}
.vp{display:grid;gap:30px;align-items:start;scroll-margin-top:150px}
@media (min-width:960px){.vp{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}.vp.flip .vp-fig{order:2}}
.vp-fig{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.vp-fig img{display:block;width:100%;height:100%;object-fit:cover;border-radius:16px;background:var(--deep)}
.vp-big{grid-column:1/-1;aspect-ratio:16/10}.vp-small{aspect-ratio:4/3}
.vp-nophoto{display:flex;align-items:center;justify-content:center;min-height:240px;border-radius:22px;background:var(--deep)}
.vp-logo{display:flex;align-items:center;justify-content:center;min-width:180px;height:110px;padding:14px 24px;border-radius:16px;background:#fff}
.vp-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto}
.vp-h{margin:0 0 12px;font:300 clamp(32px,3.6vw,46px)/1.08 var(--serif)}
.vp-body p{font-size:19px;line-height:1.55;max-width:60ch}
.vp-sites{list-style:none;margin:20px 0 14px;padding:0;display:grid;gap:10px}
.vp-sites li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--sand)}
.vp-sites strong{display:block;font:800 17px var(--sans)}.vp-sites small{display:block;font:500 15px/1.4 var(--sans);color:var(--slate)}
.vp-s-btns{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.vp-leagues{font:500 17px/1.5 var(--sans);color:var(--slate)}

/* Leagues that enter with an online form (not on the app yet): how-to-enter steps, 12 Oct 2026 */
.fsteps{list-style:none;margin:0;padding:0;display:grid;gap:16px;max-width:820px}
.fsteps li{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--sand);border-radius:16px;padding:20px 22px}
.fsteps .fn{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--night);color:var(--cream);font:800 20px/1 var(--sans);display:flex;align-items:center;justify-content:center}
.fsteps h3{font:700 20px/1.25 var(--sans);margin:0 0 6px;color:var(--night)}
.fsteps p{margin:0;font-size:18px;line-height:1.55}
.fsteps-cta{margin:24px 0 0}
.phero-app .pa-form{margin:14px 0 0;font-weight:600;max-width:70ch}
.phero-app .pa-form a{color:var(--cream)}

/* Multi-venue league pages: Padel League UK x the venue brand */
.hub-lockup{gap:16px 28px}.hub-lockup img.pluk{height:76px;width:auto;max-width:none}
.hub-x{font:300 44px/1 var(--serif);color:var(--orange)}
.hub-venues .sec-head .lead{color:var(--mist)}
@media (max-width:640px){.hub-lockup img.pluk{height:64px}.hub-x{font-size:34px}}
