/* site-extra.css: additive to site.css. IR strip, menu intros, scroll motion (rv), capabilities index, orbit single accent. No gradients. */
.irbar{background:var(--ink);color:#EFEEEA;font-size:.84rem}
.irbar .wrap{display:flex;align-items:center;gap:1rem;min-height:38px;flex-wrap:wrap}
.irbar b{color:var(--signal-bright);font-weight:600}
.irbar a{text-decoration:none;font-weight:500;color:var(--signal-bright)}
.irbar a:hover{text-decoration:underline}
.irbar .sp{margin-left:auto;font-size:.76rem;opacity:.7}
.irbar a{display:inline-flex;align-items:center;min-height:44px}
.irbar .irbar-label{font-weight:700}
.ir-cta-short{display:none}
.mega .intro{grid-column:1/-1;font-size:.9rem;color:var(--slate);border-bottom:1px solid var(--rule);padding-bottom:.9rem;margin:0 0 .2rem;max-width:none;line-height:1.45}
.js .rv{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease}
.js .rv.in{opacity:1;transform:none}
.js .rv.rv-d1{transition-delay:.08s}.js .rv.rv-d2{transition-delay:.16s}.js .rv.rv-d3{transition-delay:.24s}
.js .rv-list > li{opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .45s ease}
.js .rv-list.in > li{opacity:1;transform:none}
.js .rv-list.in > li:nth-child(2){transition-delay:.08s}.js .rv-list.in > li:nth-child(3){transition-delay:.16s}.js .rv-list.in > li:nth-child(4){transition-delay:.24s}.js .rv-list.in > li:nth-child(5){transition-delay:.32s}.js .rv-list.in > li:nth-child(6){transition-delay:.4s}
@media(prefers-reduced-motion:reduce){.js .rv,.js .rv-list > li{opacity:1;transform:none;transition:none}}
.orbit-key [data-orbit="one"],.orbit-key [data-orbit="two"],.orbit-key [data-orbit="three"],body.home .orbit-map .point-one,body.home .orbit-map .point-two,body.home .orbit-map .point-three{--orbit-accent:var(--signal)}
body.home .hero .orbit-point{box-shadow:none}
body.home .hero .orbit-core{box-shadow:none}
body.home .orbit-core strong{font-size:1.2rem;line-height:1.15;margin:0}
body.home .orbit-core small{font-size:.74rem;line-height:1.3;margin:.2rem 0 .7rem;color:var(--slate)}
body.home .orbit-core small:last-child{margin-bottom:0}
.capidx{columns:3;column-gap:2.5rem}
.capgrp{break-inside:avoid;margin-bottom:1.8rem}
.capgrp h3{font-size:.74rem;color:var(--signal);font-weight:400;margin-bottom:.6rem;padding-bottom:.4rem;border-bottom:1px solid var(--rule)}
.capgrp ul{list-style:none;margin:0;padding:0}
.capgrp li{padding:.32rem 0;border-bottom:1px solid var(--rule-soft);font-size:.93rem}
.capgrp li a{text-decoration:none}.capgrp li a:hover{color:var(--signal)}
.capgrp li[hidden],.capgrp[hidden]{display:none}
@media(max-width:900px){.capidx{columns:2}}@media(max-width:560px){.capidx{columns:1}}
/* homepage additions: vendor logo strip, news grid */
.logostrip{margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--rule)}
.logostrip ul{list-style:none;margin:.9rem 0 0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:1.2rem 1.6rem;align-items:center}
.logostrip li img{height:22px;width:auto;max-width:100%;filter:grayscale(1);opacity:.62;transition:opacity .2s ease,filter .2s ease}
.logostrip li img:hover{opacity:1;filter:none}
@media(max-width:900px){.logostrip ul{grid-template-columns:repeat(4,1fr)}}@media(max-width:560px){.logostrip ul{grid-template-columns:repeat(3,1fr)}}
.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.newsgrid a{display:block;text-decoration:none;border:1px solid var(--rule);border-radius:2px;padding:1.3rem 1.4rem;background:var(--card);transition:border-color .15s ease}
.newsgrid a:hover{border-color:var(--ink)}
.newsgrid .k{font-size:.72rem;color:var(--signal);display:block;margin-bottom:.6rem}
.newsgrid b{display:block;font-weight:600;line-height:1.3;margin-bottom:.4rem}
.newsgrid small{color:var(--slate);font-size:.88rem;line-height:1.45;display:block}
@media(max-width:820px){.newsgrid{grid-template-columns:1fr}}
/* the record as a dark screen (scoped to the SOC page case section) */
#case .panel{background:var(--machine,#1C2126);border-color:var(--machine-rule,#2E363D);color:var(--machine-text,#C6CFD5)}
#case .panel-top{color:var(--steel,#7E93A0);border-bottom-color:var(--machine-rule,#2E363D)}
#case .panel-top em{border-color:var(--machine-rule,#2E363D)}
#case .caseid{color:#EFEEEA}#case .casemeta{color:var(--steel,#7E93A0);border-bottom-color:var(--machine-rule,#2E363D)}
#case .step{border-bottom-color:var(--machine-rule,#2E363D);color:#D6DDE2}#case .step .t{color:var(--steel,#7E93A0)}
#case .step.human{border-top-color:var(--signal-bright,#FC9A18)}#case .step.human .g,#case .step.human span:nth-child(2){color:var(--signal-bright,#FC9A18)}
#case .case-foot{color:var(--steel,#7E93A0);border-top-color:var(--machine-rule,#2E363D)}#case .case-foot b{color:#EFEEEA}
#case .panel p,#case .panel li{color:#C6CFD5}#case .panel ul li{border-bottom-color:var(--machine-rule,#2E363D)}
/* partners grid */
.prtgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.prt{border:1px solid var(--rule);border-radius:2px;padding:1.4rem 1.5rem;background:var(--card)}
.prt .k{font-size:.72rem;color:var(--slate);display:block;margin-bottom:.5rem}
.prt h3{margin-bottom:.5rem}.prt p{font-size:.92rem;color:var(--slate);line-height:1.5}
.prt a{display:inline-block;margin-top:.7rem;font-size:.88rem;font-weight:600;text-decoration:none;border-bottom:2px solid var(--signal-bright)}
@media(max-width:900px){.prtgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.prtgrid{grid-template-columns:1fr}}

/* Dropdown navigation with supporting descriptions. */
.nl>li>a{font-weight:600}
.mega{padding:2rem;box-shadow:0 24px 48px -16px rgb(0 0 0 / .24)}
.mega[data-open="true"]{column-gap:2rem;row-gap:1.75rem}
.mega .intro{position:relative;padding:0 0 1.25rem 1rem;margin:0;font-size:.875rem;font-weight:600;line-height:1.5;letter-spacing:-.005em;color:var(--ink);border-bottom:1px solid var(--rule)}
.mega .intro::before{content:"";position:absolute;left:0;top:.2rem;width:3px;height:.95rem;background:var(--signal-bright)}
.mega .intro::after{content:"";position:absolute;left:0;bottom:-1px;width:3.5rem;height:1px;background:var(--signal-bright)}
.mega .col h4{padding:0 .65rem;margin:0 0 .75rem;border:0;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.mega .col a{position:relative;display:block;padding:.75rem 1.5rem .75rem .65rem;min-height:48px;border:0;border-radius:2px;transition:background .18s ease,color .18s ease}
.mega .col a b{display:block;font-size:.9375rem;font-weight:600;line-height:1.4;letter-spacing:-.01em}
.mega .col a small{display:block;margin-top:.3rem;color:var(--slate);font-size:.8125rem;font-weight:400;line-height:1.45;letter-spacing:normal}
.mega .col a::before{content:none}
.mega .col a::after{content:"";position:absolute;right:.65rem;top:1.15rem;bottom:auto;width:6px;height:6px;background:transparent;border-top:1px solid currentColor;border-right:1px solid currentColor;opacity:0;transform:translateX(-4px) rotate(45deg);transition:opacity .18s ease,transform .18s ease}
.mega .col a:hover,.mega .col a:focus-visible{background:var(--paper-2);color:var(--signal)}
.mega .col a:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.mega .col a:hover::after,.mega .col a:focus-visible::after{animation:none;opacity:1;transform:translateX(0) rotate(45deg)}
.mega .promo,.mega .promo.alert{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;padding:1.4rem;background:var(--paper-2);border:0;border-radius:2px;color:var(--ink)}
.mega .promo .k{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--slate)}
.mega .promo h5{font-size:1.75rem;font-weight:700;line-height:1.12;letter-spacing:-.035em;margin:.5rem 0 .8rem;max-width:16ch}
.mega .promo p{font-size:.9375rem;line-height:1.5;margin:0 0 1.5rem;color:var(--slate)}
.mega .promo .btn{margin-top:auto;max-width:100%;white-space:normal;text-align:left;border-radius:2px;box-shadow:none}
.mega .promo.alert .k{color:var(--signal)}
/* Outline icons stay beside their labels; feature panels use the navy palette. */
.mega .col a.menu-icon-link{padding-left:2.5rem}
.menu-icon{position:absolute;left:.65rem;top:.85rem;width:21px;height:21px;color:var(--cool);transition:color .18s ease,transform .18s ease}
.menu-icon-link:hover .menu-icon,.menu-icon-link:focus-visible .menu-icon{color:var(--signal);transform:translateY(-1px)}
.mega .promo.menu-feature{background:var(--machine);color:#F4F6F7;padding:1.25rem;align-self:stretch}
.mega .menu-feature .k,.mega .menu-feature.alert .k{color:var(--steel);font-size:.6875rem;letter-spacing:.06em}
.mega .menu-feature h5{font-size:1.375rem;line-height:1.2;margin:.4rem 0 .65rem}
.mega .menu-feature p,.mega .menu-feature.alert p{color:var(--machine-text);font-size:.8125rem;line-height:1.5;margin-bottom:1.25rem}
.mega .menu-feature .btn{font-weight:600}
/* Menu feature boxes: one surface per menu, in nav order. All sit on the machine surface; each carries a different light. */
.mega .promo.menu-feature{position:relative;isolation:isolate;--lift:color-mix(in srgb,var(--steel) 30%,var(--machine))}
/* 1 Security Operations: a signal lamp in the top-left corner. */
.nl>li:nth-child(1) .mega .promo.menu-feature{background:radial-gradient(120% 85% at 0% 0%,color-mix(in srgb,var(--signal-bright) 38%,transparent),transparent 62%),var(--machine)}
.nl>li:nth-child(1) .mega .promo.menu-feature .k{color:var(--signal-bright)}
/* 2 Identity: the surface lifts from top to bottom. */
.nl>li:nth-child(2) .mega .promo.menu-feature{background:linear-gradient(180deg,var(--machine) 20%,var(--lift))}
/* 3 Services: flat surface; the headline carries the fade into orange. */
.nl>li:nth-child(3) .mega .promo.menu-feature{background:linear-gradient(180deg,var(--machine),color-mix(in srgb,var(--steel) 12%,var(--machine)))}
.nl>li:nth-child(3) .mega .promo.menu-feature h5{background:linear-gradient(100deg,#F4F6F7 25%,var(--signal-bright));-webkit-background-clip:text;background-clip:text;color:transparent}
/* 4 AI Enablement: cool steel in the top-right corner, gone by the middle. */
.nl>li:nth-child(4) .mega .promo.menu-feature{background:radial-gradient(100% 75% at 100% 0%,color-mix(in srgb,var(--steel) 55%,transparent),transparent 68%),var(--machine)}
/* 5 Industries: a hairline that runs out, same as the section divider, over a left-to-right lift. */
.nl>li:nth-child(5) .mega .promo.menu-feature{background:linear-gradient(90deg,var(--machine) 15%,var(--lift))}
.nl>li:nth-child(5) .mega .promo.menu-feature::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--signal-bright) 20%,transparent 85%)}
/* 6 Company: warmth low in the bottom-right, wide and clear. */
.nl>li:nth-child(6) .mega .promo.menu-feature{background:radial-gradient(130% 70% at 100% 100%,color-mix(in srgb,var(--signal-bright) 30%,transparent),transparent 70%),var(--machine)}
@media(min-width:1080px){
 .mega{left:24px;right:24px;top:calc(100% + 8px);border-radius:2px;max-height:calc(100dvh - 142px)}
 .mega[data-open="true"]{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr)) minmax(220px,.95fr)}
 .mega{padding:1.25rem 1.5rem;overscroll-behavior:contain}
 .mega[data-open="true"]{column-gap:1.5rem;row-gap:1rem}
 .mega .intro{padding-bottom:.75rem}
 .mega .col h4{margin-bottom:.4rem}
 .mega .col a{padding-top:.5rem;padding-bottom:.5rem}
 .mega .col a small{margin-top:.2rem}
 .mega .col a::after{top:.9rem}
 .menu-icon{top:.55rem}
 .mega .promo,.mega .promo.alert{padding:1.25rem;align-self:start}

}
@media(max-width:1079px){
 .nav .in{height:64px}
 .nav .mark{min-height:48px}
 .burger{min-width:56px;min-height:48px;font-size:.875rem}
 .navcta .ir-cta{min-height:48px}
 .nl{top:var(--drawer-top,64px);bottom:auto;height:var(--drawer-height,calc(100dvh - var(--drawer-top,64px)));padding:8px max(1rem,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-block:8px}
 .nl>li{flex:none;display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center}
 .nl>li>a{min-height:52px;display:flex;align-items:center;padding:.65rem .5rem;font-size:1rem;line-height:1.35}
 .chev{width:48px;height:48px;padding:0}
 .nl>li.open .chev::after{transform:rotate(225deg) translate(-1px,-1px)}
 .mega{grid-column:1/-1;min-width:0;width:100%;padding:0 .5rem .75rem;box-shadow:none}
 .mega[data-open="true"]{display:block}
 .mega .intro,.mega .col h4,.mega .col a small,.mega .promo,.mega .promo.alert{display:none}
 .mega .col{margin:0}
 .mega .col a{display:flex;align-items:center;min-height:48px;padding:.65rem 1.5rem .65rem .75rem;overflow-wrap:anywhere}
 .mega .col a b{font-size:.9375rem;line-height:1.4;font-weight:500}
 .mega .promo.menu-feature{display:none}
 .menu-icon{top:50%;transform:translateY(-50%);width:20px;height:20px}
 .menu-icon-link:hover .menu-icon,.menu-icon-link:focus-visible .menu-icon{transform:translateY(-50%)}
 .mega .col a::after{top:calc(50% - 3px);opacity:.45;transform:rotate(45deg)}
 body.menu-open{position:fixed;top:var(--menu-scroll-y);width:100%;overflow:hidden}
 body.menu-open .nav{position:fixed;top:var(--menu-nav-top,0px);left:0;right:0}
}
@media(max-width:1079px){
 .irbar .wrap{min-height:48px;padding-inline:max(1rem,env(safe-area-inset-left)) max(1rem,env(safe-area-inset-right));gap:.5rem;justify-content:space-between;flex-wrap:nowrap;font-size:.8125rem}
 .irbar .irbar-copy,.irbar .irbar-online,.irbar .sp{display:none}
 .irbar .irbar-phone{white-space:nowrap;font-size:.875rem}
}
@media(max-width:600px){
 .nav .in{padding-inline:max(1rem,env(safe-area-inset-left)) max(1rem,env(safe-area-inset-right))}
 .navcta .ir-cta{font-size:.8125rem;padding:.6rem .75rem;white-space:normal}
 .ir-cta-long{display:none}.ir-cta-short{display:inline}
}
@media(prefers-reduced-motion:reduce){.mega,.mega .col a,.mega .col a::after,.menu-icon{transition:none}}

/* UK cookie consent */
.consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;max-width:40rem;margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.25rem;padding:1rem 1.25rem;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:2px;box-shadow:0 6px 24px #0000001f}
.consent[hidden]{display:none}
.consent p{flex:1 1 18rem;margin:0;font-size:.9rem;line-height:1.55;max-width:none}
.consent p a{color:var(--signal)}
.consent-acts{display:flex;gap:.6rem}
.consent-acts .btn{padding:.55rem 1.1rem;font-size:.88rem}
.consent-link{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.consent-link:hover{text-decoration:underline}
@media(max-width:480px){.consent-acts{width:100%}.consent-acts .btn{flex:1}}

/* Dark theme: the menu surface is already dark, so the feature boxes carry real colour. */
[data-theme="dark"] .mega .promo.menu-feature{--lift:#3D5B75;border:1px solid #ffffff1f;box-shadow:inset 0 1px 0 #ffffff14,0 12px 32px #0006}
[data-theme="dark"] .nl>li:nth-child(1) .mega .promo.menu-feature{background:radial-gradient(110% 90% at 0% 0%,#FC9A18d9,#E2600Ab8 30%,transparent 65%),linear-gradient(160deg,#2A1A0C,#0E1216 70%)}
[data-theme="dark"] .nl>li:nth-child(2) .mega .promo.menu-feature{background:radial-gradient(90% 70% at 100% 100%,#5A8DB8cc,transparent 65%),linear-gradient(165deg,#0E1216 5%,#1E3A5F 55%,#2F5A85)}
[data-theme="dark"] .nl>li:nth-child(3) .mega .promo.menu-feature{background:radial-gradient(100% 80% at 100% 100%,#FC9A18cc,#B85C0Aa0 35%,transparent 68%),linear-gradient(160deg,#1C2530,#0E1216 55%)}
[data-theme="dark"] .nl>li:nth-child(4) .mega .promo.menu-feature{background:radial-gradient(95% 80% at 100% 0%,#6FA3D0e0,#2F5A85b0 35%,transparent 70%),linear-gradient(200deg,#0E1216 30%,#162433)}
[data-theme="dark"] .nl>li:nth-child(5) .mega .promo.menu-feature{background:linear-gradient(105deg,#0E1216 5%,#1E3A5F 42%,#4A7BA6 68%,#FC9A18 130%)}
[data-theme="dark"] .nl>li:nth-child(5) .mega .promo.menu-feature::before{background:linear-gradient(90deg,#FC9A18,#FFC470 60%,transparent 95%)}
[data-theme="dark"] .nl>li:nth-child(6) .mega .promo.menu-feature{background:radial-gradient(120% 75% at 100% 100%,#FC9A18e6,#D4700Db0 30%,transparent 68%),linear-gradient(200deg,#1E3A5F,#0E1216 60%)}
[data-theme="dark"] .mega .menu-feature .k{color:#DCE6EF}
[data-theme="dark"] .mega .menu-feature p{color:#E3E9EE}
