



/* Scope every rule to the five heroes. No global resets, header or footer overrides. */
.zh-hero,.zh-hero *{box-sizing:border-box}
.zh-hero{--zh-blue:#0062ff;--zh-cyan:#4ccfff;--zh-navy:#031529;position:relative;isolation:isolate;display:grid;align-items:center;background:#020f20;color:#fff;font:400 16px/1.5 "Barlow",sans-serif;min-height:620px;min-height:clamp(620px,51vw,840px);overflow:hidden;overflow:clip;padding:clamp(40px,5vw,88px) clamp(24px,3.6vw,76px);width:100%;margin:0;text-align:left;color-scheme:dark}
.zh-art{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.zh-canvas{position:absolute;width:100%;height:100%;inset:0}
.zh-scene{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}
.zh-canvas picture{position:absolute;inset:0;display:block}
.zh-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,9,22,.42),transparent 65%);pointer-events:none}
.zh-content{position:relative;z-index:2;width:47%;max-width:770px}
.zh-hero .zh-eyebrow{font:600 var(--ds-eyebrow)/1.25 var(--ds-ui);letter-spacing:.14em;text-transform:uppercase;color:#198bff;margin:0 0 20px;}
.zh-hero h1{font:400 var(--ds-hero)/1.05 var(--ds-display);letter-spacing:0;text-transform:uppercase;margin:0 0 24px;color:#fff;text-wrap:balance;}
.zh-hero h1 span{color:#0875ff}
.zh-hero--players h1{width:128%;font-size:var(--ds-hero);text-wrap:initial;}
.zh-hero--ground-owners h1,.zh-hero--umpires h1{width:120%;font-style:normal;font-size:var(--ds-hero);}
.zh-hero .zh-copy{max-width:590px;margin:0 0 28px;font:400 var(--ds-lead)/1.5 var(--ds-body);color:#e1e8f3;text-wrap:pretty;}
.zh-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;margin:0 0 24px}
.zh-cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:15px 26px;border:1px solid #247aff;border-radius:7px;background:#005cff;color:#fff;font:700 clamp(15px,1.15vw,19px)/1.25 "Barlow",sans-serif;text-decoration:none;cursor:pointer;overflow:hidden;transition:transform .24s,box-shadow .24s,border-color .24s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;max-width:100%}
.zh-cta::before{content:"";position:absolute;inset:-40% -60%;z-index:-1;background:linear-gradient(110deg,transparent 40%,#83efff80 50%,transparent 60%);transform:translateX(-55%);transition:transform .65s}
.zh-cta--secondary{background:#021021c9;border-color:#3fafff}
.zh-cta:hover,.zh-cta:focus-visible{border-color:#6adfff;box-shadow:inset 0 1px 8px #84eaff66,0 0 20px #0062ff75;transform:translateY(-3px)}
.zh-cta:hover::before,.zh-cta:focus-visible::before{transform:translateX(55%)}
.zh-cta:active{transform:translateY(0) scale(.98)}
.zh-arrow{width:22px;height:22px;flex:none;transition:transform .24s}
.zh-cta:hover .zh-arrow{transform:translateX(4px)}
.zh-benefits{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:0;width:100%}
.zh-tile{position:relative;display:flex;align-items:center;gap:12px;min-width:0;min-height:104px;padding:16px 12px;border:1px solid #237adc;border-radius:10px;background:linear-gradient(135deg,#082546ef,#020d1ef5);box-shadow:inset 0 1px 0 #8bdcff30,0 10px 22px #0003;transition:transform .25s,box-shadow .25s,border-color .25s;transform-style:preserve-3d;-webkit-tap-highlight-color:transparent}
.zh-tile span{font-size:clamp(13px,1.03vw,17px);font-weight:600;line-height:1.35;min-width:0}
.zh-icon{width:clamp(34px,3.5vw,59px);height:clamp(34px,3.5vw,59px);flex:none;overflow:visible;filter:drop-shadow(0 3px 2px #0008);transition:transform .3s,filter .3s}
.zh-tile:hover,.zh-tile:focus-visible,.zh-tile[data-zh-touched]{transform:perspective(800px) translateY(-5px) rotateX(3deg);border-color:#70dfff;box-shadow:inset 0 0 16px #0062ff35,0 0 18px #0062ff70,0 12px 25px #0005;outline:none}
.zh-tile:hover .zh-icon,.zh-tile:focus-visible .zh-icon,.zh-tile[data-zh-touched] .zh-icon{transform:translateY(-3px) rotate(-3deg);filter:drop-shadow(0 0 6px #37b2ff80)}
.zh-tile:hover .zhi-bars,.zh-tile:focus-visible .zhi-bars{transform-origin:center bottom;animation:zh-bars .65s ease both}
.zh-tile:hover .zhi-live,.zh-tile:focus-visible .zhi-live,.zh-tile:hover .zhi-blocks{animation:zh-pulse .7s ease 2}
.zh-hero--clubs .zh-benefits{grid-template-columns:repeat(2,minmax(0,1fr));width:112%}
.zh-hero--tournaments .zh-content{width:38%}
.zh-hero--tournaments .zh-tile,.zh-hero--ground-owners .zh-tile{flex-direction:column;justify-content:center;text-align:center;gap:8px}
.zh-hero--umpires .zh-benefits{width:118%}
.zh-hero--umpires .zh-tile{min-height:112px}
.zh-tagline{margin:24px 0 0;font-size:12px;letter-spacing:.2em;color:#dce8fc}
.zh-outline{position:absolute;top:12%;left:45%;font:400 clamp(100px,17vw,280px)/1 "Anton";color:transparent;-webkit-text-stroke:1px #348aff85;opacity:.7;transform:rotate(-6deg);z-index:-1}
.zh-ball{position:absolute;object-fit:contain;pointer-events:none;filter:drop-shadow(4px 8px 15px #0007);max-width:none}
.zh-ball--shot{width:15%;height:auto;right:-1%;top:43%;animation:zh-shot 6s cubic-bezier(.2,.65,.2,1) infinite;transform-origin:center}
.zh-ball--rest{width:8%;height:auto;right:22%;bottom:10%}
.zh-record{position:absolute;right:2%;bottom:7%;width:24%;padding:20px;background:linear-gradient(145deg,#092a50,#031426);border:1px solid #45b6ff;border-radius:9px;transform:perspective(650px) rotateX(12deg) rotateY(-12deg);box-shadow:0 0 20px #0062ff30;font:400 15px "Barlow"}
.zh-record strong{display:block;text-align:center;letter-spacing:.16em;text-transform:uppercase;padding-bottom:14px;border-bottom:1px solid #93bdff55;font-weight:700}
.zh-record div{display:flex;justify-content:space-between;gap:10px;padding-top:14px}
.zh-record div span+span{border-left:1px solid #93bdff55;padding-left:10px}
.zh-schedule{position:absolute;bottom:10%;left:39%;width:22%;padding:18px;background:#031329f2;border:1px solid #2685ff;border-radius:7px;box-shadow:0 0 22px #0062ff55;transform:perspective(850px) rotateY(-16deg) rotateZ(-7deg);font:600 clamp(10px,1.05vw,18px)/1.4 "Barlow"}
.zh-schedule strong{display:block;text-transform:uppercase;font-size:1.2em;letter-spacing:.03em;margin:0 0 12px}
.zh-schedule>div{display:flex;justify-content:space-between;align-items:center;border:1px solid #6a96c455;border-radius:5px;padding:8px;margin-top:8px;gap:8px}
.zh-schedule b{font-size:.8em;background:#45efa9;color:#002a26;padding:4px 6px;border-radius:4px}
.zh-schedule .zh-scheduled{background:#6a829f;color:white}
.zh-cup-slot{position:absolute;left:50%;top:4%;width:29%;height:53%;display:grid;align-items:end;justify-items:center;filter:drop-shadow(0 0 16px #efb77855)}
.zh-cup-slot img{width:100%;height:100%;object-fit:contain;object-position:center bottom;animation:zh-cup-light 5s ease-in-out infinite}
.zh-podium-mark{position:absolute;left:56.5%;top:61%;width:16%;transform:perspective(800px) rotateX(8deg)}
.zh-podium-mark img{display:block;width:100%;height:auto}
.zh-light{position:absolute;inset:0;background:radial-gradient(ellipse at 78% 24%,#258fff17,transparent 36%);animation:zh-lights 6s ease-in-out infinite;pointer-events:none}
.zh-motion{position:absolute;right:16px;bottom:12px;z-index:3;border:1px solid #5183b388;border-radius:6px;padding:7px 10px;min-height:32px;background:#04162ee6;color:#c5d7ef;font:600 11px "Barlow";cursor:pointer}
.zh-motion[hidden]{display:none}
.zh-motion:focus-visible,.zh-cta:focus-visible{outline:2px solid #b9f3ff;outline-offset:4px}
.zh-hero[data-zh-paused] *,.zh-hero[data-zh-paused] *::before,.zh-hero[data-zh-offscreen] *,.zh-hero[data-zh-hidden] *{animation-play-state:paused!important}
.zh-hero[data-zh-paused] .zh-tile,.zh-hero[data-zh-paused] .zh-icon,.zh-hero[data-zh-paused] .zh-cta,.zh-hero[data-zh-paused] .zh-arrow{transition:none;transform:none}
@keyframes zh-shot{0%,68%,100%{transform:translate(0,0) scale(1) rotate(0)}76%{transform:translate(-17%,-9%) scale(.68) rotate(-14deg)}90%{transform:translate(4%,2%) scale(1.06) rotate(8deg)}}
@keyframes zh-lights{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes zh-cup-light{0%,100%{filter:brightness(1)}50%{filter:brightness(1.13)}}
@keyframes zh-bars{0%{transform:scaleY(.6)}100%{transform:scaleY(1)}}
@keyframes zh-pulse{50%{opacity:.4}}
/* Compact laptop layout: intrinsic height grows for copy instead of clipping. */
@media(min-width:901px) and (max-width:1199px){.zh-hero{padding:48px 28px;min-height:630px}.zh-content{width:51%}.zh-hero h1{font-size:var(--ds-hero);}.zh-hero--players h1{font-size:var(--ds-hero);}.zh-hero .zh-copy{font-size:var(--ds-lead);}.zh-tile{gap:7px;padding:12px 8px}.zh-icon{width:35px;height:35px}.zh-tile span{font-size:13px}.zh-cta{padding:13px 18px;font-size:15px;gap:10px}.zh-schedule{left:53%;width:26%;bottom:7%}.zh-hero--tournaments .zh-content{width:44%}.zh-hero--clubs .zh-benefits,.zh-hero--umpires .zh-benefits{width:100%}}
/* On tablets/phones the artwork gets its own box. Content never sits over a face. */
@media(max-width:900px){.zh-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0;background:#031326;overflow:hidden}.zh-art{position:relative;inset:auto;width:100%;height:clamp(250px,48vw,430px);flex:none;z-index:0;order:0}.zh-canvas{width:calc(100% + 25%);left:-25%;height:100%}.zh-scene{object-position:70% 35%}.zh-art::after{background:linear-gradient(0deg,#031326,transparent 26%)}.zh-content,.zh-hero--tournaments .zh-content{order:1;width:100%;max-width:none;padding:8px clamp(20px,5vw,40px) 50px}.zh-hero h1,.zh-hero--players h1,.zh-hero--ground-owners h1,.zh-hero--umpires h1{width:100%;font-size:var(--ds-hero);margin-bottom:16px;line-height:1.05;text-wrap:balance;}.zh-hero--players h1 br{display:none}.zh-hero h1 span{display:inline}.zh-hero .zh-eyebrow{font-size:var(--ds-eyebrow);letter-spacing:.14em;margin-bottom:12px;}.zh-hero .zh-copy{font-size:var(--ds-lead);line-height:1.5;max-width:660px;margin-bottom:20px;}.zh-actions{gap:10px;margin-bottom:18px}.zh-cta{min-height:48px;padding:12px 18px;font-size:15px;gap:12px}.zh-benefits,.zh-hero--clubs .zh-benefits,.zh-hero--umpires .zh-benefits{width:100%;gap:9px}.zh-tile,.zh-hero--umpires .zh-tile{min-height:104px;flex-direction:column;text-align:center;justify-content:center;padding:13px 9px;gap:8px}.zh-tile span{font-size:13px}.zh-icon{width:37px;height:37px}.zh-record{font-size:10px;padding:10px;width:31%;bottom:14%;right:2%}.zh-record strong{padding-bottom:6px}.zh-record div{padding-top:8px;gap:5px}.zh-record div span+span{padding-left:5px}.zh-schedule{left:53%;width:30%;padding:10px;bottom:12%;font-size:10px}.zh-schedule strong{margin-bottom:5px}.zh-schedule>div{padding:4px;margin-top:4px}.zh-outline{font-size:120px;left:42%;top:12%}.zh-ball--shot{width:19%;top:43%;right:1%}.zh-ball--rest{width:9%;right:24%;bottom:12%}.zh-tagline{margin-top:18px;font-size:10px}.zh-motion{font-size:10px;right:16px;bottom:10px}.zh-podium-mark{top:61%}.zh-hero--umpires .zh-canvas{width:135%;left:-35%}.zh-hero--umpires .zh-scene{object-position:70% 0%}.zh-hero--tournaments .zh-canvas{width:135%;left:-35%}}
@media(max-width:380px){.zh-hero h1,.zh-hero--players h1,.zh-hero--ground-owners h1,.zh-hero--umpires h1{font-size:var(--ds-hero);}.zh-actions{display:grid;grid-template-columns:1fr}.zh-tile{padding:11px 6px}.zh-tile span{font-size:12px}.zh-icon{width:32px;height:32px}.zh-record{font-size:8px}}
@media(prefers-reduced-motion:reduce){.zh-hero *,.zh-hero *::before,.zh-hero *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.zh-tile:hover,.zh-tile:focus-visible,.zh-tile[data-zh-touched],.zh-cta:hover,.zh-cta:active,.zh-cta:focus-visible,.zh-tile:hover .zh-icon,.zh-tile:focus-visible .zh-icon,.zh-cta:hover .zh-arrow{transform:none}.zh-motion{display:none}}
/* Final composition corrections from rendered desktop and mobile inspection. */
@media(min-width:901px){.zh-hero--ground-owners .zh-content{width:38%}.zh-hero--ground-owners .zh-schedule{left:46%;width:21%;bottom:9%}.zh-hero--tournaments .zh-copy{max-width:470px}.zh-hero--tournaments .zh-art::after{background:linear-gradient(90deg,#010e21b3,transparent 59%)}}
.zh-hero--umpires .zh-canvas{width:auto;height:100%;aspect-ratio:1660/948;left:auto;right:0}
.zh-hero--umpires .zh-scene{object-fit:contain;object-position:center}
.zh-outline{z-index:0}
.zh-hero--players .zh-canvas picture{z-index:1}.zh-hero--players .zh-ball,.zh-hero--players .zh-record{z-index:2}
.zh-tablet-ui{position:absolute;left:88%;top:74%;width:14%;height:14%;transform:rotate(-8deg);font:600 clamp(8px,.8vw,13px) "Barlow";display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;color:#c8e2ff}
.zh-tablet-ui span{display:grid;place-items:center;border-radius:3px;background:#073981}
.zh-tablet-ui span:nth-child(n/**/+4){background:#0062ff}
.zh-credential{position:absolute;top:87%;left:79%;width:10%;text-align:center;font:400 clamp(10px,1.3vw,22px) "Anton";transform:rotate(8deg)}
@media(max-width:900px){.zh-hero--players h1 span{display:block}.zh-hero--players .zh-ball--shot{width:16%;top:37%}.zh-hero--players .zh-record{width:29%;bottom:3%;padding:8px;font-size:9px}.zh-hero--ground-owners .zh-schedule{width:27%;left:40%;bottom:5%;padding:7px;font-size:8px}.zh-hero--ground-owners .zh-schedule>div{padding:3px;margin-top:3px}.zh-hero--umpires .zh-canvas{width:auto;left:auto;right:0}.zh-tablet-ui{font-size:6px;gap:2px;padding:2px}.zh-credential{font-size:9px}}
