/* Editorial refinement: shared across all nineteen pages. */
:root{--red:#a91527;--paper:#f3f3f0}body{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.8}h1,h2,h3{letter-spacing:-.045em}h1{font-weight:500}h2{font-weight:500}.wrap{max-width:1400px}.header{min-height:110px}.brand{width:310px}nav{gap:30px}nav a{font-size:13px}.home-hero{display:grid;grid-template-columns:1.08fr 1fr;background:#15181d;min-height:650px;overflow:hidden}.home-hero:before{display:none}.home-hero .wrap{width:100%;margin:0;padding-left:max(56px,calc((100vw - 1288px)/2));padding-right:40px;padding-top:72px;padding-bottom:30px}.home-hero h1{font-size:clamp(48px,4.85vw,74px);max-width:650px;line-height:1.04}.home-hero em{color:#e5e3dc}.home-hero .lead{font-size:17px;max-width:455px;color:#bcc3cd;margin-top:28px}.home-hero .actions{gap:22px;margin:32px 0 50px}.home-hero .actions .text-link{font-size:12px}.hero-image{display:block;min-width:0;position:relative}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:52% center}.hero-foot{font-size:9px;gap:14px;flex-wrap:wrap;letter-spacing:.06em}.eyebrow{color:#ee8793;font-size:10px;letter-spacing:.18em}.section{padding:105px 0}.service-row{padding:33px 0;transition:background .2s}.service-row:hover{background:#e9e9e4}.service-row h3{font-size:23px;line-height:1.25}.service-row p{font-size:14px}.feature{gap:80px}.feature img{height:510px;filter:none}.sector-grid img{height:290px;filter:none}.sector-grid a{border-bottom:1px solid var(--line)}.sector-grid h3{font-size:20px;padding:6px 0 10px}.page-hero{grid-template-columns:1.15fr 1fr;min-height:440px}.page-hero .wrap{padding-top:76px;padding-bottom:65px}.page-hero img{filter:none}.page-hero .lead{font-size:18px;color:#c3cad3}.page-hero h1{font-size:clamp(40px,4vw,62px);line-height:1.1}.industry-detail img{height:365px;filter:none}.cta{background:#171b20;border-top:3px solid #a91527}.cta h2{font-size:44px}.cta .button{background:#a91527;border-color:#a91527}.detail .prose h2{font-size:34px}.detail aside a{border-bottom:1px solid var(--line);padding-bottom:9px}.resource{padding:34px 0 12px}footer{padding-top:65px}.button{transition:background .2s,transform .2s}.button:hover{transform:translateY(-1px)}
@media(max-width:1100px){.brand{width:260px}nav{gap:20px}.home-hero .wrap{padding-left:30px;padding-right:30px}.home-hero h1{font-size:58px}.hero-foot{gap:8px}.feature{gap:40px}.home-hero .actions{align-items:flex-start;flex-direction:column;margin-bottom:30px}}@media(max-width:780px){.header{min-height:83px}.brand{width:230px}nav{top:83px;gap:10px}.home-hero{grid-template-columns:1fr;min-height:0}.home-hero .wrap{padding:54px 24px 28px}.home-hero h1{font-size:clamp(46px,9vw,62px)}.home-hero .actions{flex-direction:row;margin:30px 0}.hero-image{height:320px}.hero-image img{object-position:center 48%}.hero-foot{flex-direction:row;gap:10px 20px}.section{padding:65px 0}.page-hero{grid-template-columns:1fr;min-height:0}.page-hero .wrap{padding:50px 24px}.page-hero img{height:260px}.feature{gap:30px}.feature img{height:330px}.sector-grid img{height:280px}.cta h2{font-size:36px}.industry-detail img{height:290px}}@media(max-width:380px){.brand{width:195px}.home-hero h1{font-size:44px}.hero-image{height:260px}.home-hero .button{font-size:12px;padding:14px 17px}}

/* High-density brand presentation. */
@media(min-width:1101px){.brand{width:360px}.header{min-height:144px}}.footer-logo{width:360px}
/* Graphite branding: a quiet metallic identity for the header and footer. */
header,footer{background:#15181d}
header{border-bottom:1px solid #363b43}
.topline{background:#101317;color:#b8bec6;border-bottom:1px solid #2b3037}
.header{min-height:126px;gap:32px}
.brand{width:390px;max-width:46%;display:block}
.brand img,.footer-logo{mix-blend-mode:lighten}
nav a{color:#d3d7dd;letter-spacing:.025em}
nav a:hover,nav a[aria-current]{border-color:#a91527}
.footer-logo{width:390px;max-width:100%;margin-bottom:24px}
footer{border-top:1px solid #363b43;padding-top:48px}
footer .legal{border-color:#363b43}
.menu{border-color:#606773;border-radius:3px;background:#1e232b;font-size:13px;min-height:44px}
@media(max-width:1100px){.brand{width:300px}.header{min-height:112px}nav{gap:17px}}
@media(max-width:780px){.header{min-height:100px;gap:18px}.brand{width:280px;max-width:calc(100% - 88px)}nav{top:100px;background:#15181d;border-bottom:1px solid #363b43}.footer-logo{width:340px}}
@media(max-width:380px){.brand{width:225px}.header{gap:12px}}
/* Phone and tablet layouts, with comfortable touch targets. */
html{scroll-padding-top:130px}
main,.wrap,.split>*,.feature>*,.contact-grid>*,.detail>*,.industry-detail>*{min-width:0}
.prose,.notice,.resource,footer p{overflow-wrap:anywhere}
input,select,textarea{min-width:0;max-width:100%}
@media(max-width:960px){
 .topline{display:none}
 .header{min-height:100px;gap:18px}
 .brand{width:300px;max-width:calc(100% - 90px)}
 .menu{display:block;flex-shrink:0}
 nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:0;padding:12px 24px 20px;background:#15181d;border-bottom:1px solid #363b43;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
 nav[data-collapsed="true"]{display:none}
 nav a{min-height:48px;padding:12px 4px;border-bottom:1px solid #363b43}
 .contact-grid{grid-template-columns:1fr;gap:32px}
 .detail{grid-template-columns:1fr;gap:30px}
 .detail aside{position:static;flex-direction:row;flex-wrap:wrap;gap:12px 20px}
 .detail aside .eyebrow{width:100%;margin:0}
}
@media(max-width:600px){
 html{scroll-padding-top:100px}
 .wrap{padding-left:20px;padding-right:20px}
 .header{min-height:88px;gap:12px}
 .brand{width:260px;max-width:calc(100% - 80px)}
 nav{padding-left:20px;padding-right:20px;max-height:calc(100dvh - 88px)}
 .menu{padding:9px 12px}
 .home-hero .wrap{padding:38px 20px 26px}
 .home-hero h1{font-size:clamp(36px,10vw,54px)}
 .home-hero .lead,.page-hero .lead{font-size:16px}
 .home-hero .actions{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin:26px 0}
 .actions .text-link{align-self:flex-start;min-height:44px}
 .hero-image{height:240px}
 .page-hero .wrap{padding:38px 20px}
 .page-hero h1{font-size:clamp(32px,9vw,46px);overflow-wrap:anywhere}
 .page-hero img{height:200px}
 .section{padding:48px 0}
 h2,.detail .prose h2,.prose h2{font-size:clamp(28px,7.5vw,36px)}
 .steps{grid-template-columns:1fr;gap:22px}
 .steps h3{margin-top:12px}
 .service-row{gap:10px;grid-template-columns:24px minmax(0,1fr) 18px;padding:24px 0}
 .service-row h3{font-size:20px;overflow-wrap:anywhere}
 .feature img,.industry-detail img{height:250px}
 .industry-jump{gap:8px 18px}
 .industry-jump a,.detail aside a{min-height:44px;display:inline-flex;align-items:center}
 .cta{padding:42px 0}
 .cta h2{font-size:30px}
 .cta .button,form .button{width:100%}
 .button{min-height:48px;text-align:center}
 .footer-logo{width:320px;margin-left:-4px}
 .footer-nav{gap:0 20px}
 .footer-nav a{min-height:44px;display:flex;align-items:center}
 footer{padding-top:32px}
 .legal{margin-top:24px}
 .check{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px}
 .check input{flex-shrink:0;margin-top:6px}
}
/* A stationary cyber backdrop; page content scrolls independently above it. */
body{background:#15181d;isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('/assets/cyber-network.svg') center center/cover no-repeat;opacity:.38}
main>.section{background:rgba(255,255,255,.96)}
main>.section.paper{background:rgba(243,243,240,.96)}
main>.section.graphite{background:rgba(21,24,29,.92)}
.home-hero,.page-hero{background-color:rgba(21,24,29,.88)}
.cta{background:rgba(23,27,32,.90)}
footer{background:rgba(21,24,29,.92)}
@media(max-width:600px){body::before{background-size:auto 100%;background-position:35% center;opacity:.3}}
/* Policy reading layouts and accessible footer links. */
.policy-hero{background:rgba(21,24,29,.88);color:#fff;padding:64px 0 52px}
.policy-hero h1{font-size:clamp(36px,4.5vw,64px);max-width:1000px}
.policy-hero .lead{color:#c9ced6;max-width:780px}
.policy-meta{font-size:12px;color:#bec5ce;margin:28px 0 0}
.policy-layout{grid-template-columns:260px minmax(0,1fr)}
.policy-layout aside{font-size:13px;gap:10px;top:150px}
.policy-layout .prose{max-width:880px}
.policy-layout .prose h2{font-size:28px;line-height:1.2}
.policy-source{padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.policy-related{padding-top:30px;margin-top:30px;border-top:1px solid var(--line)}
.policy-related a{display:inline-block;padding:7px 0}
.policy-footer{display:flex;flex-wrap:wrap;gap:4px 26px;border-top:1px solid #363b43;margin-top:32px;padding-top:22px}
.policy-footer a{min-height:44px;display:inline-flex;align-items:center;font-size:12px;color:#d0d5dd}
.policy-footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:960px){.policy-layout{grid-template-columns:1fr}.policy-layout aside{position:static;flex-direction:row;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px}.policy-layout aside .eyebrow{width:100%}}
@media(max-width:600px){.policy-hero{padding:38px 0}.policy-hero h1{font-size:36px;overflow-wrap:anywhere}.policy-hero .lead{font-size:16px}.policy-layout .prose h2{font-size:26px}.policy-footer{display:grid;grid-template-columns:1fr;gap:0}.policy-meta{line-height:1.7}}
