/* Direct contact first; address and practical help follow. */
.contact-hub-hero{padding:64px 0 0}
.contact-hub-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:35px}
.contact-hub-heading h1{font-size:clamp(3rem,5.8vw,5.2rem);line-height:1.05;letter-spacing:-.055em}
.contact-hub-heading>p{max-width:390px;justify-self:end;padding-bottom:6px;font-size:1.125rem;line-height:1.75;color:var(--muted)}
.contact-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.contact-channel{display:flex;flex-direction:column;min-width:0;text-decoration:none;padding:29px 28px 22px;background:#f4f6f6;border:1px solid #e0e5e6;color:var(--ink)}
.contact-channel-top{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:26px}
.contact-channel-top h2{font-size:1rem;letter-spacing:0;line-height:1.5;font-weight:600}
.contact-channel-top svg{width:28px;height:28px;stroke-width:1.65;color:var(--accent)}
.contact-channel-value{font-size:clamp(1.6rem,2.5vw,2.125rem);line-height:1.25;letter-spacing:-.035em;font-weight:600;overflow-wrap:anywhere}
.contact-channel-description{font-size:1rem;line-height:1.7;color:var(--muted);margin-top:14px;margin-bottom:25px;max-width:310px}
.contact-channel-action{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1rem;font-weight:600;line-height:1.6;margin-top:auto;min-height:48px;padding-top:17px;border-top:1px solid #c7d0d2}
.contact-channel-action svg{width:22px;height:22px}
.contact-channel:hover{border-color:var(--accent)}
.contact-channel:hover .contact-channel-action{text-decoration:underline;text-underline-offset:5px}
.contact-channel-phone{color:#fff;background:var(--accent);border-color:var(--accent)}
.contact-channel-phone .contact-channel-top svg,.contact-channel-phone .contact-channel-description{color:#fff}
.contact-channel-phone .contact-channel-action{border-color:#ffffff70}
.contact-channel-phone:hover{background:#b92d10;border-color:#b92d10}
.contact-existing-booking{display:flex;justify-content:space-between;align-items:center;gap:18px 40px;margin-top:26px;padding:22px 0;border-bottom:1px solid #d9e0e2}
.contact-existing-booking p{font-size:1rem;line-height:1.7;color:var(--muted);max-width:735px}
.contact-existing-booking strong{color:var(--ink);font-weight:600}
.contact-existing-booking>a{font-size:.9375rem;font-weight:600;min-height:44px;display:inline-flex;align-items:center;gap:14px;flex-shrink:0}
.contact-existing-booking>a:hover{color:var(--accent)}
.contact-help-section{padding:76px 0}
.contact-help-layout{display:grid;grid-template-columns:.9fr 1.3fr;gap:105px}
.contact-help-layout h2,.contact-visit-copy h2{font-size:clamp(2.2rem,3.6vw,3.125rem);line-height:1.12;letter-spacing:-.045em}
.contact-help-layout>div:first-child>p:not(.section-label){font-size:1.0625rem;line-height:1.8;color:var(--muted);max-width:345px;margin-top:19px}
.contact-help-links{border-top:1px solid #aebdc3}
.contact-help-link{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:22px;padding:25px 0;border-bottom:1px solid #c9d2d5;text-decoration:none}
.contact-help-link h3{font-size:1.25rem;line-height:1.35;letter-spacing:-.025em;font-weight:600;margin-bottom:8px}
.contact-help-link p{font-size:1rem;line-height:1.7;color:var(--muted);max-width:510px}
.contact-help-link svg{color:var(--accent)}
.contact-help-link:hover h3{color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.contact-visit-section{padding:0 0 75px}
.contact-visit-layout{display:grid;grid-template-columns:1.07fr 1fr;min-width:0;background:#f2f5f5}
.contact-visit-photo{min-width:0;position:relative;min-height:560px;overflow:hidden;background:#233d45}
.contact-visit-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center}
.contact-visit-photo figcaption{position:absolute;inset:auto 0 0;padding:70px 27px 23px;color:#fff;background:linear-gradient(0deg,#10262eb3,transparent);font-size:.9375rem;line-height:1.5}
.contact-visit-copy{padding:47px 44px}
.contact-visit-copy h2{max-width:450px}
.contact-visit-copy address{font-style:normal;font-size:1.25rem;font-weight:600;line-height:1.6;margin-top:23px;letter-spacing:-.02em}
.contact-visit-copy address span{display:block;font-size:1rem;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:1px}
.contact-visit-copy>.section-button{margin-top:23px;min-height:54px;font-size:1rem}
.contact-visit-note{margin-top:27px;padding-top:24px;border-top:1px solid #c8d2d5}
.contact-visit-note h3{font-size:1.0625rem;line-height:1.5;letter-spacing:-.01em;font-weight:600;margin-bottom:8px}
.contact-visit-note p{font-size:1rem;line-height:1.75;color:var(--muted)}
.contact-delivery-links{display:flex;flex-wrap:wrap;gap:5px 25px;margin-top:18px}
.contact-delivery-links a{font-size:.9375rem;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600}
.contact-delivery-links a:hover{color:var(--accent)}
.contact-delivery-links svg{width:18px;height:18px}
@media(max-width:1100px){
 .contact-hub-heading{gap:35px}.contact-channels{gap:17px}.contact-channel{padding:25px 23px 20px}
 .contact-channel-value{font-size:1.75rem}.contact-channel-description{margin-bottom:23px}
 .contact-help-layout{gap:65px}.contact-visit-copy{padding:37px 32px}
 .contact-existing-booking{gap:25px}.contact-existing-booking p{max-width:620px}
}
@media(max-width:850px){
 .contact-hub-hero{padding-top:43px}.contact-hub-heading{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
 .contact-hub-heading>p{justify-self:start;max-width:580px;padding:0}
 .contact-channels{grid-template-columns:1fr 1fr;gap:18px}
 .contact-channel-phone{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:0 30px}
 .contact-channel-phone .contact-channel-top{grid-column:1/-1;margin-bottom:18px}
 .contact-channel-phone .contact-channel-description{grid-column:1;max-width:510px;margin-bottom:5px}
 .contact-channel-phone .contact-channel-action{grid-column:2;grid-row:2/4;border-top:0;padding:0;min-width:145px;align-self:center;margin:0}
 .contact-channel-value{font-size:2rem}.contact-channel-top{margin-bottom:20px}
 .contact-existing-booking{align-items:flex-start;flex-direction:column;gap:5px;padding-top:20px}
 .contact-existing-booking>a{font-size:1rem}
 .contact-help-section{padding:55px 0}.contact-help-layout{grid-template-columns:.8fr 1.2fr;gap:35px}
 .contact-visit-layout{grid-template-columns:1fr 1.1fr}.contact-visit-copy{padding:32px 28px}
 .contact-visit-copy h2{font-size:2.25rem}.contact-visit-photo{min-height:540px}
 .contact-visit-section{padding-bottom:55px}
}
@media(max-width:650px){
 .contact-hub-hero{padding-top:34px}.contact-hub-heading h1{font-size:clamp(2.75rem,10vw,3.5rem)}
 .contact-hub-heading .section-label{margin-bottom:12px}.contact-hub-heading>p{font-size:1.0625rem}
 .contact-channels{grid-template-columns:1fr;gap:14px}
 .contact-channel,.contact-channel-phone{display:flex;padding:22px 23px 18px;gap:0}
 .contact-channel-top,.contact-channel-phone .contact-channel-top{margin-bottom:15px}
 .contact-channel-value{font-size:1.875rem}.contact-channel-description{margin-top:10px;margin-bottom:14px;max-width:none}
 .contact-channel-phone .contact-channel-description{margin-bottom:14px;max-width:none}
 .contact-channel-action,.contact-channel-phone .contact-channel-action{align-self:stretch;border-top:1px solid #c7d0d2;padding-top:12px;min-width:0;min-height:46px;margin-top:auto}
 .contact-channel-phone .contact-channel-action{border-color:#ffffff70}
 .contact-existing-booking{margin-top:17px;padding:15px 0 19px}
 .contact-help-layout{grid-template-columns:1fr;gap:26px}.contact-help-layout>div:first-child>p:not(.section-label){max-width:none;margin-top:16px}
 .contact-help-layout h2{font-size:2.25rem}.contact-help-link{padding:22px 0}
 .contact-visit-layout{grid-template-columns:1fr}.contact-visit-photo{min-height:0;aspect-ratio:1.75;order:2}
 .contact-visit-photo img{object-position:54% center}.contact-visit-copy{padding:30px 25px;order:1}
 .contact-visit-copy h2{font-size:2.25rem}.contact-visit-copy>.section-button{width:100%}
 .contact-visit-photo figcaption{padding:50px 24px 17px;font-size:.875rem}
 .contact-help-section{padding:45px 0}.contact-visit-section{padding-bottom:42px}
}
