:root{--navy:#101c2c;--deep:#152c43;--blue:#2877c9;--sky:#438feb;--ice:#dcecf8;--white:#f7f9fc;--ink:#223247;--muted:#637488;--line:#dee6ee;font-family:Inter,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.container{max-width:1440px;padding:0 6.25%;margin:auto}.skip-link{position:absolute;left:-999px;top:0;padding:12px;background:#fff;z-index:100}.skip-link:focus{left:10px}.site-header{height:94px;background:#fff;position:relative;z-index:10}.header-inner{height:100%;display:flex;align-items:center;gap:46px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:26px;font-weight:750;letter-spacing:-1px;white-space:nowrap;color:var(--navy)}.brandmark{display:inline-flex;width:34px;height:34px}.brandmark svg{width:100%;height:100%}.primary-nav{display:flex;gap:34px;margin-left:auto;align-items:center;font-size:14px;font-weight:600}.primary-nav a:hover,.footer-links a:hover{color:var(--blue)}.header-cta{border:1px solid var(--navy);padding:13px 18px;border-radius:4px;font-size:13px;font-weight:700;white-space:nowrap}.header-cta span{margin-left:10px}.menu-toggle{display:none}.hero{background:var(--navy);color:#fff;overflow:hidden}.hero-inner{max-width:1700px;min-height:620px;display:grid;grid-template-columns:53% 47%;padding-right:0;align-items:stretch}.hero-copy{padding:100px 25px 95px 0;z-index:1}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.19em;font-weight:800;color:var(--blue)}.hero-eyebrow{color:#81b9ee;margin:0 0 34px}.hero h1{font-size:clamp(43px,4.4vw,70px);line-height:1.11;letter-spacing:-.052em;margin:0 0 25px;font-weight:750}.hero h1 span{color:#74b7f5}.hero-lead{font-size:18px;line-height:1.75;color:#d2e0ee;max-width:540px;margin:0}.hero-actions{margin-top:43px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:17px 23px;font-weight:700;font-size:14px;border-radius:4px;transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button-blue{background:var(--blue);color:white}.button-blue:hover{background:#398bdf}.text-link{font-size:14px;font-weight:700;color:#e8f2fb}.text-link span{margin-left:9px}.hero-visual{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;gap:18px;padding:55px 28px 56px;isolation:isolate;background:linear-gradient(117deg,#142b42 0%,#183b5b 72%,#245078 100%)}.hero-visual:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(transparent 92%,#add4fc11 93%),linear-gradient(90deg,transparent 93%,#add4fc11 94%);background-size:36px 36px}.halo{position:absolute;width:390px;height:390px;border:1px solid #87bdec40;transform:rotate(45deg);box-shadow:0 0 120px #3185d944;z-index:-1}.rack{width:27%;height:310px;background:linear-gradient(110deg,#0d1d2e,#233f5d);border:2px solid #7196bc8c;border-radius:5px;padding:12px 9px;box-shadow:12px 22px 28px #07132180}.rack-2{height:345px;transform:translateY(-7px)}.rack-3{height:290px;transform:translateY(18px)}.rack-header{height:11px;border-top:2px solid #a8bfce;border-bottom:2px solid #517ba2;margin-bottom:13px}.rack-rows{height:calc(100% - 25px);background:repeating-linear-gradient(to bottom,#152c43 0px,#152c43 25px,#284763 25px,#284763 27px,#14293d 28px,#14293d 42px);border:1px solid #41637f;position:relative}.rack-rows:after{content:"";position:absolute;inset:5px 4px;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 30px,#4ca2eb 30px,#4ca2eb 33px,transparent 34px,transparent 42px);width:6px;left:auto;right:9px;filter:drop-shadow(0 0 4px #438feb)}.visual-caption{position:absolute;bottom:23px;left:8%;right:8%;font-size:9px;letter-spacing:.15em;color:#b8d7ef;display:flex;justify-content:space-between}.section{padding:110px 0}.intro{background:var(--white)}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:start}.intro h2,.section-heading h2,.about h2{color:var(--navy);line-height:1.15;letter-spacing:-.04em;font-size:clamp(34px,3vw,47px);margin:7px 0 0}.intro h2 em{font-style:normal;color:var(--blue)}.intro-grid p,.about-grid p{font-size:17px;line-height:1.85;color:#546679;margin:0 0 20px}.inline-link{color:var(--blue);font-weight:700;font-size:14px}.capabilities{background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:100px;margin-bottom:47px}.section-heading p:last-child{max-width:335px;line-height:1.75;color:var(--muted);font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-card{background:#f5f8fb;border:1px solid #e7edf3;min-height:315px;padding:34px 37px;position:relative;transition:border-color .2s,transform .2s}.service-card:hover{border-color:#93c1e9;transform:translateY(-3px)}.service-top{display:flex;justify-content:space-between;align-items:center}.number{font-size:12px;font-weight:800;letter-spacing:.16em;color:#4681bd}.service-icon{font-size:28px;font-weight:300;color:var(--blue)}.service-card h3{font-size:25px;color:var(--navy);line-height:1.28;letter-spacing:-.025em;margin:28px 0 13px}.service-card p{font-size:15px;line-height:1.75;max-width:420px;color:#5e6e80}.card-line{position:absolute;bottom:34px;left:37px;width:38px;height:3px;background:var(--blue)}.planning-note{font-size:11px;line-height:1.6;color:#758395;margin-top:23px}.journey{background:#eaf2f9;padding:70px 0}.journey h2{font-size:35px;letter-spacing:-.03em;color:var(--navy);margin:8px 0 32px}.journey-flow{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.journey-flow span{font-size:14px;font-weight:700;color:var(--navy)}.journey-flow b{font-weight:400;font-size:25px;color:var(--blue)}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.about h2 span{color:var(--blue)}.contact{background:linear-gradient(120deg,#101c2c,#193e61);color:#fff;padding:90px 0}.contact-inner{text-align:center}.contact .eyebrow{color:#8abdeb}.contact h2{font-size:clamp(42px,4vw,59px);line-height:1.13;letter-spacing:-.04em;margin:16px 0}.contact p:not(.eyebrow){font-size:17px;color:#d5e3f0;margin-bottom:28px}.site-footer{width:100%;background:#101c2c;color:#fff;padding:64px 0 24px}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:35px}.footer-brand{color:#fff}.footer-inner p{font-size:13px;color:#b6c9d9;margin:13px 0}.footer-links{display:flex;flex-direction:column;align-items:end;gap:13px;font-size:13px;color:#c3d1de}.footer-bottom{grid-column:1/-1;border-top:1px solid #51647a;padding-top:22px;margin-top:27px;display:flex;justify-content:space-between;font-size:12px;color:#b6c9d9}a:focus-visible,button:focus-visible{outline:3px solid #70bbff;outline-offset:4px}@media(max-width:900px){.container{padding:0 5%}.header-inner{gap:20px}.primary-nav{gap:16px}.hero-inner{grid-template-columns:1fr}.hero-copy{padding:80px 0 65px}.hero-visual{min-height:430px}.section{padding:75px 0}.intro-grid,.about-grid{gap:35px}.section-heading{gap:30px}.service-card{min-height:330px}}@media(max-width:650px){.site-header{height:76px}.brand{font-size:23px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;margin-left:auto;padding:10px;cursor:pointer}.menu-toggle span{display:block;background:var(--navy);width:24px;height:2px}.header-cta{display:none}.primary-nav{display:none;position:absolute;left:0;top:76px;width:100%;background:white;box-shadow:0 12px 24px #101c2c20;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:10px 5% 24px}.primary-nav.open{display:flex}.primary-nav a{padding:15px 0;border-bottom:1px solid #e3ebf1}.hero-copy{padding:66px 0 55px}.hero h1{font-size:clamp(42px,10vw,57px)}.hero-lead{font-size:16px}.hero-actions{margin-top:30px;gap:24px}.hero-visual{min-height:350px;padding:40px 24px}.rack{height:230px}.rack-2{height:255px}.rack-3{height:215px}.section{padding:65px 0}.intro-grid,.about-grid{grid-template-columns:1fr;gap:24px}.intro h2,.section-heading h2,.about h2{font-size:34px}.section-heading{display:block}.section-heading p:last-child{max-width:none}.service-grid{grid-template-columns:1fr}.service-card{min-height:280px;padding:28px}.service-card h3{font-size:23px;margin-top:20px}.journey-flow{justify-content:flex-start;gap:13px}.journey-flow span{font-size:12px}.journey-flow b{font-size:18px}.footer-inner{grid-template-columns:1fr}.footer-links{align-items:flex-start}.footer-bottom{flex-direction:column;gap:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card{transition:none}}

/* V2: approved AydServe connected-transformation hero artwork */
.hero-visual{margin:0;padding:22px 12px;align-self:stretch;background:radial-gradient(circle at 48% 47%,#174572 0%,#101c2c 73%);flex-direction:column;gap:8px;min-height:520px}
.hero-visual:before{display:none}
.hero-artwork{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;filter:drop-shadow(0 12px 36px rgba(24,109,202,.15))}
.hero-legend{display:none;color:#c7e5ff;font-weight:650;letter-spacing:.01em;font-size:13px;flex-wrap:wrap;justify-content:center;gap:10px}
.hero-legend span{border:1px solid #629bcd77;border-radius:99px;padding:7px 12px;background:#0c2545}
@media(max-width:900px){
 .hero-visual{min-height:0;padding:4px 0 32px;max-width:100%;background:#101c2c}
 .hero-artwork{width:100%;max-height:none}
 .hero-legend{display:flex}
}
@media(max-width:650px){
 .hero-copy{padding-bottom:22px}
 .hero-visual{padding:0 0 30px;min-height:0}
 .hero-legend{font-size:12px;gap:7px}
 .hero-legend span{padding:6px 9px}
}

/* V3: calibrated image-map stays aligned to the original artwork at every viewport. */
.hero-visual{padding:24px 25px 32px;}
.hero-image-map{position:relative;width:100%;max-width:100%;line-height:0;isolation:isolate;}
.hero-image-map img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;}
.hero-hotspots{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2;}
.hotspot{cursor:pointer;outline:none;}
.hotspot polygon{transition:fill .2s ease,stroke .2s ease;}
.hotspot:hover polygon,.hotspot:focus-visible polygon{fill:rgba(115,190,252,.13);stroke:#91cdff;stroke-width:3;stroke-dasharray:6 5;}
.hero-hint{font-size:12px;color:#b9d6ed;margin:2px 0 0;text-align:center;letter-spacing:.025em;}
.hero-legend{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.hero-legend .legend-link{display:inline-block;color:#e5f3ff;font-weight:650;font-size:12px;border:1px solid #72add484;border-radius:50px;padding:7px 11px;background:#102f4f;transition:background .2s ease;}
.legend-link:hover,.legend-link:focus-visible{background:#1b5484;}
.service-card-link{display:inline-block;}
.service-card-link:hover h3,.service-card-link:focus-visible h3{color:#2877c9;}
.service-card-link:focus-visible{outline:3px solid #70bbff;outline-offset:4px;}
@media(min-width:901px){.hero-inner{grid-template-columns:50% 50%;padding-right:3.5%;}.hero-copy{padding-right:45px}.hero-visual{background:#101c2c;padding:22px 10px 19px}.hero-hint{font-size:11px}}
@media(max-width:900px){.hero-visual{padding:0 0 32px}.hero-image-map{width:100%}.hero-hint{padding:0 5%;}}
@media(max-width:650px){.hero-legend{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px}.hero-legend .legend-link{font-size:11px;text-align:center;line-height:1.3;padding:8px 5px}.hero-visual{padding:0 0 26px}.hero-hint{font-size:11px;margin:4px 0}}
@media(prefers-reduced-motion:reduce){.hotspot polygon{transition:none}}
/* Dedicated service detail pages */
.detail-hero{color:#fff;background:linear-gradient(120deg,#101c2c,#173b5a);padding:96px 0 103px;}
.detail-hero .eyebrow{color:#a9d6fa;}
.detail-hero h1{font-size:clamp(43px,5.1vw,74px);line-height:1.08;letter-spacing:-.045em;max-width:930px;margin:22px 0 27px;}
.detail-hero .intro-copy{font-size:19px;line-height:1.7;max-width:740px;color:#dcecf8;}
.detail-body{padding:92px 0;}
.detail-intro{font-size:19px;line-height:1.75;max-width:850px;color:#51667c;}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:47px 0;}
.detail-tile{border:1px solid #dce7f2;background:#f5f8fc;padding:32px;min-height:220px;}
.detail-tile h2{font-size:21px;color:#101c2c;line-height:1.3;}
.detail-tile p{font-size:15px;color:#586d82;line-height:1.75;}
.detail-back{display:inline-block;color:#2877c9;font-weight:700;margin-top:15px;}
.detail-contact{background:#eaf2f9;padding:70px 0;}
.detail-contact h2{font-size:clamp(30px,3vw,44px);margin:15px 0 26px;color:#101c2c;}
@media(max-width:780px){.detail-grid{grid-template-columns:1fr}.detail-hero{padding:62px 0}.detail-body{padding:60px 0}}

/* Journey row mirrors the five equally spaced Figma tiles. */
.journey-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;}
.journey-stage{display:flex;flex-direction:column;gap:14px;padding:23px 18px;background:white;min-height:105px;border-radius:7px;}
.journey-flow .journey-number{font-size:13px;font-weight:800;color:#2877c9;}
.journey-flow .journey-title{font-size:15px;font-weight:750;color:#101c2c;}
@media(max-width:900px){.journey-flow{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:650px){.journey-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.journey-stage{min-height:95px;padding:17px 13px}.journey-flow .journey-title{font-size:14px}}

/* V4: deliberate responsive image spacing and accessible interaction */
html{scroll-padding-top:24px}
.hero-image-map{overflow:hidden;border-radius:8px}
.hero-visual{padding-right:clamp(18px,3.2vw,52px);padding-left:clamp(18px,2.5vw,40px)}
.hero-hotspots a{outline:none}
.hero-hotspots a:focus-visible polygon{stroke:#d9f2ff;stroke-width:5;fill:rgba(115,190,252,.18)}
.hero-legend a{min-height:44px;display:inline-flex!important;align-items:center;justify-content:center}
.contact-status{max-width:520px;margin:18px auto 0;color:#d7e6f4!important;font-size:14px!important;line-height:1.55}
.menu-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center}
@media(max-width:650px){
 .hero-hotspots{display:none}
 .hero-hint{display:none}
 .hero-visual{padding-left:0;padding-right:0}
 .hero-legend{margin:16px auto 0;max-width:390px}
 .hero-legend .legend-link{min-height:48px;padding:10px}
}
@media(prefers-reduced-motion:reduce){.hotspot polygon,.legend-link,.service-card,.button{transition:none!important}}

/* Legal pages: simple always-visible, keyboard-accessible navigation, including mobile. */
.legal-nav{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-left:auto;font-size:14px;font-weight:650;color:var(--navy)}
.legal-nav a{padding:12px 0;min-height:44px;display:inline-flex;align-items:center}
.legal-nav a:hover{color:var(--blue)}
@media(max-width:650px){.legal-nav{gap:13px;font-size:12px}.legal-nav a{padding:10px 0}.legal-wrap{padding:38px 22px 65px!important;overflow-wrap:anywhere}.legal-hero{padding:42px 0!important}}
@media(max-width:370px){.legal-nav{gap:8px;font-size:11px}.legal-nav a{padding:9px 0}.site-header:has(.legal-nav) .brand{font-size:21px}}

/* Prevent the long German privacy-policy title from widening 320px phones. */
.legal-hero h1{overflow-wrap:anywhere;word-break:normal;max-width:100%}

/* WCAG AA contrast adjustments on light section backgrounds (axe-core audit 2026-10-04). */
.intro .eyebrow,.capabilities .eyebrow,.about .eyebrow,.journey .eyebrow,.detail-contact .eyebrow{color:#205b95}
.inline-link,.detail-back{color:#205b95}
.service-card .number{color:#255b91}
.planning-note{color:#526477}

/* Compact manual DE/EN switch available on every page and viewport. */
.language-switch{display:flex;gap:7px;align-items:center;white-space:nowrap;font-size:12px;font-weight:750;letter-spacing:.045em;color:#51677a;margin-left:8px}
.language-switch a{display:inline-flex;align-items:center;min-width:28px;min-height:44px;justify-content:center;color:#3c5569;text-decoration:none}
.language-switch a[aria-current="true"]{color:#205b95;text-decoration:underline;text-underline-offset:4px}
.language-switch a:hover{color:#205b95}
.language-switch a:focus-visible{outline:3px solid #70bbff;outline-offset:2px}
@media(max-width:900px){.header-inner{gap:13px}.language-switch{margin-left:0}}
@media(max-width:650px){.language-switch{margin-left:0;margin-right:0;gap:3px;font-size:11px;order:1}.language-switch a{min-width:27px}.header-inner:has(.language-switch) .menu-toggle{order:2;margin-left:0}.header-inner:has(.legal-nav) .brand{font-size:21px}.header-inner:has(.legal-nav){flex-wrap:wrap;height:auto;min-height:76px;padding-top:9px;padding-bottom:8px}.header-inner:has(.legal-nav) .language-switch{margin-left:auto}.header-inner:has(.legal-nav) .legal-nav{order:3;flex-basis:100%;margin:0;justify-content:flex-start}.site-header:has(.legal-nav){height:auto}}

/* Digital sovereignty: a cross-cutting positioning theme, not another service. */
.hero-sovereignty{font-size:clamp(16px,1.5vw,22px);font-weight:700;color:#b5d9fb;margin:20px 0 8px;line-height:1.4}
.sovereignty{background:#f3f7fb;padding:95px 0 88px}
.sovereignty .eyebrow{color:#205b95}
.sovereignty-lead{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:clamp(36px,6vw,95px);margin:22px 0 54px}
.sovereignty-kicker{font-size:13px;font-weight:800;color:#255b91;text-transform:uppercase;letter-spacing:.09em;line-height:1.5;margin:0 0 22px}
.sovereignty h2{font-size:clamp(33px,3.8vw,58px);letter-spacing:-.04em;line-height:1.13;color:#101c2c;margin:0}
.sovereignty h2 span{color:#205b95}
.sovereignty-lead>div:last-child{font-size:17px;line-height:1.7;max-width:560px;color:#34485b}
.sovereignty-lead>div:last-child p{margin:0 0 18px}
.sovereignty-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sovereignty-principles article{background:#fff;border:1px solid #dce6ef;border-top:4px solid #2877c9;padding:30px 25px 34px;min-width:0}
.sovereignty-principles h3{font-size:clamp(19px,1.8vw,26px);line-height:1.2;letter-spacing:-.02em;color:#101c2c;margin:0 0 13px}
.sovereignty-principles p{font-size:15px;line-height:1.65;color:#415467;margin:0}
.sovereignty-note{margin:26px 0 0;color:#516477;font-size:13px;line-height:1.6;max-width:960px}
.detail-sovereignty{background:#eef5fa;border-top:1px solid #dce6ef;padding:66px 0}
.detail-sovereignty .container{max-width:1100px}
.detail-sovereignty .eyebrow{color:#205b95}
.detail-sovereignty h2{font-size:clamp(26px,3vw,38px);line-height:1.25;color:#101c2c;letter-spacing:-.025em;margin:14px 0}
.detail-sovereignty p{max-width:810px;line-height:1.75;color:#3c5063;font-size:17px}
.detail-sovereignty .inline-link{color:#205b95;display:inline-flex;margin-top:10px;min-height:44px;align-items:center}
@media(max-width:950px){.sovereignty-lead{grid-template-columns:1fr;gap:24px}.sovereignty-principles{grid-template-columns:1fr}.sovereignty-principles article{padding:22px 25px}.sovereignty-principles h3{margin:12px 0}}
@media(max-width:650px){.hero-sovereignty{font-size:16px}.sovereignty{padding:57px 0 60px}.sovereignty-lead{margin:16px 0 35px}.sovereignty-lead>div:last-child{font-size:15px}.detail-sovereignty{padding:49px 0}.detail-sovereignty p{font-size:15px}}

/* Minimal capability cards: no decorative arrow or numbers; heading leads. */
.service-card h3{margin-top:2px}
@media(max-width:650px){.service-card h3{margin-top:0}}

/* The full simplified card is a link target, including touch and keyboard focus. */
.service-card .service-card-link::after{content:"";position:absolute;inset:0;z-index:1}
.service-card:focus-within{outline:3px solid #205b95;outline-offset:3px;border-color:#205b95}
.service-card:hover h3,.service-card:focus-within h3{color:#205b95}
.service-card .service-card-link:focus-visible{outline:none}

/* Interactive five-stage story. Native details make each card tappable and keyboard-operable. */
.journey{overflow:visible;position:relative}
.journey-instruction{font-size:13px;color:#435c73;line-height:1.5;margin:-13px 0 22px}
.journey .journey-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:start}
.journey .journey-stage{display:block;min-width:0;min-height:122px;padding:0;position:relative;z-index:0;border:1px solid #d6e5f1;border-radius:9px;background:#fff;box-shadow:0 2px 12px rgba(24,65,104,.04);transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;overflow-wrap:break-word}
.journey-stage summary{cursor:pointer;list-style:none;min-height:122px;padding:21px 17px;display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.journey-stage summary::-webkit-details-marker{display:none}
.journey-stage summary:focus-visible{outline:3px solid #205b95;outline-offset:3px;border-radius:9px}
.journey .journey-number{color:#205b95;font-size:12px;line-height:1.2}
.journey .journey-title{color:#101c2c;font-size:clamp(14px,1.3vw,18px);font-weight:750;line-height:1.25}
.journey-disclosure{position:absolute;right:15px;top:17px;font-size:24px;font-weight:400;line-height:1;color:#27629e;transition:transform .2s ease}
.journey-description{font-size:14px;line-height:1.58;letter-spacing:normal;font-weight:400!important;color:#e8f2fc!important;margin:0;max-height:0;overflow:hidden;opacity:0;padding:0 17px;transition:max-height .3s ease,opacity .23s ease,padding .3s ease}
.journey .journey-stage[open],.journey .journey-stage:focus-within{z-index:2;background:#163653;border-color:#4077a4;box-shadow:0 14px 26px rgba(13,42,68,.19)}
.journey .journey-stage[open] .journey-number,.journey .journey-stage[open] .journey-title,.journey .journey-stage:focus-within .journey-number,.journey .journey-stage:focus-within .journey-title{color:#fff}
.journey .journey-stage[open] .journey-disclosure,.journey .journey-stage:focus-within .journey-disclosure{color:#b7defc;transform:rotate(45deg)}
.journey .journey-stage[open] .journey-description,.journey .journey-stage:focus-within .journey-description{max-height:440px;opacity:1;padding:0 17px 22px}
@media(hover:hover) and (pointer:fine){
 .journey .journey-stage:hover{z-index:3;background:#163653;border-color:#4077a4;box-shadow:0 15px 28px rgba(13,42,68,.2);transform:scale(1.045)}
 .journey .journey-stage:hover .journey-number,.journey .journey-stage:hover .journey-title{color:#fff}
 .journey .journey-stage:hover .journey-disclosure{color:#b7defc;transform:rotate(45deg)}
 .journey .journey-stage:hover .journey-description{max-height:440px;opacity:1;padding:0 17px 22px}
}
@media(max-width:1000px){.journey .journey-flow{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){
 .journey .journey-flow{grid-template-columns:1fr;gap:10px}
 .journey .journey-stage{min-height:0}
 .journey-stage summary{min-height:76px;padding:17px 19px;flex-direction:row;align-items:center;gap:15px}
 .journey .journey-title{font-size:17px}
 .journey .journey-stage[open] .journey-description,.journey .journey-stage:focus-within .journey-description{padding:0 19px 20px}
 .journey-instruction{margin:-12px 0 20px}
}
/* Let the connected illustration breathe without pill links beneath it. */
.hero-visual{padding:6px 8px 12px;gap:0}
.hero-artwork{max-height:none}
.hero-legend,.hero-hint{display:none!important}
.hero-mobile-link{display:none}
@media(max-width:900px){.hero-visual{padding:8px 4px 15px}}
@media(max-width:650px){
 .hero-visual{padding:0 0 20px}
 .hero-mobile-link{display:inline-flex;align-items:center;min-height:44px;color:#d8edff;text-decoration:underline;text-underline-offset:5px;font-size:14px;font-weight:700;margin:8px auto 0}
}
@media(prefers-reduced-motion:reduce){.journey .journey-stage,.journey-description,.journey-disclosure{transition:none!important}}

/* Interactive artwork: four independent, softly masked image layers, no hover rectangles.
   Masked artwork remains precisely aligned with the original responsive image. */
.hero-image-map{overflow:hidden;isolation:isolate;aspect-ratio:1672/941;border-radius:0}
.hero-image-map>.hero-artwork{width:100%;height:100%;max-height:none;object-fit:fill}
.hero-hotspots{overflow:hidden}
.hero-hotspots .island-highlight{pointer-events:none;opacity:0;transition:opacity .34s ease}
.hero-hotspots .island-zoom{filter:brightness(1.13) saturate(1.14);transform-box:view-box;transform-origin:var(--center-x) var(--center-y);transform:scale(1);transition:transform .46s cubic-bezier(.2,.68,.24,1),filter .34s ease}
.hero-hotspots .island-glow{opacity:.86}
.hero-hotspots .hotspot polygon,.hero-hotspots .hotspot:hover polygon,.hero-hotspots .hotspot:focus-visible polygon,.hero-hotspots a:focus-visible polygon{fill:transparent;stroke:transparent;stroke-width:0;stroke-dasharray:none}
.hero-hotspots .hotspot{cursor:pointer}
.hero-hotspots:has(.hotspot-ai:is(:hover,:focus-visible)) .highlight-ai,
.hero-hotspots:has(.hotspot-cloud:is(:hover,:focus-visible)) .highlight-cloud,
.hero-hotspots:has(.hotspot-digitalization:is(:hover,:focus-visible)) .highlight-digitalization,
.hero-hotspots:has(.hotspot-infrastructure:is(:hover,:focus-visible)) .highlight-infrastructure{opacity:1}
.hero-hotspots:has(.hotspot-ai:is(:hover,:focus-visible)) .highlight-ai .island-zoom,
.hero-hotspots:has(.hotspot-cloud:is(:hover,:focus-visible)) .highlight-cloud .island-zoom,
.hero-hotspots:has(.hotspot-digitalization:is(:hover,:focus-visible)) .highlight-digitalization .island-zoom,
.hero-hotspots:has(.hotspot-infrastructure:is(:hover,:focus-visible)) .highlight-infrastructure .island-zoom{transform:scale(1.042)}
/* Unlike the old dashed hotspot rectangle, keyboard focus is indicated by
   a small unobtrusive underline-like marker and the same island illumination. */
.hero-hotspots .hotspot:focus-visible polygon{stroke:#b8e2ff;stroke-width:2;stroke-dasharray:none;fill:transparent}
@media(max-width:650px){.hero-image-map{aspect-ratio:1672/941}}
@media(prefers-reduced-motion:reduce){.hero-hotspots .island-highlight,.hero-hotspots .island-zoom{transition:none!important}.hero-hotspots .island-zoom{transform:none!important}}

/* Crisp island effect: a permanently pre-scaled source is softly revealed.
   No interpolated SVG image transform means no temporarily blurry raster frames. */
.hero-hotspots .island-zoom{transform:scale(1.042);transition:none!important;filter:brightness(1.10) saturate(1.11)}
.hero-hotspots .island-highlight{transition:opacity .32s cubic-bezier(.22,.65,.28,1)}
.hero-hotspots:has(.hotspot-ai:is(:hover,:focus-visible)) .highlight-ai .island-zoom,
.hero-hotspots:has(.hotspot-cloud:is(:hover,:focus-visible)) .highlight-cloud .island-zoom,
.hero-hotspots:has(.hotspot-digitalization:is(:hover,:focus-visible)) .highlight-digitalization .island-zoom,
.hero-hotspots:has(.hotspot-infrastructure:is(:hover,:focus-visible)) .highlight-infrastructure .island-zoom{transform:scale(1.042)}

/* Subtle independently animated wireframe globe aligned with the baked artwork.
   The source image itself cannot rotate because it is a single flattened asset. */
.hero-globe{
 position:absolute;left:50%;top:49%;width:15.5%;aspect-ratio:1;
 transform:translate(-50%,-50%);z-index:1;pointer-events:none;
 display:grid;place-items:center;opacity:.91;
}
.globe-atmosphere{
 position:absolute;inset:-13%;border-radius:50%;
 background:radial-gradient(circle,rgba(67,166,255,.045) 29%,rgba(82,168,255,.14) 52%,transparent 74%);
 filter:blur(9px);animation:globeBreathe 7s ease-in-out infinite;
}
.globe-sphere{
 position:relative;width:85%;height:85%;border-radius:50%;
 border:1px solid rgba(164,224,255,.46);overflow:hidden;
 background:radial-gradient(circle at 34% 27%,rgba(139,210,255,.12) 0%,rgba(30,113,207,.19) 49%,rgba(10,46,100,.34) 87%,rgba(5,24,55,.16) 100%);
 box-shadow:inset -10px -5px 18px rgba(4,25,63,.34),inset 4px 2px 11px rgba(127,211,255,.15),0 0 16px rgba(80,164,255,.13);
 perspective:400px;isolation:isolate;
}
.globe-meridians{
 position:absolute;inset:2%;border-radius:50%;
 transform-style:preserve-3d;animation:globeSpin 24s linear infinite;
}
.globe-meridian{
 position:absolute;inset:0;border:1px solid rgba(179,228,255,.54);border-radius:50%;
 backface-visibility:visible;
}
.globe-meridian-1{transform:rotateY(0deg)}
.globe-meridian-2{transform:rotateY(45deg)}
.globe-meridian-3{transform:rotateY(90deg)}
.globe-meridian-4{transform:rotateY(135deg)}
.globe-latitudes{position:absolute;inset:2%;width:96%;height:96%;color:#a5dcff;opacity:.62;pointer-events:none}
.globe-sheen{
 position:absolute;inset:0;border-radius:50%;
 background:radial-gradient(circle at 30% 25%,rgba(209,241,255,.13),transparent 57%);
 box-shadow:inset -5px -2px 7px rgba(0,16,50,.2);pointer-events:none;
}
.globe-orbit{position:absolute;inset:-3%;border:1px solid rgba(129,197,255,.21);border-radius:50%;transform:rotate(-27deg) scaleY(.66);animation:globeOrbit 38s linear infinite;pointer-events:none}
.globe-orbit::after{content:"";position:absolute;width:4px;height:4px;top:11%;left:17%;border-radius:50%;background:#c5eeff;box-shadow:0 0 11px 3px rgba(96,184,255,.34)}
@keyframes globeSpin{from{transform:rotateY(0deg)}to{transform:rotateY(360deg)}}
@keyframes globeOrbit{from{transform:rotate(-27deg) scaleY(.66)}to{transform:rotate(333deg) scaleY(.66)}}
@keyframes globeBreathe{0%,100%{opacity:.72;transform:scale(.97)}50%{opacity:1;transform:scale(1.06)}}
@media(max-width:650px){.hero-globe{opacity:.83}.globe-sphere{box-shadow:inset -3px -2px 5px rgba(4,25,63,.22),0 0 7px rgba(80,164,255,.1)}.globe-atmosphere{filter:blur(3px)}}
@media(prefers-reduced-motion:reduce){.globe-meridians,.globe-orbit,.globe-atmosphere{animation:none!important}}

/* V5: Layered kinetic hero — the source picture is NOT displayed behind the
   active scene. Each island is a separately rendered high-resolution canvas. */
.hero-visual{min-width:0;padding:6px 4px 10px;gap:0;overflow:visible}
.hero-scene{width:100%;aspect-ratio:1672/941;position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(ellipse at 50% 44%,#16446b 0%,#102b4c 35%,#0d2039 69%,#09182c 100%);
  border-radius:10px;box-shadow:inset 0 0 46px rgba(4,17,34,.17)}
.hero-scene-fallback{display:block;width:100%;height:100%;object-fit:contain}
.hero-scene.scene-ready>.hero-scene-fallback{display:none}
.scene-ambient{position:absolute;inset:-7%;z-index:0;pointer-events:none;
  background-image:linear-gradient(180deg,rgba(7,21,39,.18),rgba(7,21,39,.50)),
  url("assets/aydserve-connected-digitalization.webp");background-position:center;
  background-size:cover;filter:blur(33px) brightness(.39) saturate(.72);opacity:.47;
  transform:scale(1.04)}
.scene-ambient::after{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 45%,transparent 18%,rgba(5,16,29,.49) 83%)}
.scene-connections{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.scene-route>path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.route-bed{stroke:rgba(79,151,222,.41);stroke-width:2;opacity:.72}
.route-current{stroke:#75c8ff;stroke-width:2.4;opacity:.46;stroke-dasharray:3 23;
  animation:sceneElectricity 4.3s linear infinite;filter:drop-shadow(0 0 3px rgba(86,186,255,.4));
  transition:stroke-width .3s ease,opacity .3s ease,filter .3s ease}
.route-sparks{stroke:#d2f4ff;stroke-width:2.5;stroke-dasharray:2 41;opacity:.24;
  animation:sceneElectricity 5.7s linear infinite;
  transition:stroke-width .3s ease,opacity .3s ease,filter .3s ease}
.route-particle{fill:#c5f0ff;opacity:.42;filter:drop-shadow(0 0 5px #69c5ff);
  transition:opacity .3s ease,filter .3s ease}
.hero-scene[data-active="ai"] .route-ai .route-current,
.hero-scene[data-active="cloud"] .route-cloud .route-current,
.hero-scene[data-active="digitalization"] .route-digitalization .route-current,
.hero-scene[data-active="infrastructure"] .route-infrastructure .route-current{
 stroke-width:6;opacity:1;stroke-dasharray:12 9;animation-duration:1.05s;
 filter:drop-shadow(0 0 7px rgba(80,194,255,1))}
.hero-scene[data-active="ai"] .route-ai .route-sparks,
.hero-scene[data-active="cloud"] .route-cloud .route-sparks,
.hero-scene[data-active="digitalization"] .route-digitalization .route-sparks,
.hero-scene[data-active="infrastructure"] .route-infrastructure .route-sparks{
 stroke-width:4;opacity:1;animation-duration:.88s;
 filter:drop-shadow(0 0 9px rgba(150,219,255,1))}
.hero-scene[data-active="ai"] .route-ai .route-particle,
.hero-scene[data-active="cloud"] .route-cloud .route-particle,
.hero-scene[data-active="digitalization"] .route-digitalization .route-particle,
.hero-scene[data-active="infrastructure"] .route-infrastructure .route-particle{opacity:1;
 filter:drop-shadow(0 0 13px #a8eaff)}
@keyframes sceneElectricity{from{stroke-dashoffset:0}to{stroke-dashoffset:-162}}
.scene-platform{position:absolute;z-index:2;pointer-events:none;opacity:.96;
 filter:drop-shadow(0 10px 24px rgba(20,104,197,.13))}
.scene-platform canvas{display:block;width:100%;height:100%}
.scene-island{position:absolute;z-index:4;display:block;cursor:pointer;outline:none;
  border-radius:35%;isolation:isolate;touch-action:manipulation}
.scene-island canvas{display:block;position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none}
.island-normal{opacity:1}
.island-active{opacity:0;transition:opacity .28s cubic-bezier(.2,.66,.3,1)}
.island-halo{position:absolute;inset:4% 5%;z-index:-1;border-radius:50%;
 background:radial-gradient(ellipse,rgba(99,193,255,.36) 0%,rgba(35,130,255,.16) 42%,transparent 70%);
 filter:blur(13px);opacity:0;transform:scale(.88);
 transition:opacity .32s ease,transform .32s ease}
.hero-scene[data-active="ai"] .island-ai .island-active,
.hero-scene[data-active="cloud"] .island-cloud .island-active,
.hero-scene[data-active="digitalization"] .island-digitalization .island-active,
.hero-scene[data-active="infrastructure"] .island-infrastructure .island-active{opacity:1}
.hero-scene[data-active="ai"] .island-ai .island-halo,
.hero-scene[data-active="cloud"] .island-cloud .island-halo,
.hero-scene[data-active="digitalization"] .island-digitalization .island-halo,
.hero-scene[data-active="infrastructure"] .island-infrastructure .island-halo{opacity:1;transform:scale(1.09)}
.scene-island:focus-visible{outline:2px solid #dcf4ff;outline-offset:-3px}
.scene-earth{position:absolute;z-index:3;left:50%;top:39.9%;width:18%;aspect-ratio:1;
 transform:translate(-50%,-50%);pointer-events:none;isolation:isolate}
.earth-atmosphere{position:absolute;inset:-23%;border-radius:50%;
 background:radial-gradient(circle,rgba(125,208,255,.20) 11%,rgba(51,144,249,.13) 36%,rgba(24,128,250,.055) 50%,transparent 70%);
 filter:blur(7px);animation:earthBreathe 5s ease-in-out infinite;
 transition:filter .4s ease,opacity .4s ease}
.earth-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;
 filter:drop-shadow(0 0 6px rgba(145,215,255,.6)) drop-shadow(0 0 16px rgba(50,147,254,.32))}
.earth-orbit{position:absolute;inset:-10%;border:1px solid rgba(116,190,255,.28);
 border-radius:50%;transform:rotate(-29deg) scaleY(.51);
 animation:earthOrbit 30s linear infinite}
.earth-orbit:after{content:"";display:block;position:absolute;top:12%;left:15%;
 width:3px;height:3px;background:#d0efff;border-radius:50%;box-shadow:0 0 12px 3px rgba(100,198,255,.55)}
.hero-scene[data-active]:not([data-active=""]) .earth-atmosphere{
 filter:blur(9px) brightness(1.3);opacity:1}
.hero-scene[data-active]:not([data-active=""]) .earth-canvas{
 filter:drop-shadow(0 0 8px rgba(171,234,255,.9)) drop-shadow(0 0 19px rgba(66,167,255,.65))}
@keyframes earthBreathe{0%,100%{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}
@keyframes earthOrbit{from{transform:rotate(-29deg) scaleY(.51)}to{transform:rotate(331deg) scaleY(.51)}}
.earth-fallback-map{position:absolute;inset:0;border-radius:50%;background-size:200% 100%;
 background-position:0 center;animation:fallbackRotate 45s linear infinite;
 box-shadow:inset -13px -8px 16px #041a35,0 0 12px rgba(96,176,245,.8);
 mask-image:radial-gradient(circle,#000 72%,transparent 100%)}
@keyframes fallbackRotate{from{background-position:0 center}to{background-position:200% center}}
/* Accessible small screens retain a clear services anchor beneath the scene. */
@media(max-width:950px){.hero-visual{padding:8px 2px 9px}.hero-scene{border-radius:6px}}
@media(max-width:650px){.hero-visual{padding:4px 0 17px}.hero-scene{border-radius:3px}
  .hero-mobile-link{display:inline-flex;margin-top:4px}}
@media(prefers-reduced-motion:reduce){
 .route-current,.route-sparks,.earth-atmosphere,.earth-orbit,.earth-fallback-map{animation:none!important}
 .island-active,.island-halo,.route-current,.route-sparks,.route-particle{transition:none!important}
 .route-particle{display:none}
}

/* Lower-island correction: energy paths must sit OVER the shared platform art.
   Previously, the broad platform canvas covered the lower two animated routes. */
.hero-scene .scene-platform{z-index:1}
.hero-scene .scene-connections{z-index:2}
.hero-scene .scene-earth{z-index:3}
.hero-scene .scene-island{z-index:4}

/* V6 visual rebuild: all old connector art is excluded from the active scene.
   The platform, atmosphere and energy paths are independent objects. */
.hero-scene{
 background:radial-gradient(ellipse 68% 65% at 50% 48%,#0d365c 0%,#071d36 52%,#051428 100%);
 box-shadow:inset 0 0 52px rgba(0,8,27,.22),0 15px 33px rgba(1,12,27,.12);
}
.scene-ambient{
 inset:0;transform:none;filter:none;opacity:1;
 background:
 radial-gradient(ellipse 53% 30% at 50% 46%,rgba(30,125,206,.17),transparent 72%),
 radial-gradient(ellipse 22% 25% at 17% 23%,rgba(42,115,208,.10),transparent 85%),
 radial-gradient(ellipse 22% 25% at 83% 23%,rgba(42,115,208,.10),transparent 85%),
 radial-gradient(ellipse 24% 28% at 19% 71%,rgba(30,105,197,.10),transparent 86%),
 radial-gradient(ellipse 24% 28% at 82% 72%,rgba(30,105,197,.10),transparent 86%);
}
.scene-ambient::after{
 content:"";inset:0;position:absolute;opacity:.48;
 background-image:radial-gradient(circle,rgba(111,182,251,.5) .7px,transparent 1.4px);
 background-size:47px 43px;mask-image:radial-gradient(ellipse,transparent 14%,black 77%);
}
.scene-platform{
 left:31.2%;top:40.5%;width:37.5%;height:37%;opacity:.86;
 filter:drop-shadow(0 5px 13px rgba(30,131,246,.1));
 display:grid;place-items:center;
}
.scene-platform>div{position:absolute;left:50%;top:50%;
 border-radius:50%;transform:translate(-50%,-50%) rotateX(64deg);}
.platform-outer{width:96%;height:96%;
 background:repeating-radial-gradient(ellipse at center,transparent 0 17%,rgba(28,129,241,.09) 18% 19%,transparent 20% 24%);
 border:1px solid rgba(79,163,247,.48);
 box-shadow:0 0 14px rgba(19,120,249,.2),inset 0 0 28px rgba(23,109,226,.17)}
.platform-middle{width:77%;height:78%;
 border:4px double rgba(74,174,255,.72);box-shadow:0 0 18px rgba(50,151,255,.36),inset 0 0 18px rgba(51,148,251,.17)}
.platform-inner{width:52%;height:58%;
 border:2px solid rgba(116,211,255,.68);background:radial-gradient(circle,rgba(41,120,212,.28),rgba(9,48,101,.26) 62%,transparent 72%);
 box-shadow:0 0 17px rgba(69,166,255,.4)}
.platform-ambient{width:105%;height:85%;background:radial-gradient(ellipse,rgba(56,150,243,.16),transparent 72%);filter:blur(10px)}
.scene-island{transition:filter .3s ease}
.scene-island .island-normal{filter:saturate(.91) contrast(1.05)}
.hero-scene[data-active="ai"] .island-ai,
.hero-scene[data-active="cloud"] .island-cloud,
.hero-scene[data-active="digitalization"] .island-digitalization,
.hero-scene[data-active="infrastructure"] .island-infrastructure{
 filter:drop-shadow(0 0 11px rgba(88,187,255,.36))}
.route-bed{stroke:rgba(72,153,234,.42);stroke-width:1.65}
.route-current{stroke:#71c6ff;opacity:.45;filter:drop-shadow(0 0 3px rgba(78,178,255,.35))}
.route-sparks{stroke:#d2f4ff}

/* Modern multi-filament outbound energy, never part of a raster image. */
.route-lane{
  fill:none;stroke:rgba(99,181,253,.55);stroke-width:1.35;
  stroke-linecap:round;stroke-dasharray:2 21;opacity:.34;
  animation:sceneElectricity 5.6s linear infinite;
  filter:drop-shadow(0 0 2px rgba(71,163,255,.35));
  transition:opacity .32s ease,stroke-width .32s ease,filter .32s ease;
}
.route-lane:nth-of-type(2){stroke-dasharray:5 31;animation-duration:6.8s;animation-direction:reverse}
.hero-scene[data-active="ai"] .route-ai .route-lane,
.hero-scene[data-active="cloud"] .route-cloud .route-lane,
.hero-scene[data-active="digitalization"] .route-digitalization .route-lane,
.hero-scene[data-active="infrastructure"] .route-infrastructure .route-lane{
 opacity:.96;stroke:#89d9ff;stroke-width:3.3;stroke-dasharray:10 13;
 animation-duration:1.3s;filter:drop-shadow(0 0 6px rgba(104,208,255,.84));
}
@media(prefers-reduced-motion:reduce){.route-lane{animation:none!important;transition:none!important}}


/* V7 hero integration: dissolve the artwork into the surrounding midnight navy.
   The entire scene is the same base color as the hero section; only soft
   interior light is added. No card background, rectangular shadow or border. */
.hero .hero-visual{
 background:#101c2c;
 box-shadow:none;
 border:0;
}
.hero .hero-visual::before{display:none}
.hero .hero-scene{
 border:0;
 border-radius:0;
 box-shadow:none;
 background:
  radial-gradient(ellipse 46% 42% at 50% 49%,rgba(25,104,186,.29),transparent 92%),
  radial-gradient(ellipse 24% 28% at 18% 30%,rgba(34,99,172,.10),transparent 91%),
  radial-gradient(ellipse 24% 28% at 82% 30%,rgba(34,99,172,.10),transparent 91%),
  #101c2c;
}
.hero .scene-ambient{
 background:
  radial-gradient(ellipse 42% 35% at 50% 47%,rgba(22,119,205,.18),transparent 91%),
  radial-gradient(ellipse 25% 31% at 20% 26%,rgba(39,122,201,.08),transparent 94%),
  radial-gradient(ellipse 25% 31% at 80% 26%,rgba(39,122,201,.08),transparent 94%),
  radial-gradient(ellipse 26% 29% at 21% 73%,rgba(25,99,178,.07),transparent 95%),
  radial-gradient(ellipse 26% 29% at 79% 73%,rgba(25,99,178,.07),transparent 95%);
}
.hero .scene-ambient::after{
 mask-image:radial-gradient(ellipse 47% 42% at 50% 50%,black 17%,transparent 100%);
 -webkit-mask-image:radial-gradient(ellipse 47% 42% at 50% 50%,black 17%,transparent 100%);
 opacity:.26;
}
@media(max-width:950px){
 .hero .hero-visual{background:#101c2c}
 .hero .hero-scene{border-radius:0}
}

/* V8: cinematic globe and native localized labels, blending directly into
   the existing borderless hero. Responsive labels are not baked into images. */
.hero .hero-scene{
 background:
  radial-gradient(ellipse 36% 38% at 50% 45%,rgba(33,111,205,.23),transparent 95%),
  radial-gradient(ellipse 18% 18% at 50% 53%,rgba(93,180,255,.085),transparent 100%),
  #101c2c;
}
.hero .scene-ambient{
 background:
  radial-gradient(ellipse 43% 31% at 50% 45%,rgba(37,127,226,.16),transparent 93%),
  radial-gradient(ellipse 24% 26% at 17% 29%,rgba(33,107,207,.085),transparent 95%),
  radial-gradient(ellipse 24% 26% at 83% 29%,rgba(33,107,207,.085),transparent 95%),
  radial-gradient(ellipse 24% 23% at 18% 76%,rgba(21,94,168,.06),transparent 95%),
  radial-gradient(ellipse 24% 23% at 82% 76%,rgba(21,94,168,.06),transparent 95%);
}
.scene-earth{
 left:50%;top:45.5%;width:20.2%;
}
.scene-earth .earth-atmosphere{
 inset:-32%;
 background:radial-gradient(circle,
  rgba(131,205,255,.25) 12%,
  rgba(67,157,251,.14) 34%,
  rgba(23,116,245,.045) 53%,transparent 72%);
 filter:blur(10px);
}
.scene-earth .earth-canvas{
 filter:drop-shadow(0 0 7px rgba(182,227,255,.72))
        drop-shadow(0 0 19px rgba(58,157,254,.37));
}
.scene-earth .earth-orbit{border-color:rgba(134,202,255,.21);inset:-13%}
.hero-scene[data-active]:not([data-active=""]) .earth-canvas{
 filter:drop-shadow(0 0 11px rgba(189,233,255,.90))
        drop-shadow(0 0 24px rgba(68,172,254,.62))
}
.scene-platform{opacity:.6;filter:drop-shadow(0 1px 13px rgba(21,117,229,.1))}
.scene-platform .platform-outer{border-color:rgba(63,139,225,.35)}
.scene-labels{position:absolute;inset:0;pointer-events:none;z-index:5}
.scene-label{
 position:absolute;display:inline-flex;align-items:center;justify-content:center;
 color:#c3e4ff;font-size:clamp(9px,.9vw,13px);font-weight:650;
 letter-spacing:.065em;line-height:1.1;text-shadow:0 1px 9px #0b1e39,0 0 13px rgba(80,156,255,.28);
 padding:5px 12px 6px;
 border:0;border-bottom:1px solid rgba(121,198,255,.48);
 border-radius:0;background:linear-gradient(90deg,transparent,rgba(19,71,122,.14),transparent);
 white-space:nowrap;opacity:.92;
 transition:color .22s ease,border-color .22s ease,text-shadow .22s ease;
}
.scene-label-ai{left:10%;top:1.8%}
.scene-label-cloud{right:9%;top:3%}
.scene-label-digitalization{left:7.5%;bottom:3.5%}
.scene-label-infrastructure{right:5.5%;bottom:2.7%}
.hero-scene[data-active="ai"] .scene-label-ai,
.hero-scene[data-active="cloud"] .scene-label-cloud,
.hero-scene[data-active="digitalization"] .scene-label-digitalization,
.hero-scene[data-active="infrastructure"] .scene-label-infrastructure{
 color:#ecf9ff;border-color:#a5e7ff;
 text-shadow:0 0 8px rgba(151,219,255,.78),0 1px 12px rgba(43,146,251,.69)
}
@media(max-width:950px){
 .scene-label{font-size:clamp(9px,1.35vw,12px);padding:3px 8px}
 .scene-label-ai{left:10%;top:1%}
 .scene-label-cloud{right:9%;top:1.5%}
 .scene-label-digitalization{left:4%;bottom:2%}
 .scene-label-infrastructure{right:4%;bottom:2%}
}
@media(max-width:650px){
 .scene-earth{width:21%}
 .scene-label{font-size:clamp(7px,2.2vw,11px);letter-spacing:0;padding:1px 4px 3px}
 .scene-label-ai{left:11%;top:0%}
 .scene-label-cloud{right:10%;top:0%}
 .scene-label-digitalization{left:3%;bottom:0%}
 .scene-label-infrastructure{right:2%;bottom:0%}
}
@media(prefers-reduced-motion:reduce){.scene-label{transition:none!important}}


/* V9 premium Europe-facing globe — retain seamless hero and unchanged islands. */
.hero .scene-earth{
 width:23.8%;top:44.6%;
 animation:earth-float 9.5s ease-in-out infinite;
}
.hero .scene-earth .earth-atmosphere{
 inset:-34%;
 background:
  radial-gradient(circle at 50% 47%,
   rgba(166,229,255,.23) 9%,
   rgba(78,174,255,.23) 29%,
   rgba(33,116,230,.085) 49%,
   transparent 74%);
 filter:blur(12px);
 animation:earthBreathe 5.4s ease-in-out infinite;
}
.hero .scene-earth .earth-canvas{
 filter:drop-shadow(0 0 9px rgba(185,231,255,.89))
        drop-shadow(0 0 26px rgba(71,163,255,.60))
        drop-shadow(0 0 38px rgba(21,109,236,.24));
}
.hero .scene-earth .earth-orbit{
 inset:-12%;border-color:rgba(154,218,255,.33);
 box-shadow:0 0 9px rgba(93,179,253,.09);
}
.hero .scene-earth .earth-orbit::after{
 width:4px;height:4px;
 background:#edfaff;
 box-shadow:0 0 12px 4px rgba(108,202,255,.66);
}
.hero .scene-platform .platform-middle{
 border-color:rgba(97,187,255,.48);
}
.hero-scene[data-active]:not([data-active=""]) .scene-earth .earth-canvas{
 filter:drop-shadow(0 0 12px rgba(221,246,255,.96))
        drop-shadow(0 0 29px rgba(112,208,255,.89))
        drop-shadow(0 0 47px rgba(24,139,253,.48));
}
@keyframes earth-float{
 0%,100%{transform:translate(-50%,-50%) translateY(0)}
 50%{transform:translate(-50%,-50%) translateY(-1.4%)}
}
@media(max-width:650px){
 .hero .scene-earth{width:24%;top:44.6%}
 .hero .scene-earth .earth-atmosphere{filter:blur(6px)}
}
@media(prefers-reduced-motion:reduce){
 .hero .scene-earth{animation:none!important}
}


/* V10: unmistakably redesigned, Europa-centered premium network globe.
   Geographic highlights are projected onto the globe itself; existing
   seamless hero backdrop, 4 independent islands and routes stay untouched. */
.hero .scene-earth{width:30.5%;top:44.6%;isolation:isolate}
.hero .scene-earth .earth-atmosphere{
 inset:-27%;
 background:radial-gradient(circle,
  rgba(167,225,255,.24) 13%,
  rgba(94,188,255,.28) 30%,
  rgba(36,129,242,.14) 42%,
  rgba(16,103,218,.05) 54%,transparent 74%);
 filter:blur(10px);
}
.hero .scene-earth .earth-canvas{
 z-index:1;
 filter:drop-shadow(0 0 7px rgba(192,237,255,.9))
        drop-shadow(0 0 19px rgba(82,181,255,.85))
        drop-shadow(0 0 42px rgba(38,131,248,.35));
}
.earth-europe-overlay{
 position:absolute;inset:0;
 display:block;width:100%;height:100%;
 z-index:2;pointer-events:none;mix-blend-mode:screen;
 opacity:.96;filter:drop-shadow(0 0 4px rgba(130,211,255,.56));
 animation:europe-network-shimmer 5.6s ease-in-out infinite;
}
@keyframes europe-network-shimmer{
 0%,100%{opacity:.86}50%{opacity:1}
}
.hero .scene-earth .earth-orbit{
 inset:-9%;z-index:3;
 border:1px solid rgba(148,220,255,.48);
 box-shadow:0 0 8px rgba(105,199,255,.25);
}
.earth-sweep{
 position:absolute;inset:-3%;z-index:3;pointer-events:none;
 border-radius:50%;opacity:.82;
 background:conic-gradient(from 22deg,
  transparent 0 31%,rgba(100,191,255,.08) 39%,
  rgba(195,240,255,.86) 44%,rgba(90,192,255,.13) 47%,transparent 59% 100%);
 -webkit-mask:radial-gradient(farthest-side,transparent 91%,#000 95%,transparent 100%);
 mask:radial-gradient(farthest-side,transparent 91%,#000 95%,transparent 100%);
 animation:europe-sweep 18s linear infinite;
 filter:drop-shadow(0 0 8px rgba(89,184,255,.76));
}
@keyframes europe-sweep{to{transform:rotate(360deg)}}
.earth-arc{
 position:absolute;inset:-22%;z-index:0;pointer-events:none;
 border:1px solid rgba(117,206,255,.23);
 border-radius:50%;
 filter:drop-shadow(0 0 7px rgba(62,171,255,.34));
}
.earth-arc-one{
 transform:rotate(-30deg) scaleY(.43) scaleX(1.04);
 border-top-color:rgba(150,223,255,.47);
 border-bottom-color:rgba(59,143,242,.06);
}
.earth-arc-two{
 transform:rotate(42deg) scaleY(.63) scaleX(.88);
 border-top-color:rgba(117,203,255,.15);
 border-bottom-color:rgba(132,212,255,.33);
}
.hero-scene[data-active]:not([data-active=""]) .earth-europe-overlay{
 filter:drop-shadow(0 0 7px rgba(158,230,255,.87));
 opacity:1;
}
@media(max-width:650px){
 .hero .scene-earth{width:30%;top:44.6%}
 .hero .scene-earth .earth-atmosphere{filter:blur(6px)}
}
@media(prefers-reduced-motion:reduce){
 .earth-europe-overlay,.earth-sweep{animation:none!important}
}


/* V11 approved artwork: the exact vivid Europa reference globe replaces the
   rendered approximation. It has a transparent edge and self-contained rays,
   so no card or opaque rectangle appears against the seamless hero. */
.hero .scene-earth.scene-earth-reference{
 width:52%;top:46%;left:50%;
 transform:translate(-50%,-50%);
 z-index:3;pointer-events:none;isolation:isolate;
 animation:earth-float 9.5s ease-in-out infinite;
}
.hero .scene-earth-reference .globe-reference-img{
 position:relative;z-index:2;display:block;
 width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;
 max-width:none;
 filter:drop-shadow(0 0 8px rgba(115,206,255,.30))
        drop-shadow(0 0 28px rgba(31,128,244,.18));
 transition:filter .36s ease;
}
.hero .scene-earth-reference .earth-atmosphere{
 position:absolute;inset:5%;z-index:1;pointer-events:none;
 background:radial-gradient(circle,rgba(93,175,255,.23) 8%,
  rgba(43,128,225,.12) 32%,rgba(16,83,183,.035) 58%,transparent 72%);
 filter:blur(13px);
 animation:earthBreathe 6.2s ease-in-out infinite;
}
.hero .scene-platform{opacity:.13}
.hero-scene[data-active]:not([data-active=""]) .scene-earth-reference .globe-reference-img{
 filter:drop-shadow(0 0 10px rgba(165,235,255,.48))
        drop-shadow(0 0 30px rgba(83,191,255,.41))
        brightness(1.065);
}
@media(max-width:950px){
 .hero .scene-earth.scene-earth-reference{width:53%;top:46%}
}
@media(max-width:650px){
 .hero .scene-earth.scene-earth-reference{width:54%;top:46%}
 .hero .scene-earth-reference .earth-atmosphere{filter:blur(6px)}
}
@media(prefers-reduced-motion:reduce){
 .hero .scene-earth.scene-earth-reference,
 .hero .scene-earth-reference .earth-atmosphere{animation:none!important}
 .hero .scene-earth-reference .globe-reference-img{transition:none!important}
}


/* V12: Sharp reference globe + independent circling energy.
   Never animate or filter the reference raster nor its parent. */
.hero .scene-earth.scene-earth-reference{
 animation:none!important;
 transform:translate(-50%,-50%);
 filter:none!important;
 isolation:isolate;
}
.hero .scene-earth-reference .globe-reference-img,
.hero-scene[data-active]:not([data-active=""]) .scene-earth-reference .globe-reference-img{
 position:relative;z-index:2;display:block;
 width:100%;height:auto;
 transform:none!important;
 animation:none!important;
 transition:none!important;
 filter:none!important;
 backface-visibility:visible;
}
.hero .scene-earth-reference .earth-atmosphere{
 z-index:0;filter:blur(13px);
 animation:earthBreathe 6.2s ease-in-out infinite;
}
.hero .scene-earth-reference .globe-aura-layer{
 position:absolute;z-index:0;inset:15%;
 border-radius:50%;pointer-events:none;
 background:radial-gradient(circle,
  rgba(128,225,255,.18) 12%,rgba(69,170,255,.16) 35%,
  rgba(40,130,244,.055) 53%,transparent 73%);
 opacity:.52;filter:blur(15px);
 transition:opacity .3s ease;
}
.hero-scene[data-active]:not([data-active=""]) .scene-earth-reference .globe-aura-layer{
 opacity:1;
}
/* Orbits use their own coordinate layers. Circle traces move round a
   tilted ellipse while the continent artwork stays at native sharpness. */
.hero .scene-earth-reference .reference-orbit{
 position:absolute;left:50%;top:52%;
 width:76%;height:56%;
 display:block;pointer-events:none;
 border-radius:50%;
 border:1px solid rgba(129,205,255,.31);
 background:transparent;
 box-shadow:0 0 9px rgba(60,163,255,.12);
 transform-style:preserve-3d;
}
.hero .scene-earth-reference .reference-orbit::before{
 content:"";position:absolute;inset:0;border-radius:50%;
 border:1px solid transparent;
 border-top-color:rgba(168,230,255,.46);
 border-right-color:rgba(78,178,255,.17);
 animation:globe-circling 14s linear infinite;
}
.hero .scene-earth-reference .reference-orbit-back{
 z-index:1;
 transform:translate(-50%,-50%) rotate(-24deg) scaleY(.54);
 opacity:.69;
}
.hero .scene-earth-reference .reference-orbit-back::before{
 animation-duration:21s;
 animation-direction:reverse;
}
.hero .scene-earth-reference .reference-orbit-front{
 z-index:3;
 transform:translate(-50%,-50%) rotate(24deg) scaleY(.60);
 border-color:rgba(146,220,255,.22);
 box-shadow:none;
}
.hero .scene-earth-reference .reference-orbit-tracer{
 position:absolute;inset:0;border-radius:50%;
 display:block;
 animation:globe-circling 12s linear infinite;
}
.hero .scene-earth-reference .reference-orbit-back .reference-orbit-tracer{
 animation-duration:19s;
 animation-direction:reverse;
}
.hero .scene-earth-reference .reference-orbit-tracer::after{
 content:"";position:absolute;top:-3px;left:calc(50% - 3px);
 width:6px;height:6px;border-radius:50%;
 background:#ecfbff;
 box-shadow:0 0 7px 3px rgba(136,219,255,.83),
            0 0 18px 7px rgba(54,167,255,.30);
}
.hero-scene[data-active]:not([data-active=""]) .scene-earth-reference .reference-orbit{
 border-color:rgba(176,228,255,.46);
 box-shadow:0 0 12px rgba(103,194,255,.24);
}
.hero-scene[data-active]:not([data-active=""]) .scene-earth-reference .reference-orbit-tracer::after{
 box-shadow:0 0 8px 4px rgba(180,236,255,.95),
            0 0 20px 8px rgba(73,179,255,.43);
}
@keyframes globe-circling{to{transform:rotate(360deg)}}
@media(max-width:650px){
 .hero .scene-earth-reference .globe-aura-layer{filter:blur(7px)}
 .hero .scene-earth-reference .reference-orbit-tracer::after{
  width:4px;height:4px;top:-2px;left:calc(50% - 2px);
 }
}
@media(prefers-reduced-motion:reduce){
 .hero .scene-earth-reference .reference-orbit::before,
 .hero .scene-earth-reference .reference-orbit-tracer{animation:none!important}
 .hero .scene-earth-reference .globe-aura-layer{transition:none!important}
}

/* V13: isolate orbit geometry from historic orbit selectors.
   The outer ellipse never rotates away from its actual center:
   only each internal tracer completes an orbital revolution. */
.hero .scene-earth-reference .reference-orbit{
 animation:none!important;
 inset:auto!important;
 left:50%!important;top:52%!important;
 right:auto!important;bottom:auto!important;
 transform-origin:center center;
}
.hero .scene-earth-reference .reference-orbit-front{
 transform:translate(-50%,-50%) rotate(24deg) scaleY(.60)!important;
}
.hero .scene-earth-reference .reference-orbit-back{
 transform:translate(-50%,-50%) rotate(-24deg) scaleY(.54)!important;
}


/* Trust and credibility: calm editorial contrast between service cards
   and the journey. No unverifiable metrics, logos or partner claims. */
.trust-section{
 background:#101c2c;color:#ecf5fd;padding:88px 0 92px;
 position:relative;overflow:hidden;
}
.trust-section::before{
 content:"";position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(ellipse 45% 65% at 94% 7%,rgba(39,119,198,.17),transparent 83%);
}
.trust-inner{position:relative;display:grid;grid-template-columns:.93fr 1.35fr;gap:7.5%;align-items:start}
.trust-lead .eyebrow{color:#81b9ee;margin:0 0 17px}
.trust-lead h2{font-size:clamp(33px,3.1vw,49px);line-height:1.16;letter-spacing:-.041em;margin:0 0 24px;color:#f4f9fd}
.trust-lead h2 span{color:#8cc8fa}
.trust-lead>p:last-child{font-size:16px;line-height:1.86;color:#c0d3e4;max-width:475px;margin:0}
.trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 26px}
.trust-item{padding:0 0 22px;border-bottom:1px solid rgba(144,198,244,.22);min-width:0}
.trust-number{display:block;color:#87c2f5;font-size:10px;font-weight:800;letter-spacing:.16em;line-height:1.6}
.trust-item h3{margin:12px 0 11px;color:#f5f9fc;font-size:19px;line-height:1.35;letter-spacing:-.02em}
.trust-item p{color:#bfcede;font-size:13.5px;line-height:1.8;margin:0}
@media(max-width:900px){
 .trust-section{padding:69px 0 71px}
 .trust-inner{grid-template-columns:1fr;gap:43px}
 .trust-lead>p:last-child{max-width:650px}
}
@media(max-width:540px){
 .trust-grid{grid-template-columns:1fr;gap:23px}
 .trust-item{padding-bottom:19px}
 .trust-section{padding:57px 0 61px}
}


/* Standalone contact experience, consistent with the main editorial design. */
.contact-page-hero{background:#101c2c;color:#f5f9fc;overflow:hidden}
.contact-page-hero-inner{min-height:490px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:4%}
.contact-page-copy{padding:91px 0 94px;position:relative;z-index:2}
.contact-page-copy .eyebrow{color:#8dc7fb;margin:0 0 23px}
.contact-page-copy h1{font-size:clamp(44px,4.4vw,69px);letter-spacing:-.049em;line-height:1.12;margin:0 0 25px}
.contact-page-copy h1 span{color:#82bef5}
.contact-page-copy>p:not(.eyebrow){color:#c6d9e9;font-size:17px;line-height:1.77;max-width:565px;margin:0 0 32px}
.contact-page-art{height:380px;position:relative;min-width:0;isolation:isolate}
.contact-page-art::before{
 content:"";position:absolute;inset:0;
 background:radial-gradient(ellipse 54% 50% at 51% 48%,rgba(57,166,250,.25),transparent 76%);
 filter:blur(6px);
}
.contact-page-light{
 position:absolute;top:50%;left:50%;width:min(325px,77%);aspect-ratio:1;
 transform:translate(-50%,-50%);
 border:1px solid rgba(122,200,255,.26);border-radius:50%;
 box-shadow:0 0 65px rgba(60,150,250,.14),inset 0 0 40px rgba(65,165,255,.09);
}
.contact-page-light::before,.contact-page-light::after{
 content:"";position:absolute;inset:12%;border:1px solid rgba(136,213,255,.24);border-radius:50%;
 transform:rotate(-31deg) scaleY(.43);
}
.contact-page-light::after{inset:-15%;transform:rotate(33deg) scaleY(.54);opacity:.56}
.contact-page-light span{position:absolute;top:50%;left:50%;width:11px;height:11px;border-radius:50%;
 background:#e1f7ff;box-shadow:0 0 10px 5px rgba(120,214,255,.7),0 0 36px 17px rgba(58,145,245,.29);
 transform:translate(-50%,-50%)}
.contact-page-light span:nth-child(2){width:130px;height:130px;background:transparent;border:1px solid rgba(165,226,255,.35);box-shadow:0 0 32px rgba(89,168,255,.23)}
.contact-page-light span:nth-child(3){width:230px;height:230px;background:transparent;border:1px dashed rgba(130,209,255,.19);box-shadow:none;animation:contact-orbit 45s linear infinite}
.contact-page-art-label{position:absolute;bottom:2%;right:3%;font-size:11px;letter-spacing:.22em;font-weight:700;color:#8bb5da}
.contact-page-art-label i{color:#63b7f0;font-style:normal}
.contact-page-info{padding:94px 0 102px;background:#fff}
.contact-page-info-inner{display:grid;grid-template-columns:1fr .94fr;gap:10%;align-items:start}
.contact-page-info h2,.contact-page-next h2{font-size:clamp(32px,3vw,46px);line-height:1.16;letter-spacing:-.037em;margin:14px 0 23px;color:#101c2c}
.contact-page-info-inner>div:first-child>p:last-child,.contact-page-next p:not(.eyebrow){max-width:485px;color:#52647a;font-size:16px;line-height:1.85}
.contact-methods{border-top:1px solid #d9e5ef}
.contact-methods article{padding:24px 0 26px;border-bottom:1px solid #d9e5ef}
.contact-method-label{font-size:11px;color:#326b9f;letter-spacing:.16em;font-weight:800;margin:0 0 12px}
.contact-methods h3,.contact-email{font-size:clamp(20px,2.15vw,31px);letter-spacing:-.029em;color:#152c43;line-height:1.3;font-weight:750;margin:0}
.contact-email{display:inline-flex;align-items:center;gap:16px;overflow-wrap:anywhere}
.contact-email:hover{color:#2877c9}
.contact-email span{font-weight:500;font-size:20px}
.contact-methods article>p:last-child{font-size:14px;line-height:1.7;color:#53657a;margin:12px 0 0}
.contact-page-next{background:#edf4fa;padding:59px 0 66px}
.contact-page-next-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}
.contact-page-next h2{margin:10px 0 13px}
.contact-page-next p:not(.eyebrow){max-width:730px;margin-bottom:0}
.contact-page-next .inline-link{white-space:nowrap}
.primary-nav a[aria-current="page"]{color:#2877c9}
@keyframes contact-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(max-width:900px){
 .contact-page-hero-inner{min-height:0;grid-template-columns:1fr}
 .contact-page-copy{padding:69px 0 24px}
 .contact-page-art{height:235px}
 .contact-page-light{width:215px}
 .contact-page-info-inner{grid-template-columns:1fr;gap:34px}
 .contact-page-info{padding:75px 0}
}
@media(max-width:650px){
 .contact-page-copy{padding:56px 0 16px}
 .contact-page-copy h1{font-size:clamp(40px,10vw,56px)}
 .contact-page-copy>p:not(.eyebrow){font-size:16px}
 .contact-page-art{height:190px}
 .contact-page-light{width:176px}
 .contact-page-info{padding:58px 0 65px}
 .contact-page-next-inner{flex-direction:column;align-items:flex-start;gap:26px}
 .contact-page-next{padding:48px 0 52px}
}
@media(prefers-reduced-motion:reduce){.contact-page-light span:nth-child(3){animation:none!important}}

/* Contact hero: artwork-free editorial layout; homepage hero untouched. */
.contact-page-hero-inner{display:block;min-height:0}
.contact-page-copy{max-width:880px;padding:108px 0 112px}
.contact-page-copy>p:not(.eyebrow){max-width:640px}
@media(max-width:900px){.contact-page-copy{padding:82px 0 89px}}
@media(max-width:650px){.contact-page-copy{padding:66px 0 73px}}

/* Contrast correction limited to the contact page next-step eyebrow. */
.contact-page-next-inner .eyebrow{color:#205b95}
