:root{--bg:#0b213d;--fg:#f5f7ee;--accent:#d4ee7b;--surface:#142e4c}
:root{--radius:2px}.brand{font-size:22px;letter-spacing:-1px}.tennis{isolation:isolate;min-height:740px;grid-template-columns:1.2fr 1fr}.tennis h1{font-size:clamp(65px,7vw,108px)}.tennis .stage{position:absolute;right:-5%;top:0;width:65%;height:100%;z-index:-1;opacity:.7}.tennis .stage-tag,.tennis .stage-corner{display:none}.tennis .hero-copy{padding:40px 0}.scoreboard{position:absolute;bottom:50px;right:0;background:#091a30ee;border:1px solid var(--line);padding:24px;width:240px}.scoreboard>span{display:flex;justify-content:space-between;font:12px monospace;padding:5px}.scoreboard .label{font-size:8px;color:var(--accent);margin-bottom:10px}.court-preview{height:380px;background:#2860a2;position:relative;border:18px solid #244626;padding:40px;overflow:hidden}.court-lines{width:100%;height:100%;border:2px solid #fff;position:relative}.court-lines:before{content:"";position:absolute;left:15%;right:15%;top:0;bottom:0;border-inline:2px solid #fff}.court-lines:after{content:"";position:absolute;left:0;right:0;top:50%;height:3px;background:#fff}.court-lines span{position:absolute;inset:20% 15%;border-block:2px solid #fff}.court-lines span:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:#fff}.court-ball{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--accent);left:60%;top:35%;box-shadow:5px 8px 10px #0008}.court-label{position:absolute;bottom:10px;left:18px;font-size:9px;color:#fff;background:#091a30;padding:4px}@media(max-width:680px){.tennis{min-height:760px}.tennis h1{font-size:16vw}.tennis .stage{width:100%;height:420px;top:350px;right:0}.scoreboard{bottom:20px;right:0;width:205px}.court-preview{height:310px;padding:22px}}
