:root{--navy:#0b3152;--navy-2:#08263f;--blue:#14618f;--teal:#00a69c;--teal-dark:#007c76;--orange:#f59b45;--ink:#142434;--muted:#53687a;--line:#dce5ec;--soft:#f2f7fa;--white:#fff;--radius:18px;--shadow:0 18px 48px rgba(11,49,82,.12);--container:1180px;--header-h:76px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--blue);text-underline-offset:.18em}a:hover{color:var(--teal-dark)}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}.narrow{max-width:840px}.skip-link{position:fixed;left:1rem;top:1rem;z-index:9999;padding:.75rem 1rem;background:#fff;color:#000;border:2px solid #000;transform:translateY(-180%)}.skip-link:focus{transform:none}.topbar{background:var(--navy-2);color:#dbeaf3;font-size:.84rem}.topbar-inner{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar a{color:#fff;text-decoration:none}.topbar-links{display:flex;gap:1.25rem}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--navy);text-decoration:none;min-width:max-content}.brand-mark{width:42px;height:42px}.brand span{display:grid;line-height:1.05}.brand strong{font-size:1.15rem;letter-spacing:-.02em}.brand small{font-size:.72rem;color:var(--muted);margin-top:.34rem;letter-spacing:.04em}.site-nav{display:flex;align-items:center;gap:.25rem}.site-nav>a,.nav-group>summary{display:flex;align-items:center;min-height:44px;padding:.55rem .68rem;border-radius:10px;color:var(--ink);font-size:.92rem;font-weight:700;text-decoration:none;cursor:pointer;list-style:none;white-space:nowrap}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:after{content:"";width:.42rem;height:.42rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:.55rem;margin-top:-.25rem}.site-nav>a:hover,.site-nav>a:focus-visible,.nav-group>summary:hover,.nav-group>summary:focus-visible,.nav-group[open]>summary{background:var(--soft);color:var(--navy)}.site-nav .nav-cta{background:var(--teal);color:#fff;padding-inline:.9rem}.site-nav .nav-cta:hover{background:var(--teal-dark);color:#fff}.nav-group{position:relative}.nav-panel{position:absolute;right:0;top:calc(100% + .65rem);width:min(720px,92vw);display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.8rem;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.nav-panel:before{content:"";position:absolute;inset:-.8rem 0 auto;height:.8rem}.nav-panel a{display:grid;padding:.75rem .8rem;border-radius:11px;color:var(--ink);text-decoration:none}.nav-panel a:hover,.nav-panel a:focus-visible{background:var(--soft)}.nav-panel strong{font-size:.93rem}.nav-panel span{font-size:.78rem;color:var(--muted);font-weight:500}.nav-panel-compact{width:min(480px,92vw)}.menu-toggle{display:none;align-items:center;gap:.55rem;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:10px;padding:.55rem .75rem;font-weight:800}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:20px;height:2px;background:currentColor;content:"";position:relative}.menu-icon:before{position:absolute;top:-6px}.menu-icon:after{position:absolute;top:6px}.breadcrumbs{padding-block:1rem}.breadcrumbs ol{display:flex;gap:.55rem;align-items:center;list-style:none;padding:0;margin:0;color:var(--muted);font-size:.86rem;white-space:nowrap;overflow:auto}.breadcrumbs li+li:before{content:"/";margin-right:.55rem;color:#95a6b4}.breadcrumbs a{text-decoration:none}.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--navy-2),var(--navy));color:#fff}.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(0,166,156,.18);right:-170px;top:-260px}.hero-grid{position:relative;min-height:610px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:3rem;padding-block:5rem}.hero-copy{max-width:660px}.hero h1,.page-hero h1{margin:.35rem 0 1.25rem;font-size:clamp(2.5rem,5.3vw,5.2rem);line-height:.98;letter-spacing:-.055em}.hero p,.page-hero p{font-size:clamp(1.05rem,1.8vw,1.25rem);color:#d8e8f2;max-width:64ch}.eyebrow{display:inline-flex;align-items:center;gap:.55rem;color:var(--teal-dark);font-weight:850;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.eyebrow:before{content:"";width:1.5rem;height:2px;background:currentColor}.eyebrow-light{color:#89f1e8}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1.8rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.1rem;border:1px solid transparent;border-radius:11px;background:var(--teal);color:#fff;text-decoration:none;font-weight:850;cursor:pointer;box-shadow:0 8px 20px rgba(0,166,156,.18)}.button:hover{background:var(--teal-dark);color:#fff}.button-secondary{background:#fff;color:var(--navy);border-color:var(--line);box-shadow:none}.button-secondary:hover{background:var(--soft);color:var(--navy)}.button-light{background:#fff;color:var(--navy)}.button-light:hover{background:#eaf4f8;color:var(--navy)}.button-ghost-light{background:transparent;border-color:rgba(255,255,255,.45);color:#fff;box-shadow:none}.button-ghost-light:hover{background:rgba(255,255,255,.1)}.button-small{min-height:39px;padding:.5rem .8rem;font-size:.86rem}.hero-media{position:relative}.hero-media-frame{position:relative;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 30px 70px rgba(0,0,0,.32);aspect-ratio:4/3}.hero-media-frame img{width:100%;height:100%;object-fit:contain;background:#fff}.hero-note{position:absolute;left:-1.25rem;bottom:-1.25rem;max-width:280px;padding:1rem 1.1rem;background:#fff;color:var(--ink);border-radius:15px;box-shadow:var(--shadow)}.hero-note strong{display:block;color:var(--navy)}.hero-note span{font-size:.83rem;color:var(--muted)}.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:1.4rem 1.2rem;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;color:var(--navy);font-size:1.03rem}.trust-item span{font-size:.86rem;color:var(--muted)}.section{padding-block:clamp(4rem,7vw,7rem)}.section-sm{padding-block:3rem}.section-soft{background:var(--soft)}.section-dark{background:var(--navy-2);color:#fff}.section-heading{display:grid;grid-template-columns:1fr .78fr;gap:2rem;align-items:end;margin-bottom:2.2rem}.section-heading h2,.section h2{margin:.35rem 0 .8rem;color:var(--navy);font-size:clamp(2rem,3.8vw,3.35rem);line-height:1.08;letter-spacing:-.04em}.section-dark h2,.prefooter-cta h2,.contact-panel h2{color:#fff}.section-heading p{color:var(--muted);font-size:1.05rem}.lead{font-size:1.15rem;color:var(--muted);max-width:70ch}.grid{display:grid;gap:1.25rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{position:relative;padding:1.45rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 6px 20px rgba(11,49,82,.045)}.card h3{margin:.25rem 0 .65rem;color:var(--navy);font-size:1.25rem;line-height:1.25}.card p{margin:.35rem 0;color:var(--muted)}.card-kicker{color:var(--teal-dark);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.card-link{display:block;color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card-link:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#b9d5df;color:inherit}.text-link{display:inline-flex;margin-top:.9rem;color:var(--blue);font-weight:800}.compact-card{padding:1.15rem}.compact-card p{font-size:.9rem}.icon-card img{width:100%;height:155px;object-fit:contain;margin-bottom:1rem}.media-card{padding:0;overflow:hidden}.media-card img{width:100%;height:260px;object-fit:cover;background:#fff}.media-card-body{padding:1.35rem}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:process}.process-step{position:relative;padding:1.4rem 1.2rem 1.3rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);counter-increment:process}.process-step:before{content:counter(process,decimal-leading-zero);display:block;color:var(--teal-dark);font-weight:900;font-size:1.7rem;letter-spacing:-.03em}.process-step h3{color:var(--navy);margin:.35rem 0}.process-step p{margin:0;color:var(--muted);font-size:.92rem}.check-list{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.7rem}.check-list li{position:relative;padding-left:1.65rem}.check-list li:before{content:"✓";position:absolute;left:0;top:.05rem;color:var(--teal-dark);font-weight:900}.check-list.light li:before{color:#76e5dc}.feature-list{list-style:none;padding:0;margin:0;display:grid;gap:.85rem}.feature-list li{display:flex;gap:.85rem;align-items:flex-start}.feature-list li span:first-child{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:#dff5f2;color:var(--teal-dark);font-weight:900}.feature-list strong{display:block;color:var(--navy)}.feature-list p{margin:.15rem 0 0;color:var(--muted);font-size:.92rem}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem)}.split-media{overflow:hidden;border-radius:24px;background:#fff;box-shadow:var(--shadow);min-height:420px}.split-media img{width:100%;height:100%;min-height:420px;object-fit:contain}.split-copy h2{margin-top:.3rem}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat{padding:1.25rem;border-left:3px solid var(--teal);background:#fff;border-radius:0 14px 14px 0}.stat strong{display:block;color:var(--navy);font-size:1.6rem}.stat span{color:var(--muted);font-size:.86rem}.page-hero{background:linear-gradient(125deg,var(--navy-2),var(--navy));color:#fff;overflow:hidden}.page-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem;padding-block:4.5rem}.page-hero h1{font-size:clamp(2.35rem,4.7vw,4.5rem)}.page-hero-media{border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 24px 55px rgba(0,0,0,.28);aspect-ratio:4/3}.page-hero-media img{width:100%;height:100%;object-fit:contain}.hero-facts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.hero-facts span{padding:.45rem .7rem;border:1px solid rgba(255,255,255,.26);border-radius:999px;color:#e7f3f8;font-size:.82rem}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:3rem;align-items:start}.sticky-card{position:sticky;top:calc(var(--header-h) + 2rem)}.in-page-nav{padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.in-page-nav h2{font-size:1rem;margin:0 0 .8rem}.in-page-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.in-page-nav a{font-size:.9rem;text-decoration:none}.prose h2{margin-top:2.6rem;font-size:clamp(1.7rem,3vw,2.35rem)}.prose h3{color:var(--navy);font-size:1.22rem;margin-top:1.6rem}.prose p,.prose li{color:#334d61}.numbered-list{counter-reset:item;display:grid;gap:1rem;padding:0;list-style:none}.numbered-list li{counter-increment:item;display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:start;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff}.numbered-list li:before{content:counter(item);display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;font-weight:900}.numbered-list strong{display:block;color:var(--navy);margin-bottom:.2rem}.info-box{padding:1.25rem 1.35rem;border-left:4px solid var(--teal);background:var(--soft);border-radius:0 14px 14px 0}.info-box h3{margin-top:0}.outcome-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.outcome{padding:1rem;border-radius:14px;background:#fff;border:1px solid var(--line)}.outcome strong{display:block;color:var(--navy)}.faq-list{display:grid;gap:.7rem;margin-top:1.5rem}.faq-item{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.faq-item summary{position:relative;padding:1.1rem 3.2rem 1.1rem 1.2rem;color:var(--navy);font-weight:850;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:1.15rem;top:.8rem;font-size:1.55rem;color:var(--teal-dark)}.faq-item[open] summary:after{content:"−"}.faq-item div{padding:0 1.2rem 1.1rem}.faq-item p{margin:0;color:var(--muted)}.contact-panel{padding:2rem;border-radius:22px;background:linear-gradient(145deg,var(--navy),var(--navy-2));color:#dbeaf3;box-shadow:var(--shadow)}.contact-panel h2{font-size:1.9rem}.contact-panel-details{display:grid;gap:.25rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15)}.contact-panel a{color:#fff;font-weight:800;text-decoration:none}.contact-panel address{font-style:normal;font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.field{display:grid;gap:.35rem}.field-full{grid-column:1/-1}.field label{font-weight:800;color:var(--navy);font-size:.9rem}.field input,.field select,.field textarea{width:100%;border:1px solid #b9c9d4;border-radius:10px;padding:.75rem .8rem;background:#fff;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(0,166,156,.2);border-color:var(--teal-dark)}.field textarea{min-height:150px;resize:vertical}.field small{color:var(--muted)}.checkbox-field{display:flex;gap:.7rem;align-items:flex-start}.checkbox-field input{width:auto;margin-top:.35rem}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-note{font-size:.85rem;color:var(--muted)}.notice{padding:1rem 1.2rem;border-radius:12px;background:#e7f6ef;color:#19543a;border:1px solid #b7dfcc}.notice-error{background:#fff0ee;color:#7f2b22;border-color:#efc2bb}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.video-card{display:flex;flex-direction:column;min-height:290px;padding:1.35rem;border-radius:18px;background:linear-gradient(145deg,var(--navy),var(--navy-2));color:#fff;text-decoration:none;box-shadow:var(--shadow)}.video-card:hover{transform:translateY(-3px);color:#fff}.video-play{display:grid;place-items:center;width:58px;height:58px;margin-bottom:1.4rem;border-radius:50%;background:var(--teal);font-size:1.4rem}.video-card .card-kicker{color:#8de9e2}.video-card h3{color:#fff;margin:.3rem 0}.video-card p{color:#d3e5ef}.video-card .text-link{color:#fff;margin-top:auto}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.comparison-table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}.comparison-table th,.comparison-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.comparison-table th{background:var(--navy);color:#fff}.comparison-table tr:last-child td{border-bottom:0}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1rem}.gallery figure{margin:0;border-radius:18px;overflow:hidden;background:#fff;min-height:220px}.gallery figure:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover}.source-note{font-size:.75rem;color:var(--muted);margin-top:.65rem}.prefooter-cta{background:linear-gradient(120deg,var(--teal-dark),var(--teal));color:#fff;padding-block:3.5rem}.prefooter-grid{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}.prefooter-cta h2{font-size:clamp(2rem,4vw,3.2rem);margin:.25rem 0}.prefooter-cta p{max-width:70ch}.site-footer{background:#071c2d;color:#bcd0dc;padding-top:4rem}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2.5rem;padding-bottom:3rem}.site-footer h2{color:#fff;font-size:1rem;margin:0 0 1rem}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.site-footer a{color:#dceaf1;text-decoration:none}.site-footer a:hover{color:#fff}.site-footer address{font-style:normal}.brand-footer{color:#fff}.brand-footer small{color:#a9c2d0}.footer-brand p{max-width:36ch}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.12);padding-block:1.25rem;font-size:.82rem}.footer-bottom p{margin:0}.footer-bottom nav{display:flex;gap:1rem}.cookie-banner{position:fixed;z-index:999;left:1rem;right:1rem;bottom:1rem;max-width:920px;margin:auto;padding:1rem 1.15rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:.15rem 0;color:var(--muted);font-size:.87rem}.cookie-actions{display:flex;align-items:center;gap:.8rem;min-width:max-content}.legal-content{max-width:880px}.legal-content h2{margin-top:2.4rem;font-size:1.6rem}.legal-content h3{color:var(--navy);margin-top:1.5rem}.legal-content table{width:100%;border-collapse:collapse}.legal-content th,.legal-content td{border:1px solid var(--line);padding:.7rem;text-align:left;vertical-align:top}.sitemap-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.sitemap-group{padding:1.35rem;border:1px solid var(--line);border-radius:16px}.sitemap-group h2{font-size:1.4rem}.sitemap-group ul{columns:2;list-style:none;padding:0}.sitemap-group li{break-inside:avoid;margin:.4rem 0}.center{text-align:center}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.not-found{min-height:55vh;display:grid;place-items:center;text-align:center}.not-found strong{display:block;color:var(--teal-dark);font-size:5rem;line-height:1}.not-found h1{font-size:clamp(2.2rem,6vw,4.6rem);margin:.4rem 0}.source-chip{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:var(--soft);font-size:.72rem;color:var(--muted)}
@media (max-width:1080px){.menu-toggle{display:flex}.site-nav{position:fixed;inset:calc(35px + var(--header-h)) 0 auto;max-height:calc(100vh - 35px - var(--header-h));overflow:auto;display:none;align-items:stretch;flex-direction:column;padding:1rem;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.site-nav.is-open{display:flex}.site-nav>a,.nav-group>summary{width:100%;justify-content:space-between}.nav-group{width:100%}.nav-panel{position:static;width:100%;grid-template-columns:1fr;box-shadow:none;border:0;border-left:3px solid var(--teal);border-radius:0;padding:.35rem .6rem;margin:.35rem 0}.nav-panel:before{display:none}.nav-panel a{padding:.65rem}.hero-grid,.page-hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:760px}.hero-media{max-width:760px}.hero-note{left:1rem}.grid-4{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.sticky-card{position:static}.video-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.topbar-inner>span{display:none}.topbar-inner{justify-content:center}.topbar-links{width:100%;justify-content:space-between}.brand small{display:none}.hero-grid,.page-hero-grid{padding-block:3.5rem}.hero h1,.page-hero h1{font-size:clamp(2.35rem,12vw,3.8rem)}.hero-note{position:static;margin-top:1rem;max-width:none}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-heading,.split,.prefooter-grid{grid-template-columns:1fr}.grid-2,.grid-3,.grid-4,.process-grid,.stat-grid,.outcome-grid,.video-grid,.form-grid,.footer-grid,.sitemap-groups{grid-template-columns:1fr}.field-full{grid-column:auto}.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child{grid-column:1/-1;grid-row:auto}.media-card img{height:220px}.footer-bottom{flex-direction:column}.cookie-banner{align-items:flex-start;flex-direction:column}.cookie-actions{min-width:0;flex-wrap:wrap}.sitemap-group ul{columns:1}}
@media (max-width:480px){.topbar-links{font-size:.76rem}.container{width:min(calc(100% - 1.2rem),var(--container))}.header-inner{min-height:68px}.site-nav{inset:calc(35px + 68px) 0 auto}.brand-mark{width:36px;height:36px}.brand strong{font-size:1rem}.button-row{align-items:stretch;flex-direction:column}.button{width:100%}.gallery{grid-template-columns:1fr}.gallery figure:first-child{grid-column:auto}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0!important;border-bottom:1px solid var(--line)}.trust-item:last-child{border-bottom:0}.section{padding-block:3.5rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.topbar,.site-header,.prefooter-cta,.site-footer,.cookie-banner,.button-row{display:none!important}.section{padding-block:1.5rem}.page-hero,.hero{background:#fff;color:#000}.page-hero p,.hero p{color:#333}.page-hero h1,.hero h1{color:#000}.card{box-shadow:none}.breadcrumbs{display:none}}

/* Customer-facing visual and navigation revision — 2026-07-13 */
:root {
  --teal: #007f78;
  --teal-dark: #005f5b;
  --muted: #43596b;
  --line: #cbd9e3;
  --soft: #f3f7fa;
  --shadow: 0 18px 48px rgba(5, 35, 58, .16);
}

body { line-height: 1.7; }
main p, main li { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }
:where(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid #f5a94f;
  outline-offset: 3px;
}

.site-header { box-shadow: 0 4px 18px rgba(5, 35, 58, .08); }
.site-nav, .nav-group { min-width: 0; }
.nav-panel {
  width: min(680px, calc(100vw - 2rem));
  max-height: calc(100vh - 130px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  transform: translateX(var(--nav-panel-shift, 0px));
  z-index: 150;
}
.nav-panel-compact { width: min(480px, calc(100vw - 2rem)); }
.nav-panel a { border: 1px solid transparent; }
.nav-panel a:hover, .nav-panel a:focus-visible {
  border-color: #c2d4df;
  background: #edf4f7;
}
.nav-panel strong { color: var(--navy); }
.nav-panel span { color: #43596b; }

/* The existing hero image is now a full-bleed background layer on every image-led hero. */
.hero, .page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(135deg, #061d30, #0b3152);
  color: #fff;
}
.hero::before, .page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  right: auto;
  top: auto;
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(3, 20, 34, .97) 0%, rgba(3, 20, 34, .91) 42%, rgba(3, 20, 34, .58) 70%, rgba(3, 20, 34, .70) 100%),
    linear-gradient(180deg, rgba(3, 20, 34, .08), rgba(3, 20, 34, .42));
  z-index: 1;
  pointer-events: none;
}
.hero-grid, .page-hero-grid {
  position: static;
  display: grid;
  grid-template-columns: minmax(0, 820px);
  align-items: center;
  gap: 0;
  min-height: clamp(620px, 68vh, 760px);
  padding-block: clamp(4rem, 8vw, 7rem);
}
.hero-grid {
  min-height: clamp(590px, 62vh, 700px);
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
}
.page-hero-grid {
  min-height: clamp(480px, 55vh, 620px);
  padding-block: clamp(3.5rem, 7vw, 5.5rem);
}
.hero-copy, .page-hero-grid > div:first-child {
  position: relative;
  z-index: 3;
  width: min(100%, 820px);
  max-width: 820px;
  padding: clamp(1.5rem, 3.5vw, 2.75rem);
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(4, 28, 47, .84), rgba(4, 28, 47, .68));
  box-shadow: 0 28px 70px rgba(0, 0, 0, .30);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
.hero-with-image .hero-media, .hero-with-image .page-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  aspect-ratio: auto;
  box-shadow: none;
  background: linear-gradient(135deg, #0b3152, #061d30);
  pointer-events: none;
}
.hero-media-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  aspect-ratio: auto;
  box-shadow: none;
  background: linear-gradient(135deg, #0b3152, #061d30);
}
.hero-media-frame img, .page-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: transparent;
  filter: saturate(1.08) contrast(1.04);
}
.hero h1, .page-hero h1 {
  color: #fff;
  line-height: 1.03;
  letter-spacing: -.045em;
  text-shadow: 0 3px 22px rgba(0, 0, 0, .42);
}
.hero h1 {
  max-width: 18ch;
  font-size: clamp(2.65rem, 5vw, 4.5rem);
}
.hero-copy { max-width: 760px; }
.page-hero h1 {
  max-width: 18ch;
  font-size: clamp(2.4rem, 4.6vw, 4.15rem);
}
.hero p, .page-hero p {
  max-width: 62ch;
  color: #f4f8fb;
  font-size: clamp(1.05rem, 1.6vw, 1.24rem);
  line-height: 1.65;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .38);
}
.hero .eyebrow-light, .page-hero .eyebrow-light { color: #9dfff4; }
.hero .button-ghost-light, .page-hero .button-ghost-light {
  background: rgba(4, 28, 47, .58);
  border-color: rgba(255, 255, 255, .72);
  color: #fff;
}
.hero .button-ghost-light:hover, .page-hero .button-ghost-light:hover {
  background: rgba(255, 255, 255, .16);
  border-color: #fff;
}
.hero-facts span {
  border-color: rgba(255, 255, 255, .48);
  background: rgba(4, 28, 47, .72);
  color: #fff;
  font-weight: 700;
}
.hero-highlight {
  display: grid;
  gap: .16rem;
  max-width: 630px;
  margin-top: 1.5rem;
  padding: 1rem 1.15rem;
  border-left: 4px solid #8df5ea;
  border-radius: 0 14px 14px 0;
  background: rgba(2, 18, 31, .74);
  color: #fff;
}
.hero-highlight strong { color: #fff; }
.hero-highlight span { color: #e9f3f8; font-size: .9rem; }
.hero .hero-note { display: none; }

.button, .site-nav .nav-cta { background: var(--teal); color: #fff; }
.button:hover, .site-nav .nav-cta:hover { background: var(--teal-dark); color: #fff; }
.button-secondary { background: #fff; color: var(--navy); }

.trust-strip { box-shadow: 0 10px 26px rgba(5, 35, 58, .06); }
.trust-item strong { font-size: 1.06rem; line-height: 1.35; }
.trust-item span { color: #43596b; line-height: 1.55; }
.section-heading { align-items: start; margin-bottom: 2.5rem; }
.section-heading p, .lead, .card p, .process-step p, .feature-list p, .faq-item p, .source-note {
  color: #43596b;
}
.section-heading h2, .section h2 { line-height: 1.1; }
.section-dark .section-heading p, .section-dark > .container > .lead { color: #e8f1f6; }
.card {
  border-color: #cbd9e3;
  box-shadow: 0 9px 28px rgba(5, 35, 58, .075);
}
.card-link:hover {
  border-color: #8db6c8;
  box-shadow: 0 20px 46px rgba(5, 35, 58, .16);
}
.card-kicker { color: var(--teal-dark); }
.text-link { color: #0e5685; }

.media-card, .split-media, .gallery figure {
  border: 1px solid #cbd9e3;
  box-shadow: 0 16px 38px rgba(5, 35, 58, .13);
}
.media-card img, .split-media img, .gallery img { filter: saturate(1.05) contrast(1.03); }
.split-media { background: linear-gradient(145deg, #fff, #eef4f7); }
.gallery figure { position: relative; }
.gallery figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: .8rem 1rem;
  background: linear-gradient(180deg, transparent, rgba(3, 20, 34, .94));
  color: #fff;
  font-size: .86rem;
  font-weight: 750;
  line-height: 1.45;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .55);
}

.contact-panel { background: linear-gradient(145deg, #0b3152, #061d30); color: #eef5f8; }
.contact-panel p, .contact-panel li { color: #e8f1f6; }
.contact-panel .eyebrow-light { color: #9dfff4; }
.prefooter-cta {
  background: linear-gradient(120deg, #005f5b, #0b3152);
  color: #fff;
}
.prefooter-cta p { color: #fff; }
.site-footer { color: #c7d8e1; }

@media (max-width: 1080px) {
  .nav-panel, .nav-panel-compact {
    width: 100%;
    max-height: none;
    overflow: visible;
    scrollbar-gutter: auto;
    transform: none !important;
  }
  .hero-grid, .page-hero-grid {
    grid-template-columns: 1fr;
    min-height: 620px;
  }
  .page-hero-grid { min-height: 500px; }
}

@media (max-width: 760px) {
  .hero::before, .page-hero::before {
    background:
      linear-gradient(90deg, rgba(3, 20, 34, .95), rgba(3, 20, 34, .80)),
      linear-gradient(180deg, rgba(3, 20, 34, .20), rgba(3, 20, 34, .52));
  }
  .hero-grid { min-height: 600px; padding-block: 3.25rem; }
  .page-hero-grid { min-height: 480px; padding-block: 3rem; }
  .hero-copy, .page-hero-grid > div:first-child {
    padding: 1.35rem;
    border-radius: 18px;
  }
  .hero h1, .page-hero h1 { max-width: none; letter-spacing: -.04em; }
  .hero h1 { font-size: clamp(2.35rem, 11vw, 3.6rem); }
  .page-hero h1 { font-size: clamp(2.2rem, 10vw, 3.35rem); }
  .hero-media-frame img, .page-hero-media img { object-position: 65% center; }
  .hero .hero-facts, .hero .hero-highlight { display: none; }
  .page-hero .hero-facts { display: grid; grid-template-columns: 1fr; }
  .page-hero .hero-facts span { width: fit-content; }
  .gallery figcaption { position: static; background: #061d30; }
}

@media (max-width: 480px) {
  .hero-grid, .page-hero-grid { min-height: 0; padding-block: 2.7rem; }
  .hero-copy, .page-hero-grid > div:first-child { padding: 1.1rem; }
  .hero h1 { font-size: clamp(2.15rem, 11vw, 2.9rem); }
  .page-hero h1 { font-size: clamp(2.05rem, 10vw, 2.75rem); }
  .hero-highlight { padding: .85rem 1rem; }
}

@media print {
  .hero-media, .page-hero-media { display: none !important; }
  .hero, .page-hero { background: #fff !important; color: #000 !important; }
  .hero::before, .page-hero::before { display: none !important; }
  .hero-grid, .page-hero-grid { min-height: 0; padding-block: 1.5rem; }
  .hero-copy, .page-hero-grid > div:first-child {
    padding: 0;
    border: 0;
    background: #fff;
    box-shadow: none;
  }
  .hero h1, .page-hero h1, .hero p, .page-hero p { color: #000 !important; text-shadow: none; }
  .hero-highlight { color: #000; background: #fff; border-color: #000; }
  .hero-highlight strong, .hero-highlight span { color: #000; }
}

/* Open hero text and larger homepage imagery — 2026-07-13 */
/* Keep the image full-bleed, but remove the boxed/glass text panel. */
.hero::before,
.page-hero::before {
  inset: 0;
  width: auto;
  height: auto;
  background:
    linear-gradient(90deg,
      rgba(3, 20, 34, .93) 0%,
      rgba(3, 20, 34, .84) 32%,
      rgba(3, 20, 34, .64) 55%,
      rgba(3, 20, 34, .28) 74%,
      rgba(3, 20, 34, .08) 100%),
    linear-gradient(180deg, rgba(3, 20, 34, .08), rgba(3, 20, 34, .32));
}

.hero-copy,
.page-hero-grid > div:first-child {
  width: min(100%, 780px);
  max-width: 780px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.hero h1,
.page-hero h1 {
  text-shadow:
    0 2px 3px rgba(0, 0, 0, .78),
    0 12px 34px rgba(0, 0, 0, .52);
}

.hero p,
.page-hero p,
.hero .eyebrow-light,
.page-hero .eyebrow-light {
  text-shadow:
    0 1px 2px rgba(0, 0, 0, .84),
    0 7px 22px rgba(0, 0, 0, .48);
}

/* Give the imagery below the homepage hero a little more visual weight. */
.page-index .icon-card img {
  height: 185px;
}

.page-index .split-media,
.page-index .split-media img {
  min-height: 450px;
}

.page-index .gallery {
  grid-template-columns: 1.32fr .84fr .84fr;
  gap: 1.15rem;
}

.page-index .gallery figure {
  min-height: 250px;
}

.page-index .gallery figure:first-child {
  min-height: 515px;
}

@media (min-width: 761px) {
  .page-index .split.split-image-left {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  }

  .page-index .split.split-image-right {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  }
}

@media (max-width: 760px) {
  .hero::before,
  .page-hero::before {
    background:
      linear-gradient(180deg,
        rgba(3, 20, 34, .72) 0%,
        rgba(3, 20, 34, .76) 58%,
        rgba(3, 20, 34, .84) 100%);
  }

  .hero-copy,
  .page-hero-grid > div:first-child {
    width: 100%;
    max-width: 100%;
    padding: 0;
    border-radius: 0;
  }

  .page-index .icon-card img {
    height: 175px;
  }

  .page-index .split-media,
  .page-index .split-media img {
    min-height: 365px;
  }

  .page-index .gallery {
    grid-template-columns: 1fr 1fr;
  }

  .page-index .gallery figure {
    min-height: 260px;
  }

  .page-index .gallery figure:first-child {
    min-height: 360px;
  }
}

@media (max-width: 480px) {
  .page-index .split-media,
  .page-index .split-media img {
    min-height: 300px;
  }

  .page-index .gallery {
    grid-template-columns: 1fr;
  }

  .page-index .gallery figure,
  .page-index .gallery figure:first-child {
    min-height: 280px;
  }
}

@media print {
  .hero-copy,
  .page-hero-grid > div:first-child {
    width: auto;
    max-width: none;
  }
}

/* Final production polish — 2026-07-14 */
:root {
  --navy: #0a3150;
  --navy-2: #061f35;
  --blue: #0f5f8f;
  --teal: #007f78;
  --teal-dark: #005f5b;
  --ink: #102b3f;
  --muted: #496276;
  --line: #d3dfe7;
  --soft: #f4f7f9;
  --soft-2: #eaf1f5;
  --radius: 16px;
  --radius-lg: 24px;
  --shadow-sm: 0 8px 24px rgba(6, 31, 53, .08);
  --shadow: 0 18px 48px rgba(6, 31, 53, .13);
  --shadow-lg: 0 28px 72px rgba(6, 31, 53, .18);
  --container: 1200px;
  --header-h: 78px;
}

html {
  color-scheme: light;
  scroll-padding-top: calc(var(--header-h) + 1.5rem);
  background: #fff;
}

body {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.68;
  font-feature-settings: "kern" 1, "liga" 1;
  text-rendering: optimizeLegibility;
}

main { overflow: clip; }
.container { width: min(calc(100% - 2.5rem), var(--container)); }
::selection { background: #bfe9e5; color: var(--navy-2); }

.topbar {
  background: #071f34;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  color: #dceaf2;
  font-size: .82rem;
}
.topbar-inner { min-height: 34px; letter-spacing: .01em; }
.topbar-links { gap: 1.35rem; }
.topbar a { display: inline-flex; align-items: center; font-weight: 650; }
.topbar a:hover, .topbar a:focus-visible { color: #9df4ec; }

.site-header {
  background: rgba(255, 255, 255, .985);
  border-bottom-color: rgba(181, 198, 210, .72);
  box-shadow: none;
  transition: box-shadow .22s ease, background-color .22s ease;
}
.site-header.is-scrolled {
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 34px rgba(6, 31, 53, .12);
}
.header-inner { min-height: var(--header-h); }
.brand { gap: .75rem; }
.brand-mark {
  width: 44px;
  height: 44px;
  filter: drop-shadow(0 5px 10px rgba(10, 49, 80, .12));
}
.brand strong { font-size: 1.2rem; letter-spacing: -.025em; }
.brand small { color: #526b7d; font-size: .71rem; letter-spacing: .045em; }

.site-nav { gap: .14rem; }
.site-nav > a,
.nav-group > summary {
  min-height: 46px;
  padding: .58rem .72rem;
  border-radius: 10px;
  font-size: .91rem;
  transition: background-color .16s ease, color .16s ease;
}
.nav-group > summary::after { transition: transform .18s ease; }
.nav-group[open] > summary::after { transform: rotate(225deg); margin-top: .2rem; }
.site-nav > a[aria-current="page"]:not(.nav-cta),
.nav-group.has-current > summary {
  background: #eaf3f5;
  color: var(--navy);
}
.site-nav .nav-cta {
  min-height: 48px;
  margin-left: .2rem;
  padding-inline: 1rem;
  border: 1px solid rgba(0, 95, 91, .14);
  box-shadow: 0 8px 18px rgba(0, 95, 91, .16);
}
.site-nav .nav-cta:hover,
.site-nav .nav-cta:focus-visible {
  box-shadow: 0 12px 24px rgba(0, 95, 91, .23);
  transform: translateY(-1px);
}

.nav-panel {
  padding: .9rem;
  border-color: #c9d8e1;
  border-top: 3px solid var(--teal);
  border-radius: 18px;
  box-shadow: 0 24px 64px rgba(6, 31, 53, .19);
}
.nav-panel a {
  gap: .08rem;
  padding: .78rem .82rem;
  border-radius: 10px;
}
.nav-panel a:hover,
.nav-panel a:focus-visible { background: #edf4f6; border-color: #c5d8e0; }
.nav-panel strong { color: var(--navy); font-size: .92rem; line-height: 1.3; }
.nav-panel span { color: #526a7c; line-height: 1.45; }

.menu-toggle {
  min-height: 46px;
  border-color: #c9d8e1;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(6, 31, 53, .06);
}
.menu-icon,
.menu-icon::before,
.menu-icon::after { transition: transform .2s ease, top .2s ease, opacity .2s ease, background-color .2s ease; }
.menu-toggle[aria-expanded="true"] .menu-icon { background: transparent; }
.menu-toggle[aria-expanded="true"] .menu-icon::before { top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon::after { top: 0; transform: rotate(-45deg); }

.breadcrumbs {
  padding-block: .9rem;
  background: #fbfdfe;
  border-bottom: 1px solid #e1e9ee;
}
.breadcrumbs ol { font-size: .84rem; }
.breadcrumbs a { font-weight: 700; }

.hero,
.page-hero { background: #061f35; }
.hero::before,
.page-hero::before {
  background:
    linear-gradient(90deg,
      rgba(3, 20, 34, .95) 0%,
      rgba(3, 20, 34, .87) 33%,
      rgba(3, 20, 34, .61) 56%,
      rgba(3, 20, 34, .25) 77%,
      rgba(3, 20, 34, .08) 100%),
    linear-gradient(180deg, rgba(3, 20, 34, .10), rgba(3, 20, 34, .34));
}
.hero::after,
.page-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  height: 120px;
  background: linear-gradient(180deg, rgba(6, 31, 53, 0), rgba(6, 31, 53, .18));
  pointer-events: none;
}
.hero-grid {
  min-height: clamp(620px, 66vh, 730px);
  padding-block: clamp(4.25rem, 7vw, 6.25rem);
}
.page-hero-grid {
  min-height: clamp(500px, 54vh, 610px);
  padding-block: clamp(3.75rem, 6vw, 5.25rem);
}
.hero-copy,
.page-hero-grid > div:first-child { width: min(100%, 760px); max-width: 760px; }
.hero h1 {
  max-width: 16ch;
  font-size: clamp(3rem, 4.9vw, 4.55rem);
  line-height: 1.01;
  letter-spacing: -.048em;
}
.page-hero h1 {
  max-width: 18ch;
  font-size: clamp(2.65rem, 4.5vw, 4.05rem);
  line-height: 1.03;
}
.hero p,
.page-hero p {
  max-width: 60ch;
  color: #f4f8fb;
  line-height: 1.62;
}
.hero .eyebrow-light,
.page-hero .eyebrow-light { color: #a0fff5; }
.hero .button,
.page-hero .button { box-shadow: 0 12px 28px rgba(0, 95, 91, .34); }
.hero .button-ghost-light,
.page-hero .button-ghost-light {
  background: rgba(4, 28, 47, .34);
  border-color: rgba(255, 255, 255, .76);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: none;
}
.hero-facts { gap: .62rem; margin-top: 1.55rem; }
.hero-facts span {
  padding: .52rem .78rem;
  border-color: rgba(255, 255, 255, .46);
  background: rgba(4, 28, 47, .48);
  box-shadow: 0 8px 22px rgba(0, 0, 0, .13);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  line-height: 1.35;
}
.hero-media-frame img,
.page-hero-media img { filter: saturate(1.04) contrast(1.025); }

.button {
  min-height: 50px;
  padding: .78rem 1.15rem;
  border-radius: 11px;
  background: linear-gradient(135deg, #00877f, var(--teal));
  box-shadow: 0 9px 22px rgba(0, 95, 91, .2);
  letter-spacing: -.008em;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}
.button:hover,
.button:focus-visible {
  background: linear-gradient(135deg, #006f69, var(--teal-dark));
  box-shadow: 0 13px 28px rgba(0, 95, 91, .28);
  transform: translateY(-1px);
}
.button:active { transform: translateY(0); }
.button-secondary {
  background: #fff;
  border-color: #bdced9;
  color: var(--navy);
  box-shadow: 0 6px 18px rgba(6, 31, 53, .06);
}
.button-secondary:hover,
.button-secondary:focus-visible {
  background: #edf4f6;
  border-color: #98b6c7;
  color: var(--navy);
  box-shadow: 0 9px 22px rgba(6, 31, 53, .1);
}
.button[disabled] { cursor: wait; opacity: .72; transform: none; }

.trust-strip {
  position: relative;
  z-index: 5;
  border: 0;
  background: #fff;
}
.trust-grid {
  margin-top: -26px;
  margin-bottom: -1px;
  overflow: hidden;
  border: 1px solid #cfdee6;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 20px 52px rgba(6, 31, 53, .14);
}
.trust-item {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: .82rem;
  align-content: center;
  padding: 1.35rem 1.15rem;
}
.trust-item::before {
  content: "✓";
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-top: .08rem;
  border-radius: 10px;
  background: #dff3f1;
  color: var(--teal-dark);
  font-size: 1rem;
  font-weight: 950;
}
.trust-item strong { font-size: 1rem; line-height: 1.32; }
.trust-item span { margin-top: .18rem; color: #526a7c; line-height: 1.48; }

.section { padding-block: clamp(4.6rem, 7vw, 6.7rem); }
.section-sm { padding-block: 3.4rem; }
.section-soft { background: linear-gradient(180deg, #f7f9fb 0%, #edf3f6 100%); }
.section-dark {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(135deg, #061f35 0%, #0a3150 100%);
}
.section-dark::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 520px;
  height: 520px;
  right: -220px;
  top: -280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 127, 120, .22), rgba(0, 127, 120, 0) 68%);
}
.section-heading {
  gap: clamp(1.5rem, 4vw, 3.4rem);
  margin-bottom: 2.7rem;
}
.section-heading h2,
.section h2 { letter-spacing: -.038em; }
.section-heading h2 { max-width: 19ch; }
.section-heading p {
  max-width: 54ch;
  margin-top: .45rem;
  justify-self: end;
  line-height: 1.68;
}
.eyebrow { font-size: .75rem; letter-spacing: .135em; }
.lead { line-height: 1.7; }

.grid { gap: 1.35rem; }
.card {
  border-color: #cfdee6;
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card h3 { font-size: 1.23rem; letter-spacing: -.018em; }
.card p { line-height: 1.65; }
.card-link:hover,
.card-link:focus-visible {
  transform: translateY(-5px);
  border-color: #92b7c7;
  box-shadow: 0 22px 52px rgba(6, 31, 53, .15);
}
.card-kicker { color: var(--teal-dark); }
.text-link { color: var(--blue); text-decoration: none; }
.text-link:hover { text-decoration: underline; text-decoration-thickness: 2px; }

.icon-card { overflow: hidden; }
.icon-card img {
  width: calc(100% + 2.9rem);
  max-width: none;
  height: 205px;
  margin: -1.45rem -1.45rem 1.3rem;
  padding: 1.2rem 1.35rem;
  border-bottom: 1px solid #d7e3ea;
  background: linear-gradient(145deg, #f9fbfc, #e8f0f4);
  object-fit: contain;
}
.media-card { border-radius: var(--radius); }
.media-card img { height: 285px; }
.media-card-body { padding: 1.45rem; }

.split { gap: clamp(2.7rem, 6vw, 5.6rem); }
.split-media {
  min-height: 440px;
  border-color: #c8d9e2;
  border-radius: 20px;
  background: linear-gradient(145deg, #fff, #edf3f6);
  box-shadow: 0 22px 56px rgba(6, 31, 53, .15);
}
.split-media img { min-height: 440px; object-fit: contain; }

.process-grid { gap: 1.15rem; }
.process-step {
  padding: 1.5rem 1.3rem 1.4rem;
  border-color: #cfdee6;
  border-top: 3px solid #79cfc8;
  border-radius: 15px;
  box-shadow: 0 8px 24px rgba(6, 31, 53, .08);
}
.process-step::before {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #dff3f1;
  color: var(--teal-dark);
  font-size: 1.05rem;
}
.process-step h3 { margin-top: .65rem; line-height: 1.3; }
.check-list { gap: .78rem; }
.check-list li { padding-left: 1.9rem; }
.check-list li::before {
  top: .12rem;
  display: grid;
  place-items: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: #dff3f1;
  font-size: .78rem;
}
.check-list.light li::before { background: rgba(126, 232, 223, .16); }
.feature-list li span:first-child { background: #dff3f1; }

.stat {
  border-left-width: 4px;
  border-radius: 0 14px 14px 0;
  box-shadow: 0 7px 20px rgba(6, 31, 53, .06);
}
.info-box {
  border-left-width: 4px;
  background: linear-gradient(135deg, #f2f7f9, #e8f1f4);
}
.outcome { box-shadow: 0 6px 18px rgba(6, 31, 53, .05); }

.content-grid { gap: clamp(2.2rem, 5vw, 4rem); }
.in-page-nav {
  padding: 1.2rem;
  border-color: #cbdbe4;
  border-radius: 15px;
  box-shadow: 0 12px 34px rgba(6, 31, 53, .09);
}
.in-page-nav h2 { padding-bottom: .7rem; border-bottom: 1px solid #dde6eb; }
.in-page-nav ul { gap: .25rem; }
.in-page-nav a {
  display: block;
  padding: .5rem .62rem;
  border-left: 3px solid transparent;
  border-radius: 7px;
  color: #31566f;
}
.in-page-nav a:hover,
.in-page-nav a:focus-visible,
.in-page-nav a[aria-current="location"] {
  border-left-color: var(--teal);
  background: #edf4f6;
  color: var(--navy);
}
.prose { max-width: 78ch; }
.prose h2 { scroll-margin-top: calc(var(--header-h) + 1.6rem); }
.prose p,
.prose li { color: #385468; }
.numbered-list li {
  border-color: #cfdee6;
  box-shadow: 0 7px 22px rgba(6, 31, 53, .06);
}
.table-wrap { box-shadow: 0 10px 30px rgba(6, 31, 53, .08); }
.comparison-table th { background: #0a3150; }
.comparison-table tbody tr:nth-child(even) { background: #f8fafb; }

.faq-list { gap: .8rem; }
.faq-item {
  border-color: #cfdee6;
  border-radius: 13px;
  box-shadow: 0 5px 16px rgba(6, 31, 53, .045);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.faq-item[open] { border-color: #8eb8c6; box-shadow: 0 12px 30px rgba(6, 31, 53, .09); }
.faq-item summary { padding: 1.08rem 3.5rem 1.08rem 1.25rem; }
.faq-item summary::after {
  top: 50%;
  right: 1rem;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #e3f3f2;
  font-size: 1.18rem;
  line-height: 1;
  transform: translateY(-50%);
}
.faq-item div { padding: 0 1.25rem 1.2rem; }

.enquiry-form {
  margin-top: 1.8rem;
  padding: clamp(1.25rem, 3vw, 1.8rem);
  border: 1px solid #cfdee6;
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(6, 31, 53, .1);
}
.form-grid { gap: 1.1rem; }
.field label { font-size: .88rem; }
.field input,
.field select,
.field textarea {
  min-height: 50px;
  border-color: #b9cbd6;
  border-radius: 10px;
  background: #fbfdfe;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.field textarea { min-height: 170px; }
.field input:hover,
.field select:hover,
.field textarea:hover { border-color: #93adbd; }
.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--teal);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0, 127, 120, .12);
  outline: none;
}
.contact-panel {
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 20px;
  box-shadow: 0 24px 58px rgba(6, 31, 53, .2);
}
.contact-panel-details a { font-size: 1.02rem; }
.notice { border-radius: 10px; }

.video-grid { gap: 1.3rem; }
.video-card {
  position: relative;
  isolation: isolate;
  min-height: 310px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 17px;
  background: linear-gradient(145deg, #0b3a5e, #061f35);
  box-shadow: 0 18px 44px rgba(6, 31, 53, .17);
  transition: transform .2s ease, box-shadow .2s ease;
}
.video-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 240px;
  height: 240px;
  right: -105px;
  top: -120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 127, 120, .34), rgba(0, 127, 120, 0) 70%);
}
.video-card:hover,
.video-card:focus-visible {
  transform: translateY(-5px);
  box-shadow: 0 26px 58px rgba(6, 31, 53, .23);
}
.video-play {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255, 255, 255, .28);
  background: var(--teal);
  box-shadow: 0 10px 25px rgba(0, 0, 0, .18);
  font-size: 1.2rem;
}
.video-card h3 { font-size: 1.28rem; line-height: 1.3; }
.video-card p { color: #d9e7ee; }

.gallery { gap: 1.15rem; }
.gallery figure { border-radius: 16px; }
.gallery figcaption { padding: .9rem 1rem; }

.prefooter-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: 3.8rem;
  background: linear-gradient(120deg, #006b66 0%, #0a3150 88%);
}
.prefooter-cta::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 420px;
  right: -170px;
  top: -280px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: 0 0 0 62px rgba(255, 255, 255, .035), 0 0 0 124px rgba(255, 255, 255, .022);
}
.prefooter-grid { gap: clamp(1.5rem, 4vw, 3.5rem); }
.prefooter-cta h2 { letter-spacing: -.04em; }

.site-footer {
  padding-top: 4.25rem;
  border-top: 4px solid var(--teal);
  background: #061b2d;
}
.footer-grid { gap: clamp(2rem, 4vw, 3.25rem); }
.site-footer h2 { letter-spacing: .015em; }
.site-footer a { transition: color .15s ease; }
.site-footer a:hover,
.site-footer a:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: #7de3da;
  text-underline-offset: .25em;
}
.footer-bottom { color: #a9c0cd; }

.cookie-banner {
  max-width: 780px;
  border-color: #bdced8;
  border-left: 4px solid var(--teal);
  border-radius: 13px;
  box-shadow: 0 24px 64px rgba(6, 31, 53, .2);
}

@media (max-width: 1080px) {
  body.nav-open { overflow: hidden; }
  .site-nav {
    position: absolute;
    inset: 100% 0 auto;
    max-height: calc(100dvh - var(--header-h) - 35px);
    padding: 1rem max(1rem, calc((100vw - var(--container)) / 2 + 1rem));
    border-bottom: 1px solid #cbdbe4;
    background: #fff;
    box-shadow: 0 24px 50px rgba(6, 31, 53, .17);
    overscroll-behavior: contain;
  }
  .site-nav .nav-cta { margin: .5rem 0 0; }
  .nav-panel,
  .nav-panel-compact {
    margin: .35rem 0 .65rem;
    padding: .5rem;
    border: 0;
    border-left: 3px solid var(--teal);
    border-radius: 0 12px 12px 0;
    background: #f4f8fa;
  }
  .nav-panel a { padding: .72rem .75rem; }
  .hero-grid { min-height: 620px; }
  .page-hero-grid { min-height: 500px; }
}

@media (max-width: 760px) {
  .container { width: min(calc(100% - 1.5rem), var(--container)); }
  .topbar-inner { min-height: 34px; }
  .topbar-links { gap: .75rem; }
  .hero::before,
  .page-hero::before {
    background:
      linear-gradient(180deg, rgba(3, 20, 34, .73) 0%, rgba(3, 20, 34, .78) 56%, rgba(3, 20, 34, .9) 100%);
  }
  .hero-grid { min-height: 580px; padding-block: 3.35rem; }
  .page-hero-grid { min-height: 460px; padding-block: 3.1rem; }
  .hero h1 { font-size: clamp(2.55rem, 10.6vw, 3.55rem); line-height: 1.01; }
  .page-hero h1 { font-size: clamp(2.35rem, 9.5vw, 3.25rem); }
  .hero p, .page-hero p { line-height: 1.58; }
  .trust-grid { margin-top: -18px; border-radius: 15px; }
  .trust-item { padding: 1.2rem 1rem; }
  .section { padding-block: 4.2rem; }
  .section-heading { margin-bottom: 2.15rem; }
  .section-heading h2 { max-width: none; }
  .section-heading p { max-width: 62ch; justify-self: start; }
  .icon-card img { height: 190px; }
  .split-media, .split-media img { min-height: 360px; }
  .media-card img { height: 240px; }
  .enquiry-form { padding: 1.15rem; }
  .video-card { min-height: 280px; }
  .prefooter-cta { padding-block: 3.4rem; }
}

@media (max-width: 480px) {
  :root { --header-h: 68px; }
  .container { width: min(calc(100% - 1.15rem), var(--container)); }
  .topbar-links { font-size: .74rem; }
  .site-nav { max-height: calc(100dvh - 103px); padding-inline: .8rem; }
  .hero-grid, .page-hero-grid { min-height: 0; padding-block: 2.85rem; }
  .hero h1 { font-size: clamp(2.25rem, 11vw, 2.85rem); }
  .page-hero h1 { font-size: clamp(2.15rem, 10vw, 2.75rem); }
  .hero p, .page-hero p { font-size: 1.02rem; }
  .button { min-height: 50px; }
  .trust-grid { margin-top: -12px; }
  .trust-item { grid-template-columns: 36px minmax(0, 1fr); }
  .section { padding-block: 3.75rem; }
  .section h2, .section-heading h2 { font-size: clamp(1.9rem, 9vw, 2.45rem); }
  .icon-card img { height: 180px; }
  .split-media, .split-media img { min-height: 300px; }
  .faq-item summary { padding-left: 1rem; }
  .cookie-banner { left: .6rem; right: .6rem; bottom: .6rem; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header, .button, .card, .video-card, .menu-icon, .menu-icon::before, .menu-icon::after { transition: none !important; }
}

@media print {
  .trust-grid { margin-top: 0; box-shadow: none; }
  .enquiry-form, .card, .in-page-nav, .process-step { box-shadow: none; }
}



/* Narrow-phone header fit */
@media (max-width: 340px) {
  .header-inner { gap: .35rem; }
  .brand { min-width: 0; gap: .45rem; }
  .brand-mark { flex: 0 0 34px; width: 34px; height: 34px; }
  .brand strong { font-size: .95rem; white-space: nowrap; }
  .menu-toggle { flex: 0 0 auto; min-height: 44px; padding: .5rem .58rem; gap: .4rem; }
  .menu-icon, .menu-icon::before, .menu-icon::after { width: 18px; }
}


/* Customer clarity, brand and form-security upgrade — 2026-07-16 */
.brand {
  gap: .8rem;
}
.brand-mark {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  filter: drop-shadow(0 8px 16px rgba(6, 31, 53, .18));
  transition: transform .18s ease, filter .18s ease;
}
.brand:hover .brand-mark,
.brand:focus-visible .brand-mark {
  transform: translateY(-1px);
  filter: drop-shadow(0 11px 20px rgba(6, 31, 53, .24));
}
.brand strong {
  font-size: 1.23rem;
  letter-spacing: -.032em;
}
.brand small {
  margin-top: .3rem;
  color: #486176;
  font-size: .7rem;
  font-weight: 650;
  letter-spacing: .025em;
}
.brand-footer .brand-mark {
  filter: drop-shadow(0 9px 18px rgba(0, 0, 0, .28));
}
.brand-footer small { color: #bed2dd; }

/* Full-bleed photography remains visible while every text position has reliable contrast. */
.hero::before,
.page-hero::before {
  background:
    linear-gradient(90deg,
      rgba(2, 15, 27, .985) 0%,
      rgba(2, 15, 27, .955) 31%,
      rgba(2, 15, 27, .88) 47%,
      rgba(2, 15, 27, .72) 61%,
      rgba(2, 15, 27, .48) 79%,
      rgba(2, 15, 27, .34) 100%),
    linear-gradient(180deg, rgba(2, 15, 27, .14) 0%, rgba(2, 15, 27, .58) 100%);
}
.hero::after,
.page-hero::after {
  height: 46%;
  background: linear-gradient(180deg, rgba(2, 15, 27, 0), rgba(2, 15, 27, .58));
}
.hero-copy,
.page-hero-grid > div:first-child {
  position: relative;
  z-index: 4;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.hero h1,
.page-hero h1 {
  color: #fff;
  text-shadow:
    0 2px 2px rgba(0, 0, 0, .9),
    0 9px 28px rgba(0, 0, 0, .72),
    0 24px 54px rgba(0, 0, 0, .42);
}
.hero p,
.page-hero p {
  color: #fff;
  font-weight: 520;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, .95),
    0 7px 22px rgba(0, 0, 0, .78);
}
.hero .eyebrow-light,
.page-hero .eyebrow-light {
  color: #a9fff6;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .9);
}
.hero-facts span {
  border-color: rgba(255, 255, 255, .66);
  background: rgba(2, 18, 31, .78);
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .7);
}
.hero .button-ghost-light,
.page-hero .button-ghost-light {
  background: rgba(2, 18, 31, .72);
  border-color: rgba(255, 255, 255, .84);
  color: #fff;
}
.hero .button-ghost-light:hover,
.page-hero .button-ghost-light:hover {
  background: rgba(255, 255, 255, .16);
  border-color: #fff;
}
.section-dark p,
.section-dark li,
.contact-panel p,
.contact-panel li,
.prefooter-cta p,
.site-footer p,
.site-footer address {
  color: #e9f2f7;
}
.section-dark a:not(.button),
.contact-panel a:not(.button) {
  color: #9ff8ef;
}

.article-meta {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: -.1rem 0 1.15rem !important;
  padding: .48rem .72rem;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 999px;
  background: rgba(2, 18, 31, .72);
  color: #efffff !important;
  font-size: .82rem !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  letter-spacing: .01em;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .85) !important;
}

/* The spam controls are invisible to customers; the reassurance is not. */
.honeypot {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.form-security-note {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 1.25rem;
  padding: .72rem .85rem;
  border: 1px solid #c8e2df;
  border-radius: 10px;
  background: #edf8f6;
  color: #244b4b;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.45;
}
.form-security-note::before {
  content: "✓";
  display: grid;
  place-items: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  background: var(--teal);
  color: #fff;
  font-weight: 950;
}
.enquiry-form[aria-busy="true"] { opacity: .88; }
.enquiry-form noscript .notice { margin-bottom: 1.2rem; }

@media (max-width: 760px) {
  .hero::before,
  .page-hero::before {
    background:
      linear-gradient(180deg,
        rgba(2, 15, 27, .88) 0%,
        rgba(2, 15, 27, .91) 48%,
        rgba(2, 15, 27, .96) 100%);
  }
  .hero::after,
  .page-hero::after { height: 58%; }
  .hero p,
  .page-hero p { font-weight: 540; }
}

@media (max-width: 480px) {
  .brand { gap: .55rem; }
  .brand-mark { flex-basis: 40px; width: 40px; height: 40px; border-radius: 12px; }
  .brand strong { font-size: 1.02rem; }
  .brand small { display: none; }
  .form-security-note { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-mark { transition: none; }
}
