:root{--ink:#24322d;--olive:#52654b;--cream:#f6f4ee;--border:#dddcd4;--muted:#818780}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:var(--olive)}.container{max-width:1120px;margin:auto;padding:26px 22px}.center{min-height:100vh;display:grid;place-items:center;padding:20px}header{justify-content:space-between;padding:10px 0 30px}.brand,header{display:flex;align-items:center}.brand{gap:14px}.mark{display:grid;place-items:center;width:47px;height:47px;border:1px solid var(--olive);border-radius:50%;font-family:Georgia;font-size:15px}.brand h1{font-size:18px;letter-spacing:2px;margin:0}.brand h1 em{font-family:Georgia;font-weight:400}.brand p{font-size:11px;color:var(--muted);margin:5px 0 0;letter-spacing:1px}.header-actions{display:flex;align-items:center;gap:15px}.ghost,.linkbtn{background:transparent;border:0;color:var(--olive);text-decoration:underline}.hero{background:#dfe4d9;min-height:260px;border-radius:18px;display:flex;justify-content:space-between;align-items:center;padding:38px 54px;margin-bottom:26px;overflow:hidden}.hero h2{font-family:Georgia,serif;font-size:clamp(32px,5vw,54px);font-weight:400;line-height:1.07;margin:18px 0}.hero h2 i{color:#708368;font-weight:400}.hero p{font-size:14px;color:#68776c}.hero-symbol{font-size:220px;color:#b4c3af;line-height:.7}.eyebrow{font-size:10px;letter-spacing:2px;color:#75816e;font-weight:700}.columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr);grid-gap:24px;gap:24px;align-items:start}.panel{background:white;border:1px solid #ecebe4;border-radius:16px;padding:27px;margin-bottom:20px;box-shadow:0 3px 20px #24322d08}.panel h3{font-family:Georgia;font-size:25px;font-weight:400;margin:12px 0 21px}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.resource{border:1px solid var(--border);border-radius:12px;background:white;display:flex;flex-direction:column;align-items:center;gap:7px;padding:20px 6px;color:var(--ink)}.resource.selected{background:#edf1e9;border:2px solid var(--olive);padding:19px 5px}.resource-icon{font-size:31px;color:var(--olive)}.muted,.resource small,small{color:var(--muted)}.section-gap{display:block;margin-top:31px}.date-label{display:flex;flex-direction:column;gap:9px;font-size:13px}.auth input,.date-label input{padding:13px;border:1px solid var(--border);border-radius:9px;background:white;color:var(--ink);width:100%}.times{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:9px;gap:9px}.times button{padding:12px 4px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--ink)}.times button.active{background:var(--olive);color:white}.summary{background:#f5f6f1;border-radius:10px;padding:17px;margin-top:28px}.summary div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;font-size:13px}.summary span{color:var(--muted)}.auth form button,.primary{width:100%;padding:15px;background:var(--olive);border:0;color:white;border-radius:9px;margin-top:16px;font-weight:600}.primary:disabled{opacity:.5;cursor:not-allowed}.member button,.mybooking button,.secondary{padding:10px 14px;background:white;border:1px solid var(--olive);color:var(--olive);border-radius:8px}.button-link{display:inline-block;text-decoration:none}.muted{font-size:13px;line-height:1.5}.booking,.member,.mybooking{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #eeeee8;padding:13px 0;font-size:13px}.booking div,.member div,.mybooking div{display:flex;flex-direction:column;gap:6px}.booking span{font-weight:600;color:var(--olive)}.mybooking button{padding:7px 10px}.notice{padding:14px;border-radius:9px;margin-bottom:20px}.error{background:#fff0ee;color:#9a3426}.success{background:#e9f1e6;color:#3e6941}.auth{width:min(440px,100%)}.auth form{gap:15px}.auth form,.auth label{display:flex;flex-direction:column}.auth label{gap:7px;font-size:13px}.auth p{font-size:13px}.auth p,footer{color:var(--muted)}footer{text-align:center;font-size:11px;margin:45px 0 10px}.member small{display:block}@media(max-width:760px){.container{padding:15px}.hero{padding:28px;min-height:220px}.hero-symbol{display:none}.columns{grid-template-columns:1fr}.panel{padding:20px}.times{grid-template-columns:repeat(3,1fr)}.header-actions{gap:8px;font-size:12px}.brand h1{font-size:15px}}