/* Brand-colour social buttons: shared by all website and campaign headers. */
.header-socials{display:flex;align-items:center;gap:7px;flex-shrink:0}.header-socials-caption{display:none}.header-socials .social-button{display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;flex:0 0 40px;padding:0;border:0;border-radius:0;background:transparent;color:#9cddd6;text-decoration:none;transition:color .18s,transform .18s}.header-socials .social-button svg{display:block;width:24px;height:24px}.header-socials .social-button:hover{background:transparent;color:#d0f4ee;transform:translateY(-2px)}.header-socials .social-button:focus-visible{outline:3px solid white;outline-offset:4px}.header .header-row{gap:17px}.header .nav{gap:14px}.header .nav a{font-size:12px}.header .header-socials{margin-left:0}.header .consult{white-space:nowrap}
@media(max-width:1300px){.header .nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 180px);overflow:auto;padding:20px var(--gutter);background:#102c38;border-bottom:1px solid #3a535d;box-shadow:0 15px 20px #102c3810}.header .nav.open{display:flex;align-items:stretch;flex-direction:column;gap:0}.header .nav a{padding:13px 0;font-size:17px}.header .menu-toggle{display:block;order:3}.header .consult{margin-left:auto}.header .header-socials{order:2}}
@media(max-width:700px){html{scroll-padding-top:160px}.header .header-row{height:auto;min-height:126px;flex-wrap:wrap;gap:0 14px;padding-top:15px;padding-bottom:9px}.header .brand{order:0}.header .menu-toggle{order:1;margin-left:auto}.header .header-socials{order:4;flex-basis:100%;justify-content:flex-end;gap:9px;margin:8px 0 0}.header-socials .social-button{width:40px;height:40px;flex-basis:40px}.header .header-socials-caption{display:block;margin-right:auto;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#c7d4d7}.header .nav{max-height:calc(100dvh - 210px)}}
/* Campaign headers keep their enquiry CTA and telephone route alongside the socials. */
body[data-campaign]>.nav .header-socials{margin-left:4px}body[data-campaign]>.nav .nav__r{gap:18px}
@media(max-width:700px){body[data-campaign]>.nav>.wrap{flex-wrap:wrap;gap:10px 12px}body[data-campaign]>.nav .brand{order:0}body[data-campaign]>.nav .nav__r{display:contents}body[data-campaign]>.nav .nav__tel{display:none}body[data-campaign]>.nav .nav__r>.btn{order:1;margin-left:auto;font-size:10px;padding:10px 12px;min-height:42px}body[data-campaign]>.nav .header-socials{order:2;flex-basis:100%;margin:0;justify-content:flex-end}body[data-campaign]>.nav .header-socials-caption{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#c7d4d7;margin-right:auto}body[data-campaign]>.nav .brand img{max-width:190px}}
@media(max-width:370px){.header .header-row{padding-inline:12px;gap:0 10px}body[data-campaign]>.nav>.wrap{padding-inline:12px}body[data-campaign]>.nav .brand img{max-width:166px}body[data-campaign]>.nav .nav__r>.btn{font-size:9px;padding-inline:9px}}
@media(prefers-reduced-motion:reduce){.header-socials .social-button{transition:none}.header-socials .social-button:hover{transform:none}}
@media print{.header-socials{display:none!important}}
@media(min-width:701px) and (max-width:760px){.header .header-row{gap:10px}.header .header-socials{gap:5px}.header .header-socials .social-button{width:36px;flex-basis:36px}.header .menu-toggle{padding-inline:10px}}
