:root{color:#251d20;font-synthesis:none;--ink:#251d20;--muted:#726a69;--paper:#fffdf8;--cream:#f3efe6;--green:#346c5c;--green-dark:#1d4b3f;--mint:#d9ebe3;--wine:#57222f;--line:#2d22251f;--shadow:0 24px 70px #4333291f;background:#f3efe6;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);min-width:320px;margin:0}button,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif}.section-shell{width:min(1180px,100% - 40px);margin-inline:auto}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:700;display:inline-flex}.brand-mark{aspect-ratio:1;background:var(--green);color:#fff;border-radius:50%;place-items:center;width:38px;font-family:Georgia,Times New Roman,serif;font-size:13px;display:grid;box-shadow:inset 0 0 0 3px #ffffff38}.button{border:0;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:13px 20px;font-weight:700;transition:transform .18s,background .18s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button-primary{background:var(--green);color:#fff}.button-primary:hover:not(:disabled){background:var(--green-dark)}.button-dark{background:var(--wine);color:#fff}.button-quiet{border:1px solid var(--line);color:var(--ink);background:#fff}.button-full{border-radius:13px;width:100%}.button:disabled{opacity:.45;cursor:not-allowed}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#fffdf8e0;border-bottom:1px solid #2d22250f;justify-content:space-between;align-items:center;height:78px;padding:0 max(24px,50vw - 590px);display:flex;position:sticky;top:0}.site-nav{color:#5e5855;align-items:center;gap:30px;font-size:14px;font-weight:650;display:flex}.site-nav a:not(.button):hover{color:var(--green)}.menu-button{color:var(--ink);background:0 0;border:0;flex:0 0 44px;place-items:center;width:44px;height:44px;display:none}.hero{grid-template-columns:.86fr 1.14fr;align-items:center;gap:72px;padding:72px 0 82px;display:grid}.hero-copy{min-width:0}.hero-copy h1{margin:22px 0;font-size:clamp(54px,6vw,84px);font-weight:650;line-height:.98}.hero-copy h1 em{color:var(--green);font-weight:inherit}.hero-copy>p{color:var(--muted);max-width:540px;font-size:18px;line-height:1.7}.hero-actions{align-items:center;gap:25px;margin:30px 0 38px;display:flex}.text-link{align-items:center;gap:4px;font-weight:700;display:inline-flex}.venue-meta{color:#645d59;gap:22px;font-size:13px;display:flex}.venue-meta span{align-items:center;gap:7px;display:flex}.hero-gallery{grid-template-rows:1fr 1fr;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:12px;min-width:0;height:540px;display:grid;position:relative}.court-photo{isolation:isolate;min-width:0;box-shadow:var(--shadow);background-color:#537f68;border-radius:28px;position:relative;overflow:hidden}.court-photo:before,.court-photo:after{content:"";z-index:-1;position:absolute;inset:0}.court-photo:after{background:linear-gradient(#0000 50%,#12241db3)}.court-photo span{color:#fff;font-size:13px;font-weight:700;position:absolute;bottom:18px;left:20px}.court-photo-main{background:linear-gradient(145deg,#203e34 0 18%,#5e8972 18% 24%,#d9c49a 24% 27%,#6a927b 27% 72%,#d6b886 72% 75%,#345d4c 75%);grid-row:1/3}.court-photo-main:before{transform-origin:bottom;border:2px solid #fffc;inset:18% 8% 7%;transform:perspective(500px)rotateX(56deg)}.court-photo-side.top{background:radial-gradient(circle at 30% 20%,#f5dca6 0 4%,#0000 5%),linear-gradient(150deg,#b7d3c4 0 38%,#416b59 39% 65%,#d5b77d 66%)}.court-photo-side.bottom{background:linear-gradient(20deg,#305c4d 0 35%,#c9d8c9 36% 42%,#9b6d4d 43% 50%,#e7c78a 51% 55%,#4f7d67 56%)}.rating-pill{background:var(--paper);box-shadow:var(--shadow);border-radius:16px;align-items:baseline;gap:7px;padding:12px 16px;font-size:12px;display:flex;position:absolute;bottom:34px;right:-18px}.rating-pill strong{color:var(--green);font-size:21px}.booking-section{padding:90px 0}.section-heading{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.section-heading h2,.open-play h2{margin:8px 0 0;font-size:clamp(38px,5vw,56px)}.live-pill{color:#286249;background:#e3f2e8;border-radius:999px;align-items:center;gap:7px;padding:9px 13px;font-size:12px;font-weight:700;display:flex}.live-pill span{aspect-ratio:1;background:#3d9a68;border-radius:50%;width:7px;box-shadow:0 0 0 4px #3d9a6821}.booking-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;grid-template-columns:minmax(0,1fr) 320px;display:grid;overflow:hidden}.booking-main{min-width:0;padding:30px}.booking-toolbar{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.booking-toolbar strong,.booking-toolbar span{display:block}.booking-toolbar strong{font-size:18px}.booking-toolbar span{color:var(--muted);margin-top:4px;font-size:13px}.date-jump{border:1px solid var(--line);color:var(--green);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:7px;padding:10px 13px;font-size:13px;font-weight:700;display:flex;position:relative}.date-jump span{color:inherit;font-size:inherit;font-weight:inherit;margin:0}.date-jump input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.date-strip{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,1fr);gap:8px;padding-bottom:28px;display:grid}.date-strip button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:12px;padding:10px 5px}.date-strip span,.date-strip strong{display:block}.date-strip span{letter-spacing:.1em;font-size:9px;font-weight:800}.date-strip strong{color:var(--ink);margin-top:5px;font-size:18px}.date-strip button.active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 7px 20px #346c5c38}.date-strip button.active strong{color:#fff}.court-tabs{gap:8px;margin-top:22px;display:flex}.court-tabs button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:9px 15px;font-size:12px;font-weight:750}.court-tabs button.active{background:var(--wine);border-color:var(--wine);color:#fff}.availability-head{justify-content:space-between;align-items:end;margin:28px 0 18px;display:flex}.availability-head h3{margin:0 0 4px;font-size:19px}.availability-head p{color:var(--muted);margin:0;font-size:13px}.legend{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.open-dot,.promo-dot{aspect-ratio:1;background:var(--mint);border:1px solid var(--green);border-radius:50%;width:8px;margin-left:5px}.promo-dot{background:#f8deb4;border-color:#c98d38}.slot-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.slot{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:70px;padding:11px;transition:all .15s;display:flex}.slot span{font-size:13px;font-weight:700}.slot strong{color:var(--green);align-items:center;gap:4px;font-size:11px;display:flex}.slot.open:hover{border-color:var(--green);transform:translateY(-2px)}.slot.promo{background:#fff6e7;border-color:#edc886}.slot.booked{color:#aaa3a0;background:#f2f0ed}.slot.booked strong{color:#aaa3a0}.slot.open-play{color:#59618e;background:#eef0f8}.slot.open-play strong{color:#59618e}.slot.selected{background:var(--green);color:#fff;border-color:var(--green)}.slot.selected strong{color:#fff}.booking-summary{background:#e7eee9;flex-direction:column;padding:32px 27px;display:flex}.summary-kicker{text-transform:uppercase;letter-spacing:.13em;color:var(--green);font-size:10px;font-weight:800}.booking-summary h3{margin:12px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:27px}.booking-summary>p{color:var(--muted);font-size:13px;line-height:1.5}.summary-times{flex-direction:column;flex:1;gap:8px;margin:24px 0;display:flex}.summary-times span{background:#ffffffa6;border-radius:9px;align-items:center;gap:8px;padding:10px;font-size:12px;font-weight:700;display:flex}.summary-times .summary-empty{color:#8a8580;background:0 0;border:1px dashed #2d222533;justify-content:center}.summary-total{border-top:1px solid #2d22251f;justify-content:space-between;align-items:end;padding:20px 0;display:flex}.summary-total span{color:var(--muted)}.summary-total strong{font-family:Georgia,Times New Roman,serif;font-size:28px}.booking-summary small{color:var(--muted);text-align:center;margin-top:12px;line-height:1.4}.loading-state{min-height:230px;color:var(--muted);place-items:center;font-size:13px;display:grid}.form-message{border-radius:9px;padding:10px 12px;font-size:12px}.form-message.error{color:#8b2638;background:#fae8eb;border:1px solid #efc9d0}.booking-form,.booking-success{flex-direction:column;height:100%;display:flex}.booking-form>p,.booking-success>p{color:var(--muted);font-size:13px;line-height:1.5}.booking-form label{color:var(--ink);margin-top:13px;font-size:11px;font-weight:750}.booking-form label small{float:right;margin:0;font-weight:500}.booking-form input{width:100%;color:var(--ink);font:inherit;background:#fffc;border:1px solid #2d22252b;border-radius:10px;outline:none;margin-top:6px;padding:12px}.booking-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #346c5c1f}.booking-form .summary-total{margin-top:auto}.back-button{color:var(--green);background:0 0;border:0;padding:12px;font-weight:700}.success-check{aspect-ratio:1;color:#fff;background:var(--green);border-radius:50%;place-items:center;width:52px;margin-bottom:25px;display:grid}.reference{background:#ffffffa6;border-radius:12px;margin:20px 0 auto;padding:16px}.reference span,.reference strong{display:block}.reference span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.reference strong{letter-spacing:.08em;margin-top:5px;font-size:20px}.open-play{grid-template-columns:.75fr 1.25fr;align-items:center;gap:90px;padding:70px 0 120px;display:grid}.open-play>div>p{color:var(--muted);max-width:480px;line-height:1.7}.session-card{background:var(--wine);color:#fff;border-radius:24px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:24px;padding:26px;display:grid;box-shadow:0 26px 60px #57222f38}.session-date{aspect-ratio:1;text-align:center;background:#ffffff1a;border-radius:18px;place-content:center;width:70px;display:grid}.session-date strong{font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1}.session-date span,.session-label{letter-spacing:.14em;font-size:9px;font-weight:800}.session-card h3{margin:5px 0;font-size:18px}.session-card p{opacity:.7;margin:0;font-size:12px}.session-label{color:#e3bf93;text-transform:uppercase}.session-spots{text-align:center}.session-spots strong,.session-spots span{display:block}.session-spots strong{font-family:Georgia,Times New Roman,serif;font-size:25px}.session-spots span{opacity:.7;font-size:10px}.session-card .button{color:var(--wine);white-space:nowrap;background:#fff}footer{color:#fff;background:#1e342c;align-items:center;gap:30px;padding:34px max(24px,50vw - 590px);display:flex}footer p{color:#ffffffa6;flex:1;margin:0;font-size:13px}footer>span{color:#fff9;font-size:12px}.dashboard-shell{color:#202521;background:#f5f6f3;grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.dashboard-sidebar{color:#fff;z-index:30;background:#18392f;flex-direction:column;height:100vh;padding:26px 18px 18px;display:flex;position:sticky;top:0}.dashboard-sidebar .brand-mark{color:#18392f;background:#f3e9d4}.sidebar-head{justify-content:space-between;align-items:center;padding:0 8px 26px;display:flex}.sidebar-head>button{color:#fff;background:0 0;border:0;display:none}.dashboard-sidebar nav{flex-direction:column;gap:5px;display:flex}.dashboard-sidebar nav button{color:#ffffffa1;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;padding:12px 13px;font-size:13px;font-weight:650;display:flex}.dashboard-sidebar nav button:hover,.dashboard-sidebar nav button.active{color:#fff;background:#ffffff1c}.venue-switcher{background:#ffffff14;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:auto;padding:13px;display:grid}.venue-avatar{aspect-ratio:1;color:#18392f;background:#d8eadf;border-radius:9px;place-items:center;width:34px;font-size:11px;font-weight:800;display:grid}.venue-switcher strong,.venue-switcher div span{display:block}.venue-switcher strong{font-size:12px}.venue-switcher div span{color:#ffffff8c;margin-top:3px;font-size:10px}.dashboard-main{min-width:0}.dashboard-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;background:#ffffffb8;border-bottom:1px solid #e3e6df;align-items:center;gap:18px;height:86px;padding:0 34px;display:flex;position:sticky;top:0}.dashboard-topbar h1{letter-spacing:-.025em;margin:3px 0 0;font-family:inherit;font-size:20px}.dashboard-topbar>div>span{color:#868c87;font-size:11px}.dashboard-menu{background:0 0;border:0;padding:5px;display:none}.topbar-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.topbar-actions .button{padding:10px 15px;font-size:12px}.avatar{aspect-ratio:1;color:#613a28;background:#e5d1b7;border:0;border-radius:50%;width:38px;font-size:11px;font-weight:800}.dashboard-content{max-width:1500px;margin:auto;padding:34px}.dashboard-title{justify-content:space-between;align-items:end;margin-bottom:24px;display:flex}.dashboard-title h2{letter-spacing:-.035em;margin-bottom:5px;font-family:inherit;font-size:27px}.dashboard-title p{color:#7a817b;margin:0;font-size:13px}.dashboard-title select{background:#fff;border:1px solid #dfe3dc;border-radius:10px;padding:10px 36px 10px 13px;font-size:12px}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.metric-card{background:#fff;border:1px solid #e4e7e1;border-radius:16px;padding:18px;position:relative}.metric-card>span,.metric-card>strong,.metric-card>small{display:block}.metric-card>span{color:#747b75;margin:17px 0 8px;font-size:11px}.metric-card>strong{letter-spacing:-.04em;font-size:25px}.metric-card>small{color:#438267;font-size:10px;font-weight:750;position:absolute;bottom:20px;right:16px}.metric-card.rose>small{color:#a14d5b}.metric-icon{aspect-ratio:1;color:#2e725c;background:#e1f0e8;border-radius:10px;place-items:center;width:34px;display:grid}.metric-icon svg{width:17px}.metric-card.cream .metric-icon{color:#8a6431;background:#f7ead2}.metric-card.rose .metric-icon{color:#8a394b;background:#f7e1e6}.metric-card.blue .metric-icon{color:#476d82;background:#e2edf2}.dashboard-grid{grid-template-columns:1.15fr .85fr;gap:14px;margin-top:14px;display:grid}.panel{background:#fff;border:1px solid #e4e7e1;border-radius:16px;padding:20px}.panel-head{justify-content:space-between;align-items:start;display:flex}.panel-head span{text-transform:uppercase;letter-spacing:.1em;color:#8a918b;font-size:9px;font-weight:800}.panel-head h3{margin:4px 0 0;font-size:16px}.panel-head>strong{color:#38715d;font-size:12px}.panel-head button{color:#39735f;background:0 0;border:0;align-items:center;gap:5px;font-size:11px;font-weight:750;display:flex}.bar-chart{align-items:end;gap:13px;height:220px;padding-top:30px;display:flex}.bar-column{text-align:center;flex:1;grid-template-rows:1fr auto;gap:8px;height:100%;display:grid}.bar-track{background:#f2f4f0;border-radius:7px;height:100%;position:relative;overflow:hidden}.bar-track span{background:#5f9d82;border-radius:7px;min-height:8px;position:absolute;inset:auto 0 0}.bar-column:last-child .bar-track span{background:#204f40}.bar-column small{color:#89908a;font-size:9px}.action-panel{padding-bottom:10px}.payment-row{border-top:1px solid #edf0eb;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:14px 0;display:grid}.payment-row:first-of-type{margin-top:16px}.person-avatar{aspect-ratio:1;color:#79533c;background:#f2e7d9;border-radius:50%;place-items:center;width:34px;font-size:9px;font-weight:800;display:grid}.payment-row div strong,.payment-row div span{display:block}.payment-row div strong,.payment-row>strong{font-size:11px}.payment-row div span{color:#858b86;margin-top:3px;font-size:10px}.payment-row button{aspect-ratio:1;background:#f3f5f1;border:0;border-radius:7px;place-items:center;width:28px;display:grid}.payment-row button svg{width:14px}.approval-buttons{gap:5px;display:flex}.approval-buttons button.approve{color:#fff;background:var(--green)}.empty-panel{color:#858b86;margin:0;padding:22px 0 8px;font-size:12px}.refresh-button{padding:9px 15px;font-size:12px}.schedule-panel{margin-top:14px}.booking-table{margin-top:16px}.table-row{border-top:1px solid #edf0eb;grid-template-columns:.7fr 1.6fr 1fr 1fr .7fr;align-items:center;gap:14px;min-width:650px;padding:13px 8px;font-size:11px;display:grid}.table-row span:nth-child(4){align-items:center;gap:6px;display:flex}.table-row i{aspect-ratio:1;background:#58a178;border-radius:50%;width:6px}.table-row i.pending{background:#d49b3f}.table-row i.rejected,.table-row i.cancelled{background:#b95868}.table-head{color:#858c86;text-transform:uppercase;letter-spacing:.08em;border-top:0;font-size:9px;font-weight:800}.schedule-panel{overflow:hidden}.booking-table{overflow-x:auto}.admin-row{grid-template-columns:.8fr 1.2fr .8fr .7fr 1.5fr}.row-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.row-actions button{color:#285c4b;background:#e5f1ea;border:0;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:700}.admin-form{grid-template-columns:repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:14px;margin-bottom:14px;display:grid}.admin-form.wide{grid-template-columns:repeat(3,minmax(150px,1fr))}.admin-form label,.settings-form label{color:#646b65;gap:7px;font-size:11px;font-weight:700;display:grid}.admin-form input,.admin-form select,.settings-form input,.settings-form textarea{color:#202521;width:100%;font:inherit;background:#fff;border:1px solid #dfe3dc;border-radius:9px;padding:10px 11px}.admin-form .button{min-height:38px}.admin-list{margin-top:14px}.admin-list-row{border-top:1px solid #edf0eb;grid-template-columns:minmax(180px,1fr) auto auto auto;align-items:center;gap:18px;padding:14px 4px;font-size:11px;display:grid}.admin-list-row:first-child{border-top:0}.admin-list-row div strong,.admin-list-row div span{display:block}.admin-list-row div span{color:#858b86;margin-top:4px}.status-pill{color:#626862;text-transform:uppercase;background:#eef0ed;border-radius:99px;width:max-content;padding:5px 8px;font-size:9px;font-weight:800}.status-pill.confirmed{color:#27634e;background:#def0e7}.status-pill.pending{color:#8a5c1b;background:#f8ead2}.status-pill.cancelled,.status-pill.rejected{color:#8a394b;background:#f7e1e6}.settings-form{grid-template-columns:1fr 1fr;gap:18px;display:grid}.settings-form label small{color:#8a918b;font-weight:400}.settings-form textarea{resize:vertical;min-height:100px}.settings-form .button{justify-self:start}@media (width<=980px){.site-nav{gap:18px}.hero{grid-template-columns:1fr;gap:45px;padding-top:55px}.hero-copy{max-width:700px}.hero-gallery{height:430px}.booking-card{grid-template-columns:1fr}.booking-summary{min-height:300px}.summary-times{flex-flow:wrap}.open-play{grid-template-columns:1fr;gap:35px}.metrics-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}}@media (width<=840px){.section-shell{width:min(100% - 28px,620px)}.site-header{height:68px;padding-inline:16px}.menu-button{place-items:center;display:grid}.site-nav{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;align-items:stretch;gap:8px;padding:18px;display:none;position:fixed;inset:68px 12px auto}.site-nav.open{display:flex}.site-nav a{padding:10px}.site-nav .button{margin-top:5px}.hero{padding:45px 0 55px}.hero-copy h1{font-size:clamp(50px,16vw,68px)}.hero-copy h1 span,.hero-copy h1 em{display:block}.hero-copy>p{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.text-link{justify-content:center}.venue-meta{flex-direction:column;gap:10px}.hero-gallery{grid-template-columns:1.4fr 1fr;height:360px}.rating-pill{bottom:16px;right:12px}.booking-section{padding:60px 0}.section-heading{align-items:start;gap:18px}.live-pill{white-space:nowrap;margin-top:4px}.booking-main{padding:20px 16px}.date-strip{scrollbar-width:none;padding-bottom:18px;display:flex;overflow-x:auto}.date-strip button{min-width:62px}.booking-toolbar{align-items:start}.date-jump{padding:9px}.date-jump svg{margin:0}.availability-head{align-items:start;gap:15px}.legend{display:none}.slot-grid{grid-template-columns:repeat(2,1fr)}.booking-summary{padding:26px 20px}.open-play{padding:45px 0 80px}.session-card{grid-template-columns:auto 1fr}.session-spots{text-align:left}.session-card .button{grid-column:1/-1}footer{flex-direction:column;align-items:flex-start;gap:15px}.dashboard-shell{grid-template-columns:1fr}.dashboard-sidebar{width:270px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:20px 0 60px #0a1c1633}.dashboard-sidebar.open{transform:translate(0)}.sidebar-head>button,.dashboard-menu{place-items:center;display:grid}.dashboard-topbar{height:76px;padding:0 16px}.dashboard-topbar h1{font-size:16px}.dashboard-topbar>div>span,.topbar-actions .button{display:none}.dashboard-content{padding:22px 14px}.dashboard-title{align-items:start}.dashboard-title p{max-width:220px;line-height:1.4}.metrics-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{padding:14px}.metric-card>small{margin-top:7px;position:static}.panel{padding:16px}.admin-form,.admin-form.wide,.settings-form{grid-template-columns:1fr}.admin-list-row{grid-template-columns:1fr auto;gap:10px}.bar-chart{gap:8px;height:190px}}@media (width<=430px){.hero-copy h1{font-size:50px}.hero-gallery{height:300px}.court-photo{border-radius:20px}.section-heading h2,.open-play h2{font-size:38px}.metrics-grid{grid-template-columns:1fr}.metric-card{grid-template-columns:auto 1fr auto;align-items:center;gap:0 12px;display:grid}.metric-icon{grid-row:1/3}.metric-card>span{margin:0}.metric-card>small{grid-area:1/3/3}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.rove-layout{color:#51172b;background:linear-gradient(#f5ffd9 0,#fff1f7 520px,#f5f1eb 920px)}.rove-layout .site-header{background:#fffffff0;height:68px;padding-inline:max(22px,50vw - 580px)}.rove-layout .site-nav{color:#67213d;gap:25px;font-size:13px}.rove-layout .site-nav .button{color:#fff;padding:12px 21px}.rove-layout .site-nav a:not(.button):hover,.rove-layout .eyebrow{color:#e82f82}.rove-layout .button-primary{background:#e82f82}.rove-layout .button-primary:hover:not(:disabled){background:#bd205f}.shine8-brand{color:#45efa0;letter-spacing:-.075em;-webkit-text-stroke:1px #ff3f98;align-items:center;font-size:27px;font-weight:900;line-height:1;display:inline-flex}.shine8-brand strong{color:#b8ff42;margin-left:3px;font-size:32px}.rove-layout .button-primary,.rove-layout .package-banner{background:var(--tenant-primary)}.rove-layout .shine8-brand,.rove-layout .venue-intro h1 span,.rove-layout .info-link{color:var(--tenant-primary)}.rove-layout .shine8-banner{border-color:var(--tenant-primary);background:var(--tenant-accent)}.venue-page{width:min(960px,100% - 32px);padding:25px 0 80px}.shine8-banner{border:3px solid var(--tenant-primary);background:var(--tenant-accent);border-radius:14px;overflow:hidden;box-shadow:0 18px 40px #771f4221}.shine8-banner img{width:100%;display:block}.tenant-banner{text-align:center;background:var(--tenant-accent);border-radius:14px;place-content:center;gap:12px;min-height:220px;display:grid}.tenant-banner .shine8-brand{font-size:clamp(38px,8vw,70px)}.tenant-banner>span{color:#51172b;letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:750}.package-banner{color:#fff;background:#ff3f98;border-radius:9px;align-items:center;gap:8px;width:max-content;margin:13px 0 12px auto;padding:12px 18px;font-size:12px;font-weight:750;display:flex}.venue-gallery{grid-template-rows:1fr 1fr;grid-template-columns:1.35fr .8fr .8fr;gap:7px;height:360px;display:grid}.venue-photo{background:#45efa0;border-radius:6px;min-width:0;margin:0;overflow:hidden}.venue-photo-main{grid-row:1/3}.venue-photo img{object-fit:cover;width:100%;height:100%;transition:transform .25s;display:block}.venue-photo:hover img{transform:scale(1.025)}.venue-intro{padding:22px 0 38px}.venue-intro h1{letter-spacing:-.035em;margin-bottom:17px;font-family:inherit;font-size:clamp(27px,4vw,35px)}.venue-intro h1 span{color:#e82f82}.venue-intro>div{flex-wrap:wrap;gap:20px;font-size:12px;font-weight:650;display:flex}.venue-intro a,.venue-intro div>span{align-items:center;gap:6px;display:flex}.rove-booking{border-radius:16px;display:block;overflow:visible;box-shadow:0 18px 45px #41282a14}.booking-date-head{grid-template-columns:42px 1fr auto 42px;align-items:center;gap:12px;padding:25px 24px 12px;display:grid}.booking-date-head>button{aspect-ratio:1;border:1px solid var(--line);color:#421923;background:#fff;border-radius:10px;place-items:center;width:42px;display:grid}.booking-date-head>button:disabled{opacity:.28}.booking-date-head>div strong,.booking-date-head>div span{display:block}.booking-date-head>div strong{font-size:20px}.booking-date-head>div span{color:var(--muted);margin-top:4px;font-size:12px}.booking-month{color:#55313b;text-transform:uppercase;letter-spacing:.15em;padding:0 24px;font-size:10px;font-weight:800}.rove-booking .date-strip{grid-template-columns:repeat(14,minmax(48px,1fr));gap:5px;padding:16px 24px 22px;display:grid;overflow-x:auto}.rove-booking .date-strip button{border-radius:8px;min-width:50px;min-height:51px}.rove-booking .date-strip button.active{background:#e82f82}.booking-body{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 310px;display:grid}.rove-booking .booking-main{padding:25px 24px 30px}.rate-line,.tap-line{text-align:center;margin:0;font-size:11px;font-weight:700}.tap-line{color:var(--muted);margin-top:7px;font-weight:500}.rove-booking .legend{justify-content:center;margin:12px 0 22px}.booked-dot,.passed-dot{aspect-ratio:1;background:#d8dadd;border-radius:3px;width:9px;margin-left:6px}.passed-dot{background:#eceff0}.availability-title{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.availability-title h2{letter-spacing:-.02em;margin:0;font-family:inherit;font-size:17px}.availability-title span{color:var(--muted);font-size:10px}.schedule-head,.schedule-row{grid-template-columns:minmax(135px,1.1fr) repeat(2,minmax(100px,1fr));align-items:center;gap:8px;display:grid}.schedule-head{text-align:center;padding:5px 0 8px;font-size:11px}.schedule-row{border-top:1px solid #eeece8;padding:7px 0}.schedule-row>span{color:#3b2027;align-items:baseline;gap:7px;display:flex}.schedule-row>span strong{font-size:11px}.schedule-row>span small{color:#968b8d;font-size:9px}.schedule-row button{color:#19734e;background:#effff6;border:1px solid #72daa7;border-radius:7px;min-height:36px;font-size:9px;font-weight:850}.schedule-row button:hover:not(:disabled),.schedule-row button.selected{color:#51172b;background:#b8ff42;border-color:#ff3f98}.schedule-row button.booked,.schedule-row button.passed{color:#a3a29f;background:#eeefed;border-color:#e4e4e1}.schedule-row button:disabled{cursor:not-allowed}.rove-booking .booking-summary{border:1px solid var(--line);background:#fff;border-radius:13px;align-self:start;min-height:310px;margin:23px;padding:21px;position:sticky;top:88px}.summary-prompt{text-align:center;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:15px;font-size:12px}.rove-booking .summary-times{margin:8px 0}.rove-booking .summary-total{padding:16px 0}.clear-button{color:#866c72;background:0 0;border:0;padding:12px;font-size:11px;font-weight:700}.clear-button:disabled{opacity:.4}.open-play-rover{padding:55px 0 45px}.open-play-rover>div h2,.court-information>h2{letter-spacing:-.03em;margin:6px 0;font-family:inherit;font-size:24px}.open-play-rover>div p{color:var(--muted);font-size:13px}.open-play-rover article{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:auto 1fr 1fr auto auto;align-items:center;gap:18px;margin-top:20px;padding:20px;display:grid}.open-play-rover article>span{color:#e82f82;letter-spacing:.12em;font-size:9px;font-weight:850}.open-play-rover article h3,.open-play-rover article p{margin:0}.open-play-rover article h3{font-size:14px}.open-play-rover article p,.open-play-rover article small{color:var(--muted);font-size:10px}.open-play-rover article div strong,.open-play-rover article div small{display:block}.open-play-rover article button{color:#51172b;background:#b8ff42;border:0;border-radius:9px;padding:11px 15px}.court-information{padding:22px 0}.court-information details{border-bottom:1px solid #d8d3cc}.court-information summary{cursor:pointer;justify-content:space-between;padding:19px 4px;font-size:13px;font-weight:750;list-style:none;display:flex}.court-information summary::-webkit-details-marker{display:none}.court-information details p{color:var(--muted);margin:0 4px 15px;font-size:12px}.info-link{color:#d52673;text-underline-offset:3px;font-weight:750;text-decoration:underline}.rove-layout footer{color:#765e64;background:#fff;justify-content:center;padding:28px}.login-page,.auth-loading{background:#f2efe9;place-items:center;min-height:100vh;padding:24px;display:grid}.login-page form{border:1px solid var(--line);width:min(410px,100%);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:34px}.login-page .brand{margin-bottom:32px}.login-icon{aspect-ratio:1;color:#fff;background:var(--green);border-radius:13px;place-items:center;width:48px;display:grid}.login-page h1{letter-spacing:-.035em;margin:16px 0 7px;font-family:inherit;font-size:27px}.login-page>form>p{color:var(--muted);font-size:13px}.login-page label{margin-top:16px;font-size:12px;font-weight:750;display:block}.login-page input{border:1px solid var(--line);width:100%;font:inherit;border-radius:9px;margin-top:6px;padding:12px}.login-page .button{margin-top:22px}.login-page form>a{text-align:center;color:var(--green);margin-top:18px;font-size:12px;font-weight:700;display:block}.auth-loading{color:var(--muted)}.logout-button{color:#5d6c64;background:0 0;border:0;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}@media (width<=840px){.rove-layout .site-nav{gap:5px}.venue-page{width:min(100% - 24px,620px)}.venue-gallery{height:330px}.booking-date-head{grid-template-columns:38px 1fr 38px;padding-inline:15px}.booking-date-head .date-jump{grid-area:2/1/auto/-1;justify-content:center;justify-self:stretch}.rove-booking .date-strip{padding-inline:15px}.booking-body{grid-template-columns:1fr}.rove-booking .booking-main{padding-inline:15px}.rove-booking .booking-summary{margin:0 15px 18px;position:static}.open-play-rover article{grid-template-columns:1fr 1fr}.open-play-rover article button{grid-column:1/-1}}@media (width<=520px){.package-banner{margin-right:0}.shine8-banner{border-width:2px;border-radius:10px}.venue-gallery{grid-template-rows:190px 120px 120px;grid-template-columns:1fr 1fr;height:auto}.venue-photo-main{grid-area:auto/1/auto/-1}.venue-intro>div{flex-direction:column;gap:9px}.schedule-head,.schedule-row{grid-template-columns:minmax(95px,1fr) repeat(2,minmax(72px,1fr));gap:5px}.schedule-row>span strong{font-size:9px}.schedule-row button{padding:5px;font-size:8px}.availability-title{flex-direction:column;align-items:start;gap:5px}}
