:root{--ink:#17251a;--forest:#214d36;--green:#2f6e4a;--lime:#d8ff72;--cream:#f4f0e5;--paper:#fffdf7;--muted:#667068;--line:#d9ded7;--orange:#f06f3e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--cream);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,label{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}input:focus-visible{outline:3px solid var(--orange);outline-offset:3px}select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}input:focus-visible+span{outline:3px solid var(--orange);outline-offset:3px}main{min-height:100vh;overflow:hidden}.topbar{color:#fff;background:var(--forest);border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(20px,5vw,72px);display:flex}.brand{color:#fff;letter-spacing:-.04em;align-items:center;gap:8px;font-size:19px;font-weight:850;text-decoration:none;display:flex}.brand>span{border:1px solid var(--lime);width:30px;height:30px;color:var(--lime);border-radius:50%;place-items:center;font-family:Georgia,serif;font-style:italic;display:grid}.brand b{color:var(--forest);background:var(--lime);letter-spacing:.12em;border-radius:4px;padding:4px 6px;font-size:9px}.topbar p{color:#d3e0d7;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:11px;font-weight:700;display:flex}.topbar p i{background:var(--lime);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #d8ff721f}.hero{color:#fff;background:var(--forest);min-height:auto;padding:36px clamp(20px,6vw,92px) 40px;position:relative}.hero:after{content:"";pointer-events:none;border:1px solid #d8ff7224;border-radius:50%;width:600px;height:600px;position:absolute;bottom:-210px;right:-120px;box-shadow:0 0 0 70px #d8ff7209,0 0 0 140px #d8ff7206}.kicker{color:var(--lime);letter-spacing:.18em;margin:0 0 18px;font-size:10px;font-weight:850}h1{letter-spacing:-.055em;max-width:750px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,5vw,58px);font-weight:400;line-height:.93}h1 em{color:var(--lime);font-weight:400}.intro{color:#c7d5cb;max-width:680px;margin:18px 0 24px;font-size:clamp(15px,2vw,18px);line-height:1.55}.finder{z-index:2;width:min(100%,980px);color:var(--ink);background:var(--paper);border-radius:18px;padding:26px;position:relative;box-shadow:0 28px 80px #051f1259}.finder-head,.section-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.finder-head>div,.section-head>div{align-items:center;gap:12px;display:flex}.step{border:1px solid var(--line);width:34px;height:34px;color:var(--green);border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:850;display:grid}.finder-head strong,.section-head strong{font-family:Georgia,serif;font-size:19px;display:block}.finder-head small,.section-head small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.location,.section-head>span{color:var(--muted);letter-spacing:.13em;font-size:9px;font-weight:850}.fields{grid-template-columns:1.45fr 1fr 1fr;gap:10px;margin-top:22px;display:grid}.fields label{border:1px solid var(--line);background:#fff;border-radius:11px;min-width:0;padding:12px 14px 10px}.fields label>span,fieldset legend{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:850}.fields input{width:100%;color:var(--ink);background:0 0;border:0;margin-top:5px;font-size:15px;font-weight:750}fieldset{border:0;min-width:0;margin:18px 0 0;padding:0}fieldset legend{margin-bottom:9px}.group-choice{grid-template-columns:1fr 1fr;gap:9px;display:grid}.group-choice legend{grid-column:1/-1}.group-choice button{border:1px solid var(--line);min-height:62px;color:var(--ink);text-align:left;background:#fff;border-radius:11px;align-items:center;gap:12px;padding:10px 14px;display:flex;position:relative}.group-choice button b{width:33px;height:33px;color:var(--green);background:#e8eee9;border-radius:50%;place-items:center;font-family:Georgia,serif;display:grid}.group-choice button span{font-size:13px;font-weight:750}.group-choice button i{color:var(--green);letter-spacing:.12em;margin-left:auto;font-size:8px;font-style:normal;font-weight:900}.group-choice button.active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#f0f6ef}.group-choice button.active b{color:var(--forest);background:var(--lime)}.course-choice>div{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.course-choice label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:0 11px;display:flex}.course-choice input{opacity:0;pointer-events:none;position:absolute}.course-choice label>span{border:1px solid var(--line);color:#fff;border-radius:5px;place-items:center;width:18px;height:18px;font-size:10px;display:grid}.course-choice label b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.course-choice label.selected{background:#f0f6ef;border-color:#aac1b1}.course-choice label.selected>span{border-color:var(--green);background:var(--green)}.search-button{width:100%;min-height:56px;color:var(--forest);background:var(--lime);border:0;border-radius:11px;justify-content:center;align-items:center;gap:11px;margin-top:20px;padding:0 20px;font-size:13px;font-weight:900;display:flex}.search-button span{font-size:20px;transition:transform .2s}.search-button:hover span{transform:translate(4px)}.search-button:disabled{cursor:not-allowed;opacity:.45}.results{background:var(--cream);padding:68px clamp(20px,6vw,92px) 82px}.results .section-head{max-width:980px;margin:0 auto 20px}.course-grid{grid-template-columns:repeat(4,1fr);gap:12px;max-width:980px;margin:0 auto;display:grid}.course-grid article{border:1px solid var(--line);background:var(--paper);border-radius:14px;overflow:hidden}.course-grid img{object-fit:cover;background:#ccd8ce;width:100%;height:128px;display:block}.course-grid article>div{padding:14px}.course-grid small,.course-grid strong,.course-grid span{display:block}.course-grid small{color:var(--muted);text-transform:uppercase;font-size:9px}.course-grid strong{margin-top:4px;font-family:Georgia,serif;font-size:17px}.course-grid span{color:var(--green);margin-top:11px;font-size:10px;font-weight:800}.match-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:980px;margin:0 auto;display:grid}.match-card{border:1px solid var(--line);background:var(--paper);border-radius:15px;overflow:hidden;box-shadow:0 9px 30px #1636230f}.match-card.pair{border-color:#9bb7a3;box-shadow:0 12px 34px #1636231c}.match-course{border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:72px;padding:11px 13px;display:flex}.match-course img{object-fit:cover;background:#ccd8ce;border-radius:9px;flex:none;width:46px;height:46px}.match-course>div{min-width:0}.match-course small,.match-course strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.match-course small{color:var(--muted);text-transform:uppercase;font-size:8px}.match-course strong{margin-top:4px;font-family:Georgia,serif;font-size:15px}.match-course>span{color:var(--forest);background:var(--lime);letter-spacing:.1em;border-radius:6px;margin-left:auto;padding:6px 7px;font-size:7px;font-weight:900}.match-times{background:#f1f5ef;grid-template-columns:repeat(2,1fr);gap:26px;min-height:108px;padding:17px;display:grid;position:relative}.match-card:not(.pair) .match-times{grid-template-columns:1fr}.match-times>div small,.match-times>div strong,.match-times>div span{display:block}.match-times>div small{color:var(--green);letter-spacing:.13em;font-size:8px;font-weight:900}.match-times>div strong{letter-spacing:-.045em;white-space:nowrap;margin-top:4px;font-family:Georgia,serif;font-size:clamp(27px,4vw,38px);font-weight:400}.match-times>div span{color:var(--muted);margin-top:3px;font-size:9px}.match-times>i{width:38px;height:38px;color:var(--green);background:var(--paper);border:1px solid #b8c9bb;border-radius:50%;place-items:center;font-size:11px;font-style:normal;font-weight:900;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.match-times>i small{letter-spacing:.09em;margin-top:-10px;font-size:5px;display:block}.match-action{justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.match-action p{max-width:220px;color:var(--muted);margin:0;font-size:9px;line-height:1.4}.match-action a{color:#fff;background:var(--forest);border-radius:8px;flex:none;padding:11px 13px;font-size:9px;font-weight:850;text-decoration:none}.match-action a span{color:var(--lime)}.searching,.empty{text-align:center;background:#fffdf78c;border:1px dashed #b9c5bb;border-radius:15px;max-width:980px;margin:0 auto;padding:54px 24px}.searching>span{border:3px solid #cbd4cc;border-top-color:var(--green);border-radius:50%;width:35px;height:35px;margin:0 auto 17px;animation:.8s linear infinite spin;display:block}.searching strong,.empty strong{font-family:Georgia,serif;font-size:21px}.searching p,.empty p{color:var(--muted);margin:8px auto 0;font-size:11px;line-height:1.5}.empty button{color:#fff;background:var(--forest);border:0;border-radius:8px;min-height:42px;margin-top:18px;padding:0 17px;font-size:10px;font-weight:850}.fallbacks{border-top:1px solid var(--line);max-width:980px;margin:38px auto 0;padding-top:24px}.fallback-head{justify-content:space-between;gap:12px;margin-bottom:13px;display:flex}.fallback-head strong{font-family:Georgia,serif;font-size:18px}.fallback-head span{color:var(--muted);letter-spacing:.12em;font-size:8px;font-weight:850}.singles{grid-template-columns:repeat(3,minmax(0,1fr))}.singles .match-action{flex-direction:column;align-items:stretch}.singles .match-action a{text-align:center}footer{color:#c6d1c9;background:var(--ink);justify-content:space-between;gap:20px;padding:24px clamp(20px,6vw,92px);font-size:10px;display:flex}footer span{color:var(--lime);font-weight:850}footer p{text-align:right;margin:0}.finder{margin-inline:auto}.hero>.kicker,.hero>h1,.hero>.intro{max-width:980px;margin-inline:auto}.fields select{width:100%;min-width:0;color:var(--ink);background:#fff;border:0;margin-top:8px;font-size:16px;display:block}.fields input{font-size:16px}.fields label>span,fieldset legend{letter-spacing:.03em;font-size:12px}.fields output{margin-top:8px;font-size:16px;display:block}.round-fields{grid-template-columns:1fr}.course-choice label b,.group-choice button,.search-button{font-size:14px}.finder-head small,.section-head small{font-size:13px;line-height:1.5}.concierge{max-width:1164px;margin:0 auto;padding:36px clamp(20px,6vw,92px) 0}.concierge>p{color:var(--muted);font-size:15px;line-height:1.5}.save-row{align-items:end;gap:12px;display:flex}.save-row label{flex:1;min-width:0}.save-row label>span{margin-bottom:6px;font-size:14px;display:block}.save-row input{border:1px solid var(--line);background:var(--paper);border-radius:8px;width:100%;padding:12px}.concierge button{border:1px solid var(--forest);min-height:44px;color:var(--forest);background:var(--paper);border-radius:8px;padding:10px 14px;font-size:14px}.save-row>button{color:#fff;background:var(--forest)}.concierge button:disabled{opacity:.6;cursor:default}.notification-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.notification-row span{color:var(--muted);font-size:13px}.saved-list{gap:12px;display:grid}.saved-list article{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:20px}.saved-list strong{overflow-wrap:anywhere;font-family:Georgia,serif;font-size:22px}.saved-list p{color:var(--muted);margin:8px 0;font-size:14px;line-height:1.6}.saved-list small{color:var(--forest);font-size:14px;line-height:1.5;display:block}.saved-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.match-course small,.match-times>div small,.match-times>div span,.match-action p,.match-action a{font-size:12px}.match-course{flex-wrap:wrap}.match-course>div{flex:1}.match-course strong{white-space:normal;font-size:17px}.match-times{gap:44px}.match-times>div strong{font-size:clamp(24px,3vw,36px)}.match-action{flex-wrap:wrap}.match-action a{min-height:40px}.match-course>span{font-size:10px}.searching p,.empty p,.course-grid span{font-size:14px}.course-grid small,footer{font-size:12px;line-height:1.5}@media (max-width:720px){.topbar{height:66px}.topbar p{font-size:8px}.hero{min-height:auto;padding-top:50px}.intro{margin-bottom:28px}.finder{padding:18px}.fields{grid-template-columns:1fr 1fr}.fields label:first-child{grid-column:1/-1}.round-fields{grid-template-columns:1fr}.save-row{flex-direction:column;align-items:stretch}.course-choice>div,.course-grid{grid-template-columns:1fr 1fr}.course-grid img{height:112px}.match-list,.singles{grid-template-columns:1fr}}@media (max-width:430px){.topbar p{display:none}.hero{padding-inline:14px}h1{font-size:38px}.finder-head .location{display:none}.group-choice{grid-template-columns:1fr}.group-choice legend{grid-column:auto}.course-choice>div{grid-template-columns:1fr 1fr}.course-choice label{padding-inline:8px}.results{padding-inline:14px}.course-grid{grid-template-columns:1fr}.course-grid article{grid-template-columns:108px 1fr;display:grid}.course-grid img{height:100%;min-height:112px}footer{flex-direction:column}footer p{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@keyframes spin{to{transform:rotate(360deg)}}.slot-booking{color:#fff;background:var(--forest);border-radius:8px;align-items:center;gap:6px;margin-top:14px;padding:12px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.slot-booking span{color:var(--lime)}.results-course-picker{align-items:center;gap:12px;margin:0 0 20px;font-weight:600;display:flex}.results-course-picker select{color:#183d2b;font:inherit;background:#fff;border:1px solid #c6cec7;border-radius:8px;max-width:70%;padding:12px}.alert-results{border:1px solid var(--line);background:var(--paper);border-radius:16px;gap:12px;margin-bottom:20px;padding:20px;display:grid}.alert-results>small{color:var(--muted)}.alert-results .results-course-picker{margin:0}.account-controls{border-block:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0;padding:24px 0;display:flex}.account-controls>p{overflow-wrap:anywhere;flex-basis:100%;margin:0 0 4px}.account-sign-in{flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.account-sign-in>span{color:var(--muted);font-size:15px;line-height:1.5}.account-sign-in>a{flex-basis:100%}.concierge .apple-sign-in{background:#000;border:0;border-radius:8px;flex:none;width:240px;max-width:100%;height:48px;padding:0;display:block;overflow:hidden}.apple-sign-in img{object-fit:contain;width:100%;height:48px;display:block}.topbar-actions{align-items:center;gap:24px;display:flex}.profile-button{color:#fff;background:0 0;border:1px solid #91aa9c;border-radius:24px;align-items:center;gap:9px;min-height:44px;padding:10px 14px;font-size:15px;display:flex}.profile-button:hover{background:#ffffff16}.profile-dialog{border:1px solid var(--line);width:min(480px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--ink);background:var(--paper);border-radius:18px;padding:24px;box-shadow:0 20px 80px #0004}.profile-dialog::backdrop{background:#102b24a6}.profile-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.profile-heading h2{margin:0;font-size:24px}.profile-dialog .account-controls{margin:20px 0;padding:20px 0}.profile-dialog .account-sign-in{gap:16px}.profile-dialog p{font-size:15px;line-height:1.5}.profile-note{color:var(--muted)}@media (max-width:520px){.topbar-actions>p{display:none}}.concierge-dialog button,.save-search-button{border:1px solid var(--forest);min-height:44px;color:var(--forest);background:var(--paper);border-radius:8px;padding:10px 14px;font-size:15px}.concierge-dialog button:disabled{opacity:.6}.concierge-dialog .apple-sign-in{background:#000;border:0;width:240px;height:48px;padding:0}.saved-dialog{width:min(720px,100% - 32px)}.save-result{flex-wrap:wrap;align-items:center;gap:12px 20px;margin:20px 0;display:flex}.save-result>span{color:var(--muted);font-size:15px}.save-result>p{flex-basis:100%;margin:0;font-size:15px}.save-search-button{color:#fff;background:var(--forest)}.search-summary{background:#eaf0eb;border-radius:10px;margin:20px 0;padding:16px}.search-summary p:last-child{margin-bottom:0}@media (max-width:520px){.topbar-actions{gap:8px}.topbar-actions .profile-button{padding:8px 10px;font-size:14px}.profile-button svg{display:none}}.edit-search-fields{gap:12px;margin:16px 0;display:grid}.edit-search-fields>label{gap:6px;display:grid}.edit-search-fields input:not([type=checkbox]),.edit-search-fields select{min-height:44px;font:inherit;color:#183d2b;background:#fff;border:1px solid #c7d1c9;border-radius:6px;padding:10px}.edit-search-fields fieldset{border:1px solid #c7d1c9;gap:10px;display:grid}.edit-search-fields fieldset label{align-items:center;gap:10px;min-height:30px;display:flex}.legal-page{max-width:780px;margin:40px auto;padding:24px;line-height:1.7}.legal-page h1{font-size:40px}.legal-page h2{margin-top:28px}.days-trigger{text-align:left;border:1px solid var(--line);min-width:0;min-height:78px;color:var(--ink);background:#fff;border-radius:11px;align-content:center;gap:8px;padding:12px 32px 12px 14px;display:grid;position:relative}.days-trigger>span{color:var(--muted);font-size:14px}.days-trigger>strong{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:500;overflow:hidden}.days-trigger>b{font-size:24px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.date-shortcuts{flex-wrap:wrap;gap:8px;display:flex}.calendar-heading{justify-content:space-between;align-items:center;margin:20px 0 12px;display:flex}.calendar-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-grid>span{color:var(--muted);padding:8px 0;font-size:14px}.calendar-grid button{border-color:#0000;padding:8px 0}.calendar-grid button[aria-pressed=true]{background:var(--forest);color:#fff}.calendar-grid button:disabled{opacity:.3;cursor:default}.days-dialog .apply-dates{background:var(--forest);color:#fff;width:100%}.date-selection{min-height:24px}.repeat-weekend{align-items:center;gap:10px;margin:20px 0;line-height:1.5;display:flex}@media (max-width:720px){.fields .days-trigger{grid-column:1/-1}.fields label:nth-child(2){grid-column:auto}}
