:root{--ink:#101e2b;--orange:#f37439;--paper:#f6f7f8;--line:#dce1e6;--muted:#586571}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2778cc;outline-offset:4px}.preview-bar{background:var(--ink);color:white;display:flex;justify-content:space-between;padding:9px 5%;font-size:12px;letter-spacing:.06em}.preview-bar span:first-child{color:#ffad7e;font-weight:bold}header{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;gap:24px;background:white;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:21px;line-height:1.05;font-weight:900;letter-spacing:-.02em;white-space:nowrap}.brand small{display:block;font-size:12px;letter-spacing:.3em;margin-top:6px}.monogram{font-size:25px;background:var(--ink);color:white;padding:13px 9px;position:relative;letter-spacing:-.13em}.monogram span{color:var(--orange);position:absolute;right:-6px;top:-8px;font-size:20px}nav{display:flex;gap:26px;font-size:14px;font-weight:700}nav a:hover,.text-button:hover{color:#b34414}.nav-actions{display:flex;align-items:center;gap:18px}.button{border:1px solid var(--orange);background:var(--orange);color:var(--ink);padding:16px 23px;display:inline-flex;justify-content:center;align-items:center;font-weight:700;font-size:14px;line-height:1.2;transition:background .2s}.button:hover{background:#ff925e}.button.small{padding:13px 17px}.button.outline{background:transparent;border-color:#a8b0b5;color:white}.button.outline:hover{background:#ffffff18}.button.dark{background:var(--ink);border-color:var(--ink);color:white}.button.subtle{background:white;border-color:var(--line)}.text-button{border:0;background:none;color:inherit;font-weight:700;font-size:14px;padding:9px 0;text-align:left}.menu-button{display:none;border:0;background:transparent;font-size:25px}.hero{position:relative;min-height:660px;background:#132536;color:white;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0;background:url('court-hero.webp') center 53% / cover no-repeat}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,20,29,.95) 0%,rgba(9,20,29,.72) 40%,rgba(9,20,29,.14) 100%)}.hero-content{position:relative;max-width:800px;margin:60px 7% 100px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:bold;line-height:1.6;margin:0 0 22px}.orange{color:#b64818}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(60px,7.4vw,112px);font-weight:900;letter-spacing:-.055em;line-height:.94;margin-bottom:27px}em{font-style:normal;color:var(--orange)}.hero-description{color:#e1e5e9;font-size:18px;line-height:1.65;margin-bottom:30px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.hero-note{font-size:12px;color:#c7d0d6;margin:20px 0 0}.hero-bottom{position:absolute;bottom:0;left:7%;right:7%;border-top:1px solid #ffffff36;padding:20px 0;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.14em}.sport-strip{display:flex;align-items:center;justify-content:space-around;background:var(--orange);padding:23px 6%;gap:15px;font-size:18px;font-weight:900;letter-spacing:.07em}.star{font-size:25px}.section{padding:88px 7%;scroll-margin-top:20px}h2{font-size:clamp(36px,4vw,54px);letter-spacing:-.04em;line-height:1.06;margin-bottom:25px}h3{font-size:24px;letter-spacing:-.025em;margin-bottom:14px}.intro{font-size:18px;color:var(--muted);line-height:1.7;max-width:550px}.rentals{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.rentals .button{margin-top:14px}.rental-details{border-left:1px solid var(--line);padding-left:52px}.rate>span{font-size:12px;letter-spacing:.13em;font-weight:700}.rate strong{display:block;font-size:62px;line-height:1.4;letter-spacing:-.055em}.rate small{font-size:18px;font-weight:400;color:var(--muted);letter-spacing:0}.rate p{font-size:12px;color:var(--muted)}.detail-row{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:17px 0;font-size:14px}.detail-row span{color:var(--muted);text-align:right}.muted{color:var(--muted);font-size:14px}.schedule-section{background:var(--paper)}.section-top{display:flex;justify-content:space-between;align-items:center;gap:24px}.section-top h2{margin-bottom:30px}.section-top>.muted{max-width:280px}.notice{border-left:3px solid var(--orange);background:#fff4ec;padding:14px 20px;display:flex;gap:20px;font-size:14px;margin-bottom:25px}.notice b{white-space:nowrap}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.week-nav{display:flex;align-items:center;gap:15px}.week-nav strong{min-width:170px}.icon-button{background:white;border:1px solid var(--line);width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1}.filter{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--muted)}select,input{padding:11px;border:1px solid var(--line);border-radius:0;background:white;color:var(--ink);min-height:44px;max-width:100%}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day{border:1px solid var(--line);background:white;padding:13px 8px;display:flex;flex-direction:column;align-items:center;color:var(--muted);font-size:14px}.day b{font-size:23px;color:var(--ink)}.day.active{background:var(--ink);color:#d3dce4;border-color:var(--ink)}.day.active b{color:white}.legend{display:flex;gap:23px;flex-wrap:wrap;font-size:12px;margin:24px 0 16px}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:10px;height:10px;background:#ddd}.legend .available{background:#a5cbc0}.legend .team{background:#9cb4d6}.legend .event{background:#edbba3}.legend .booked{background:#b1b9c3}.calendar{border:1px solid var(--line);background:white;overflow:auto}.calendar-head,.calendar-row{display:grid;grid-template-columns:110px 1fr 1fr;min-width:460px}.calendar-head{background:var(--ink);color:white;font-weight:700;font-size:14px;padding:17px 0}.calendar-head>*{padding:0 20px}.calendar-row{border-bottom:1px solid #e7ebee;min-height:73px}.calendar-row:last-child{border-bottom:0}.hour{font-size:12px;padding:19px 16px;color:var(--muted);border-right:1px solid var(--line)}.slot{margin:7px 8px;padding:10px 13px;border:1px solid transparent;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1.35;font-size:14px}.slot small{display:block;font-size:12px;margin-top:3px;font-weight:400}.slot.available{background:#edf6f2;border-color:#bdd7cc;color:#205143}.slot.available:hover{background:#d9eee3;border-color:#618c7b}.slot.team{background:#edf1f9;color:#29466c}.slot.event{background:#fff0e8;color:#92451c}.slot.booked{background:#f0f2f4;color:#636d77}.slot.filtered{background:#fafafa;color:#888}.slot-label{font-weight:700}.slot .price{font-weight:700;white-space:nowrap}.calendar-footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);padding-top:17px}.basketball{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:90px}.basketball h2{font-size:clamp(54px,6vw,88px);line-height:.94}.elite-intro>p:not(.eyebrow){color:#d5dee6}.elite-intro>p:nth-of-type(2){font-size:21px}.team-tabs{display:flex;gap:8px;margin-top:28px}.team-tabs button{background:transparent;border:1px solid #52606d;padding:13px 18px;color:white;font-size:14px;font-weight:700}.team-tabs button.active{background:var(--orange);border-color:var(--orange);color:var(--ink)}.team-card{padding:23px 0;border-bottom:1px solid #45515c;display:grid;grid-template-columns:85px 1fr;gap:24px}.team-grade{font-size:40px;letter-spacing:-.04em;line-height:1.2;color:var(--orange);font-weight:900}.team-grade small{display:block;font-size:12px;letter-spacing:.1em;font-weight:400;color:#c3cfd8}.team-card h3{font-size:21px;margin:0 0 9px}.team-card p{font-size:14px;color:#c3cfd8;margin-bottom:9px}.team-card button{color:#ffad7e}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:18px}.program-grid article{padding:30px 27px;border:1px solid var(--line);border-top:3px solid var(--ink)}.program-number{display:block;font-size:12px;letter-spacing:.1em;color:#b64818;font-weight:700;margin-bottom:35px}.program-grid p{color:var(--muted);font-size:16px}.program-grid button{border-bottom:1px solid var(--ink);margin-top:12px}.closing{background:var(--ink);text-align:center;color:white;padding:75px 20px}.closing h2{font-size:clamp(38px,4vw,60px)}.closing>p:last-child{color:#c5ced6;font-size:12px;margin-top:20px;margin-bottom:0}footer{padding:40px 7%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{font-size:12px;color:var(--muted);margin-bottom:0}footer>div{text-align:right}dialog{border:none;padding:30px;width:min(650px,calc(100% - 30px));max-height:90vh;color:var(--ink);box-shadow:0 20px 100px #0005}dialog::backdrop{background:#061321bb}.modal-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.modal-top .eyebrow{margin:0}dialog h2{font-size:32px}dialog p,dialog li{font-size:16px;color:var(--muted)}dialog ul,dialog ol{padding-left:22px}dialog li{margin-bottom:12px}dialog .summary{background:var(--paper);padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.summary small{display:block;color:var(--muted);font-size:12px}.summary b{font-size:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}form label{display:flex;flex-direction:column;gap:7px;font-size:14px;margin-bottom:15px}#owner-error{color:#a72d17}#reset{margin-left:15px}dialog .notice{display:block}dialog .notice b{display:block;margin-bottom:5px}dialog .setup-step{padding:15px 0;border-bottom:1px solid var(--line)}dialog .setup-step h3{font-size:18px;margin-bottom:7px}dialog .setup-step p{font-size:14px;margin-bottom:0}@media(min-width:1600px){.section,header,footer{padding-left:max(7%,calc((100% - 1400px)/2));padding-right:max(7%,calc((100% - 1400px)/2))}}@media(max-width:1100px){header{padding:18px 4%;gap:16px}nav{gap:16px}.nav-actions .text-button{display:none}.rentals,.basketball{gap:40px}.rental-details{padding-left:30px}.detail-row{flex-direction:column;gap:4px}.detail-row span{text-align:left}}@media(max-width:760px){.preview-bar{justify-content:center;padding:8px 12px;font-size:12px}.preview-bar span:first-child{display:none}header{padding:15px 5%;flex-wrap:wrap}.brand{font-size:18px}.monogram{font-size:22px;padding:10px 8px}.nav-actions{margin-left:auto}.nav-actions .button{padding:11px 12px;font-size:12px}.menu-button{display:block}nav{display:none;width:100%;order:4;flex-wrap:wrap;padding:14px 0 0;border-top:1px solid var(--line)}nav.open{display:flex}.hero{min-height:580px}.hero-content{margin:55px 6% 90px}.hero-image{background-position:65% center}.hero-image:after{background:linear-gradient(90deg,#09141dee,#09141d55)}h1{font-size:clamp(55px,11vw,82px)}.hero-description{font-size:16px}.hero-bottom{left:6%;right:6%;font-size:10px}.hero-bottom span:last-child{display:none}.sport-strip{font-size:12px;gap:7px;padding:17px 4%}.sport-strip .star{font-size:16px}.sport-strip span:last-child,.sport-strip .star:nth-last-child(2){display:none}.section{padding:55px 6%}.rentals,.basketball{grid-template-columns:1fr;gap:35px}.rental-details{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.detail-row{flex-direction:row}.detail-row span{text-align:right}.section-top{align-items:flex-start;flex-direction:column;gap:0}.section-top .button{margin-bottom:25px}.section-top>.muted{margin-bottom:25px}.notice{flex-direction:column;gap:5px;padding:14px;font-size:14px}.calendar-toolbar{align-items:flex-start;flex-direction:column;gap:14px}.week-nav{gap:10px;flex-wrap:wrap}.week-nav strong{min-width:145px;font-size:14px}.days{gap:4px}.day{padding:10px 3px;font-size:12px}.day b{font-size:20px}.legend{gap:13px;font-size:12px}.calendar-head,.calendar-row{grid-template-columns:70px 1fr 1fr;min-width:400px}.calendar-head>*{padding:0 10px}.hour{padding:20px 8px;font-size:12px}.slot{padding:9px;margin:6px 4px;align-items:flex-start;flex-direction:column}.calendar-footer{flex-direction:column;gap:5px}.basketball h2{font-size:70px}.team-card{grid-template-columns:75px 1fr;gap:15px}.program-grid{grid-template-columns:1fr;gap:15px}.program-number{margin-bottom:18px}footer{align-items:flex-start;flex-direction:column;padding:35px 6%;gap:24px}footer>div{text-align:left}.form-grid{gap:10px}dialog{padding:22px}.hero-buttons .button{padding:14px 17px;font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.owner-page{background:var(--paper);min-height:calc(100vh - 95px)}.owner-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(320px,1.1fr);gap:30px}.owner-panel{background:white;padding:30px;border:1px solid var(--line);min-width:0}.owner-panel .section-top{align-items:flex-start}.owner-panel .section-top label{font-size:14px}.owner-slot{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}.owner-slot p{font-size:14px;color:var(--muted);margin:5px 0}.status-chip{background:var(--paper);padding:4px 9px;font-size:12px;white-space:nowrap}button:disabled{cursor:wait;opacity:.65}#save-status,#booking-error,#account-error{font-size:14px}#booking-error,#account-error{color:#a72d17}@media(max-width:900px){.owner-layout{grid-template-columns:1fr}.owner-panel{padding:22px}.owner-page{padding:35px 5%}}

.about-section,.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-section{background:var(--paper)}.contact-form{background:white;padding:30px;border:1px solid var(--line)}.contact-form label,.inquiry-card label{display:block;font-size:14px;margin-bottom:16px}.contact-form input,.contact-form select,.contact-form textarea,.inquiry-card textarea,.inquiry-card select{width:100%;font:inherit;color:var(--ink);padding:12px;border:1px solid var(--line);background:white;margin-top:8px}.contact-form textarea,.inquiry-card textarea{resize:vertical;min-height:140px}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form .muted{font-size:14px}.inquiry-panel{margin-top:30px}.inquiry-card{padding:22px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.inquiry-message{white-space:pre-wrap;font-size:16px}.inquiry-card h4{font-size:18px;margin:0 0 8px}.inquiry-card .form-grid{max-width:400px}#contact-status{font-size:16px}header nav{gap:20px}@media(max-width:1100px){header nav{gap:12px}header nav a{font-size:14px}}@media(max-width:900px){.about-section,.contact-section{grid-template-columns:1fr;gap:25px}.contact-form{padding:22px}}

[hidden]{display:none!important}.owner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}#inquiries,#owner-schedule{scroll-margin-top:110px}@media(max-width:900px){.owner-actions{gap:10px}.owner-actions .button{font-size:14px;padding:12px 15px}}

.account-page{max-width:1000px;margin:0 auto}.account-page .owner-panel{max-width:720px}.account-page form label{display:block;margin:18px 0;font-size:16px}.account-page form input{display:block;width:100%;font:inherit;padding:12px;margin-top:8px;border:1px solid var(--line);background:white;color:var(--ink)}.account-tabs{margin-bottom:20px}.inquiry-card textarea[readonly]{background:var(--paper)}.gmail-recovery:empty{display:none}

/* Owner scheduler: editor beside a date-independent weekly calendar. */
.scheduler-page{max-width:1800px;margin:auto;padding-left:4%;padding-right:4%}.scheduler-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:24px}.schedule-editor{position:sticky;top:115px}.schedule-editor label{margin-bottom:14px}.schedule-editor fieldset{border:1px solid #deded6;margin:0 0 18px;padding:12px}.schedule-editor legend{font-weight:700;font-size:13px}.day-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.day-presets button{border:1px solid #ccc;background:#f5f3ed;padding:7px 9px;cursor:pointer;border-radius:4px;font-size:12px}.weekday-checks{display:flex;flex-wrap:wrap;gap:10px}.weekday-checks label{display:flex;align-items:center;gap:4px;font-size:12px;margin:0}.weekday-checks input{width:auto;padding:0;margin:0}.schedule-calendar{min-width:0;padding:24px}.schedule-calendar .calendar-toolbar{flex-wrap:wrap;gap:12px}.schedule-calendar .week-nav{gap:8px}.schedule-calendar h3{font-size:20px;margin:0}.schedule-calendar .legend{flex-wrap:wrap;gap:12px}.owner-calendar-scroll{overflow:auto;max-height:730px;border:1px solid #deded6}.owner-week-grid{display:grid;grid-template-columns:65px repeat(7,minmax(115px,1fr));min-width:920px}.week-time-head,.week-day-head{position:sticky;top:0;background:#242720;color:white;z-index:2;padding:12px 8px;font-size:11px}.week-day-head{display:flex;flex-direction:column;gap:4px;text-align:center;border-left:1px solid #444}.week-day-head b{font-size:14px}.week-day-head small{color:#ddd}.week-time{padding:12px 7px;font-size:11px;border-top:1px solid #ddd;background:#faf9f5}.week-cell{display:flex;gap:4px;padding:4px;border-top:1px solid #deded6;border-left:1px solid #deded6;min-height:72px}.week-slot{min-width:0;width:50%;display:flex;flex-direction:column;align-items:start;gap:4px;border:1px solid transparent;border-radius:4px;padding:6px 4px;cursor:pointer;font-size:10px;background:#edece7;color:#45463f;text-align:left}.week-slot span{overflow-wrap:anywhere}.week-slot small{font-weight:700}.week-slot.available{background:#e0e9d6;color:#324520}.week-slot.team{background:#fee0d1;color:#8a3916}.week-slot.event{background:#e1e7f2;color:#354667}.week-slot.booked{background:#e3e0da;color:#55524d}.week-slot.proposed{outline:2px dashed #df5a2a;outline-offset:-2px}.week-slot.proposed em{font-style:normal;font-size:9px;font-weight:700;color:#9e3f1d}.week-slot.conflict{outline-color:#b82323}.week-slot:focus-visible{outline:3px solid #1b62a1}.access-note{margin-top:28px;border-top:1px solid #ddd;padding-top:20px;font-size:13px}.access-note p{margin:8px 0;color:#666}.policy-check{display:flex;align-items:start;gap:10px;margin:18px 0;font-size:14px}.policy-check input{margin-top:4px;flex:none;width:18px;height:18px}.schedule-editor [hidden]{display:none!important}
@media(max-width:1100px){.scheduler-layout{grid-template-columns:300px minmax(0,1fr)}.schedule-calendar{padding:16px}}@media(max-width:800px){.scheduler-layout{grid-template-columns:1fr}.schedule-editor{position:static}.scheduler-page{padding:35px 5%}.schedule-calendar{padding:16px}}

.calendar-toolbar{flex-wrap:wrap}.schedule-editor select,.schedule-editor input:not([type="checkbox"]){width:100%}.schedule-editor .form-grid{gap:12px}.schedule-editor .notice{display:block}
