:root{--ink:#342e27;--muted:#786f66;--accent:#9b8571;--dark:#735d45;--line:#e8e0d7;--paper:#fff;--bg:#fbf9f6}*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}body{margin:0;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bba38c;outline-offset:3px}button:disabled{cursor:not-allowed}.top{min-height:105px;border-bottom:1px solid var(--line);padding:20px 6%;display:flex;justify-content:space-between;align-items:center;background:#fff}.back{font-size:12px;color:var(--muted);padding:12px 0}.wordmark{display:inline-flex;flex-direction:column;align-items:center;line-height:1;color:#161513}.wordmark b{font:normal 55px/.85 Georgia,'Times New Roman',serif;letter-spacing:-5px;padding-right:5px}.wordmark span{font-size:8px;font-weight:600;letter-spacing:2px;margin-top:11px}.spacer{width:100px}main{padding:42px 20px 60px;max-width:710px;margin:auto}.eyebrow{text-align:center;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--dark);margin:0 0 14px}h1{text-align:center;font:normal 40px/1.15 Georgia,serif;letter-spacing:-1px;margin:0 0 13px}.intro{text-align:center;color:var(--muted);font-size:13px;line-height:1.7;margin:0 auto 26px}.calendar-card{background:var(--paper);padding:27px 35px;border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 60px #4c34200a}.filter{display:flex;align-items:center;gap:15px;padding-bottom:23px;margin:0 0 22px;border-bottom:1px solid #f0eae3}.filter label{font-size:11px;color:var(--muted)}.filter select{font-size:12px;min-width:0;flex:1;border:1px solid var(--line);border-radius:7px;background:#fff;padding:10px;color:var(--ink);max-width:100%}.month-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:18px}.month-title{text-align:center;font:26px Georgia,serif;text-transform:capitalize;margin:0}.month-head button{height:42px;width:42px;background:none;border:0;border-radius:50%;font-size:25px;color:var(--ink)}.month-head button:hover:not(:disabled){background:#f5efe8}.month-head button:disabled{opacity:.25}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:3px}.weekdays{margin-bottom:9px}.weekdays span{font-size:10px;color:var(--muted);padding:10px 0}.day{position:relative;aspect-ratio:1;border:0;border-radius:50%;background:none;color:var(--ink);font-size:14px;min-width:0;max-height:64px}.day:disabled{color:#c9c2ba}.day:not(:disabled):hover{background:#f3ede6}.day.available:after{content:'';position:absolute;width:4px;height:4px;background:var(--accent);border-radius:50%;bottom:8px;left:calc(50% - 2px)}.day.today{box-shadow:inset 0 0 0 1px #cdbcae}.day.selected{background:var(--dark)!important;color:#fff}.day.selected:after{background:#fff}.legend{display:flex;justify-content:center;gap:20px;font-size:10px;color:var(--muted);margin-top:16px}.legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:6px}.legend i.closed{background:#d5cec6}.status{font-size:12px;color:var(--muted);text-align:center;line-height:1.8;margin:20px 0;overflow-wrap:anywhere}.retry{border:1px solid var(--line);padding:12px 18px;background:#fff;border-radius:7px;color:var(--dark)}.hours{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.hours h2{text-align:center;font:22px Georgia,serif;margin:0 0 8px}.hours p{text-align:center;color:var(--muted);font-size:12px;line-height:1.7}.time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.time{background:#faf7f3;border:1px solid var(--line);border-radius:8px;min-height:53px;padding:11px 6px;color:var(--ink);font-size:14px}.time small{display:block;font-size:10px;color:var(--muted);margin-top:6px;line-height:1.3}.time:hover{border-color:var(--accent);background:#f4ece3}.outside{padding-top:23px;text-align:center}.outside p{font-size:11px;color:var(--muted);line-height:1.8}.outside a{display:inline-block;font-size:12px;color:var(--dark);border-bottom:1px solid #baa18b;padding-bottom:5px}.foot{text-align:center;color:var(--muted);font-size:10px;line-height:1.8;margin-top:26px}dialog{width:calc(100% - 32px);max-width:510px;max-height:90dvh;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:28px;color:var(--ink)}dialog::backdrop{background:#241e1870;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px}dialog h2{font:28px Georgia,serif;margin:0}.close{background:none;border:0;font-size:26px;color:var(--muted);min-width:42px;min-height:42px}.summary{padding:17px;background:#f1eae2;border-radius:7px;font-size:13px;line-height:1.8;margin:18px 0 22px}.summary strong{display:block}form{display:grid;gap:18px}form label{font-size:12px;line-height:1.6}form input,form textarea{display:block;width:100%;background:#fff;border:1px solid #d6cabc;border-radius:6px;margin-top:7px;padding:13px;font-size:16px;color:var(--ink)}form textarea{resize:vertical;min-height:85px}.consent{display:flex;gap:10px;align-items:flex-start;font-size:11px}.consent input{width:18px;height:18px;margin:2px 0;flex-shrink:0}.submit{padding:15px 20px;border:1px solid var(--dark);background:var(--dark);color:white;border-radius:7px;font-size:13px;min-height:49px}.submit:disabled{opacity:.55}.trap{position:absolute;left:-9999px}.micro{font-size:10px;color:var(--muted);line-height:1.8;margin:0}.error{font-size:12px;color:#a13d28;line-height:1.7;margin:0}.success{padding:15px 0;text-align:center}.success .mark{font-size:30px;color:var(--dark);margin-bottom:20px}.success p{font-size:13px;color:var(--muted);line-height:1.8}.success strong{display:block;font-size:20px;font-family:Georgia,serif;margin:20px 0}.success a{display:inline-block;margin-top:15px}[hidden]{display:none!important}@media(max-width:600px){.top{padding:18px 22px;min-height:93px}.wordmark b{font-size:48px}.wordmark span{font-size:7px;letter-spacing:1.5px}.spacer{display:none}.back{max-width:110px;font-size:11px}.wordmark{margin-left:auto}main{padding:30px 16px 40px}h1{font-size:33px}.intro{font-size:12px;margin-bottom:23px}.calendar-card{padding:20px 17px;border-radius:12px}.filter{gap:10px;align-items:start;flex-direction:column;margin-bottom:18px;padding-bottom:18px}.filter select{width:100%;font-size:16px;min-height:45px}.month-title{font-size:23px}.month-head{margin-bottom:13px}.day{font-size:14px}.day.available:after{bottom:5px}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.time{font-size:14px;padding:12px 4px}.time small{font-size:9px}.calendar-card .status{margin-bottom:4px}.legend{gap:15px;font-size:9px}dialog{padding:22px}.summary{padding:14px}.foot{padding-inline:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}dialog::backdrop{backdrop-filter:none}}
