.contact-hero{min-height:510px}.contact-hero .hero-content{padding-top:28px;padding-bottom:135px}.contact-hero h1{font-size:clamp(3.3rem,5vw,5rem)}.contact-hero .hero-copy{max-width:510px;font-size:1.05rem}.contact-hero>.wave-ribbon{height:125px}.contact-main{position:relative;isolation:isolate;padding:20px 0 100px}.contact-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:24px;align-items:start}.contact-left,.contact-right{display:grid;gap:24px}.contact-right{grid-column:2;grid-row:1/3}.contact-panel{background:linear-gradient(140deg,#fff,#f9fcfe);border:1px solid #d9e8f1;border-radius:10px;padding:28px}.contact-panel h2{font-size:clamp(2rem,2.7vw,2.65rem);margin-bottom:17px}.contact-panel .eyebrow{font-size:.7rem;letter-spacing:.16em;margin-bottom:9px}.corporate-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.contact-details{font-style:normal;display:grid;gap:24px;padding-top:8px;min-width:0}.contact-details>div{display:flex;align-items:flex-start;gap:14px;min-width:0}.contact-details>div>svg{color:var(--blue);width:24px;height:24px;flex-shrink:0;margin-top:3px}.contact-details h3{font-size:1.45rem;margin-bottom:7px}.contact-details p,.contact-details a{font-size:.9rem;line-height:1.7;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline}.contact-map{padding:16px;border:1px solid var(--line);border-radius:9px;min-width:0}.contact-map h3{font-size:1.4rem;margin-bottom:12px}.map-container{background:#eaf4f9;border-radius:8px;overflow:hidden}.map-container iframe{display:block;width:100%;height:230px;border:0}.map-note{font-size:.75rem;line-height:1.5;margin-top:9px}.contact-map .button{font-size:.72rem;padding:12px 15px;margin-top:15px;width:100%;gap:7px}.reserve-enquiry>p:not(.eyebrow){font-size:.925rem}.reserve-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;margin:18px 0 22px}.reserve-contact-grid .about-checks{margin:0;gap:10px}.reserve-contact-grid .about-checks li{font-size:.9rem}.reserve-contact-grid figure{position:relative;overflow:hidden;border-radius:12px}.reserve-contact-grid img{width:100%;height:205px}.reserve-contact-grid figcaption,.contact-tall-image figcaption{position:absolute;bottom:10px;right:10px;padding:3px 7px;background:#032440a8;color:white;font-size:.65rem}.reserve-enquiry .button{font-size:.75rem;padding:13px 18px}.contact-form{margin-top:20px;gap:18px}.contact-form>label,.visit-fields>label{display:block;font-size:.875rem;font-weight:700}.contact-form label>span[aria-hidden]{color:#ab3030}.contact-form input:not([type=checkbox]):not([type=radio]),.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:7px;background:#f8fbfd;border:1px solid #c5d8e5;border-radius:6px;padding:12px;font:inherit;font-weight:400;color:var(--navy);font-size:16px;min-width:0}.contact-form textarea{resize:vertical;min-height:100px;max-height:350px}.contact-form textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.required-note{font-size:.75rem;margin:0}.contact-form fieldset{border:0;padding:0;margin:0;min-width:0}.contact-form legend{font-size:.875rem;font-weight:700;margin-bottom:12px}.interest-options{display:grid;grid-template-columns:1fr 1fr;gap:11px 16px}.interest-options label{display:flex;align-items:flex-start;gap:8px;font-size:.85rem;font-weight:400;line-height:1.5}.interest-options input,.contact-consent input{width:17px!important;height:17px;min-height:0;flex-shrink:0;margin:2px 0 0;accent-color:var(--blue)}.contact-form .contact-consent{display:flex;align-items:flex-start;gap:10px;font-size:.78rem;font-weight:400;line-height:1.6;color:var(--text)}.inline-policy{border:0;background:none;padding:0;color:var(--blue);text-decoration:underline;font:inherit;display:inline}.contact-form .button{width:fit-content;font-size:.8rem}.contact-form .form-note{font-size:.78rem}.contact-status{font-size:.85rem;color:var(--blue)}.contact-status:empty{display:none}.contact-tall-image{position:relative;overflow:hidden;border-radius:18px 6px 70px 6px}.contact-tall-image img{width:100%;height:500px;object-position:60% center}.visit-panel{grid-column:1;grid-row:2;width:calc(100% + 75px);z-index:2;box-shadow:0 12px 35px #07365b0c}.visit-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:19px 16px}.visit-actions{display:flex;gap:20px;align-items:center}.visit-actions .button{flex-shrink:0}.contact-main>.wave-ribbon{height:65px;opacity:.2}.departments-section{position:relative;isolation:isolate;padding:5px 0 135px}.departments-section h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:25px}.department-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.department-grid article{border:1px solid var(--line);border-radius:9px;padding:25px 16px;background:linear-gradient(145deg,white,#f6fbfe);text-align:center;display:flex;align-items:center;flex-direction:column;transition:transform .3s,box-shadow .3s;min-width:0}.department-grid article>svg{color:var(--blue);width:33px;height:33px;margin-bottom:16px}.department-grid h3{font-size:1.45rem;line-height:1.2;min-height:54px;margin-bottom:15px}.department-grid a{font-size:.8rem;overflow-wrap:anywhere;max-width:100%;line-height:1.6}.department-grid .department-email{font-size:.75rem;color:var(--text);margin:8px 0 18px}.department-action{display:flex;align-items:center;gap:5px;color:var(--blue);font-weight:700;margin-top:auto}.department-action svg{width:15px;height:15px}.departments-section>.wave-ribbon{height:90px}
@media(hover:hover) and (pointer:fine){.department-grid article:hover{transform:translateY(-4px);box-shadow:0 15px 30px #07365b12}.department-grid a:hover{text-decoration:underline}}
@media(max-width:1150px){.contact-layout{grid-template-columns:1.2fr 1fr}.corporate-grid{grid-template-columns:1fr}.contact-details{grid-template-columns:1fr 1fr;gap:20px}.contact-map .map-container iframe{height:220px}.visit-panel{width:100%}.visit-fields{grid-template-columns:1fr 1fr}.visit-actions{align-items:flex-start;flex-direction:column}.department-grid{grid-template-columns:repeat(3,1fr)}.contact-panel{padding:23px}.contact-details>div{gap:9px}.reserve-contact-grid{grid-template-columns:1fr}.reserve-contact-grid img{height:190px}.contact-tall-image img{height:650px}}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr}.contact-right{grid-column:auto;grid-row:auto}.visit-panel{grid-column:auto;grid-row:auto}.contact-tall-image img{height:300px}.corporate-grid{grid-template-columns:1fr 1fr}.contact-details{grid-template-columns:1fr}.reserve-contact-grid{grid-template-columns:1fr 1fr}.contact-panel{padding:27px}.department-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.contact-hero{min-height:750px}.contact-hero .hero-content{padding-top:24px;padding-bottom:355px}.contact-hero h1{font-size:3.3rem}.contact-hero .hero-copy{font-size:.95rem}.contact-hero>.wave-ribbon{height:85px}.contact-main{padding-top:10px}.contact-panel{padding:23px 20px}.corporate-grid{grid-template-columns:1fr}.contact-details{gap:22px}.contact-map .map-container iframe{height:230px}.reserve-contact-grid{grid-template-columns:1fr}.reserve-contact-grid img{height:210px}.visit-fields{grid-template-columns:1fr}.interest-options{grid-template-columns:1fr 1fr;gap:12px}.contact-form .button{width:100%}.visit-actions{align-items:stretch}.department-grid{gap:12px}.department-grid article{padding:23px 12px}.department-grid h3{font-size:1.3rem}.department-grid article:last-child{grid-column:1/-1}.department-grid h3{min-height:0}.departments-section{padding-bottom:105px}.departments-section>.wave-ribbon{height:70px}}

.contact-hero{min-height:430px}.contact-hero .hero-content{padding-top:45px;padding-bottom:110px}.contact-hero .hero-copy{max-width:500px}.interest-options{grid-auto-flow:column;grid-template-rows:repeat(3,auto)}.contact-footer-bottom{display:grid;grid-template-columns:4fr 1fr;gap:30px;border-top:1px solid #ffffff25;padding-top:20px;margin-top:25px;font-size:.7rem;line-height:1.6}.contact-footer-bottom p{color:#cfdfeb}@media(max-width:800px){.contact-footer-bottom{grid-template-columns:1fr}}@media(max-width:600px){.contact-hero{min-height:650px}.contact-hero .hero-content{padding-bottom:320px}.interest-options{grid-auto-flow:row;grid-template-rows:none}}

/* Match the homepage hero height across desktop, tablet and mobile. */
.contact-hero .hero-image { object-position: center 80%; }
@media (min-width: 901px) {
  .contact-hero .hero-image {
    left: calc(12% + 100px);
    width: 100%;
  }
}
@media (max-width: 900px) {
  .contact-hero .hero-image { object-position: 60% 80%; }
}
@media (max-width: 600px) {
  .contact-hero .hero-image { object-position: 69% 80%; }
}

.contact-hero { min-height: 630px; }
.contact-hero .hero-content { padding-top: 70px; padding-bottom: 172px; }
@media (min-width: 1600px) {
  .contact-hero { min-height: 690px; }
  .contact-hero .hero-content { padding-top: 95px; }
}
@media (max-width: 900px) {
  .contact-hero { min-height: 590px; }
  .contact-hero .hero-content { padding-top: 66px; }
}
@media (max-width: 600px) {
  .contact-hero { min-height: 770px; }
  .contact-hero .hero-content { padding-top: 37px; padding-bottom: 365px; }
}

/* Center the shorter contact copy within the desktop and tablet hero. */
@media (min-width: 601px) {
  .contact-hero { display: flex; align-items: center; }
  .contact-hero .hero-content { padding-top: 70px; padding-bottom: 70px; }
}
