.book-page{padding:0 clamp(22px,5vw,78px) 65px;background:#f4f1ea;color:#2d3d2c}.book-hero{max-width:1300px;margin:auto;padding:145px 0 45px}.book-kicker{font-size:9px;font-weight:650;letter-spacing:.18em;color:#8d977f;margin:0 0 18px}.book-hero h1{font:500 clamp(3rem,5.5vw,5.8rem)/1.04 var(--display);letter-spacing:-.04em;margin:0 0 22px}.book-hero h1 em{color:#7b8d6e;font-weight:400}.book-hero>p:last-child{font-size:12px;color:#8b8c7d}.book-layout{max-width:1300px;margin:auto;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:35px;align-items:start}.book-form{display:grid;gap:24px}.book-panel{display:block;margin:0;padding:28px;border:1px solid #e4e2d6;border-radius:7px;background:#fffdf9;min-width:0}.book-panel legend{float:left;display:flex;align-items:center;gap:12px;font:500 24px var(--display);margin:0 0 20px}.book-panel legend>span{font:10px monospace;display:grid;place-items:center;width:29px;height:29px;background:#f0f3ea;color:#8a9a7c;border-radius:6px}.book-panel>*:not(legend){clear:both}.book-help{font-size:10px;line-height:1.8;color:#949483;margin:0 0 20px}.book-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.book-service{position:relative;display:block;border:1px solid #e1e4d6;border-radius:5px;overflow:hidden;cursor:pointer}.book-service input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}.book-service img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;object-fit:contain}.book-service>span{display:block;font-size:9px;font-weight:650;padding:10px;text-align:center}.book-service:has(input:checked){border-color:#667e52;box-shadow:0 0 0 1px #667e52}.book-service:has(input:focus-visible){outline:2px solid #71895e;outline-offset:3px}.book-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.book-panel label:not(.book-service){font-size:10px;font-weight:650;color:#68765d;letter-spacing:.02em}.book-panel label small{font-size:8px;font-weight:400;color:#aaa896}.book-panel input:not([type=radio]),.book-panel select,.book-panel textarea{font:11px var(--body);border-radius:4px;border-color:#dddccf;background:#fffefa;min-width:0;color:#48573c}.book-panel input:focus,.book-panel select:focus,.book-panel textarea:focus{outline:2px solid #94a786;outline-offset:2px}.book-panel input::placeholder,.book-panel textarea::placeholder{color:#aba99a}.book-panel textarea{line-height:1.8}.booking-calendar{border:1px solid #e1e5d9;border-radius:7px;padding:20px;max-width:520px;margin:auto;background:#fafbf7}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px}.calendar-toolbar h2{font:500 19px var(--display);margin:0}.calendar-toolbar button{width:32px;height:32px;border:1px solid #e1e5d8;background:white;border-radius:5px;color:#728667;cursor:pointer}.calendar-toolbar button:disabled{opacity:.35;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.calendar-weekdays{font-size:9px;color:#929b85;margin-bottom:10px}.calendar-days button{min-height:42px;border:1px solid transparent;background:#fff;color:#546946;border-radius:5px;font:11px var(--body);cursor:pointer}.calendar-days button:hover:not(:disabled){background:#e6eedc;border-color:#bbcbac}.calendar-days button:disabled{color:#c0c3b8;background:#f0f1eb;cursor:default;text-decoration:line-through}.calendar-days button.is-selected{background:#536d41;color:white}.calendar-days button[aria-current=date]{border-color:#97aa84}.calendar-days button:focus-visible{outline:2px solid #71895e;outline-offset:2px}.calendar-status{font-size:9px;line-height:1.7;color:#8e997f;margin:15px 0}.calendar-key{display:flex;flex-wrap:wrap;gap:15px;font-size:8px;color:#929982;border-top:1px solid #e5e8dd;padding-top:12px}.calendar-key span:before{content:'';display:inline-block;width:7px;height:7px;border:1px solid #d3deca;background:#fff;margin-right:5px;border-radius:2px}.calendar-key span:nth-child(2):before{background:#e3e6dc}.calendar-key span:nth-child(3):before{background:#536d41}.book-summary{position:sticky;top:120px;padding:25px;border:1px solid #dddccf;background:#eaece1;border-radius:7px}.book-summary img{display:block;width:100%;height:210px;object-fit:cover;margin:20px 0;border-radius:4px}.book-summary h2{font:500 34px/1.05 var(--display);margin:0 0 20px;letter-spacing:-.03em}.book-summary dl{margin:0 0 20px}.book-summary dl>div{padding:13px 0;border-bottom:1px solid #d4d9c8}.book-summary dt{font-size:8px;color:#909b7f;text-transform:uppercase;letter-spacing:.1em}.book-summary dd{font-size:11px;margin:5px 0 0}.book-summary>p:not(.book-kicker){font-size:10px;color:#8a927c;line-height:1.9}.book-summary>a{display:block;font-size:10px;margin-top:22px;text-decoration:underline;text-underline-offset:5px}.book-sidebar{align-self:stretch}.book-submit-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-top:12px}.book-submit-row .button{background:#425d35;color:#fff;border:0;border-radius:4px;font-size:10px;letter-spacing:.03em;text-transform:none;display:inline-flex;gap:26px;padding:15px 20px}.book-submit-row p{font-size:9px;color:#a0a38f;max-width:220px;line-height:1.8;margin:0}.book-error,.book-notice{padding:20px;border:1px solid #e7c5b6;background:#fff2e9;color:#a1694b;font-size:11px;border-radius:5px}.book-error ul{padding-left:18px;line-height:1.8;margin:10px 0 0}.book-notice{border-color:#d3dfc8;background:#edf3e6;color:#6b8256}.book-notice p{margin:8px 0 0}@media(max-width:1000px){.book-layout{grid-template-columns:minmax(0,1fr) 270px;gap:22px}.book-services{grid-template-columns:repeat(3,minmax(0,1fr))}.book-panel{padding:22px}.book-fields{grid-template-columns:1fr}.book-summary{padding:20px}.book-summary img{height:170px}}@media(max-width:750px){.book-hero{padding-top:125px}.book-layout{grid-template-columns:1fr}.book-sidebar{order:-1}.book-summary{position:static}.book-summary img,.book-summary>p,.book-summary>a,.book-summary h2{display:none}.book-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:0}.book-summary dl>div{border:0;padding:0}.book-summary dl>div:last-child{display:none}.book-summary .book-kicker{margin-bottom:15px}.book-fields{grid-template-columns:1fr 1fr}.book-services{grid-template-columns:repeat(4,minmax(0,1fr))}.book-hero h1{font-size:clamp(2.5rem,7vw,3.5rem)}.book-hero>p:last-child{font-size:11px}.book-panel legend{font-size:21px}.calendar-days button{min-height:37px}.booking-calendar{padding:15px}}@media(max-width:430px){.book-services{grid-template-columns:repeat(2,minmax(0,1fr))}.book-fields{grid-template-columns:1fr}.book-panel{padding:20px 16px}.calendar-days{gap:3px}.calendar-days button{min-height:35px}.calendar-toolbar h2{font-size:17px}}

/* Captions are part of the artwork; retain the text label for accessibility. */
.book-service>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.book-service{background:#fffdf9;transition:border-color .2s,box-shadow .2s,transform .2s}
.book-service:hover{border-color:#94a786;transform:translateY(-2px)}
.book-service:has(input:checked)::after{content:'?';position:absolute;top:8px;right:8px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#536d41;color:#fff;font-size:13px;box-shadow:0 2px 8px #0002}
