/* Contact: one clear booking route, with direct contact and a short enquiry form. */
html{scroll-behavior:smooth;scroll-padding-top:110px}
#whc-contact .site{font-size:18px;line-height:1.8}
#whc-contact [hidden]{display:none!important}
#whc-contact a{color:inherit;text-underline-offset:5px}
#whc-contact .nav-item{font-size:15px;text-decoration:none}
#whc-contact .primary{font-size:16px;text-decoration:none;padding:17px 23px;box-shadow:0 10px 24px #0003;cursor:pointer}
#whc-contact .primary:hover{box-shadow:0 13px 30px #0005}
#whc-contact .dark .primary:hover{background:#f6e4c5;border-color:#f6e4c5;color:#101918}
#whc-contact .text-action{font-size:16px;text-decoration:none}
#whc-contact :is(a,button,input,textarea,summary):focus-visible{outline:3px solid #007c73;outline-offset:5px}
#whc-contact .dark :focus-visible,#whc-contact .masthead :focus-visible{outline-color:#f6e4c5}
#whc-contact h2{font-size:clamp(34px,3.7cqw,48px);text-wrap:balance}
#whc-contact .eyebrow{font-size:12px}
#whc-contact .contact-opening{padding-top:54px;padding-bottom:60px}
#whc-contact .contact-opening-grid{display:grid;grid-template-columns:.85fr 1.35fr;gap:90px;align-items:start}
#whc-contact .contact-opening h1{font-size:clamp(42px,4.8cqw,66px);line-height:1.12}
#whc-contact .contact-duration{border-left:2px solid #89a99c;padding-left:22px;margin:32px 0 0;color:#c5ded9;font-size:17px;line-height:1.7}
#whc-contact .contact-duration span{color:#fff}
#whc-contact .contact-opening-copy{max-width:780px;padding-top:5px}
#whc-contact .contact-opening-copy>p{font-size:21px}
#whc-contact .contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;margin-top:28px}
#whc-contact .contact-actions a{margin:0}
#whc-contact .contact-actions .text-action{font-size:18px}
#whc-contact .contact-booking{padding-top:58px;padding-bottom:54px}
#whc-contact .contact-section-intro{max-width:1030px;margin:0 0 34px}
#whc-contact .contact-section-intro .eyebrow{margin-bottom:18px;font-size:18px}
#whc-contact .contact-direct>.eyebrow{font-size:18px}
#whc-contact .contact-section-intro h2{margin-bottom:24px}
#whc-contact .contact-section-intro>p:not(.eyebrow){max-width:1030px;font-size:19px}
#whc-contact .contact-calendar-frame{container:booking-frame / inline-size;max-width:1030px;margin-inline:0;background:linear-gradient(120deg,#0b1113 5%,#142a2b 65%,#244440);border:1px solid #244440;padding:12px;box-shadow:0 24px 48px #0b111345,0 8px 18px #0b111324}
/* Calendly's desktop card has 66px above and 30px below; balance the white surround without cropping the embed. */
#whc-contact .contact-calendar-surface{background:#fff;box-shadow:0 12px 28px #0007,0 3px 10px #0005}
#whc-contact .contact-calendar-surface::after{content:"";display:block;height:36px;background:#fff}
/* In Calendly's two-column layout, match the vertical surround to the 800px card's side margins. */
@container booking-frame (min-width:1000px){
 #whc-contact .contact-calendar-surface::before{content:"";display:block;height:calc((100cqw - 800px)/2 - 66px)}
 #whc-contact .contact-calendar-surface::after{height:calc((100cqw - 800px)/2 - 30px)}
}
#whc-contact .contact-calendar{height:740px;min-width:0;background:#fff}
#whc-contact .contact-calendar iframe{width:100%;min-width:0;border:0}
#whc-contact .calendar-loading{padding:40px;color:#164a47}
#whc-contact .calendar-alternative{font-size:15px;margin-top:20px;color:#164a47}
#whc-contact .contact-enquiry{background:#eaf1ed;border-top:1px solid #bacdc4;padding-top:72px;padding-bottom:76px}
#whc-contact .contact-enquiry-grid{display:grid;grid-template-columns:.85fr 1.35fr;gap:80px;align-items:start}
#whc-contact .contact-direct h2{max-width:420px}
#whc-contact .contact-channels{margin-top:36px}
#whc-contact .contact-channels>a{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #9cb9aa;padding:22px 0;text-decoration:none;color:#164a47;min-height:80px}
#whc-contact .channel-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px;color:#42665d}
#whc-contact .channel-value{display:block;font-size:clamp(16px,1.6cqw,21px);overflow-wrap:anywhere}
#whc-contact .whatsapp-value{display:flex;align-items:center;gap:12px}
#whc-contact .whatsapp-icon{width:24px;height:24px;flex:0 0 24px}
#whc-contact .contact-channels>a:hover .channel-value{text-decoration:underline;text-underline-offset:5px}
#whc-contact .contact-form-panel{background:#f8f8f6;border:1px solid #b4c7bd;border-top:4px solid #164a47;padding:34px 36px 38px}
#whc-contact .contact-form-panel h3{font-size:29px;font-weight:600;color:#164a47}
#whc-contact #enquiry-guidance{font-size:17px}
#whc-contact .form-preview-note{font:14px/1.5 Arial,sans-serif;color:#42665d;padding:12px 14px;border:1px dashed #9cb9aa;background:#eaf1ed}
#whc-contact .contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:23px 22px;margin-top:28px}
#whc-contact .field{min-width:0}
#whc-contact .field-message{grid-column:1/-1}
#whc-contact label{display:block;font-size:15px;font-weight:600;margin-bottom:8px;color:#183e3b}
#whc-contact label span{font-size:13px;font-weight:400;white-space:nowrap}
#whc-contact input,#whc-contact textarea{display:block;width:100%;border:1px solid #7f9e92;border-radius:2px;background:#fff;color:#181c1b;font:400 17px/1.5 'Manrope',Arial,sans-serif;padding:12px 13px;min-height:50px}
#whc-contact textarea{resize:vertical;min-height:150px}
#whc-contact input[aria-invalid=true],#whc-contact textarea[aria-invalid=true]{border:2px solid #963b31}
#whc-contact .field-error{display:block;font-size:14px;line-height:1.5;color:#963b31;margin-top:8px}
#whc-contact .form-error-summary,#whc-contact .form-failure{border-left:3px solid #963b31;padding:16px 20px;background:#f5ece7;margin:20px 0;color:#682d27;font-size:16px}
#whc-contact .form-error-summary p{margin:0 0 8px}
#whc-contact .form-error-summary ul{margin:0;padding-left:20px}
#whc-contact .form-error-summary a{display:inline-block;padding:4px 0}
#whc-contact .form-failure p{margin-bottom:12px}
#whc-contact form>.primary{margin-top:26px;min-width:195px}
#whc-contact form>.primary:disabled{cursor:wait;opacity:.75}
#whc-contact .form-success{border-top:1px solid #9cb9aa;padding-top:30px;margin-top:28px}
#whc-contact .contact-location{display:grid;grid-template-columns:.85fr 1.35fr;gap:90px;align-items:start;padding-top:64px;padding-bottom:70px}
#whc-contact .contact-location h2{font-size:clamp(40px,4.4cqw,58px)}
#whc-contact .contact-location>div:last-child{padding-top:8px;font-size:20px}
#whc-contact .site-footer .wordmark{font-size:22px}
@container(max-width:1050px){
 #whc-contact .contact-opening-grid,#whc-contact .contact-enquiry-grid,#whc-contact .contact-location{gap:40px;grid-template-columns:.85fr 1.15fr}
 #whc-contact .contact-fields{grid-template-columns:1fr}
 #whc-contact .contact-form-panel{padding:26px}
}
@container(max-width:760px){
 #whc-contact .contact-opening-grid,#whc-contact .contact-enquiry-grid,#whc-contact .contact-location{grid-template-columns:1fr;gap:34px}
 #whc-contact .contact-duration{margin-top:22px}
 #whc-contact .contact-opening-copy>p{font-size:19px}
 #whc-contact .contact-location>div:last-child{font-size:18px;padding:0}
 #whc-contact .contact-calendar-frame{padding:12px}
 #whc-contact .contact-calendar-surface::after{display:none}
 #whc-contact .contact-calendar{height:1050px}
 #whc-contact .contact-channels{margin-top:24px}
 #whc-contact .channel-value{font-size:19px}
}
@container(max-width:600px){
 #whc-contact .contact-opening h1{font-size:38px}
 #whc-contact section{padding:46px 24px 50px}
 #whc-contact .contact-actions{gap:16px}
 #whc-contact .primary{font-size:15px;width:100%}
 #whc-contact .contact-section-intro>p:not(.eyebrow){font-size:18px}
 #whc-contact .contact-form-panel{padding:24px 20px}
 #whc-contact .contact-form-panel h3{font-size:26px}
 #whc-contact .site-footer .wordmark{font-size:18px;white-space:normal}
 #whc-contact .contact-calendar-frame{margin-inline:-24px;border-inline:0;padding:12px 4px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#whc-contact .form-success{border-top:0;padding-top:0;margin-top:0}

#whc-contact #calendar-status{padding:24px 20px;margin:0;text-align:center;color:#164a47}
#whc-contact #calendar-status[hidden]{display:none}
