.contact-hero{position:relative;min-height:600px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.contact-hero-media,.contact-hero-shade{position:absolute;inset:0}.contact-hero-shade{z-index:1;background:linear-gradient(90deg,rgba(7,32,27,.87),rgba(7,32,27,.2) 76%),linear-gradient(0deg,rgba(7,32,27,.52),transparent 60%)}.contact-hero-copy{position:relative;z-index:2;padding-bottom:72px}.contact-hero h1{margin:0;font:500 clamp(58px,7.3vw,100px)/.98 var(--serif);letter-spacing:-.045em}.contact-hero h1 em,.contact-options h2 em,.contact-enquiry h2 em,.contact-location h2 em,.contact-closing h2 em{color:var(--gold);font-weight:500}.contact-hero-copy>p:last-child{max-width:590px;margin:28px 0 0;color:rgba(255,255,255,.72);font-size:15px;line-height:1.7}.contact-scroll{position:absolute;z-index:3;right:4vw;bottom:38px;display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.72);font-size:8px;letter-spacing:.16em;text-transform:uppercase}.contact-scroll span{width:42px;height:1px;background:var(--gold)}
.contact-options{background:var(--cream)}.contact-options-head{margin-bottom:55px;display:flex;align-items:end;justify-content:space-between;gap:60px}.contact-options h2,.contact-enquiry h2,.contact-location h2{margin:0;font:500 clamp(44px,5.7vw,78px)/1.04 var(--serif);letter-spacing:-.04em}.contact-options-head>p{max-width:390px;margin:0 0 5px;color:#64716d;font-size:14px;line-height:1.8}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.contact-cards>a{min-height:300px;padding:30px;display:flex;align-items:flex-start;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:color .3s,background-color .3s}.contact-cards>a>span{color:#9a7c46;font-size:8px}.contact-card-icon{width:38px;height:38px;margin:42px 0 auto}.contact-card-icon svg{width:100%;height:100%;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.contact-cards h3{margin:0 0 8px;font:500 25px var(--serif)}.contact-cards p{margin:0 0 20px;color:#677570;font-size:11px}.contact-cards b{font-size:8px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.contact-cards>a:hover{color:#fff;background:var(--green)}.contact-cards>a:hover p{color:rgba(255,255,255,.6)}
.contact-enquiry{color:#fff;background:var(--green)}.contact-enquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(60px,10vw,145px)}.enquiry-copy>p:not(.eyebrow){max-width:470px;margin:30px 0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.8}.enquiry-assurance{max-width:390px;padding:15px;display:flex;align-items:center;gap:13px;border:1px solid rgba(255,255,255,.18)}.enquiry-assurance svg{width:30px;height:30px;fill:none;stroke:var(--gold);stroke-width:1.5}.enquiry-assurance span{display:flex;flex-direction:column;gap:3px}.enquiry-assurance b{font-size:10px}.enquiry-assurance small{color:rgba(255,255,255,.5);font-size:8px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.field{display:flex;flex-direction:column;gap:8px}.field-full{grid-column:1/3}.field label{color:rgba(255,255,255,.6);font-size:8px;letter-spacing:.12em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;padding:13px 0;border:0;border-bottom:1px solid rgba(255,255,255,.28);border-radius:0;outline:0;color:#fff;background:transparent;font:13px var(--sans)}.field select option{color:var(--green);background:var(--cream)}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.contact-form .button{width:100%;margin-top:5px}.form-note{margin:0;color:rgba(255,255,255,.42);font-size:8px;text-align:center}
.contact-location{background:var(--paper)}.contact-location-head{margin-bottom:55px;display:grid;grid-template-columns:1fr .72fr;gap:clamp(60px,10vw,150px);align-items:end}.contact-location address{color:#64716d;font-size:14px;font-style:normal;line-height:1.85}.contact-map{position:relative;height:560px;padding:0;overflow:hidden;background:#dfe4df}.contact-map iframe{width:100%;height:100%;border:0;filter:saturate(.65) contrast(.95)}.map-card{position:absolute;left:25px;bottom:25px;width:min(330px,calc(100% - 50px));padding:24px;color:#fff;background:rgba(13,46,39,.94);backdrop-filter:blur(10px)}.map-card>span{color:var(--gold);font-size:8px;letter-spacing:.12em;text-transform:uppercase}.map-card>b{display:block;margin:30px 0;font:500 24px/1.5 var(--serif)}
.arrival-info{color:#fff;background:#0f332c}.arrival-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid rgba(255,255,255,.16)}.arrival-grid>div{min-height:200px;padding:30px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.16)}.arrival-grid span{color:var(--gold);font-size:8px}.arrival-grid h3{margin:auto 0 8px;font:500 22px var(--serif)}.arrival-grid p{margin:0;color:rgba(255,255,255,.5);font-size:10px;line-height:1.5}.contact-closing{position:relative;height:640px;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center}.contact-closing-media,.contact-closing-shade{position:absolute;inset:0}.contact-closing-shade{z-index:1;background:rgba(7,32,27,.65)}.contact-closing-copy{position:relative;z-index:2}.contact-closing h2{margin:0 0 38px;font:500 clamp(54px,7vw,92px)/1.02 var(--serif);letter-spacing:-.04em}
@media(max-width:900px){.contact-hero{min-height:560px}.contact-options-head{align-items:flex-start;flex-direction:column}.contact-cards{grid-template-columns:1fr}.contact-cards>a{min-height:240px}.contact-enquiry-grid,.contact-location-head{grid-template-columns:1fr}.arrival-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.contact-hero{min-height:530px}.contact-hero-copy{padding-bottom:92px}.contact-hero h1{font-size:54px}.contact-scroll{right:20px;bottom:68px}.contact-form{grid-template-columns:1fr}.field-full{grid-column:1}.contact-map{width:calc(100% - 36px);height:500px}.arrival-grid{grid-template-columns:1fr}.arrival-grid>div{min-height:150px}.contact-closing{height:580px}.contact-closing h2{font-size:53px}}

/* Arrival calendar */
.arrival-field{position:relative;min-width:0}
.arrival-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:13px 0;border:0;border-bottom:1px solid rgba(255,255,255,.28);color:#fff;background:transparent;font:13px var(--sans);text-align:left;cursor:pointer}
.arrival-trigger svg{width:19px;height:19px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.arrival-trigger[aria-expanded=true]{border-color:var(--gold)}
.arrival-calendar{position:absolute;right:0;top:100%;z-index:20;width:328px;max-width:calc(100vw - 40px);padding:20px;border:1px solid #ded8c8;border-radius:16px;color:#163e34;background:#fffdf7;box-shadow:0 20px 60px #061f1a45;font-family:var(--sans)}
.arrival-calendar[hidden]{display:none}
.arrival-calendar-head{display:flex;align-items:center;gap:8px;margin-bottom:22px}
.arrival-calendar-head>div{flex:1}
.arrival-calendar-head small{display:block;margin-bottom:7px;color:#82704e;font-size:9px;letter-spacing:.16em}
.arrival-calendar-head strong{font-size:17px;font-weight:600}
.arrival-calendar button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.arrival-calendar-head button{width:34px;height:34px;border:1px solid #e5e0d5;border-radius:50%;font-size:24px;line-height:1}
.arrival-weekdays,.arrival-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.arrival-weekdays{margin-bottom:10px;color:#7b8279;font-size:10px}
.arrival-days button{aspect-ratio:1;border-radius:50%;font-size:12px}
.arrival-days button[aria-current=date]{box-shadow:inset 0 0 0 1px #b89a60}
.arrival-calendar button:hover{background:#eee8d9}
.arrival-days button.is-selected{background:#173f35;color:#fff;box-shadow:none}
.arrival-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:16px;padding-top:12px;border-top:1px solid #e7e2d7}
.arrival-calendar-footer button{min-height:32px;padding:4px;border-radius:5px;font-size:11px;font-weight:600}
.arrival-calendar-footer span{color:#7b8279;font-size:9px}
.arrival-trigger:focus-visible,.arrival-calendar button:focus-visible{outline:2px solid #b89a60;outline-offset:3px}
@media(max-width:680px){.arrival-calendar{left:0;right:auto}}

.arrival-calendar button:disabled{color:#b8bab3;cursor:not-allowed;background:transparent;box-shadow:none}
.field input[type="time"]{color-scheme:dark;min-height:46px}
.field-error{margin:0;color:#ffcec3;font:12px/1.5 var(--sans)}

/* Time picker shares the calendar's cream, forest-green and gold palette. */
.checkin-time-field{position:relative;min-width:0}
.checkin-time-picker{position:absolute;right:0;top:100%;z-index:21;width:310px;max-width:calc(100vw - 40px);padding:20px;border:1px solid #ded8c8;border-radius:16px;color:#163e34;background:#fffdf7;box-shadow:0 20px 60px #061f1a45;font-family:var(--sans)}
.checkin-time-picker[hidden]{display:none}
.checkin-time-head small{display:block;margin-bottom:7px;color:#82704e;font-size:9px;letter-spacing:.16em}
.checkin-time-head strong{display:block;font-size:17px;font-weight:600}
.checkin-time-head>span{display:block;margin-top:7px;color:#7b8279;font-size:11px}
.checkin-time-columns{display:grid;grid-template-columns:1fr 1fr .9fr;gap:12px;margin-top:20px}
.checkin-column-label{display:block;margin-bottom:8px;color:#7b8279;font-size:10px;text-align:center}
.checkin-time-options{position:relative;display:flex;flex-direction:column;gap:4px;height:180px;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid #e7e2d7;border-radius:10px;scrollbar-width:thin;scrollbar-color:#d1c5aa transparent}
.checkin-time-picker button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.checkin-time-options button{flex-shrink:0;min-height:38px;width:100%;border-radius:7px;font-size:14px}
.checkin-time-picker button:hover{background:#eee8d9}
.checkin-time-options button[aria-selected=true]{background:#173f35;color:#fff}
.checkin-time-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid #e7e2d7}
.checkin-time-footer button{min-height:38px;padding:9px 14px;border-radius:8px;font-size:12px}
.checkin-time-footer button[data-time-done]{background:#173f35;color:#fff;padding-inline:24px}
.checkin-time-footer button[data-time-done]:hover{background:#245648}
.checkin-time-picker button:focus-visible{outline:2px solid #b89a60;outline-offset:-2px}
@media(max-width:680px){.checkin-time-picker{left:0;right:auto}}
