img{max-width:100%}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #447db6;outline-offset:4px}.nav,.about-nav{gap:25px;padding-left:4vw;padding-right:4vw}.brand,.about-brand{gap:12px;font-size:21px!important;font-weight:500;letter-spacing:.035em;flex-shrink:0;position:relative}.brand img,.about-brand img{width:52px!important;height:59px!important;filter:drop-shadow(0 6px 9px #247ab52b);animation:brandArrival .6s ease-out both}.brand>span,.about-brand>span{display:block}.brand .home-hint,.about-brand .home-hint{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:.12em;color:#496d91;margin-top:4px;font-weight:700}.home-hint i{font-style:normal;display:inline-block;animation:homeNudge 3.5s ease-in-out 3}.brand:hover img,.about-brand:hover img{transform:translateY(-2px);transition:transform .2s}.nav nav,.about-nav nav{gap:20px}.nav nav a,.about-nav nav a{font-size:12px;white-space:nowrap;min-height:44px;display:flex;align-items:center}.nav-cta,.nav-quote{white-space:nowrap}.about-footer a,.simple-footer a{padding-top:8px;padding-bottom:8px}.about-footer>div{flex-wrap:wrap}.menu{min-width:44px;min-height:44px}.menu:focus-visible{outline-offset:1px}.mobile-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes brandArrival{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes homeNudge{0%,70%,100%{transform:translateX(0)}80%{transform:translateX(3px)}}
@media(max-width:1240px){.nav nav,.about-nav nav,.nav-cta,.nav-quote{display:none}.nav .menu,.solutions-menu,.about-menu{display:block;margin-left:auto;min-height:44px;flex-shrink:0}.nav,.about-nav{padding-left:24px;padding-right:24px;gap:18px}.nav.open nav,.about-nav.open nav{display:flex;position:absolute;left:0;right:0;top:100%;margin:0;padding:18px 24px;gap:3px;background:#fff;flex-direction:column;max-height:calc(100svh - 120px);overflow:auto;border-bottom:1px solid #d7e1ed;color:#17365a}.nav.open nav a,.about-nav.open nav a{padding:8px 0;font-size:15px}.solutions-menu,.about-menu{background:#edf2f8;border:1px solid #d8e1ef;border-radius:25px;padding:10px 16px;color:#17365a;font:700 12px 'DM Sans',Arial,sans-serif}.about-nav{height:90px}.nav .menu span{background:#17365a}.nav .menu{padding:5px}}
@media(max-width:600px){.brand,.about-brand{font-size:17px!important;gap:9px}.brand img,.about-brand img{width:43px!important;height:50px!important}.brand .home-hint,.about-brand .home-hint{font-size:7px}.nav,.about-nav{padding-left:18px;padding-right:18px;gap:12px}.about-nav{height:80px}.hero-controls{flex-wrap:wrap}.hero .actions{flex-wrap:wrap}.contact-card strong{font-size:clamp(14px,4vw,20px);overflow-wrap:anywhere}.trust-strip{max-width:100%;font-size:9px}.modal-card{max-height:90svh;overflow:auto}.modal-card h2{font-size:30px}.hero-slide .eyebrow{line-height:1.6}.hero-slide :is(h1,h2.hero-slide-heading){overflow-wrap:normal}.simple-footer>div{display:flex;flex-wrap:wrap;gap:12px}.simple-footer a{margin:0}.about-footer{overflow-wrap:anywhere}.campaign-note{max-width:calc(100% - 48px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.brand img,.home-hint i{transform:none!important}}
.floating-whatsapp{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:12px 19px;border-radius:30px;background:#147d46;color:white;box-shadow:0 7px 24px #123a3033;border:1px solid #ffffff80;font:700 13px 'DM Sans',Arial,sans-serif;transition:transform .2s,background .2s}.floating-whatsapp svg{width:27px;height:27px}.floating-whatsapp:hover{background:#106537;transform:translateY(-3px)}.community-actions>a{min-height:48px}.review-source{transition:transform .25s,box-shadow .25s}.review-source:hover{transform:translateY(-4px);box-shadow:0 18px 32px #18365712}.about-footer,.simple-footer,body>footer{padding-bottom:100px}.nav.open,.about-nav.open{z-index:50}html{scroll-padding-top:110px}@media(max-width:600px){.floating-whatsapp{right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:54px;height:54px;padding:12px}.floating-whatsapp span{display:none}.community-hero :is(h1,h2.hero-slide-heading){font-size:clamp(34px,9vw,50px)}.community-hero,.community-content,.community-teaser,.feedback-section,.contact-opening{min-width:0}.feedback-form,.conversation-stage,.contact-copy{min-width:0}.about-footer>div{display:flex;flex-wrap:wrap;gap:12px}.review-source h3{overflow-wrap:anywhere}}

/* Approved phone fixes, 18 October 2026. */
@media(max-width:900px){
 .hero.cinematic,.hero.cinematic[data-current-slide="1"],.hero.cinematic[data-current-slide="2"]{height:auto;min-height:0;max-height:none;grid-template-columns:minmax(0,1fr);gap:0;align-content:start}
 .hero.cinematic .hero-copy{grid-row:1;min-width:0;width:100%}
 .hero.cinematic .campaign-backgrounds{position:relative;inset:auto;grid-column:1;grid-row:2;z-index:0;width:100%;height:clamp(240px,68vw,360px);margin-top:24px;border-radius:20px;overflow:hidden}
 .hero.cinematic .campaign-scene img{top:0;bottom:auto;height:100%;width:100%;object-fit:cover;object-position:81% center}
 .hero.cinematic .campaign-colour,.hero.cinematic .campaign-scene[data-campaign="1"] .campaign-colour,.hero.cinematic .campaign-scene[data-campaign="2"] .campaign-colour{background:linear-gradient(180deg,#f2f1f833,transparent 22%)}
 .hero.cinematic .campaign-backgrounds:after{background:none}
 .hero.cinematic .trust-strip{grid-column:1;grid-row:3;margin-top:20px;flex-wrap:wrap;gap:10px;justify-content:flex-start}
 .hero.cinematic .trust-strip i{display:none}
 .hero-controls{gap:8px;flex-wrap:wrap}
 .hero-arrow,.campaign-pause{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0}
 .hero-dots{gap:0}
 .hero-dots button,.hero-dots button.active{width:36px;height:44px;min-height:44px;background:transparent;border-radius:0}
 .hero-dots button:before{inset:20px 4px;border-radius:4px;background:#233e8b40}
 .hero-dots button.active:after{inset:20px 4px;border-radius:4px}
 .campaign-pause{margin-left:0}
}
@media(max-width:800px){
 .social-widget-frame .tagembed-widget,.social-widget-frame iframe{width:100%!important;min-width:0;max-width:100%;height:clamp(420px,75svh,760px)!important;min-height:420px;max-height:760px}
}

/* Approved technical accessibility and resilience fixes. */
:root{--blue:#206db7}.about-button{background:#206db7;color:#fff}.skip-link{position:fixed;top:-100px;left:16px;z-index:200;background:#fff;color:#142f59;padding:14px 18px;border:2px solid #206db7;border-radius:8px}.skip-link:focus{top:12px}.reveal{opacity:1;transform:none}.reveal-ready .reveal:not(.visible){opacity:0;transform:translateY(24px)}.hero-slide.active :is(h1,h2.hero-slide-heading) span,.hero-slide.active :is(h1,h2.hero-slide-heading) em{opacity:1}.modal:focus{outline:none}.feedback-form button:disabled{cursor:not-allowed;opacity:.65}.unified-footer{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:30px;background:#102f70;color:#fff;padding:48px 7vw 100px;align-items:start}.unified-footer a{color:#fff;min-height:44px;display:flex;align-items:center;font-size:13px}.unified-footer .footer-wordmark{font-size:20px;font-weight:700;letter-spacing:.03em}.unified-footer nav{display:flex;flex-wrap:wrap;gap:0 24px}.unified-footer .footer-contact{display:flex;flex-direction:column;gap:0;justify-content:flex-start;overflow-wrap:anywhere}.unified-footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.unified-footer{grid-template-columns:1fr;padding:38px 24px 100px;gap:20px}}
@media(prefers-reduced-motion:reduce){.reveal-ready .reveal:not(.visible){opacity:1;transform:none}}

@media(max-width:1240px){.nav:not(.menu-ready),.about-nav:not(.menu-ready){height:auto;min-height:80px;position:relative;top:0;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.nav:not(.menu-ready) nav,.about-nav:not(.menu-ready) nav{display:flex;position:static;width:100%;flex-wrap:wrap;gap:0 20px;margin:0}.nav:not(.menu-ready) .menu,.nav:not(.menu-ready) .solutions-menu,.about-nav:not(.menu-ready) .about-menu{display:none}}

/* Keep white CTA labels legible over campaign style overrides. */
.nav .nav-cta,.hero .actions .primary{background:#206db7;color:#fff}
.nav .nav-cta:hover,.hero .actions .primary:hover{background:#18558f;color:#fff}

