@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/manrope-400.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/manrope-500.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/manrope-600.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/manrope-700.ttf') format('truetype')}
:root{font-family:Manrope,sans-serif;--blue:#2456e8;--ink:#111d35;--paper:#f7f8f5;--lime:#d9f98b;--navy:#022b66;--orange:#d9f98b;--slate:#536075;--light:#f1f4f8;--brand-accent:#2456e8;--brand-text:#111d35;--type-small:14px;--type-base:16px;--type-1:24px;--type-2:30px;--type-3:36px;--type-4:48px;--type-5:60px;--type-6:72px;--content-width:1280px;--ease:cubic-bezier(.23,1,.32,1)}
html{scroll-behavior:auto}body{background:var(--paper);color:var(--ink)}h1,h2,h3,h4,p{font-family:Manrope,sans-serif}h1,h2,h3{font-weight:500;text-wrap:balance}p{text-wrap:pretty;line-height:1.75}h2{font-size:48px;line-height:1.08;letter-spacing:-2px}h3{letter-spacing:-.8px}::selection{background:var(--lime);color:var(--ink)}
.wrap,.page-hero-inner{width:min(1280px,calc(100% - 96px))}.header{height:96px;background:var(--paper);border:0;box-shadow:none;padding:0 40px;position:relative;z-index:100}.header-inner{max-width:1440px}.header .brand{width:136px}.brand img{mix-blend-mode:multiply}.header .nav-link{font-size:14px;font-weight:600}.header-actions>.button{font-size:12px;min-height:44px;padding:8px 16px}.header-actions{gap:16px}.language-toggle{font-size:12px}.button{border-radius:999px;box-shadow:none!important;min-height:48px;padding:12px 24px;font-size:14px;gap:24px;transition:transform 160ms var(--ease),background 200ms var(--ease);font-weight:600;backdrop-filter:none}.button.primary{background:var(--blue);border-color:var(--blue);color:white}.button.secondary{background:transparent;color:var(--ink);border-color:#bbc3d0}.button:active,button:active{transform:scale(.97)}.text-link{font-size:14px;font-weight:600}.text-link svg{border:1px solid currentColor;border-radius:50%;width:32px;height:32px;padding:6px}.eyebrow{font-size:12px!important;letter-spacing:.13em!important;font-weight:600;line-height:20px}.eyebrow:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.hero .eyebrow span{display:none}.mega-panel{background:var(--paper);border-radius:0 0 24px 24px;box-shadow:0 24px 36px #111d3512}.mega-link{border-radius:12px}.mega-icon{background:#e9edf5;border:0}.mega-link:hover{background:#e7edff}.reading-progress{height:2px;background:var(--blue)}
section[data-surface="light"]{--surface-bg:var(--paper);--surface-ink:var(--ink);--surface-copy:#536075;--surface-line:#d4dae3;--surface-panel:#fff}
section[data-surface="inverse"]{--surface-bg:var(--navy);--surface-ink:#fff;--surface-copy:#d7e2f7;--surface-line:#ffffff30;--surface-panel:#ffffff08}
.content-section{padding:96px 0}.section-top{align-items:flex-end;gap:64px;margin-bottom:48px}.section-top>div:first-child{max-width:720px}.section-top>div:last-child{max-width:360px}.section-top h2{margin-top:24px}.section-top p{font-size:16px}.hero.interactive-hero{margin:0 24px;min-height:660px;border-radius:24px;background:#e8edf4;display:grid;grid-template-columns:1.15fr 1fr;gap:24px;padding:64px 56px;overflow:hidden;position:relative;isolation:isolate}.hero .hero-content{width:100%;padding:0;text-align:left;z-index:2}.hero .eyebrow{justify-content:flex-start;color:#334460}.hero h1{font-size:72px;line-height:1.02;letter-spacing:-4px;max-width:680px;margin:32px 0 48px}.hero h1 span{color:var(--blue);font-weight:500}.hero .actions{justify-content:flex-start;gap:12px;max-width:500px}.hero .button{font-size:12px;padding:12px 16px;gap:12px;min-height:48px}.hero-enter{animation:none}.hero-static-heading{display:block!important}.hero-film-slot,.hero-film-control{display:none!important}.system-composition{position:relative;height:500px;perspective:1100px;isolation:isolate;max-width:560px;width:100%;justify-self:center}.system-sheet{position:absolute;width:82%;height:232px;border-radius:16px;box-shadow:0 20px 36px #18325514;padding:24px 32px;transform-style:preserve-3d;overflow:hidden}.sheet-software{left:0;top:0;background:#fff;color:var(--ink);transform:rotate(-8deg);z-index:1}.sheet-ai{right:0;top:132px;background:var(--blue);color:#fff;transform:rotate(7deg);z-index:2}.sheet-security{left:4%;top:288px;background:var(--navy);color:#fff;transform:rotate(-5deg);z-index:3}.sheet-top{display:flex;align-items:center;justify-content:space-between;font-size:12px}.sheet-top svg{width:24px;height:24px}.sheet-name{position:absolute;bottom:24px;left:32px;font-size:36px;letter-spacing:-1.5px}.sheet-arrow{position:absolute;bottom:24px;right:32px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #ffffff60;border-radius:50%;font-size:24px}.sheet-software .sheet-arrow{border-color:#111d3530}.software-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:absolute;width:42%;height:64px;right:32px;top:64px}.software-grid i{border-radius:4px;background:#e8edf4}.software-grid i:first-child{background:var(--blue);grid-column:span 2}.software-grid i:last-child{background:var(--lime)}.signal-bars{position:absolute;top:76px;left:32px;right:32px;height:64px;display:flex;gap:5px;align-items:center}.signal-bars i{height:var(--bar);width:8px;border-radius:2px;background:#b9d2ff}.signal-bars i:nth-child(3n){background:var(--lime)}.security-seal{position:absolute;right:80px;top:64px;border:1px solid #ffffff38;width:80px;height:80px;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 12px #ffffff06,0 0 0 24px #ffffff04}.security-seal svg{width:40px;height:40px;color:var(--lime)}
.experience-strip[data-surface]{--surface-bg:var(--paper);--surface-copy:#536075;--surface-ink:var(--ink);padding:48px 0;border:0}.experience-strip .wrap{display:grid;grid-template-columns:240px 1fr;gap:16px 40px;align-items:center}.experience-strip p{font-size:12px;text-align:left;letter-spacing:.08em;line-height:1.7;margin:0;max-width:220px}.client-marquee{overflow:hidden;mask-image:none}.client-rail{animation:none!important;gap:0;width:100%}.client-rail-group{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;flex:none}.client-rail-group[aria-hidden]{display:none}.experience-strip .client-logo-tile{margin:0;width:92px;height:56px;display:grid;place-items:center;background:none!important;border:0!important}.experience-strip .client-logo-tile img{max-height:48px;max-width:92px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply;opacity:.65}.client-rail-link{grid-column:2;text-align:right}.client-rail-link a{font-size:12px}.client-rail-link svg{width:24px;height:24px;padding:4px}
.security-explorer[data-surface]{--surface-bg:var(--blue);--surface-ink:#fff;--surface-copy:#e1e9ff;--surface-line:#ffffff38;--surface-panel:#ffffff08;border-radius:24px 24px 0 0}.explorer-shell{background:var(--paper);border:0;border-radius:16px;box-shadow:none;color:var(--ink)}.explorer-toolbar{padding:24px 32px;border-color:#d4dae3}.explorer-toolbar .diagram-caption{color:#536075}.segment-tabs{border:0;background:#e5eaf2;border-radius:999px;padding:4px;max-width:100%}.tab-button{border-radius:999px;font-size:14px;padding:8px 16px;transition:background 180ms var(--ease),color 180ms var(--ease)}.segment-tabs .tab-button[aria-selected=true]{background:var(--ink);box-shadow:none}.security-explorer-grid{grid-template-columns:1.35fr 1fr}.security-map{background:#edf1f7;min-height:416px}.map-core{background:var(--navy);color:white;border:0;border-radius:50%;box-shadow:0 0 0 16px #022b6605;backdrop-filter:none}.map-core strong{font-size:20px}.map-core small{font-size:10px}.map-core>span{color:var(--lime)}.map-node{background:white;border:1px solid #d4dae3;box-shadow:none;backdrop-filter:none;border-radius:12px;width:168px}.map-node-label{font-size:14px}.map-node[aria-pressed=true]{background:var(--lime);border-color:var(--lime);box-shadow:none}.map-connectors{stroke:#a3b1c6}.security-insight{background:white;border:0;padding:48px 32px}.security-insight :is(h3,p,li,.text-link,.insight-index){color:var(--ink)!important}.security-insight h3{font-size:36px}.security-insight p,.insight-checks li{font-size:14px}.insight-index{font-size:12px}.security-insight .text-link svg{color:var(--ink)}
.vapt-interactive[data-surface]{--surface-bg:#0e1d36}.assessment-story{gap:96px}.assessment-ring{width:360px;height:360px}.ring-copy strong{font-size:96px;line-height:1;letter-spacing:-6px;font-weight:400}.ring-track{stroke:#ffffff20}.ring-segment.is-active{stroke:var(--lime)}.ring-label{background:#0e1d36;font-size:12px;color:#c5d1e6}.ring-copy small{font-size:12px}.ring-copy span{font-size:14px}.assessment-tabs{gap:16px;margin-bottom:32px}.assessment-tabs .tab-button{border:1px solid #ffffff30;border-radius:12px;padding:16px;color:#fff}.assessment-tabs .tab-button[aria-selected=true]{background:var(--lime);border-color:var(--lime);color:var(--ink)}.assessment-detail h3{font-size:36px;line-height:1.15}.deliverable{border:1px solid #ffffff30;background:#ffffff06;border-radius:12px;padding:24px}.deliverable span{font-size:12px}.deliverable strong{font-size:16px}
.workflow-lab{border:1px solid #d4dae3;box-shadow:none;border-radius:16px;background:white}.workflow-toolbar{background:white;border-color:#e3e7ef;padding:24px;gap:16px}.workflow-toolbar .segment-tabs{background:#edf1f7;border-radius:999px;padding:4px}.sample-label{font-size:10px}.workflow-toolbar .tab-button{padding:8px 12px;font-size:12px}.workflow-heading h3{font-size:30px;line-height:1.2;max-width:580px}.workflow-pipeline{gap:16px}.workflow-stage{padding:24px;border-radius:12px;background:#f0f3f8;border:0;box-shadow:none}.workflow-stage h4{font-size:24px}.workflow-stage p{font-size:14px;min-height:72px}.workflow-stage.is-current{background:var(--blue)}.workflow-stage.is-current :is(h4,p,.stage-number){color:white!important}.workflow-stage.is-done{background:#e6efda}.stage-meter{background:#d4dae3}.stage-meter>span{background:var(--blue)}.workflow-stage.is-current .stage-meter>span{background:var(--lime)}.ai-security-bridge{border:0;border-radius:16px;background:#e8edf5;padding:24px 32px}.bridge-icon{border:0;border-radius:50%}.stack-section[data-surface]{--surface-bg:var(--navy)}.stack-layer{border-radius:12px;backdrop-filter:none;padding:24px;box-shadow:none}.stack-layer[aria-pressed=true]{background:var(--lime);color:var(--ink);transform:translateX(-16px);border-color:var(--lime)}.stack-layer[aria-pressed=true] small{color:var(--ink)}.stack-layer strong{font-size:24px}.stack-layer small{font-size:14px}.stack-context{border:0;border-radius:16px;padding:24px;background:#ffffff08;min-height:240px}.stack-context h3{font-size:30px;line-height:1.15}.stack-context p{font-size:14px}.stack-foundation{font-size:12px}.service-index{gap:0 48px}.service-index-link{font-size:14px;padding:24px 0}.stack-intro h2{font-size:48px;line-height:1.08}
.project-editorial-list{display:grid;grid-template-columns:1fr 1fr;gap:24px;border:0}.project-editorial{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding:32px;border:0;border-radius:16px;background:#e7edf4;position:relative;overflow:hidden}.project-editorial:nth-child(2){background:#e9eddc}.project-meta{min-height:112px;display:flex;flex-direction:column;justify-content:space-between;border-bottom:1px solid #111d3530;padding-bottom:24px}.project-client{font-size:24px!important;line-height:1.2;max-width:320px}.project-summary h3{font-size:36px;line-height:1.12;max-width:440px;margin:0 0 24px}.project-summary p{font-size:16px}.project-editorial>.text-link{margin-top:auto;justify-content:space-between}.project-editorial .diagram-caption{font-size:12px}.context-note{font-size:12px;margin-top:24px}.closing-cta[data-surface]{--surface-bg:var(--blue);padding:96px 0;border:0;border-radius:24px 24px 0 0}.closing-inner h2{font-size:60px;line-height:1.05;letter-spacing:-3px;max-width:800px}.closing-inner .button.primary{background:var(--lime);border-color:var(--lime);color:var(--ink);padding:16px 24px}.site-footer{background:var(--paper);padding-top:64px}.footer-top{grid-template-columns:1.5fr repeat(5,1fr);gap:24px}.footer-column h3{font-size:14px;font-weight:600}.footer-column>a{font-size:12px;line-height:1.8}.footer-brand p,.footer-brand>a:last-child,.footer-bottom{font-size:12px}.footer-bottom{padding:32px 0;border-color:#d4dae3}.footer-brand .brand{width:144px}
.breadcrumbs{font-size:12px;padding-block:24px}.page-hero[data-surface]{margin:0 24px;border:0;border-radius:24px;background:#e8edf4;padding:80px 0}.page-hero h1{font-size:72px;line-height:1.05;letter-spacing:-3px;max-width:1000px}.page-hero p{font-size:20px;line-height:1.6;max-width:720px}.page-hero .eyebrow{color:var(--blue)}.page-hero-inner{width:min(1280px,calc(100% - 96px))}.service-card-grid{gap:24px}.service-card,.article-card,.download-card{border-radius:16px;padding:32px}.service-card h3{font-size:30px;line-height:1.2}.service-card p{font-size:16px}.service-card .tile-icon{border:1px solid var(--surface-line);background:transparent;border-radius:50%;margin-bottom:24px}.service-card .card-action{font-size:14px;margin-top:24px}.detail-main h2{font-size:48px}.detail-aside{border-radius:16px;padding:32px}.detail-main .body-large{font-size:20px;line-height:1.7}.detail-aside .button{font-size:14px}.faq-list details{border-radius:0;background:transparent;border:0;border-bottom:1px solid var(--surface-line);padding:24px 0}.faq-list summary{font-size:20px;line-height:1.4}.faq-list details p{font-size:16px;max-width:720px}.faq-section .narrow{max-width:960px}.faq-section h2{margin-bottom:48px}.form-panel,.contact-panel,.info-panel{border-radius:16px}.field input,.field textarea,.field select{border-radius:8px;min-height:48px}.project-visual{background:#e7edf4!important}.project-card{border-radius:16px}.project-visual:after{display:none}.client-card{background:#fff!important;border:1px solid #d4dae3!important;border-radius:16px!important}.client-card img{max-height:72px}.motion-ready .reveal,.reveal{opacity:1!important;transform:none!important;transition:none!important}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7c96ed;outline-offset:5px}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-3px)}.project-editorial:hover{background:#dce5f1}.project-editorial:nth-child(2):hover{background:#dce5c4}.experience-strip .client-logo-tile:hover img{filter:none;opacity:1}.service-card:hover{transform:translateY(-4px);transition:transform 250ms var(--ease)}.stack-layer:hover{transform:translateX(-8px)}}
@media(min-width:1600px){.hero.interactive-hero{padding-inline:max(64px,calc((100vw - 1400px)/2));min-height:740px}.hero h1{font-size:96px}}
@media(max-width:1240px){.header{height:80px;padding:0 32px}.header nav{background:var(--paper)}.hero.interactive-hero{padding:64px 32px;min-height:620px}.hero h1{font-size:60px;letter-spacing:-3px}.system-composition{height:480px}.system-sheet{height:216px;padding:24px}.sheet-security{top:264px}.sheet-ai{top:128px}.sheet-name{left:24px}.sheet-arrow{right:24px}.hero .actions{align-items:flex-start;flex-direction:column}.footer-top{grid-template-columns:repeat(3,1fr);gap:32px}.workflow-toolbar{align-items:flex-start}.section-top{gap:32px}.assessment-story{gap:48px}.experience-strip .wrap{grid-template-columns:200px 1fr}.client-rail-group{gap:16px}.experience-strip .client-logo-tile{width:72px}.experience-strip .client-logo-tile img{max-width:72px}.security-explorer-grid{grid-template-columns:1fr 1fr}.map-node{width:144px;padding:12px}.map-node-0,.map-node-2{left:16px}.map-node-1,.map-node-3{right:16px}}
@media(max-width:900px){.hero.interactive-hero{grid-template-columns:1fr 1fr;padding:48px 24px;gap:16px;margin:0 16px}.hero h1{font-size:48px;letter-spacing:-2.5px}.system-sheet{width:94%;height:200px}.sheet-name{font-size:30px}.sheet-security{top:240px}.sheet-ai{top:120px}.system-composition{height:440px}.sheet-top{font-size:10px}.wrap,.page-hero-inner{width:calc(100% - 48px)}.content-section{padding:80px 0}h2,.stack-intro h2{font-size:36px;letter-spacing:-1.5px}.section-top{align-items:flex-start;flex-direction:column;gap:24px}.section-top>div:last-child{max-width:560px}.security-explorer-grid{grid-template-columns:1fr}.security-map{min-height:400px}.map-node{width:176px}.map-node-0,.map-node-2{left:32px}.map-node-1,.map-node-3{right:32px}.security-insight{padding:32px}.security-insight p{min-height:0}.explorer-toolbar{align-items:flex-start;flex-direction:column;gap:16px}.assessment-story{grid-template-columns:1fr;gap:48px}.assessment-ring{justify-self:center}.assessment-detail{min-height:0}.workflow-pipeline{grid-template-columns:1fr 1fr}.workflow-stage:nth-child(2):after{display:none}.workflow-heading{align-items:flex-start;gap:24px;flex-direction:column}.ai-security-bridge{flex-wrap:wrap}.ai-security-bridge>.text-link{margin-left:0}.stack-layout{grid-template-columns:1fr;gap:32px}.stack-intro>p{max-width:560px}.stack-context{min-height:0}.stack-graphic{padding-left:16px}.project-summary h3{font-size:30px}.closing-inner{align-items:flex-start;flex-direction:column;gap:32px}.closing-inner h2{font-size:48px}.experience-strip .wrap{display:block}.experience-strip p{max-width:none;margin-bottom:24px}.client-rail-link{margin-top:16px}.page-hero h1{font-size:60px}.service-card-grid,.related-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.project-editorial{padding:24px}}
@media(max-width:600px){.header{height:80px;padding:0 20px}.header .brand{width:116px}.header-actions>.button{display:none}.header-actions{gap:12px}.hero.interactive-hero{display:flex;flex-direction:column;padding:40px 24px 32px;gap:40px;min-height:0;border-radius:16px;margin:0 12px}.hero .hero-content{padding:0}.hero h1{font-size:48px;line-height:1.04;letter-spacing:-2.5px;margin:24px 0 32px}.hero .eyebrow{font-size:10px!important;letter-spacing:.08em!important}.hero .actions{margin-top:0;gap:12px;align-items:stretch}.hero .button{justify-content:space-between;font-size:12px;width:100%}.system-composition{height:392px;max-width:380px;margin:0 auto}.system-sheet{width:88%;height:176px;padding:16px 24px}.sheet-ai{top:104px}.sheet-security{top:208px}.sheet-name{bottom:20px;font-size:30px}.sheet-arrow{bottom:20px;width:32px;height:32px;font-size:20px}.software-grid{top:48px;height:48px}.signal-bars{top:52px;height:48px}.security-seal{top:48px;right:64px;width:64px;height:64px}.security-seal svg{width:32px;height:32px}.sheet-top svg{width:20px;height:20px}.wrap,.page-hero-inner{width:calc(100% - 40px)}.content-section{padding:64px 0}.section-top{margin-bottom:32px}.section-top h2{font-size:36px;line-height:1.1}.section-top h2 br{display:none}.section-top p{font-size:14px}.experience-strip{padding:32px 0!important}.experience-strip p{font-size:10px;max-width:240px}.client-rail-group{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.experience-strip .client-logo-tile{width:auto;height:40px}.experience-strip .client-logo-tile img{max-height:40px;max-width:80px}.client-rail-link{text-align:left}.explorer-toolbar{padding:24px 16px}.explorer-toolbar .diagram-caption{font-size:10px}.segment-tabs{width:100%;overflow:auto;gap:0}.tab-button{font-size:12px;padding:8px 12px}.security-map{min-height:400px}.map-node{width:136px;min-height:64px;padding:12px;gap:8px}.map-node-label{font-size:12px;line-height:1.4}.map-node svg{width:20px;height:20px}.map-node-0,.map-node-2{left:12px}.map-node-1,.map-node-3{right:12px}.map-node-0,.map-node-1{top:24px}.map-node-2,.map-node-3{bottom:48px}.map-core{width:120px;height:120px}.map-core strong{font-size:18px}.map-core small{font-size:8px}.map-hint{font-size:10px}.security-insight{padding:32px 24px}.security-insight h3{font-size:30px;line-height:1.2}.insight-checks li{font-size:12px;padding-left:20px}.assessment-ring{width:280px;height:280px}.ring-copy strong{font-size:72px}.ring-label{font-size:10px}.assessment-tabs{gap:8px}.assessment-tabs .tab-button{padding:12px 8px;font-size:12px}.assessment-detail h3{font-size:30px}.assessment-detail p{font-size:14px}.deliverable{padding:16px}.deliverable span{font-size:10px}.deliverable strong{font-size:14px}.workflow-toolbar{padding:16px}.workflow-toolbar .segment-tabs{border-radius:8px;flex-wrap:wrap}.workflow-toolbar .tab-button{flex:1 1 45%;white-space:normal;border-radius:6px}.sample-label{font-size:8px;white-space:normal}#workflow-panel{padding:24px 16px}.workflow-heading h3{font-size:24px}.workflow-heading .diagram-caption{font-size:10px}.workflow-pipeline{gap:12px}.workflow-stage{padding:16px}.workflow-stage:after{display:none}.workflow-stage h4{font-size:18px}.workflow-stage p{font-size:12px;line-height:1.6;min-height:80px}.workflow-icon{width:28px;height:28px}.workflow-icon svg{width:20px;height:20px}.stage-top{gap:8px}.stage-number{font-size:10px}.workflow-bottom{align-items:flex-start;flex-direction:column}.workflow-status{font-size:12px}.workflow-output{flex-direction:column;align-items:flex-start}.workflow-output dl{grid-template-columns:1fr;gap:12px}.ai-security-bridge{padding:24px;gap:16px}.ai-security-bridge strong{font-size:14px}.ai-security-bridge p{font-size:12px}.ai-security-bridge>.text-link{white-space:normal;font-size:12px}.stack-layer{padding:16px;gap:12px}.stack-layer strong{font-size:18px;line-height:1.4}.stack-layer small{font-size:12px}.stack-icon{display:none}.stack-index{font-size:12px}.stack-context{padding:24px}.stack-context h3{font-size:24px}.stack-foundation{font-size:10px}.service-index{grid-template-columns:1fr;margin-top:32px}.service-index-link{font-size:14px;padding:20px 0}.project-editorial-list{grid-template-columns:1fr}.project-meta{min-height:104px}.project-summary h3{font-size:30px}.project-summary p{font-size:14px}.project-client{font-size:24px!important}.closing-cta[data-surface]{padding:64px 0}.closing-inner h2{font-size:36px;letter-spacing:-1.5px}.closing-inner p{font-size:14px}.closing-inner .button.primary{font-size:12px;gap:16px;width:100%;justify-content:space-between}.footer-top{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}.footer-bottom>div{gap:16px}.page-hero[data-surface]{margin:0 12px;padding:48px 0;border-radius:16px}.page-hero h1{font-size:36px;line-height:1.1;letter-spacing:-1.5px}.page-hero p{font-size:16px}.page-hero .actions{align-items:stretch;flex-direction:column}.page-hero .button{font-size:12px;justify-content:space-between}.breadcrumbs{font-size:10px;gap:8px}.service-card-grid,.related-grid{grid-template-columns:1fr}.service-card{padding:24px}.service-card h3{font-size:24px}.service-card p{font-size:14px}.detail-main h2{font-size:36px}.detail-main .body-large{font-size:16px}.detail-aside{padding:24px}.faq-list summary{font-size:18px}.faq-list details p{font-size:14px}.faq-section h2{font-size:36px}.section-label-row{align-items:flex-start;flex-direction:column;gap:16px}.section-label-row h2{font-size:30px}.section-label-row>span{white-space:normal;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.system-composition{transform:none!important}.system-sheet{will-change:auto}.hero-enter,.reveal{opacity:1!important;transform:none!important}}
/* Explicitly supersede the older theme's component-level declarations. */
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.lenis [data-lenis-prevent]{overscroll-behavior:contain}
section.hero[data-surface] .button.primary,section.ai-interactive[data-surface] .button.primary,section.page-hero[data-surface] .button.primary{background:var(--blue);border-color:var(--blue);color:white}
section.closing-cta[data-surface] .button.primary{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.experience-strip .client-rail .client-logo-tile{flex:0 1 92px;width:92px;height:56px;padding:0;background:none}
.experience-strip .client-rail .client-logo-tile img{max-height:48px;max-width:92px;filter:grayscale(1);opacity:.65}
.experience-strip .client-rail-group{padding:0}.client-directory .client-logo-tile{width:auto;height:auto}.client-directory .client-logo-tile img{filter:none;opacity:1;mix-blend-mode:normal}
.client-rail-link{justify-content:flex-end;padding:0;margin-top:0}.header nav{top:80px}
@media(max-width:1240px){.experience-strip .client-rail .client-logo-tile{flex-basis:72px;width:72px}.experience-strip .client-rail .client-logo-tile img{max-width:72px}}
@media(max-width:600px){.experience-strip .client-rail .client-logo-tile{width:auto;height:40px}.experience-strip .client-rail .client-logo-tile img{max-width:80px;max-height:40px}.client-rail-link{justify-content:flex-start;margin-top:16px}.hero .button{max-width:none}.client-directory .client-logo-tile{padding:16px;min-height:144px}.client-directory .client-logo-tile img{max-width:100%}}


/* Service playcards: native navigation with brief, pointer-only lift feedback. */
.system-sheet{cursor:pointer;text-decoration:none;transition:translate 220ms var(--ease),scale 220ms var(--ease),box-shadow 220ms var(--ease)}
.system-sheet .sheet-arrow{transition:translate 180ms var(--ease),background-color 180ms var(--ease),color 180ms var(--ease)}
.system-sheet:focus-visible{z-index:5;outline:3px solid #7c96ed;outline-offset:6px;transition:none}
.system-sheet:focus-visible .sheet-arrow{background:var(--lime);color:var(--ink);transition:none}
@media(hover:hover) and (pointer:fine){
 .system-sheet:hover{z-index:5;translate:0 -10px;scale:1.025;box-shadow:0 28px 48px #18325530}
 .system-sheet:hover .sheet-arrow{translate:3px -3px;background:var(--lime);color:var(--ink);border-color:var(--lime)}
 .system-sheet:active{scale:.985;transition-duration:120ms}
 .system-sheet:focus-visible{translate:none;scale:none}
}
@media(prefers-reduced-motion:reduce){.system-sheet:hover,.system-sheet:active,.system-sheet:hover .sheet-arrow{translate:none;scale:none}}
/* Continuous, equal-width logo groups keep the loop seamless at every width. */
.experience-strip .wrap{grid-template-columns:240px minmax(0,1fr)}
.experience-strip .client-marquee{min-width:0;overflow:hidden;border-radius:0;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.experience-strip .client-rail{width:max-content;display:flex;gap:0;animation:blueprint-logo-loop 34s linear infinite!important;will-change:transform}
.experience-strip .client-rail-group,.experience-strip .client-rail-group[aria-hidden]{display:flex;flex:none;width:auto;gap:32px;padding:0 32px 0 0;align-items:center}
.experience-strip .client-rail .client-logo-tile{flex:0 0 128px;width:128px;height:64px;padding:0}
.experience-strip .client-rail .client-logo-tile img{max-width:112px;max-height:48px}
.experience-strip .client-rail-link{justify-content:space-between;gap:24px;margin-top:8px}
.experience-strip .logo-scroll-toggle{position:static;display:inline-flex;gap:8px;width:auto;height:36px;min-height:36px;padding:8px 12px;border:1px solid #cbd3df;border-radius:999px;font-size:12px;color:var(--ink);background:transparent}
.experience-strip .client-marquee:hover .client-rail,.experience-strip .client-marquee:focus-within .client-rail,.experience-strip[data-paused="true"] .client-rail,.experience-strip.logos-offscreen .client-rail,.experience-strip.logos-page-hidden .client-rail{animation-play-state:paused!important}
@keyframes blueprint-logo-loop{to{transform:translateX(-50%)}}
/* Exploded security layers: each boundary protects the same business system. */
.security-map.layered-security{min-height:540px;padding:32px;isolation:isolate;background:#edf1f7;overflow:hidden}
.layered-security .map-connectors{display:none}
.layered-security:before{content:'';position:absolute;left:64px;top:48px;bottom:112px;width:0;border-left:1px dashed #8fa4c4;z-index:-1}
.layered-security .map-node{position:absolute;left:40px;right:56px;width:auto;min-height:68px;height:68px;bottom:auto;padding:16px 24px;gap:16px;border-radius:12px;border:1px solid #aebdd3;background:#f9fbff;box-shadow:0 8px 0 #d5dfed,0 9px 0 #aebdd3;transform:skewY(-4deg);backdrop-filter:none;transition:translate 220ms var(--ease),background-color 180ms var(--ease),box-shadow 220ms var(--ease);text-align:left}
.layered-security .map-node-0{top:40px;left:40px;right:80px;z-index:4}
.layered-security .map-node-1{top:128px;left:52px;right:68px;z-index:3}
.layered-security .map-node-2{top:216px;left:64px;right:56px;z-index:2}
.layered-security .map-node-3{top:304px;left:76px;right:44px;z-index:1}
.layered-security .map-node[aria-pressed=true]{background:var(--lime);border-color:#a5c563;box-shadow:0 8px 0 #b5cf7a,0 9px 0 #88a747;translate:8px 0}
.layered-security .map-node-label{font-size:16px;font-weight:600;line-height:1.4}
.layered-security .layer-order{font-size:12px;color:#60728c;font-variant-numeric:tabular-nums}
.layered-security .node-dot{position:static;margin-left:auto;width:8px;height:8px;background:var(--navy);flex-shrink:0}
.layered-security .map-core{top:auto;bottom:52px;left:76px;right:44px;width:auto;height:72px;transform:none;display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:16px;row-gap:0;align-content:center;padding:16px 24px;border-radius:12px;background:var(--navy);box-shadow:none;text-align:left}
.layered-security .map-core>span{grid-row:1/3;align-self:center;color:var(--lime)}
.layered-security .map-core strong{font-size:18px;line-height:1.4;grid-column:2}
.layered-security .map-core strong br{display:none}
.layered-security .map-core strong br:after{content:' '}
.layered-security .map-core small{font-size:10px;line-height:1.6;grid-column:2;letter-spacing:.1em;color:#bdcde7}
.layered-security .map-hint{left:0;bottom:16px;padding:0 20px;font-size:12px;color:#536075}
.security-explorer-grid .security-insight{display:flex;flex-direction:column;justify-content:center}
.layered-security .map-node:focus-visible{translate:0;outline:3px solid var(--blue);outline-offset:6px;transition:none}
@media(hover:hover) and (pointer:fine){.layered-security .map-node:hover{translate:8px -3px;transform:skewY(-4deg)}.layered-security .map-node:focus-visible{translate:0}}
@media(max-width:900px){.experience-strip .wrap{display:block}.experience-strip .client-rail-link{margin-top:16px}.security-map.layered-security{min-height:520px}}
@media(max-width:600px){
 .experience-strip .client-rail .client-logo-tile{flex-basis:104px;width:104px;height:56px}
 .experience-strip .client-rail .client-logo-tile img{max-width:96px;max-height:40px}
 .experience-strip .client-rail-group,.experience-strip .client-rail-group[aria-hidden]{gap:24px;padding-right:24px}
 .experience-strip .client-rail-link{gap:12px}.experience-strip .logo-scroll-toggle{font-size:10px}
 .security-map.layered-security{min-height:472px;padding:16px}
 .layered-security .map-node{min-height:60px;height:60px;padding:12px 16px;gap:12px}
 .layered-security .map-node-0{top:32px;left:16px;right:40px}
 .layered-security .map-node-1{top:108px;left:20px;right:36px}
 .layered-security .map-node-2{top:184px;left:24px;right:32px}
 .layered-security .map-node-3{top:260px;left:28px;right:28px}
 .layered-security .map-node-label{font-size:14px}.layered-security .layer-order{font-size:10px}
 .layered-security .map-core{left:28px;right:28px;bottom:52px;height:68px;padding:12px 16px}
 .layered-security .map-core strong{font-size:16px}.layered-security .map-hint{font-size:10px}
 .layered-security:before{left:44px;bottom:100px}
}
@media(prefers-reduced-motion:reduce){
 .experience-strip .client-rail{animation:none!important;width:100%;transform:none!important;will-change:auto}
 .experience-strip .client-rail-group{width:100%;flex-wrap:wrap;justify-content:center;padding:0;gap:24px}
 .experience-strip .client-rail-group[aria-hidden]{display:none}
 .experience-strip .client-marquee{mask-image:none}.experience-strip .logo-scroll-toggle{display:none}
 .layered-security .map-node,.layered-security .map-node:hover,.layered-security .map-node[aria-pressed=true]{translate:none;transition:none}
}
/* Shared page frame: one alignment grid and one responsive spacing scale. */
:root{--layout-width:1280px;--layout-gutter:48px;--panel-inset:24px;--panel-gap:48px;--section-space:96px;--header-size:80px}
.header{height:var(--header-size);padding:0;background:#fff;border-bottom:1px solid #dce2eb;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.header-inner,.wrap{width:min(var(--layout-width),calc(100% - 2 * var(--layout-gutter)));margin-inline:auto}
.header-inner{max-width:var(--layout-width);gap:24px}
.header nav{top:var(--header-size)}
.breadcrumbs.wrap{padding-block:20px;min-height:64px;gap:12px;align-content:center;line-height:24px}
.page-hero[data-surface]{margin:0 var(--panel-inset) var(--panel-gap);padding-block:64px;border-radius:24px}
.page-hero-inner{width:min(var(--layout-width),calc(100vw - 2 * var(--layout-gutter)));max-width:calc(100% - 32px);margin-inline:auto}
.content-section,.security-section,.closing-cta[data-surface]{padding-block:var(--section-space)}
.hero.interactive-hero{margin:24px var(--panel-inset) 0;padding-inline:max(calc(var(--layout-gutter) - var(--panel-inset)),calc((100vw - var(--layout-width)) / 2 - var(--panel-inset)))}
.site-footer>.wrap{width:min(var(--layout-width),calc(100% - 2 * var(--layout-gutter)))}
@media(max-width:1240px){.header-inner{gap:20px}.header nav{max-height:calc(100svh - var(--header-size));background:#fff}}
@media(max-width:900px){
 :root{--layout-gutter:24px;--panel-inset:16px;--panel-gap:32px;--section-space:80px}
 .page-hero[data-surface]{padding-block:56px}
 .page-hero-inner{max-width:calc(100% - 16px)}
 .hero.interactive-hero{padding-inline:calc(var(--layout-gutter) - var(--panel-inset))}
}
@media(max-width:600px){
 :root{--layout-gutter:20px;--panel-inset:12px;--panel-gap:24px;--section-space:64px}
 .header-inner{gap:12px}.header-actions{gap:12px}
 .breadcrumbs.wrap{padding-block:12px;min-height:56px;gap:8px;line-height:20px}
 .page-hero[data-surface]{padding-block:40px;border-radius:16px}
 .page-hero-inner{max-width:calc(100% - 16px)}
 .hero.interactive-hero{margin-top:16px;padding-inline:calc(var(--layout-gutter) - var(--panel-inset))}
}

/* Persistent navigation; keep its surface and dimensions unchanged while scrolling. */
.header{position:sticky;top:0;z-index:100;background:#fff}
html{scroll-padding-top:calc(var(--header-size) + 24px)}
.experience-strip .wrap{display:block}
.experience-strip .client-rail-link{display:flex;justify-content:flex-end;margin-top:16px}
.experience-strip .client-rail .client-logo-tile img{transition:filter 180ms var(--ease),opacity 180ms var(--ease)}
@media(hover:hover) and (pointer:fine){
 .experience-strip .client-marquee:hover .client-logo-tile img{filter:none;opacity:1;mix-blend-mode:normal}
}
.experience-strip .client-marquee:focus-within .client-logo-tile img{filter:none;opacity:1;mix-blend-mode:normal}
@media(hover:none){.experience-strip .client-rail .client-logo-tile img{filter:none;opacity:1;mix-blend-mode:normal}}
@media(prefers-reduced-motion:reduce){.experience-strip .client-rail .client-logo-tile img{transition:none}}
/* Original open navigation, with deliberate spacing rather than a capsule. */
:root{--header-size:80px;--brand-accent:var(--blue);--brand-accent-rgb:36,86,232}
@media(min-width:1241px){
 .header-inner{gap:32px}
 .header .brand{width:136px}
 .header #main-nav{height:100%;gap:20px;padding:0;border:0;border-radius:0;background:transparent;margin:0}
 .header .nav-heading{height:100%;padding:0;gap:4px;border-radius:0;background:transparent}
 .header .nav-link{font-size:14px;font-weight:600}
 .header-actions{gap:16px;margin-left:auto}
 .header-actions>.button{min-height:44px;height:44px;padding:8px 16px;font-size:12px;gap:16px}
}
.header .mega-link:hover,.header .mega-link:focus-visible{background:#edf2ff;color:var(--navy)}
.header .mega-link:hover .mega-icon,.header .mega-link:focus-visible .mega-icon{background:#dce6ff;color:var(--blue)}
.header .mega-overview-link:hover{background:#edf2ff}
@media(max-width:1240px){.header-inner{gap:20px}.header-actions{gap:16px}}
@media(max-width:600px){.header-inner,.header-actions{gap:12px}}
/* Nested protective boundaries replace the tilted menu-like slabs. */
.explorer-toolbar{padding:24px 32px;background:white;gap:24px}
.explorer-toolbar .diagram-caption{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--navy)}
.explorer-toolbar .segment-tabs{background:#edf1f7;padding:4px}
.explorer-toolbar .tab-button[aria-selected=true]{background:var(--navy)}
.security-explorer-grid{grid-template-columns:1.1fr 1fr}
.security-map.layered-security{min-height:560px;background:#f0f3f8;padding:0}
.layered-security:before{display:none}
.layered-security .map-node,.layered-security .map-node:hover,.layered-security .map-node[aria-pressed=true]{width:auto;height:auto;min-height:0;transform:none;translate:none;scale:none;box-shadow:none;display:flex;align-items:flex-start;padding:24px;gap:12px;border:1px solid #bdcadc;border-radius:16px;background:#f8faff;transition:background-color 180ms var(--ease),border-color 180ms var(--ease)}
.layered-security .map-node-0{top:24px;left:24px;right:24px;bottom:48px;z-index:1}
.layered-security .map-node-1{top:96px;left:48px;right:48px;bottom:72px;z-index:2}
.layered-security .map-node-2{top:168px;left:72px;right:72px;bottom:96px;z-index:3}
.layered-security .map-node-3{top:240px;left:96px;right:96px;bottom:120px;z-index:4}
.layered-security .map-node[aria-pressed=true]{background:#edf6db;border-color:#8caf48}
.layered-security .map-node-label{font-size:16px;line-height:24px;font-weight:500;color:var(--navy)}
.layered-security .map-node-icon,.layered-security .map-node svg{width:24px;height:24px}
.layered-security .layer-order{line-height:24px;color:#6a7c94;font-size:12px}
.layered-security .node-dot{margin-top:8px;background:#6c8f29;width:6px;height:6px}
.layered-security .map-core{left:120px;right:120px;bottom:144px;height:72px;z-index:5;padding:16px;border-radius:12px;column-gap:12px;grid-template-columns:24px 1fr}
.layered-security .map-core strong{font-size:16px;white-space:nowrap}
.layered-security .map-core svg,.layered-security .map-core>span{width:24px;height:24px}
.layered-security .map-core small{font-size:8px}
.layered-security .map-node:focus-visible{outline:3px solid var(--blue);outline-offset:-4px;transition:none}
.security-explorer-grid .security-insight{padding:48px;justify-content:flex-start;border-left:1px solid #dce3ee}
.security-insight .insight-index{padding-bottom:24px;border-bottom:1px solid #dce3ee;font-size:12px}
.security-insight h3{font-size:36px;line-height:1.15;margin:32px 0 24px}
.security-insight p{min-height:0;margin-bottom:0;font-size:16px;line-height:1.75}
.security-insight .insight-checks{margin:32px 0}
.security-insight .insight-checks li{font-size:14px;line-height:1.6;margin-top:16px}
.security-insight>.text-link{margin-top:auto;align-self:flex-start;border-bottom:1px solid #bdcadc;padding-bottom:8px}
@media(hover:hover) and (pointer:fine){.layered-security .map-node:hover{border-color:var(--blue);background:#eaf0fe}.layered-security .map-node[aria-pressed=true]:hover{background:#edf6db;border-color:#6c8f29}}
@media(max-width:1100px){
 .security-explorer-grid{grid-template-columns:1fr}
 .layered-security .map-core{left:120px;right:120px}
 .security-explorer-grid .security-insight{border-left:0;border-top:1px solid #dce3ee;padding:32px}
 .security-insight>.text-link{margin-top:0}
}
@media(max-width:600px){
 .explorer-toolbar{padding:24px 16px;gap:16px;align-items:stretch}
 .explorer-toolbar .diagram-caption{font-size:10px}
 .explorer-toolbar .segment-tabs{width:100%}.explorer-toolbar .tab-button{font-size:12px;padding:8px}
 .security-map.layered-security{min-height:464px}
 .layered-security .map-node{padding:16px 12px;gap:8px}
 .layered-security .map-node-0{top:16px;left:12px;right:12px;bottom:40px}
 .layered-security .map-node-1{top:80px;left:24px;right:24px;bottom:56px}
 .layered-security .map-node-2{top:144px;left:36px;right:36px;bottom:72px}
 .layered-security .map-node-3{top:208px;left:48px;right:48px;bottom:88px}
 .layered-security .map-node-label{font-size:12px;line-height:20px}
 .layered-security .map-node-icon,.layered-security .map-node svg{width:20px;height:20px}
 .layered-security .layer-order{font-size:10px;line-height:20px}
 .layered-security .map-core{left:60px;right:60px;bottom:104px;height:64px;padding:12px;column-gap:8px}
 .layered-security .map-core strong{font-size:12px;white-space:normal}
 .layered-security .map-core small{font-size:8px;letter-spacing:.03em}
 .layered-security .map-hint{font-size:10px;bottom:12px}
 .security-explorer-grid .security-insight{padding:24px}
 .security-insight h3{font-size:30px;margin:24px 0 16px}
 .security-insight p{font-size:14px}.security-insight .insight-checks{margin:24px 0}
}
@media(prefers-reduced-motion:reduce){.layered-security .map-node{transition:none}}
/* Closing sections are standalone inverse panels, regardless of page alternation. */
section.closing-cta[data-surface]{--surface-bg:var(--blue);--surface-ink:#fff;--surface-copy:#edf2ff;--surface-line:#ffffff40;--surface-panel:#ffffff0d;background:var(--surface-bg);color:var(--surface-ink);margin:var(--panel-gap) var(--panel-inset);padding-block:64px;border:0;border-radius:24px}
section.closing-cta[data-surface]>.wrap{width:min(var(--layout-width),calc(100vw - 2 * var(--layout-gutter)));max-width:calc(100% - 32px);margin-inline:auto}
section.closing-cta[data-surface] .closing-inner{gap:48px;align-items:center}
section.closing-cta[data-surface] h2{color:#fff;font-size:48px;line-height:1.12;letter-spacing:-2px;max-width:800px;margin:16px 0 24px}
section.closing-cta[data-surface] :is(p,.eyebrow){color:#edf2ff;opacity:1}
section.closing-cta[data-surface] p{font-size:16px;line-height:1.75;max-width:680px}
section.closing-cta[data-surface] .button.primary{background:var(--lime);color:var(--ink);border-color:var(--lime);min-height:52px;flex-shrink:0}
section.closing-cta[data-surface] .button.primary svg{color:var(--ink)}
/* Light interaction panels must not inherit white text/icons from blue sections. */
.explorer-shell,.workflow-lab,.ai-security-bridge{--surface-bg:#fff;--surface-ink:#111d35;--surface-copy:#536075;--surface-line:#d4dae3;--surface-panel:#f0f3f8}
section[data-surface] .explorer-shell :is(.text-link,.text-link svg,.insight-checks li:before){color:var(--ink)}
section[data-surface] .workflow-lab .diagram-caption{color:#536075}
section[data-surface] .workflow-stage.is-current :is(h4,p,.stage-number){color:#fff}
section[data-surface] :is(.service-card,.security-card,.article-card,.download-card):hover{background:var(--surface-panel);border-color:var(--blue)}
/* Consistent link legibility and focus on dense secondary content. */
.site-footer .footer-column>a{font-size:14px;line-height:1.65;margin-bottom:12px;padding-block:2px;color:#46556c}
.site-footer .footer-column h3{margin:16px 0 24px;color:var(--navy)}
.site-footer .footer-brand p,.site-footer .footer-brand>a:last-child{font-size:14px;line-height:1.65}
section[data-surface="inverse"] :is(a,button,summary):focus-visible{outline-color:#d9f98b}
section[data-surface] :is(.explorer-shell,.workflow-lab,.detail-aside,.enquiry-form) :is(a,button,summary,input,textarea,select):focus-visible{outline-color:#2456e8}
@media(max-width:900px){
 section.closing-cta[data-surface] .closing-inner{align-items:flex-start;gap:32px}
 section.closing-cta[data-surface]>.wrap{max-width:calc(100% - 16px)}
 section.closing-cta[data-surface] h2{font-size:36px;letter-spacing:-1.5px}
}
@media(max-width:600px){
 section.closing-cta[data-surface]{padding-block:40px;border-radius:16px}
 section.closing-cta[data-surface] h2{font-size:30px;line-height:1.16;margin:16px 0}
 section.closing-cta[data-surface] p{font-size:14px}
 section.closing-cta[data-surface] .eyebrow{font-size:10px!important;letter-spacing:.08em!important}
 section.closing-cta[data-surface] .button.primary{width:100%;font-size:12px;justify-content:space-between}
 .site-footer .footer-column>a{font-size:14px;overflow-wrap:anywhere}
}
/* A distinct, full-width destination at the end of every page. */
.site-footer{background:#e7edf4;color:#46556c;border-top:1px solid #c4d0df;padding-top:64px}
.site-footer .footer-top{padding-bottom:16px}
.site-footer .footer-brand .brand{width:144px;max-width:100%;padding:0;background:transparent;border-radius:0;box-sizing:border-box}
.site-footer .footer-brand .brand img{width:100%;height:auto}
.site-footer .footer-column h3{color:var(--navy);margin-top:12px}
.site-footer .footer-column>a,.site-footer .footer-brand p,.site-footer .footer-brand>a:last-child,.site-footer .footer-bottom,.site-footer .footer-bottom a,.site-footer .footer-bottom span{color:#46556c}
.site-footer .footer-bottom{border-top:1px solid #c4d0df;margin-top:40px;padding-block:28px;line-height:1.7}
.site-footer a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.site-footer a:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:2px}
.site-footer .brand:hover{text-decoration:none}
@media(max-width:600px){.site-footer{padding-top:40px}.site-footer .footer-top{gap:32px 24px}.site-footer .footer-column h3{margin-top:0}.site-footer .footer-bottom{margin-top:32px;padding-block:24px}}
/* Preserve compact layer-label spacing during hover and selection. */
@media(max-width:600px){.layered-security .map-node:hover,.layered-security .map-node[aria-pressed=true]{padding:16px 12px;gap:8px}}
.header .nav-item.is-open .nav-toggle{border-color:#2456e8;background:#edf2ff;color:var(--blue)}

/* Client directory: opaque light surfaces isolate the original brand colours
   from inverse sections. Marquee styling must remain scoped to its strip. */
.client-directory .client-logo-tile {
  display:grid;
  grid-template-rows:104px;
  align-content:center;
  justify-items:center;
  gap:0;
  width:auto;
  height:auto;
  min-height:168px;
  padding:28px 24px;
  background:#fff;
  border:1px solid #dbe3ee;
  border-radius:12px;
  color:#022b66;
}
.client-directory .client-logo-tile img {
  display:block;
  width:100%;
  height:104px;
  max-width:208px;
  max-height:104px;
  object-fit:contain;
  filter:none;
  opacity:1;
  mix-blend-mode:normal;
}
@media(max-width:600px) {
  .client-directory .client-logo-tile {
    grid-template-rows:80px;
    gap:0;
    min-height:128px;
    padding:20px 16px;
  }
  .client-directory .client-logo-tile img {
    width:100%;height:80px;max-width:176px;max-height:80px;
  }
  }

/* Certificate documents: original PDF previews with readable supporting details. */
.credential-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.credential-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #dbe3ee;border-radius:16px;background:#fff;color:#022b66;--surface-bg:#fff;--surface-ink:#022b66;--surface-copy:#334155;--surface-line:#dbe3ee}
.credential-preview{display:flex;align-items:center;justify-content:center;background:#edf2f7;padding:24px;border-bottom:1px solid #dbe3ee;min-height:296px}
.credential-preview img{display:block;width:auto;height:260px;max-width:100%;object-fit:contain;box-shadow:0 4px 16px #022b6614}
.credential-body{padding:28px;display:flex;flex-direction:column;flex:1;min-width:0}
.credential-category{font-size:12px;line-height:1.5;color:#536075;margin:0 0 12px}
.credential-card h2{font-size:26px;letter-spacing:-.7px;line-height:1.2;color:#022b66;margin:0 0 16px}
.credential-issuer{font-size:14px;line-height:1.6;color:#334155;margin:0 0 24px;min-height:46px}
.credential-card dl{margin:0 0 28px;display:grid;gap:16px}
.credential-card dt{font-size:12px;line-height:1.5;color:#536075;margin-bottom:4px}
.credential-card dd{margin:0;color:#022b66;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.credential-actions{margin-top:auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.credential-section[data-surface] .credential-actions .button.primary{font-size:13px;min-height:44px;padding:12px 18px;gap:16px;background:#2456e8;color:#fff;border-color:#2456e8}
.credential-download{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#022b66;text-underline-offset:4px;text-decoration:underline}
.credential-preview:focus-visible,.credential-download:focus-visible{outline:3px solid #2456e8;outline-offset:-4px}
.credential-download:focus-visible{outline-offset:5px}
.credential-scope{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:56px;padding-top:40px;border-top:1px solid #ffffff40}
.credential-scope h3{font-size:22px;line-height:1.3;margin:0 0 16px;color:#fff}
.credential-scope p{font-size:15px;line-height:1.75;color:#e7edf4;margin:0 0 20px}
.credential-scope .text-link{color:#d9f98b}
@media(max-width:1000px){.credential-grid{grid-template-columns:1fr}.credential-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.credential-preview{border-bottom:0;border-right:1px solid #dbe3ee}.credential-issuer{min-height:0}.credential-scope{gap:32px}}
@media(max-width:600px){.credential-card{display:flex}.credential-preview{border-right:0;border-bottom:1px solid #dbe3ee;padding:24px;min-height:0}.credential-preview img{height:280px}.credential-body{padding:24px}.credential-card h2{font-size:26px}.credential-scope{grid-template-columns:1fr;margin-top:40px;padding-top:32px;gap:24px}.credential-section .section-top h2{font-size:32px}}
