:root{
  --petrol:#0b1b1d;
  --petrol-2:#13282a;
  --ink:#172122;
  --ivory:#f3f1ea;
  --paper:#faf9f5;
  --white:#fff;
  --lime:#b8dc00;
  --lime-deep:#718900;
  --orange:#ee7203;
  --muted:#6b7472;
  --line:rgba(23,33,34,.15);
  --line-light:rgba(255,255,255,.2);
  --max:1360px;
  --gutter:clamp(22px,4vw,64px);
  --sans:"Segoe UI Variable","Aptos","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
button{color:inherit}
[hidden]{display:none!important}
::selection{background:var(--lime);color:var(--petrol)}
.container{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}
.section{padding:clamp(90px,10vw,150px) 0}
.surface{background:var(--ivory)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--lime-deep);font-size:.69rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--lime)}
.cinema-hero .eyebrow{color:#deec9a}
.display{margin:0;font-size:clamp(3rem,6vw,6.6rem);font-weight:580;letter-spacing:-.065em;line-height:.96}
.display em{font-style:normal;color:var(--lime)}
.section-heading{display:grid;grid-template-columns:.6fr 1.6fr .8fr;gap:clamp(28px,5vw,78px);align-items:start;margin-bottom:clamp(48px,6vw,82px)}
.section-heading h2{font-size:clamp(2.7rem,4.7vw,5rem)}
.section-heading p{margin:.4rem 0 0;color:var(--muted);font-size:1rem}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;padding:0 20px;border:1px solid rgba(23,33,34,.35);border-radius:3px;background:transparent;color:var(--ink);font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.button:hover{transform:translateY(-2px);background:var(--petrol);border-color:var(--petrol);color:var(--white)}
.button-primary{background:var(--lime);border-color:var(--lime);color:var(--petrol)}
.button-primary:hover{background:#c6e936;border-color:#c6e936;color:var(--petrol)}
.button-light{border-color:rgba(255,255,255,.55);color:var(--white)}
.button-light:hover{background:var(--white);border-color:var(--white);color:var(--petrol)}
.text-link{display:inline-flex;align-items:center;gap:15px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.text-link span{font-size:1.1rem;transition:transform .25s}.text-link:hover span{transform:translateX(5px)}
.progress{position:fixed;z-index:300;left:0;top:0;width:0;height:2px;background:linear-gradient(90deg,var(--lime),var(--orange))}

/* Header */
.site-header{position:fixed;z-index:150;left:0;right:0;top:0;color:#fff;border-bottom:1px solid rgba(255,255,255,.18);transition:background .35s,box-shadow .35s,color .35s,transform .4s var(--ease)}
.site-header.scrolled{background:rgba(250,249,245,.96);color:var(--ink);border-bottom-color:var(--line);box-shadow:0 12px 40px rgba(11,27,29,.08);backdrop-filter:blur(16px)}
.site-header.hidden{transform:translateY(-102%)}
.nav{height:92px;display:grid;grid-template-columns:220px 1fr auto;gap:30px;align-items:center}
.brand{display:block;width:182px;height:68px}
.brand img{width:100%;height:100%;object-fit:contain}
.site-header:not(.scrolled) .brand img{filter:drop-shadow(0 2px 10px rgba(0,0,0,.25))}
.nav-menu{display:flex;justify-content:center;gap:clamp(18px,2.5vw,40px)}
.nav-menu a{position:relative;padding:35px 0 30px;font-size:.73rem;font-weight:700;letter-spacing:.03em}
.nav-menu a::after{content:"";position:absolute;left:0;right:100%;bottom:24px;height:2px;background:var(--lime);transition:right .3s var(--ease)}
.nav-menu a:hover::after,.nav-menu a.active::after{right:0}
.nav-actions{display:flex;align-items:center}.platform-links{display:flex;align-items:stretch;gap:8px}.platform-nav{--access-accent:#9cbc44;position:relative;min-width:0;height:48px;padding:0 15px;display:flex;align-items:center;gap:8px;background:rgba(7,20,22,.16);color:inherit;border:1px solid rgba(255,255,255,.34);border-radius:999px;text-transform:uppercase;box-shadow:none;backdrop-filter:blur(10px);transition:background-color .28s var(--ease),border-color .28s var(--ease),color .28s var(--ease),transform .28s var(--ease),box-shadow .28s var(--ease)}.site-header.scrolled .platform-nav{border-color:var(--line);background:rgba(255,255,255,.62)}.platform-nav:hover,.platform-nav:focus-visible{background:color-mix(in srgb,var(--access-accent) 12%,rgba(7,20,22,.16));border-color:color-mix(in srgb,var(--access-accent) 58%,transparent);transform:translateY(-1px);box-shadow:0 7px 18px rgba(5,18,20,.1)}.site-header.scrolled .platform-nav:hover,.site-header.scrolled .platform-nav:focus-visible{background:color-mix(in srgb,var(--access-accent) 9%,#fff)}.platform-nav:focus-visible{outline:1px solid var(--access-accent);outline-offset:2px}.platform-nav-rgpd{--access-accent:#a4c84c}.platform-nav-incidents{--access-accent:#e59152;min-width:0}.platform-nav-icon{width:25px;height:25px;flex:0 0 25px;border:1px solid color-mix(in srgb,var(--access-accent) 72%,transparent);border-radius:50%;display:grid;place-items:center;color:var(--access-accent);transition:background-color .28s var(--ease),color .28s var(--ease),transform .28s var(--ease)}.platform-nav-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.platform-nav:hover .platform-nav-icon,.platform-nav:focus-visible .platform-nav-icon{background:var(--access-accent);color:var(--petrol);transform:scale(1.05)}.platform-nav-copy small{display:none}.platform-nav-copy b{display:block;margin:0;font-size:.64rem;font-weight:850;line-height:1;letter-spacing:.09em;transition:color .25s}.platform-nav:hover .platform-nav-copy b,.platform-nav:focus-visible .platform-nav-copy b{color:var(--access-accent)}.platform-nav i{margin-left:1px;color:var(--access-accent);font-size:.62rem;font-style:normal;opacity:.75;transition:transform .3s,opacity .3s}.platform-nav:hover i,.platform-nav:focus-visible i{opacity:1;transform:translate(2px,-2px)}.mobile-platforms{display:none}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid currentColor;background:transparent;cursor:pointer}
.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";display:block;width:20px;height:1px;background:currentColor;margin:5px auto;transition:.3s}
.menu-toggle.open span{opacity:0}.menu-toggle.open::before{transform:translateY(6px) rotate(45deg)}.menu-toggle.open::after{transform:translateY(-6px) rotate(-45deg)}

/* Cinematic hero */
.cinema-hero{position:relative;min-height:100svh;overflow:hidden;background:var(--petrol);color:#fff;display:flex;align-items:end}
.hero-media{position:absolute;inset:0}.hero-media picture{display:block;width:100%;height:100%}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.04);animation:heroEnter 1.5s var(--ease) forwards}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,18,20,.92) 0%,rgba(7,18,20,.67) 39%,rgba(7,18,20,.14) 72%),linear-gradient(0deg,rgba(7,18,20,.7),transparent 55%)}
.hero-content{position:relative;z-index:2;padding-top:190px;padding-bottom:70px;width:100%}
.hero-copy{max-width:940px}.hero-copy h1{margin:25px 0 28px;color:#fff;font-size:clamp(4rem,8vw,9.2rem)}
.hero-copy p{max-width:610px;margin:0;color:#d7dfdd;font-size:1.08rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.hero-foot{margin-top:75px;padding-top:22px;border-top:1px solid rgba(255,255,255,.25);display:grid;grid-template-columns:1fr auto;gap:30px;color:#bac5c2;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hero-foot div{display:flex;gap:28px}.hero-foot i{width:5px;height:5px;margin:auto 0;border-radius:50%;background:var(--lime)}
.hero-scroll{position:absolute;z-index:3;right:var(--gutter);bottom:54px;width:58px;height:58px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.1rem;animation:scrollPulse 2.4s ease-in-out infinite}

/* Proof strip */
.proof{background:var(--paper);border-bottom:1px solid var(--line)}
.proof-grid{display:grid;grid-template-columns:1.15fr repeat(3,.7fr)}
.proof-item{min-height:135px;padding:28px 26px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line)}
.proof-item:first-child{padding-left:0}.proof-item:last-child{border:0}
.proof-item strong{display:block;color:var(--petrol);font-size:2.15rem;font-weight:600;letter-spacing:-.05em;line-height:1}
.proof-item span{margin-top:8px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.proof-item:first-child strong{font-size:1.2rem;line-height:1.35;letter-spacing:-.02em}

/* Intro split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,8vw,125px);align-items:center}
.split-copy h2{margin:22px 0 25px;font-size:clamp(2.8rem,4.8vw,5.3rem)}
.split-copy>p{max-width:590px;color:var(--muted);font-size:1.02rem}
.split-copy .button{margin-top:20px}
.media-frame{position:relative;min-height:680px;overflow:hidden;background:#d6dad5}
.media-frame picture{position:absolute;inset:0;display:block}.media-frame img{position:absolute;inset:0;width:100%;height:106%;object-fit:cover;transform:translateY(var(--parallax,0))}
.media-frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.35);margin:16px;pointer-events:none}
.media-caption{position:absolute;z-index:2;left:28px;right:28px;bottom:25px;padding-top:16px;border-top:1px solid rgba(255,255,255,.55);display:flex;justify-content:space-between;color:#fff;font-size:.63rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}

/* Services image gallery */
.service-gallery{background:var(--petrol);color:#fff}
.service-gallery .section-heading p{color:#aebbb9}
.capability-map{position:relative;border:1px solid #31494a;background:#071416;color:#fff;overflow:hidden;isolation:isolate;box-shadow:0 45px 120px rgba(0,0,0,.24)}
.capability-map::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(88,121,117,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(88,121,117,.045) 1px,transparent 1px),radial-gradient(circle at 50% 24%,rgba(184,220,0,.075),transparent 34%),linear-gradient(145deg,#0c2123,#061214 72%);background-size:34px 34px,34px 34px,auto,auto}
.capability-map-head{min-height:78px;padding:0 24px;display:grid;grid-template-columns:1fr 1.3fr auto;gap:30px;align-items:center;border-bottom:1px solid #304748;color:#879b98}
.capability-map-head>span{color:var(--lime);font-size:.58rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.capability-map-head p{margin:0;font-size:.7rem;text-align:center}.capability-map-head small{display:flex;align-items:center;gap:9px;font-size:.51rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.capability-map-head small i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 14px var(--lime);animation:capability-online 1.8s ease-in-out infinite}
.capability-map-body{position:relative;padding:50px 40px 44px}.capability-hub{position:relative;z-index:2;width:min(570px,72%);min-height:92px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:18px 22px;border:1px solid #4b6865;background:linear-gradient(110deg,#163235,#0d2224);box-shadow:0 18px 42px rgba(0,0,0,.22)}.capability-hub>span{display:grid;place-items:center;width:62px;height:54px;border:1px solid var(--lime);color:var(--lime);font-size:.65rem;font-weight:950;letter-spacing:.14em}.capability-hub div{display:grid;gap:5px}.capability-hub strong{font-size:.82rem;letter-spacing:-.01em}.capability-hub small{color:#8fa5a1;font-size:.54rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.capability-hub>i{width:10px;height:10px;border:2px solid var(--lime);border-radius:50%;box-shadow:0 0 16px rgba(184,220,0,.65)}
.capability-rail{position:relative;height:58px;margin:0 12.5%}.capability-rail::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#42605d;box-shadow:0 -58px #42605d}.capability-rail::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#42605d}.capability-rail i{position:absolute;z-index:2;bottom:-2px;left:0;width:54px;height:5px;background:linear-gradient(90deg,transparent,var(--lime),transparent);filter:drop-shadow(0 0 7px var(--lime));animation:capability-flow 6.4s linear infinite}
.capability-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#304849;border:1px solid #304849}.capability-node{--accent:#b8dc00;position:relative;min-width:0;min-height:245px;padding:22px;display:flex;flex-direction:column;background:#0b2022;color:#fff;overflow:hidden;opacity:0;transform:translateY(18px);transition:background .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease),opacity .55s var(--ease);transition-delay:calc(var(--order)*55ms)}.capability-map.is-visible .capability-node{opacity:1;transform:none}.capability-node::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(.12);transform-origin:left;opacity:.55;transition:transform .45s var(--ease),opacity .35s}.capability-node::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 25%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 48%);opacity:0;transition:opacity .35s;pointer-events:none}.capability-node:hover,.capability-node:focus-visible,.capability-node.is-active{z-index:2;background:#102a2c;box-shadow:0 18px 42px rgba(0,0,0,.26)}.capability-node:hover::before,.capability-node:focus-visible::before,.capability-node.is-active::before{transform:scaleX(1);opacity:1}.capability-node:hover::after,.capability-node:focus-visible::after,.capability-node.is-active::after{opacity:1}.capability-node:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.capability-index{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;color:var(--accent);font-size:.64rem;font-weight:900;letter-spacing:.12em}.capability-index small{color:#78908d;font-size:.46rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.capability-icon{position:relative;z-index:1;width:62px;height:62px;margin:28px 0 25px;display:grid;place-items:center;color:#7f9895;transition:color .35s,transform .4s var(--ease)}.capability-icon::before{content:"";position:absolute;inset:0;border:1px solid #314c4a;transform:rotate(45deg);transition:border-color .35s,transform .45s var(--ease)}.capability-icon svg{position:relative;width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.capability-icon svg *{stroke-dasharray:130;stroke-dashoffset:130}.capability-map.is-visible .capability-icon svg *{animation:capability-draw 1.15s var(--ease) forwards;animation-delay:calc(.18s + var(--order)*70ms)}.capability-node:hover .capability-icon,.capability-node:focus-visible .capability-icon,.capability-node.is-active .capability-icon{color:var(--accent);transform:translateY(-3px)}.capability-node:hover .capability-icon::before,.capability-node:focus-visible .capability-icon::before,.capability-node.is-active .capability-icon::before{border-color:var(--accent);transform:rotate(135deg)}
.capability-copy{position:relative;z-index:1;margin-top:auto;display:grid;gap:8px}.capability-copy strong{font-size:1rem;line-height:1.08;letter-spacing:-.025em}.capability-copy small{color:#91a5a2;font-size:.61rem;line-height:1.45}.capability-arrow{position:absolute;z-index:2;right:19px;bottom:20px;color:var(--accent);font-size:.9rem;opacity:.42;transform:translate(-5px,5px);transition:opacity .35s,transform .35s}.capability-node:hover .capability-arrow,.capability-node:focus-visible .capability-arrow,.capability-node.is-active .capability-arrow{opacity:1;transform:none}.capability-signal{position:absolute;top:-5px;left:50%;width:9px;height:9px;border:2px solid #58716e;border-radius:50%;background:#0b2022;transform:translateX(-50%);transition:background .35s,border-color .35s,box-shadow .35s}.capability-node.is-active .capability-signal,.capability-node:hover .capability-signal,.capability-node:focus-visible .capability-signal{background:var(--accent);border-color:var(--accent);box-shadow:0 0 14px var(--accent)}
.capability-map-foot{min-height:62px;padding:0 24px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;border-top:1px solid #304748;color:#718985;font-size:.51rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.capability-map-foot i{height:1px;background:linear-gradient(90deg,var(--lime),#3d5754 18%,#3d5754 82%,var(--orange))}.capability-map-foot small{font:inherit}
@keyframes capability-online{50%{opacity:.35;transform:scale(.7)}}@keyframes capability-flow{from{transform:translateX(-54px)}to{transform:translateX(calc(100vw - 330px))}}@keyframes capability-draw{to{stroke-dashoffset:0}}
@media(max-width:980px){.capability-map-body{padding-inline:26px}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-node{min-height:220px}.capability-rail{margin:0 25%}.capability-hub{width:min(570px,88%)}}
@media(max-width:700px){.capability-map-head{min-height:104px;padding:16px 18px;grid-template-columns:1fr auto;gap:8px 15px}.capability-map-head p{grid-column:1/-1;grid-row:2;text-align:left}.capability-map-head small{font-size:.45rem}.capability-map-body{padding:28px 14px 24px}.capability-hub{width:100%;min-height:78px;grid-template-columns:auto 1fr;padding:13px 14px;gap:13px}.capability-hub>span{width:50px;height:46px;font-size:.55rem}.capability-hub>i{display:none}.capability-hub strong{font-size:.7rem}.capability-hub small{font-size:.44rem}.capability-rail{height:28px;margin:0 0 0 24px;border-left:1px solid #42605d}.capability-rail::before,.capability-rail::after,.capability-rail i{display:none}.capability-grid{grid-template-columns:1fr;margin-left:24px}.capability-node{min-height:124px;padding:17px 18px;display:grid;grid-template-columns:54px minmax(0,1fr) 24px;grid-template-rows:auto 1fr;column-gap:14px;align-items:center}.capability-node::before{top:0;bottom:0;right:auto;width:3px;height:auto;transform:scaleY(.14);transform-origin:top}.capability-node:hover::before,.capability-node:focus-visible::before,.capability-node.is-active::before{transform:scaleY(1)}.capability-index{grid-column:2;grid-row:1;justify-content:flex-start;gap:10px;align-self:end;margin-bottom:6px}.capability-index small{font-size:.43rem}.capability-icon{grid-column:1;grid-row:1/3;width:46px;height:46px;margin:0}.capability-icon svg{width:29px;height:29px}.capability-copy{grid-column:2;grid-row:2;margin:0;align-self:start;gap:4px}.capability-copy strong{font-size:.88rem}.capability-copy small{font-size:.54rem}.capability-arrow{position:static;grid-column:3;grid-row:1/3;justify-self:end;font-size:.78rem}.capability-signal{top:50%;left:-29px;transform:translateY(-50%)}.capability-map-foot{min-height:56px;padding:0 16px;grid-template-columns:1fr;text-align:center}.capability-map-foot i,.capability-map-foot small{display:none}}
@media(prefers-reduced-motion:reduce){.capability-map-head small i,.capability-rail i{animation:none}.capability-node{opacity:1;transform:none;transition:none}.capability-map.is-visible .capability-icon svg *{animation:none;stroke-dashoffset:0}.capability-icon,.capability-icon::before{transition:none}}

/* Platforms */
.platform-suite{background:var(--ivory)}
.platform-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.platform-panel{position:relative;min-height:630px;padding:clamp(30px,4vw,52px);overflow:hidden;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.platform-panel.dark{background:var(--petrol);color:#fff;border-color:var(--petrol)}
.platform-panel h3{margin:13px 0 12px;font-size:clamp(2.25rem,3.6vw,4rem);font-weight:560;letter-spacing:-.05em;line-height:1.03}
.platform-panel p{max-width:470px;color:var(--muted)}.platform-panel.dark p{color:#aebbb9}
.product-ui{position:relative;height:290px;margin-top:32px;background:#f8f8f5;border:1px solid var(--line);box-shadow:0 25px 65px rgba(11,27,29,.12);overflow:hidden;transition:transform .6s var(--ease)}
.platform-panel:hover .product-ui{transform:translateY(-8px)}
.dark .product-ui{background:#102426;border-color:#34494a;box-shadow:0 25px 65px rgba(0,0,0,.3)}
.product-ui-head{height:46px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:.6rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.dark .product-ui-head{border-color:#34494a}
.product-ui-dots{display:flex;gap:6px}.product-ui-dots i{width:6px;height:6px;border-radius:50%;background:#c7cbc4}.product-ui-dots i:last-child{background:var(--lime)}
.product-ui-body{display:grid;grid-template-columns:105px 1fr;height:calc(100% - 46px)}
.product-ui-side{padding:19px 15px;border-right:1px solid var(--line)}.dark .product-ui-side{border-color:#34494a}.product-ui-side i{display:block;height:7px;margin-bottom:14px;background:currentColor;opacity:.13}
.product-ui-main{padding:22px}.ui-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ui-metric{padding:12px;border:1px solid var(--line)}.dark .ui-metric{border-color:#34494a}.ui-metric strong{display:block;font-size:1.35rem;font-weight:580}.ui-metric span{font-size:.55rem;color:var(--muted)}.dark .ui-metric span{color:#90a09d}
.ui-rows{margin-top:17px}.ui-row{height:32px;padding:0 10px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.dark .ui-row{border-color:#34494a}.ui-row i{width:6px;height:6px;border-radius:50%;background:var(--lime)}.ui-row b{width:44%;height:5px;background:currentColor;opacity:.12}.ui-row span{margin-left:auto;font-size:.55rem;color:var(--muted)}

/* Products */
.products-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:15px}
.own-product{min-height:430px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);background:var(--paper);transition:transform .35s var(--ease),box-shadow .35s}
.own-product:first-child{background:var(--lime);border-color:var(--lime)}
.own-product:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(11,27,29,.1)}
.own-product small{font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.own-product-mark{font-size:clamp(2.8rem,4vw,4.5rem);font-weight:680;letter-spacing:-.065em;color:var(--petrol)}
.own-product h3{margin:0 0 8px;font-size:1.25rem;font-weight:580}.own-product p{margin:0 0 20px;color:var(--muted);font-size:.88rem}.own-product:first-child p{color:#425000}

/* Process */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.process-step{position:relative;min-height:330px;padding:30px 28px 30px 0;border-right:1px solid var(--line)}
.process-step:not(:first-child){padding-left:28px}.process-step:last-child{border:0}
.process-step span{color:var(--lime-deep);font-size:.67rem;font-weight:800}.process-step h3{margin:95px 0 10px;font-size:1.22rem;font-weight:600}.process-step p{color:var(--muted);font-size:.88rem}
.process-step::before{content:"";position:absolute;left:0;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--lime)}
.process-step:not(:first-child)::before{left:28px}

/* Photo CTA */
.photo-cta{position:relative;min-height:760px;overflow:hidden;color:#fff;display:flex;align-items:end}
.photo-cta>img,.photo-cta>picture{position:absolute;inset:0}.photo-cta>picture{display:block}.photo-cta>img,.photo-cta>picture>img{width:100%;height:108%;object-fit:cover;transform:translateY(var(--parallax,0))}
.photo-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,18,20,.86),rgba(7,18,20,.18) 75%),linear-gradient(0deg,rgba(7,18,20,.55),transparent 55%)}
.photo-cta-content{position:relative;z-index:2;padding-bottom:75px}
.photo-cta h2{max-width:920px;margin:20px 0 25px;color:#fff;font-size:clamp(3.2rem,6vw,6.4rem)}
.photo-cta p{max-width:530px;color:#d5dedc}

/* Footer */
.partner-band{position:relative;overflow:hidden;background:#102527;color:#fff;border-top:1px solid #294043;border-bottom:1px solid #294043}.partner-band::before{content:"";position:absolute;left:0;top:0;width:clamp(80px,12vw,190px);height:2px;background:linear-gradient(90deg,var(--lime),var(--orange))}.partner-band-layout{min-height:132px;padding-top:22px;padding-bottom:22px;display:grid;grid-template-columns:210px minmax(0,1fr);gap:38px;align-items:center}.partner-band-copy span,.partner-band-copy strong{display:block}.partner-band-copy span{margin-bottom:8px;color:var(--lime);font-size:.55rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.partner-band-copy strong{color:#fff;font-size:.86rem;font-weight:650;line-height:1.3}.partner-marquee{position:relative;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.partner-track{display:flex;width:max-content;animation:partnerScroll 28s linear infinite;will-change:transform}.partner-set{display:flex;flex:none;align-items:center;gap:14px;padding-right:14px}.partner-logo{width:168px;height:76px;padding:13px 16px;display:grid;place-items:center;background:#f3f2ed;border:1px solid rgba(255,255,255,.13);transition:background-color .3s}.partner-logo img{display:block;width:auto;height:auto;max-width:128px;max-height:44px;object-fit:contain;filter:grayscale(1);opacity:.74;transition:filter .35s,opacity .35s,transform .35s}.partner-logo.partner-kaspersky img{max-width:64px;max-height:64px}.partner-logo.partner-microsoft img{max-width:142px;max-height:39px}.partner-logo:hover{background:#fff}.partner-logo:hover img{filter:none;opacity:1;transform:translateY(-2px)}.partner-marquee:hover .partner-track{animation-play-state:paused}@keyframes partnerScroll{to{transform:translateX(-50%)}}
.partner-band::before{width:100%}
.partner-logo{background:#fff;border-color:rgba(255,255,255,.2);transition:box-shadow .3s}.partner-logo img{filter:none;opacity:1;transition:transform .35s}.partner-logo:hover{background:#fff;box-shadow:inset 0 0 0 1px rgba(184,220,0,.45)}
@media(prefers-reduced-motion:reduce){.partner-track{animation:none}.partner-set[aria-hidden="true"]{display:none}.partner-marquee{overflow-x:auto;mask-image:none}}
.site-footer{background:var(--petrol);color:#d5dddb;border-top:0;padding:0 0 22px}.footer-main{padding-top:48px}
.footer-grid{display:grid;grid-template-columns:1.4fr .65fr .65fr .85fr;gap:38px}
.footer-brand img{width:185px;height:auto;filter:drop-shadow(0 2px 12px rgba(0,0,0,.2))}
.footer-brand p{max-width:370px;margin:18px 0 0;color:#9eacab;font-size:.88rem}
.footer-col h4{margin:0 0 20px;color:#718382;font-size:.61rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.footer-links{display:grid;gap:9px;font-size:.82rem}.footer-links a:hover{color:var(--lime)}
.footer-contact strong{display:block;margin-bottom:8px;color:#fff;font-size:1.1rem;font-weight:550}
.footer-bottom{margin-top:40px;padding-top:18px;border-top:1px solid #294043;display:flex;justify-content:space-between;gap:30px;color:#6f8280;font-size:.61rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.footer-cookie-link{padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.footer-cookie-link:hover{color:var(--lime)}

/* Generic interior hero */

/* Services overview */

/* Service details */
@keyframes serviceHeroEnter{from{transform:scale(1.12);filter:saturate(.6)}to{transform:scale(1.035);filter:saturate(1)}}@keyframes railDrop{50%{transform:translateY(8px)}}@keyframes shiftPulse{50%{transform:translateX(8px);box-shadow:0 0 0 12px rgba(255,255,255,.06)}}

/* About */

/* Contact */
.contact-form{position:relative;scroll-margin-top:112px;padding:clamp(28px,4vw,48px);display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fff;border-top:4px solid var(--lime);box-shadow:0 25px 70px rgba(11,27,29,.08)}.contact-form.loading{pointer-events:none}.contact-form.loading .button{opacity:.65}

/* Incident portal */
.loading{pointer-events:none;opacity:.65}@keyframes modal-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes modal-card-in{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:none}}

/* Professional validation drawer */
@keyframes modal-drawer-in{from{opacity:.75;transform:translateX(42px)}to{opacity:1;transform:none}}

@media(max-width:720px){
  @keyframes modal-sheet-in{from{opacity:.8;transform:translateY(38px)}to{opacity:1;transform:none}}
}

/* Editorial validation dialog */
@keyframes modal-editorial-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}

/* Legal */

/* Cookie */
.cookie-consent{position:fixed;z-index:240;left:50%;bottom:18px;width:min(1180px,calc(100% - 36px));padding:22px;display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:22px;align-items:center;background:rgba(7,27,29,.97);color:#fff;border:1px solid #385052;border-top:4px solid var(--lime);box-shadow:0 28px 90px rgba(0,0,0,.38);backdrop-filter:blur(18px);opacity:0;transform:translate(-50%,calc(100% + 30px));transition:opacity .4s var(--ease),transform .55s var(--ease)}.cookie-consent.visible{opacity:1;transform:translate(-50%,0)}.cookie-consent.leaving{opacity:0;transform:translate(-50%,20px)}
.cookie-symbol{position:relative;width:68px;height:68px;border:1px solid #456062;background:#102729;overflow:hidden}.cookie-symbol::before,.cookie-symbol::after,.cookie-symbol i{content:"";position:absolute;border:1px solid #526c6c;border-radius:50%}.cookie-symbol::before{inset:9px}.cookie-symbol::after{inset:19px}.cookie-symbol i:first-child{width:8px;height:8px;left:13px;top:27px;background:var(--lime);border:0}.cookie-symbol i:nth-child(2){width:6px;height:6px;right:13px;top:16px;background:#fff;border:0}.cookie-symbol span{position:absolute;left:50%;top:50%;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);background:var(--lime);color:var(--petrol);font-size:.75rem;font-weight:900}
.cookie-copy{min-width:0}.cookie-kicker{display:block;color:var(--lime);font-size:.56rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.cookie-copy>strong{display:block;margin-top:3px;font-size:1.16rem}.cookie-copy>p{max-width:720px;margin:6px 0 10px;color:#aebfbc;font-size:.74rem;line-height:1.5}.cookie-meta{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;color:#78918d;font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.cookie-meta>span i{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 9px rgba(184,220,0,.55)}.cookie-meta a{color:#b8c5c2}.cookie-meta a:hover{color:var(--lime)}.cookie-meta small{padding-left:20px;border-left:1px solid #3a5052;color:#91a29f;font-size:inherit}.cookie-actions{display:flex;gap:8px}.cookie-consent .button{min-height:44px;padding-inline:16px;white-space:nowrap;font-size:.57rem}.cookie-essential{border-color:#4a6465;color:#fff}.cookie-essential:hover{border-color:#fff;background:#fff;color:var(--petrol)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in{opacity:1;transform:none}

@keyframes heroEnter{to{transform:scale(1)}}
@keyframes scrollPulse{50%{transform:translateY(8px);border-color:var(--lime)}}

@media(max-width:1100px){
  .nav{grid-template-columns:170px 1fr auto;gap:18px}.brand{width:160px}.nav-menu{gap:14px}.platform-links{gap:6px}.platform-nav{min-width:0;height:42px;padding:0 11px;gap:6px}.platform-nav-incidents{min-width:0}.platform-nav-icon{width:22px;height:22px;flex-basis:22px}.platform-nav-icon svg{width:12px;height:12px}.platform-nav-copy small{display:none}.platform-nav-copy b{margin-top:0;font-size:.57rem}
  .section-heading{grid-template-columns:.55fr 1.5fr}.section-heading p{grid-column:2}.products-grid{grid-template-columns:1fr 1fr}.own-product:first-child{grid-column:1/-1}
  .partner-band-layout{grid-template-columns:180px minmax(0,1fr);gap:25px}.partner-logo{width:148px;height:70px}.partner-logo img{max-width:112px}.partner-logo.partner-microsoft img{max-width:126px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-brand{grid-column:1/-1}
}

@media(max-width:820px){
  .nav{height:78px;grid-template-columns:1fr auto}.brand{width:160px;height:58px}.nav-menu{position:fixed;inset:78px 0 0;z-index:160;padding:45px var(--gutter);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;background:var(--petrol);color:#fff;transform:translateX(102%);transition:transform .55s var(--ease)}.nav-menu.open{transform:none}.nav-menu>a{width:100%;padding:13px 0;border-bottom:1px solid #294043;font-size:2rem;font-weight:500}.nav-menu a::after{display:none}.platform-links{display:none}.platform-nav{display:none}.mobile-platforms{width:100%;margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-platforms>span{grid-column:1/-1;color:#718683;font-size:.57rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.nav-menu .mobile-platform{position:relative;width:100%;padding:14px 15px;display:flex;justify-content:space-between;align-items:center;border:0;color:var(--petrol);font-size:.68rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.mobile-platform-rgpd{background:var(--lime)}.mobile-platform-incidents{background:var(--orange)}.nav-menu .mobile-platform-incidents{color:#fff}.mobile-platform b{font-size:.8rem}.menu-toggle{display:block}
  .cinema-hero{min-height:900px}.hero-content{padding-top:155px}.hero-copy h1{font-size:clamp(3.8rem,12vw,6rem)}.hero-foot{grid-template-columns:1fr}.hero-scroll{display:none}
  .proof-grid{grid-template-columns:1fr 1fr}.proof-item:first-child{grid-column:1/-1;padding-left:0}.proof-item:nth-child(3){border-right:0}
  .split{grid-template-columns:1fr}.media-frame{min-height:580px}.split-copy{order:-1}
  .platform-layout{grid-template-columns:1fr}
  .products-grid{grid-template-columns:1fr}.own-product:first-child{grid-column:auto}.process-grid{grid-template-columns:1fr 1fr}.process-step:nth-child(2){border-right:0}.process-step:not(:first-child){padding-left:20px}.process-step:not(:first-child)::before{left:20px}
  .partner-band-layout{grid-template-columns:1fr;gap:15px}.partner-band-copy{display:flex;align-items:center;gap:18px}.partner-band-copy span{margin:0;padding-right:18px;border-right:1px solid #385052}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}

@media(max-width:560px){
  .section-heading{grid-template-columns:1fr;gap:20px}.section-heading p{grid-column:auto}.display{font-size:clamp(2.8rem,13vw,4.3rem)}
  .cinema-hero{min-height:800px}.cinema-hero .hero-media img{object-position:62% center}.hero-copy h1{font-size:clamp(3.3rem,14vw,4.8rem)}.hero-foot div{gap:14px;flex-wrap:wrap}
  .proof-grid{grid-template-columns:1fr 1fr}.proof-item{min-height:115px;padding:22px 15px}.proof-item strong{font-size:1.7rem}
  .media-frame{min-height:470px}.platform-panel{min-height:560px;padding:28px 22px}.product-ui{height:260px}.product-ui-body{grid-template-columns:76px 1fr}.product-ui-main{padding:14px}.ui-metrics{gap:6px}.ui-metric{padding:8px}
  .own-product{min-height:360px;padding:26px}.process-grid{grid-template-columns:1fr}.process-step{min-height:230px;border-right:0;border-bottom:1px solid var(--line);padding:24px 0!important}.process-step h3{margin-top:45px}.process-step::before{left:0!important}
  .photo-cta{min-height:650px}.partner-band-layout{min-height:0;padding-top:20px;padding-bottom:20px}.partner-band-copy{display:flex}.partner-band-copy strong{font-size:.76rem}.partner-logo{width:134px;height:66px;padding:11px}.partner-logo img{max-width:102px;max-height:38px}.partner-logo.partner-kaspersky img{max-width:55px;max-height:55px}.partner-logo.partner-microsoft img{max-width:116px}.footer-main{padding-top:42px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{margin-top:30px;flex-direction:column}.contact-form{padding:26px 20px;grid-template-columns:1fr}.cookie-actions{flex-direction:column}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Service signature showcases */

/* Web performance console */
@keyframes web-scan{0%,100%{top:18%;opacity:.3}50%{top:88%;opacity:1}}@keyframes score-draw{from{stroke-dasharray:0 264}}

/* RGPD governance map */
@keyframes dash-flow{to{stroke-dashoffset:-120}}

/* Brand system canvas */
@keyframes brand-arrow{50%{transform:translateX(10px)}}

/* Managed IT topology */

/* Security radar */
@keyframes radar-turn{to{transform:rotate(360deg)}}@keyframes threat-pulse{50%{transform:scale(1.8);opacity:.45}}

/* Cloud architecture */
@keyframes cloud-travel{from{left:0}to{left:calc(100% - 8px)}}

/* Mobile app product flow */
@keyframes app-confirm{0%,50%,100%{bottom:-75px}62%,88%{bottom:20px}}

/* Bespoke software transformation */

/* Service landing v3 responsive */
@media(max-width:820px){.cookie-consent{grid-template-columns:58px minmax(0,1fr)}.cookie-symbol{width:58px;height:58px}.cookie-actions{grid-column:1/-1;justify-content:flex-end}.cookie-copy>p{max-width:none}}
@media(max-width:560px){.cookie-consent{bottom:10px;width:calc(100% - 20px);padding:18px;grid-template-columns:48px 1fr;gap:14px}.cookie-symbol{width:48px;height:48px}.cookie-copy>strong{font-size:1rem}.cookie-copy>p{grid-column:1/-1;font-size:.7rem}.cookie-meta{grid-column:1/-1;gap:8px 14px}.cookie-meta small{width:100%;padding:8px 0 0;border-left:0;border-top:1px solid #3a5052}.cookie-actions{display:grid;grid-template-columns:1fr}.cookie-consent .button{width:100%;justify-content:space-between}}
@media(max-width:560px){.mobile-platforms{grid-template-columns:1fr}.mobile-platforms>span{grid-column:auto}}

/* Mantiene la retícula de contenido dentro de los hero fotográficos. */
.hero-content.container{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}
