:root{--navy:#0b1733;--navy-2:#122246;--blue:#1767e8;--red:#d92730;--ink:#122142;--muted:#61708a;--line:#dce4ef;--paper:#f6f8fb;--white:#fff;--shell:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img{display:block;max-width:100%}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;letter-spacing:-.048em;line-height:1.16}
h2{font-size:clamp(2.4rem,4.1vw,4.1rem);font-weight:700}
h3{font-size:1.45rem}
::selection{background:#b9d5ff;color:var(--navy)}
:focus-visible{outline:3px solid #83b7ff;outline-offset:4px}
.shell{width:min(var(--shell),calc(100% - 80px));margin-inline:auto}
.skip-link{position:absolute;top:-80px;left:12px;padding:10px 16px;background:var(--navy);color:#fff;z-index:30}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid #e8edf4;backdrop-filter:blur(18px)}
.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand img{width:203px;height:auto}
.nav{display:flex;align-items:center;gap:31px;font-size:.84rem;font-weight:700;white-space:nowrap}
.nav>a:not(.button){transition:color .2s}.nav>a:not(.button):hover{color:var(--blue)}
.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;border:1px solid transparent;padding:15px 21px;border-radius:5px;font-size:.84rem;font-weight:700;line-height:1.2;transition:transform .2s,background .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(16,40,90,.15)}
.button span{font-size:1.15rem;font-weight:400;line-height:0}
.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:#213563}
.button-blue{background:var(--blue);color:#fff}.button-blue:hover{background:#0754cf}
.menu-toggle{display:none}
.hero{background:linear-gradient(110deg,#f7faff 0%,#fff 62%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:641px;align-items:center;gap:6%}
.hero-copy{padding:80px 0 87px;position:relative;z-index:1}
.eyebrow,.kicker,.panel-label,.outputs-label,.metric-title{font-size:.69rem;letter-spacing:.16em;font-weight:800;line-height:1.4}
.eyebrow{display:flex;align-items:center;gap:10px;color:#365783;text-transform:uppercase;margin-bottom:27px}.eyebrow-line{display:block;width:22px;height:2px;background:var(--red)}
h1{font-size:clamp(3.3rem,5.55vw,5.85rem);font-weight:700;color:var(--navy);margin-bottom:23px}
h1 em{font-style:normal;color:var(--blue)}
.hero-lede{max-width:580px;color:#52627d;font-size:1.06rem;line-height:1.75;margin-bottom:31px}
.hero-actions{display:flex;align-items:center;gap:31px;flex-wrap:wrap}
.text-link{display:inline-flex;align-items:center;gap:15px;color:var(--blue);font-weight:700;font-size:.85rem;transition:gap .2s}.text-link:hover{gap:22px}.text-link span{font-size:1.15rem;font-weight:400}
.hero-tags{display:flex;gap:11px;flex-wrap:wrap;margin-top:57px}.hero-tags span{font-size:.66rem;letter-spacing:.065em;font-weight:700;color:#536785;border-left:2px solid #9eb9dc;padding-left:10px;margin-right:8px}
.hero-panel{height:493px;position:relative;border-radius:12px;background:radial-gradient(circle at 75% 25%,#234c95 0%,transparent 43%),linear-gradient(145deg,#0e2048,#08152f 74%);box-shadow:0 29px 55px rgba(11,32,73,.18);overflow:hidden}
.hero-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 97%,rgba(255,255,255,.035) 97%),linear-gradient(0deg,transparent 97%,rgba(255,255,255,.035) 97%);background-size:37px 37px;mask-image:linear-gradient(to right,transparent,#000)}
.orbit{position:absolute;border:1px solid rgba(94,150,235,.14);border-radius:50%;width:520px;height:520px;right:-176px;top:-40px}.orbit-two{width:380px;height:380px;right:-105px;top:31px}.orbit-three{width:240px;height:240px;right:-35px;top:102px}
.flow-card{position:absolute;width:72%;max-width:343px;padding:19px 22px;background:#fff;border:1px solid #e4ebf7;box-shadow:0 13px 30px rgba(2,12,35,.22);border-radius:5px;z-index:2}.flow-card span{display:block;color:var(--blue);letter-spacing:.14em;font-weight:800;font-size:.64rem;margin-bottom:7px}.flow-card strong{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--navy);font-size:1rem;letter-spacing:-.028em;line-height:1.3}.card-one{left:12%;top:14%}.card-two{left:21%;top:42%}.card-three{left:30%;top:70%}.card-two span{color:#d4313a}.card-three span{color:#1767e8}
.flow-line{height:44px;width:1px;background:#6c9ce9;position:absolute;z-index:1}.flow-line-one{left:24%;top:35%}.flow-line-two{left:34%;top:63%}
.section{padding:116px 0}.kicker{color:var(--blue);margin-bottom:25px}.section-intro h2{max-width:440px;margin-bottom:22px}.section-intro>p:last-child{max-width:430px;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:9%}.service-list{border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:27px 0 30px;border-bottom:1px solid var(--line)}.service-item.featured{padding-top:31px}.service-num{color:var(--blue);font-size:.71rem;font-weight:800;letter-spacing:.11em;padding-top:5px}.service-item h3{margin-bottom:8px;color:var(--navy)}.service-item p{color:var(--muted);margin-bottom:12px;font-size:.91rem;max-width:620px}.service-item a{color:var(--blue);font-size:.78rem;font-weight:700}.service-item a span{margin-left:8px}.service-item a:hover{text-decoration:underline}
.method{background:var(--paper)}.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-heading-row h2{margin-bottom:0}.section-heading-row>p{color:var(--muted);font-size:.92rem;line-height:1.5;text-align:right;margin-bottom:6px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.step{min-height:257px;background:#fff;border:1px solid #e5eaf2;padding:27px 29px 31px;border-top:3px solid var(--blue)}.step:nth-child(2){border-top-color:#a0b8dd}.step:nth-child(3){border-top-color:var(--red)}.step-index{display:block;font-size:.72rem;color:var(--blue);font-weight:800;letter-spacing:.1em;margin-bottom:45px}.step:nth-child(3) .step-index{color:var(--red)}.step h3{margin-bottom:9px}.step p{font-size:.9rem;color:var(--muted);margin:0}
.outputs{display:flex;align-items:center;gap:17px;flex-wrap:wrap;padding:24px 0 0}.outputs-label{color:#70809a;margin-right:12px}.outputs strong{font-size:.8rem;color:var(--navy)}.outputs i{display:block;width:4px;height:4px;background:var(--red);border-radius:50%}.outputs p{margin:0 0 0 auto;font-size:.79rem;color:var(--muted)}
.choices-grid{display:grid;grid-template-columns:1fr .9fr;gap:12%;align-items:center}.choices h2{max-width:555px;margin-bottom:22px}.body-copy{max-width:540px;color:var(--muted);margin-bottom:27px}.choice-panel{background:#f4f7fb;border:1px solid #e4ebf3;padding:34px 39px}.panel-label{color:#647a9a;margin-bottom:16px}.choice-row{display:grid;grid-template-columns:35px 1fr;column-gap:7px;border-bottom:1px solid #dae3ed;padding:17px 0}.choice-row span{font-size:.7rem;color:var(--blue);font-weight:800;padding-top:3px}.choice-row strong{font-size:1rem}.choice-row p{grid-column:2;color:#74849d;font-size:.81rem;margin:0}.choice-footer{padding-top:22px;color:#526481;font-size:.77rem}
.delivery{background:#f7f9fc}.delivery-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.delivery-card{background:#fff;border:1px solid #e2e8f0;padding:34px 38px 37px;min-height:277px}.card-icon{display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:#e7effd;color:var(--blue);font-size:1.45rem;margin-bottom:25px;border-radius:4px}.delivery-card h3{margin-bottom:9px}.delivery-card p{font-size:.9rem;color:var(--muted);max-width:460px;margin:0}.discipline-line{display:flex;flex-wrap:wrap;gap:21px;margin:35px 0 0;color:#70819a;font-size:.7rem;font-weight:800;letter-spacing:.12em}.discipline-line span{color:#263d61;letter-spacing:0;font-size:.77rem}
.evidence{background:var(--navy);color:#fff}.evidence-grid{display:grid;grid-template-columns:.9fr 1fr;gap:12%;align-items:center}.kicker-light{color:#79aaff}.evidence h2{max-width:520px}.evidence-grid>div:first-child>p:not(.kicker){max-width:530px;color:#aebcd2;margin-bottom:28px}.dark-tags{display:flex;gap:8px;flex-wrap:wrap}.dark-tags span{padding:7px 12px;border:1px solid #3b5072;font-size:.68rem;color:#cbd8ec;border-radius:30px}.evidence-card{background:#fff;color:var(--navy);padding:31px 36px;box-shadow:0 20px 40px rgba(0,0,0,.15)}.evidence-card h3{font-size:1.2rem;margin-bottom:27px}.metric-title{display:block;color:#70819a;margin-bottom:14px}.metric{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:16px;margin:12px 0;font-size:.79rem;color:#425370}.metric i{height:7px;background:#e8edf5;border-radius:10px;overflow:hidden}.metric b{display:block;height:100%;background:var(--blue);border-radius:10px}.metric:nth-of-type(2) b{background:#d92730}.evidence-bottom{border-top:1px solid var(--line);margin-top:29px;padding-top:20px}.evidence-bottom span{display:block;color:#6880a2;font-size:.66rem;letter-spacing:.13em;font-weight:800}.evidence-bottom strong{display:block;font-size:.82rem;margin-top:4px}
.contact-grid{display:grid;grid-template-columns:.85fr 1fr;gap:13%;align-items:start}.contact h2{max-width:550px}.contact-grid>div>p:not(.kicker){color:var(--muted);max-width:480px}.contact-note{margin-top:60px;color:#445d7d;font-size:.8rem;font-weight:700}.note-dot{display:inline-block;width:8px;height:8px;background:var(--blue);border-radius:50%;margin-right:9px}.meeting-form{background:#f6f8fb;border:1px solid #e3eaf4;padding:35px 39px 35px}.meeting-form h3{font-size:1.36rem;margin-bottom:4px}.meeting-form>p:first-of-type{font-size:.84rem;color:var(--muted);margin-bottom:23px}.meeting-form label{display:block;color:#1d2e4c;font-size:.77rem;font-weight:800;margin-bottom:17px}.meeting-form label span:not(.optional){color:var(--red)}.meeting-form input,.meeting-form textarea{display:block;width:100%;border:1px solid #d7e0ec;background:#fff;border-radius:3px;margin-top:7px;padding:10px 12px;color:var(--ink);font-weight:500;font-size:.85rem;outline:0}.meeting-form input:focus,.meeting-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #d7e8ff}.meeting-form textarea{resize:vertical;min-height:87px}.optional{font-weight:500;color:#75849a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-submit{margin-top:4px}.form-note{font-size:.69rem;color:#697a94;margin:15px 0 0}.form-status{font-size:.78rem;color:#8d3440;min-height:0;margin:10px 0 0}.form-status:empty{display:none}
.footer{background:#071127;color:#b6c5de}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:120px}.footer img{width:180px;height:auto}.footer-inner>div{display:flex;gap:24px;align-items:center;font-size:.73rem}.footer small{font-size:.7rem;color:#8496b3}
@media(max-width:1100px){.shell{width:min(var(--shell),calc(100% - 52px))}.nav{gap:18px;font-size:.77rem}.brand img{width:176px}.hero-grid{gap:3%}.hero-panel{height:440px}.hero-tags{margin-top:35px}.outputs p{margin-left:0;width:100%}}
@media(max-width:800px){html{scroll-padding-top:72px}.shell{width:calc(100% - 40px)}.header-inner{height:72px}.brand img{width:176px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #dce4ef;background:#fff;border-radius:4px}.menu-toggle span{width:18px;height:2px;background:var(--navy);border-radius:2px}.nav{position:absolute;left:0;right:0;top:72px;background:#fff;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 20px;box-shadow:0 18px 25px rgba(10,30,70,.12);font-size:.9rem}.nav.is-open{display:flex}.nav>a:not(.button){padding:13px 4px;border-bottom:1px solid #edf1f5}.nav-cta{margin-top:16px}.hero-grid{grid-template-columns:1fr;gap:0;padding-bottom:44px}.hero-copy{padding:64px 0 43px}.hero-panel{max-width:600px;width:100%;height:390px}.service-grid,.choices-grid,.evidence-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.section{padding:80px 0}.section-intro h2{max-width:650px}.service-list{margin-top:0}.choice-panel{max-width:640px}.outputs{gap:12px}.outputs-label{width:100%}.contact-note{margin-top:30px}.meeting-form{max-width:650px}}
@media(max-width:560px){.shell{width:calc(100% - 36px)}.section{padding:66px 0}.hero-copy{padding:55px 0 33px}.eyebrow{font-size:.62rem}.hero h1{font-size:clamp(2.8rem,11vw,4rem);line-height:1.1}.hero h1 br{display:none}.hero-lede{font-size:.96rem;line-height:1.65}.hero-actions{gap:19px}.hero-tags{margin-top:34px;row-gap:10px}.hero-tags span{font-size:.6rem}.hero-panel{height:319px}.flow-card{padding:13px 15px;width:73%}.flow-card strong{font-size:.78rem}.flow-card span{font-size:.55rem}.card-one{left:7%;top:12%}.card-two{left:16%;top:42%}.card-three{left:25%;top:72%}.flow-line-one{left:19%;top:34%}.flow-line-two{left:28%;top:64%}h2{font-size:clamp(2.15rem,9vw,3rem)}.service-item{grid-template-columns:37px 1fr;padding:23px 0}.service-item h3{font-size:1.26rem}.section-heading-row{display:block;margin-bottom:28px}.section-heading-row>p{text-align:left;margin:15px 0 0}.steps,.delivery-grid{grid-template-columns:1fr}.step{min-height:auto;padding:23px 25px 26px}.step-index{margin-bottom:27px}.outputs strong{font-size:.75rem}.choice-panel{padding:27px 24px}.delivery-card{min-height:auto;padding:27px 28px}.discipline-line{gap:11px 16px}.discipline-line:first-letter{color:var(--muted)}.evidence-card{padding:26px 22px}.metric{grid-template-columns:108px 1fr;gap:8px;font-size:.71rem}.meeting-form{padding:26px 22px}.form-row{grid-template-columns:1fr;gap:0}.footer-inner{padding:25px 0;align-items:flex-start;flex-direction:column;gap:19px}.footer-inner>div{flex-wrap:wrap;gap:6px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Security-led second direction */
.hero-panel-label,.hero-panel-foot{position:absolute;z-index:1;color:#afc7ec;letter-spacing:.17em;font-size:.62rem;font-weight:800;margin:0}
.hero-panel-label{top:23px;left:25px}.hero-panel-label span{color:#ff626a;margin-left:12px;font-size:.7rem}
.hero-panel-foot{bottom:20px;left:25px;color:#8faed9;letter-spacing:.05em;font-size:.7rem;font-weight:600}
.technical{background:#edf3fb;position:relative;overflow:hidden}
.technical:before{content:"";position:absolute;right:-90px;top:-150px;width:520px;height:520px;border:1px solid #dce8f7;border-radius:50%;pointer-events:none}
.technical .shell{position:relative}
.technical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.technical-card{background:#fff;border:1px solid #dce6f3;min-height:310px;padding:28px 26px 30px;transition:transform .2s,box-shadow .2s}
.technical-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(22,60,110,.09)}
.technical-card:before{content:"";display:block;width:26px;height:3px;background:var(--blue);margin-bottom:26px}
.technical-card:nth-child(2):before{background:var(--red)}
.technical-card>span{display:block;color:#6b7f9c;font-size:.64rem;letter-spacing:.13em;font-weight:800;margin-bottom:19px}
.technical-card h3{font-size:1.27rem;margin-bottom:12px}
.technical-card p{color:var(--muted);font-size:.86rem;line-height:1.58;margin:0}
.brief-row{border-top:1px solid #e0e7f0;padding:16px 0;display:grid;grid-template-columns:98px 1fr;gap:13px;align-items:start}
.brief-row span{font-size:.63rem;letter-spacing:.12em;color:var(--blue);font-weight:800;margin-top:4px}
.brief-row strong{font-size:.84rem;line-height:1.45;font-weight:700;color:#243858}
.brief-row:nth-of-type(3) span{color:var(--red)}
.brief-row + .evidence-bottom{margin-top:4px}
@media(max-width:1100px){.technical-grid{grid-template-columns:repeat(2,1fr)}.technical-card{min-height:235px}}
@media(max-width:800px){.technical-grid{gap:12px}}
@media(max-width:560px){.technical-grid{grid-template-columns:1fr}.technical-card{min-height:auto;padding:24px 26px}.technical-card:before{margin-bottom:18px}.technical-card>span{margin-bottom:11px}.hero-panel-label{top:15px;left:17px}.hero-panel-foot{display:none}.brief-row{grid-template-columns:81px 1fr;gap:8px}.brief-row strong{font-size:.75rem}}

/* Direct contact and transparent preview notices */
.contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:27px;max-width:560px}
.contact-method{border:1px solid #dce5f0;background:#f7f9fc;padding:17px 15px;min-height:138px}
.contact-method span{display:block;color:var(--blue);letter-spacing:.13em;font-size:.64rem;font-weight:800;margin-bottom:10px}
.contact-method strong{display:block;color:var(--navy);font-size:.85rem;line-height:1.35}
.contact-method small{display:block;color:#6d7d96;font-size:.7rem;margin-top:5px}
.form-note a{text-decoration:underline;text-underline-offset:2px}
.footer-meta{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.footer-links{display:flex;gap:15px}.footer-links a{color:#e0e8f6;text-decoration:underline;text-decoration-color:#536889;text-underline-offset:4px}.footer-links a:hover{color:#fff}
.policy-main{background:linear-gradient(130deg,#f6f9fe,#fff 45%);padding:79px 0 110px;min-height:70vh}
.policy-shell{max-width:1040px}.policy-main h1{font-size:clamp(3rem,5.5vw,5.3rem);max-width:800px;margin-bottom:20px}
.policy-lede{font-size:1.1rem;color:#52627d;max-width:800px;line-height:1.7;margin-bottom:37px}
.policy-alert{background:#eaf2ff;border-left:3px solid var(--blue);padding:22px 27px;margin:0 0 43px}
.policy-alert strong{font-size:.87rem;color:var(--navy)}.policy-alert p{margin:6px 0 0;color:#4c6180;font-size:.9rem;line-height:1.65}
.policy-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:9%;row-gap:0;border-top:1px solid var(--line)}
.policy-section{padding:28px 0 34px;border-bottom:1px solid var(--line)}.policy-index{display:block;color:var(--blue);font-size:.7rem;letter-spacing:.13em;font-weight:800;margin-bottom:18px}
.policy-section h2,.cookie-line h2{font-size:1.4rem;letter-spacing:-.035em;margin-bottom:9px}.policy-section p{font-size:.88rem;color:#62718a;margin:0;line-height:1.65}.policy-section a,.policy-next p a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.policy-next{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:35px}.policy-next p{font-size:.84rem;color:#61708a;margin:0}
.cookie-list{border-top:1px solid var(--line);margin:49px 0 38px}.cookie-line{display:grid;grid-template-columns:200px 1fr 105px;gap:33px;align-items:center;border-bottom:1px solid var(--line);padding:28px 0}.cookie-line span{display:block;color:var(--blue);font-size:.63rem;font-weight:800;letter-spacing:.13em;margin-bottom:8px}.cookie-line h2{margin:0}.cookie-line p{font-size:.86rem;color:#61708a;line-height:1.6;margin:0}.cookie-line>strong{font-size:.73rem;color:#385e95;text-align:right}
@media(max-width:800px){.policy-main{padding:65px 0 83px}.cookie-line{grid-template-columns:160px 1fr;gap:17px}.cookie-line>strong{grid-column:2;text-align:left}.footer-meta{gap:10px 18px}}
@media(max-width:560px){.contact-methods,.policy-grid{grid-template-columns:1fr}.contact-method{min-height:auto}.policy-main{padding:51px 0 70px}.policy-main h1{font-size:clamp(2.6rem,10vw,3.6rem)}.policy-lede{font-size:.97rem}.policy-alert{padding:20px}.policy-section{padding:24px 0}.policy-next{align-items:flex-start;flex-direction:column}.cookie-line{grid-template-columns:1fr;gap:10px;padding:25px 0}.cookie-line>strong{grid-column:1}.footer-inner>.footer-meta{display:flex;align-items:flex-start;flex-direction:column;gap:9px}}

/* European frameworks */
.eu-nav-link{display:inline-flex;align-items:center;gap:8px;color:#173a78;vertical-align:middle}.eu-nav-link img{width:21px;height:14px;display:block;flex:none;object-fit:contain}.nav .eu-nav-link[aria-current=page]{color:var(--blue)}
.framework-hero{background:linear-gradient(114deg,#f1f6ff,#fff 67%);padding:92px 0 102px;overflow:hidden}
.framework-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:8%;align-items:center}
.framework-hero h1{font-size:clamp(3.4rem,5vw,5.2rem);margin-bottom:25px}.framework-hero .hero-lede{max-width:690px}
.framework-status{background:#0b1733;color:#fff;box-shadow:0 28px 46px rgba(11,23,51,.2);padding:30px 36px 26px;border-radius:5px;position:relative;overflow:hidden}
.framework-status:after{content:"";position:absolute;width:360px;height:360px;right:-200px;top:-190px;border:1px solid #294371;border-radius:50%;pointer-events:none}
.framework-status>p{font-size:.67rem;color:#82b0ff;letter-spacing:.15em;font-weight:800;margin-bottom:25px}
.framework-status>div{display:grid;grid-template-columns:30px 1fr;gap:2px 9px;padding:19px 0;border-top:1px solid #30415f}.framework-status>div span{grid-row:1/3;font-size:.69rem;color:#82b0ff;font-weight:800;padding-top:3px}.framework-status>div strong{font-size:1.13rem;line-height:1.3}.framework-status>div b{grid-column:2;font-size:.61rem;color:#a4d0ff;letter-spacing:.09em}.framework-status>div b.proposed{color:#ffb2b9}.framework-status>small{display:block;color:#acbdd7;font-size:.76rem;line-height:1.55;margin-top:20px}
.framework-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.framework-card{background:#fff;border:1px solid #dfe7f1;border-top:3px solid var(--blue);padding:28px 28px 27px;display:flex;flex-direction:column;min-height:445px}.framework-card:nth-child(2){border-top-color:var(--red)}.framework-card:nth-child(3){border-top-color:#5b80ba}.framework-card-top{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:31px}.framework-card-top>span{font-size:.6rem;letter-spacing:.12em;font-weight:800;color:#7183a0}.status-pill{font-size:.58rem;letter-spacing:.08em;background:#e6f0ff;color:#1755a9;padding:5px 7px;white-space:nowrap}.status-pill.proposal{background:#ffebee;color:#bb3342}.status-pill.standard{background:#e7ebf2;color:#53677f}.framework-card h3{font-size:1.45rem;margin-bottom:2px}.framework-ref{font-size:.74rem;color:#55739d;font-weight:700;margin-bottom:22px}.framework-card>p:not(.framework-ref){font-size:.86rem;color:#61708a;line-height:1.58;margin-bottom:23px}.framework-focus{border-top:1px solid #e4eaf2;padding:18px 0;font-size:.61rem;letter-spacing:.11em;color:#60738f;font-weight:800;margin-top:auto}.framework-focus strong{display:block;color:#223b60;letter-spacing:0;font-size:.77rem;margin-top:5px;line-height:1.4}.framework-card>a{border-top:1px solid #e4eaf2;padding-top:16px;color:var(--blue);font-size:.77rem;font-weight:700}.framework-card>a:hover{text-decoration:underline}
.assurance{background:#eef3fa}.assurance .section-heading-row{margin-bottom:22px}.assurance-intro{max-width:850px;color:#5d6f88;font-size:.94rem;margin-bottom:35px}.assurance-intro strong{color:#213657}.assurance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.assurance-card{background:#fff;border:1px solid #dce5f1;padding:24px 24px 27px;min-height:310px}.assurance-seal{display:flex;justify-content:center;align-items:center;width:67px;height:67px;border:2px solid #9ebce8;border-radius:50%;background:#eaf2ff;color:#1855a4;font-size:1.23rem;font-weight:800;letter-spacing:-.02em;margin-bottom:27px;box-shadow:inset 0 0 0 5px #fff}.assurance-card:nth-child(4) .assurance-seal{border-color:#cf7384;background:#fff0f1;color:#b82f3d}.assurance-level{display:block;font-size:.61rem;letter-spacing:.12em;font-weight:800;color:#577297;margin-bottom:9px}.assurance-card h3{font-size:1.2rem;margin-bottom:9px}.assurance-card p{font-size:.82rem;line-height:1.55;color:#687990;margin:0}.assurance-source{font-size:.76rem;color:#6b7d95;margin:20px 0 0}.assurance-source a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.framework-delivery{background:#fff}.framework-delivery-grid{display:grid;grid-template-columns:1fr .9fr;gap:12%;align-items:start}.framework-delivery h2{max-width:570px}.framework-delivery-grid>div>p:not(.kicker){max-width:520px;color:#60718a;margin-bottom:28px}.framework-delivery ol{margin:0;padding:0;list-style:none;border-top:1px solid #dce5ee}.framework-delivery li{display:grid;grid-template-columns:40px 1fr;gap:1px 12px;border-bottom:1px solid #dce5ee;padding:21px 0}.framework-delivery li span{grid-row:1/3;color:var(--blue);font-size:.72rem;letter-spacing:.1em;font-weight:800}.framework-delivery li strong{font-size:1rem;color:#152b50}.framework-delivery li p{grid-column:2;color:#687990;font-size:.85rem;margin:2px 0 0}.framework-notes{background:#f6f8fb;padding:27px 0}.framework-notes p{max-width:1110px;color:#70809a;font-size:.74rem;margin:0;line-height:1.6}.framework-notes strong{color:#263c5d}.framework-notes a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:1100px){.nav{gap:14px}.framework-hero-grid{gap:4%}.framework-cards{gap:10px}.framework-card{padding:24px 21px}.assurance-grid{grid-template-columns:repeat(2,1fr)}.assurance-card{min-height:260px}}
@media(max-width:800px){.framework-hero{padding:69px 0 76px}.framework-hero-grid,.framework-delivery-grid{grid-template-columns:1fr;gap:37px}.framework-status{max-width:650px}.framework-cards{grid-template-columns:1fr}.framework-card{min-height:auto}.framework-card-top{margin-bottom:20px}}
@media(max-width:560px){.framework-hero{padding:54px 0 66px}.framework-hero h1{font-size:clamp(2.65rem,10vw,3.6rem)}.framework-status{padding:25px 23px}.assurance-grid{grid-template-columns:1fr}.assurance-card{min-height:auto}.assurance-seal{margin-bottom:17px}.framework-delivery li{padding:18px 0}}

/* One consistent brand navy for every alternating blue band. */
.hero,.technical,.choices,.evidence,.framework-hero,.assurance,.framework-notes{background:#fff}
.services,.method,.delivery,.contact,.framework-section,.framework-delivery,.policy-hero{background:var(--navy);color:#fff}
.footer{background:var(--navy)}
.services,.method,.delivery,.contact,.framework-section,.framework-delivery{border:0}
.services .kicker,.method .kicker,.delivery .kicker,.contact .kicker,.framework-section .kicker,.framework-delivery .kicker,.policy-hero .kicker{color:#9bc5ff}
.services h2,.method h2,.delivery h2,.contact h2,.framework-section h2,.framework-delivery h2,.policy-hero h1{color:#fff}
.services .section-intro>p:last-child,.services .service-item p,.method .section-heading-row>p,.delivery .section-heading-row>p,.framework-section .section-heading-row>p{color:#cbd9ed}
.services .service-list,.services .service-item{border-color:#344667}
.services .service-item h3{color:#fff}
.services .service-num,.services .service-item a{color:#9bc5ff}
.method .step,.delivery .delivery-card,.framework-section .framework-card{color:var(--navy)}
.method .outputs-label,.delivery .discipline-line{color:#a9bddb}
.method .outputs strong,.delivery .discipline-line span{color:#fff}
.method .outputs p{color:#cbd9ed}
.technical:before{border-color:#e5edf8}
.evidence{color:var(--navy)}
.evidence .kicker-light{color:var(--blue)}
.evidence-grid>div:first-child>p:not(.kicker){color:#536781}
.dark-tags span{color:#385478;border-color:#c7d8ed;background:#f3f8ff}
.evidence-card{border:1px solid #dce6f2;box-shadow:0 18px 46px rgba(16,47,93,.08)}
.contact-grid>div>p:not(.kicker){color:#cbd9ed}
.contact-note{color:#cbd9ed}
.contact .note-dot{background:#9bc5ff}
.contact-method,.meeting-form{background:#fff;color:var(--navy)}
.framework-section .framework-card h3{color:var(--navy)}
.framework-delivery-grid>div>p:not(.kicker),.framework-delivery li p{color:#cbd9ed}
.framework-delivery li strong{color:#fff}
.framework-delivery li span{color:#9bc5ff}
.framework-delivery ol,.framework-delivery li{border-color:#344667}
.policy-main{background:#fff;padding:0;min-height:70vh}
.policy-hero{padding:78px 0 74px}
.policy-hero .policy-lede{color:#cbd9ed;margin-bottom:0}
.policy-content{padding:48px 0 110px}
@media(max-width:800px){.policy-main{padding:0}.policy-hero{padding:65px 0}.policy-content{padding:45px 0 83px}}
@media(max-width:560px){.policy-main{padding:0}.policy-hero{padding:51px 0}.policy-content{padding:34px 0 70px}}

/* Integrated AI content, isolated from the common site shell. */
.vision-detail a{color:inherit;text-decoration:none}
.vision-detail button{font:inherit;cursor:pointer}
.vision-detail img{display:block;max-width:100%;height:auto}
.vision-detail h1,.vision-detail h2,.vision-detail h3,.vision-detail p{margin-top:0}
.vision-detail h1,.vision-detail h2,.vision-detail h3{letter-spacing:-.048em;line-height:1.12}
.vision-detail h1{font-size:clamp(3.5rem,5.6vw,5.4rem);font-weight:700;margin-bottom:25px;color:var(--navy)}
.vision-detail h1 em{font-style:normal;color:var(--blue)}
.vision-detail h2{font-size:clamp(2.2rem,3.9vw,3.7rem);font-weight:700;margin-bottom:22px}
.vision-detail h3{font-size:1.24rem;line-height:1.25}
.vision-detail .shell{width:min(var(--shell),calc(100% - 80px));margin-inline:auto}
.vision-detail .button{display:inline-flex;justify-content:center;align-items:center;gap:24px;border:1px solid transparent;padding:16px 22px;border-radius:5px;font-size:.83rem;font-weight:700;line-height:1.2;transition:transform .2s,background .2s,box-shadow .2s}
.vision-detail .button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #10285a26}
.vision-detail .button span{font-size:1.2rem;line-height:1}
.vision-detail .button-dark{background:var(--navy);color:#fff}
.vision-detail .button-dark:hover{background:#213563}
.vision-detail .button-blue{background:var(--blue);color:#fff}
.vision-detail .button-blue:hover{background:#0754cf}
.vision-detail .button-white{background:#fff;color:var(--navy)}
.vision-detail .button-white:hover{background:#e9f1ff}
.vision-detail .text-link{display:inline-flex;gap:16px;align-items:center;font-size:.83rem;font-weight:700;color:var(--blue)}
.vision-detail .text-link:hover{text-decoration:underline;text-underline-offset:5px}
.vision-detail .hero{background:#fff;overflow:hidden}
.vision-detail .hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:6%;align-items:center;padding-block:79px 82px;min-height:650px}
.vision-detail .eyebrow,.vision-detail .kicker,.vision-detail .micro{font-size:.66rem;letter-spacing:.15em;font-weight:800;line-height:1.5;text-transform:uppercase}
.vision-detail .eyebrow{display:flex;align-items:center;gap:10px;color:#365783;margin-bottom:26px}
.vision-detail .eyebrow:before{content:'';width:22px;height:2px;background:var(--red);flex:none}
.vision-detail .hero-lede{max-width:560px;color:#52627d;font-size:1.03rem;line-height:1.75;margin-bottom:30px}
.vision-detail .hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}
.vision-detail .hero-tags{display:flex;gap:10px 24px;flex-wrap:wrap;margin-top:38px}
.vision-detail .hero-tags span{font-size:.64rem;font-weight:700;color:#536785;border-left:2px solid #9eb9dc;padding-left:10px}
.vision-detail .visual-panel{background:var(--navy);border-radius:10px;min-height:460px;padding:29px 31px 24px;color:#fff;position:relative;overflow:hidden;box-shadow:0 25px 55px #0b204925}
.vision-detail .visual-panel:before{content:'';position:absolute;inset:0;background-image:linear-gradient(90deg,transparent 97%,#ffffff04 97%),linear-gradient(0deg,transparent 97%,#ffffff04 97%);background-size:33px 33px;pointer-events:none}
.vision-detail .visual-panel>*{position:relative}
.vision-detail .visual-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #334464;padding-bottom:17px;margin-bottom:21px}
.vision-detail .visual-top p{font-size:.59rem;letter-spacing:.14em;font-weight:800;color:#b3c8e8;margin:0}
.vision-detail .visual-top .mark{width:8px;height:8px;background:var(--red);border-radius:50%}
.vision-detail .orbit-visual{height:260px;display:grid;place-items:center;position:relative}
.vision-detail .orbit-visual:before,.vision-detail .orbit-visual:after{content:'';position:absolute;border-radius:50%;border:1px solid #38517c;width:244px;height:244px}
.vision-detail .orbit-visual:after{width:168px;height:168px;border-style:dashed;border-color:#48638e}
.vision-detail .orbit-core{display:flex;align-items:center;justify-content:center;flex-direction:column;width:112px;height:112px;border-radius:50%;border:1px solid #5578ab;background:#162b50;box-shadow:0 0 0 12px #ffffff03;z-index:2}
.vision-detail .orbit-core strong{font-size:1.55rem;letter-spacing:-.04em;line-height:1.1}
.vision-detail .orbit-core span{font-size:.55rem;font-weight:700;letter-spacing:.16em;color:#b9d3ff;margin-top:7px}
.vision-detail .orbit-word{position:absolute;font-size:.63rem;font-weight:700;color:#d7e4f7;padding:5px 11px;background:var(--navy);border:1px solid #36527c;border-radius:20px;z-index:3;white-space:nowrap}
.vision-detail .orbit-word:nth-child(2){top:4px;left:50%;transform:translateX(-50%)}
.vision-detail .orbit-word:nth-child(3){top:72px;right:0}
.vision-detail .orbit-word:nth-child(4){bottom:60px;right:0}
.vision-detail .orbit-word:nth-child(5){bottom:2px;left:50%;transform:translateX(-50%)}
.vision-detail .orbit-word:nth-child(6){bottom:60px;left:0}
.vision-detail .orbit-word:nth-child(7){top:72px;left:0}
.vision-detail .visual-bottom{border-top:1px solid #334464;padding-top:17px;margin-top:17px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.vision-detail .visual-bottom span{display:block;font-size:.55rem;color:#a2bce4;letter-spacing:.1em;font-weight:700;margin-bottom:5px}
.vision-detail .visual-bottom strong{display:block;font-size:.77rem;font-weight:600;line-height:1.4}
.vision-detail .section{padding:92px 0}
.vision-detail .band{background:var(--navy);color:#fff}
.vision-detail .kicker{color:var(--blue);margin-bottom:22px}
.vision-detail .band .kicker{color:#9bc5ff}
.vision-detail .section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:end;margin-bottom:40px}
.vision-detail .section-heading h2{margin-bottom:0}
.vision-detail .section-heading>p{font-size:.92rem;color:var(--muted);max-width:450px;margin:0 0 5px}
.vision-detail .band .section-heading>p{color:#c4d3e9}
.vision-detail .domain-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 27px}
.vision-detail .domain-item{border-top:1px solid #3b4c6c;padding:23px 0 26px}
.vision-detail .domain-item>span{font-size:.65rem;font-weight:800;letter-spacing:.11em;color:#9bc5ff;display:block;margin-bottom:19px}
.vision-detail .domain-item h3{font-size:1.13rem;margin-bottom:11px;min-height:2.5em;letter-spacing:-.025em}
.vision-detail .domain-item p{font-size:.82rem;color:#bdcde5;line-height:1.65;margin:0}
.vision-detail .coverage-note{display:flex;flex-wrap:wrap;gap:10px 25px;margin:17px 0 0;padding-top:23px;border-top:1px solid #3b4c6c;color:#afc3e1;font-size:.73rem}
.vision-detail .coverage-note strong{color:#fff;font-weight:600}
.vision-detail .outcomes{display:grid;grid-template-columns:.88fr 1.12fr;gap:11%;align-items:start}
.vision-detail .outcomes-intro p:not(.kicker){font-size:.94rem;color:var(--muted);max-width:435px;margin-bottom:26px}
.vision-detail .outcome-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.vision-detail .outcome-list li{display:grid;grid-template-columns:40px 1fr;gap:12px;border-bottom:1px solid var(--line);padding:22px 0}
.vision-detail .outcome-list .number{color:var(--blue);font-size:.67rem;font-weight:800;padding-top:3px}
.vision-detail .outcome-list h3{font-size:1.12rem;margin-bottom:6px}
.vision-detail .outcome-list p{font-size:.85rem;color:var(--muted);margin:0}
.vision-detail .context-strip{margin-top:42px;padding-top:23px;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px 26px;flex-wrap:wrap}
.vision-detail .context-strip>span{color:#72819a;font-size:.59rem;letter-spacing:.12em;font-weight:800}
.vision-detail .context-strip strong{font-weight:600;color:#344b6c;font-size:.73rem}
.vision-detail .context-strip small{color:var(--muted);font-size:.72rem;margin-left:auto}
.vision-detail .next-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12%;align-items:center}
.vision-detail .next-grid p:not(.kicker){color:#c4d3e9;font-size:.94rem;max-width:550px;margin-bottom:0}
.vision-detail .next-grid h2{font-size:clamp(2.15rem,3.5vw,3.4rem)}
.vision-detail .next-actions{display:flex;align-items:flex-start;flex-direction:column;gap:20px}
.vision-detail .next-actions .text-link{color:#b4d2ff}
.vision-detail .section.next{padding-block:73px}
.vision-detail .plan-visual .visual-top{margin-bottom:27px}
.vision-detail .plan-route{margin:0;list-style:none;padding:0}
.vision-detail .plan-route li{display:grid;grid-template-columns:35px 1fr;gap:15px;position:relative;padding-bottom:29px}
.vision-detail .plan-route li:before{content:'';position:absolute;left:16px;top:33px;bottom:0;width:1px;background:#4a6996}
.vision-detail .plan-route li:last-child{padding-bottom:0}
.vision-detail .plan-route li:last-child:before{display:none}
.vision-detail .route-number{border:1px solid #5678aa;background:#172e54;width:33px;height:33px;display:grid;place-items:center;border-radius:50%;color:#b9d3ff;font-size:.67rem;font-weight:800}
.vision-detail .plan-route li:nth-child(2) .route-number{background:var(--blue);border-color:var(--blue);color:#fff}
.vision-detail .plan-route li:nth-child(3) .route-number{border-color:#d45c65;color:#ffb4b8}
.vision-detail .route-copy{background:#fff;color:var(--navy);padding:16px 19px;border-radius:4px}
.vision-detail .route-copy span{font-size:.54rem;font-weight:800;color:var(--blue);letter-spacing:.11em;display:block;margin-bottom:6px}
.vision-detail .route-copy strong{font-size:1.02rem;font-weight:650;letter-spacing:-.025em;line-height:1.35;display:block}
.vision-detail .plan-visual .visual-bottom{display:block;font-size:.73rem;color:#b8cbe7;margin-top:23px}
.vision-detail .priorities{display:grid;grid-template-columns:repeat(3,1fr);gap:29px}
.vision-detail .priority{padding-top:25px;border-top:2px solid #5e85bc}
.vision-detail .priority:first-child{border-top-color:var(--red)}
.vision-detail .priority:last-child{border-top-color:var(--blue)}
.vision-detail .priority .priority-label{font-size:.63rem;letter-spacing:.13em;color:#a9c8f5;font-weight:800;display:block;margin-bottom:26px}
.vision-detail .priority h3{font-size:1.5rem;margin-bottom:14px}
.vision-detail .priority>p{font-size:.88rem;line-height:1.7;color:#c2d2e9;margin-bottom:23px;max-width:340px}
.vision-detail .priority ul{padding:0;list-style:none;margin:0}
.vision-detail .priority li{font-size:.8rem;padding-block:11px;border-top:1px solid #34496b;color:#e2ebf9}
.vision-detail .priority-foot{margin:36px 0 0;color:#b5c8e4;font-size:.76rem}
.vision-detail .accountability{border:1px solid var(--line);background:#f8fafd;padding:28px 30px}
.vision-detail .accountability .micro{color:#586f91;font-size:.59rem;margin-bottom:23px}
.vision-detail .account-row{display:grid;grid-template-columns:104px 1fr;gap:18px;padding-block:19px;border-top:1px solid var(--line)}
.vision-detail .account-row>span{font-size:.63rem;letter-spacing:.08em;font-weight:800;color:var(--blue);padding-top:3px}
.vision-detail .account-row strong{display:block;font-size:1rem;line-height:1.3;margin-bottom:6px}
.vision-detail .account-row p{font-size:.81rem;color:var(--muted);margin:0}
.vision-detail .account-footer{padding-top:18px;border-top:1px solid var(--line);font-size:.74rem;color:#526987;display:flex;align-items:center;gap:9px}
.vision-detail .account-footer:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--red);flex:none}
@media(min-width:1500px){.vision-detail .hero-grid{min-height:700px}}
@media(max-width:1100px){.vision-detail .shell{width:calc(100% - 52px)}
.vision-detail .hero-grid{gap:4%}
.vision-detail .visual-panel{padding:24px}
.vision-detail .orbit-word{font-size:.59rem;padding-inline:8px}
.vision-detail .domain-grid{gap:0 20px}
.vision-detail .domain-item h3{font-size:1.05rem}
.vision-detail .section-heading{gap:6%}}
@media(max-width:800px){.vision-detail .shell{width:calc(100% - 40px)}
.vision-detail .hero-grid{grid-template-columns:1fr;padding-block:54px 58px;gap:38px;min-height:0}
.vision-detail .hero h1{font-size:clamp(3.3rem,8vw,4.8rem)}
.vision-detail .hero-lede{max-width:640px}
.vision-detail .hero-tags{margin-top:28px}
.vision-detail .visual-panel{width:100%;max-width:600px;min-height:0}
.vision-detail .orbit-visual{height:270px}
.vision-detail .orbit-word:nth-child(3),.vision-detail .orbit-word:nth-child(4){right:11%}
.vision-detail .orbit-word:nth-child(6),.vision-detail .orbit-word:nth-child(7){left:11%}
.vision-detail .section{padding-block:70px}
.vision-detail .section-heading,.vision-detail .outcomes,.vision-detail .next-grid{grid-template-columns:1fr;gap:29px}
.vision-detail .section-heading>p{max-width:620px}
.vision-detail .domain-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}
.vision-detail .domain-item h3{min-height:0}
.vision-detail .outcomes-intro p:not(.kicker){max-width:620px}
.vision-detail .next-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:23px}
.vision-detail .context-strip small{margin-left:0}
.vision-detail .priorities{gap:22px}
.vision-detail .priority h3{font-size:1.3rem}
.vision-detail .priority>p{font-size:.82rem}
.vision-detail .priority li{font-size:.75rem}
.vision-detail .priority .priority-label{margin-bottom:19px}
.vision-detail .accountability{max-width:680px}}
@media(max-width:560px){.vision-detail .shell{width:calc(100% - 36px)}
.vision-detail .hero-grid{padding-top:43px;gap:32px}
.vision-detail .hero h1{font-size:clamp(2.7rem,10.9vw,3.6rem);line-height:1.08}
.vision-detail .eyebrow{font-size:.58rem;letter-spacing:.12em;margin-bottom:23px}
.vision-detail .hero-lede{font-size:.95rem;line-height:1.7}
.vision-detail .hero-actions{gap:19px}
.vision-detail .hero-tags{gap:10px 15px}
.vision-detail .hero-tags span{font-size:.6rem}
.vision-detail .visual-panel{padding:23px 20px}
.vision-detail .orbit-word:nth-child(3),.vision-detail .orbit-word:nth-child(4){right:0}
.vision-detail .orbit-word:nth-child(6),.vision-detail .orbit-word:nth-child(7){left:0}
.vision-detail .visual-bottom{gap:8px}
.vision-detail .visual-bottom strong{font-size:.7rem}
.vision-detail .visual-bottom span{font-size:.5rem}
.vision-detail .section{padding-block:58px}
.vision-detail h2{font-size:clamp(2.1rem,8.8vw,2.9rem)}
.vision-detail .section-heading{gap:20px;margin-bottom:29px}
.vision-detail .section-heading>p{font-size:.86rem}
.vision-detail .domain-grid{gap:0 20px}
.vision-detail .domain-item{padding-block:21px}
.vision-detail .domain-item h3{font-size:1rem}
.vision-detail .domain-item p{font-size:.77rem}
.vision-detail .domain-item>span{margin-bottom:13px}
.vision-detail .coverage-note{font-size:.7rem;gap:8px 17px}
.vision-detail .outcome-list li{grid-template-columns:27px 1fr;gap:9px}
.vision-detail .outcome-list h3{font-size:1.08rem}
.vision-detail .context-strip{margin-top:29px}
.vision-detail .context-strip>span{width:100%}
.vision-detail .context-strip small{width:100%}
.vision-detail .section.next{padding-block:57px}
.vision-detail .next-actions{align-items:flex-start;flex-direction:column}
.vision-detail .plan-route li{grid-template-columns:31px 1fr;gap:10px;padding-bottom:24px}
.vision-detail .route-number{width:31px;height:31px}
.vision-detail .plan-route li:before{left:15px;top:31px}
.vision-detail .route-copy{padding:15px}
.vision-detail .route-copy strong{font-size:.95rem}
.vision-detail .priorities{grid-template-columns:1fr;gap:31px}
.vision-detail .priority{padding-top:19px}
.vision-detail .priority h3{font-size:1.42rem}
.vision-detail .priority>p{max-width:none;font-size:.86rem;margin-bottom:17px}
.vision-detail .priority li{font-size:.82rem}
.vision-detail .priority .priority-label{margin-bottom:18px}
.vision-detail .priority-foot{margin-top:27px}
.vision-detail .accountability{padding:23px 20px}
.vision-detail .account-row{grid-template-columns:79px 1fr;gap:13px}
.vision-detail .account-row>span{font-size:.58rem}
.vision-detail .account-row strong{font-size:.94rem}}
@media(max-width:350px){.vision-detail .domain-grid{grid-template-columns:1fr}
.vision-detail .orbit-word{font-size:.54rem}
.vision-detail .orbit-visual:before{width:218px;height:218px}
.vision-detail .orbit-word:nth-child(3),.vision-detail .orbit-word:nth-child(7){top:81px}
.vision-detail .visual-bottom{grid-template-columns:1fr}
.vision-detail .visual-bottom span{display:inline;margin-right:8px}
.vision-detail .visual-bottom strong{display:inline}}
@media(prefers-reduced-motion:reduce){}
.risk-page .map-hero{background:#fff;padding:72px 0 68px}
.risk-page .map-hero-inner{max-width:1200px}
.risk-page .map-hero .eyebrow{margin-bottom:22px}
.risk-page .map-hero h1{font-size:clamp(3.4rem,5.55vw,5.65rem);line-height:1.06;margin-bottom:22px}
.risk-page .map-hero .hero-lede{max-width:715px;font-size:1rem;line-height:1.74;margin-bottom:28px}
.risk-page .map-summary{background:var(--navy);color:#fff}
.risk-page .summary-inner{min-height:109px;display:flex;align-items:center;gap:44px}
.risk-page .summary-inner>div{display:flex;align-items:center;gap:12px;white-space:nowrap}
.risk-page .summary-inner strong{font-size:2rem;line-height:1;font-weight:700;letter-spacing:-.04em}
.risk-page .summary-inner span{font-size:.8rem;color:#b7cae5}
.risk-page .summary-inner>p{border-left:1px solid #3b506f;padding-left:29px;margin:0 0 0 auto;color:#aabdde;font-size:.75rem;line-height:1.65}
.risk-page .summary-inner>p b{color:#e6edf9;font-weight:500}
.risk-page .map-section{background:#fff;padding:73px 0 77px;scroll-margin-top:85px}
.risk-page .map-shell{width:min(1440px,calc(100% - 80px))}
.risk-page .map-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:29px}
.risk-page .map-heading .kicker{color:var(--blue);margin-bottom:13px}
.risk-page .map-heading h2{font-size:clamp(2.2rem,3.4vw,3.4rem);margin:0}
.risk-page .map-heading>p{font-size:.84rem;color:var(--muted);line-height:1.65;max-width:340px;margin:0 0 2px}
.risk-page .map-meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:16px 0 20px;font-size:.66rem;color:#71839f}
.risk-page .map-meta span:first-child{color:#335d95;font-weight:750;letter-spacing:.1em}
.risk-page .overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.risk-page .domain-card{--domain:#315f96;border:1px solid #dce4ef;border-radius:4px;background:#fff;display:flex;flex-direction:column;overflow:hidden}
.risk-page .domain-top{display:flex;align-items:stretch;min-height:76px;background:var(--domain);color:#fff}
.risk-page .domain-number{min-width:43px;display:flex;justify-content:center;align-items:center;background:#0000001a;font-size:1.25rem;font-weight:750}
.risk-page .domain-top h3{font-family:inherit;letter-spacing:-.02em;line-height:1.25;font-size:.89rem;font-weight:700;padding:17px 14px;margin:0;align-self:center;color:#fff}
.risk-page .domain-categories{list-style:none;padding:17px 15px 14px;margin:0;flex:1}
.risk-page .domain-categories li{display:flex;justify-content:space-between;gap:9px;padding:8px 0;border-bottom:1px solid #e7ecf3;font-size:.69rem;line-height:1.4;font-weight:650;color:var(--domain)}
.risk-page .domain-categories li:first-child{padding-top:0}
.risk-page .domain-categories li>span:first-child{overflow-wrap:anywhere}
.risk-page .category-count{color:#8191aa;font-size:.6rem;font-weight:500;flex:none}
.risk-page .domain-card-foot{border-top:1px solid #e8edf4;padding:13px 15px;display:flex;justify-content:space-between;gap:10px;color:#78879d;font-size:.64rem}
.risk-page .domain-card-foot span:last-child{font-size:.56rem;letter-spacing:.04em;color:#96a4b7}
.risk-page .map-caption{font-size:.76rem;color:#697b94;line-height:1.65;margin:25px 0 0;max-width:760px}
.risk-page .approach-section{background:var(--navy);color:#fff;padding:72px 0 77px;scroll-margin-top:84px}
.risk-page .approach-section .kicker{color:#9bc5ff;margin-bottom:16px}
.risk-page .approach-heading{display:flex;justify-content:space-between;align-items:end;gap:45px}
.risk-page .approach-heading h2{color:#fff;font-size:clamp(2.3rem,3.8vw,3.8rem);margin:0}
.risk-page .approach-heading>p{font-size:.9rem;color:#c8d8ed;line-height:1.7;max-width:430px;margin:0 0 7px}
.risk-page .approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:42px}
.risk-page .approach-grid article{border-top:1px solid #385071;padding-top:22px}
.risk-page .approach-grid span{display:block;color:#9bc5ff;font-size:.62rem;font-weight:750;letter-spacing:.12em;margin-bottom:19px}
.risk-page .approach-grid h3{color:#fff;font-size:1.2rem;margin:0 0 11px}
.risk-page .approach-grid p{color:#bbcce4;font-size:.83rem;line-height:1.66;margin:0}
@media(max-width:1100px){.risk-page .overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.risk-page .summary-inner{gap:25px}
.risk-page .summary-inner>p{padding-left:23px;font-size:.68rem}
.risk-page .summary-inner strong{font-size:1.75rem}
.risk-page .summary-inner span{font-size:.73rem}
.risk-page .approach-grid{gap:25px}
.risk-page .map-shell{width:calc(100% - 60px)}}
@media(max-width:800px){.risk-page .shell,.risk-page .map-shell{width:calc(100% - 40px)}
.risk-page .map-hero{padding:60px 0 56px}
.risk-page .map-hero h1{font-size:clamp(3.2rem,8vw,4.5rem)}
.risk-page .summary-inner{flex-wrap:wrap;justify-content:space-between;padding:23px 0;gap:18px;min-height:0}
.risk-page .summary-inner>p{flex-basis:100%;margin:0;border:0;padding:0}
.risk-page .summary-inner>p br{display:none}
.risk-page .summary-inner>p b{margin-left:5px}
.risk-page .map-section{padding:55px 0}
.risk-page .map-heading{flex-direction:column;align-items:start;gap:16px}
.risk-page .map-heading>p{max-width:620px}
.risk-page .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.risk-page .approach-section{padding:57px 0}
.risk-page .approach-heading{flex-direction:column;align-items:start;gap:15px}
.risk-page .approach-heading>p{max-width:610px}
.risk-page .approach-grid{gap:17px}
.risk-page .approach-grid h3{font-size:1.05rem}
.risk-page .approach-grid p{font-size:.76rem}}
@media(max-width:560px){.risk-page .shell,.risk-page .map-shell{width:calc(100% - 36px)}
.risk-page .map-hero{padding:48px 0 50px}
.risk-page .map-hero .eyebrow{font-size:.55rem;letter-spacing:.13em}
.risk-page .map-hero h1{font-size:clamp(2.8rem,12vw,3.8rem)}
.risk-page .map-hero .hero-lede{font-size:.9rem}
.risk-page .summary-inner{gap:20px}
.risk-page .summary-inner>div{gap:6px}
.risk-page .summary-inner strong{font-size:1.5rem}
.risk-page .summary-inner span{font-size:.64rem}
.risk-page .summary-inner>p{font-size:.67rem}
.risk-page .summary-inner>p b{display:block;margin:2px 0 0}
.risk-page .map-heading h2{font-size:2.25rem}
.risk-page .map-heading>p{font-size:.78rem}
.risk-page .overview-grid{grid-template-columns:1fr;gap:15px}
.risk-page .domain-top{min-height:66px}
.risk-page .domain-number{min-width:46px;font-size:1.35rem}
.risk-page .domain-top h3{font-size:1rem;padding:14px 17px}
.risk-page .domain-categories{padding:16px 18px}
.risk-page .domain-categories li{font-size:.78rem;padding:9px 0}
.risk-page .category-count{font-size:.68rem}
.risk-page .domain-card-foot{padding:13px 18px;font-size:.7rem}
.risk-page .approach-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}
.risk-page .approach-grid article{padding-top:17px}
.risk-page .approach-grid span{margin-bottom:12px}
.risk-page .approach-grid h3{font-size:1.18rem}
.risk-page .approach-grid p{font-size:.82rem}
.risk-page .approach-heading h2{font-size:2.45rem}}
@media(prefers-reduced-motion:reduce){}
.risk-page .map-hero{padding:32px 0 22px}
.risk-page .map-hero .eyebrow{margin-bottom:11px}
.risk-page .map-hero h1{font-size:clamp(2.15rem,3.5vw,3.2rem);line-height:1.12;margin:0 0 10px}
.risk-page .map-hero .hero-lede{font-size:.84rem;max-width:900px;margin:0;line-height:1.55}
.risk-page .map-section{padding:12px 0 70px}
.risk-page .map-meta{padding:15px 0 18px}
@media(max-width:560px){.risk-page .map-hero{padding:26px 0 18px}
.risk-page .map-hero h1{font-size:2.35rem}
.risk-page .map-hero .hero-lede{font-size:.8rem}
.risk-page .map-section{padding:9px 0 50px}}

/* Luxora v2: one site identity and one shared navigation shell. */
[hidden]{display:none!important}
.site-header .nav{gap:28px;white-space:nowrap}
.site-header .brand{flex:none}
.site-header .nav>a:not(.button){padding-block:12px}
.nav-vision{position:relative}
.vision-toggle{display:inline-flex;align-items:center;gap:9px;padding:12px 0;border:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit}
.vision-toggle svg{transition:transform .18s}
.vision-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.vision-toggle:hover,.vision-toggle.is-current,.nav a[aria-current=page]{color:var(--blue)}
.vision-menu{position:absolute;left:-24px;top:calc(100% + 15px);width:350px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);box-shadow:0 18px 42px #0b173324;border-radius:0 0 5px 5px;white-space:normal;overflow:hidden}
.vision-menu a{display:block;padding:16px 23px;border-bottom:1px solid #e9eef5}
.vision-menu a:last-child{border-bottom:0}
.vision-menu a:hover,.vision-menu a:focus-visible{background:#f4f7fc}
.vision-menu strong{display:block;color:var(--navy);font-size:.88rem;line-height:1.4}
.vision-menu small{display:block;color:var(--muted);font-size:.74rem;line-height:1.5;margin-top:3px;font-weight:500}
.vision-menu-overview{background:var(--navy)}
.vision-menu .vision-menu-overview:hover,.vision-menu .vision-menu-overview:focus-visible{background:var(--navy)}
.vision-menu-overview>span{display:block;font-size:.56rem;letter-spacing:.14em;color:#a9c9fa;margin-bottom:6px}
.vision-menu .vision-menu-overview strong{color:#fff}
.vision-menu-overview strong span{float:right}
.vision-menu a[aria-current=page]:not(.vision-menu-overview){border-left:3px solid var(--blue);padding-left:20px}
.eu-nav-link{display:inline-flex;align-items:center;gap:8px}
.eu-nav-link img{height:14px;width:21px;flex:none}
.footer{border-top:1px solid #2e405e}
.footer-inner{gap:24px}
.footer .footer-meta{gap:10px 21px;justify-content:flex-end}
.footer-links{gap:16px;flex-wrap:wrap}
.footer a[aria-current=page]{text-decoration-color:#fff}
.hero-panel{background:var(--navy)}
.vision-home .section-heading-row>p{max-width:430px}
.vision-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vision-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dfe6ef;border-top:3px solid var(--blue);padding:28px 26px 25px;color:var(--navy);transition:transform .2s,box-shadow .2s}
.vision-card:last-child{border-top-color:var(--red)}
.vision-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #020d2320}
.vision-card-index{font-size:.63rem;letter-spacing:.13em;font-weight:800;color:#45668d;display:block;margin-bottom:30px}
.vision-card h3{font-size:1.5rem;line-height:1.2;margin:0 0 15px;min-height:2.4em;color:var(--navy)}
.vision-card p{font-size:.88rem;line-height:1.65;color:var(--muted);margin:0 0 24px}
.vision-card-detail{font-size:.7rem;color:#566f90;margin-top:auto;margin-bottom:21px;padding-top:17px;border-top:1px solid var(--line)}
.vision-card-link{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:.8rem;font-weight:750;color:var(--blue)}
.vision-card-link>span{font-size:1.2rem}
.vision-section-end{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:27px}
.vision-section-end>p{color:#c2d2e9;font-size:.82rem;margin:0;max-width:610px}
.vision-home .text-link{color:#afcefa;flex:none}
.vision-hero{background:#fff;padding:79px 0 82px}
.vision-hero-grid{display:grid;grid-template-columns:1.15fr .75fr;align-items:center;gap:10%}
.vision-hero h1{font-size:clamp(3.1rem,4.8vw,4.7rem);line-height:1.08}
.vision-hero .hero-lede{max-width:620px}
.vision-statement{background:var(--navy);padding:30px 32px;color:#fff;border-radius:5px}
.vision-statement>.panel-label{font-size:.61rem;color:#a9c9fa;margin-bottom:23px}
.vision-statement>div{border-top:1px solid #344866;padding:20px 0}
.vision-statement>div>span{display:block;color:#a9c9fa;font-size:.6rem;letter-spacing:.12em;font-weight:750;margin-bottom:9px}
.vision-statement strong{font-size:1.13rem;line-height:1.4;letter-spacing:-.02em}
.vision-statement-note{padding-top:19px;margin:0;border-top:1px solid #344866;font-size:.75rem;line-height:1.65;color:#bfd1eb}
.vision-band{background:var(--navy);color:#fff}
.vision-band .kicker{color:#a9c9fa}
.vision-band h2{color:#fff}
.vision-band .section-heading-row>p{color:#c2d2e9}
.vision-context-grid{display:grid;grid-template-columns:.9fr 1fr;gap:11%;align-items:start}
.vision-context-grid>div>p:not(.kicker){font-size:.96rem;color:var(--muted);max-width:520px}
.vision-context h2{margin-bottom:24px}
.vision-context-list article{border-top:1px solid var(--line);padding:25px 0 27px}
.vision-context-list h3{font-size:1.24rem;margin-bottom:12px}
.vision-context-list p{font-size:.88rem;color:var(--muted);margin-bottom:16px}
.vision-context-list article:last-child{padding-bottom:0}
.vision-next{padding:62px 0}
.vision-next>.shell{display:flex;align-items:center;justify-content:space-between;gap:40px}
.vision-next h2{font-size:clamp(2rem,3.5vw,3.2rem);margin-bottom:15px}
.vision-next .kicker{margin-bottom:18px}
.vision-next p:not(.kicker){color:#c2d2e9;font-size:.9rem;margin:0}
.vision-next .button{flex:none}
.button-white{background:#fff;color:var(--navy)}
.button-white:hover{background:#edf3fc}
.vision-subnav{background:#fff;border-bottom:1px solid var(--line)}
.vision-subnav>.shell{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:58px;padding-block:4px}
.vision-subnav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-size:.75rem;color:#5b708d;font-weight:650}
.vision-subnav .vision-subnav-home{color:var(--navy);font-size:.76rem;font-weight:800;letter-spacing:.025em}
.vision-subnav>.shell>div{display:flex;gap:30px}
.vision-subnav a:hover,.vision-subnav a[aria-current=page]{color:var(--blue)}
.vision-subnav a[aria-current=page]{box-shadow:0 2px var(--blue)}
.vision-detail .hero-copy{padding:0}
.vision-detail .hero{background:#fff}
.vision-detail .hero-grid{padding-block:68px 74px;min-height:0}
.vision-detail .section{padding-block:88px}
.vision-detail .section.band{background:var(--navy)}
.vision-detail .visual-panel{background:var(--navy);box-shadow:none}
.vision-detail .hero .eyebrow{color:#365783}
.vision-detail .hero h1{font-size:clamp(3rem,5.3vw,5.05rem)}
.vision-detail .hero-tags span{font-size:.64rem}
.vision-detail .context-strip a{color:var(--blue);font-size:.73rem;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.vision-detail .inline-link{color:inherit;text-decoration:underline;text-underline-offset:3px}
.vision-detail .next-grid h2{color:#fff}
.risk-page .map-hero{padding:32px 0 22px}
.risk-page .map-hero .hero-lede{max-width:880px}
.risk-page .map-section{padding:25px 0 60px;background:var(--navy)}
.risk-page .map-shell{width:min(1440px,calc(100% - 80px))}
.risk-page .map-meta{border-color:#344866;color:#c2d2e9}
.risk-page .map-meta span:first-child{color:#b7d4fb}
.risk-page .domain-card{--domain:var(--navy);border:0}
.risk-page .domain-top{background:var(--navy);border:1px solid #435a7a;border-bottom:0;min-height:78px}
.risk-page .domain-number{background:transparent;border-right:1px solid #435a7a;font-size:1.18rem;color:#a9c9fa;min-width:42px}
.risk-page .domain-top h3{font-size:.91rem;padding:15px 13px}
.risk-page .domain-categories li{color:var(--navy);font-size:.73rem;line-height:1.45}
.risk-page .map-caption{color:#c2d2e9;max-width:900px}
.risk-page .risk-bridge{padding-block:76px;background:#fff}
.risk-page .risk-bridge h2{font-size:clamp(2.2rem,3.8vw,3.6rem)}
.risk-page .risk-bridge-copy{border-top:1px solid var(--line);padding-top:25px}
.risk-page .risk-bridge-copy h3{font-size:1.25rem}
.risk-page .risk-bridge-copy p{font-size:.9rem;color:var(--muted)}
.risk-page .risk-bridge-copy .text-link{display:flex;width:fit-content;margin-top:16px}
.risk-page .map-meta{flex-wrap:wrap;gap:8px 24px;font-size:.72rem;align-items:center;padding-bottom:10px}
.risk-page .map-count-key{font-size:.68rem;color:#c2d2e9;margin:0 0 20px}
.risk-page .category-count{font-size:.69rem;font-weight:800;color:#1556b4;background:#eaf3ff;border:1px solid #c9dcfb;border-radius:3px;min-width:25px;min-height:24px;padding:3px 5px;text-align:center;align-self:center;line-height:1.4}
.risk-page .domain-categories li{align-items:center;min-height:42px}
.risk-page .domain-card-foot{align-items:center;flex-wrap:wrap;gap:6px 12px}
.risk-page .domain-card-foot strong{font-size:.72rem;color:#b91f32;font-weight:750}
.risk-page .map-provenance{color:#b9cbe5;font-size:.64rem;line-height:1.7;margin:13px 0 0;max-width:1000px}
.risk-page .map-provenance a{color:#d7e7ff;text-decoration:underline;text-underline-offset:3px}
.vision-detail .assessment-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:0;padding:0;list-style:none}
.vision-detail .assessment-stages>li{border-top:2px solid var(--blue);padding-top:23px;min-width:0}
.vision-detail .assessment-stages>li:last-child{border-color:var(--red)}
.vision-detail .assessment-stage-index{font-size:.63rem;letter-spacing:.12em;font-weight:800;color:#47688f;display:block;margin-bottom:24px}
.vision-detail .assessment-stages h3{font-size:1.22rem;letter-spacing:-.03em;line-height:1.25;margin-bottom:13px}
.vision-detail .assessment-stages p{font-size:.84rem;color:var(--muted);line-height:1.7;margin:0}
.vision-detail .assessment-work-note{border-top:1px solid var(--line);margin:34px 0 0;padding-top:19px;font-size:.76rem;color:var(--muted)}
.vision-detail .assessment-outcomes .outcomes-intro p:not(.kicker){color:#c4d3e9}
.vision-detail .assessment-outcomes .outcomes-intro .text-link{color:#b4d2ff}
.vision-detail .assessment-outcomes .outcome-list{padding:5px 26px;background:#fff;border:0;color:var(--navy);border-radius:4px}
.vision-detail .assessment-outcomes .outcome-list li:first-child{border-top:0}
.vision-detail .assessment-outcomes .outcome-list li:last-child{border-bottom:0}
.vision-detail .assessment-outcomes .outcome-list h3{color:var(--navy)}
.vision-detail .assessment-outcomes .context-strip{border-color:#344866}
.vision-detail .assessment-outcomes .context-strip>span,.vision-detail .assessment-outcomes .context-strip small{color:#b8cbe7}
.vision-detail .assessment-outcomes .context-strip strong{color:#e0eafa}
.vision-detail .assessment-outcomes .context-strip a{color:#b4d2ff}
.vision-detail .assessment-next h2{color:var(--navy)}
.vision-detail .assessment-next .next-grid p:not(.kicker){color:var(--muted)}
.vision-detail .assessment-next .text-link{color:var(--blue)}
.credits-content{max-width:800px}
.credits-content h2{font-size:1.65rem}
.credits-content p{color:var(--muted);font-size:.91rem;line-height:1.8;margin-bottom:20px}
.credits-content p a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.credits-content>.text-link{margin-top:14px}
.contact-method-link{display:block;transition:border-color .2s,box-shadow .2s}
.contact-method-link:hover{border-color:#8faed8;box-shadow:0 6px 20px #020d231a}
.contact-method-link strong{overflow-wrap:anywhere}
.contact-method-link small span{display:inline;color:inherit;letter-spacing:0;font-size:inherit;font-weight:inherit;margin:0}
@media(max-width:1000px){.vision-detail .assessment-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.vision-detail .assessment-stage-index{margin-bottom:18px}}
@media(max-width:560px){.vision-detail .assessment-stages{grid-template-columns:1fr;gap:27px}.vision-detail .assessment-stages>li{padding-top:19px}.vision-detail .assessment-stages h3{font-size:1.26rem}.vision-detail .assessment-stages p{font-size:.86rem}.vision-detail .assessment-outcomes .outcome-list{padding-inline:20px}}
@media(max-width:1100px){
  .site-header .nav{gap:21px;font-size:.77rem}
  .vision-hero-grid{gap:6%}
  .vision-card{padding:25px 22px}
  .vision-card h3{font-size:1.36rem}
  .vision-section-end{align-items:flex-start}
  .footer .footer-meta{font-size:.7rem}
}
@media(max-width:1250px){
  html{scroll-padding-top:78px}
  .site-header .header-inner{height:76px}
  .menu-toggle{display:flex;width:44px;height:44px;align-items:center;justify-content:center;gap:5px;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:4px}
  .menu-toggle span{display:block;width:19px;height:2px;background:var(--navy)}
  .site-header .nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 76px);overflow-y:auto;padding:10px 26px 22px;font-size:.9rem;box-shadow:0 18px 25px #0a1e461f}
  .site-header .nav.is-open{display:flex}
  .site-header .nav>a:not(.button){padding:15px 3px;border-bottom:1px solid #e9eef5}
  .nav-vision{width:100%;border-bottom:1px solid #e9eef5}
  .vision-toggle{justify-content:space-between;width:100%;padding:15px 3px}
  .vision-menu{position:static;width:100%;box-shadow:none;border:1px solid var(--line);margin:0 0 15px}
  .vision-menu a{padding:14px 18px}
  .vision-menu a[aria-current=page]:not(.vision-menu-overview){padding-left:15px}
  .nav-cta{margin-top:17px}
}
@media(max-width:800px){
  .vision-hero{padding-block:55px}
  .vision-hero-grid,.vision-context-grid{grid-template-columns:1fr;gap:35px}
  .vision-hero h1{font-size:clamp(3rem,7vw,4rem)}
  .vision-statement{max-width:600px;width:100%}
  .vision-statement>div{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:15px;padding-block:18px}
  .vision-statement>div>span{margin:0}
  .vision-card{padding:24px 19px}
  .vision-card h3{font-size:1.2rem;min-height:2.4em}
  .vision-card p{font-size:.81rem}
  .vision-card-detail{font-size:.64rem}
  .vision-card-link{font-size:.74rem;gap:8px}
  .vision-section-end{flex-direction:column;gap:18px}
  .vision-subnav>.shell>div{gap:20px}
  .vision-subnav a{font-size:.7rem}
  .vision-detail .hero-grid{padding-block:48px 53px;gap:33px}
  .vision-detail .hero-copy{padding:0}
  .vision-detail .section{padding-block:65px}
  .vision-next>.shell{align-items:flex-start;flex-direction:column;gap:27px}
  .footer .footer-inner{align-items:flex-start;flex-direction:column;padding-block:28px}
  .footer .footer-meta{justify-content:flex-start}
}
@media(max-width:560px){
  .site-header .header-inner{height:70px}
  .site-header .nav{top:70px;max-height:calc(100dvh - 70px);padding-inline:18px}
  .brand img{width:165px}
  .vision-hero{padding-block:40px 47px}
  .vision-hero h1{font-size:clamp(2.6rem,10vw,3.35rem)}
  .vision-hero .eyebrow{font-size:.57rem;letter-spacing:.09em}
  .vision-statement{padding:24px}
  .vision-statement>div{grid-template-columns:110px 1fr;gap:10px}
  .vision-statement strong{font-size:1rem}
  .vision-cards{grid-template-columns:1fr;gap:17px}
  .vision-card{padding:25px}
  .vision-card h3{font-size:1.5rem;min-height:0}
  .vision-card-index{margin-bottom:19px}
  .vision-card p{font-size:.88rem;margin-bottom:23px}
  .vision-card-detail{font-size:.72rem}
  .vision-card-link{font-size:.81rem}
  .vision-subnav>.shell{display:block;padding-block:10px 9px}
  .vision-subnav .vision-subnav-home{min-height:26px;padding:0;font-size:.68rem}
  .vision-subnav>.shell>div{gap:14px;justify-content:space-between}
  .vision-subnav>.shell>div>a{font-size:.66rem;min-height:40px}
  .vision-detail .hero-grid{padding-block:36px 46px}
  .vision-detail .hero h1{font-size:clamp(2.65rem,10.5vw,3.4rem)}
  .vision-detail .section{padding-block:56px}
  .vision-detail .context-strip{gap:13px 20px}
  .vision-next{padding-block:48px}
  .risk-page .map-hero{padding-block:25px 22px}
  .risk-page .map-hero h1{font-size:2.35rem}
  .risk-page .map-shell{width:calc(100% - 36px)}
  .risk-page .map-section{padding-block:12px 48px}
  .risk-page .domain-top{min-height:65px}
  .risk-page .domain-top h3{font-size:1rem}
  .risk-page .domain-categories li{font-size:.82rem}
  .risk-page .risk-bridge{padding-block:53px}
  .footer .footer-meta>span{width:100%}
  .footer .footer-links{gap:12px 18px}
  .footer .footer-meta small{width:100%;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){.vision-card:hover{transform:none}}

.framework-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.framework-cards .framework-card:last-child{grid-column:1/-1;min-height:auto}
@media(max-width:700px){.framework-cards{grid-template-columns:1fr}}
.site-header .header-inner{gap:20px}
.site-header .nav{order:1;margin-left:auto;gap:22px;font-size:.8rem}
.site-header .menu-toggle{order:3}
.language-switch{order:2;display:flex;align-items:center;gap:3px;flex:none;font-size:.7rem;font-weight:800;line-height:1}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:33px;min-height:36px;padding:8px 6px;border-radius:3px;color:#fff;background:#1556b4}
.language-switch a:hover{color:#fff;background:#123f85}
.language-switch a[aria-current=true]{color:#fff;background:#b91f32}
.language-switch a[aria-current=true]:hover{background:#97192b}
.framework-card-top{flex-wrap:wrap;gap:10px}
.framework-status div{min-width:0}
.framework-status strong,.framework-status b{overflow-wrap:anywhere}
html[lang=fr] .hero-tags span{letter-spacing:.02em}
html[lang=fr] .vision-subnav a{font-size:.7rem}
html[lang=fr] .vision-detail .hero h1{font-size:clamp(2.8rem,4.8vw,4.7rem)}
html[lang=fr] .vision-detail .orbit-core strong{font-size:1.3rem}
html[lang=fr] .framework-status strong{font-size:.86rem}
html[lang=de] .vision-subnav a{font-size:.69rem}
html[lang=de] .vision-detail .hero h1{font-size:clamp(2.65rem,4.6vw,4.6rem)}
html[lang=de] .framework-status strong{font-size:.9rem}
@media(max-width:1250px){.site-header .header-inner{gap:13px}.language-switch{margin-left:auto}.site-header .nav{margin-left:0;font-size:.9rem;gap:0}}
@media(max-width:560px){.brand img{width:145px}.language-switch{gap:1px}.language-switch a{min-width:30px;min-height:36px}.vision-subnav>.shell>div{gap:14px;justify-content:flex-start;overflow-x:auto;white-space:nowrap}html[lang=fr] .vision-subnav>.shell>div{gap:8px}html[lang=fr] .vision-subnav>.shell>div>a,html[lang=de] .vision-subnav>.shell>div>a{font-size:.6rem}html[lang=fr] .vision-detail .hero h1,html[lang=de] .vision-detail .hero h1{font-size:clamp(2.5rem,9.4vw,3.3rem)}}
@media(max-width:420px){.site-header .header-inner{gap:7px}.brand img{width:112px}.language-switch a{min-width:26px;padding-inline:3px}.site-header .menu-toggle{width:40px}}

/* Contact and footer update, isolated from the rest of the site. */
#contact .contact-grid{grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);gap:28px;align-items:start}
#contact .contact-main>p.contact-intro{max-width:650px;color:#cbd9ed;font-size:1.02rem;line-height:1.65;margin:12px 0 26px}
#contact .contact-main h2{max-width:760px;margin-bottom:10px}
#contact .meeting-form{max-width:none;padding:31px 34px;border:1px solid #d4e1f2;box-shadow:0 18px 45px rgba(2,13,35,.15)}
#contact .meeting-form h3{font-size:1.5rem;margin-bottom:16px}
#contact .meeting-form fieldset{min-width:0;margin:0;padding:0;border:0}
#contact .meeting-form .request-options{display:grid;grid-template-columns:1fr 1fr;margin:0 0 19px;border:1px solid #d7e0ec;border-radius:3px;overflow:hidden}
#contact .meeting-form .request-option{position:relative;display:block;margin:0;cursor:pointer}
#contact .meeting-form .request-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
#contact .request-option-ui{display:flex;min-height:49px;align-items:center;justify-content:center;gap:11px;padding:10px 13px;border:1px solid transparent;color:#33486b;font-weight:700;font-size:.82rem;text-align:center}
#contact .request-option-ui svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
#contact .request-option input:checked+.request-option-ui{border-color:var(--blue);background:#edf5ff;color:var(--blue)}
#contact .meeting-form .request-option .request-option-ui span:not(.optional){color:inherit}
#contact .request-option input:focus-visible+.request-option-ui{outline:3px solid #93bdff;outline-offset:-3px}
#contact .meeting-form .form-row{gap:19px;align-items:start}
#contact .meeting-form label{margin-bottom:14px}
#contact .meeting-form input,#contact .meeting-form textarea,#contact .meeting-form select{box-sizing:border-box}
#contact .meeting-form select{display:block;width:100%;border:1px solid #d7e0ec;background:#fff;border-radius:3px;margin-top:7px;padding:10px 12px;color:var(--ink);font-weight:500;font-size:.85rem;outline:0;min-height:41px}
#contact .meeting-form select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #d7e8ff}
#contact .meeting-form input[type=radio]{display:inline-block;width:auto;margin:0;accent-color:var(--blue)}
#contact .meeting-form .time-options{padding:0;margin:0 0 14px}
#contact .time-options legend{font-size:.77rem;font-weight:800;color:#1d2e4c;margin:0 0 7px}
#contact .time-options legend span{color:var(--red)}
#contact .time-option-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#contact .meeting-form .time-option{display:flex;align-items:center;gap:9px;min-height:41px;margin:0;padding:9px 11px;border:1px solid #d7e0ec;border-radius:3px;color:#273b5e;font-size:.8rem;cursor:pointer}
#contact .meeting-form .time-option:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #d7e8ff}
#contact .meeting-form .time-option span:not(.optional){color:inherit}
#contact .time-options small{display:block;margin-top:7px;color:#6d7d96;font-size:.68rem;font-weight:500}
#contact .meeting-preferences[hidden]{display:none!important}
#contact .meeting-form .privacy-consent{display:flex;align-items:flex-start;gap:9px;margin:3px 0 10px;color:#536481;font-size:.77rem;font-weight:500}
#contact .meeting-form .privacy-consent>span:not(.optional){color:#536481}
#contact .meeting-form .privacy-consent input{display:block;width:17px;height:17px;flex:none;margin:1px 0 0;accent-color:var(--blue)}
#contact .privacy-consent a,#contact .form-security-note a{text-decoration:underline;text-underline-offset:2px}
#contact .form-security{min-height:0;margin:10px 0 13px;padding:9px 11px;border:1px solid #d7e0ec;background:#f8fbff;border-radius:3px}
#contact .form-security-note{margin:0;color:#61718a;font-size:.68rem;line-height:1.45}
#contact .turnstile-container{margin-top:8px;min-height:0}
#contact .turnstile-container:empty{display:none}
#contact .meeting-form .form-submit{min-width:190px;margin-top:0}
#contact .meeting-form .form-note{line-height:1.55}
#contact .contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#contact .regional-contacts{padding:28px 26px;background:#fff;color:var(--navy);border:1px solid #d4e1f2;box-shadow:0 18px 45px rgba(2,13,35,.15)}
#contact .regional-contacts h3{font-size:1.45rem;margin:0 0 16px}
#contact .regional-contact{display:grid;grid-template-columns:35px 1fr;gap:13px;align-items:start;padding:15px 14px;margin-bottom:10px;border:1px solid #dce5f0;background:#fbfdff}
#contact .regional-contact-active{border-color:#b7d2f5;background:#f4f9ff}
#contact .regional-pin svg{display:block;width:25px;height:25px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#contact .regional-contact-copy{min-width:0}
#contact .regional-label{display:block;margin:0 0 5px;color:var(--blue);font-size:.65rem;font-weight:800;letter-spacing:.13em}
#contact .regional-contact-copy strong{display:block;color:#263b60;font-size:.89rem;line-height:1.35}
#contact .regional-contact-copy>small{display:block;margin-top:6px;color:#647590;font-size:.72rem;line-height:1.4}
#contact .regional-actions{display:flex;align-items:center;gap:9px;margin-top:9px}
#contact .regional-phone,#contact .whatsapp-icon{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #c8d9ef;border-radius:3px;color:#173a78;background:#fff;text-decoration:none}
#contact .regional-phone{gap:7px;padding:7px 10px;font-size:.74rem;font-weight:700}
#contact .regional-phone svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
#contact .whatsapp-icon{width:42px;color:#fff;background:#20a65a;border-color:#20a65a;transition:background .2s,border-color .2s}
#contact .whatsapp-icon:hover{background:#168848;border-color:#168848}
#contact .whatsapp-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
#contact .regional-footnote{margin:15px 1px 0;padding-top:13px;border-top:1px solid #dce5f0;color:#667894;font-size:.74rem;line-height:1.5}
.footer .footer-copy{display:flex;align-items:center;gap:11px}
.footer .footer-linkedin{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#fff;text-decoration:none}
.footer .footer-linkedin:hover{color:#9bc5ff}
.footer .footer-linkedin svg{display:block;width:18px;height:18px}
#contact .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){#contact .contact-grid{grid-template-columns:1fr;gap:28px}
#contact .contact-main,#contact .regional-contacts{width:100%;box-sizing:border-box}
#contact .regional-contacts{max-width:none}
}
@media(max-width:560px){#contact .meeting-form{padding:25px 21px}
#contact .meeting-form .request-options{grid-template-columns:1fr}
#contact .request-option-ui{justify-content:flex-start}
#contact .meeting-form .form-row{grid-template-columns:1fr;gap:0}
#contact .meeting-form .time-option-row{grid-template-columns:1fr 1fr}
#contact .regional-contacts{padding:24px 20px}
#contact .regional-contact{padding:13px 11px}
#contact .regional-actions{flex-wrap:wrap}
.footer .footer-copy{gap:10px}
.footer .footer-meta .footer-copy small{width:auto;margin-top:0}
}


#contact{background:var(--navy);color:#fff}
#contact .contact-heading{margin-bottom:34px}
#contact .contact-heading h2{max-width:920px;color:#fff;margin-bottom:14px}
#contact .contact-heading .kicker{color:#9bc5ff}
#contact .contact-heading .contact-intro{max-width:900px;color:#cbd9ed;font-size:1.02rem;line-height:1.65;margin:0}
#contact .contact-grid{align-items:start}
#contact .meeting-form{min-width:0;background:#fff}
#contact .regional-contacts{min-width:0}
#contact input[type=date]{min-width:0;min-height:43px}
#contact .form-security{margin:10px 0 13px}
#contact .form-security-note{margin:0;font-size:.68rem;line-height:1.45}
#contact .regional-phone:focus-visible,#contact .whatsapp-icon:focus-visible,.footer .footer-linkedin:focus-visible{outline:3px solid #93bdff;outline-offset:3px}
@media(max-width:560px){#contact .contact-heading{margin-bottom:26px}#contact .contact-heading h2{font-size:clamp(2rem,9vw,2.75rem)}#contact .meeting-form .time-option{padding:9px 8px;gap:6px}}
