:root{--navy:#084263;--green:#59b973;--blue:#5a9bc2;--ink:#153c51;--muted:#637989;--soft:#f1f8f6;--line:#dce9e8;--shadow:0 17px 54px #08426318}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:15px/1.65 'DM Sans',system-ui,sans-serif;background:white}h1,h2,h3{font-family:'Manrope',system-ui;line-height:1.17;letter-spacing:-.035em;margin:0 0 17px}h1{font-size:clamp(2.7rem,5vw,5.1rem)}h2{font-size:clamp(2.15rem,3.7vw,3.5rem)}h3{font-size:1.24rem}em{font-style:normal;color:#168f83}p{margin:0 0 17px;color:var(--muted)}a{color:inherit;text-decoration:none}a:hover{color:#258d72}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #59b973;outline-offset:3px}img{max-width:100%}.container{width:min(1200px,calc(100% - 44px));margin:auto}.topbar{background:var(--navy);color:#eefbfb;font-size:12px;padding:8px}.topbar .container{display:flex;justify-content:space-between}.button{background:var(--navy);color:white!important;border:2px solid var(--navy);border-radius:11px;padding:13px 22px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-weight:800;box-shadow:0 6px 18px #08426320}.button:hover{background:#0e6281}.button.outline{background:white;color:var(--navy)!important;border-color:var(--line);box-shadow:none}.button.small{padding:10px 14px;font-size:12px}.full{width:100%}.section{padding:92px 0}.intro{max-width:690px;font-size:16px;margin-bottom:34px}.teamgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card,.teamcard{background:white;border:1px solid var(--line);border-radius:22px;box-shadow:0 7px 23px #123a4b0b}.soft{background:var(--soft)}.form-split,.contactgrid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:68px}.teamcard{overflow:hidden}.teamcard img{width:100%;height:320px;object-fit:cover;object-position:center top;background:#e2f1f3;display:block}.teamtxt{padding:21px}.teamtxt small{color:#168f83;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.teamtxt p{font-size:13px}.form-split{align-items:start}.form{padding:30px}.form label,.login label{display:block;font-size:13px;font-weight:800;margin-bottom:14px}.form input,.form select,.form textarea,.login input,.editor input,.editor textarea,.editor select,.chatcompose input{display:block;border:1px solid #c7ddda;background:#fff;width:100%;border-radius:10px;padding:12px;margin-top:5px;color:var(--ink)}.form textarea{resize:vertical}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.note{padding:18px;background:#fff;border-left:4px solid var(--green);border-radius:10px;font-size:13px;color:#496779;margin:22px 0}.career-photo{width:100%;max-height:230px;object-fit:cover;border-radius:20px;margin-top:10px}.formstatus{font-size:13px;font-weight:700;margin-top:10px}.success{color:#087750}.error{color:#ab3232}.contact-feature{background:var(--soft);border-radius:25px;padding:37px}.textbutton{background:none;border:0;color:#d5e9e9;text-decoration:underline}.chatpanel{position:fixed;right:22px;bottom:85px;width:min(370px,calc(100vw - 38px));height:460px;z-index:40;background:white;border-radius:20px;box-shadow:0 16px 68px #062c4b55;display:flex;flex-direction:column;overflow:hidden}.hidden{display:none!important}.chathead{background:var(--navy);padding:15px;color:white;display:flex;justify-content:space-between}.chathead button{background:none;border:0;color:white;font-size:25px}.chatprivacy{padding:12px;background:#f7f3e6;font-size:11px;margin:0}.chatmessages{flex:1;overflow:auto;padding:12px;background:#f8fbfa}.bubble{max-width:88%;background:white;border:1px solid var(--line);padding:9px 13px;margin:9px 0;border-radius:15px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.visitor{background:#dbf2e4;margin-left:auto}.chatcompose{display:flex;gap:5px;padding:8px}.chatcompose input{margin:0}.chatcompose button{border:none;background:var(--navy);color:white;padding:0 16px;border-radius:9px}.overlay{position:fixed;inset:0;background:#06283ac2;z-index:100;display:grid;place-items:center;padding:18px}.postdialog,.admindialog{width:min(1050px,100%);max-height:94vh;overflow:auto;background:#f8fbfa;border-radius:21px;position:relative}.postdialog{padding:38px;max-width:690px}.close{border:none;background:none;font-size:25px;cursor:pointer}.postdialog>.close{position:absolute;right:15px;top:10px}.adminhead{display:flex;justify-content:space-between;padding:16px 25px;background:var(--navy);color:white;position:sticky;top:0;z-index:2}.adminhead small{display:block}.adminhead button{color:white}.adminbody{padding:28px}.login{max-width:410px}.tabs{display:flex;gap:8px;flex-wrap:wrap;padding:20px 25px 0}.tabs button{border:1px solid var(--line);background:white;padding:10px 16px;border-radius:9px;font-weight:800}.tabs button.active{background:var(--navy);color:white}.adminbottom{padding:10px 25px 25px}.records{display:grid;gap:12px}.record{padding:18px;border:1px solid var(--line);border-radius:14px;background:white;overflow-wrap:anywhere}.record small{color:var(--muted)}.record h3{margin:5px 0;font-size:17px}.record p{white-space:pre-wrap}.record .tools{display:flex;gap:8px;flex-wrap:wrap}.record select,.record button{padding:7px;border:1px solid var(--line);border-radius:8px;background:#e9f5f2}.editor{display:grid;gap:12px;max-width:780px}.editor textarea{min-height:120px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.stat strong{display:block;font-size:26px;color:var(--navy)}.section-title{margin-top:25px}.mailfolders{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.mailfolders button{background:#e4f4ec;border:1px solid var(--line);border-radius:8px;padding:8px 13px}.muted{color:var(--muted)}@media(max-width:1020px){.teamcard img{height:270px}}@media(max-width:860px){.form-split,.contactgrid{grid-template-columns:1fr}.teamgrid{grid-template-columns:repeat(2,1fr)}.section{padding:70px 0}}@media(max-width:600px){.container{width:calc(100% - 30px)}.topbar .container{flex-direction:column;align-items:center;gap:0}.teamgrid,.twocol,.stats{grid-template-columns:1fr}.section{padding:57px 0}.form{padding:20px}.chatpanel{right:8px;bottom:82px;width:calc(100vw - 16px)}.overlay{padding:0}.admindialog,.postdialog{height:100dvh;max-height:none;border-radius:0}.tabs{overflow-x:auto;flex-wrap:nowrap}.tabs button{white-space:nowrap}.adminbody{padding:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.chatpanel{height:min(650px,calc(100dvh - 110px))}.chathead small{display:block;font-size:11px;font-weight:600}.chathead .online{color:#8ff0aa}.chathead .offline{color:#d9e4e8}.chatprivacy{border-bottom:1px solid #eadfb8}.chatwelcome{padding:12px;border-radius:12px;background:#e9f5f2;color:var(--navy)}.chatwelcome small{display:block;margin-top:7px;color:var(--muted)}.chatidentity{padding:14px;overflow:auto}.chatidentity p{margin-bottom:8px}.chatidentity label{display:block;font-size:12px;font-weight:800;margin:9px 0}.chatidentity input,.chatidentity select{width:100%;border:1px solid #c7ddda;border-radius:9px;padding:9px;margin-top:3px}.chatcompose{display:grid;grid-template-columns:1fr auto;padding:9px;border-top:1px solid var(--line)}.chatcompose textarea{width:100%;resize:none;border:1px solid #c7ddda;border-radius:9px;padding:9px}.chatcompose button{border:0;background:var(--navy);color:#fff;border-radius:9px;padding:0 14px;font-weight:800}.chatsendstatus{grid-column:1/-1;margin:2px 0 0;font-size:11px}.chatlinks{display:flex;gap:15px;padding:6px 12px 10px;font-size:11px;font-weight:800}.bubble small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.bubble.staff{background:#dcecf6}.bubble.system{background:#f4f1e7;max-width:100%;font-size:12px}.chatadminhead{display:flex;justify-content:space-between;align-items:center}.chatadminhead select,.chatdetails select{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}.chatworkspace{display:grid;grid-template-columns:260px minmax(320px,1fr) 250px;min-height:520px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}.conversationlist{border-right:1px solid var(--line);overflow:auto}.conversationitem{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:13px}.conversationitem.active{background:#e4f4ec}.conversationitem span{display:flex;justify-content:space-between}.conversationitem i{background:var(--green);border-radius:20px;padding:1px 7px;font-style:normal}.conversationitem small{color:var(--muted)}.conversationitem p{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0}.staffthread{display:flex;flex-direction:column;min-width:0}.staffmessages{height:420px;overflow:auto;padding:15px;background:#f8fbfa}.staffreply{display:grid;grid-template-columns:1fr auto;padding:10px;gap:7px;border-top:1px solid var(--line)}.staffreply textarea{resize:none;border:1px solid #c7ddda;border-radius:8px;padding:9px}.staffreply .formstatus{grid-column:1/-1;margin:0}.chatdetails{border-left:1px solid var(--line);padding:15px;overflow:auto}.chatdetails dl{font-size:12px}.chatdetails dt{font-weight:800;color:var(--muted)}.chatdetails dd{margin:0 0 10px;overflow-wrap:anywhere}.chatdetails label{display:block;font-size:12px;font-weight:800;margin:12px 0}.chatdetails select{display:block;width:100%;margin-top:4px}.emptychat{padding:20px}.error{color:#ab3232}
@media(max-width:900px){.chatworkspace{grid-template-columns:220px 1fr}.chatdetails{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.staffmessages{height:350px}}
@media(max-width:620px){.chatpanel{height:calc(100dvh - 92px)}.chatworkspace{display:block}.conversationlist{max-height:210px;border-right:0}.staffmessages{height:300px}.chatdetails{border-top:1px solid var(--line)}.chatadminhead{align-items:flex-start;gap:8px}.chatadminhead h2{font-size:1.7rem}}

/* Shared public rules: screen-reader text, article reader, careers form hint, newsletter confirmation pages */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.postcover{width:100%;max-height:300px;object-fit:cover;border-radius:12px;margin-bottom:14px}
.postrich h3,.postrich h4{margin:18px 0 8px}
.postrich blockquote{margin:12px 0;padding:8px 14px;border-left:4px solid var(--green);background:#f1f8f6;color:var(--ink)}
.postrich a{color:#168f83;text-decoration:underline}
/* public careers form */
.formhint{font-size:12px;color:var(--muted);margin:-6px 0 12px}
/* public newsletter */
.nlpage{min-height:100dvh;display:grid;place-items:center;background:#f3f8fa;padding:24px 16px;font-family:'DM Sans',system-ui,sans-serif}.nlcard{width:min(520px,100%);background:#fff;border-radius:16px;box-shadow:0 12px 40px #0a47701f;padding:28px;color:#153c51}
.nlbrand{display:block;background:#084263;border-radius:12px;padding:14px 18px;margin-bottom:20px}.nlbrand svg{width:200px;height:auto;display:block}.nlcard h1{font:800 24px Manrope,sans-serif;margin:0 0 10px;color:#084263}.nlcard p{line-height:1.6}.nlcard .btn{margin-top:8px}.nlfoot{margin-top:20px;font-size:13px}
.nlcard .button{margin-top:6px}
.ivdetails{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0 18px;padding:14px 16px;background:#eef5fb;border-radius:12px}.ivdetails dt{font-weight:700;color:#084263}.ivdetails dd{margin:0}.nlnote{font-size:14px;color:#5b7186;margin-top:14px}


/* Plus Jakarta Sans, self-hosted (SIL Open Font License 1.1, see assets/fonts/OFL.txt): no third-party font requests. */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* ==========================================================================
   Public website: landing page (approved 2026 design), legal pages
   Colors with white text are darkened brand shades so text meets WCAG AA contrast.
   ========================================================================== */
:root{--brand-navy:#084263;--brand-green:#59b973;--brand-blue:#5a9bc2;--brand-white:#fff;--bg-light:#f3f8fa;--text-primary:#12364f;--text-secondary:#536a7c;--border-color:#dce8ed;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--shadow-card:0 12px 32px rgba(8,66,99,.08);--shadow-hover:0 20px 45px rgba(8,66,99,.14);--container-width:1200px;--section-spacing:clamp(56px,7vw,100px);
 --green-strong:#1b7f45;--green-strong-hover:#156a39;--green-text:#1b7f45;--green-heading:#2e9a52;--blue-strong:#1f6fad;--navy-deep:#0a2e47;--hero-bg:#e7f1f9}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.lic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.2em}
.skiplink{position:absolute;left:12px;top:-60px;z-index:100;background:var(--navy);color:#fff!important;padding:10px 16px;border-radius:10px;font-weight:700}.skiplink:focus{top:12px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
body[data-page] [id]{scroll-margin-top:96px}
body[data-page]{--muted:#536a7c;color:var(--text-primary);font-size:15.5px;line-height:1.65;background:#fff}
:where(body[data-page]) :where(h1,h2,h3){color:var(--brand-navy);letter-spacing:-.02em;font-weight:800}
:where(body[data-page]) :where(h2){font-size:clamp(1.8rem,2.9vw,2.35rem);line-height:1.15;margin-bottom:16px}
:where(body[data-page]) :where(p){color:var(--text-secondary)}
body[data-page] .container{width:min(var(--container-width),calc(100% - 48px))}
body[data-page] .section{padding:var(--section-spacing) 0}
body[data-page] .soft{background:var(--bg-light);border:0;color:inherit}
:where(body[data-page]) :where(em){color:var(--green-heading)}
body[data-page] .button{background:var(--green-strong);border:2px solid var(--green-strong);color:#fff!important;padding:12px 24px;font-weight:700;font-size:15px;box-shadow:0 8px 20px rgba(27,127,69,.22);transition:background .2s,transform .2s,box-shadow .2s}
body[data-page] .button:hover{background:var(--green-strong-hover);border-color:var(--green-strong-hover);transform:translateY(-1px);box-shadow:0 12px 26px rgba(27,127,69,.28)}
body[data-page] .button .lic{transition:transform .2s}body[data-page] .button:hover .lic,.textlink:hover .lic,.svc:hover .textlink .lic{transform:translateX(3px)}
body[data-page] .button.ghost{background:#fff;color:var(--brand-navy)!important;border-color:#c9dbe6;box-shadow:none}
body[data-page] .button.ghost:hover{border-color:var(--brand-navy);background:#fff}
body[data-page] .button.ghost.light{background:transparent;margin-top:10px}
body[data-page] .button:disabled{opacity:.6;cursor:wait;transform:none}
.eyebrow{display:block;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--green-text);margin-bottom:10px}
.textlink{display:inline-flex;align-items:center;gap:6px;color:var(--green-text);font-weight:700;font-size:14px;background:none;border:0;padding:0;cursor:pointer}
.textlink:hover{color:var(--green-strong-hover)}
.empty{color:var(--text-secondary)}

/* header */
.siteheader{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(8,66,99,.07)}
.siteheader .nav{display:flex;align-items:center;gap:28px;min-height:84px}
.brand{display:flex;flex:none}.brandlogo{height:60px;width:auto;display:block}
.mainnav{display:flex;align-items:center;gap:24px;margin:0 auto}.navlinks{display:flex;align-items:center;gap:24px}
.navlinks>a{position:relative;font-weight:600;font-size:15px;color:var(--brand-navy);padding:6px 0}
.navlinks>a::after{content:"";position:absolute;left:50%;right:50%;bottom:-3px;height:3px;border-radius:3px;background:var(--brand-green);transition:left .25s,right .25s}
.navlinks>a:hover::after,.navlinks>a.active::after{left:0;right:0}
.navlinks>a:hover{color:var(--brand-navy)}
.navextra,.drawerhead,.navoverlay,.mainnav .navic,.mainnav .navchev,.mainnav .m-only{display:none}
.navright{display:flex;align-items:center;gap:20px;margin-left:auto}
.navphone{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--brand-navy);white-space:nowrap}
.phonedot{width:38px;height:38px;border-radius:50%;background:var(--green-strong);color:#fff;display:grid;place-items:center}
.menuToggle{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--border-color);background:#fff;color:var(--brand-navy);place-items:center;font-size:22px}

/* hero */
/* One canvas: photos (z 0) → one stationary full-width navy overlay (::before, z 1) → decorative curve (::after, z 1) → copy, wave, form (z 2).
   The photo layer starts under the solid part of the overlay, so its left edge is never visible; every slide gets the same blend. */
.hero{--hero-navy:#084263;--hero-navy-deep:#06344f;--hero-green:#59b973;--hero-photo-left:36%;
 --hero-blend:linear-gradient(90deg,#084263 0%,#084263 38%,rgba(8,66,99,.92) 45%,rgba(8,66,99,.7) 51%,rgba(8,66,99,.4) 57%,rgba(8,66,99,.18) 63%,rgba(8,66,99,.05) 70%,rgba(8,66,99,0) 78%);
 position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,var(--hero-navy),var(--hero-navy-deep));min-height:clamp(540px,44vw,650px);display:flex;align-items:center;padding:48px 0 130px}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 16% 14%,rgba(90,155,194,.16) 0,transparent 42%),var(--hero-blend)}
.hero::after{content:"";position:absolute;z-index:1;pointer-events:none;width:760px;height:620px;border-radius:50%;left:-300px;bottom:-330px;background:rgba(6,52,79,.55)}
.hero-media{position:absolute;top:0;right:0;bottom:0;left:var(--hero-photo-left);z-index:0}
@media (min-width:901px) and (max-width:1279px){.hero{--hero-photo-left:42%;--hero-blend:linear-gradient(90deg,#084263 0%,#084263 47%,rgba(8,66,99,.9) 54%,rgba(8,66,99,.6) 61%,rgba(8,66,99,.3) 68%,rgba(8,66,99,.1) 75%,rgba(8,66,99,0) 83%)}}
.slider{position:absolute;inset:0}
/* Crossfade: the incoming slide fades in above the outgoing one, which stays fully opaque until the fade ends (no flash). */
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.2s ease-in-out,visibility 1.2s ease-in-out}
.slide.active{opacity:1;visibility:visible;z-index:2}
.slide.leaving{opacity:1;visibility:visible;z-index:1;transition:none}
@media (prefers-reduced-motion:reduce){.slide{transition:none}}
.slide img{width:100%;height:100%;object-fit:cover;object-position:60% 18%;display:block}
.hero-house{position:absolute;z-index:2;top:34px;right:42px;width:118px;fill:none;stroke:rgba(255,255,255,.9);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 6px rgba(8,66,99,.15))}
.hero-inner{position:relative;z-index:2}
.hero-copy{max-width:570px}
.hero-badges{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.heropill{background:#d7f0de;color:#155f35;font-size:11.5px;font-weight:800;letter-spacing:.08em;padding:7px 14px;border-radius:999px}
.kicker{font-size:12.5px;color:var(--text-secondary);font-weight:600}
.hero .kicker{color:#fff;font-weight:500}
.hero h1{font-size:clamp(2.3rem,4.1vw,3.65rem);line-height:1.06;letter-spacing:-.03em;margin:0 0 18px}
.hero h1 span{display:block;color:#fff}.hero h1 em{display:block;color:var(--hero-green)}
.hero .lead{font-size:17px;max-width:520px;color:#e6eef6;margin-bottom:26px}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}
body[data-page] .hero .button.ghost{border-color:#fff}
.hero :focus-visible{outline-color:#fff}
.trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:22px}
.trust li{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#fff;line-height:1.3;max-width:150px}
.trusticon{width:40px;height:40px;border-radius:50%;background:#fff;border:1.5px solid #fff;color:var(--hero-navy-deep);display:grid;place-items:center;flex:none;font-size:18px}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:96px;z-index:2;fill:#fff}

/* quick inquiry */
.quick{position:relative;z-index:4;margin-top:-104px}
.quickcard{background:#fff;border-radius:22px;box-shadow:0 20px 50px rgba(8,66,99,.13);padding:22px 26px 12px;border:1px solid #e6eff4}
.quicktitle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.quickgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:16px;align-items:end}
.quickcard label{display:block;font-size:13px;font-weight:700;color:var(--brand-navy)}
.quickcard input,.quickcard select{display:block;width:100%;height:46px;margin-top:6px;border:1px solid #d5e3ec;border-radius:10px;background:#f7fafc;padding:0 14px;color:var(--text-primary);font-size:14px}
.quickcard input:focus,.quickcard select:focus{background:#fff;border-color:var(--blue-strong)}
.quickcard [aria-invalid=true]{border-color:#c0392b;background:#fff6f5}
.quickcard .button{height:46px;white-space:nowrap}
.quickphone{max-width:320px;margin-top:14px}.quickcard [hidden]{display:none}
.quicknote{font-size:12px;margin:10px 0 0;color:var(--text-secondary)}
.quickcard .formstatus{margin:4px 0 0;font-size:13.5px}

/* about */
.about-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(36px,5vw,72px);align-items:center}
.about-photo{position:relative;margin:0 24px 24px 0}
.about-photo::before{content:"";position:absolute;inset:32px -24px -24px 32px;background:#d3efdb;border-radius:30px}
.about-photo img{position:relative;width:100%;height:auto;aspect-ratio:1.04;object-fit:cover;border-radius:26px;box-shadow:var(--shadow-card);display:block}
.about-copy h2{margin-bottom:14px}
.about-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;align-items:center;margin:20px 0}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--brand-navy)}
.tick{width:22px;height:22px;border-radius:50%;background:var(--green-strong);color:#fff;display:grid;place-items:center;flex:none;font-size:12px}.tick .lic{stroke-width:3}
.about-small{width:100%;height:auto;aspect-ratio:1.4;object-fit:cover;border-radius:18px;box-shadow:var(--shadow-card)}
.about-team{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--border-color)}
.faces{display:flex}.faces img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:center 15%;border:3px solid #fff;background:#e2eef5;box-shadow:0 2px 8px rgba(8,66,99,.15)}.faces img+img{margin-left:-12px}
.about-team p{margin:0;line-height:1.3}.about-team b{display:block;color:var(--brand-navy)}.about-team p span{color:var(--green-text);font-weight:700;font-size:14px}
.about-team .textlink{margin-left:auto}

/* service categories + contact strip */
.cats{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.cat{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;text-align:center;background:#fff;border:1px solid var(--border-color);border-radius:16px;padding:22px 10px 18px;font-weight:700;font-size:14px;line-height:1.25;color:var(--brand-navy);box-shadow:var(--shadow-card);transition:transform .25s,box-shadow .25s,border-color .25s}
.cat:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#a9d9b7;color:var(--brand-navy)}
.cat-ic{width:40px;height:40px;color:var(--blue-strong);stroke-width:1.6;transition:transform .25s}.cat:hover .cat-ic{transform:scale(1.08);color:var(--green-strong)}
.consult{display:flex;align-items:center;gap:18px;max-width:1080px;margin:30px auto 56px;background:linear-gradient(90deg,#e3f5e8,#effaf2);border:1px solid #cdebd6;border-radius:18px;padding:14px 18px 14px 20px}
.consult-ic{width:50px;height:50px;border-radius:50%;background:var(--green-strong);color:#fff;display:grid;place-items:center;flex:none;font-size:22px}
.consult h2.h3{font-size:17px;margin:0 0 2px;letter-spacing:0}.consult p{margin:0;font-size:14px}
.consult .button{margin-left:auto;flex:none}

/* featured services */
.featured{position:relative;overflow:hidden;background:linear-gradient(120deg,#05385a 0%,#0a4c78 48%,#1561a0 100%);padding:clamp(48px,6vw,72px) 0}
.featured-art{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(255,255,255,.1);stroke-width:2}
.featured-art circle{fill:rgba(255,255,255,.035);stroke:none}.featured-art .fh,.featured-art .fp{stroke:rgba(255,255,255,.22)}
.svcgrid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1080px;margin:auto}
.svc{display:flex;gap:16px;align-items:flex-start;background:#fff;border-radius:18px;padding:22px 22px 18px;box-shadow:0 14px 34px rgba(0,22,44,.2);transition:transform .25s,box-shadow .25s;color:inherit}
.svc:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(0,22,44,.3)}
.svc:target{outline:3px solid var(--brand-green);outline-offset:4px}
.svc-ic{width:54px;height:54px;border-radius:50%;background:var(--green-strong);color:#fff;display:grid;place-items:center;flex:none;font-size:24px;box-shadow:0 0 0 6px #e3f4e8}
.svc h3{font-size:17px;margin:4px 0 6px;letter-spacing:-.01em}.svc p{font-size:14px;margin:0 0 10px;line-height:1.55}
.svc-all{background:linear-gradient(135deg,#1b7f45,#16774a 45%,#126e8f)}
.svc-all h3,.svc-all p,.svc-all .textlink{color:#fff}.svc-all .svc-ic{background:rgba(255,255,255,.18);box-shadow:0 0 0 6px rgba(255,255,255,.1)}
.svc-all:hover{color:#fff}

/* service area + map */
.area-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,64px);align-items:center}
.arealist{list-style:none;margin:22px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.arealist li{display:flex;gap:10px;align-items:flex-start}
.pinic{width:36px;height:36px;border-radius:50%;background:var(--blue-strong);color:#fff;display:grid;place-items:center;flex:none}
.arealist b{display:block;color:var(--brand-navy);line-height:1.3}.arealist small{display:block;font-size:12.5px;color:var(--text-secondary);line-height:1.35}
.office{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:0}.office .lic{color:var(--green-text);margin-top:3px}.office b{color:var(--brand-navy)}
.mapwrap{position:relative;max-width:560px;justify-self:center;width:100%}
.txmap{width:100%;height:auto;display:block;overflow:visible}
.txfill{fill:#fff;filter:url(#txshadow)}.txf-w{fill:#fff}.txf-r{fill:#bf0a30}.txf-b{fill:#002868}.txf-sheen{fill:url(#txsheen)}.txline{fill:none;stroke:rgba(0,40,104,.35);stroke-width:1.5;stroke-linejoin:round}
.txring{fill:rgba(89,185,115,.07);stroke:rgba(46,154,82,.45);stroke-dasharray:4 5}.txring.r3{fill:rgba(89,185,115,.22);stroke:none}
.txpin path{fill:#1b7f45;stroke:#fff;stroke-width:1.5}.txpin circle{fill:#fff}.txmain circle{fill:#fff;stroke:#59b973;stroke-width:2}.txmain path{fill:#1b7f45;stroke:#fff;stroke-width:1.5}
.maplabel{position:absolute;transform:translate(-18%,-150%);background:var(--green-strong);color:#fff;border-radius:12px;padding:8px 14px;font-size:12px;line-height:1.3;white-space:nowrap;box-shadow:0 10px 24px rgba(27,127,69,.3)}
.maplabel b{display:block;font-size:14px}.maplabel::after{content:"";position:absolute;left:18%;bottom:-6px;width:12px;height:12px;background:inherit;transform:rotate(45deg)}

/* statistics */
.lpstats{padding:0 0 var(--section-spacing)}
.statbar{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:20px;overflow:hidden;box-shadow:0 18px 40px rgba(8,66,99,.16)}
.statcard{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:22px 16px;color:#fff;background:linear-gradient(135deg,#175f96,#1f6fad)}
.statcard+.statcard{border-left:1px solid rgba(255,255,255,.16)}
.statcard.alt{background:linear-gradient(135deg,#187a41,#1b7f45)}
.staticon{width:64px;height:30px;border-radius:999px;background:#fff;color:#175f96;display:grid;place-items:center;font-size:17px}.alt .staticon{color:#187a41}
.statcard b{font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:800;line-height:1.15;letter-spacing:-.01em}
.statcard span:last-child{font-size:14px;color:#eaf4fb}

/* how it works */
.steps{padding-top:0}
.steps-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,72px);align-items:center}
.steps-photo{position:relative;margin:0 0 24px 24px}
.steps-photo::before{content:"";position:absolute;left:-24px;bottom:-24px;width:62%;height:78%;background:#d3efdb;border-radius:30px}
.steps-photo img{position:relative;width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;border-radius:26px;box-shadow:var(--shadow-card);display:block}
.steplist{list-style:none;margin:22px 0 0;padding:0}
.steplist li{position:relative;display:flex;gap:16px;padding-bottom:18px}
.steplist li:not(:last-child)::before{content:"";position:absolute;left:19px;top:44px;bottom:2px;width:2px;background:#cbe8d4}
.num{width:40px;height:40px;border-radius:50%;background:var(--green-strong);color:#fff;font-weight:800;display:grid;place-items:center;flex:none;box-shadow:0 0 0 6px #e3f4e8}
.steplist h3{font-size:16px;margin:7px 0 2px;letter-spacing:0}.steplist p{font-size:14px;margin:0}

/* mobile-friendly website */
.mobileinfo{position:relative;overflow:hidden;background:linear-gradient(100deg,#e7f1fa,#eef6fb 55%,#e2eef9);padding:clamp(48px,6vw,72px) 0 0}
.mobile-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:end}
.mobile-grid>div:first-child{padding-bottom:clamp(48px,6vw,72px)}
.mobilelinks{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.mobilelinks a{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;color:var(--brand-navy)}.mobilelinks a:hover{color:var(--green-text)}
.phones{position:relative;height:380px;display:flex;justify-content:center}
.phone{position:relative;width:240px;height:520px;background:#0c2232;border-radius:38px;padding:10px;box-shadow:0 30px 60px rgba(8,66,99,.28)}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:29px;display:block;background:#fff}
.notch{position:absolute;top:17px;left:50%;transform:translateX(-50%);width:76px;height:18px;border-radius:12px;background:#0c2232;z-index:1}
.mobile-heart{position:absolute;left:2%;top:24px;width:150px;height:150px;fill:none;stroke:#b9d4ea;stroke-width:.9}

/* news */
.news{padding-top:var(--section-spacing)}
.sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.sechead h2{margin:0}.sechead p{max-width:420px;margin:0;font-size:14px}
.newsgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.newscard{display:flex;gap:12px;background:#fff;border:1px solid var(--border-color);border-radius:16px;padding:12px;box-shadow:var(--shadow-card);transition:transform .25s,box-shadow .25s}
.newscard:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.newsimg{width:96px;flex:none;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#e8f2f9;display:grid;place-items:center;color:var(--blue-strong);font-size:30px}
.newsimg img{width:100%;height:100%;object-fit:cover}
.newsbody{min-width:0;display:flex;flex-direction:column}
.newsbody h3{font-size:14.5px;line-height:1.3;margin:0 0 4px;letter-spacing:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.newsbody p{font-size:12.5px;line-height:1.45;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.newsmeta{margin-top:auto;display:flex;white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.newsmeta .textlink{font-size:12.5px}
.moreposts{text-align:center;margin-top:24px}

/* leadership, referral, careers, contact */
.center{text-align:center;max-width:660px;margin:0 auto 36px}
.leaders .teamcard{border-radius:20px;overflow:hidden;border:1px solid var(--border-color);box-shadow:var(--shadow-card);background:#fff}
.leaders .teamcard img{height:360px;width:100%;background:#e6f0f8}
.leaders .teamtxt small{color:var(--green-text)}
body[data-page] .card{background:#fff;border:1px solid var(--border-color);border-radius:22px;box-shadow:var(--shadow-card)}
.contactlist{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px}
.contactlist li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px}.contactlist li>.lic{width:38px;height:38px;padding:9px;border-radius:50%;background:#e3f4e8;color:var(--green-text)}
.contactlist b{display:block;font-size:12.5px;color:var(--text-secondary);font-weight:600}.contactlist a{color:var(--brand-navy);font-weight:700}
.contact-feature{background:linear-gradient(135deg,#05385a,#0f5a92);color:#fff;border-radius:24px;padding:36px}
.contact-feature h3{color:#fff}.contact-feature p{color:#d5e6f2}
.contact-feature .button.ghost.light{color:#fff!important;border-color:rgba(255,255,255,.55)}.contact-feature .button.ghost.light:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* newsletter */
.newsletter{background:var(--bg-light);padding:clamp(40px,5vw,56px) 0}
.nlband{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;align-items:center;background:#fff;border-radius:24px;padding:32px 36px;box-shadow:var(--shadow-card)}
.nl-ic{width:48px;height:48px;border-radius:50%;background:var(--green-strong);color:#fff;display:grid;place-items:center;font-size:22px;margin-bottom:12px}
.nlband h2{font-size:clamp(1.4rem,2.2vw,1.8rem);margin-bottom:6px}.nlband p{margin:0}
.nlform{display:grid;gap:10px}
.nlrow{display:flex;gap:10px}.nlrow label{flex:1;min-width:0}
.nlform input:not([type=checkbox]){width:100%;height:48px;border-radius:999px;border:1px solid #cfdfe9;background:#fff;padding:0 18px;color:var(--text-primary);font-size:14px}
.nlconsent{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.45;color:var(--text-secondary)}.nlconsent input{margin-top:3px;flex:none;width:16px;height:16px;accent-color:var(--green-strong)}
.nlform .formstatus{margin:0;font-size:13px}

/* footer */
.sitefooter{background:var(--navy-deep);color:#c8d9e5;padding:56px 0 0}
.footgrid{display:grid;grid-template-columns:1.35fr .75fr 1fr 1.35fr 1.4fr;gap:32px}
.footbrand img{width:180px;height:auto;display:block}
.footbrand p,.sitefooter p{color:#b6cad8;font-size:13.5px;margin:14px 0 0}
.sitefooter h2{font-size:15px;color:#fff;margin:0 0 14px;letter-spacing:0}
.sitefooter nav a{display:block;font-size:13.5px;color:#c4d6e3;padding:3px 0}
.sitefooter a:hover{color:#8fd6a4}
.sitefooter address{font-style:normal;font-size:13.5px;display:grid;gap:9px;color:#c4d6e3}.sitefooter address b{color:#fff}
.fline{display:flex;gap:10px;align-items:flex-start;color:#c4d6e3}.fline>.lic{color:var(--brand-green);margin-top:3px}
.social{list-style:none;display:flex;gap:8px;padding:0;margin:16px 0 0}.social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#fff}.social a:hover{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.nlform.compact{margin-top:14px}
.nlform.compact .nlrow{background:#fff;border-radius:999px;padding:4px;gap:4px}
.nlform.compact input:not([type=checkbox]){border:0;height:40px;background:transparent}
.nlform.compact .button{padding:8px 16px;font-size:13.5px;box-shadow:none}
.nlform.compact .nlconsent{color:#a9bfce;font-size:11px}
.sitefooter .formstatus.success{color:#8fd6a4}.sitefooter .formstatus.error{color:#ffb4ab}
.footbottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding:18px 0 92px;font-size:12.5px;color:#a9bfce}
.footbottom nav{display:flex;gap:20px}.footbottom nav a{display:inline;padding:0;font-size:12.5px}

/* floating chat button */

/* scroll reveal (only when JavaScript and motion are available) */
.js-reveal .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js-reveal .reveal.shown{opacity:1;transform:none}

/* legal pages */
.legalhead{background:linear-gradient(180deg,#eef6fc,var(--hero-bg));padding:48px 0 40px}
.legalhead h1{font-size:clamp(2rem,4vw,2.8rem);margin:0 0 6px}.legalhead p{margin:0}
.legalbody{padding:40px 0 72px}.legalbody>*{max-width:780px}
.legalbody h2{font-size:1.35rem;margin:28px 0 10px}.legalbody p,.legalbody li{color:#3f5a6c;font-size:16px}
.legalbody ul{padding-left:22px}
.legalback{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--green-text);margin-bottom:14px}

@media (max-width:1180px){
 .cats{grid-template-columns:repeat(4,minmax(0,1fr))}
 .newsgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .quickgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.quickgrid .button{grid-column:1/-1;justify-self:start}
 .footgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.footbrand{grid-column:1/-1}
}
/* Eight menu items: the phone shows as an icon first, then the menu becomes a drawer. */
@media (max-width:1300px){.navright .phonetext{display:none}}
@media (max-width:1180px){
 .menuToggle{display:grid}
 .siteheader{backdrop-filter:none;background:#fff} /* a backdrop filter would trap the fixed drawer inside the header */
 /* Right-hand drawer over a dimmed overlay (see ui-context.md). Three areas in a flex column sized to the visible
    viewport (100dvh, 100vh fallback, safe areas): fixed top (logo + close), scrolling links, fixed bottom actions. */
 .mainnav{position:fixed;top:0;right:0;left:auto;z-index:32;width:min(88vw,390px);height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-radius:20px 0 0 20px;box-shadow:-18px 0 48px rgba(0,0,0,.18);padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) 14px;overflow:hidden;overscroll-behavior:contain;transform:translateX(105%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility .32s}
 .mainnav.open{transform:none;visibility:visible}
 .drawerhead{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 8px;border-bottom:1px solid var(--border-color)}.drawerhead img{height:40px;width:auto}
 .drawerclose{width:44px;height:44px;border-radius:50%;border:0;background:#e8f5fd;color:var(--brand-navy);display:grid;place-items:center;cursor:pointer;flex:none}.drawerclose .lic{width:22px;height:22px}
 .navlinks{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:8px 0}
  /* Scroll shadows: visible only when links are hidden above/below (the white covers move with the content). */
 .navlinks{background:linear-gradient(#fff 30%,rgba(255,255,255,0)) top/100% 28px no-repeat local,linear-gradient(rgba(255,255,255,0),#fff 70%) bottom/100% 28px no-repeat local,radial-gradient(farthest-side at 50% 0,rgba(8,66,99,.18),transparent) top/100% 10px no-repeat scroll,radial-gradient(farthest-side at 50% 100%,rgba(8,66,99,.18),transparent) bottom/100% 10px no-repeat scroll}
 .navlinks>a{flex:none;display:flex;align-items:center;gap:12px;min-height:44px;font-size:15px;font-weight:700;padding:8px 10px;border-radius:12px;color:var(--brand-navy)}
 .navlinks>a::after{display:none}.navlinks>a:hover{background:#f3f8fa}.navlinks>a.active{background:#e8f5fd;color:var(--brand-navy)}
 .mainnav .navic{display:block;width:20px;height:20px;color:var(--brand-navy)}.mainnav .navchev{display:block;margin-left:auto;width:18px;height:18px;color:#5b7385}
 .mainnav .m-only{display:inline;white-space:pre}
 .navextra{flex:none;display:flex;flex-direction:column;gap:10px;padding-top:10px;border-top:1px solid var(--border-color)}
 .drawercta{justify-content:center;width:100%;min-height:46px;padding-top:10px!important;padding-bottom:10px!important}
 .drawercontact{list-style:none;margin:0;padding:0 2px;display:grid;gap:4px;font-size:13.5px;line-height:1.35}.drawercontact li{display:flex;gap:10px;align-items:center;min-height:30px;color:var(--brand-navy)}.drawercontact a{color:var(--brand-navy);font-weight:600;overflow-wrap:anywhere;padding:6px 0}.drawercontact .lic{color:var(--green-text);width:18px;height:18px;flex:none}
 .drawersocial{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:12px}.drawersocial a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--brand-navy)}.drawersocial .soc-facebook{background:#1877f2}.drawersocial .soc-instagram{background:#c13584}.drawersocial .soc-linkedin{background:#0a66c2}.drawersocial .soc-youtube{background:#e00}
 .drawertag{margin:0;text-align:center;font-size:12px;color:var(--text-secondary)}
 /* Short screens and landscape: the whole panel scrolls so no control is cut off. */
 @media (max-height:520px){.mainnav{overflow-y:auto}.navlinks{flex:none;overflow:visible;background:none}}
 .navoverlay{display:block;position:fixed;inset:0;z-index:31;background:rgba(6,30,48,.55);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
 body.menu-open .navoverlay{opacity:1;visibility:visible}
 .menuToggle{border:0;border-radius:50%;background:var(--brand-navy);color:#fff}.phonedot{width:46px;height:46px}.navright{gap:10px}.menuToggle .lic{stroke-width:2.4}
 .navright{margin-left:auto}
 body.menu-open{overflow:hidden}
 body.menu-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden}
 body.menu-locked .siteheader{position:fixed;top:0;left:0;right:0}
}
@media (max-width:900px){
 .hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:32px 0 28px}
 /* Stacked: copy on the navy gradient, photos in a rounded card below it (no side-by-side seam to blend). */
 .hero::before,.hero::after{display:none}
 .hero-inner{order:1}.hero-copy{max-width:none}
 .hero-media{order:2;position:relative;left:auto;width:auto;height:auto;aspect-ratio:1.4;margin:28px 24px 0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-card)}
 .hero-house,.hero-wave{display:none}
 .quick{margin-top:20px}
 .quicktitle{position:static;width:auto;height:auto;clip:auto;font-size:18px;margin:0 0 12px}
 .about-grid,.area-grid,.steps-grid,.mobile-grid,.nlband,body[data-page] .form-split,body[data-page] .contactgrid{grid-template-columns:minmax(0,1fr)}
 .svcgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .statbar{grid-template-columns:repeat(2,minmax(0,1fr))}.statcard+.statcard{border-left:0}.statcard:nth-child(even){border-left:1px solid rgba(255,255,255,.16)}.statcard:nth-child(n+3){border-top:1px solid rgba(255,255,255,.16)}
 .mobile-grid>div:first-child{padding-bottom:0}
 .phones{height:330px}
 .sechead{flex-direction:column;align-items:flex-start}
 .steps-photo{order:2}
 .leaders .teamgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
 body[data-page] .container{width:calc(100% - 32px)}
 .siteheader .nav{min-height:70px;gap:12px}.brandlogo{height:48px}
 .navright .phonetext,.navright .navcta{display:none}
 .hero{padding-top:24px}
 .hero h1{font-size:clamp(2rem,9vw,2.5rem)}
 .hero .lead{font-size:16px}
 .hero .actions .button{flex:1 1 100%}
 .trust{gap:12px}.trust li{max-width:none;flex:1 1 100%}
 .hero-media{margin:22px 16px 0;aspect-ratio:1.2}
 .quickcard{padding:20px 18px 12px}
 .quickgrid{grid-template-columns:minmax(0,1fr)}.quickgrid .button{justify-self:stretch}
 .about-photo{margin:0 16px 16px 0}.about-photo::before{inset:24px -16px -16px 24px}
 .about-row{grid-template-columns:minmax(0,1fr)}.about-small{display:none}
 .about-team .textlink{margin-left:0}
 .cats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .consult{flex-direction:column;align-items:flex-start}.consult .button{margin-left:0;width:100%}
 .svcgrid{grid-template-columns:minmax(0,1fr)}
 .arealist{grid-template-columns:repeat(2,minmax(0,1fr))}
 .statcard{padding:18px 10px}.statcard span:last-child{font-size:13px}
 .mobilelinks{grid-template-columns:minmax(0,1fr)}
 .phones{height:300px}.phone{width:210px;height:455px}.mobile-heart{width:100px;height:100px}
 .newsgrid{grid-template-columns:minmax(0,1fr)}
 .leaders .teamgrid{grid-template-columns:minmax(0,1fr)}
 .nlband{padding:24px 20px}.nlrow{flex-wrap:wrap}.nlrow label{flex:1 1 100%}.nlband .nlrow .button{width:100%}
 .nlform.compact .nlrow{flex-wrap:nowrap}.nlform.compact .nlrow label{flex:1 1 auto}
 .footgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footgrid>div:nth-last-child(-n+2){grid-column:1/-1}
 .footbottom{flex-direction:column;align-items:flex-start}

}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .slide,.cat,.svc,.newscard,.button,.mainnav,.navoverlay,.chatfab,.lic{transition:none!important}
 .js-reveal .reveal{opacity:1;transform:none}
}

body[data-page] .career-photo{height:auto;aspect-ratio:1.9;max-height:none}
body.menu-open .chatfab,body.menu-open .chatpanel{display:none}

/* ==========================================================================
   Standalone pages (October 2026): page heroes, breadcrumbs and page sections.
   Heroes share the brand navy (#084263 / #06344f) but differ by page: photo blend, split, plain (line art) and light.
   ========================================================================== */
body[data-page] .h3{font-size:1.3rem;letter-spacing:-.01em}
.phero{position:relative;overflow:hidden;isolation:isolate;color:#fff;background:linear-gradient(135deg,#084263 0%,#06344f 100%)}
.phero h1{color:#fff;font-size:clamp(2.1rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.025em;margin:0 0 14px}
.phero-copy{position:relative;z-index:2;max-width:640px}
.phero-lead{color:#e6eef6;font-size:17px;line-height:1.6;margin:0}
.phero-eyebrow{display:inline-block;background:#d7f0de;color:#155f35;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 13px;border-radius:999px;margin-bottom:14px}
.phero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
body[data-page] .button.ghost.onnavy{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.7)}body[data-page] .button.ghost.onnavy:hover{background:rgba(255,255,255,.1);border-color:#fff}
.phero :focus-visible{outline-color:#fff}
.phero-art{position:absolute;inset:0;width:100%;height:100%;z-index:0;fill:none;stroke:rgba(255,255,255,.09);stroke-width:2}.phero-art circle{fill:rgba(255,255,255,.04);stroke:none}
.phero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:center}
.phero-grid>.phero-copy:only-child{grid-column:1/-1}
/* breadcrumbs */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;margin:0 0 18px;padding:0;font-size:13px}
.crumbs li{display:flex;align-items:center;gap:8px;color:#cfe0ec}.crumbs li+li::before{content:"/";color:rgba(255,255,255,.45)}
.crumbs a{color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}.crumbs a:hover{color:#bfe9cb}
.crumbs [aria-current]{color:#cfe0ec}
/* photo: the page photograph blended into navy, like the homepage */
.phero--photo{min-height:clamp(380px,34vw,480px);display:flex;align-items:center;padding:56px 0 64px}
.phero--photo .phero-media{position:absolute;top:0;right:0;bottom:0;left:34%;z-index:0}.phero--photo .phero-media img{width:100%;height:100%;object-fit:cover;object-position:60% 25%;display:block}
.phero--photo::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#084263 0%,#084263 36%,rgba(8,66,99,.9) 44%,rgba(8,66,99,.55) 54%,rgba(8,66,99,.2) 64%,rgba(8,66,99,0) 76%)}
.phero--photo .phero-copy{max-width:560px}
/* split: copy beside a framed photograph */
.phero--split{padding:52px 0 60px}
.phero-figure{position:relative}.phero-figure::before{content:"";position:absolute;inset:22px -18px -18px 22px;border-radius:28px;background:rgba(89,185,115,.28)}
.phero-figure img{position:relative;width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;border-radius:24px;box-shadow:0 24px 50px rgba(0,20,40,.35);display:block}
/* plain: navy with line art and an optional block (search, contact shortcuts, team faces) */
.phero--plain{padding:52px 0 60px}
/* light: legal pages, articles and the 404 page */
.phero--light{background:linear-gradient(180deg,#eef6fc,#e7f1f9);color:var(--text-primary);padding:40px 0 36px}
.phero--light h1{color:var(--brand-navy);font-size:clamp(1.9rem,3.6vw,2.8rem)}.phero--light .phero-copy{max-width:820px}
.phero--light .phero-lead{color:var(--text-secondary)}.phero--light .crumbs li{color:var(--text-secondary)}.phero--light .crumbs li+li::before{color:#9db3c3}
.phero--light .crumbs a{color:var(--brand-navy);text-decoration-color:#9db3c3}.phero--light .crumbs [aria-current]{color:var(--text-secondary)}
.phero--light .phero-eyebrow{background:#d7f0de}
.phero--light :focus-visible{outline-color:#59b973}
.phero-faces{display:flex;justify-content:flex-end}.phero-faces img{width:110px;height:110px;border-radius:50%;object-fit:cover;object-position:center 15%;border:4px solid #fff;box-shadow:0 12px 28px rgba(0,20,40,.35)}.phero-faces img+img{margin-left:-22px}
.phero-contact{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.phero-contact a{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:14px 18px;color:#fff}.phero-contact a:hover{background:rgba(255,255,255,.16);color:#fff}
.phero-contact .lic{width:40px;height:40px;padding:10px;border-radius:50%;background:var(--green-strong);flex:none}.phero-contact b{display:block;font-size:13px;color:#cfe0ec;font-weight:600}
.blogsearch{display:flex;gap:10px;background:#fff;border-radius:999px;padding:6px;box-shadow:0 18px 40px rgba(0,20,40,.3)}
.blogsearch label{flex:1;display:flex;align-items:center;gap:8px;padding-left:14px;color:var(--brand-navy)}.blogsearch input{flex:1;min-width:0;border:0;background:none;height:44px;font-size:15px;color:var(--text-primary)}
.blogsearch input:focus{outline:none}.blogsearch:focus-within{outline:3px solid #59b973;outline-offset:3px}
/* section building blocks */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}.split.top{align-items:start}
.prose h2{margin-bottom:14px}.prose h2:not(:first-child),.prose h3{margin-top:28px}.prose p{font-size:16px}
.framed{position:relative;margin:0 24px 24px 0}.framed::before{content:"";position:absolute;inset:28px -24px -24px 28px;background:#d3efdb;border-radius:28px}
.framed img{position:relative;width:100%;height:auto;aspect-ratio:1.3;object-fit:cover;border-radius:24px;box-shadow:var(--shadow-card);display:block}
.checks.big li{font-size:15.5px;align-items:flex-start}.checks.big .tick{margin-top:2px}
.notecard{background:#fff;border:1px solid var(--border-color);border-radius:22px;padding:28px;box-shadow:var(--shadow-card)}
.notecard h3,.notecard .h3{margin-bottom:10px}.notecard .checks{margin-bottom:18px}
.notecard.navy{background:linear-gradient(135deg,#084263,#0f5a92);border:0;color:#fff}.notecard.navy h3,.notecard.navy .h3{color:#fff}.notecard.navy p{color:#d5e6f2}
.notecard .svc-ic{margin-bottom:14px}
.mvgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.mvcard{background:#fff;border-radius:24px;padding:34px;box-shadow:var(--shadow-card);border:1px solid var(--border-color)}.mvcard p{font-size:17px;margin:0}.mvcard .svc-ic{margin-bottom:16px}
.mvcard.alt{background:linear-gradient(135deg,#084263,#0f5a92);border:0}.mvcard.alt h3{color:#fff}.mvcard.alt p{color:#e0edf6}
.valuegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.valuecard{background:#fff;border:1px solid var(--border-color);border-radius:20px;padding:26px;box-shadow:var(--shadow-card);transition:transform .25s,box-shadow .25s}.valuecard:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.valuecard h3{font-size:18px;margin:12px 0 6px}.valuecard p{font-size:14.5px;margin:0}
.valuenum{font:800 30px/1 'Plus Jakarta Sans',system-ui,sans-serif;color:var(--green-heading)}
.leadmini{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.leadchip{display:flex;align-items:center;gap:14px;background:#fff;border-radius:999px;padding:8px 22px 8px 8px;box-shadow:var(--shadow-card)}.leadchip img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:center 15%}
.leadchip b{display:block;color:var(--brand-navy)}.leadchip small{color:var(--green-text);font-weight:700}
.morelink{margin-top:26px}
.ctaband{padding:0 0 var(--section-spacing)}.soft+.ctaband{padding-top:var(--section-spacing)}
.svcdetail .prose h2{font-size:clamp(1.35rem,2vw,1.65rem);margin-bottom:10px}
.ctabox{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;background:linear-gradient(120deg,#06344f,#084263 50%,#0f5a92);border-radius:28px;padding:clamp(28px,4vw,44px);box-shadow:0 20px 44px rgba(8,66,99,.22)}
.ctabox h2{color:#fff;margin:0 0 6px;font-size:clamp(1.5rem,2.4vw,2rem)}.ctabox p{color:#d5e6f2;margin:0;max-width:560px}
.ctabtns{display:flex;flex-wrap:wrap;gap:12px}.ctabox .button.ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.7)}.ctabox .button.ghost:hover{background:rgba(255,255,255,.1)}
.ctabox :focus-visible{outline-color:#fff}
/* services */
.svccards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.svccard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-color);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .25s,box-shadow .25s}.svccard:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}
.svccard-img img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:center 30%;display:block}
.svccard-body{position:relative;padding:34px 24px 24px;display:flex;flex-direction:column;flex:1}.svccard-body .svc-ic{position:absolute;top:-27px;left:24px}
.svccard h3{font-size:19px;margin:0 0 8px}.svccard h3 a:hover{color:var(--green-text)}.svccard p{font-size:14.5px;flex:1}
.svcnote{margin:32px auto 0;max-width:640px}
.stepcards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.stepcards li{background:#fff;border-radius:20px;padding:26px;box-shadow:var(--shadow-card)}.stepcards h3{font-size:17px;margin:16px 0 6px}.stepcards p{font-size:14px;margin:0}
.svcdetail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(32px,5vw,64px);align-items:start}
.svcaside{position:sticky;top:110px;display:grid;gap:20px}
.related{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:4px}.related a{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:12px;font-weight:600;color:var(--brand-navy)}.related a:hover{background:var(--bg-light)}.related .lic{color:var(--blue-strong);width:22px;height:22px}
.asidephone{display:flex;align-items:center;gap:8px;margin-top:16px;color:#fff;font-weight:700}.asidephone:hover{color:#bfe9cb}
.notecard.navy .button{margin-top:6px}
.disclaimer{display:flex;gap:12px;align-items:flex-start;background:var(--bg-light);border-left:4px solid var(--brand-green);border-radius:12px;padding:16px 18px;font-size:14px;margin-top:28px}.disclaimer .lic{color:var(--green-text);margin-top:3px}
/* team */
.profilegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.profile{background:#fff;border:1px solid var(--border-color);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-card)}
.profile img{width:100%;height:auto;aspect-ratio:.86;object-fit:cover;object-position:center top;background:#e6f0f8;display:block}
.profile-body{padding:22px 24px 26px}.profile-body small{color:var(--green-text);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.profile-body h3{margin:6px 0 8px}.profile-body p{font-size:14.5px;margin:0}
/* referrals, careers, FAQ */
.chipgrid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.chipgrid a{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border-color);border-radius:999px;padding:12px 20px;font-weight:700;color:var(--brand-navy);box-shadow:var(--shadow-card)}.chipgrid a:hover{border-color:#a9d9b7;color:var(--green-text)}.chipgrid .lic{color:var(--blue-strong)}
.narrow{max-width:860px}
.faq{display:grid;gap:12px}
.faq details{background:#fff;border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-card)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:18px 22px;font-weight:700;color:var(--brand-navy)}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;background:#e3f4e8;color:var(--green-text);display:grid;place-items:center;font-size:18px;line-height:1}
.faq details[open] summary::after{content:"\2212"}.faq details p{padding:0 22px 18px;margin:0}
.faq.roles{margin:18px 0}.career-photo{display:block}
#referralForm .formhint{margin:4px 0 14px}
/* contact */
.emergency{display:flex;gap:12px;align-items:flex-start;background:#fff6e5;border:1px solid #f1d9a6;border-radius:14px;padding:14px 18px;margin:18px 0}.emergency .lic{color:#9a6200;margin-top:3px}.emergency p{margin:0;color:#6b4a07;font-size:14.5px}
.contactcard{font-style:normal}.contactcard>b{display:block;color:var(--brand-navy);margin:18px 0 0}
.contactgrid.top{align-items:start}
#contactForm .formhint{margin:-6px 0 16px}
.pathgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pathcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-color);border-radius:22px;padding:28px;box-shadow:var(--shadow-card);transition:transform .25s,box-shadow .25s;color:inherit}.pathcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);color:inherit}
.pathcard h3{margin:16px 0 6px}.pathcard p{font-size:14.5px;flex:1}
/* blog */
.catfilter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.catfilter a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-color);border-radius:999px;padding:8px 16px;font-weight:600;font-size:14px;color:var(--brand-navy);background:#fff}
.catfilter a span{font-size:12px;background:var(--bg-light);border-radius:999px;padding:1px 8px;color:var(--text-secondary)}
.catfilter a:hover{border-color:var(--brand-navy)}.catfilter a[aria-current]{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}.catfilter a[aria-current] span{background:rgba(255,255,255,.18);color:#fff}
#blogListTitle small{font-size:.6em;color:var(--text-secondary);font-weight:600}
.featuredpost{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:26px;padding:18px;box-shadow:var(--shadow-card);margin-bottom:32px}
.featuredpost-img{display:grid;place-items:center;aspect-ratio:1.6;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#e3f0f9,#d3efdb);color:var(--blue-strong);font-size:64px}.featuredpost-img img{width:100%;height:100%;object-fit:cover}
.featuredpost h3{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:8px 0 10px}.featuredpost h3 a:hover{color:var(--green-text)}.featuredpost .newsmeta{justify-content:flex-start;margin-bottom:16px}
.postcat{display:block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--green-text)}
.postgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.postcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-color);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .25s,box-shadow .25s}.postcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.postcard-img{display:grid;place-items:center;aspect-ratio:1.7;background:linear-gradient(135deg,#e3f0f9,#d3efdb);color:var(--blue-strong);font-size:44px}.postcard-img img{width:100%;height:100%;object-fit:cover}
.postcard-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}.postcard h3{font-size:18px;margin:6px 0 8px;line-height:1.3}.postcard h3 a:hover{color:var(--green-text)}.postcard p{font-size:14px;flex:1}
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:36px}
.pager a{min-width:42px;height:42px;padding:0 14px;border:1px solid var(--border-color);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:700;color:var(--brand-navy);background:#fff}
.pager a:hover{border-color:var(--brand-navy)}.pager a[aria-current]{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}
.newsbody h3 a:hover{color:var(--green-text)}
/* article */
.article{padding-top:40px}
.articlegrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,5vw,64px);align-items:start}
.articlemain{max-width:760px}
.articlemeta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:var(--text-secondary);margin-bottom:22px}.articlemeta span{display:inline-flex;align-items:center;gap:7px}.articlemeta .lic{color:var(--green-text)}
.articlecover{width:100%;height:auto;max-height:440px;object-fit:cover;border-radius:22px;margin-bottom:28px;display:block}
.postrich{font-size:17px;line-height:1.75}.postrich p,.postrich li{color:#2f4b5e;font-size:17px}
.postrich h2{font-size:clamp(1.4rem,2.2vw,1.75rem);margin:34px 0 12px}.postrich h3{font-size:1.25rem;margin:26px 0 10px}
.postrich ul,.postrich ol{padding-left:24px;margin:0 0 18px}.postrich li{margin-bottom:6px}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid var(--border-color);margin-top:34px;padding-top:22px}.share b{color:var(--brand-navy);margin-right:6px}
.share a,.sharecopy{border:1px solid var(--border-color);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;color:var(--brand-navy);background:#fff}.share a:hover,.sharecopy:hover{border-color:var(--brand-navy)}
.articleaside{position:sticky;top:110px;display:grid;gap:20px}
.relatedposts{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:4px}.relatedposts a{display:block;padding:12px 10px;border-radius:12px}.relatedposts a:hover{background:var(--bg-light)}
.relatedposts b{display:block;color:var(--brand-navy);line-height:1.35;margin:3px 0}.relatedposts small{color:var(--text-secondary)}
/* homepage "next step" cards and the 404 page */
.pathways .pathgrid{max-width:1080px;margin:0 auto}
.linkgrid{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.linkgrid a{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border-color);border-radius:14px;padding:14px 18px;font-weight:700;color:var(--brand-navy)}.linkgrid a:hover{border-color:var(--brand-navy)}
.legalbody{padding:40px 0 72px}
@media (max-width:1180px){
 .svccards,.postgrid,.profilegrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stepcards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .svcdetail{grid-template-columns:minmax(0,1fr) 300px}.articlegrid{grid-template-columns:minmax(0,1fr) 280px}
}
@media (max-width:900px){
 .phero-grid,.split,.mvgrid,.featuredpost,.svcdetail,.articlegrid{grid-template-columns:minmax(0,1fr)}
 .split.rev>.framed{order:2}
 .phero--photo{min-height:0;padding:44px 0 48px}.phero--photo .phero-media{left:0}
 .phero--photo::before{background:linear-gradient(180deg,rgba(8,66,99,.94) 0%,rgba(8,66,99,.86) 55%,rgba(6,52,79,.78) 100%)}
 .phero-faces{justify-content:flex-start}.phero-faces img{width:84px;height:84px}
 .svcaside,.articleaside{position:static}
 .pathgrid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
 .phero--split,.phero--plain{padding:36px 0 44px}
 .phero h1{font-size:clamp(1.9rem,8.5vw,2.4rem)}.phero-lead{font-size:16px}
 .phero-actions .button{flex:1 1 100%}
 .phero-figure::before{inset:14px -10px -10px 14px}
 .svccards,.postgrid,.profilegrid,.stepcards{grid-template-columns:minmax(0,1fr)}
 .framed{margin:0 14px 14px 0}.framed::before{inset:18px -14px -14px 18px}
 .blogsearch{border-radius:18px;flex-wrap:wrap}.blogsearch label{flex:1 1 100%;padding:0 10px}.blogsearch .button{flex:1 1 100%}
 .ctabtns,.ctabtns .button{width:100%}
 .leadchip{width:100%;border-radius:20px}
 .mvcard{padding:26px}
 .faq summary{padding:16px 18px}.faq details p{padding:0 18px 16px}
}
@media (prefers-reduced-motion:reduce){.svccard,.postcard,.pathcard,.valuecard{transition:none!important}}
/* The hidden attribute always wins over component display rules (e.g. the contact form's phone field). */
body[data-page] [hidden]{display:none!important}

/* Live Chat: circular button → contact choice (Live Chat / WhatsApp) → conversation. The green deepens toward the
   bottom so the white icon (≥3:1) and the small label (≥4.5:1) keep enough contrast. */
.chatfab{position:fixed;right:22px;bottom:22px;z-index:40;width:72px;height:72px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;align-content:center;gap:2px;color:#fff;cursor:pointer;background:linear-gradient(180deg,#59b973 0%,#3c9f5c 42%,#1b7f45 80%);box-shadow:0 10px 26px rgba(8,66,99,.32),0 2px 6px rgba(8,66,99,.18);transition:transform .2s ease,box-shadow .2s ease}
.chatfab:hover{transform:scale(1.06);box-shadow:0 14px 32px rgba(8,66,99,.38),0 2px 6px rgba(8,66,99,.2)}
.chatfab:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px var(--navy),0 10px 26px rgba(8,66,99,.32)}
.fabicons{display:grid;place-items:center}.fabicons .lic{grid-area:1/1;width:26px;height:26px;transition:opacity .2s,transform .2s}
.chatfab .fab-close,.chatfab.open .fab-open{opacity:0;transform:rotate(-45deg) scale(.6)}.chatfab.open .fab-close{opacity:1;transform:none}
.fablabel{font-size:10.5px;font-weight:800;line-height:1;letter-spacing:.01em}.chatfab.open .fablabel{display:none}
body[data-page] .chatpanel{right:22px;bottom:108px;left:auto;width:min(384px,calc(100vw - 44px));height:auto;max-height:calc(100dvh - 128px);border-radius:22px;box-shadow:0 22px 60px rgba(6,44,75,.3),0 4px 14px rgba(6,44,75,.12);background:#fff;display:flex;flex-direction:column;overflow:hidden;animation:chatIn .24s ease-out}
body[data-page] .chatpanel.hidden{display:none}
@keyframes chatIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.chatscreen{display:flex;flex-direction:column;min-height:0;flex:1}
#chatLive{height:min(560px,calc(100dvh - 128px))}
body[data-page] .chathead{background:var(--navy);color:#fff;display:flex;align-items:flex-start;gap:10px;padding:16px 16px 16px 20px}
.chathead .grow{flex:1;min-width:0}.chathead h2{color:#fff;font-size:17px;line-height:1.3;margin:0}
.chathead.chooser{padding:20px 16px 20px 22px;justify-content:space-between}.chathead.chooser h2{font-size:20px;margin:4px 0 6px}.chathead.chooser p{margin:0;color:#d3e2ec;font-size:14px;line-height:1.45}
.chatbrand{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;color:#7fd197}
#chatLive .chathead{align-items:center;padding:12px 12px}
body[data-page] .chathead small{font-size:12px}
.chatx{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .2s}.chatx:hover{background:rgba(255,255,255,.24)}.chatx:focus-visible{outline:2px solid #fff;outline-offset:2px}.chatx .lic{width:20px;height:20px}
.chatoptions{display:grid;gap:12px;padding:18px;overflow:auto}
.chatopt{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(8,66,99,.06);transition:transform .2s,box-shadow .2s,border-color .2s}
.chatopt:not(.off):hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,66,99,.12)}
.chatopt.live{border-left:4px solid var(--navy)}.chatopt.wa{border-left:4px solid #25d366}
.chatopt h3{margin:0 0 4px;font-size:16px;color:var(--navy)}.chatopt p{margin:0 0 12px;font-size:14px;line-height:1.45;color:var(--text-secondary,#4f6574)}
.optic{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center}.optic .lic{width:24px;height:24px}
.live .optic{background:#e5eff6;color:var(--navy)}.wa .optic{background:#e3f7ea;color:#128c4a}
.lic.fill{fill:currentColor;stroke:none}
.optbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border:0;border-radius:999px;background:var(--green-strong);color:#fff!important;font-weight:700;font-size:14.5px;text-decoration:none;cursor:pointer;transition:background .2s}
.optbtn:hover{background:var(--green-strong-hover)}.optbtn:focus-visible{outline:3px solid var(--navy);outline-offset:2px}.optbtn .lic{transition:transform .2s}.optbtn:hover .lic{transform:translateX(3px)}
.chatopt.off{background:#f6f8f9;box-shadow:none}.chatopt.off .optic{filter:grayscale(1);opacity:.6}
.optnote{font-size:13px!important;margin:0!important;color:var(--ink)!important}.optnote a{font-weight:700;color:var(--blue-strong)}
.chatfoot{padding:14px 20px 16px;border-top:1px solid var(--line);background:#f7faf9;text-align:center}.chatfoot b{display:block;color:var(--navy);font-size:14px}.chatfoot small{display:block;margin-top:4px;color:var(--text-secondary,#4f6574);font-size:12px;line-height:1.45}
#chatLive .chatprivacy{font-size:12px;padding:10px 14px}
#chatLive .chatcompose button{min-width:64px;min-height:44px}#chatLive input,#chatLive select,#chatLive textarea{font:inherit;font-size:14px;color:var(--ink)}
@media(max-width:600px){
 .chatfab{width:60px;height:60px;right:16px;bottom:16px}.chatfab .fablabel{display:none}.fabicons .lic{width:26px;height:26px}
 body[data-page] .chatpanel{left:12px;right:12px;bottom:86px;width:auto;max-height:calc(100dvh - 100px)}
 #chatLive{height:min(560px,calc(100dvh - 100px))}
 .chathead.chooser{padding:16px 12px 16px 18px}.chathead.chooser h2{font-size:18px}
 .chatoptions{padding:14px;gap:10px}.chatopt{padding:14px;gap:12px}.optbtn{width:100%;justify-content:center}
 #chatLive .chatidentity input,#chatLive .chatidentity select,#chatLive .chatcompose textarea{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.chatfab,.chatfab:hover,.fabicons .lic,.chatopt,.optbtn,.optbtn .lic{transition:none!important;transform:none!important}body[data-page] .chatpanel{animation:none}}

/* Phone homepage (approved mobile reference): compact category tiles, inline contact strip, list-style featured service cards. */
@media(max-width:600px){
 .cats{gap:10px}.cat{gap:8px;padding:14px 8px 12px;font-size:13px;border-radius:14px}.cat-ic{width:30px;height:30px}
 .consult{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 14px;padding:16px;margin:24px auto 40px}.consult-ic{width:44px;height:44px;font-size:20px}.consult .button{grid-column:1/-1;margin:10px 0 0;width:100%}
 .featured .svcgrid{gap:12px}
 .featured .svc{position:relative;align-items:center;gap:14px;padding:14px 42px 14px 14px;border-radius:16px}
 .featured .svc .svc-ic{width:44px;height:44px;font-size:20px;box-shadow:0 0 0 4px #e3f4e8}.featured .svc-all .svc-ic{box-shadow:0 0 0 4px rgba(255,255,255,.12)}
 .featured .svc h3{font-size:15.5px;margin:0 0 3px}.featured .svc p{font-size:13px;line-height:1.45;margin:0}
 .featured .svc .textlink{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .featured .svc::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;border-top:2px solid #5b7385;border-right:2px solid #5b7385;transform:translateY(-50%) rotate(45deg)}
 .featured .svc-all::after{border-color:#fff}
 .about-copy h2{font-size:clamp(1.65rem,7.2vw,2rem)}
}
/* Live chat delivery states */
.chatconn{display:block;font-size:.72rem;opacity:.85}.chatconn:empty{display:none}.chatconn[data-state="down"]{color:#ffd7d7}
.bubble.pending{opacity:.72}.bubble.failed{opacity:1;border:1px solid #d9534f}
.bubble .chatstate{display:flex;gap:6px;align-items:center}.chatretry{border:0;background:none;padding:0;color:#b4233c;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}


/* Management review (October 2026): insurance & payment options, compact emergency notices */
.insurance .center p{max-width:640px;margin-left:auto;margin-right:auto}
.insgrid{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.inscard{display:flex;flex-direction:column;align-items:flex-start;gap:12px;height:100%;background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:18px;padding:24px 22px;box-shadow:var(--shadow-card)}
.inscard h3{margin:0;color:var(--navy);font-size:18px;line-height:1.3}
.inscard p{margin:0;color:var(--muted);font-size:14.5px}
.ins-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#e3f4e8;color:#1f7a42}
.ins-ic .lic{width:24px;height:24px}
.insfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;margin-top:26px}
.insnote{display:flex;gap:10px;align-items:flex-start;margin:0;max-width:720px;color:var(--muted);font-size:14px}
.insnote .lic{flex:none;width:18px;height:18px;margin-top:2px;color:var(--blue)}
@media (max-width:1100px){.insgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.insgrid{grid-template-columns:minmax(0,1fr);gap:14px}.inscard{flex-direction:row;align-items:center;padding:16px 18px}.inscard h3{font-size:16.5px}.insfoot .button{width:100%;justify-content:center}}
.notice911{display:flex;gap:10px;align-items:flex-start;margin:16px 0;padding:10px 14px;background:#f2f7fb;border:1px solid #d6e5ef;border-radius:12px;color:var(--navy);font-size:14px;font-weight:600}
.notice911 .lic{flex:none;width:18px;height:18px;margin-top:1px;color:#9a6200}
.footnotice .notice911{margin:0 0 4px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff;display:inline-flex}
.footnotice .notice911 .lic{color:#ffd27a}
.chatprivacy{display:flex;gap:8px;align-items:flex-start}
.chatprivacy .lic,.chat911 .lic{flex:none;width:15px;height:15px;margin-top:1px;color:#9a6200}
.chat911{display:flex!important;gap:8px;align-items:flex-start;justify-content:center;text-align:left}
.chatprivacy b,.chat911 b{color:var(--navy)}

/* Footer social buttons (October 2026): white circles with dark brand marks, always shown in a fixed order */
.sitefooter .social{gap:10px;margin-top:18px;flex-wrap:wrap}
.sitefooter .social a,.sitefooter .social .soc-pending{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #e3e7ea;color:#1b1f23;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:transform .15s ease,background .15s ease,color .15s ease}
.sitefooter .social .lic{width:19px;height:19px;margin:0}
.sitefooter .social .lic:not(.fill){stroke-width:2.2}
.sitefooter .social a:hover,.sitefooter .social a:focus-visible{background:var(--green-strong,#1f7a42);border-color:var(--green-strong,#1f7a42);color:#fff;transform:translateY(-2px)}
.sitefooter .social .soc-pending{cursor:default}
.sitefooter .social{gap:8px;flex-wrap:nowrap}
.sitefooter .social a,.sitefooter .social .soc-pending{width:38px;height:38px}
.sitefooter .social .lic{width:17px;height:17px}
.sitefooter .social{gap:12px}
.sitefooter .social a,.sitefooter .social .soc-pending{width:36px;height:36px}
.sitefooter .social .lic{width:16px;height:16px}
.sitefooter .social .soc-pending:hover{background:var(--green-strong,#1f7a42);border-color:var(--green-strong,#1f7a42);color:#fff;transform:translateY(-2px)}
