/* Staging-only visual refresh. Loaded last to override earlier legacy palette layers.
 * Compact navigation, brighter aquatic colour and generous homepage whitespace.
 * Preserve readable contrast and visible keyboard focus. */
body.s365-body { background:#fff !important; color:#102e43 !important; font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
.s365-announcement { background:#063a59 !important; color:#fff !important; border:0 !important; padding:9px 18px !important; font-size:12px !important; letter-spacing:.03em !important; }
.s365-announcement span { color:#a2eff5 !important; }
.s365-header-inner { max-width:1240px !important; padding:16px 24px !important; }
.s365-nav { background:#fff !important; border-top:1px solid #d7e7ee !important; border-bottom:1px solid #d7e7ee !important; }
.s365-nav-inner { max-width:1200px !important; display:flex !important; justify-content:center !important; flex-wrap:nowrap !important; gap:clamp(15px,2.6vw,36px) !important; padding:13px 20px !important; }
.s365-nav a { color:#123b53 !important; font-size:14px !important; font-weight:750 !important; white-space:nowrap !important; letter-spacing:0 !important; }
.s365-nav a:hover { color:#007da0 !important; text-decoration:underline !important; text-underline-offset:4px; }
.s365-search { border-color:#8fb9c9 !important; border-radius:7px !important; overflow:hidden; }
.s365-search button,.s365-button { background:#007da0 !important; color:#fff !important; }
.s365-search button:hover,.s365-button:hover { background:#005b7b !important; }
.s365-hero { background:#edf9fd !important; }
.s365-hero-copy { padding:clamp(45px,6vw,85px) clamp(26px,6vw,90px) !important; }
.s365-hero h1 { color:#102f45 !important; font-family:system-ui,-apple-system,"Segoe UI",sans-serif !important; font-size:clamp(38px,4.5vw,65px) !important; font-weight:800 !important; letter-spacing:-.04em !important; }
.s365-hero h1 em { color:#007da0 !important; }
.s365-hero-visual { background:linear-gradient(140deg,#d1f3fa,#75c7dc) !important; }
.s365-hero-photo { border-radius:18px !important; box-shadow:0 22px 46px #073b5526 !important; }
.s365-photo-caption { background:#063b59 !important; }
.s365-eyebrow,.s365-feature-label { color:#006c91 !important; }
.s365-trust { background:#063b59 !important; }
.s365-path-grid>a { background:#eaf7fb !important; border-color:#c7e8f0 !important; }
.s365-path-grid>a:hover { background:#daf1f8 !important; }
.s365-section { padding-top:clamp(48px,5vw,76px); padding-bottom:clamp(48px,5vw,76px); }
.s365-section h2 { font-family:system-ui,-apple-system,"Segoe UI",sans-serif !important; font-weight:750 !important; letter-spacing:-.035em !important; }
.s365-water-promo-inner { background:linear-gradient(115deg,#e8f9ff,#d4f2f6) !important; }
body.s365-body a:focus-visible,body.s365-body button:focus-visible,body.s365-body input:focus-visible { outline:3px solid #c26700 !important; outline-offset:3px !important; }
@media(max-width:900px){.s365-nav-inner{justify-content:flex-start !important;overflow-x:auto !important;scrollbar-width:thin;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}.s365-nav a{flex:0 0 auto !important;scroll-snap-align:start;}.s365-nav-inner:focus-within{scroll-behavior:smooth;}}
@media(max-width:650px){.s365-header-inner{padding:12px 18px !important;}.s365-nav-inner{gap:22px !important;}.s365-hero-copy{padding:40px 22px !important;}.s365-hero h1{font-size:clamp(35px,10vw,47px) !important;}.s365-section{padding-left:20px;padding-right:20px;}}
/* Native content-page fallback: keeps essential layout legible even before Tailwind compilation. */
.s365-content-main{flex:1;min-width:0;background:#fff;}
.s365-content-article{max-width:860px;margin:0 auto;padding:clamp(38px,6vw,80px) 24px;}
.s365-content-article h1{font-size:clamp(30px,4vw,48px);line-height:1.13;letter-spacing:-.035em;color:#102f45;font-weight:800;margin:0 0 28px;}
.s365-content-article figure{margin:0 0 28px;}
.s365-content-article figure img{display:block;max-width:100%;height:auto;border-radius:12px;}
.s365-content-prose{font-size:16px;line-height:1.75;color:#183b50;overflow-wrap:anywhere;}
.s365-content-prose :is(h2,h3,h4){color:#102f45;line-height:1.25;font-weight:750;margin:1.6em 0 .65em;}
.s365-content-prose h2{font-size:clamp(24px,3vw,32px);}
.s365-content-prose h3{font-size:clamp(20px,2.5vw,25px);}
.s365-content-prose p,.s365-content-prose ul,.s365-content-prose ol{margin:0 0 1.2em;}
.s365-content-prose :is(ul,ol){padding-left:1.5em;}
.s365-content-prose a{color:#006c91;text-decoration:underline;text-underline-offset:3px;}
.s365-content-prose :is(img,iframe,video){max-width:100%;}
.s365-content-prose :is(input,select,textarea){max-width:100%;}
.s365-content-prose table{display:block;max-width:100%;overflow-x:auto;}
@media(max-width:650px){.s365-content-article{padding:36px 20px 52px;}}
/* Existing Elementor service pages need a full-width canvas, not the narrow article column. */
.s365-content-article:has(>.s365-content-prose>.elementor){max-width:100%;padding:0;}
.s365-content-article:has(>.s365-content-prose>.elementor)>header{max-width:1160px;margin:0 auto;padding:34px 24px 12px;}
.s365-content-article:has(>.s365-content-prose>.elementor)>.s365-content-prose{max-width:100%;}
.s365-content-article:has(>.s365-content-prose>.elementor) .elementor img{max-width:100%;height:auto;}
@media(max-width:650px){.s365-content-article:has(>.s365-content-prose>.elementor)>header{padding:24px 18px 8px;}}
/* Mobile navigation discovery without relying on an invisible horizontal scrollbar. */
.s365-nav-hint{display:none;}
@media(max-width:900px){
 .s365-nav-hint{display:block;text-align:right;padding:0 18px 9px;color:#005b7b;font-size:12px;font-weight:700;line-height:1.4;}
}
@media(prefers-reduced-motion:reduce){.s365-nav-inner{scroll-behavior:auto!important;}}
/* Keep search text readable and avoid mobile browser zoom on focus. */
@media(max-width:900px){.s365-search input{font-size:16px;min-height:44px}.s365-search button{min-height:44px}}

