.contact-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;white-space:nowrap!important}
.contact-email-alternative{margin-top:.8rem}
.contact-fallback-button{appearance:none;border:0;padding:.3rem 0;background:transparent;color:var(--ink,#0c243c);font:inherit;font-size:.85rem;font-weight:400;line-height:1.5;text-decoration:underline;text-underline-offset:.22em;cursor:pointer}
.contact-fallback-button:hover{color:var(--accent,#008fac)}
.contact-fallback-button:focus-visible{outline:2px solid var(--accent,#008fac);outline-offset:5px;border-radius:2px}
.contact-form[aria-busy="true"] button[type="submit"]{cursor:wait;opacity:.65}
.form-status[data-contact-state="error"]{color:#8a2434}
.form-status[data-contact-state="accepted"]{color:#145a48}
.section.contact-booking-section{padding-top:0;padding-bottom:64px}
.contact-booking-section .contact-booking{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;margin:0;padding:36px 40px;border:1px solid var(--lux-silver,#dce0e4);border-top:2px solid var(--gold,#80652e);border-radius:18px;background:#fff;box-shadow:0 16px 44px -32px rgba(65,57,38,.22)}
.contact-booking-copy{max-width:660px}
.contact-booking .eyebrow{margin:0 0 12px;color:var(--gold,#80652e)}
.contact-booking h2{margin:0 0 14px;font-family:var(--sans,"Tenor Sans",sans-serif);font-size:clamp(1.6rem,2.6vw,2.25rem);font-weight:400;line-height:1.25;letter-spacing:-.025em;scroll-margin-top:130px}
.contact-booking-copy>p:not(.eyebrow){max-width:600px;margin:0;color:var(--lux-muted,#626870);font-size:.95rem;line-height:1.75}
.contact-booking-action{display:flex;flex-direction:column;align-items:flex-end;gap:17px;max-width:340px}
.contact-booking-icon{display:grid;place-items:center;width:48px;height:48px;color:var(--gold,#80652e);border:1px solid var(--lux-silver,#dce0e4);border-radius:50%;background:#fff}
.contact-booking-icon svg{width:28px;height:28px}
.contact-booking-action .btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;max-width:100%;font-size:.85rem;line-height:1.5;text-align:center}
.contact-booking-action .btn svg{width:18px;height:18px;flex:none}
.contact-booking-action .btn:focus-visible{outline:2px solid var(--gold,#80652e);outline-offset:5px}
.contact-booking[hidden],.contact-email-alternative[hidden],[data-booking-load][hidden],[data-booking-disable][hidden],[data-booking-host][hidden]{display:none!important}
@media(max-width:800px){.section.contact-booking-section{padding-bottom:44px}.contact-booking-section .contact-booking{grid-template-columns:minmax(0,1fr);gap:24px;padding:27px 24px}.contact-booking-action{flex-direction:row;align-items:center;justify-content:flex-start;max-width:none;gap:16px}.contact-booking-icon{flex:none}.contact-booking-action .btn{min-height:48px}}
@media(max-width:420px){.contact-booking-section .contact-booking{padding:25px 20px}.contact-booking-action{display:block}.contact-booking-icon{display:none}.contact-booking-action .btn{width:100%}}

.contact-booking-action .booking-external{justify-content:flex-end;gap:10px;font-size:.8rem;line-height:1.5;text-align:right}
.contact-booking-action .booking-external svg{width:16px;height:16px;flex:none}
.contact-booking-calendar{grid-column:1/-1;min-width:0;border-top:1px solid var(--lux-silver,#dce0e4);padding-top:22px}
.contact-booking .booking-consent{max-width:950px;margin:0 0 17px;color:var(--lux-muted,#626870);font-size:.8rem;line-height:1.8}
.booking-consent a{text-decoration:underline;text-underline-offset:3px}
.booking-frame-host{width:100%;min-width:0;overflow:hidden;border:1px solid var(--lux-silver,#dce0e4);border-radius:12px;background:#fff;scroll-margin-top:130px}
.booking-frame{display:block;width:100%;height:760px;border:0;background:#fff}
.booking-calendar-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;margin-top:12px}
.contact-booking .booking-status{margin:0;color:var(--lux-muted,#626870);font-size:.78rem;line-height:1.7}
.booking-disable{appearance:none;border:0;background:transparent;color:var(--gold,#80652e);padding:8px 0;min-height:44px;font:inherit;font-size:.8rem;line-height:1.5;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.booking-disable:focus-visible,.booking-consent a:focus-visible,.booking-external:focus-visible,.booking-frame:focus-visible{outline:2px solid var(--gold,#80652e);outline-offset:4px}
@media(max-width:800px){.contact-booking-action{flex-wrap:wrap}.contact-booking-action .booking-external{justify-content:flex-start;text-align:left}.contact-booking-calendar{padding-top:19px}.booking-frame{height:800px}}
@media(max-width:420px){.contact-booking-action .booking-external{margin-top:15px}.booking-frame{height:820px}}

/* The local Wairua shell frames Google's independent booking document. */
.contact-booking-section .booking-shell{overflow:hidden;min-width:0;border:1px solid var(--lux-silver,#dce0e4);border-top:2px solid var(--gold,#80652e);border-radius:15px;background:#fff;box-shadow:0 9px 28px -22px rgba(62,54,37,.19)}
.contact-booking-section .booking-shell-header{display:flex;align-items:center;gap:20px;min-height:110px;padding:22px 28px;background:linear-gradient(105deg,#fff 0%,#fff 65%,#faf9f6 100%)}
.contact-booking-section .booking-shell-emblem{display:block;flex:none;width:64px;height:64px;margin:0;object-fit:contain}
.contact-booking-section .booking-shell-heading{min-width:0}
.contact-booking-section .booking-panel-title{margin:0 0 7px;padding:0;color:var(--lux-ink,#1b1c1e);font-family:var(--sans,"Tenor Sans",sans-serif);font-size:1.35rem;font-weight:400;line-height:1.35;letter-spacing:-.015em}
.contact-booking-section .booking-panel-note{margin:0;color:var(--gold,#80652e);font-family:var(--sans,"Tenor Sans",sans-serif);font-size:.78rem;line-height:1.65;letter-spacing:.02em}
.contact-booking-section .booking-shell .booking-frame-host{margin:0;border:0;border-top:1px solid var(--lux-silver,#dce0e4);border-radius:0;background:#fff}
.contact-booking-section .booking-shell .booking-frame{display:block;background:#fff}
@media(max-width:800px){.contact-booking-section .booking-shell-header{gap:17px;min-height:100px;padding:20px 22px}.contact-booking-section .booking-shell-emblem{width:56px;height:56px}.contact-booking-section .booking-panel-title{font-size:1.2rem}}
@media(max-width:420px){.contact-booking-section .booking-shell-header{align-items:flex-start;gap:13px;min-height:94px;padding:19px 16px}.contact-booking-section .booking-shell-emblem{width:45px;height:45px}.contact-booking-section .booking-panel-title{font-size:1.08rem;line-height:1.4}.contact-booking-section .booking-panel-note{font-size:.73rem;line-height:1.7}}
@media(max-width:640px){.contact-booking-section>.container{width:calc(100% - 20px);padding-inline:0}.contact-booking-section .contact-booking{padding:25px 14px}.contact-booking-section .booking-shell{width:calc(100% + 28px);margin-inline:-14px;border-inline:0;border-radius:0}.contact-booking-section .booking-shell-header{padding-inline:15px}}

.contact-booking-section [data-booking-load]{white-space:normal;overflow-wrap:anywhere}
