
:root{
  --navy:#102a43; --navy2:#173b5d; --navy3:#2f4d68; --red:#c61f35; --red2:#e74d61;
  --ink:#1f3347; --muted:#68798b; --white:#fff; --ivory:#fbfaf7; --mist:#f4f6f8; --line:#dde5eb; --line2:#edf1f4;
  --green:#2f8c5b; --amber:#d58d23; --orange:#e36a2b; --danger:#c94a49; --shadow:0 18px 46px rgba(16,42,67,.08);
  --softshadow:0 10px 28px rgba(16,42,67,.055); --radius:22px; --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0%,#fff 58%,#fbfcfd 100%);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 56px),var(--max));margin-inline:auto}
.section{padding:76px 0}
.eyebrow{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:14px}
.h1{font-size:clamp(3.25rem,6vw,5.55rem);line-height:.985;letter-spacing:-.055em;margin:0;color:var(--navy);font-weight:700}
.h2{font-size:clamp(2.1rem,3vw,2.85rem);line-height:1.07;letter-spacing:-.04em;margin:0;color:var(--navy)}
.lead{font-size:1.16rem;line-height:1.76;color:#405468;max-width:39rem;margin:20px 0 0;text-align:justify}
.sub{color:var(--muted);line-height:1.72;font-size:1.02rem}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.91);backdrop-filter:blur(12px);border-bottom:1px solid rgba(221,229,235,.82)}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo img{height:56px;width:auto}
.menu{display:flex;align-items:center;gap:28px;color:var(--navy);font-size:.94rem;font-weight:700}
.menu a{position:relative;padding:8px 0}
.menu a::after{content:'';position:absolute;left:0;right:100%;bottom:-12px;height:2px;background:var(--red);transition:.25s ease}
.menu a:hover::after,.menu a.active::after{right:0}
.nav-actions{display:flex;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:700;box-shadow:var(--softshadow);cursor:pointer;transition:.2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.btn.primary{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 14px 28px rgba(198,31,53,.16)}
.btn.ghost{box-shadow:none;background:transparent}
.btn.sm{padding:11px 15px;font-size:.9rem}
.mobile-toggle{display:none;width:44px;height:44px;border-radius:11px;border:1px solid var(--line);background:#fff;align-items:center;justify-content:center}
.hero{padding:30px 0 20px;background:radial-gradient(circle at 4% 8%,rgba(198,31,53,.045),transparent 27rem)}
.hero-shell{position:relative;min-height:690px;border-radius:28px;overflow:hidden;background:#f6f8f9;box-shadow:var(--shadow)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 31%,rgba(255,255,255,.58) 48%,rgba(255,255,255,.06) 69%,rgba(255,255,255,0) 100%)}
.hero-copy{position:relative;z-index:2;width:56%;padding:78px 54px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-signals{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;color:var(--navy3);font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.hero-signals span{display:inline-flex;align-items:center;gap:8px}
.hero-signals i{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(198,31,53,.08)}
.coord{position:absolute;right:34px;top:40px;z-index:2;color:#7e8a98;font-size:.78rem;letter-spacing:.16em;line-height:1.7;text-align:right}
.trustline{margin-top:20px;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--softshadow)}
.trust{padding:22px 24px;display:flex;gap:16px;align-items:flex-start}
.trust+.trust{border-left:1px solid var(--line)}
.trust-icon{width:48px;height:48px;flex:0 0 48px;border-radius:14px;border:1px solid var(--line2);background:linear-gradient(180deg,#fff,#f7f9fb);display:grid;place-items:center}
.trust h3{margin:0 0 6px;font-size:1rem;color:var(--navy)}
.trust p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.55}
.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:26px}
.section-head .copy{max-width:56rem}
.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cap{position:relative;padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;min-height:300px;display:flex;flex-direction:column;overflow:hidden}
.cap::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--red),transparent 58%)}
.cap-icon{width:58px;height:58px;border-radius:18px;background:var(--navy);display:grid;place-items:center;margin-bottom:24px}
.cap:nth-child(2) .cap-icon{background:var(--red)}
.cap h3{margin:0 0 10px;font-size:1.3rem;color:var(--navy)}
.cap p{margin:0;color:var(--muted);line-height:1.67;text-align:justify}
.cap ul{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:#4d6173;font-size:.92rem;text-align:justify}
.cap li::before{content:'✓';color:var(--red);font-weight:700;margin-right:8px}
.cap .more{margin-top:auto;padding-top:18px;color:var(--red);font-weight:700}
.arch-wrap{background:linear-gradient(180deg,#fbfcfd,#fff);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.architecture{display:grid;grid-template-columns:repeat(9,1fr);gap:12px;align-items:start;position:relative}
.architecture::before{content:'';position:absolute;left:5.5%;right:5.5%;top:34px;height:2px;background:linear-gradient(90deg,#ced8e0,#cfd8e0 47%,var(--red) 53%,#d4dce3)}
.arch-step{position:relative;text-align:center;padding:0 4px;z-index:1}
.arch-icon{width:68px;height:68px;margin:0 auto 14px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;box-shadow:var(--softshadow)}
.arch-step.active .arch-icon{border-color:rgba(198,31,53,.5);box-shadow:0 0 0 6px rgba(198,31,53,.07)}
.arch-step h4{margin:0 0 6px;font-size:.83rem;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}
.arch-step p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.43}
.intel-strip{margin-top:24px;padding:17px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;justify-content:center;gap:14px;align-items:center;color:var(--navy);font-weight:700;letter-spacing:.04em;flex-wrap:wrap}
.intel-strip b{color:var(--red)}
.matrix-shell{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.matrix-panel,.map-panel{padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--softshadow)}
.view-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.view-tab{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer}
.view-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}
.visual-view{display:none}
.visual-view.active{display:block}
.matrix-grid{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:stretch}
.y-axis{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;writing-mode:vertical-rl;transform:rotate(180deg)}
.matrix-svg{width:100%;height:auto;min-height:360px}
.matrix-footer{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-top:14px;flex-wrap:wrap}
.legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.86rem}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.map-grid{display:grid;grid-template-columns:1.1fr repeat(4,1fr);border:1px solid var(--line);border-radius:15px;overflow:hidden}
.map-grid>div{padding:13px 10px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);font-size:.84rem}
.map-grid>div:nth-child(5n){border-right:0}
.map-grid .head{background:#f8fafb;color:#6f8091;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;text-align:center}
.map-grid .rowhead{font-weight:700;color:var(--navy);background:#fbfcfd}
.map-cell{display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700}
.cell-dot{width:9px;height:9px;border-radius:50%}
.exposure-list{display:grid;gap:12px;margin-top:12px}
.exposure{display:grid;grid-template-columns:34px 1fr 60px 60px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line2)}
.rank{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:.78rem;font-weight:700}
.exposure strong{color:var(--navy)}
.score-high{color:var(--danger);font-weight:700}
.score-med{color:var(--amber);font-weight:700}
.score-low{color:var(--green);font-weight:700}
.assurance{display:grid;grid-template-columns:250px 1fr;gap:18px;align-items:stretch}
.assurance-intro{padding:28px;border-radius:22px;background:linear-gradient(180deg,#f9fbfc,#fff);border:1px solid var(--line)}
.assurance-intro h3{margin:4px 0 10px;font-size:1.75rem;line-height:1.08;color:var(--navy);letter-spacing:-.03em}
.assurance-intro p{margin:0;color:var(--muted);line-height:1.7}
.assurance-main{padding:22px;border-radius:22px;border:1px solid var(--line);background:#fff;box-shadow:var(--softshadow)}
.metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.metric{padding:14px 12px;border-right:1px solid var(--line2)}
.metric:last-child{border-right:0}
.metric label{display:block;font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;color:#7b8796;font-weight:700;margin-bottom:9px}
.metric strong{display:block;font-size:1.55rem;color:var(--navy);line-height:1.1}
.metric strong.green{color:var(--green)}
.metric strong.amber{color:var(--amber)}
.assurance-lower{display:grid;grid-template-columns:.9fr 1fr 1fr;gap:14px;margin-top:18px;border-top:1px solid var(--line2);padding-top:18px}
.a-card{padding:16px;border:1px solid var(--line2);border-radius:16px;background:#fff}
.a-card h4{margin:0 0 12px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#718092}
.risk-bars{display:grid;gap:10px}
.risk-bar{display:grid;grid-template-columns:1fr 1fr 44px;gap:10px;align-items:center;font-size:.83rem;color:#506476}
.bar{height:8px;background:#edf1f4;border-radius:999px;overflow:hidden}
.bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--amber),var(--red))}
.action-list{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:#526577;font-size:.86rem}
.action-list li{display:flex;gap:9px;align-items:flex-start}
.action-list i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--red);margin-top:5px}
.register-preview{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff}
.register-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:10px}
.register-head h3{margin:0;color:var(--navy);font-size:1.12rem}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:.89rem}
th,td{padding:13px 12px;border-bottom:1px solid var(--line2);text-align:left;white-space:nowrap}
th{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#768596;background:#fbfcfd}
.tag{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:700}
.tag.high{background:#fff0f0;color:var(--danger)} .tag.med{background:#fff7e9;color:var(--amber)} .tag.low{background:#eef8f1;color:var(--green)}
.solutions{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.solution{padding:26px 24px;min-height:230px;display:flex;flex-direction:column}
.solution+.solution{border-left:1px solid var(--line)}
.solution:nth-child(3n+1){border-left:0}
.solution:nth-child(n+4){border-top:1px solid var(--line)}
.solution-icon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:18px}
.solution h3{margin:0 0 9px;color:var(--navy);font-size:1.18rem}
.solution p{margin:0;color:var(--muted);line-height:1.62;font-size:.94rem;text-align:justify}
.solution p+p{margin-top:10px}
.solution .more{margin-top:auto;color:var(--red);font-weight:700;padding-top:14px}
.insights-cta{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:stretch}
.insights{border:1px solid var(--line);border-radius:20px;padding:24px;background:#fff}
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:14px}
.insight{padding:0 18px 0 0}
.insight+.insight{border-left:1px solid var(--line);padding-left:18px}
.insight small{color:#7b8796;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}
.insight h4{margin:10px 0 8px;color:var(--navy);font-size:1rem;line-height:1.35}
.insight a{color:var(--red);font-weight:700;font-size:.9rem}
.cta-band{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#132e49,#0b2136);color:#fff;padding:34px}
.cta-band::after{content:'';position:absolute;inset:-30% -10% -20% 40%;background:repeating-radial-gradient(ellipse at 100% 50%,transparent 0 17px,rgba(255,255,255,.06) 18px 19px)}
.cta-band>*{position:relative;z-index:1}
.cta-band h3{font-size:2rem;line-height:1.08;margin:0 0 10px;letter-spacing:-.03em;color:#fff!important}
.cta-band p{color:#c8d5df;line-height:1.6;max-width:34rem}
.footer{margin-top:40px;background:#0d2439;color:#d8e1e8;padding:34px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:26px}
.footer h4{margin:0 0 12px;color:#fff}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;color:#c4d1db}
.footer p{color:#c4d1db}
.footer .copy{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#b7c6d2;font-size:.87rem}
@media (max-width:1200px){
 .architecture{grid-template-columns:repeat(3,1fr);gap:18px} .architecture::before{display:none} .matrix-shell,.assurance,.insights-cta,.footer-grid{grid-template-columns:1fr} .metrics{grid-template-columns:repeat(3,1fr)} .assurance-lower,.capabilities,.solutions{grid-template-columns:repeat(2,1fr)} .solution:nth-child(2n+1){border-left:0} .solution:nth-child(n+3){border-top:1px solid var(--line)} .hero-copy{width:64%}
}
@media (max-width:860px){
 .container{width:min(calc(100% - 28px),var(--max))} .nav{height:72px} .menu{display:none;position:absolute;left:14px;right:14px;top:80px;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:14px} .menu.open{display:flex} .mobile-toggle{display:inline-flex} .nav-actions .btn.sm{display:none} .hero-shell{min-height:760px} .hero-img{background-position:65% center} .hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 42%,rgba(255,255,255,.34) 67%,rgba(255,255,255,0) 100%)} .hero-copy{width:100%;padding:48px 28px} .h1{font-size:3rem} .trustline,.capabilities,.metrics,.assurance-lower,.solutions,.insights-grid{grid-template-columns:1fr} .trust+.trust{border-left:0;border-top:1px solid var(--line)} .solution+.solution{border-left:0;border-top:1px solid var(--line)} .architecture{grid-template-columns:1fr} .arch-step{display:grid;grid-template-columns:68px 1fr;text-align:left;gap:14px;align-items:center} .arch-icon{margin:0} .matrix-shell{grid-template-columns:1fr} .map-grid{grid-template-columns:1fr repeat(4,72px);overflow:auto} .insight+.insight{border-left:0;border-top:1px solid var(--line);padding:18px 0 0;margin-top:18px} .section{padding:54px 0}
}

/* v42 final hero — intentionally split, photographic, restrained */
.hero{padding:34px 0 20px;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}
.hero-shell{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(460px,.98fr);min-height:670px;border-radius:0;overflow:visible;background:#fff;box-shadow:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-img{position:relative;inset:auto;order:2;min-height:670px;background-image:none;background-position:62% center;background-size:cover;background-repeat:no-repeat;filter:saturate(.92) contrast(1.015) brightness(1.015)}
.hero-img::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(16,42,67,.035));pointer-events:none}
.hero-img::after{content:'';position:absolute;left:-1px;top:0;bottom:0;width:86px;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.9) 24%,rgba(255,255,255,0) 100%);pointer-events:none}
.hero-overlay{display:none}
.hero-copy{position:relative;z-index:2;width:auto;padding:84px 64px 74px 2px;align-self:center;order:1;background:#fff}
.hero-copy::before{content:'';position:absolute;left:0;top:62px;width:46px;height:2px;background:var(--red)}
.hero-copy .eyebrow{margin-top:12px}
.hero-copy .h1{max-width:760px;font-size:clamp(3.5rem,5.4vw,5.65rem);line-height:.985;letter-spacing:-.052em;margin-top:18px}
.hero-copy .lead{max-width:630px;font-size:1.16rem;line-height:1.72;color:#41566b}
.hero-actions{margin-top:30px}
.hero-signals{margin-top:30px;padding-top:18px;border-top:1px solid var(--line2);gap:24px;color:#53697d}
.coord{right:30px;top:30px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.88);border-radius:10px;padding:9px 11px;color:#6e7d8c;line-height:1.55;box-shadow:0 6px 18px rgba(16,42,67,.05)}
.hero-photo-note{position:absolute;right:28px;bottom:24px;z-index:3;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.92);border-radius:999px;padding:9px 13px;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy3);box-shadow:0 8px 20px rgba(16,42,67,.06)}
.hero-photo-note::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:8px;vertical-align:1px}
@media(max-width:1200px){.hero-shell{grid-template-columns:1fr 1fr}.hero-copy{padding:70px 44px 64px 0}.hero-copy .h1{font-size:clamp(3.15rem,5vw,4.85rem)}}
@media(max-width:900px){.hero-shell{grid-template-columns:1fr;min-height:0;border-top:0}.hero-copy{order:1;padding:50px 0 42px}.hero-copy::before{top:34px}.hero-img{order:2;min-height:470px;border-radius:20px;overflow:hidden}.hero-img::after{display:none}.coord{top:18px;right:18px}.hero-photo-note{right:18px;bottom:16px}}
@media(max-width:600px){.hero-copy .h1{font-size:2.8rem;line-height:1.02}.hero-img{min-height:390px;background-position:center 43%}.hero-signals{gap:14px;font-size:.76rem}}


/* v43 hero repair — full-bleed modern photographic treatment, actual IMG element */
.hero{padding:34px 0 22px;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}
.hero-shell{position:relative!important;display:block!important;grid-template-columns:none!important;min-height:660px!important;overflow:hidden!important;border-radius:26px!important;background:#f6f8f9!important;box-shadow:var(--shadow)!important;border:1px solid var(--line)!important}
.hero-img{position:absolute!important;inset:0!important;order:initial!important;min-height:0!important;background:none!important;overflow:hidden!important;z-index:0}
.hero-img .modern-hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center right;display:block}
.hero-img::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 32%,rgba(255,255,255,.75) 46%,rgba(255,255,255,.22) 62%,rgba(255,255,255,0) 78%);pointer-events:none}
.hero-img::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(16,42,67,.035));pointer-events:none}
.hero-copy{position:relative!important;z-index:3!important;order:initial!important;width:54%!important;padding:82px 56px 76px!important;background:transparent!important}
.coord{z-index:4!important;right:34px!important;top:34px!important;color:#718092!important;text-shadow:0 1px 0 rgba(255,255,255,.75)}
.hero-photo-note{z-index:4!important;right:34px!important;bottom:30px!important;background:rgba(255,255,255,.82)!important;backdrop-filter:blur(8px);border:1px solid rgba(222,230,237,.8);padding:9px 12px;border-radius:999px;color:var(--navy3)!important;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:1100px){
 .hero-shell{min-height:610px!important}
 .hero-copy{width:59%!important;padding:68px 42px 62px!important}
 .hero-img .modern-hero{object-position:68% center}
}
@media(max-width:860px){
 .hero-shell{display:flex!important;flex-direction:column!important;min-height:auto!important;border-radius:20px!important}
 .hero-img{position:relative!important;inset:auto!important;order:1!important;min-height:360px!important;width:100%!important}
 .hero-img .modern-hero{object-position:68% center}
 .hero-img::before{background:linear-gradient(180deg,rgba(255,255,255,0) 55%,rgba(255,255,255,.92) 100%)}
 .hero-copy{order:2!important;width:100%!important;padding:38px 28px 42px!important;background:#fff!important}
 .coord{display:none!important}.hero-photo-note{right:18px!important;bottom:18px!important}
}




/* v44 production-polish overrides — deliberately evolutionary, not a redesign */
:root{
  --focus:#c61f35;
  --content-measure:68ch;
}
::selection{background:rgba(198,31,53,.14);color:var(--navy)}
.skip-link{position:fixed;left:18px;top:14px;z-index:9999;transform:translateY(-140%);padding:11px 15px;border-radius:10px;background:var(--navy);color:#fff;font-weight:700;box-shadow:var(--shadow);transition:transform .18s ease}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(198,31,53,.38);outline-offset:4px;border-radius:8px}
section[id],main[id]{scroll-margin-top:104px}
.cap[id],.solution[id]{scroll-margin-top:120px}
body{text-rendering:optimizeLegibility}
.h1{max-width:13ch;text-wrap:balance}
.h2{text-wrap:balance}
.sub,.lead{max-width:var(--content-measure)}
.btn{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(16,42,67,.10)}
.btn.primary:hover{box-shadow:0 16px 34px rgba(198,31,53,.22)}
.header{box-shadow:0 1px 0 rgba(16,42,67,.03)}

/* Hero: final breakpoint calibration */
.hero-shell{isolation:isolate}
.hero-img{overflow:hidden;background:#eef2f5}
.modern-hero{object-position:64% 50%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.hero-shell:hover .modern-hero{transform:scale(1.008)}
.hero-copy{max-width:860px}
.hero-copy .h1{max-width:11.8ch}
.hero-copy .lead{max-width:36rem}
.hero-signals{font-size:.82rem;letter-spacing:.085em}
.coord{opacity:.78}
.hero-photo-note{display:none!important}

/* Trust / capability refinement */
.trustline{box-shadow:0 12px 34px rgba(16,42,67,.055)}
.trust-icon,.cap-icon,.arch-icon{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.trust:hover .trust-icon{transform:translateY(-2px)}
.cap{transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.cap:hover{transform:translateY(-4px);border-color:#ccd7df;box-shadow:0 18px 38px rgba(16,42,67,.075)}

/* Proprietary Risk Architecture: stronger continuity without adding clutter */
.architecture{padding-top:6px}
.arch-step{transition:transform .22s ease}
.arch-step:hover,.arch-step:focus-visible{transform:translateY(-4px)}
.arch-step:hover .arch-icon,.arch-step:focus-visible .arch-icon{border-color:rgba(198,31,53,.42);box-shadow:0 0 0 6px rgba(198,31,53,.055),0 10px 25px rgba(16,42,67,.06)}
.arch-step h4{letter-spacing:.055em}
.intel-strip{box-shadow:inset 0 1px 0 rgba(255,255,255,.9);background:linear-gradient(180deg,#fff,#fbfcfd)}

/* Matrix/Test Map: preserve sharpness, improve board-report visual restraint */
.matrix-panel,.map-panel{box-shadow:0 12px 30px rgba(16,42,67,.055)}
.view-tab{transition:background-color .18s ease,color .18s ease,transform .18s ease}
.view-tab:hover{transform:translateY(-1px)}
.matrix-svg{filter:saturate(.9)}

/* Executive Assurance Brief */
.assurance-main{background:linear-gradient(180deg,#fff,#fcfdfe);box-shadow:0 12px 30px rgba(16,42,67,.055)}
.metrics{border-bottom:1px solid var(--line2);padding-bottom:4px}
.metric strong{letter-spacing:-.03em}
.metric label{line-height:1.35}
.a-card{background:linear-gradient(180deg,#fff,#fcfdfe)}
.register-preview{box-shadow:none;background:linear-gradient(180deg,#fff,#fcfdfe)}
.register-preview tbody tr:last-child td{border-bottom:0}
.register-preview th{position:sticky;top:0;z-index:1}

/* Solutions and insights: stronger editorial rhythm */
.solution{transition:background-color .18s ease}
.solution:hover{background:#fcfdfe}
.insights{box-shadow:none}
.insight h4{max-width:24ch}
.cta-band{box-shadow:0 18px 42px rgba(10,31,49,.14)}

/* Subtle content entrance — progressive enhancement */
@keyframes v44FadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@supports (animation-timeline:view()){
 .section-head,.cap,.matrix-panel,.map-panel,.assurance,.register-preview,.solution,.insights,.cta-band{animation:v44FadeUp linear both;animation-timeline:view();animation-range:entry 5% cover 22%}
}

/* Tablet art direction */
@media(max-width:1180px){
 .hero-shell{min-height:620px!important}
 .hero-copy{width:58%!important;padding:70px 38px 62px!important}
 .hero-copy .h1{font-size:clamp(3.15rem,5.8vw,4.7rem)}
 .modern-hero{object-position:66% 50%}
 .metrics{grid-template-columns:repeat(3,1fr)}
 .metric:nth-child(3){border-right:0}
 .assurance-lower{grid-template-columns:1fr 1fr}
 .assurance-lower .a-card:last-child{grid-column:1/-1}
}

/* Mobile: intentionally art-directed, not a simple desktop stack */
@media(max-width:860px){
 .container{width:min(calc(100% - 30px),var(--max))}
 .hero-shell{display:flex!important;flex-direction:column!important;border-radius:18px!important;border:1px solid var(--line);overflow:hidden!important;background:#fff}
 .hero-img{order:1!important;min-height:330px!important;width:100%!important}
 .modern-hero{object-position:60% 47%;transform:none!important}
 .hero-img::before{background:linear-gradient(180deg,rgba(255,255,255,0) 62%,rgba(255,255,255,.72) 100%)!important}
 .hero-copy{order:2!important;width:100%!important;padding:34px 26px 38px!important;background:#fff!important}
 .hero-copy::before{left:26px!important;top:20px!important;width:38px!important}
 .hero-copy .h1{font-size:clamp(2.55rem,11vw,3.45rem)!important;max-width:12ch!important;margin-top:14px!important}
 .hero-copy .lead{font-size:1rem!important;line-height:1.68!important}
 .hero-signals{display:grid!important;grid-template-columns:1fr 1fr;gap:12px 16px!important}
 .trustline{border-radius:16px}
 .architecture{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;padding:8px 2px 16px;overscroll-behavior-inline:contain}
 .architecture::before{display:none!important}
 .arch-step{flex:0 0 min(78vw,340px);scroll-snap-align:center;display:grid!important;grid-template-columns:62px 1fr!important;gap:14px!important;text-align:left!important;padding:18px!important;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(16,42,67,.045)}
 .arch-icon{width:56px!important;height:56px!important;margin:0!important}
 .intel-strip{justify-content:flex-start;overflow-x:auto;white-space:nowrap}
 .metrics{grid-template-columns:1fr 1fr!important}
 .metric{border-right:0!important;border-bottom:1px solid var(--line2);padding:14px 10px}
 .assurance{grid-template-columns:1fr!important}
 .assurance-intro{padding:22px!important}
 .assurance-main{padding:18px!important}
 .assurance-lower{grid-template-columns:1fr!important}
 .assurance-lower .a-card:last-child{grid-column:auto}
 .matrix-grid{grid-template-columns:44px 1fr!important}
 .map-grid{min-width:690px}
 .register-preview{padding:16px!important}
 .register-head{align-items:flex-start!important;flex-direction:column!important}
 .solutions{display:grid!important;grid-template-columns:1fr!important;border:1px solid var(--line)!important;border-radius:18px!important;overflow:hidden}
 .solution+.solution{border-left:0!important;border-top:1px solid var(--line)!important}
 .insights-cta{grid-template-columns:1fr!important}
}

@media(max-width:520px){
 .hero-img{min-height:286px!important}
 .hero-signals{grid-template-columns:1fr!important}
 .metrics{grid-template-columns:1fr 1fr!important}
 .metric strong{font-size:1.32rem}
 .section{padding:46px 0!important}
 .h2{font-size:clamp(1.9rem,9vw,2.4rem)!important}
}

@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}
 .modern-hero{transform:none!important}
}



/* v45 FINAL CALIBRATED MASTER — consolidated visual calibration layer */
:root{
  --navy:#0f2942;--navy2:#173b5b;--red:#c51f35;--ink:#203449;--muted:#657789;
  --ivory:#fbfaf7;--mist:#f5f7f8;--line:#dfe6eb;--line2:#edf1f4;
  --shadow-final:0 18px 48px rgba(15,41,66,.065);--soft-final:0 9px 26px rgba(15,41,66,.045);
}
body{background:#fff;color:var(--ink)}
.container{width:min(calc(100% - 64px),1400px)}
.section{padding:88px 0}
.eyebrow{font-size:.72rem;letter-spacing:.19em}
.h2{max-width:22ch;font-size:clamp(2.15rem,3.1vw,3rem);line-height:1.06}
.section-head{margin-bottom:32px;align-items:flex-end}
.section-head .copy{max-width:62rem}
.demo-badge{align-self:flex-end;white-space:nowrap;padding:8px 13px;border:1px solid rgba(198,31,53,.35);border-radius:999px;background:rgba(198,31,53,.08);color:var(--red);font-size:.72rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase}

/* Header: fewer competing elements, stronger professional-services hierarchy */
.header{background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}
.nav{height:82px}
.logo img{height:52px}
.menu{gap:30px;font-size:.9rem}
.menu a::after{bottom:-10px}
.nav-actions .btn{box-shadow:none}

/* Hero: approved modern artwork, calmer executive opening */
.hero{padding:26px 0 12px;background:#fff}
.hero-shell{min-height:655px!important;border-radius:22px!important;border:1px solid #e2e8ed!important;box-shadow:0 24px 58px rgba(15,41,66,.065)!important}
.hero-img::before{background:linear-gradient(90deg,rgba(255,255,255,.995) 0%,rgba(255,255,255,.965) 34%,rgba(255,255,255,.78) 47%,rgba(255,255,255,.25) 61%,rgba(255,255,255,0) 76%)!important}
.hero-img::after{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(15,41,66,.025))!important}
.modern-hero{object-position:65% 49%}
.hero-copy{width:55%!important;padding:86px 58px 78px!important}
.hero-copy::before{left:58px!important;top:61px!important;width:40px!important;height:2px!important}
.hero-copy .eyebrow{margin-top:0;color:var(--navy3);letter-spacing:.115em;text-transform:none;font-size:.84rem}
.hero-copy .h1{font-size:clamp(3.55rem,5.45vw,5.6rem);max-width:11.5ch!important;line-height:.975;letter-spacing:-.052em;margin-top:20px}
.hero-copy .lead{max-width:39rem;font-size:1.12rem;line-height:1.72}
.hero-actions{margin-top:30px}
.hero-signals{margin-top:32px;padding-top:18px;border-top:1px solid rgba(223,230,235,.9);gap:19px;font-size:.75rem;letter-spacing:.07em;text-transform:none}
.hero-signals i{width:6px;height:6px;box-shadow:0 0 0 4px rgba(197,31,53,.07)}

/* Trust strip: quieter and more architectural */
.trustline{margin-top:18px;border-radius:14px;box-shadow:none;border-color:#e4e9ed}
.trust{padding:23px 22px}
.trust-icon{width:42px;height:42px;flex-basis:42px;border-radius:50%;background:#fff;box-shadow:none}
.trust h3{font-size:.94rem}.trust p{font-size:.88rem;line-height:1.5}

/* Capabilities: substantial but not card-heavy */
.capabilities{gap:14px}
.cap{min-height:318px;border-radius:14px;padding:30px 28px;box-shadow:none;background:linear-gradient(180deg,#fff 0%,#fcfdfe 100%)}
.cap:hover{transform:translateY(-3px);box-shadow:var(--soft-final)}
.cap::before{height:2px}
.cap-icon{width:52px;height:52px;border-radius:50%;margin-bottom:23px}
.cap h3{font-size:1.24rem}.cap p{line-height:1.64}.cap ul{font-size:.89rem}

/* Risk architecture: signature editorial route */
.arch-wrap{background:linear-gradient(180deg,#fafbfd 0%,#fff 100%)}
.architecture{gap:10px;padding:14px 0 4px}
.architecture::before{top:45px;height:1px;background:linear-gradient(90deg,#d4dde4 0%,#d4dde4 49%,rgba(197,31,53,.68) 50%,#d4dde4 58%,#d4dde4 100%)}
.arch-step::before{content:attr(data-index);display:block;margin-bottom:8px;color:#96a2ad;font-size:.65rem;font-weight:700;letter-spacing:.14em}
.arch-icon{width:62px;height:62px;margin-bottom:13px;box-shadow:none}
.arch-step.active .arch-icon{box-shadow:0 0 0 5px rgba(197,31,53,.055)}
.arch-step h4{font-size:.76rem}.arch-step p{font-size:.74rem;line-height:1.45}
.intel-strip{margin-top:30px;border-radius:10px;box-shadow:none;padding:15px 18px;font-size:.87rem}

/* Matrix/Test Map: one flagship technical proof point */
.matrix-shell{grid-template-columns:1.12fr .88fr;gap:16px}
.matrix-panel,.map-panel{padding:27px;border-radius:15px;box-shadow:none;background:#fff}
.view-tab{font-size:.85rem;padding:9px 13px}
.matrix-svg{min-height:350px;filter:saturate(.82)}
.map-grid{border-radius:10px}
.map-grid>div{font-size:.81rem}
.exposure{grid-template-columns:32px 1fr 56px 56px}

/* Assurance: board report, not software UI */
.assurance{grid-template-columns:270px 1fr;gap:16px}
.assurance-intro,.assurance-main{border-radius:15px;box-shadow:none}
.assurance-intro{background:linear-gradient(155deg,#f7f9fa,#fff);padding:30px}
.assurance-intro h3{font-size:1.82rem}
.assurance-main{padding:24px}
.metrics{padding-bottom:10px}
.metric{padding:14px 12px}
.metric label{font-size:.68rem;letter-spacing:.075em}
.metric strong{font-size:1.45rem}
.assurance-lower{gap:12px}.a-card{border-radius:11px;box-shadow:none}
.register-preview{border-radius:14px;padding:22px!important}
.register-note{margin-left:auto;padding:6px 11px;border:1px solid rgba(198,31,53,.35);border-radius:999px;background:rgba(198,31,53,.08);color:var(--red);font-size:.67rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}

/* Solutions: editorial columns, minimal framing */
.solutions{border-color:#e1e7eb}
.solution{padding:29px 25px;min-height:245px;background:#fff}
.solution h3{font-size:1.05rem;line-height:1.25}.solution p{font-size:.91rem;line-height:1.6}
.solution-icon{margin-bottom:19px}

/* Insights / CTA */
.insights-cta{gap:16px}
.insights{border-radius:14px;padding:27px;box-shadow:none;background:#fff}
.insight h4{font-size:1.02rem;line-height:1.4}
.cta-band{border-radius:14px;padding:38px;background:linear-gradient(135deg,#112d47,#0b2237);box-shadow:none}
.cta-band h3{font-size:2.15rem;max-width:17ch}
.cta-band::after{opacity:.72}
.footer{margin-top:22px;padding-top:40px}
.footer-grid{gap:34px}.footer p{max-width:37ch;line-height:1.6}

@media(max-width:1180px){
 .container{width:min(calc(100% - 42px),1400px)}
 .hero-copy{width:59%!important;padding:74px 42px 66px!important}
 .hero-copy::before{left:42px!important;top:51px!important}
 .hero-copy .h1{font-size:clamp(3.15rem,5.7vw,4.7rem)}
 .architecture{grid-template-columns:repeat(3,1fr);gap:20px}.architecture::before{display:none}
 .arch-step{padding:13px}.arch-step::before{margin-bottom:4px}
}
@media(max-width:860px){
 .container{width:min(calc(100% - 28px),1400px)}
 .section{padding:58px 0}
 .section-head{align-items:flex-start;flex-direction:column;margin-bottom:24px}.demo-badge{align-self:flex-start}
 .hero{padding-top:16px}
 .hero-shell{border-radius:16px!important}
 .hero-img{min-height:320px!important}
 .modern-hero{object-position:61% 48%}
 .hero-copy{padding:36px 25px 40px!important}
 .hero-copy::before{left:25px!important;top:21px!important}
 .hero-copy .eyebrow{font-size:.76rem}
 .hero-copy .h1{font-size:clamp(2.6rem,11vw,3.5rem)!important;max-width:12ch!important}
 .hero-signals{grid-template-columns:1fr 1fr!important;font-size:.72rem}
 .trustline{border-radius:13px}
 .cap{min-height:auto}
 .architecture{display:flex!important;gap:12px!important;padding-bottom:16px}
 .arch-step{flex:0 0 min(80vw,330px);border-radius:13px!important;grid-template-columns:56px 1fr!important;padding:18px!important}
 .arch-step::before{grid-column:1/-1;margin:0 0 -2px}
 .assurance{grid-template-columns:1fr}
 .solutions{border-radius:13px!important}
 .insights,.cta-band{border-radius:13px}
}
@media(max-width:520px){
 .hero-img{min-height:275px!important}.hero-signals{grid-template-columns:1fr!important}
 .hero-copy .h1{font-size:2.55rem!important}.hero-actions{display:grid}.hero-actions .btn{width:100%}
 .trust{padding:19px}.section{padding:50px 0!important}
}



/* v49 MASTER REFINEMENT — surgical calibration from v45; consulting/advisory first */
:root{
  --v49-rule:#e3e9ed;
  --v49-pale:#fafbfc;
  --v49-navy:#0e2942;
}
body{background:#fff}
.section{padding:92px 0}
.section-head{margin-bottom:36px}

/* Hero: calmer, more premium, no duplicated proof-point row */
.hero{padding:24px 0 18px}
.hero-shell{min-height:610px!important;border-radius:16px!important;box-shadow:0 22px 54px rgba(15,41,66,.055)!important;border-color:#e4e9ed!important}
.hero-img::before{background:linear-gradient(90deg,rgba(255,255,255,.997) 0%,rgba(255,255,255,.98) 38%,rgba(255,255,255,.88) 50%,rgba(255,255,255,.38) 64%,rgba(255,255,255,.03) 78%)!important}
.modern-hero{object-position:66% 49%;filter:saturate(.92) contrast(1.02) brightness(1.015)}
.hero-copy{width:62%!important;padding:78px 56px 72px!important}
.hero-copy::before{left:56px!important;top:53px!important;width:38px!important}
.hero-copy .eyebrow{font-size:.82rem!important;color:#41576b!important;letter-spacing:.08em!important}
.hero-copy .h1{font-size:clamp(3.25rem,4.3vw,4.45rem)!important;line-height:.99!important;max-width:22ch!important;margin-top:19px!important}
.hero-copy .lead{font-size:1.08rem!important;line-height:1.74!important;max-width:42rem!important;color:#40566a!important}
.hero-actions{margin-top:29px!important}
.hero-actions .btn{box-shadow:none}
.hero-actions .btn.ghost{border-color:#d8e1e7;background:rgba(255,255,255,.78)}

/* Proof points: quiet architectural strip */
.trustline{margin-top:16px;border-radius:8px;box-shadow:none;background:#fff}
.trust{padding:23px 23px}
.trust-icon{border:0;background:transparent;width:34px;height:34px;flex-basis:34px;border-radius:0}
.trust-icon svg{width:30px;height:30px}
.trust h3{font-size:.95rem}
.trust p{font-size:.87rem;line-height:1.52}

/* Capabilities: editorial consulting columns, not product cards */
.capabilities{gap:0;border-top:1px solid var(--v49-rule);border-bottom:1px solid var(--v49-rule)}
.cap{border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;min-height:330px;padding:34px 34px 30px 0;overflow:visible}
.cap+.cap{border-left:1px solid var(--v49-rule)!important;padding-left:34px}
.cap::before{display:none}
.cap:hover{transform:none!important;box-shadow:none!important;background:#fff!important}
.cap-icon{width:44px;height:44px;border-radius:50%;margin-bottom:24px;box-shadow:none}
.cap h3{font-size:1.3rem;letter-spacing:-.018em}
.cap p{font-size:.95rem;line-height:1.7;max-width:35rem}
.cap ul{margin-top:22px;gap:9px}
.cap li{position:relative;padding-left:18px}
.cap li::before{content:'—';position:absolute;left:0;top:0;margin-right:0;font-weight:400}
.cap .more{font-size:.88rem}

/* Signature route: more intellectual, less UI */
.arch-wrap{background:linear-gradient(180deg,#fafbfd 0%,#fff 92%)}
.architecture{gap:8px;padding-top:18px}
.architecture::before{top:50px;background:linear-gradient(90deg,#d9e0e5 0%,#d9e0e5 44%,rgba(197,31,53,.72) 50%,#d9e0e5 56%,#d9e0e5 100%)}
.arch-step{padding-inline:3px}
.arch-step:hover,.arch-step:focus-visible{transform:none}
.arch-step::before{font-size:.61rem;color:#9aa6b0}
.arch-icon{width:58px;height:58px;border-radius:50%;box-shadow:none!important;background:#fff}
.arch-step.active .arch-icon{border-color:rgba(197,31,53,.48)}
.arch-step h4{font-size:.75rem;letter-spacing:.045em}
.arch-step p{font-size:.735rem;line-height:1.48}
.intel-strip{border-radius:0;border-left:0;border-right:0;background:transparent;padding:18px 0;margin-top:34px;box-shadow:none!important}

/* Technical proof point: keep as the sole detailed visual, with restrained framing */
#matrix{background:#fff}
.matrix-panel,.map-panel{border-radius:10px;padding:28px;box-shadow:none!important;border-color:#e2e8ec}
.view-tab{border-radius:6px;box-shadow:none}
.matrix-svg{filter:saturate(.78)}
.map-grid{border-radius:7px}

/* Executive Assurance Brief: board advisory report, not dashboard */
#assurance{background:linear-gradient(180deg,#fbfcfd 0%,#fff 100%);border-top:1px solid #eef2f4;border-bottom:1px solid #eef2f4}
.assurance{grid-template-columns:285px 1fr;gap:14px}
.assurance-intro,.assurance-main{border-radius:8px!important;box-shadow:none!important}
.assurance-intro{background:#fff;padding:32px;border-color:#e1e7eb}
.assurance-intro h3{font-size:1.88rem;line-height:1.08}
.assurance-main{padding:25px;background:#fff}
.metrics{gap:0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:0}
.metric{padding:16px 12px;border-right:1px solid var(--line2)}
.metric:last-child{border-right:0}
.assurance-lower{grid-template-columns:1.08fr 1fr 1fr;gap:0;border-top:1px solid var(--line2);margin-top:20px}
.a-card{border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;padding:24px 22px!important}
.a-card+.a-card{border-left:1px solid var(--line2)!important}
.assurance-interpretation{margin:12px 0 20px;color:#566a7c;font-size:.9rem;line-height:1.66}
.interpretation-rule{border-top:1px solid var(--line2);padding-top:14px;display:grid;gap:5px}
.interpretation-rule strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.075em;color:var(--navy)}
.interpretation-rule span{font-size:.84rem;color:#667789;line-height:1.5}
.register-preview{margin-top:16px;border-radius:8px!important;background:#fff!important;padding:22px!important}
.register-head{padding-bottom:8px;border-bottom:1px solid var(--line2)}

/* Solutions: specialist advisory propositions */
.solutions{border-color:var(--v49-rule)}
.solution{min-height:252px;padding:31px 27px;background:#fff!important}
.solution:hover{background:#fff!important}
.solution-icon{height:48px;width:48px;margin-bottom:22px}
.solution h3{font-size:1.08rem;line-height:1.28}
.solution p{font-size:.92rem;line-height:1.67}
.solution .more{font-size:.87rem}

/* Perspectives and final engagement: quiet editorial close */
.insights-cta{grid-template-columns:1.16fr .84fr;gap:14px}
.insights{border-radius:8px;padding:30px;border-color:#e2e8ec}
.insights-grid{margin-top:18px}
.insight h4{font-size:1.01rem;max-width:28ch}
.cta-band{border-radius:8px;padding:42px;background:linear-gradient(135deg,#102c45,#0a2237)}
.cta-band::after{opacity:.38}
.cta-band h3{font-size:2.22rem}
.footer{margin-top:0}

@media(max-width:1180px){
 .hero-shell{min-height:580px!important}
 .hero-copy{width:60%!important;padding:64px 40px 58px!important}
 .hero-copy::before{left:40px!important;top:46px!important}
 .modern-hero{object-position:67% 50%}
 .cap{padding-right:24px}.cap+.cap{padding-left:24px}
 .assurance{grid-template-columns:1fr}
 .assurance-lower{grid-template-columns:1fr 1fr}
 .assurance-lower .a-card:last-child{grid-column:1/-1;border-left:0!important;border-top:1px solid var(--line2)!important}
}
@media(max-width:860px){
 .section{padding:60px 0}
 .hero-shell{min-height:auto!important;border-radius:12px!important}
 .hero-img{min-height:315px!important}
 .modern-hero{object-position:61% 48%}
 .hero-copy{width:100%!important;padding:37px 25px 42px!important}
 .hero-copy::before{left:25px!important;top:21px!important}
 .hero-copy .h1{font-size:clamp(2.55rem,11vw,3.45rem)!important}
 .trustline{border-radius:8px}
 .capabilities{grid-template-columns:1fr!important;border-bottom:0}
 .cap,.cap+.cap{padding:28px 0!important;border-left:0!important;border-top:1px solid var(--v49-rule)!important;min-height:0}
 .capabilities .cap:first-child{border-top:0!important}
 .architecture{display:flex!important;overflow-x:auto;gap:12px!important}
 .arch-step{flex:0 0 min(80vw,330px);border:1px solid var(--line)!important;border-radius:8px!important;padding:18px!important}
 .assurance-lower{grid-template-columns:1fr!important}
 .a-card+.a-card{border-left:0!important;border-top:1px solid var(--line2)!important}
 .assurance-lower .a-card:last-child{grid-column:auto}
 .metrics{grid-template-columns:1fr 1fr!important}
 .metric{border-right:0;border-bottom:1px solid var(--line2)}
 .solutions{border-radius:8px!important}
 .insights,.cta-band{border-radius:8px}
 .insights-cta{grid-template-columns:1fr}
}
@media(max-width:520px){
 .hero-img{min-height:275px!important}
 .hero-copy .h1{font-size:2.48rem!important}
 .section{padding:50px 0!important}
 .metrics{grid-template-columns:1fr 1fr!important}
 .cta-band{padding:34px 28px}
}

/* v49 reliability: content must never depend on scroll-driven animation for visibility */
@supports (animation-timeline:view()){
 .section-head,.cap,.matrix-panel,.map-panel,.assurance,.register-preview,.solution,.insights,.cta-band{animation:none!important;opacity:1!important;transform:none!important}
}



/* =========================================================
   v50 ULTIMATE ADVISORY MASTER — FINAL VISUAL CALIBRATION
   Alternative A hero + strongest advisory-led decisions
   ========================================================= */
:root{
  --v50-navy:#0e2942;--v50-navy-2:#173a59;--v50-red:#c51f35;--v50-ink:#203549;
  --v50-muted:#687a8b;--v50-ivory:#fbfaf7;--v50-mist:#f6f8f9;--v50-line:#e1e7eb;
  --v50-line-soft:#edf1f4;--v50-max:1440px;
}
body{background:#fff;color:var(--v50-ink)}
.container{width:min(calc(100% - 68px),var(--v50-max))}
.section{padding:94px 0}
.section-head{margin-bottom:34px}
.eyebrow{letter-spacing:.17em;font-size:.70rem;color:var(--v50-red)}
.h2{font-size:clamp(2.15rem,3vw,3rem);max-width:24ch}
.sub{font-size:1rem;line-height:1.76;color:var(--v50-muted);max-width:66rem}

/* Header — consulting practice, not product UI */
.header{background:rgba(255,255,255,.965);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(14,41,66,.035)}
.nav{height:82px}.logo img{height:51px}.menu{gap:30px;font-size:.90rem}.nav-actions .btn{border-radius:6px}
.btn{border-radius:6px;box-shadow:none;padding:13px 20px}.btn:hover{box-shadow:none;transform:translateY(-1px)}
.btn.primary{box-shadow:none}.btn.primary:hover{box-shadow:0 10px 24px rgba(197,31,53,.16)}

/* HERO — exact Alternative A image, calm editorial treatment */
.hero{padding:26px 0 16px;background:#fff}
.hero-shell{min-height:650px!important;border-radius:12px!important;border:1px solid var(--v50-line)!important;box-shadow:0 22px 58px rgba(14,41,66,.065)!important;overflow:hidden!important;background:#f6f7f8!important}
.hero-img{background:#eef2f4!important}
.hero-img .modern-hero{object-fit:cover!important;object-position:center 45%!important;filter:saturate(.94) contrast(1.015) brightness(1.02)!important;transform:none!important}
.hero-img::before{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 29%,rgba(255,255,255,.91) 43%,rgba(255,255,255,.58) 55%,rgba(255,255,255,.14) 68%,rgba(255,255,255,0) 80%)!important}
.hero-img::after{background:linear-gradient(180deg,rgba(14,41,66,.015),rgba(14,41,66,.055))!important}
.hero-copy{width:57%!important;max-width:none!important;padding:82px 58px 72px!important;background:transparent!important}
.hero-copy::before{left:58px!important;top:55px!important;width:40px!important;height:2px!important;background:var(--v50-red)!important}
.hero-copy .eyebrow{margin-top:0!important;color:#42586d!important;text-transform:none!important;letter-spacing:.09em!important;font-size:.82rem!important;font-weight:700!important}
.hero-copy .h1{font-size:clamp(3.45rem,4.65vw,4.95rem)!important;line-height:.985!important;letter-spacing:-.052em!important;max-width:14ch!important;margin-top:19px!important;color:var(--v50-navy)!important}
.hero-copy .lead{font-size:1.09rem!important;line-height:1.76!important;color:#40566a!important;max-width:41rem!important;margin-top:24px!important}
.hero-actions{margin-top:31px!important;gap:12px!important}
.hero-actions .btn.ghost,.hero-actions .btn:not(.primary){background:rgba(255,255,255,.84);border-color:#ced9e0}
.hero-shell:hover .modern-hero{transform:none!important}

/* Trust signals — a single understated confidence line */
.trustline{margin-top:15px!important;border-radius:6px!important;border:1px solid var(--v50-line)!important;box-shadow:none!important;background:#fff!important}
.trust{padding:22px 23px!important}.trust+.trust{border-left:1px solid var(--v50-line)!important}
.trust-icon{width:34px!important;height:34px!important;flex-basis:34px!important;border:0!important;background:transparent!important;border-radius:0!important}
.trust-icon svg{width:28px!important;height:28px!important}.trust h3{font-size:.93rem!important;margin-bottom:5px!important}.trust p{font-size:.86rem!important;line-height:1.52!important}

/* Advisory positioning divider */
.v50-positioning-line{display:flex;align-items:center;justify-content:center;gap:18px;margin:-6px 0 34px;padding:14px 0;border-top:1px solid var(--v50-line-soft);border-bottom:1px solid var(--v50-line-soft);color:#53697c;font-size:.76rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.v50-positioning-line i{width:4px;height:4px;border-radius:50%;background:var(--v50-red)}

/* Capabilities — editorial professional-services columns */
.capabilities{gap:0!important;border-top:1px solid var(--v50-line)!important;border-bottom:1px solid var(--v50-line)!important}
.cap{min-height:320px!important;padding:34px 34px 31px 0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:visible!important}
.cap+.cap{padding-left:34px!important;border-left:1px solid var(--v50-line)!important}.cap::before{display:none!important}.cap:hover{transform:none!important;box-shadow:none!important}
.cap-icon{width:42px!important;height:42px!important;border-radius:50%!important;margin-bottom:23px!important;box-shadow:none!important}
.cap h3{font-size:1.27rem!important;letter-spacing:-.02em!important}.cap p{font-size:.94rem!important;line-height:1.7!important}.cap ul{font-size:.88rem!important;gap:9px!important}.cap li::before{content:'—'!important;font-weight:400!important;margin-right:0!important}.cap .more{font-size:.87rem!important}

/* Risk architecture — the proprietary intellectual journey */
.arch-wrap{background:linear-gradient(180deg,#fafbfd 0%,#fff 100%)!important;border-color:var(--v50-line-soft)!important}
.architecture{gap:7px!important;padding:18px 0 6px!important}.architecture::before{top:50px!important;height:1px!important;background:linear-gradient(90deg,#d8e0e6 0%,#d8e0e6 45%,rgba(197,31,53,.75) 50%,#d8e0e6 56%,#d8e0e6 100%)!important}
.arch-step{padding-inline:3px!important}.arch-step:hover,.arch-step:focus-visible{transform:none!important}.arch-step::before{font-size:.60rem!important;color:#9aa6b0!important;margin-bottom:7px!important}
.arch-icon{width:58px!important;height:58px!important;border-radius:50%!important;box-shadow:none!important}.arch-step.active .arch-icon{box-shadow:0 0 0 5px rgba(197,31,53,.05)!important;border-color:rgba(197,31,53,.48)!important}
.arch-step h4{font-size:.74rem!important;letter-spacing:.045em!important}.arch-step p{font-size:.73rem!important;line-height:1.48!important}
.intel-strip{margin-top:34px!important;padding:18px 0!important;border-radius:0!important;border-left:0!important;border-right:0!important;background:transparent!important;box-shadow:none!important}

/* Matrix / Test Map — technical evidence of consulting depth, not a product interface */
#matrix{background:#fff!important}.v50-method-note{display:grid;grid-template-columns:repeat(3,1fr);margin:-7px 0 28px;border-top:1px solid var(--v50-line);border-bottom:1px solid var(--v50-line)}
.v50-method-note>div{padding:17px 22px;display:grid;gap:4px}.v50-method-note>div+div{border-left:1px solid var(--v50-line)}.v50-method-note b{font-size:.72rem;letter-spacing:.10em;text-transform:uppercase;color:var(--v50-navy)}.v50-method-note span{font-size:.85rem;color:var(--v50-muted);line-height:1.5}
.matrix-shell{grid-template-columns:1.12fr .88fr!important;gap:14px!important}.matrix-panel,.map-panel{padding:29px!important;border-radius:8px!important;box-shadow:none!important;border-color:var(--v50-line)!important;background:#fff!important}
.view-tab{border-radius:5px!important;padding:9px 13px!important;font-size:.83rem!important}.matrix-svg{filter:saturate(.76)!important}.map-grid{border-radius:5px!important}.exposure{padding:11px 0!important}

/* Executive Assurance — board/report character */
#assurance{background:linear-gradient(180deg,#fbfcfd,#fff)!important;border-top:1px solid var(--v50-line-soft)!important;border-bottom:1px solid var(--v50-line-soft)!important}
.assurance{grid-template-columns:285px 1fr!important;gap:14px!important}.assurance-intro,.assurance-main{border-radius:7px!important;box-shadow:none!important;border-color:var(--v50-line)!important;background:#fff!important}
.assurance-intro{padding:32px!important}.assurance-intro h3{font-size:1.86rem!important}.assurance-main{padding:25px!important}.metrics{gap:0!important;padding:0!important;border-top:1px solid var(--v50-line-soft)!important;border-bottom:1px solid var(--v50-line-soft)!important}.metric{padding:16px 12px!important;border-right:1px solid var(--v50-line-soft)!important}.metric:last-child{border-right:0!important}.metric strong{font-size:1.43rem!important}
.assurance-lower{gap:0!important;margin-top:20px!important;border-top:1px solid var(--v50-line-soft)!important}.a-card{border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;padding:24px 22px!important}.a-card+.a-card{border-left:1px solid var(--v50-line-soft)!important}
.register-preview{border-radius:7px!important;box-shadow:none!important;padding:22px!important;background:#fff!important;border-color:var(--v50-line)!important}

/* Specialist advisory solutions — no product-card aesthetic */
.solutions{border-color:var(--v50-line)!important}.solution{min-height:248px!important;padding:31px 27px!important;background:#fff!important}.solution:hover{background:#fff!important}.solution+.solution{border-color:var(--v50-line)!important}.solution-icon{width:46px!important;height:46px!important;margin-bottom:22px!important}.solution h3{font-size:1.06rem!important;line-height:1.28!important}.solution p{font-size:.91rem!important;line-height:1.68!important}.solution .more{font-size:.86rem!important}

/* Perspectives and engagement — editorial close */
.insights-cta{grid-template-columns:1.17fr .83fr!important;gap:14px!important}.insights{border-radius:7px!important;padding:30px!important;box-shadow:none!important;border-color:var(--v50-line)!important}.insights-grid{margin-top:18px!important}.insight h4{font-size:1rem!important;line-height:1.42!important;max-width:30ch!important}.cta-band{border-radius:7px!important;padding:42px!important;box-shadow:none!important;background:linear-gradient(135deg,#102c45,#0a2237)!important}.cta-band::after{opacity:.35!important}.cta-band h3{font-size:2.18rem!important}
.footer{margin-top:0!important}

/* Responsive art direction */
@media(max-width:1180px){
  .container{width:min(calc(100% - 44px),var(--v50-max))}.hero-shell{min-height:600px!important}.hero-copy{width:59%!important;padding:70px 42px 62px!important}.hero-copy::before{left:42px!important;top:47px!important}.hero-copy .h1{font-size:clamp(3.1rem,5.3vw,4.5rem)!important}.hero-img .modern-hero{object-position:center 44%!important}.cap{padding-right:24px!important}.cap+.cap{padding-left:24px!important}.assurance{grid-template-columns:1fr!important}.assurance-lower{grid-template-columns:1fr 1fr!important}.assurance-lower .a-card:last-child{grid-column:1/-1;border-left:0!important;border-top:1px solid var(--v50-line-soft)!important}
}
@media(max-width:860px){
  .container{width:min(calc(100% - 28px),var(--v50-max))}.section{padding:60px 0!important}.section-head{align-items:flex-start!important;flex-direction:column!important;margin-bottom:25px!important}
  .hero{padding-top:15px!important}.hero-shell{display:flex!important;flex-direction:column!important;min-height:auto!important;border-radius:8px!important}.hero-img{position:relative!important;inset:auto!important;order:1!important;min-height:330px!important;width:100%!important}.hero-img .modern-hero{object-position:center 42%!important}.hero-img::before{background:linear-gradient(180deg,rgba(255,255,255,0) 58%,rgba(255,255,255,.85) 100%)!important}.hero-copy{order:2!important;width:100%!important;padding:37px 25px 42px!important;background:#fff!important}.hero-copy::before{left:25px!important;top:20px!important}.hero-copy .h1{font-size:clamp(2.55rem,11vw,3.45rem)!important;max-width:12ch!important}.hero-copy .lead{font-size:1rem!important}.hero-actions{display:grid!important}.hero-actions .btn{width:100%!important}
  .trustline{grid-template-columns:1fr 1fr!important;border-radius:7px!important}.trust+.trust{border-left:0!important}.trust:nth-child(even){border-left:1px solid var(--v50-line)!important}.trust:nth-child(n+3){border-top:1px solid var(--v50-line)!important}
  .v50-positioning-line{justify-content:flex-start;overflow-x:auto;white-space:nowrap;margin-bottom:25px}.capabilities{grid-template-columns:1fr!important;border-bottom:0!important}.cap,.cap+.cap{padding:28px 0!important;border-left:0!important;border-top:1px solid var(--v50-line)!important;min-height:0!important}.capabilities .cap:first-child{border-top:0!important}
  .architecture{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;gap:12px!important;padding-bottom:16px!important}.architecture::before{display:none!important}.arch-step{flex:0 0 min(80vw,330px)!important;scroll-snap-align:center!important;border:1px solid var(--v50-line)!important;border-radius:7px!important;padding:18px!important;display:grid!important;grid-template-columns:56px 1fr!important;text-align:left!important;gap:14px!important}.arch-step::before{grid-column:1/-1!important;margin:0 0 -2px!important}.arch-icon{margin:0!important}
  .v50-method-note{grid-template-columns:1fr!important}.v50-method-note>div+div{border-left:0!important;border-top:1px solid var(--v50-line)!important}.matrix-shell{grid-template-columns:1fr!important}.assurance{grid-template-columns:1fr!important}.metrics{grid-template-columns:1fr 1fr!important}.metric{border-right:0!important;border-bottom:1px solid var(--v50-line-soft)!important}.assurance-lower{grid-template-columns:1fr!important}.a-card+.a-card{border-left:0!important;border-top:1px solid var(--v50-line-soft)!important}.assurance-lower .a-card:last-child{grid-column:auto!important}.solutions{grid-template-columns:1fr!important;border:1px solid var(--v50-line)!important;border-radius:7px!important;overflow:hidden!important}.solution+.solution{border-left:0!important;border-top:1px solid var(--v50-line)!important}.insights-cta{grid-template-columns:1fr!important}.insights,.cta-band{border-radius:7px!important}
}
@media(max-width:560px){
  .hero-img{min-height:285px!important}.hero-copy .h1{font-size:2.48rem!important}.trustline{grid-template-columns:1fr!important}.trust:nth-child(even){border-left:0!important}.trust+.trust{border-top:1px solid var(--v50-line)!important}.metrics{grid-template-columns:1fr 1fr!important}.cta-band{padding:34px 28px!important}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}



/* =========================================================
   v51 CORRECTED ALTERNATIVE A + EXECUTIVE PROGRESS PIES
   Exact user-selected Alternative A hero; advisory-first use.
   ========================================================= */

/* Correct hero: retain exact Alternative A visual as a contained advisory illustration,
   not a technology-product backdrop. */
.hero-shell{
  display:grid!important;
  grid-template-columns:minmax(0,1.03fr) minmax(470px,.97fr)!important;
  min-height:620px!important;
  overflow:hidden!important;
  background:linear-gradient(90deg,#fff 0%,#fff 53%,#f8fafb 100%)!important;
}
.hero-img{
  position:relative!important;
  inset:auto!important;
  order:2!important;
  min-height:620px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:46px 28px 44px 8px!important;
  background:
    radial-gradient(circle at 53% 48%,rgba(197,31,53,.035),transparent 31%),
    linear-gradient(180deg,#fbfcfd 0%,#f5f8fa 100%)!important;
  z-index:1!important;
}
.hero-img .modern-hero{
  position:relative!important;
  inset:auto!important;
  width:min(100%,690px)!important;
  height:auto!important;
  max-height:520px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:saturate(.96) contrast(1.015) brightness(1.025)!important;
  mix-blend-mode:multiply;
  z-index:2!important;
}
.hero-img::before{
  content:''!important;
  position:absolute!important;
  inset:9% 8% 10% 2%!important;
  background:
    radial-gradient(circle at 50% 51%,transparent 0 31%,rgba(14,41,66,.045) 31.3% 31.55%,transparent 31.9%),
    radial-gradient(circle at 50% 51%,transparent 0 39%,rgba(14,41,66,.028) 39.25% 39.5%,transparent 39.9%)!important;
  z-index:0!important;
  pointer-events:none!important;
}
.hero-img::after{
  content:''!important;
  position:absolute!important;
  left:0!important;top:0!important;bottom:0!important;width:76px!important;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 28%,rgba(255,255,255,0) 100%)!important;
  z-index:3!important;
  pointer-events:none!important;
}
.hero-copy{
  position:relative!important;
  order:1!important;
  width:auto!important;
  align-self:center!important;
  padding:80px 42px 72px 56px!important;
  background:#fff!important;
  z-index:4!important;
}
.hero-copy .h1{font-size:clamp(2.15rem,2.9vw,2.7rem)!important;line-height:1.12!important;letter-spacing:-.04em!important;max-width:none!important;margin-top:20px!important}
.hero-copy .lead{font-size:0.92rem!important;line-height:1.76!important;max-width:39rem!important;margin-top:24px!important}
.hero-copy .eyebrow{color:var(--red)!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.09em!important;font-size:.82rem!important;margin-top:0!important}
.coord,.hero-photo-note{display:none!important}

/* Section headlines match the hero heading style */
.section-head .h2{font-size:clamp(2.15rem,2.9vw,2.7rem)!important;line-height:1.14!important;letter-spacing:-.04em!important;max-width:30ch!important;color:var(--v50-navy)!important;font-weight:700!important;margin:0}

/* Left-align methodology step headings to match the rest of the site */
.arch-step{text-align:left!important}

/* Risk Matrix heading — pinned left, stacked under each other like the other sections */
#matrix .section-head{justify-content:flex-start!important;align-items:flex-start!important;text-align:left!important}
#matrix .section-head .copy,
#matrix .section-head .eyebrow,
#matrix .section-head .h2,
#matrix .section-head .sub{text-align:left!important;margin-left:0!important;margin-right:0!important}

/* Eyebrow labels above section headings — styled as small red chips, matching the illustrative-preview badges */
.eyebrow{display:inline-block;padding:7px 13px;border:1px solid rgba(198,31,53,.35)!important;border-radius:999px;background:rgba(198,31,53,.08)!important;color:var(--red)!important}
.cta-band .eyebrow{padding:0;border:0!important;background:none!important}

/* Right-hand "Top exposures" panel — force headings left too */
.map-panel .eyebrow,
.map-panel h3{text-align:left!important}

/* Specialist Solutions heading — wider so it sets on two lines instead of three */
#solutions .section-head .h2{max-width:46ch!important}

/* Capabilities disclaimer note */
.capabilities-note{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--v50-line-soft);font-size:.86rem;line-height:1.65;color:var(--v50-muted);max-width:none}

/* Solutions disclaimer note */
.solutions-note{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--v50-line-soft);font-size:.86rem;line-height:1.65;color:var(--v50-muted);max-width:none}

/* Capability card buttons — red primary to match the CTA button style, pinned to the card bottom */
.cap{padding-bottom:22px}.cap .cap-spacer{flex:1}.cap .cap-more{margin-top:12px;align-self:flex-start;font-size:.82rem;padding:9px 15px;border-radius:6px;background:var(--v50-red);border-color:var(--v50-red);color:#fff;box-shadow:none}
.cap .cap-more:hover{background:#b11b2d;border-color:#b11b2d;color:#fff;transform:translateY(-1px)}

/* Progress pie charts / rings restored from the strongest earlier MI iterations,
   but calibrated as board-grade advisory reporting rather than software UI. */
.v51-progress-board{
  margin-top:20px;
  padding:20px 0 22px;
  border-top:1px solid var(--line2);
  border-bottom:1px solid var(--line2);
}
.v51-progress-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.v51-progress-head>div{display:grid;gap:4px}
.v51-progress-kicker{
  color:var(--red);
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:700;
}
.v51-progress-head strong{
  color:var(--navy);
  font-size:.96rem;
}
.v51-progress-note{
  color:#7b8896;
  font-size:.64rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:700;
}
.v51-pie-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.v51-pie-card{
  min-height:150px;
  padding:10px 22px;
  display:grid;
  grid-template-columns:104px 1fr;
  align-items:center;
  gap:18px;
}
.v51-pie-card+.v51-pie-card{border-left:1px solid var(--line2)}
.v51-donut{
  --p:75;
  --ring:var(--navy);
  width:96px;
  aspect-ratio:1;
  border-radius:50%;
  position:relative;
  background:conic-gradient(var(--ring) calc(var(--p)*1%),#e9eef2 0);
  box-shadow:inset 0 0 0 1px rgba(14,41,66,.025);
}
.v51-donut::after{
  content:'';
  position:absolute;
  inset:11px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 1px #eef2f4;
}
.v51-donut-overall{--p:78;--ring:var(--navy)}
.v51-donut-control{--p:74;--ring:var(--green)}
.v51-donut-evidence{--p:68;--ring:var(--amber)}
.v51-donut-center{
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  place-content:center;
  text-align:center;
  line-height:1.05;
}
.v51-donut-center strong{
  color:var(--navy);
  font-size:1.23rem;
  letter-spacing:-.035em;
}
.v51-donut-center span{
  color:#7c8997;
  font-size:.61rem;
  margin-top:4px;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.v51-pie-copy{display:grid;gap:5px}
.v51-pie-copy strong{color:var(--navy);font-size:.88rem;line-height:1.3}
.v51-pie-copy span{color:var(--muted);font-size:.75rem;line-height:1.45}

/* Keep the following board-report blocks visually subordinate to the pie progress indicators. */
.assurance-lower{margin-top:0!important;border-top:0!important;padding-top:0!important}

/* Tablet */
@media(max-width:1180px){
  .hero-shell{grid-template-columns:1fr 1fr!important;min-height:570px!important}
  .hero-img{min-height:570px!important;padding:38px 18px 34px 0!important}
  .hero-copy{padding:68px 28px 60px 40px!important}
  .v51-pie-card{grid-template-columns:88px 1fr;padding:10px 14px;gap:12px}
  .v51-donut{width:82px}
}
/* Mobile */
@media(max-width:860px){
  .hero-shell{display:flex!important;flex-direction:column!important;min-height:auto!important}
  .hero-copy{order:1!important;width:100%!important;padding:38px 25px 42px!important}
  .hero-img{order:2!important;min-height:340px!important;width:100%!important;padding:24px 18px 28px!important}
  .hero-img::after{display:none!important}
  .hero-img .modern-hero{width:min(100%,560px)!important;max-height:320px!important}
  .v51-pie-grid{grid-template-columns:1fr!important}
  .v51-pie-card{grid-template-columns:92px 1fr!important;padding:14px 6px!important}
  .v51-pie-card+.v51-pie-card{border-left:0!important;border-top:1px solid var(--line2)!important}
  .v51-donut{width:86px}
}


/* WordPress integration layer — preserves the accepted v51 visual specification. */
:root :where(.wp-site-blocks) > * { margin-block-start: 0; margin-block-end: 0; }
.wp-site-blocks { padding: 0; }
.wp-block-group.lrc-main { margin: 0; padding: 0; }
body.admin-bar .header { top: 32px; }
@media (max-width:782px){ body.admin-bar .header { top:46px; } }
.lrc-pattern-html { margin:0!important; padding:0!important; }
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.footer a{color:inherit}.footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* Keep front-page blocks edge-to-edge; inner section .container controls the accepted width. */
body.home .wp-site-blocks main > .wp-block-pattern,
body.home .wp-site-blocks main > .wp-block-html{margin:0}

/* Contact modal — triggered by the CTA band "Start the conversation" button */
.lrc-modal{position:fixed;inset:0;z-index:1000;display:none}
.lrc-modal.is-open{display:block}
.lrc-modal-overlay{position:absolute;inset:0;background:rgba(10,26,42,.62)}
.lrc-modal-box{position:relative;max-width:480px;width:calc(100% - 40px);margin:6vh auto;background:#fff;border-radius:14px;padding:32px 30px 28px;box-shadow:0 30px 70px rgba(10,26,42,.35);max-height:88vh;overflow-y:auto}
.lrc-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;border-radius:999px;background:rgba(16,42,67,.06);color:var(--navy);font-size:1.3rem;line-height:1;cursor:pointer}
.lrc-modal-close:hover{background:rgba(16,42,67,.12)}
.lrc-modal-box h3{margin:0 0 6px;font-size:1.4rem;color:var(--navy);letter-spacing:-.02em}
.lrc-modal-sub{margin:0 0 18px;color:var(--muted);font-size:.92rem}
.lrc-field{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}
.lrc-field label{font-size:.8rem;font-weight:700;color:var(--navy)}
.lrc-field input,.lrc-field textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fbfcfd}
.lrc-field input:focus,.lrc-field textarea:focus{outline:2px solid rgba(198,31,53,.35);outline-offset:1px;border-color:var(--red)}
.lrc-field textarea{resize:vertical}
.lrc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lrc-modal-status{min-height:1.2em;margin:2px 0 14px;font-size:.85rem;font-weight:600}
.lrc-modal-status.is-success{color:#1a7f4c}
.lrc-modal-status.is-error{color:var(--red)}
.lrc-modal-submit{width:100%;justify-content:center;cursor:pointer}
.lrc-modal-submit[disabled]{opacity:.6;cursor:default}
body.lrc-modal-open{overflow:hidden}

/* Partner logo carousel — sits above the footer, endless auto-scroll of equally-sized logos */
.logo-carousel{padding:52px 0 56px;background:var(--mist)}
.logo-carousel .section-head{display:flex}
.logo-carousel .h2{color:var(--navy)}
.logo-track-wrap{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-track{display:flex;align-items:center;width:max-content;gap:56px;animation:lrcLogoScroll 34s linear infinite}
.logo-track:hover{animation-play-state:paused}
.logo-item{flex:0 0 auto;width:150px;height:76px;display:flex;align-items:center;justify-content:center}
.logo-item img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .25s ease,opacity .25s ease}
.logo-item img:hover{filter:grayscale(0);opacity:1}
@keyframes lrcLogoScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none}}
@media(max-width:600px){.logo-item{width:118px;height:58px}.logo-track{gap:32px}}
