*{box-sizing:border-box}body{margin:0;background:#f4f1eb;color:#242622;font-family:Arial,Helvetica,sans-serif;-webkit-text-size-adjust:100%}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #9a752d;outline-offset:3px}[hidden]{display:none!important}.site-header{max-width:1200px;margin:auto;padding:30px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ded8cc}.brand{text-decoration:none;color:#2b2b24;font:30px Georgia,serif;letter-spacing:3px;white-space:nowrap}.brand span{color:#9a752d}.brand small{display:block;font:8px Arial;letter-spacing:2.3px;margin-top:7px}.header-back{font-size:13px;text-decoration:none;color:#4e5047}.booking-layout{max-width:1200px;margin:55px auto 75px;padding:0 28px;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(440px,1.15fr);gap:70px;align-items:start}.intro{padding-top:24px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2.2px;color:#90702f;margin:0 0 22px}.intro h1{font:clamp(38px,4.4vw,60px)/1.08 Georgia,serif;letter-spacing:-1.8px;margin:0 0 26px;max-width:520px}.intro-copy{font-size:17px;line-height:1.8;color:#66685d;max-width:410px}.details{margin-top:35px;border-top:1px solid #dcd6ca}.details div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #dcd6ca;padding:15px 0;font-size:13px}.details dt{color:#73766b}.details dd{margin:0;font-weight:600}.help{margin-top:30px;line-height:1.8;font-size:13px;color:#707365}.help a{color:#5a5e4d}.booking-card{background:#fff;border:1px solid #e7e1d6;border-radius:22px;padding:30px;box-shadow:0 18px 60px #352f1c08;min-width:0}.notice{font-size:14px;line-height:1.7;color:#555e4b;margin:0 0 14px;overflow-wrap:anywhere}.notice:empty{display:none}.notice.error{padding:13px;background:#fff2e9;border:1px solid #efc2a1;color:#8b3c20;border-radius:8px}.steps{list-style:none;padding:0;margin:0 0 30px;display:flex;gap:18px;justify-content:space-between;border-bottom:1px solid #eeebe4;padding-bottom:18px;font-size:12px;color:#a0a397}.steps li{display:flex;align-items:center;gap:7px}.steps li.active{color:#836125;font-weight:bold}.month-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 20px}.month-heading h2{font:24px Georgia;margin:0}.month-heading nav{display:flex;gap:8px}.month-heading nav button{height:38px;width:38px;border:1px solid #e3ded3;background:#fff;border-radius:50%;font-size:24px}.weekday,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{font-size:11px;text-align:center;color:#8a8e80;margin-bottom:10px}.calendar button{border:1px solid transparent;min-height:47px;background:#f0f3eb;color:#39452e;border-radius:10px;font-size:14px;position:relative}.calendar button small{display:block;font-size:7px;color:#8d7137;line-height:7px}.calendar button:disabled{background:#f7f7f4;color:#a3a69c;opacity:.7}.calendar button.selected,.slots button.selected{background:#4b5640;color:white;border-color:#4b5640}.calendar button.selected small{color:#dec180}#slots-panel{margin-top:26px;border-top:1px solid #eeebe4;padding-top:20px}h3{font-size:14px;font-weight:600;margin:0 0 15px}.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.slots button{min-height:45px;background:white;border:1px solid #b7bea9;border-radius:8px;color:#4b5640;font-size:14px}.calendar-note{font-size:11px;color:#8b8e83;line-height:1.7;margin:25px 0 0;border-top:1px solid #eeebe4;padding-top:18px}h2{font:28px/1.2 Georgia,serif;margin:20px 0}.text-button{background:transparent;border:0;padding:0;color:#7a6334;font-size:13px;min-height:32px}.chosen-time{background:#f4f2ec;padding:14px;border-radius:8px;font-size:14px;line-height:1.7}label{display:block;font-size:13px;font-weight:600;margin:19px 0 8px}input{width:100%;border:1px solid #dcded5;background:#fff;border-radius:8px;padding:13px;font-size:16px;min-height:49px;color:#252c20}.privacy{font-size:11px;line-height:1.7;color:#777d6d;margin:22px 0}.privacy a{color:#63512b}.primary,.secondary{border-radius:8px;padding:15px 19px;min-height:48px;font-weight:600;font-size:14px;border:1px solid #a58441;text-decoration:none;display:inline-block}.primary{background:#ae8a46;color:white;width:100%;text-align:center}.secondary{background:white;color:#7f632d}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.site-footer{max-width:1200px;margin:0 auto;padding:20px 28px 30px;border-top:1px solid #ded8cc;display:flex;justify-content:space-between;gap:18px;font-size:10px;color:#838678}.site-footer nav{display:flex;gap:18px}.site-footer a{color:inherit}dialog{border:1px solid #e3dccd;border-radius:18px;padding:30px;width:min(92vw,490px);box-shadow:0 20px 100px #0003;color:#303429}dialog::backdrop{background:#20271c88}.dialog-close{position:absolute;right:14px;top:8px;font-size:28px;border:0;background:transparent;color:#777}.dialog-actions{display:flex;gap:12px;margin-top:25px}.dialog-actions .primary{width:auto;flex:1}#confirmation-details{line-height:1.8;padding:17px;background:#f5f2ec;border-radius:9px;font-size:14px;overflow-wrap:anywhere}#confirmation-details p{margin:3px 0}#confirmation-note{font-size:12px;line-height:1.7;color:#7c806e}.result-icon{display:flex;justify-content:center;align-items:center;width:54px;height:54px;border-radius:50%;background:#edf3e5;color:#6b7f4f;font-size:26px}.result-box{padding:20px;background:#f6f4ef;border-radius:12px;font-size:14px;line-height:1.8;margin:20px 0;overflow-wrap:anywhere}.manage-actions{display:grid;gap:12px;margin-top:20px}.subtle{font-size:12px;line-height:1.7;color:#7c806e}.error{color:#94451f}.brand:focus-visible{outline-offset:8px}@media(max-width:800px){.booking-layout{grid-template-columns:1fr;gap:24px;max-width:600px;margin:20px auto 35px;padding:0 20px}.site-header{padding:22px 20px}.intro{padding-top:10px}.intro h1{font-size:38px;letter-spacing:-1px;margin-bottom:17px}.eyebrow{margin-bottom:15px;font-size:10px}.intro-copy{font-size:15px;line-height:1.7;margin-bottom:20px;max-width:none}.details{display:flex;gap:17px;flex-wrap:wrap;margin:0;border:0}.details div{display:block;border:0;padding:0;font-size:11px}.details dd{margin-top:5px}.help{display:none}.booking-card{padding:22px;border-radius:18px}.steps{margin-bottom:24px;gap:10px}.month-heading h2{font-size:23px}.calendar button{min-height:47px}.site-footer{padding:20px;line-height:1.7;flex-wrap:wrap}.brand{font-size:25px}.brand small{font-size:6px;letter-spacing:1.9px}.header-back{font-size:11px}}@media(max-width:370px){.booking-layout{padding:0 12px}.booking-card{padding:17px}.intro h1{font-size:34px}.steps li{gap:4px}.steps{font-size:11px}.calendar,.weekday{gap:4px}.dialog-actions{flex-direction:column}}
