:root{--ink:#0B2E1F;--muted:#67756d;--paper:#F5F0E5;--line:#ddd5c5;--lime:#E5C58D;--white:#fffefa;--red:#a13c2c;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{outline-offset:5px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400}h1{font-size:clamp(2.7rem,5vw,4.8rem);letter-spacing:.06em;line-height:1.05}h2{font-size:2.2rem;letter-spacing:.06em}h3{font-size:1rem}.eyebrow{text-transform:uppercase;font-size:.69rem;letter-spacing:.18em;font-weight:700}.muted{color:var(--muted)}.small{font-size:.8rem}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,serif;font-size:1.25rem;line-height:1}.brand img{width:37px;height:37px}.brand span small{display:block;letter-spacing:.18em;font:9px system-ui;margin-top:5px}.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:var(--white);gap:20px}.nav{display:flex;gap:26px;align-items:center}.nav a{text-decoration:none;font-size:.83rem;padding:10px 0;border-bottom:2px solid transparent}.nav a.active{border-color:var(--ink);font-weight:650}.pill{font-size:.66rem;letter-spacing:.04em;border:1px solid currentColor;border-radius:30px;padding:5px 10px;white-space:nowrap}.wrap{max-width:1320px;margin:auto;padding:44px 5vw 64px}.heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}.heading h1{margin-bottom:16px}.heading p:last-child{margin-bottom:0}.balance{background:var(--ink);color:var(--paper);padding:24px 28px;min-width:245px;border-radius:4px}.balance strong{font:2.8rem Georgia,serif}.balance .eyebrow{color:var(--lime);margin-bottom:8px}.balance a{font-size:.78rem;display:block;margin-top:14px}.balance p{margin-bottom:5px;font-size:.8rem}.layout{display:grid;grid-template-columns:1fr 285px;gap:32px;align-items:start}.card{background:var(--white);border:1px solid var(--line);padding:24px;border-radius:5px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}.date-controls,.segmented{display:flex;gap:8px;align-items:center}.button{background:var(--ink);color:white;border:1px solid var(--ink);padding:12px 18px;border-radius:3px;font-size:.83rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.lime{background:var(--lime);color:var(--ink);border-color:var(--lime)}.button.danger{background:transparent;color:var(--red);border-color:#e8c5bf}.button.compact{padding:8px 12px;font-size:.75rem}.legend{display:flex;gap:18px;font-size:.7rem;color:var(--muted);margin-bottom:20px;flex-wrap:wrap}.dot{width:7px;height:7px;display:inline-block;background:var(--ink);border-radius:50%;margin-right:6px}.dot.taken{background:#c7cbc6}.dot.paid{background:#ae8a37}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.slot{position:relative;text-align:left;padding:18px 16px;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--ink);min-height:99px;transition:background .15s,border-color .15s}.slot:hover:not(:disabled),.slot.selected{background:#edf2df;border-color:var(--ink)}.slot.selected{box-shadow:inset 0 0 0 1px var(--ink)}.slot strong{display:block;font-size:1.13rem;font-weight:500;letter-spacing:-.02em;margin-bottom:9px}.slot small{font-size:.68rem}.slot:disabled{background:#efefea;color:#6c746f;opacity:.8}.slot b{position:absolute;right:12px;top:16px;font-size:.8rem}.side .card{margin-bottom:18px}.side h3{margin-bottom:18px}.side p{font-size:.8rem;line-height:1.6}.side label{margin-bottom:14px}.rule{display:flex;gap:10px;border-top:1px solid var(--line);padding:13px 0 0;margin-top:13px}.rule span{color:var(--muted);font-size:.8rem}.rule strong{font-size:.8rem}.session-art{height:145px;background:#e4e9d7;position:relative;overflow:hidden;border-radius:3px;margin-bottom:20px}.session-art:before{content:"";position:absolute;background:#c7d9a1;width:260px;height:180px;border-radius:50%;transform:rotate(-18deg);top:44px;left:-17px}.session-art:after{content:"⚑";font-size:95px;position:absolute;left:125px;top:-4px;color:var(--ink)}.ball{position:absolute;z-index:1;left:85px;top:98px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:2px 3px 0 #acbd8d}.notice{padding:13px 15px;background:#f1f3e9;border-left:3px solid #9dac71;font-size:.78rem;line-height:1.5;margin:18px 0}.error{color:var(--red);background:#fae9e3;border-color:var(--red)}label{display:block;font-size:.8rem;font-weight:600}input,select{width:100%;margin-top:7px;padding:11px 12px;border:1px solid #cbd0c6;border-radius:3px;background:var(--white);color:var(--ink)}input[type=date]{width:auto;margin:0;padding:8px}.full{width:100%}.login-layout{display:grid;grid-template-columns:1.05fr 1fr;min-height:calc(100vh - 120px)}.login-hero{background:var(--ink);color:var(--paper);padding:75px 7vw;display:flex;flex-direction:column;justify-content:space-between;min-height:600px}.login-hero h1{font-size:clamp(3rem,5vw,5.5rem);margin-top:36px}.login-hero em{color:var(--lime);font-weight:400}.login-hero p{color:#c5d1c3;font-size:.9rem;line-height:1.7;max-width:330px}.login-form{padding:64px 7vw;display:flex;align-items:center}.login-form form{width:100%;max-width:380px;margin:auto}.login-form h2{font-size:2.7rem;margin:18px 0}.login-form label{margin:22px 0}.login-form .button{margin-top:10px}.footer{border-top:1px solid var(--line);padding:24px 5vw;display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem;gap:20px}.booking-list{display:grid;gap:16px}.booking-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.booking-row h3{font:1.4rem Georgia;margin:10px 0}.status{font-size:.68rem;background:#e8eedb;padding:5px 8px;border-radius:2px;display:inline-block}.status.closed{background:#eee9e2}.audit{font-size:.72rem;line-height:1.6;list-style:none;padding:0;max-height:340px;overflow:auto}.audit li{border-top:1px solid var(--line);padding:10px 0}.week{display:grid;gap:22px}.week h3{text-transform:capitalize}.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:900px}.plan h2{margin:22px 0}.plan .price{font:2.5rem Georgia}.plan ul{padding-left:18px;line-height:2;font-size:.85rem}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10;background:var(--ink);color:white;padding:16px 24px;border-radius:4px;box-shadow:0 4px 24px #0002;max-width:90vw;font-size:.85rem}#toast:empty{display:none}.loading{padding:50px}.empty{padding:35px;text-align:center;color:var(--muted)}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}@media(max-width:950px){.topbar{padding:0 24px}.nav{gap:16px}.wrap{padding:32px 24px}.layout{grid-template-columns:1fr 245px;gap:22px}.slots{grid-template-columns:repeat(2,1fr)}.balance{min-width:210px}.login-hero{padding:60px 35px}.login-form{padding:35px}.side .card{padding:18px}}@media(max-width:680px){.topbar{height:auto;min-height:78px;flex-wrap:wrap;padding:20px;gap:18px}.brand{font-size:1.1rem}.nav{width:100%;justify-content:space-between;gap:10px}.nav a{font-size:.73rem}.nav .button{font-size:.7rem;padding:7px 8px}.wrap{padding:30px 18px}.heading{display:block}.heading h1{font-size:2.8rem}.balance{margin-top:24px;display:flex;gap:20px;align-items:center;justify-content:space-between}.balance strong{font-size:2.3rem}.balance a{margin:0}.layout{display:flex;flex-direction:column}.layout>*,.side{width:100%}.slots{grid-template-columns:repeat(2,1fr);gap:9px}.slot{min-height:89px;padding:14px}.toolbar{align-items:start}.date-controls{gap:5px}.card{padding:18px}.side .session-art{display:none}.login-layout{display:block}.login-hero{min-height:auto;padding:36px 24px}.login-hero h1{font-size:3rem;margin:25px 0}.login-hero .hero-bottom{display:none}.login-form{padding:35px 24px}.booking-row{align-items:start;flex-direction:column;gap:12px}.plans{grid-template-columns:1fr}.footer{flex-direction:column;gap:8px}}

.mt20{margin-top:20px}.session-title{margin:12px 0 20px}.rule-note{margin:18px 0 0}.mb0{margin-bottom:0}@media(max-width:680px){.balance{display:block}.balance a{margin-top:12px}}

.receipt{max-width:460px;margin:25px 0}.receipt>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.9rem}.receipt dd{margin:0;font-variant-numeric:tabular-nums}.receipt-total{font-weight:700;color:var(--ink)}

/* Deep green, champagne and cream follow the supplied Birdie identity. */
h1,h2,h3.serif{text-transform:uppercase;letter-spacing:.09em}h1{font-size:clamp(2.2rem,4.2vw,4rem);line-height:1.14}h2{font-size:1.8rem}p{line-height:1.65}.topbar{background:var(--ink);color:var(--paper);border-color:#ffffff20}.brand{gap:14px}.brand .brand-bird{width:50px;height:50px;object-fit:contain}.brand .brand-name{display:block;width:220px;height:auto}.brand span small{font-size:8px;letter-spacing:.15em;color:var(--lime);margin-top:8px}.topbar .button.secondary{color:var(--paper);border-color:#ffffff50}.nav a.active{border-color:var(--lime)}.login-hero em{font-style:normal}.login-hero{background:linear-gradient(#0b2e1fe8,#0b2e1fe8),url('/brand/hero-1920.webp') center/cover}.session-art{background:var(--ink) url('/brand/bird.png') center/contain no-repeat}.session-art:before,.session-art:after,.session-art .ball{display:none}.slot.selected,.slot:hover:not(:disabled){background:#f1e7d4}.status{background:#eee2c9}.notice{background:#f0eadc;border-color:#ac8b4d}.notice.error{background:#fae9e3;border-color:var(--red)}.button{font-weight:500}.button:focus-visible,a:focus-visible{outline:3px solid #b08b42}.login-form h2{font-size:2rem}.heading h1{overflow-wrap:anywhere}@media(max-width:680px){.brand .brand-name{width:200px}.heading h1{font-size:2.2rem}.login-hero h1{font-size:2.5rem}.topbar{padding:18px}.login-hero{padding:42px 24px}}

.landing-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);min-height:680px}.hero-copy{padding:55px 6vw 65px;align-self:center}.hero-bird{object-fit:contain;margin-bottom:22px}.hero-copy h1{font-size:clamp(2.5rem,4.2vw,4.6rem);margin-bottom:24px}.hero-copy>p:not(.eyebrow){max-width:380px}.tagline{font-size:.68rem;letter-spacing:.22em;color:var(--lime);white-space:nowrap}.hero-copy .button{margin-top:20px}.hero-photo{width:100%;height:100%;object-fit:cover;min-height:680px}.landing-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding-top:90px;padding-bottom:90px}.landing-story img{width:100%;height:360px;object-fit:cover}.landing-story h2{line-height:1.5}.landing-plans{padding-top:60px;border-top:1px solid var(--line)}.plan-intro{text-align:center}.plan-intro h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.3}.provisional{font-size:.75rem;color:#73551f}.billing-toggle{display:flex;justify-content:center;gap:8px;margin:30px 0 18px}.membership-section>.small{text-align:center}.plans{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;margin:28px 0}.plan{display:flex;flex-direction:column;padding:30px 24px}.plan h3{font-size:1.6rem;margin:24px 0}.plan .price{font-size:2.1rem;margin-bottom:0}.plan .price span{display:block;font: .78rem system-ui;margin-top:8px}.plan ul{flex:1;line-height:1.7;margin-bottom:30px}.plan li{margin-bottom:10px}.plan:nth-child(2){border-color:#a98a4f}.registration{max-width:720px}.registration h1{font-size:2.7rem}.registration form{margin-top:28px}.registration label{margin:22px 0}.registration h2{font-size:1.4rem}@media(max-width:950px){.plans{gap:12px}.plan{padding:24px 18px}.plan .price{font-size:1.8rem}.plan h3{font-size:1.3rem}}.hero-frame{display:block;min-height:680px;height:100%}.hero-frame .hero-photo{display:block}@media(max-width:680px){.landing-hero{display:flex;flex-direction:column}.hero-copy{padding:38px 24px 45px;align-self:stretch}.hero-copy h1{font-size:2.5rem}.hero-frame,.hero-frame .hero-photo,.hero-photo{min-height:0;height:340px;object-position:center}.tagline{font-size:.61rem;letter-spacing:.14em}.landing-story{grid-template-columns:1fr;gap:30px;padding-top:48px;padding-bottom:48px}.landing-story img{height:300px}.landing-story h2{font-size:1.6rem}.plans{grid-template-columns:1fr;gap:20px}.plan{padding:28px}.plan h3{font-size:1.7rem}.plan .price{font-size:2.5rem}.billing-toggle .button{font-size:.74rem;padding:12px}.landing-plans{padding-top:40px}.registration h1{font-size:2.1rem}}
