:root{--ink:#050817;--ink-2:#081329;--blue:#1877ff;--cyan:#40dcff;--paper:#eef3f7;--white:#f8fbff;--muted:#8e9bb1;--line:rgba(255,255,255,.13);--dark-line:rgba(5,8,23,.14);--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:"DM Sans",sans-serif;overflow-x:hidden}body.loading{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Manrope",sans-serif}em{font-family:Georgia,serif;font-weight:400}.noise{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.cursor-glow{position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(24,119,255,.1),transparent 68%);pointer-events:none;z-index:1;transform:translate(-50%,-50%)}
.page-curtain{display:none!important}

/* Fluid cross-document navigation: the current page glides left while the
   destination arrives from the right. The asymmetric curve creates a quick
   launch, a controlled middle phase and a soft deceleration at the end. */
@view-transition{navigation:auto}
::view-transition-group(root){animation-duration:.92s;animation-timing-function:cubic-bezier(.76,0,.24,1)}
::view-transition-image-pair(root){isolation:auto;overflow:clip;background:var(--ink)}
::view-transition-old(root){z-index:1;animation:bytesoft-page-out .92s cubic-bezier(.76,0,.24,1) both}
::view-transition-new(root){z-index:2;animation:bytesoft-page-in .92s cubic-bezier(.76,0,.24,1) both}
:root:active-view-transition-type(backwards)::view-transition-old(root){animation:bytesoft-page-out-reverse .92s cubic-bezier(.76,0,.24,1) both}
:root:active-view-transition-type(backwards)::view-transition-new(root){animation:bytesoft-page-in-reverse .92s cubic-bezier(.76,0,.24,1) both}
@keyframes bytesoft-page-out{0%{transform:translate3d(0,0,0);filter:brightness(1)}38%{filter:brightness(.96)}100%{transform:translate3d(-100%,0,0);filter:brightness(.86)}}
@keyframes bytesoft-page-in{0%{transform:translate3d(100%,0,0);filter:brightness(.9)}62%{filter:brightness(.98)}100%{transform:translate3d(0,0,0);filter:brightness(1)}}
@keyframes bytesoft-page-out-reverse{0%{transform:translate3d(0,0,0);filter:brightness(1)}38%{filter:brightness(.96)}100%{transform:translate3d(100%,0,0);filter:brightness(.86)}}
@keyframes bytesoft-page-in-reverse{0%{transform:translate3d(-100%,0,0);filter:brightness(.9)}62%{filter:brightness(.98)}100%{transform:translate3d(0,0,0);filter:brightness(1)}}

/* Graceful fallback for browsers without cross-document View Transitions. */
.page-fallback-leaving{pointer-events:none;animation:bytesoft-fallback-out .62s cubic-bezier(.76,0,.24,1) both}
.page-fallback-entering{animation:bytesoft-fallback-in .72s cubic-bezier(.16,1,.3,1) both}
@keyframes bytesoft-fallback-out{to{transform:translate3d(-100%,0,0);filter:brightness(.88)}}
@keyframes bytesoft-fallback-in{from{transform:translate3d(100%,0,0);filter:brightness(.9)}to{transform:translate3d(0,0,0);filter:brightness(1)}}
.site-header{position:fixed;left:0;right:0;top:0;height:92px;padding:0 4.5vw;display:flex;align-items:center;gap:4vw;z-index:100;border-bottom:1px solid transparent;transition:.35s var(--ease)}.site-header.scrolled{height:74px;background:rgba(5,8,23,.76);backdrop-filter:blur(24px);border-color:var(--line)}.brand{display:flex;align-items:center;gap:11px;font:500 24px/1 "Manrope";letter-spacing:-.06em}.site-header .brand{width:220px;height:62px;overflow:visible;background:transparent url("assets/logo-bytesoft-header.png") left center/contain no-repeat;filter:drop-shadow(0 0 7px rgba(255,255,255,.48))}.site-header .brand>*{display:none}.brand strong{font-weight:800}.brand-mark{width:31px;height:31px;display:grid;align-content:center;gap:3px;transform:skewY(-8deg)}.brand-mark i{height:6px;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:1px 7px 7px 1px}.brand-mark i:nth-child(2){width:75%}.brand-mark i:nth-child(3){width:48%}.main-nav{display:flex;gap:2.3vw;margin-left:auto}.main-nav a{position:relative;color:rgba(255,255,255,.62);font-size:13px;font-weight:600}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--cyan);transition:.3s}.main-nav a:hover,.main-nav a.active{color:white}.main-nav a:hover:after,.main-nav a.active:after{right:0}.header-cta{display:flex;align-items:center;gap:28px;border:1px solid var(--line);padding:11px 14px 11px 19px;border-radius:99px;font-size:12px}.header-cta i{font-style:normal;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--ink)}.menu-toggle{display:none;background:none;border:0;color:white}
.site-header{background:linear-gradient(112deg,rgba(3,9,28,.98),rgba(6,19,46,.98) 55%,rgba(3,11,34,.98));border-bottom-color:rgba(112,170,230,.18);box-shadow:0 10px 32px rgba(1,5,20,.22);backdrop-filter:blur(24px) saturate(135%)}.site-header.scrolled{background:linear-gradient(112deg,rgba(3,9,28,.98),rgba(6,19,46,.98) 55%,rgba(3,11,34,.98));border-bottom-color:rgba(112,170,230,.18)}.site-header .brand{width:62px;height:62px;background-image:url("assets/bytesoft-symbol.svg");background-size:58px 58px;background-position:left center;filter:drop-shadow(0 0 9px rgba(29,144,255,.24))}.header-cta{position:relative;isolation:isolate;overflow:hidden;gap:18px;padding:12px 16px 12px 20px;border:1px solid rgba(151,211,255,.28);border-radius:14px;background:linear-gradient(155deg,#123a70 0%,#0a244d 52%,#06152f 100%);box-shadow:inset 1px 1px 0 rgba(255,255,255,.23),inset -2px -2px 0 rgba(0,5,20,.62),0 5px 0 #02091a,0 11px 22px rgba(0,3,18,.42);font-size:13px;font-weight:700;letter-spacing:.04em;text-shadow:0 1px 0 rgba(0,0,0,.55);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}.header-cta:before{content:"";position:absolute;inset:1px 1px 55%;border-radius:12px 12px 50% 50%;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent);pointer-events:none}.header-cta span,.header-cta i{position:relative;z-index:1}.header-cta i{width:41px;height:35px;border-radius:0;background:transparent url("assets/chat-premium.svg") center/contain no-repeat;color:transparent;display:block;filter:drop-shadow(0 3px 6px rgba(0,0,0,.28))}.header-cta i:before,.header-cta i:after{display:none}.header-cta:hover{transform:translateY(-2px);border-color:rgba(176,229,255,.5);box-shadow:inset 1px 1px 0 rgba(255,255,255,.3),inset -2px -2px 0 rgba(0,5,20,.64),0 7px 0 #02091a,0 15px 28px rgba(0,3,18,.48)}.header-cta:active{transform:translateY(3px);box-shadow:inset 1px 1px 0 rgba(255,255,255,.18),inset -2px -2px 0 rgba(0,5,20,.7),0 2px 0 #02091a,0 6px 12px rgba(0,3,18,.38)}
.hero{height:max(760px,100svh);min-height:680px;position:relative;overflow:hidden;display:flex;align-items:center;padding:120px 6vw 80px}.home-page .noise{display:none}.hero-media{position:absolute;inset:0;z-index:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,9,24,.58) 0%,rgba(3,9,24,.38) 48%,rgba(3,9,24,.22) 100%)}.hero-scan,.hero>.hero-grid,.hero>.data-canvas{display:none}.hero-copy{position:relative;z-index:3;width:min(700px,52vw)}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600}.eyebrow{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.76)}.eyebrow span{display:block;width:7px;height:7px;background:var(--cyan);border-radius:50%;box-shadow:0 0 15px var(--cyan)}.hero h1{font-size:clamp(48px,5.2vw,86px);line-height:.96;letter-spacing:-.055em;margin:22px 0 28px}.hero h1 em{color:var(--cyan);font-style:italic}.hero-intro{max-width:610px;color:rgba(255,255,255,.76);line-height:1.65;font-size:clamp(15px,1.15vw,18px)}.hero-actions{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:205px;padding:8px 9px 8px 22px;border-radius:99px;font-size:12px;font-weight:600}.button i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-style:normal}.button-primary{background:white;color:var(--ink)}.button-primary i{background:var(--blue);color:white}.text-link{font-size:13px;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:5px}.text-link i{font-style:normal;margin-left:12px;color:var(--cyan)}.hero-status{position:absolute;right:5.5vw;bottom:8vw;z-index:4;width:310px;padding:21px;border:1px solid var(--line);border-radius:20px;background:rgba(5,8,23,.33);backdrop-filter:blur(22px);display:flex;align-items:center;gap:18px;transform-style:preserve-3d}.hero-status small{display:block;color:var(--cyan);font-size:9px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:7px}.hero-status strong{font:600 14px/1.45 "Manrope"}.status-orbit{position:relative;width:58px;height:58px;border:1px solid rgba(64,220,255,.4);border-radius:50%;flex:0 0 auto;animation:orbit 8s linear infinite}.status-orbit:after{content:"";position:absolute;inset:10px;border:1px dashed rgba(255,255,255,.35);border-radius:50%}.status-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cyan);top:-4px;left:25px;box-shadow:0 0 12px var(--cyan)}@keyframes orbit{to{transform:rotate(360deg)}}.scroll-cue{position:absolute;left:6vw;bottom:35px;z-index:3;display:flex;align-items:center;gap:18px;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.45)}.scroll-cue i{display:block;width:54px;height:1px;background:rgba(255,255,255,.35);position:relative}.scroll-cue i:after{content:"";position:absolute;width:15px;height:1px;background:var(--cyan);animation:scrollLine 2s infinite}@keyframes scrollLine{50%{transform:translateX(39px)}}
@media(min-width:901px){.hero-media:after{background:linear-gradient(90deg,rgba(3,9,24,.72) 0%,rgba(3,9,24,.56) 28%,rgba(3,9,24,.24) 49%,rgba(3,9,24,.07) 61%,transparent 72%)}}
.ticker{height:104px;display:flex;align-items:center;overflow:hidden;position:relative;isolation:isolate;color:white;background:linear-gradient(112deg,#03091c 0%,#06132e 34%,#071a3b 67%,#030b22 100%);border-top:1px solid rgba(122,194,255,.25);border-bottom:1px solid rgba(1,5,19,.95);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),inset 0 -1px 0 rgba(255,255,255,.045),0 20px 55px rgba(3,13,39,.28);backdrop-filter:blur(30px) saturate(145%)}
.ticker:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 34% 150% at 18% 45%,rgba(62,111,210,.09),transparent 74%),radial-gradient(ellipse 38% 170% at 72% 56%,rgba(42,115,190,.08),transparent 76%);mix-blend-mode:screen}
.ticker:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.13),transparent 28%,transparent 70%,rgba(1,7,28,.22));box-shadow:inset 0 0 30px rgba(151,226,255,.06)}
.ticker-aurora{position:absolute;inset:-80% -12%;z-index:-2;filter:blur(34px);opacity:.68;animation:auroraDrift 13s ease-in-out infinite alternate}
.ticker-aurora i{position:absolute;display:block;border-radius:50%;mix-blend-mode:screen}.ticker-aurora i:nth-child(1){width:38%;height:75%;left:2%;top:28%;background:#09267f;transform:rotate(-12deg)}.ticker-aurora i:nth-child(2){width:44%;height:82%;left:31%;top:4%;background:#07589a;transform:rotate(11deg)}.ticker-aurora i:nth-child(3){width:42%;height:72%;right:-3%;top:25%;background:#111d74;transform:rotate(-8deg)}
.ticker-grid{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.32;background-image:linear-gradient(rgba(139,188,238,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(139,188,238,.16) 1px,transparent 1px);background-size:7px 7px;-webkit-mask-image:radial-gradient(ellipse 24% 125% at 10% 52%,#000 0 28%,rgba(0,0,0,.68) 52%,transparent 78%),radial-gradient(ellipse 31% 115% at 49% 44%,#000 0 22%,rgba(0,0,0,.6) 51%,transparent 80%),radial-gradient(ellipse 25% 135% at 88% 55%,#000 0 26%,rgba(0,0,0,.62) 54%,transparent 82%);mask-image:radial-gradient(ellipse 24% 125% at 10% 52%,#000 0 28%,rgba(0,0,0,.68) 52%,transparent 78%),radial-gradient(ellipse 31% 115% at 49% 44%,#000 0 22%,rgba(0,0,0,.6) 51%,transparent 80%),radial-gradient(ellipse 25% 135% at 88% 55%,#000 0 26%,rgba(0,0,0,.62) 54%,transparent 82%)}
.ticker-track{position:relative;z-index:2;display:flex;width:max-content;will-change:transform;animation:ticker 30s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-set{display:flex;align-items:center;flex:0 0 auto;gap:clamp(48px,5.8vw,112px);padding-right:clamp(48px,5.8vw,112px);position:relative}
.ticker-item{display:flex;align-items:center;gap:19px;white-space:nowrap}.ticker-item>span{font:800 24px/1 "Manrope","Space Grotesk",sans-serif;text-transform:uppercase;letter-spacing:.045em;color:#fff;text-shadow:none;filter:none;-webkit-text-stroke:0;background:none}
.ticker-icon{width:43px;height:43px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;font-style:normal;background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(38,101,172,.035));border:1px solid rgba(160,211,255,.2);box-shadow:inset 1px 1px 0 rgba(255,255,255,.17),inset -1px -1px 0 rgba(0,12,46,.72),0 9px 20px rgba(0,4,24,.4)}.ticker-icon svg{width:24px;height:24px;fill:none;stroke:#b6ddff;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(-1px -1px 0 rgba(255,255,255,.18)) drop-shadow(1px 2px 1px rgba(0,12,45,.95))}.ticker-item:hover .ticker-icon{background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(31,113,204,.1));border-color:rgba(190,225,255,.42);transform:translateY(-2px);transition:.35s var(--ease)}
@keyframes ticker{to{transform:translateX(-50%)}}@keyframes tickerSheen{to{transform:translateX(12%) scaleX(1.08)}}@keyframes auroraDrift{0%{transform:translate3d(-3%,0,0) scale(1)}50%{transform:translate3d(5%,8%,0) scale(1.12)}100%{transform:translate3d(-1%,-4%,0) scale(1.04)}}
.section-light{background:var(--paper);color:var(--ink)}.section-index{font:600 10px/1 "Manrope";text-transform:uppercase;letter-spacing:.18em;color:#596579}.section-index span{color:var(--blue);margin:0 5px}.section-index.light{color:rgba(255,255,255,.45)}.intro-section{min-height:900px;padding:120px 6vw;display:grid;grid-template-columns:.5fr 1.25fr 1fr;gap:5vw;position:relative;overflow:hidden}.intro-statement{position:relative}.kicker{color:var(--blue);margin-bottom:24px}.intro-statement h2,.method-copy h2,.section-heading h2,.values-sticky h2,.cta-section h2,.page-hero h1{font-size:clamp(43px,5.2vw,78px);line-height:1.02;letter-spacing:-.055em;margin-bottom:45px}.intro-statement h2 em,.method-copy h2 em,.section-heading h2 em,.values-sticky h2 em,.cta-section h2 em{color:var(--blue)}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;color:#536176;line-height:1.75;font-size:14px}.round-link{width:110px;height:110px;margin-top:38px;border-radius:50%;background:var(--ink);color:white;display:flex;align-items:center;justify-content:center;gap:15px;font-size:11px;transition:.4s}.round-link:hover{background:var(--blue);transform:rotate(-7deg)}.round-link i{font-style:normal}.logic-visual{align-self:center;aspect-ratio:1;position:relative;display:grid;place-items:center}.logic-ring{position:absolute;border:1px solid rgba(24,119,255,.26);border-radius:50%}.ring-one{inset:3%;animation:orbit 35s linear infinite}.ring-two{inset:18%;border-style:dashed;animation:orbit 25s linear infinite reverse}.ring-three{inset:32%;box-shadow:0 0 80px rgba(24,119,255,.17)}.logic-ring:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--blue);top:12%;left:12%;box-shadow:0 0 15px var(--blue)}.logic-core{width:29%;aspect-ratio:1;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center;position:relative;box-shadow:0 25px 65px rgba(5,8,23,.24)}.logic-core span{font:800 clamp(30px,5vw,76px)/1 "Manrope";color:var(--cyan)}.logic-core small{position:absolute;bottom:-42px;text-transform:uppercase;letter-spacing:.18em;font-size:7px}.logic-label{position:absolute;font:600 8px/1 "Manrope";letter-spacing:.18em}.label-a{top:6%;right:20%}.label-b{bottom:23%;right:0}.label-c{bottom:5%;left:12%}
.services-section{padding:130px 6vw;background:var(--ink)}.section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:10vw;align-items:end;margin-bottom:70px}.section-heading h2{margin:24px 0 0}.section-heading h2 em{color:var(--cyan)}.section-heading>p{color:var(--muted);line-height:1.8;font-size:14px}.service-list{border-top:1px solid var(--line)}.service-row{min-height:145px;display:grid;grid-template-columns:55px 70px 1.3fr .8fr 40px;gap:25px;align-items:center;border-bottom:1px solid var(--line);position:relative;transition:.5s var(--ease)}.service-row:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,119,255,.22),transparent);transform:scaleY(0);transition:.45s var(--ease);transform-origin:bottom}.service-row>*{position:relative;z-index:1}.service-row:hover{padding:0 20px}.service-row:hover:before{transform:scaleY(1)}.service-number{font-size:10px;color:var(--cyan)}.service-icon{width:56px;height:56px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.service-icon svg{width:26px;fill:none;stroke:var(--cyan);stroke-width:1.6}.service-row h3{font-size:clamp(22px,2.5vw,38px);letter-spacing:-.04em;margin:0}.service-row p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.service-arrow{font-style:normal;font-size:22px;transition:.3s}.service-row:hover .service-arrow{transform:rotate(45deg);color:var(--cyan)}
.method-section{padding:125px 6vw}.method-head{margin:30px 0 90px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);gap:1.35vw;align-items:center}.method-copy{display:grid;grid-template-columns:1fr}.method-copy h2{margin-bottom:0}.method-infographic{margin:0;width:100%;display:flex;align-items:center;justify-content:flex-end}.method-infographic img{display:block;width:106%;height:auto;max-width:none;max-height:335px;object-fit:contain;object-position:right center;filter:drop-shadow(0 18px 30px rgba(20,72,140,.09))}.method-stage{display:grid;grid-template-columns:repeat(3,1fr);position:relative;gap:5vw;padding-top:42px}.method-line{position:absolute;top:10px;left:0;right:0;height:1px;background:var(--dark-line)}.method-line span{display:block;width:0;height:100%;background:var(--blue);transition:width 1.8s var(--ease)}.method-stage.in-view .method-line span{width:100%}.method-stage article{position:relative}.method-stage article>i{position:absolute;width:19px;height:19px;border:5px solid var(--paper);border-radius:50%;background:var(--blue);top:-41px;left:0;box-shadow:0 0 0 1px var(--blue)}.method-stage small{color:var(--blue);font-size:9px;letter-spacing:.17em;text-transform:uppercase}.method-stage h3{font-size:24px;margin:17px 0}.method-stage p{color:#657085;font-size:14px;line-height:1.7;max-width:330px}
.values-section{padding:130px 6vw;display:grid;grid-template-columns:.7fr 1fr;gap:10vw;background:#07112a}.values-sticky{position:sticky;top:130px;height:max-content}.values-sticky h2{margin:25px 0}.values-sticky h2 em{color:var(--cyan)}.values-sticky>p{color:var(--muted);max-width:420px;line-height:1.8}.value-cards{display:grid;gap:26px}.value-card{min-height:420px;border:1px solid rgba(152,190,231,.25);border-radius:26px;position:relative;overflow:hidden;background:rgba(255,255,255,.025);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 65px rgba(0,4,20,.22);transform-style:preserve-3d;isolation:isolate}.value-card:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,19,44,.78) 0%,rgba(8,19,44,.58) 27%,rgba(8,19,44,.16) 51%,transparent 72%);border-radius:inherit}.value-card:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),inset 18px 0 48px rgba(117,174,230,.035)}.value-card-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;z-index:0}.value-card-copy{position:absolute;z-index:2;left:34px;top:34px;bottom:31px;width:min(38%,330px);display:flex;flex-direction:column;align-items:flex-start}.value-card-copy>span{font-size:10px;color:var(--cyan)}.value-card h3{margin:auto 0 18px;font-size:32px;line-height:1.04;letter-spacing:-.04em;max-width:330px}.value-card p{margin:0;color:#a6b3c8;font-size:13px;line-height:1.72;max-width:300px;text-wrap:balance}
.value-card[data-value]{cursor:pointer;transition:border-color .38s var(--ease),box-shadow .38s var(--ease),transform .16s ease-out}.value-card[data-value]:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}.value-card[data-value].is-selected{border-color:rgba(64,220,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(64,220,255,.12),0 24px 72px rgba(0,12,40,.42),0 0 38px rgba(64,220,255,.11)}
.value-detail-panel{position:relative;width:min(100%,520px);max-height:0;margin-top:0;overflow:hidden;opacity:0;clip-path:inset(0 50% 100% 50% round 22px);transform:perspective(900px) rotateX(-9deg) translateY(24px) scale(.965);transform-origin:top center;border:1px solid transparent;border-radius:22px;background:linear-gradient(135deg,rgba(38,224,255,.13),rgba(13,99,159,.105) 48%,rgba(7,24,55,.2));box-shadow:inset 0 1px 0 rgba(255,255,255,.09);isolation:isolate;transition:max-height .82s var(--ease),margin-top .82s var(--ease),opacity .32s ease,clip-path .82s var(--ease),transform .82s var(--ease),border-color .45s ease,box-shadow .6s ease}.value-detail-panel.is-visible{max-height:430px;margin-top:46px;opacity:1;clip-path:inset(0 0 0 0 round 22px);transform:perspective(900px) rotateX(0) translateY(0) scale(1);border-color:rgba(64,220,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),inset 0 0 42px rgba(64,220,255,.045),0 22px 62px rgba(0,4,24,.32),0 0 38px rgba(64,220,255,.075)}.value-detail-panel:before{content:"";position:absolute;inset:0;z-index:-2;border-radius:inherit;background-image:linear-gradient(rgba(165,241,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(165,241,255,.13) 1px,transparent 1px),radial-gradient(circle at 12% 18%,rgba(64,220,255,.15),transparent 42%);background-size:11px 11px,11px 11px,100% 100%;opacity:.58;mask-image:linear-gradient(110deg,#000,rgba(0,0,0,.62) 65%,transparent)}.value-detail-panel:after{content:"";position:absolute;z-index:-1;left:-35%;right:-35%;top:-45%;height:38%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(116,235,255,.18),transparent);filter:blur(4px);opacity:0}.value-detail-panel.is-visible:after{animation:valuePanelScan 1.65s .2s var(--ease) both}.value-detail-interface{display:flex;align-items:center;gap:10px;padding:20px 24px 14px;border-bottom:1px solid rgba(122,226,255,.16);font:600 8px/1 "Manrope";letter-spacing:.19em;color:rgba(186,239,255,.68)}.value-detail-interface i{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan);animation:valueStatusPulse 1.8s ease-in-out infinite}.value-detail-interface b{height:1px;flex:1;background:linear-gradient(90deg,rgba(64,220,255,.4),transparent)}.value-detail-heading{display:flex;align-items:baseline;gap:16px;padding:25px 24px 0}.value-detail-heading>span{font:600 10px/1 "Manrope";letter-spacing:.16em;color:var(--cyan)}.value-detail-heading h3{margin:0;font-size:clamp(23px,2vw,31px);letter-spacing:-.035em}.value-detail-text{position:relative;margin:18px 24px 27px!important;max-width:450px!important;color:#c0cede!important;font-size:13px!important;line-height:1.75!important;text-wrap:pretty!important}.value-detail-text:after{content:"";display:inline-block;width:7px;height:1.05em;margin-left:4px;vertical-align:-.15em;background:var(--cyan);box-shadow:0 0 12px rgba(64,220,255,.75);animation:valueCaret .72s steps(1,end) infinite}.value-detail-panel.typing-complete .value-detail-text:after{opacity:0;animation:none;transition:opacity .35s ease}.value-detail-panel.is-rewriting .value-detail-heading,.value-detail-panel.is-rewriting .value-detail-text{animation:valueTextRefresh .54s var(--ease) both}@keyframes valuePanelScan{0%{top:-45%;opacity:0}18%{opacity:1}100%{top:118%;opacity:0}}@keyframes valueStatusPulse{50%{opacity:.45;transform:scale(.72)}}@keyframes valueCaret{50%{opacity:0}}@keyframes valueTextRefresh{0%{opacity:0;transform:translateY(10px);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
.quote-section{padding:140px 12vw;text-align:center;position:relative}.quote-mark{font:italic 160px/1 Georgia;color:rgba(24,119,255,.12);position:absolute;top:65px;left:50%;transform:translateX(-50%)}blockquote{font:500 clamp(29px,4vw,55px)/1.25 "Manrope";letter-spacing:-.045em;max-width:1100px;margin:0 auto 50px;position:relative}.quote-meta{display:flex;align-items:center;justify-content:center;gap:17px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#718097}.quote-meta i{width:35px;height:1px;background:var(--blue)}.quote-meta strong{color:var(--ink)}
.cta-section{min-height:760px;padding:130px 7vw;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 50%,#0e3470,transparent 35%),var(--ink)}.cta-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.5}.cta-orb{position:absolute;width:480px;height:480px;border:1px solid rgba(64,220,255,.22);border-radius:50%;box-shadow:0 0 120px rgba(24,119,255,.2),inset 0 0 120px rgba(24,119,255,.1);animation:pulse 5s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.08);opacity:.7}}.cta-section>*:not(canvas):not(.cta-orb){position:relative;z-index:2}.cta-section h2{margin:25px 0 18px}.cta-section h2 em{color:var(--cyan)}.cta-section>p:not(.eyebrow){color:var(--muted)}.cta-section .button{margin-top:24px}
.site-footer{background:#03050e;padding:60px 5vw 25px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;padding-bottom:55px}.footer-top p{margin:0;color:var(--muted);line-height:1.6;font-size:13px}.back-top{font-size:11px;text-transform:uppercase;letter-spacing:.13em}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;color:#647085;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.footer-bottom div{display:flex;gap:30px;color:white}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in-view{opacity:1;transform:none}.split-title .word{display:inline-block;overflow:visible;vertical-align:baseline;padding:.045em .015em;margin:-.045em -.015em}.split-title .word>span{display:inline-block;transform:translateY(110%);transition:transform .85s var(--ease)}body.ready .split-title .word>span{transform:none}.split-title .word:nth-child(2)>span{transition-delay:.06s}.split-title .word:nth-child(3)>span{transition-delay:.12s}.split-title .word:nth-child(4)>span{transition-delay:.18s}.hero h1{line-height:1.04}
/* Internal pages */
.inner-page{background:var(--paper);color:var(--ink)}.inner-page .site-header:not(.scrolled){color:white}.page-hero{min-height:640px;padding:170px 6vw 90px;background:var(--ink);color:white;position:relative;overflow:hidden;display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:8vw}.page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 35%,rgba(24,119,255,.35),transparent 30%),linear-gradient(125deg,transparent 45%,rgba(64,220,255,.06))}.page-hero .hero-grid{opacity:.8}.page-hero-copy,.page-hero-aside{position:relative;z-index:2}.page-hero h1{margin:25px 0 0}.page-hero h1 em{color:var(--cyan)}.page-hero-aside{color:var(--muted);line-height:1.8}.page-hero-number{font:800 clamp(110px,17vw,260px)/.7 "Manrope";position:absolute;right:-1vw;bottom:-2vw;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.1)}.content-section{padding:110px 6vw}.story-grid{display:grid;grid-template-columns:.5fr 1.3fr .8fr;gap:6vw}.story-grid h2,.services-intro h2,.contact-intro h2{font-size:clamp(38px,4.4vw,68px);letter-spacing:-.05em;line-height:1.05}.story-grid .lead{font-size:clamp(20px,2vw,29px);line-height:1.45;color:#344157}.story-grid .body-copy{color:#647085;line-height:1.8}.result-card{background:var(--blue);color:white;padding:40px;border-radius:22px;margin-top:45px}.result-card span{font-size:9px;letter-spacing:.18em;text-transform:uppercase}.result-card strong{display:block;font:700 26px/1.3 "Manrope";margin-top:70px}.timeline{background:var(--ink);color:white;padding:120px 6vw}.timeline-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.timeline-head h2{font-size:clamp(42px,5vw,75px);letter-spacing:-.055em;margin:0}.timeline-list{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:140px 1fr 1fr;gap:4vw;padding:35px 0;border-bottom:1px solid var(--line);align-items:start}.timeline-item>span{font:700 34px/1 "Manrope";color:var(--cyan)}.timeline-item h3{font-size:26px;margin:0}.timeline-item p{color:var(--muted);line-height:1.7;margin:0}.services-intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.services-intro p{color:#647085;line-height:1.8}.service-detail{padding:110px 6vw;display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;border-top:1px solid var(--dark-line);position:relative;overflow:hidden}.service-detail:nth-child(even){background:#e3eaf0}.detail-side{display:flex;flex-direction:column;justify-content:space-between;min-height:340px}.detail-side span{font:700 74px/1 "Manrope";color:transparent;-webkit-text-stroke:1px rgba(24,119,255,.35)}.detail-art{width:180px;height:180px;border:1px solid rgba(24,119,255,.25);border-radius:50%;position:relative;display:grid;place-items:center}.detail-art:before{content:"";width:55%;height:55%;border:1px dashed var(--blue);border-radius:30%;animation:orbit 15s linear infinite}.detail-art:after{content:"";position:absolute;width:12px;height:12px;background:var(--blue);border-radius:50%;box-shadow:0 0 25px var(--blue)}.detail-copy h2{font-size:clamp(38px,4vw,62px);letter-spacing:-.05em;margin-bottom:30px}.detail-copy>p{font-size:17px;line-height:1.8;color:#556176}.detail-points{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-top:40px;border-top:1px solid var(--dark-line)}.detail-points span{padding:17px 0;border-bottom:1px solid var(--dark-line);font-size:12px;font-weight:600}.contact-layout{padding:110px 6vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}.contact-intro>p{color:#647085;line-height:1.8}.contact-channels{margin-top:50px}.contact-channel{display:grid;grid-template-columns:35px 1fr;gap:15px;padding:20px 0;border-bottom:1px solid var(--dark-line)}.contact-channel i{font-style:normal;color:var(--blue)}.contact-channel small{display:block;text-transform:uppercase;letter-spacing:.15em;color:#7e899a;font-size:8px;margin-bottom:6px}.contact-channel strong{font:600 17px/1.4 "Manrope"}.contact-form{background:white;border-radius:24px;padding:45px;box-shadow:0 30px 70px rgba(5,8,23,.09)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{margin-bottom:25px}.field label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#657085;margin-bottom:9px}.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid #cad2dc;background:transparent;padding:10px 0 13px;outline:none;color:var(--ink)}.field input:focus,.field textarea:focus{border-color:var(--blue)}.field textarea{min-height:120px;resize:vertical}.form-submit{border:0;cursor:pointer}.form-note{font-size:10px;color:#7e899a;line-height:1.5;margin-top:15px}.contact-map{height:430px;background:var(--ink);position:relative;overflow:hidden;color:white;display:grid;place-items:center}.contact-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(64,220,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(64,220,255,.09) 1px,transparent 1px);background-size:40px 40px;transform:perspective(500px) rotateX(55deg) scale(1.7)}.map-pin{position:relative;z-index:2;text-align:center}.map-pin i{display:block;width:25px;height:25px;background:var(--cyan);border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin:0 auto 25px;box-shadow:0 0 50px var(--cyan)}.map-pin strong{font:700 26px/1 "Manrope"}.map-pin small{display:block;color:var(--muted);margin-top:8px}
@media(max-width:900px){.site-header{height:74px;padding:0 22px}.site-header .brand{width:170px;height:48px;background-size:contain}.header-cta{display:none}.main-nav{position:fixed;inset:0;background:var(--ink);z-index:-1;flex-direction:column;align-items:center;justify-content:center;gap:30px;opacity:0;visibility:hidden;transition:.4s}.menu-open .main-nav{opacity:1;visibility:visible}.main-nav a{font-size:28px}.menu-toggle{display:grid;width:42px;height:42px;margin-left:auto;place-content:center;gap:6px;z-index:2}.menu-toggle span{width:22px;height:1px;background:currentColor;transition:.3s}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{padding:110px 24px 80px;align-items:flex-end}.hero-copy{width:100%}.hero h1{font-size:clamp(44px,12vw,64px);line-height:.98}.hero-media img{object-position:62% center}.hero-media:after{background:linear-gradient(0deg,rgba(3,9,24,.64) 0%,rgba(3,9,24,.30) 78%,rgba(3,9,24,.18) 100%)}.hero-status{display:none}.scroll-cue{display:none}.intro-section{grid-template-columns:1fr;padding:90px 24px}.logic-visual{max-width:500px;width:100%;margin:auto}.services-section,.method-section,.values-section,.quote-section,.content-section,.timeline,.service-detail,.contact-layout{padding:90px 24px}.section-heading,.values-section,.story-grid,.services-intro,.contact-layout{grid-template-columns:1fr}.service-row{grid-template-columns:40px 50px 1fr 25px;padding:25px 0}.service-row p{display:none}.service-row h3{font-size:22px}.method-head{grid-template-columns:1fr;gap:38px;margin-bottom:70px}.method-infographic{justify-content:flex-start}.method-infographic img{max-width:760px;max-height:none;object-position:left center}.method-stage{grid-template-columns:1fr;gap:55px}.method-line{left:9px;top:0;bottom:0;width:1px;height:auto}.method-line span{width:1px;height:0}.method-stage.in-view .method-line span{width:1px;height:100%}.method-stage article{padding-left:42px}.method-stage article>i{top:0;left:0}.values-sticky{position:static}.value-card{min-height:390px}.footer-top{grid-template-columns:1fr auto}.footer-top p{display:none}.footer-bottom{flex-direction:column;gap:20px}.page-hero{grid-template-columns:1fr;padding:150px 24px 70px;min-height:590px}.page-hero-aside{max-width:500px}.story-grid{gap:30px}.timeline-item{grid-template-columns:80px 1fr}.timeline-item p{grid-column:2}.service-detail{grid-template-columns:1fr}.detail-side{min-height:auto;flex-direction:row;align-items:center}.detail-art{width:110px;height:110px}.contact-form{padding:28px}.form-row{grid-template-columns:1fr}}
@media(max-width:560px){.brand{font-size:21px}.hero h1{font-size:42px}.hero-intro{font-size:14px}.hero-actions{display:none}.ticker{height:84px}.ticker-set{gap:44px;padding-right:44px}.ticker-item{gap:13px}.ticker-item>span{font-size:17px;letter-spacing:.035em}.ticker-icon{width:35px;height:35px;border-radius:9px}.ticker-icon svg{width:20px;height:20px}.intro-columns,.detail-points{grid-template-columns:1fr}.intro-statement h2,.method-copy h2,.section-heading h2,.values-sticky h2,.cta-section h2,.page-hero h1{font-size:40px}.logic-visual{margin-top:25px}.section-heading{gap:25px}.value-glyph{width:145px;height:145px}.quote-section{padding-left:24px;padding-right:24px}.footer-bottom div{flex-direction:column;gap:10px}.timeline-item{grid-template-columns:1fr}.timeline-item p{grid-column:1}.form-row{gap:0}}
@media(max-width:560px){.value-card{min-height:360px}.value-card:before{background:linear-gradient(90deg,rgba(8,19,44,.9) 0%,rgba(8,19,44,.72) 38%,rgba(8,19,44,.26) 67%,transparent 88%)}.value-card-image{object-position:58% center}.value-card-copy{left:24px;top:24px;bottom:24px;width:58%}.value-card h3{font-size:26px;margin-bottom:14px}.value-card p{font-size:12px;line-height:1.58}.value-detail-panel.is-visible{max-height:620px;margin-top:34px}.value-detail-heading{padding:22px 20px 0}.value-detail-interface{padding:18px 20px 13px}.value-detail-text{margin:16px 20px 23px!important;font-size:12px!important;line-height:1.68!important}}
@media(max-width:900px){.site-header .brand{width:52px;height:52px;background-image:url("assets/bytesoft-symbol.svg");background-size:47px 47px;background-position:left center}.hero h1{line-height:1.05}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.split-title .word>span{transform:none}}

/* Satin glass header CTA */
.header-cta{
  gap:16px;
  padding:12px 15px 12px 21px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:15px;
  color:#fff;
  background:
    linear-gradient(108deg,rgba(255,255,255,.24),rgba(255,255,255,.115) 46%,rgba(255,255,255,.18)),
    rgba(231,244,255,.055);
  -webkit-backdrop-filter:blur(20px) saturate(135%);
  backdrop-filter:blur(20px) saturate(135%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 1px 0 0 rgba(255,255,255,.24),
    inset 0 -2px 0 rgba(5,17,42,.20),
    0 4px 0 rgba(184,215,244,.12),
    0 9px 18px rgba(0,4,18,.28),
    0 18px 38px rgba(0,4,20,.18);
  text-shadow:0 1px 1px rgba(0,7,24,.38);
}
.header-cta:before{
  inset:1px 1px 48%;
  border-radius:13px 13px 45% 45%;
  background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.035));
  opacity:.78;
}
.header-cta:after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.3),transparent 23%),
    linear-gradient(90deg,transparent 8%,rgba(255,255,255,.12) 50%,transparent 92%);
  mix-blend-mode:screen;
  opacity:.72;
}
.header-cta i{
  width:37px;
  height:32px;
  filter:grayscale(.18) brightness(1.4) drop-shadow(0 2px 4px rgba(0,8,26,.28));
}
.header-cta:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.7);
  background:
    linear-gradient(108deg,rgba(255,255,255,.31),rgba(255,255,255,.15) 46%,rgba(255,255,255,.22)),
    rgba(231,244,255,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 1px 0 0 rgba(255,255,255,.3),
    inset 0 -2px 0 rgba(5,17,42,.18),
    0 6px 0 rgba(184,215,244,.14),
    0 13px 24px rgba(0,4,18,.32),
    0 22px 44px rgba(0,4,20,.2);
}
.header-cta:active{
  transform:translateY(2px);
  box-shadow:
    inset 0 2px 5px rgba(0,8,28,.22),
    inset 0 1px 0 rgba(255,255,255,.52),
    0 2px 0 rgba(184,215,244,.1),
    0 6px 14px rgba(0,4,18,.25);
}

/* Fixed interconnected-world window */
.network-window{
  grid-column:1 / -1;
  position:relative;
  isolation:isolate;
  height:clamp(340px,35vw,520px);
  margin-top:-42px;
  overflow:hidden;
  border:1px solid rgba(18,39,69,.28);
  border-radius:34px;
  background-image:url("assets/interconnected-world-v2.png");
  background-repeat:no-repeat;
  background-position:center 56%;
  background-size:cover;
  background-attachment:scroll;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.58),
    inset 0 -1px 0 rgba(1,8,23,.45),
    inset 0 0 0 10px rgba(4,14,34,.08),
    0 28px 70px rgba(16,43,82,.16),
    0 5px 15px rgba(5,18,42,.12);
}
.network-window:before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  padding:1px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.72),rgba(164,196,229,.16) 28%,rgba(4,15,36,.42) 72%,rgba(255,255,255,.28));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}
.network-window:after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(241,249,255,.105),transparent 22%,rgba(2,9,24,.13) 100%),
    linear-gradient(90deg,rgba(3,12,31,.2),rgba(215,237,255,.025) 48%,rgba(2,10,27,.16));
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.network-window-glass{
  position:absolute;
  z-index:3;
  inset:10px;
  border-radius:25px;
  pointer-events:none;
  border:1px solid rgba(231,246,255,.13);
  box-shadow:
    inset 0 0 34px rgba(213,235,255,.055),
    inset 0 -22px 52px rgba(0,7,23,.13);
}

/* Nearly invisible glass CTA */
.header-cta{
  border-color:rgba(255,255,255,.25);
  background:linear-gradient(110deg,rgba(255,255,255,.075),rgba(255,255,255,.018) 52%,rgba(255,255,255,.052));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(255,255,255,.055),
    0 3px 0 rgba(181,214,244,.055),
    0 10px 25px rgba(0,4,18,.16);
}
.header-cta:before{opacity:.2;background:linear-gradient(180deg,rgba(255,255,255,.18),transparent)}
.header-cta:after{opacity:.18}
.header-cta i{opacity:.82;filter:grayscale(.28) brightness(1.3) drop-shadow(0 1px 3px rgba(0,8,26,.2))}
.header-cta:hover{
  border-color:rgba(255,255,255,.4);
  background:linear-gradient(110deg,rgba(255,255,255,.12),rgba(255,255,255,.035) 52%,rgba(255,255,255,.075));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.46),
    inset 0 -1px 0 rgba(255,255,255,.07),
    0 5px 0 rgba(181,214,244,.07),
    0 14px 30px rgba(0,4,18,.2);
}
@media(max-width:900px){
  .network-window{height:390px;margin-top:18px;border-radius:25px;background-attachment:scroll;background-position:62% center}
  .network-window-glass{inset:7px;border-radius:18px}
}

/* Compact intro composition */
@media(min-width:901px){
  .intro-section{
    grid-template-columns:.38fr 1.55fr .82fr;
    grid-template-rows:auto auto;
    gap:28px 4vw;
    align-items:start;
  }
  .intro-section>.section-index{grid-column:1;grid-row:1}
  .intro-statement{grid-column:2;grid-row:1}
  .intro-statement h2{font-size:clamp(36px,3.6vw,66px);margin-bottom:36px}
  .intro-statement .title-line{display:block;white-space:nowrap}
  .logic-visual{grid-column:3;grid-row:1 / span 2;align-self:center;width:100%}
  .network-window{
    grid-column:2;
    grid-row:2;
    width:100%;
    height:clamp(235px,15vw,305px);
    margin-top:12px;
    border-radius:27px;
    background-size:cover;
    background-position:center calc(50% + var(--network-parallax,0px));
  }
  .network-window-glass{inset:8px;border-radius:20px}
}
@media(max-width:900px){
  .intro-statement .title-line{display:block}
  .network-window{grid-column:1;grid-row:auto;background-size:cover;background-position:center calc(50% + var(--network-parallax,0px))}
}

/* Centered ultrawide canvas */
html{background:#02040c}
body{
  width:100%;
  max-width:2048px;
  margin-left:auto;
  margin-right:auto;
  position:relative;
  box-shadow:0 0 90px rgba(0,3,14,.34);
}
.site-header{
  left:50%;
  right:auto;
  width:min(100%,2048px);
  transform:translateX(-50%);
}

/* Animated icon tab navigation */
@media(min-width:901px){
  .site-header{height:104px;padding-top:4px;padding-bottom:4px}
  .site-header.scrolled{height:88px}
  .main-nav{
    height:100%;
    align-items:center;
    gap:clamp(7px,1.15vw,22px);
  }
  .main-nav .nav-item{
    --nav-accent:#71ddff;
    position:relative;
    width:76px;
    height:76px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:5px 4px 4px;
    color:rgba(215,230,250,.58);
    isolation:isolate;
    font-family:"Space Grotesk","Manrope",sans-serif;
    text-decoration:none;
    transition:color .36s var(--ease),transform .36s var(--ease);
  }
  .main-nav .nav-item:after{display:none}
  .main-nav .nav-item:before{
    content:"";
    position:absolute;
    left:50%;
    top:8px;
    width:49px;
    height:49px;
    border-radius:50%;
    background:
      radial-gradient(circle at 38% 28%,rgba(255,255,255,.3),transparent 22%),
      radial-gradient(circle,rgba(53,153,255,.24),rgba(11,75,164,.07) 56%,transparent 72%);
    border:1px solid rgba(130,210,255,.12);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 9px 24px rgba(0,82,190,.12);
    opacity:0;
    transform:translateX(-50%) scale(.48);
    transition:opacity .4s var(--ease),transform .55s cubic-bezier(.16,1,.3,1);
    z-index:-1;
  }
  .main-nav .nav-item:hover,.main-nav .nav-item:focus-visible,.main-nav .nav-item.active{
    color:#f7fbff;
    transform:translateY(-1px);
  }
  .main-nav .nav-item:hover:before,.main-nav .nav-item:focus-visible:before,.main-nav .nav-item.active:before{
    opacity:1;
    transform:translateX(-50%) scale(1);
  }
  .nav-icon{
    position:relative;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    filter:drop-shadow(0 5px 8px rgba(0,0,0,.24));
    transform-origin:50% 65%;
  }
  .nav-icon svg{width:35px;height:35px;overflow:visible;fill:none}
  .nav-icon-core,.nav-icon-orbit,.nav-icon-detail{
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
    transform-box:fill-box;
    transform-origin:center;
  }
  .nav-icon-orbit{stroke:rgba(164,200,240,.42);stroke-dasharray:72;stroke-dashoffset:0}
  .nav-icon-detail{stroke:rgba(160,205,244,.55);stroke-width:.82;opacity:.72}
  .nav-icon-particle{fill:currentColor;stroke:none;transform-box:fill-box;transform-origin:center;opacity:.55}
  .nav-icon>i,.nav-icon>b{
    position:absolute;
    width:3px;
    height:3px;
    border-radius:50%;
    background:var(--nav-accent);
    box-shadow:0 0 8px var(--nav-accent);
    opacity:0;
    pointer-events:none;
  }
  .nav-icon>i{left:1px;top:16px}.nav-icon>b{right:1px;top:9px}
  .nav-label{
    display:block;
    font-size:10px;
    line-height:1;
    font-weight:600;
    letter-spacing:.015em;
    white-space:nowrap;
    transition:transform .36s var(--ease),text-shadow .36s,color .36s;
  }
  .nav-item.active .nav-label,.nav-item:hover .nav-label,.nav-item:focus-visible .nav-label{
    transform:translateY(1px);
    text-shadow:0 0 18px rgba(103,210,255,.32);
  }
  .nav-item.active .nav-icon,.nav-item:hover .nav-icon,.nav-item:focus-visible .nav-icon,.nav-item.nav-activate .nav-icon{
    color:var(--nav-accent);
    animation:navIconPop .72s cubic-bezier(.17,.89,.28,1.35) both;
  }
  .nav-item.active .nav-icon:after{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:50%;
    border:1px solid rgba(101,216,255,.2);
    animation:navHalo 2.8s ease-out infinite;
  }
  .nav-item:hover .nav-icon-orbit,.nav-item:focus-visible .nav-icon-orbit,.nav-item.nav-activate .nav-icon-orbit{
    animation:navTrace .76s cubic-bezier(.4,0,.2,1) both;
  }
  .nav-item:hover .nav-icon>i,.nav-item:hover .nav-icon>b,.nav-item:focus-visible .nav-icon>i,.nav-item:focus-visible .nav-icon>b,.nav-item.nav-activate .nav-icon>i,.nav-item.nav-activate .nav-icon>b{
    animation:navSpark .72s ease-out both;
  }
  .nav-item:hover .nav-icon>b,.nav-item:focus-visible .nav-icon>b,.nav-item.nav-activate .nav-icon>b{animation-delay:.09s}

  .nav-home .home-frame{opacity:.55}
  .nav-home:hover .home-frame,.nav-home:focus-visible .home-frame,.nav-home.nav-activate .home-frame{animation:navFrameTurn .82s cubic-bezier(.2,.85,.2,1) both}
  .nav-home:hover .home-roof,.nav-home:focus-visible .home-roof,.nav-home.nav-activate .home-roof{animation:navHomeBuild .72s cubic-bezier(.2,.9,.25,1.2) both}
  .nav-home:hover .home-body,.nav-home:focus-visible .home-body,.nav-home.nav-activate .home-body{animation:navHomeRise .72s .05s cubic-bezier(.2,.9,.25,1.2) both}
  .nav-home:hover .home-depth,.nav-home:focus-visible .home-depth,.nav-home.nav-activate .home-depth{animation:navDepthFlash .75s ease both}
  .nav-home:hover .nav-icon-particle,.nav-home:focus-visible .nav-icon-particle,.nav-home.nav-activate .nav-icon-particle{animation:navBeacon .8s ease-out both}

  .nav-about:hover .nav-icon-orbit,.nav-about:focus-visible .nav-icon-orbit,.nav-about.nav-activate .nav-icon-orbit{animation:navOrbit .86s cubic-bezier(.2,.8,.2,1) both}
  .nav-about:hover .nav-head,.nav-about:focus-visible .nav-head,.nav-about.nav-activate .nav-head{animation:navHead .72s cubic-bezier(.18,.9,.3,1.25) both}
  .nav-about:hover .side-left,.nav-about:focus-visible .side-left,.nav-about.nav-activate .side-left{animation:navTeamLeft .72s .04s cubic-bezier(.18,.9,.3,1.25) both}
  .nav-about:hover .side-right,.nav-about:focus-visible .side-right,.nav-about.nav-activate .side-right{animation:navTeamRight .72s .08s cubic-bezier(.18,.9,.3,1.25) both}
  .nav-about:hover .nav-shoulders,.nav-about:focus-visible .nav-shoulders,.nav-about.nav-activate .nav-shoulders{animation:navShoulders .68s .06s cubic-bezier(.18,.9,.3,1.2) both}
  .nav-about:hover .team-links,.nav-about:focus-visible .team-links,.nav-about.nav-activate .team-links{animation:navLinks .72s ease both}
  .nav-about:hover .nav-icon-particle,.nav-about:focus-visible .nav-icon-particle,.nav-about.nav-activate .nav-icon-particle{animation:navBeacon .8s ease-out both}

  .nav-services .nav-icon-orbit{opacity:.5}
  .nav-services:hover .service-hub,.nav-services:focus-visible .service-hub,.nav-services.nav-activate .service-hub{animation:navHub .82s cubic-bezier(.18,.89,.3,1.25) both}
  .nav-services:hover .hub-depth,.nav-services:focus-visible .hub-depth,.nav-services.nav-activate .hub-depth{animation:navDepthFlash .78s .08s ease both}
  .nav-services:hover .service-links,.nav-services:focus-visible .service-links,.nav-services.nav-activate .service-links{animation:navLinks .78s ease both}
  .nav-services:hover .node-top,.nav-services:focus-visible .node-top,.nav-services.nav-activate .node-top{animation:navNodeTop .7s .02s cubic-bezier(.18,.89,.3,1.3) both}
  .nav-services:hover .node-right,.nav-services:focus-visible .node-right,.nav-services.nav-activate .node-right{animation:navNodeRight .7s .07s cubic-bezier(.18,.89,.3,1.3) both}
  .nav-services:hover .node-bottom,.nav-services:focus-visible .node-bottom,.nav-services.nav-activate .node-bottom{animation:navNodeBottom .7s .12s cubic-bezier(.18,.89,.3,1.3) both}
  .nav-services:hover .node-left,.nav-services:focus-visible .node-left,.nav-services.nav-activate .node-left{animation:navNodeLeft .7s .17s cubic-bezier(.18,.89,.3,1.3) both}

  .nav-contact:hover .bubble-back,.nav-contact:focus-visible .bubble-back,.nav-contact.nav-activate .bubble-back{animation:navBubbleBack .74s cubic-bezier(.18,.89,.3,1.25) both}
  .nav-contact:hover .bubble-front,.nav-contact:focus-visible .bubble-front,.nav-contact.nav-activate .bubble-front{animation:navBubbleFront .74s .04s cubic-bezier(.18,.89,.3,1.25) both}
  .nav-contact:hover .signal-detail,.nav-contact:focus-visible .signal-detail,.nav-contact.nav-activate .signal-detail{animation:navSignal .8s .12s ease both}
  .nav-contact:hover .nav-icon-particle,.nav-contact:focus-visible .nav-icon-particle,.nav-contact.nav-activate .nav-icon-particle{animation:navTyping .72s ease-in-out both}
  .nav-contact:hover .particle-two,.nav-contact:focus-visible .particle-two,.nav-contact.nav-activate .particle-two{animation-delay:.09s}
  .nav-contact:hover .particle-three,.nav-contact:focus-visible .particle-three,.nav-contact.nav-activate .particle-three{animation-delay:.18s}
}

@keyframes navIconPop{0%{transform:translateY(0) scale(1)}32%{transform:translateY(-6px) scale(.82) rotate(-4deg)}67%{transform:translateY(-2px) scale(1.13) rotate(2deg)}100%{transform:translateY(-3px) scale(1.02)}}
@keyframes navHalo{0%{opacity:.55;transform:scale(.75)}70%,100%{opacity:0;transform:scale(1.55)}}
@keyframes navTrace{0%{stroke-dashoffset:0;opacity:.35}45%{stroke-dashoffset:72;opacity:.1}46%{stroke-dashoffset:-72}100%{stroke-dashoffset:0;opacity:.75}}
@keyframes navSpark{0%{opacity:0;transform:translate(0,0) scale(.3)}35%{opacity:1}100%{opacity:0;transform:translate(-5px,-9px) scale(1.35)}}
@keyframes navHomeBuild{0%{stroke-dasharray:9 42;stroke-dashoffset:18;transform:scale(.78)}60%{stroke-dasharray:42 0;transform:scale(1.12)}100%{stroke-dasharray:42 0;stroke-dashoffset:0;transform:scale(1)}}
@keyframes navFrameTurn{0%{transform:rotate(-18deg) scale(.72);stroke-dashoffset:42;opacity:.12}66%{transform:rotate(5deg) scale(1.08);opacity:.8}100%{transform:none;stroke-dashoffset:0;opacity:.62}}
@keyframes navHomeRise{0%{transform:translateY(5px) scale(.72);opacity:.15}70%{transform:translateY(-1px) scale(1.08);opacity:1}100%{transform:none;opacity:1}}
@keyframes navDepthFlash{0%{opacity:0;stroke-dasharray:3 24;stroke-dashoffset:16}55%{opacity:1}100%{opacity:.72;stroke-dasharray:28 0;stroke-dashoffset:0}}
@keyframes navBeacon{0%{opacity:.2;transform:scale(.4)}45%{opacity:1;transform:scale(1.7);filter:drop-shadow(0 0 5px #72ddff)}100%{opacity:.75;transform:scale(1)}}
@keyframes navOrbit{0%{transform:rotate(-35deg) scale(.72);stroke-dashoffset:45}65%{transform:rotate(12deg) scale(1.12)}100%{transform:rotate(0) scale(1);stroke-dashoffset:0}}
@keyframes navHead{0%{transform:translateY(5px) scale(.55)}70%{transform:translateY(-1px) scale(1.18)}100%{transform:none}}
@keyframes navShoulders{0%{transform:translateY(7px) scaleX(.55);opacity:.15}70%{transform:translateY(-1px) scaleX(1.1);opacity:1}100%{transform:none;opacity:1}}
@keyframes navTeamLeft{0%{transform:translate(5px,3px) scale(.35);opacity:.1}70%{transform:translate(-1px,-1px) scale(1.12);opacity:1}100%{transform:none;opacity:1}}
@keyframes navTeamRight{0%{transform:translate(-5px,3px) scale(.35);opacity:.1}70%{transform:translate(1px,-1px) scale(1.12);opacity:1}100%{transform:none;opacity:1}}
@keyframes navLinks{0%{stroke-dasharray:2 40;stroke-dashoffset:20;opacity:0}58%{opacity:1}100%{stroke-dasharray:48 0;stroke-dashoffset:0;opacity:.75}}
@keyframes navHub{0%{transform:rotate(-34deg) scale(.45);opacity:.15}67%{transform:rotate(7deg) scale(1.16);opacity:1}100%{transform:none;opacity:1}}
@keyframes navNodeTop{0%{transform:translateY(7px) scale(.25);opacity:0}70%{transform:translateY(-1px) scale(1.2);opacity:1}100%{transform:none;opacity:1}}
@keyframes navNodeRight{0%{transform:translateX(-7px) scale(.25);opacity:0}70%{transform:translateX(1px) scale(1.2);opacity:1}100%{transform:none;opacity:1}}
@keyframes navNodeBottom{0%{transform:translateY(-7px) scale(.25);opacity:0}70%{transform:translateY(1px) scale(1.2);opacity:1}100%{transform:none;opacity:1}}
@keyframes navNodeLeft{0%{transform:translateX(7px) scale(.25);opacity:0}70%{transform:translateX(-1px) scale(1.2);opacity:1}100%{transform:none;opacity:1}}
@keyframes navTileA{0%{transform:translate(5px,5px) scale(.45) rotate(18deg)}70%{transform:translate(-1px,-1px) scale(1.12)}100%{transform:none}}
@keyframes navTileB{0%{transform:translate(-5px,5px) scale(.45) rotate(-18deg)}70%{transform:translate(1px,-1px) scale(1.12)}100%{transform:none}}
@keyframes navTileC{0%{transform:translate(5px,-5px) scale(.45) rotate(-18deg)}70%{transform:translate(-1px,1px) scale(1.12)}100%{transform:none}}
@keyframes navTileD{0%{transform:translate(-5px,-5px) scale(.45) rotate(18deg)}70%{transform:translate(1px,1px) scale(1.12)}100%{transform:none}}
@keyframes navBubbleBack{0%{transform:translate(-5px,3px) scale(.68);opacity:.15}65%{transform:translate(1px,-1px) scale(1.07);opacity:.8}100%{transform:none;opacity:.65}}
@keyframes navBubbleFront{0%{transform:translate(5px,-4px) scale(.62)}65%{transform:translate(-1px,1px) scale(1.12)}100%{transform:none}}
@keyframes navSignal{0%{stroke-dasharray:2 18;stroke-dashoffset:14;opacity:0}55%{opacity:1}100%{stroke-dasharray:20 0;stroke-dashoffset:0;opacity:.8}}
@keyframes navTyping{0%,100%{transform:translateY(0);opacity:.45}42%{transform:translateY(-2.6px) scale(1.35);opacity:1}}

@media(max-width:900px){
  .main-nav{gap:16px}
  .main-nav .nav-item{display:flex;width:150px;min-height:82px;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:inherit}
  .main-nav .nav-item:after{display:none}
  .nav-icon{width:38px;height:38px;display:grid;place-items:center;color:rgba(132,204,255,.72)}
  .nav-icon svg{width:34px;height:34px;fill:none}
  .nav-icon-core,.nav-icon-orbit,.nav-icon-detail{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  .nav-icon-detail{stroke-width:.85;opacity:.7}
  .nav-icon-particle{fill:currentColor;stroke:none}
  .nav-icon>i,.nav-icon>b{display:none}
  .nav-label{font-size:21px;font-weight:600}
  .nav-item.active .nav-icon{color:var(--cyan);filter:drop-shadow(0 0 12px rgba(64,220,255,.35))}
}

@media(prefers-reduced-motion:reduce){
  .main-nav .nav-item,.main-nav .nav-item *{animation:none!important;transition-duration:.01ms!important}
}

/* Logo ufficiale ByteSoft: identico su header desktop, header mobile e footer. */
.site-header .brand{
  width:62px!important;
  height:62px!important;
  background-image:url("assets/bytesoft-symbol.svg")!important;
  background-repeat:no-repeat!important;
  background-position:left center!important;
  background-size:58px 58px!important;
  filter:drop-shadow(0 0 9px rgba(29,144,255,.24))!important;
}
.site-header .brand>*{display:none!important}
.footer-top .brand{
  width:56px;
  height:56px;
  background:url("assets/bytesoft-symbol.svg") left center/52px 52px no-repeat;
}
.footer-top .brand>*{display:none!important}
@media(max-width:900px){
  .site-header .brand{
    width:52px!important;
    height:52px!important;
    background-size:47px 47px!important;
  }
}

/* Featured ICT management visual */
@media(min-width:901px){
  .service-detail-featured{
    grid-template-columns:minmax(78px,.2fr) minmax(250px,.58fr) minmax(0,1.35fr);
    gap:clamp(26px,3.1vw,68px);
    align-items:center;
    padding-top:82px;
    padding-bottom:82px;
  }
  .service-detail-featured .detail-side{
    min-height:100%;
    justify-content:flex-start;
  }
  .service-detail-featured .detail-side span{margin-top:10px}
}
.service-detail-media{
  position:relative;
  isolation:isolate;
  width:min(100%,340px);
  height:clamp(470px,31vw,600px);
  margin:0;
  justify-self:center;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(93,144,188,.38);
  border-radius:34px;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(234,244,252,.7));
  box-shadow:0 30px 68px rgba(35,73,111,.2),0 9px 22px rgba(40,91,139,.12),inset 0 1px 0 rgba(255,255,255,.96);
}
.service-detail-media:before{
  content:"";
  position:absolute;
  inset:7px;
  z-index:2;
  pointer-events:none;
  border:1px solid rgba(91,158,207,.3);
  border-radius:27px;
  box-shadow:inset 0 0 30px rgba(78,164,231,.085),0 0 0 1px rgba(255,255,255,.42);
}
.service-detail-media:after{
  content:"";
  position:absolute;
  z-index:3;
  left:14%;
  right:14%;
  bottom:3%;
  height:16%;
  background:radial-gradient(ellipse,rgba(53,130,216,.16),transparent 68%);
  filter:blur(14px);
  pointer-events:none;
}
.service-detail-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  border-radius:33px;
  filter:saturate(1.04) contrast(1.015);
  transition:transform .9s cubic-bezier(.16,1,.3,1),filter .6s ease;
}
.service-detail-media:hover img{transform:scale(1.025);filter:saturate(1.09) contrast(1.025)}
.service-detail-media-software img{object-position:center 52%}
.service-detail-media-security img{object-position:center 52%}
.service-detail-media-training img{object-position:center 60%}

/* Swift image carousel — services hero */
.services-swift-carousel{position:absolute;z-index:2;left:6.3%;top:150px;width:min(54vw,1080px);height:330px;display:flex;flex-direction:column;justify-content:center;isolation:isolate;pointer-events:none}
.services-swift-carousel:before{content:"";position:absolute;inset:3% 0 9%;background:radial-gradient(ellipse at 50% 60%,rgba(35,139,255,.2),transparent 66%);filter:blur(34px);opacity:.75;z-index:-1}
.swift-filter-defs{position:absolute;width:0;height:0;overflow:hidden}
.swift-carousel-stage{height:270px;display:grid;grid-template-columns:1fr 1.08fr 1fr;gap:12px;align-items:center;perspective:1200px;filter:drop-shadow(0 24px 34px rgba(0,0,0,.34))}
.swift-panel{position:relative;height:238px;margin:0;overflow:hidden;background:#071329;will-change:transform,filter,opacity,clip-path;backface-visibility:hidden;box-shadow:inset 0 0 0 1px rgba(143,211,255,.2);transition:transform .65s cubic-bezier(.16,1,.3,1),filter .55s ease}
.swift-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(100,205,255,.08),transparent 42%,rgba(4,10,25,.18));box-shadow:inset 0 0 0 1px rgba(180,226,255,.12);pointer-events:none}
.swift-panel img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.035);filter:saturate(.92) contrast(1.04) brightness(.9);transition:filter .45s ease;will-change:transform,filter,opacity}
.swift-panel-left{clip-path:polygon(0 10%,18% 5%,56% 7%,100% 14%,100% 88%,70% 94%,28% 92%,0 98%);border-radius:8% 3% 8% 5%/15% 8% 16% 11%;transform:perspective(900px) rotateY(4.5deg) rotateZ(-.45deg) translateY(10px)}
.swift-panel-center{height:252px;clip-path:polygon(0 8%,30% 6%,70% 7%,100% 9%,100% 91%,69% 93%,31% 92%,0 90%);border-radius:4%/10%;transform:translateY(-1px) scale(1.025)}
.swift-panel-right{clip-path:polygon(0 14%,44% 7%,82% 5%,100% 10%,100% 98%,72% 92%,30% 94%,0 88%);border-radius:3% 8% 5% 8%/8% 15% 11% 16%;transform:perspective(900px) rotateY(-4.5deg) rotateZ(.45deg) translateY(10px)}
.swift-carousel-meta{height:28px;margin:2px 2.5% 0;display:flex;align-items:center;gap:10px;color:rgba(205,226,255,.7);font:600 9px/1 "Manrope";letter-spacing:.13em}
.swift-carousel-meta span{color:#7cdcff;min-width:18px}.swift-carousel-meta small{font:inherit;color:rgba(205,226,255,.34)}
.swift-carousel-meta i{position:relative;display:block;width:82px;height:1px;background:rgba(170,210,255,.16);overflow:hidden}.swift-carousel-meta b{position:absolute;inset:0;display:block;background:linear-gradient(90deg,#56d6ff,#347dff);transform-origin:left;animation:swiftProgress 2s linear infinite}
@keyframes swiftProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.services-swift-carousel.is-warping .swift-panel{animation:swiftWarpOut .29s cubic-bezier(.55,0,1,.45) both;filter:url(#swift-wave-filter) saturate(1.18)}
.services-swift-carousel.is-warping .swift-panel-center{animation-delay:.025s}.services-swift-carousel.is-warping .swift-panel-right{animation-delay:.05s}
.services-swift-carousel.is-settling .swift-panel{animation:swiftWarpIn .42s cubic-bezier(.16,1,.3,1) both}.services-swift-carousel.is-settling .swift-panel-center{animation-delay:.025s}.services-swift-carousel.is-settling .swift-panel-left{animation-delay:.05s}
@keyframes swiftWarpOut{0%{opacity:1;filter:url(#swift-wave-filter) blur(0);transform:translate3d(0,0,0) scale(1)}55%{opacity:.64;filter:url(#swift-wave-filter) blur(1.5px);transform:translate3d(-3.5%,1%,0) skewX(-3deg) scale(1.055,.9)}100%{opacity:.03;filter:url(#swift-wave-filter) blur(5px);transform:translate3d(-11%,2%,0) skewX(-7deg) scale(1.12,.72)}}
@keyframes swiftWarpIn{0%{opacity:.04;filter:url(#swift-wave-filter) blur(5px);transform:translate3d(11%,-2%,0) skewX(7deg) scale(1.12,.72)}48%{opacity:.74;filter:url(#swift-wave-filter) blur(1px);transform:translate3d(2%,0,0) skewX(2deg) scale(1.035,.94)}100%{opacity:1;filter:none;transform:translate3d(0,0,0) scale(1)}}
@media(max-width:900px){.services-swift-carousel{left:24px;right:24px;top:112px;width:auto;height:220px}.swift-carousel-stage{height:180px;gap:6px}.swift-panel{height:145px}.swift-panel-center{height:158px}.page-hero:has(.services-swift-carousel){padding-top:330px;min-height:760px}.swift-carousel-meta{margin-top:0}}
@media(max-width:560px){.services-swift-carousel{top:100px;height:170px}.swift-carousel-stage{height:138px}.swift-panel{height:112px}.swift-panel-center{height:122px}.page-hero:has(.services-swift-carousel){padding-top:275px;min-height:720px}}
@media(prefers-reduced-motion:reduce){.swift-carousel-meta b{animation:none;transform:scaleX(1)}.services-swift-carousel.is-warping .swift-panel,.services-swift-carousel.is-settling .swift-panel{animation:none;filter:none}}

/* Directional flow: every panel physically travels from right to left */
.swift-carousel-stage{position:relative;display:block;overflow:hidden;padding:0 1.2%}
.swift-panel{position:absolute;top:50%;width:31%;height:238px;left:0;opacity:1;clip-path:polygon(0 10%,18% 5%,56% 7%,100% 14%,100% 88%,70% 94%,28% 92%,0 98%);border-radius:8% 3% 8% 5%/15% 8% 16% 11%;transform:translate3d(0,-48%,0);transition:left .68s cubic-bezier(.7,0,.16,1),width .68s cubic-bezier(.7,0,.16,1),height .68s cubic-bezier(.7,0,.16,1),transform .68s cubic-bezier(.7,0,.16,1),clip-path .68s cubic-bezier(.7,0,.16,1),border-radius .68s cubic-bezier(.7,0,.16,1),opacity .34s ease,filter .68s ease}
.swift-slot-0{left:1%;transform:translate3d(0,-47%,0) perspective(900px) rotateY(4deg) rotateZ(-.35deg)}
.swift-slot-1{left:33%;width:34%;height:252px;clip-path:polygon(0 8%,30% 6%,70% 7%,100% 9%,100% 91%,69% 93%,31% 92%,0 90%);border-radius:4%/10%;transform:translate3d(0,-50%,0) scale(1.02);z-index:2}
.swift-slot-2{left:68%;clip-path:polygon(0 14%,44% 7%,82% 5%,100% 10%,100% 98%,72% 92%,30% 94%,0 88%);border-radius:3% 8% 5% 8%/8% 15% 11% 16%;transform:translate3d(0,-47%,0) perspective(900px) rotateY(-4deg) rotateZ(.35deg)}
.swift-slot-3{left:102%;opacity:0;clip-path:polygon(0 18%,48% 8%,84% 5%,100% 9%,100% 99%,72% 92%,28% 95%,0 84%);transform:translate3d(8%,-47%,0) perspective(900px) rotateY(-7deg) scaleX(.88)}
.services-swift-carousel.is-sliding .swift-panel{filter:url(#swift-wave-filter) saturate(1.13) contrast(1.03)}
.services-swift-carousel.is-sliding .swift-slot-0{left:-34%;opacity:0;clip-path:polygon(0 18%,20% 10%,65% 4%,100% 21%,100% 82%,73% 97%,22% 88%,0 95%);transform:translate3d(-9%,-47%,0) perspective(900px) rotateY(9deg) skewX(-4deg) scaleX(.82)}
.services-swift-carousel.is-sliding .swift-slot-1{left:1%;width:31%;height:238px;clip-path:polygon(0 10%,18% 5%,56% 7%,100% 14%,100% 88%,70% 94%,28% 92%,0 98%);border-radius:8% 3% 8% 5%/15% 8% 16% 11%;transform:translate3d(0,-47%,0) perspective(900px) rotateY(4deg) rotateZ(-.35deg) scaleX(.96);z-index:1}
.services-swift-carousel.is-sliding .swift-slot-2{left:33%;width:34%;height:252px;clip-path:polygon(0 8%,30% 6%,70% 7%,100% 9%,100% 91%,69% 93%,31% 92%,0 90%);border-radius:4%/10%;transform:translate3d(0,-50%,0) skewX(-1.5deg) scale(1.02,1.04);z-index:2}
.services-swift-carousel.is-sliding .swift-slot-3{left:68%;opacity:1;clip-path:polygon(0 14%,44% 7%,82% 5%,100% 10%,100% 98%,72% 92%,30% 94%,0 88%);border-radius:3% 8% 5% 8%/8% 15% 11% 16%;transform:translate3d(0,-47%,0) perspective(900px) rotateY(-4deg) rotateZ(.35deg) scaleX(.96)}
.services-swift-carousel.is-resetting .swift-panel{transition:none!important;filter:none!important}
@media(max-width:900px){.swift-panel{height:145px}.swift-slot-1,.services-swift-carousel.is-sliding .swift-slot-2{height:158px}.services-swift-carousel.is-sliding .swift-slot-1{height:145px}}
@media(max-width:560px){.swift-panel{height:112px}.swift-slot-1,.services-swift-carousel.is-sliding .swift-slot-2{height:122px}.services-swift-carousel.is-sliding .swift-slot-1{height:112px}}
@media(prefers-reduced-motion:reduce){.services-swift-carousel.is-sliding .swift-panel{transition:none;filter:none}}

@media(max-width:900px){.method-infographic img{width:100%}}

/* Full-screen mobile navigation */
@media(max-width:900px){
  body.menu-open{overflow:hidden}
  /* Chrome Android may promote the transformed hero image above a fixed
     descendant. Stop rendering the page while the navigation is open so no
     accelerated content layer can pierce the menu overlay. */
  body.menu-open > main,
  body.menu-open > footer,
  body.menu-open > .noise,
  body.menu-open > .cursor-glow{
    visibility:hidden;
    pointer-events:none;
  }
  .site-header{
    left:0;
    right:0;
    width:100%;
    transform:none;
    overflow:visible;
    backdrop-filter:none;
  }
  .site-header .brand,.menu-toggle{position:relative;z-index:1002}
  .menu-toggle{border:1px solid rgba(128,198,255,.22);border-radius:12px;background:rgba(8,24,55,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
  .menu-open .menu-toggle{background:rgba(16,42,82,.88);border-color:rgba(102,215,255,.52);box-shadow:0 0 24px rgba(35,143,255,.18),inset 0 1px 0 rgba(255,255,255,.16)}
  .main-nav{
    position:fixed;
    inset:0;
    width:100vw;
    height:100dvh;
    min-height:100vh;
    z-index:1000;
    margin:0;
    padding:94px 22px 34px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    overflow-y:auto;
    background:radial-gradient(circle at 50% 12%,rgba(30,105,196,.24),transparent 31%),linear-gradient(155deg,#050a19 0%,#07152d 55%,#030713 100%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px);
    transition:opacity .34s ease,transform .42s var(--ease),visibility .34s;
  }
  .menu-open .main-nav{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .main-nav .nav-item{
    width:min(82vw,330px);
    min-height:86px;
    padding:10px 24px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:20px;
    color:rgba(237,247,255,.82);
    font-size:18px;
    border:1px solid rgba(136,192,238,.11);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.012));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
  }
  .main-nav .nav-item.active{color:#fff;border-color:rgba(91,205,255,.34);background:linear-gradient(135deg,rgba(41,128,224,.22),rgba(20,62,120,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 14px 34px rgba(0,4,20,.2)}
  .main-nav .nav-icon{width:42px;height:42px;flex:0 0 42px;color:#8edcff}
  .main-nav .nav-icon svg{width:38px;height:38px}
  .main-nav .nav-label{font:600 18px/1.1 "Space Grotesk","Manrope",sans-serif;color:inherit;text-shadow:none}
}

@media(max-width:420px){
  .main-nav{padding-top:82px;padding-bottom:22px;gap:9px}
  .main-nav .nav-item{min-height:74px;border-radius:15px}
}

/* Mobile navbar: crisp contrast over light sections */
@media(max-width:900px){
  body:not(.menu-open) .site-header.nav-on-light:after{
    color:rgba(8,31,60,.88);
    text-shadow:
      0 1px 0 rgba(255,255,255,.92),
      0 -1px 0 rgba(0,13,35,.36),
      0 2px 5px rgba(17,49,78,.18);
    opacity:1;
  }

  body:not(.menu-open) .site-header.nav-on-light .menu-toggle{
    color:#102f52;
    border-color:rgba(17,63,103,.34);
    background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(105,159,199,.12));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.76),
      inset 0 -1px 0 rgba(29,75,112,.10),
      0 5px 14px rgba(24,61,92,.14);
  }

  body:not(.menu-open) .site-header.nav-on-light .menu-toggle span{
    height:1.5px;
    background:#173c63;
    box-shadow:0 1px 0 rgba(255,255,255,.48);
  }
}

/* About timeline: textual markers for the new, truthful company story */
.timeline-item:nth-child(n+2)>span{
  padding-top:7px;
  font-size:14px;
  line-height:1.2;
  letter-spacing:.12em;
  white-space:nowrap;
}
@media(max-width:900px){
  .timeline-item:nth-child(n+2)>span{
    padding-top:5px;
    font-size:11px;
    letter-spacing:.08em;
  }
}

/* Smooth lens deformation: continuous Bezier silhouettes, never jagged polygons */
.swift-curve-defs{position:absolute;width:0;height:0;overflow:hidden}
.swift-panel{
  overflow:hidden;
  border-radius:0;
  clip-path:url(#swift-curve-left);
  transform-origin:50% 50%;
  transition:left .68s cubic-bezier(.72,0,.16,1),width .68s cubic-bezier(.72,0,.16,1),height .68s cubic-bezier(.72,0,.16,1),transform .68s cubic-bezier(.72,0,.16,1),opacity .32s ease;
}
.swift-panel img{transform:scale(1.07);transition:transform .68s cubic-bezier(.72,0,.16,1),filter .45s ease}
.swift-slot-0{clip-path:url(#swift-curve-left);transform:translate3d(0,-48%,0) perspective(1100px) rotateY(2.2deg)}
.swift-slot-1{clip-path:url(#swift-curve-center);transform:translate3d(0,-50%,0) scale(1.018)}
.swift-slot-2{clip-path:url(#swift-curve-right);transform:translate3d(0,-48%,0) perspective(1100px) rotateY(-2.2deg)}
.swift-slot-3{clip-path:url(#swift-curve-incoming);transform:translate3d(6%,-48%,0) perspective(1100px) rotateY(-4deg) scaleX(.92)}
.services-swift-carousel.is-sliding .swift-panel{filter:none}
.services-swift-carousel.is-sliding .swift-panel img{transform:scale(1.11) translateX(-1.5%)}
.services-swift-carousel.is-sliding .swift-slot-0{left:-34%;opacity:0;clip-path:url(#swift-curve-left);transform:translate3d(-6%,-48%,0) perspective(1100px) rotateY(6deg) scaleX(.9)}
.services-swift-carousel.is-sliding .swift-slot-1{left:1%;width:31%;height:238px;clip-path:url(#swift-curve-left);border-radius:0;transform:translate3d(0,-48%,0) perspective(1100px) rotateY(2.2deg);z-index:1}
.services-swift-carousel.is-sliding .swift-slot-2{left:33%;width:34%;height:252px;clip-path:url(#swift-curve-center);border-radius:0;transform:translate3d(0,-50%,0) scale(1.018);z-index:2}
.services-swift-carousel.is-sliding .swift-slot-3{left:68%;opacity:1;clip-path:url(#swift-curve-right);border-radius:0;transform:translate3d(0,-48%,0) perspective(1100px) rotateY(-2.2deg)}
.services-swift-carousel.is-resetting .swift-panel{transition:none!important;filter:none!important}
.services-swift-carousel.is-resetting .swift-panel img{transition:none!important}

/* Interpolated deformation: every silhouette uses the same 18-point topology. */
.swift-panel{
  clip-path:polygon(0 0,12.5% 1.2%,25% 2.8%,37.5% 4.6%,50% 6.5%,62.5% 8.2%,75% 9.5%,87.5% 10.2%,100% 10.5%,100% 87%,87.5% 87.7%,75% 89%,62.5% 91%,50% 93.5%,37.5% 96%,25% 98.2%,12.5% 99.5%,0 100%);
  transition:left .68s cubic-bezier(.2,.7,.2,1),width .68s cubic-bezier(.2,.7,.2,1),height .68s cubic-bezier(.2,.7,.2,1),transform .68s cubic-bezier(.2,.7,.2,1),clip-path .68s cubic-bezier(.2,.7,.2,1),opacity .32s ease;
}
.swift-slot-0{clip-path:polygon(0 0,12.5% 1.2%,25% 2.8%,37.5% 4.6%,50% 6.5%,62.5% 8.2%,75% 9.5%,87.5% 10.2%,100% 10.5%,100% 87%,87.5% 87.7%,75% 89%,62.5% 91%,50% 93.5%,37.5% 96%,25% 98.2%,12.5% 99.5%,0 100%)}
.swift-slot-1{clip-path:polygon(0 7.5%,12.5% 8.5%,25% 9.5%,37.5% 10.5%,50% 11%,62.5% 11.2%,75% 11%,87.5% 10.5%,100% 10%,100% 89.5%,87.5% 90.2%,75% 90.8%,62.5% 91.2%,50% 91.2%,37.5% 91%,25% 91%,12.5% 91.2%,0 91.5%)}
.swift-slot-2{clip-path:polygon(0 10%,12.5% 10.8%,25% 11.2%,37.5% 11%,50% 10%,62.5% 8.5%,75% 6.5%,87.5% 4.5%,100% 3%,100% 98.5%,87.5% 96.5%,75% 94.5%,62.5% 92.8%,50% 91.3%,37.5% 90%,25% 89.3%,12.5% 89%,0 89.5%)}
.swift-slot-3{clip-path:polygon(0 13%,12.5% 13%,25% 12.5%,37.5% 11.5%,50% 10%,62.5% 8%,75% 5.5%,87.5% 3%,100% 1.5%,100% 100%,87.5% 98%,75% 96%,62.5% 94%,50% 92%,37.5% 90.5%,25% 89%,12.5% 88%,0 87%)}
.services-swift-carousel.is-sliding .swift-slot-0{clip-path:polygon(0 0,12.5% 1.2%,25% 2.8%,37.5% 4.6%,50% 6.5%,62.5% 8.2%,75% 9.5%,87.5% 10.2%,100% 10.5%,100% 87%,87.5% 87.7%,75% 89%,62.5% 91%,50% 93.5%,37.5% 96%,25% 98.2%,12.5% 99.5%,0 100%)}
.services-swift-carousel.is-sliding .swift-slot-1{clip-path:polygon(0 0,12.5% 1.2%,25% 2.8%,37.5% 4.6%,50% 6.5%,62.5% 8.2%,75% 9.5%,87.5% 10.2%,100% 10.5%,100% 87%,87.5% 87.7%,75% 89%,62.5% 91%,50% 93.5%,37.5% 96%,25% 98.2%,12.5% 99.5%,0 100%)}
.services-swift-carousel.is-sliding .swift-slot-2{clip-path:polygon(0 7.5%,12.5% 8.5%,25% 9.5%,37.5% 10.5%,50% 11%,62.5% 11.2%,75% 11%,87.5% 10.5%,100% 10%,100% 89.5%,87.5% 90.2%,75% 90.8%,62.5% 91.2%,50% 91.2%,37.5% 91%,25% 91%,12.5% 91.2%,0 91.5%)}
.services-swift-carousel.is-sliding .swift-slot-3{clip-path:polygon(0 10%,12.5% 10.8%,25% 11.2%,37.5% 11%,50% 10%,62.5% 8.5%,75% 6.5%,87.5% 4.5%,100% 3%,100% 98.5%,87.5% 96.5%,75% 94.5%,62.5% 92.8%,50% 91.3%,37.5% 90%,25% 89.3%,12.5% 89%,0 89.5%)}

@media(max-width:900px){
  .service-detail-featured{grid-template-columns:1fr}
  .service-detail-featured .detail-side{min-height:auto}
  .service-detail-media{
    width:min(100%,390px);
    height:auto;
    aspect-ratio:452/700;
    margin:8px auto 20px;
  }
}

/* Continuous magazine-roll ribbon: neighbouring edges share the exact same
   height, so the three photographs read as one curved strip. */
.swift-panel{
  top:50%;
  width:32.6%;
  height:252px;
  transform:translate3d(0,-50%,0);
  transform-origin:center;
  transition:left .68s cubic-bezier(.2,.72,.18,1),width .68s cubic-bezier(.2,.72,.18,1),height .68s cubic-bezier(.2,.72,.18,1),transform .68s cubic-bezier(.2,.72,.18,1),clip-path .68s cubic-bezier(.2,.72,.18,1),opacity .3s ease;
}
.swift-slot-0{
  left:.4%;
  width:32.6%;
  height:252px;
  transform:translate3d(0,-50%,0);
  clip-path:polygon(0 0,12.5% 1.2%,25% 2.8%,37.5% 4.6%,50% 6.4%,62.5% 7.9%,75% 9%,87.5% 9.7%,100% 10%,100% 90%,87.5% 90.3%,75% 91%,62.5% 92.1%,50% 93.6%,37.5% 95.4%,25% 97.2%,12.5% 98.8%,0 100%);
}
.swift-slot-1{
  left:33.7%;
  width:32.6%;
  height:252px;
  z-index:2;
  transform:translate3d(0,-50%,0);
  clip-path:polygon(0 10%,12.5% 10.6%,25% 11.1%,37.5% 11.6%,50% 11.8%,62.5% 11.6%,75% 11.1%,87.5% 10.6%,100% 10%,100% 90%,87.5% 89.4%,75% 88.9%,62.5% 88.4%,50% 88.2%,37.5% 88.4%,25% 88.9%,12.5% 89.4%,0 90%);
}
.swift-slot-2{
  left:67%;
  width:32.6%;
  height:252px;
  transform:translate3d(0,-50%,0);
  clip-path:polygon(0 10%,12.5% 9.7%,25% 9%,37.5% 7.9%,50% 6.4%,62.5% 4.6%,75% 2.8%,87.5% 1.2%,100% 0,100% 100%,87.5% 98.8%,75% 97.2%,62.5% 95.4%,50% 93.6%,37.5% 92.1%,25% 91%,12.5% 90.3%,0 90%);
}
.swift-slot-3{
  left:100.3%;
  width:32.6%;
  height:252px;
  transform:translate3d(4%,-50%,0);
  clip-path:polygon(0 10%,12.5% 9.7%,25% 9%,37.5% 7.9%,50% 6.4%,62.5% 4.6%,75% 2.8%,87.5% 1.2%,100% 0,100% 100%,87.5% 98.8%,75% 97.2%,62.5% 95.4%,50% 93.6%,37.5% 92.1%,25% 91%,12.5% 90.3%,0 90%);
}
.services-swift-carousel.is-sliding .swift-slot-0{
  left:-33%;width:32.6%;height:252px;opacity:0;transform:translate3d(-4%,-50%,0);
}
.services-swift-carousel.is-sliding .swift-slot-1{
  left:.4%;width:32.6%;height:252px;z-index:1;transform:translate3d(0,-50%,0);
  clip-path:polygon(0 0,12.5% 1.2%,25% 2.8%,37.5% 4.6%,50% 6.4%,62.5% 7.9%,75% 9%,87.5% 9.7%,100% 10%,100% 90%,87.5% 90.3%,75% 91%,62.5% 92.1%,50% 93.6%,37.5% 95.4%,25% 97.2%,12.5% 98.8%,0 100%);
}
.services-swift-carousel.is-sliding .swift-slot-2{
  left:33.7%;width:32.6%;height:252px;z-index:2;transform:translate3d(0,-50%,0);
  clip-path:polygon(0 10%,12.5% 10.6%,25% 11.1%,37.5% 11.6%,50% 11.8%,62.5% 11.6%,75% 11.1%,87.5% 10.6%,100% 10%,100% 90%,87.5% 89.4%,75% 88.9%,62.5% 88.4%,50% 88.2%,37.5% 88.4%,25% 88.9%,12.5% 89.4%,0 90%);
}
.services-swift-carousel.is-sliding .swift-slot-3{
  left:67%;width:32.6%;height:252px;opacity:1;z-index:1;transform:translate3d(0,-50%,0);
  clip-path:polygon(0 10%,12.5% 9.7%,25% 9%,37.5% 7.9%,50% 6.4%,62.5% 4.6%,75% 2.8%,87.5% 1.2%,100% 0,100% 100%,87.5% 98.8%,75% 97.2%,62.5% 95.4%,50% 93.6%,37.5% 92.1%,25% 91%,12.5% 90.3%,0 90%);
}
@media(max-width:900px){
  .swift-panel,.swift-slot-0,.swift-slot-1,.swift-slot-2,.swift-slot-3,
  .services-swift-carousel.is-sliding .swift-slot-0,.services-swift-carousel.is-sliding .swift-slot-1,.services-swift-carousel.is-sliding .swift-slot-2,.services-swift-carousel.is-sliding .swift-slot-3{height:158px}
}
@media(max-width:560px){
  .swift-panel,.swift-slot-0,.swift-slot-1,.swift-slot-2,.swift-slot-3,
  .services-swift-carousel.is-sliding .swift-slot-0,.services-swift-carousel.is-sliding .swift-slot-1,.services-swift-carousel.is-sliding .swift-slot-2,.services-swift-carousel.is-sliding .swift-slot-3{height:122px}
}

/* Floating liquid-glass navigation */
@media(min-width:901px){
  .site-header,.site-header.scrolled{
    top:18px;
    left:50%;
    right:auto;
    width:min(calc(100% - 40px),1060px);
    height:72px;
    padding:7px 9px 7px 14px;
    gap:12px;
    transform:translateX(-50%);
    border:1px solid rgba(218,240,255,.27);
    border-radius:999px;
    background:linear-gradient(112deg,rgba(224,241,252,.19),rgba(184,216,238,.11) 50%,rgba(218,238,250,.17));
    -webkit-backdrop-filter:blur(26px) saturate(155%);
    backdrop-filter:blur(26px) saturate(155%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -1px 0 rgba(115,169,211,.12),0 14px 40px rgba(0,8,28,.22);
  }
  .site-header.scrolled{background:linear-gradient(112deg,rgba(207,230,246,.22),rgba(144,186,218,.13) 50%,rgba(202,228,245,.2))}
  .site-header .brand{
    position:relative;
    width:52px;
    height:52px;
    flex:0 0 52px;
    background-size:45px 45px;
    background-position:center;
    filter:drop-shadow(0 5px 10px rgba(0,25,66,.26));
  }
  .site-header .brand:after{
    content:"BYTESOFT";
    position:absolute;
    left:58px;
    top:50%;
    transform:translateY(-50%);
    color:rgba(224,238,251,.88);
    font:800 17px/1 "Space Grotesk","Manrope",sans-serif;
    letter-spacing:.13em;
    white-space:nowrap;
    text-shadow:
      0 1px 0 rgba(255,255,255,.28),
      0 -1px 0 rgba(0,8,30,.9),
      0 3px 8px rgba(0,5,22,.3);
    opacity:.96;
    pointer-events:none;
    transition:color .38s ease,text-shadow .38s ease,opacity .38s ease;
  }
  .site-header.nav-on-light .brand:after{
    color:rgba(7,30,58,.88);
    text-shadow:
      0 1px 0 rgba(255,255,255,.94),
      0 -1px 0 rgba(0,13,35,.34),
      0 2px 5px rgba(17,49,78,.16);
  }
  .site-header.nav-on-dark .brand:after{
    color:rgba(229,242,255,.92);
    text-shadow:
      0 1px 0 rgba(255,255,255,.24),
      0 -1px 0 rgba(0,6,25,.95),
      0 0 12px rgba(107,194,255,.16);
  }
  .main-nav{
    --nav-pill-x:0px;
    position:relative;
    isolation:isolate;
    height:56px;
    padding:4px;
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:0;
  }
  .main-nav:before{
    content:"";
    position:absolute;
    z-index:0;
    left:4px;
    top:4px;
    width:112px;
    height:48px;
    border:1px solid rgba(177,220,252,.25);
    border-radius:999px;
    background:linear-gradient(145deg,rgba(4,21,47,.82),rgba(6,39,73,.66));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.17),inset 0 -1px 0 rgba(0,5,22,.32),0 8px 22px rgba(0,10,34,.2);
    transform:translate3d(var(--nav-pill-x),0,0);
    transition:transform .55s cubic-bezier(.2,1.15,.32,1),width .4s ease;
    pointer-events:none;
  }
  .main-nav:has(.nav-home.active){--nav-pill-x:0px}
  .main-nav:has(.nav-about.active){--nav-pill-x:112px}
  .main-nav:has(.nav-services.active){--nav-pill-x:224px}
  .main-nav:has(.nav-contact.active){--nav-pill-x:336px}
  .main-nav:has(.nav-home:hover),.main-nav:has(.nav-home:focus-visible){--nav-pill-x:0px}
  .main-nav:has(.nav-about:hover),.main-nav:has(.nav-about:focus-visible){--nav-pill-x:112px}
  .main-nav:has(.nav-services:hover),.main-nav:has(.nav-services:focus-visible){--nav-pill-x:224px}
  .main-nav:has(.nav-contact:hover),.main-nav:has(.nav-contact:focus-visible){--nav-pill-x:336px}
  .main-nav .nav-item{
    position:relative;
    z-index:1;
    width:112px;
    height:48px;
    min-height:0;
    padding:0 12px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:0;
    color:rgba(237,246,255,.9);
    transform:none;
    transition:color .35s ease,text-shadow .35s ease;
  }
  .main-nav .nav-item:before,.main-nav .nav-item:after,.main-nav .nav-icon{display:none!important}
  .main-nav .nav-label{
    font:600 16px/1 "Space Grotesk","Manrope",sans-serif;
    letter-spacing:-.015em;
    color:inherit;
    transform:none!important;
    -webkit-text-stroke:0;
    text-shadow:0 1px 2px rgba(0,8,28,.58);
  }
  .site-header.nav-on-light .main-nav .nav-item:not(.active):not(:hover):not(:focus-visible){color:rgba(7,32,61,.9)}
  .site-header.nav-on-light .main-nav .nav-label{text-shadow:none}
  .site-header.nav-on-dark .main-nav .nav-item:not(.active):not(:hover):not(:focus-visible){color:rgba(237,246,255,.9)}
  .site-header.nav-on-dark .main-nav .nav-label{text-shadow:0 1px 2px rgba(0,8,28,.58)}
  .main-nav .nav-item.active,.main-nav .nav-item:hover,.main-nav .nav-item:focus-visible{
    color:#fff;
    transform:none;
  }
  .main-nav .nav-item.active .nav-label,.main-nav .nav-item:hover .nav-label,.main-nav .nav-item:focus-visible .nav-label{
    -webkit-text-stroke:0;
    text-shadow:0 1px 7px rgba(0,7,28,.48);
  }
  .header-cta{
    height:48px;
    min-width:114px;
    padding:0 20px;
    justify-content:center;
    border:1px solid rgba(224,242,255,.24);
    border-radius:999px;
    background:linear-gradient(145deg,rgba(4,21,47,.84),rgba(6,39,73,.7));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 22px rgba(0,10,34,.18);
    color:#fff;
    font-size:14px;
    font-weight:600;
    letter-spacing:-.01em;
    text-shadow:0 1px 7px rgba(0,7,28,.38);
  }
  .header-cta:before,.header-cta i{display:none!important}
.header-cta:hover{transform:translateY(-1px);background:linear-gradient(145deg,rgba(7,34,71,.88),rgba(8,50,91,.76));box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 10px 24px rgba(0,8,27,.2)}

}

@media(max-width:900px){
  .site-header,.site-header.scrolled{
    top:10px;
    left:12px;
    right:12px;
    width:auto;
    height:68px;
    padding:8px 10px 8px 12px;
    border:1px solid rgba(210,236,255,.24);
    border-radius:24px;
    background:linear-gradient(135deg,rgba(190,220,242,.17),rgba(79,132,177,.09));
    -webkit-backdrop-filter:blur(22px) saturate(150%);
    backdrop-filter:blur(22px) saturate(150%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 12px 30px rgba(0,8,27,.2);
  }
  .site-header .brand{width:48px;height:48px;background-size:43px 43px;background-position:center}
  .main-nav:before{
    content:"";
    position:absolute;
    z-index:0;
    left:50%;
    top:50%;
    width:min(82vw,330px);
    height:72px;
    border:1px solid rgba(119,207,255,.28);
    border-radius:999px;
    background:linear-gradient(135deg,rgba(36,108,181,.25),rgba(9,42,85,.42));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 14px 34px rgba(0,6,24,.22);
    pointer-events:none;
    transition:transform .55s cubic-bezier(.2,1.15,.32,1);
  }
  .main-nav:has(.nav-home.active):before{transform:translate(-50%,-157.5px)}
  .main-nav:has(.nav-about.active):before{transform:translate(-50%,-76.5px)}
  .main-nav:has(.nav-services.active):before{transform:translate(-50%,4.5px)}
  .main-nav:has(.nav-contact.active):before{transform:translate(-50%,85.5px)}
  .main-nav:has(.nav-home:hover):before,.main-nav:has(.nav-home:focus-visible):before{transform:translate(-50%,-157.5px)}
  .main-nav:has(.nav-about:hover):before,.main-nav:has(.nav-about:focus-visible):before{transform:translate(-50%,-76.5px)}
  .main-nav:has(.nav-services:hover):before,.main-nav:has(.nav-services:focus-visible):before{transform:translate(-50%,4.5px)}
  .main-nav:has(.nav-contact:hover):before,.main-nav:has(.nav-contact:focus-visible):before{transform:translate(-50%,85.5px)}
  .main-nav .nav-item{
    position:relative;
    z-index:1;
    width:min(82vw,330px);
    min-height:72px;
    padding:0 22px;
    justify-content:center;
    border:0;
    border-radius:999px;
    background:none;
    box-shadow:none;
    color:rgba(231,243,255,.72);
  }
  .main-nav .nav-item.active{border:0;background:none;box-shadow:none;color:#fff}
  .main-nav .nav-icon{display:none!important}
  .main-nav .nav-label{font:600 21px/1 "Space Grotesk","Manrope",sans-serif;letter-spacing:-.02em}
  .menu-toggle{width:48px;height:48px;border-radius:18px;background:rgba(234,245,253,.08)}
}

/* Mobile navigation: viewport-aligned transparent glass overlay */
@media(max-width:900px){
  body.menu-open > main,
  body.menu-open > footer,
  body.menu-open > .noise,
  body.menu-open > .cursor-glow{
    visibility:visible;
    pointer-events:none;
  }

  body.menu-open .site-header,
  body.menu-open .site-header.scrolled{
    inset:0;
    width:100%;
    height:100dvh;
    min-height:100vh;
    padding:14px 18px;
    align-items:flex-start;
    border:0;
    border-radius:0;
    background:transparent;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    box-shadow:none;
    overflow:hidden;
  }

  body.menu-open .site-header .brand,
  body.menu-open .menu-toggle{
    position:relative;
    z-index:1003;
    flex:0 0 auto;
  }

  body.menu-open .menu-toggle{margin-left:auto}

  .main-nav{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    padding:0 20px;
    gap:12px;
    justify-content:center;
    overflow:hidden;
    background:
      radial-gradient(circle at 50% 18%,rgba(57,151,235,.14),transparent 36%),
      linear-gradient(160deg,rgba(1,12,34,.30),rgba(1,16,42,.16) 58%,rgba(0,7,24,.24));
    -webkit-backdrop-filter:blur(15px) saturate(125%) brightness(.78);
    backdrop-filter:blur(15px) saturate(125%) brightness(.78);
    transform:none;
  }

  .menu-open .main-nav{transform:none}

  .main-nav:before{
    top:calc(50% - 162px);
    left:50%;
    width:min(82vw,330px);
    height:72px;
    margin:0;
    border-radius:999px;
    background:linear-gradient(135deg,rgba(64,153,235,.20),rgba(14,58,111,.16));
    -webkit-backdrop-filter:blur(10px) saturate(135%);
    backdrop-filter:blur(10px) saturate(135%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 30px rgba(0,7,28,.18);
  }

  .main-nav:has(.nav-home.active):before,
  .main-nav:has(.nav-home:hover):before,
  .main-nav:has(.nav-home:focus-visible):before{transform:translateX(-50%) translateY(0)}
  .main-nav:has(.nav-about.active):before,
  .main-nav:has(.nav-about:hover):before,
  .main-nav:has(.nav-about:focus-visible):before{transform:translateX(-50%) translateY(84px)}
  .main-nav:has(.nav-services.active):before,
  .main-nav:has(.nav-services:hover):before,
  .main-nav:has(.nav-services:focus-visible):before{transform:translateX(-50%) translateY(168px)}
  .main-nav:has(.nav-contact.active):before,
  .main-nav:has(.nav-contact:hover):before,
  .main-nav:has(.nav-contact:focus-visible):before{transform:translateX(-50%) translateY(252px)}

  .main-nav .nav-item{
    width:min(82vw,330px);
    height:72px;
    min-height:72px;
    padding:0 22px;
    flex:0 0 72px;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    color:rgba(235,246,255,.84);
    opacity:1;
    visibility:visible;
    transform:none;
  }

  .main-nav .nav-label,
  .main-nav .nav-item.active .nav-label,
  .main-nav .nav-item:hover .nav-label,
  .main-nav .nav-item:focus-visible .nav-label{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    color:inherit;
    font:600 20px/1 "Space Grotesk","Manrope",sans-serif;
    letter-spacing:-.015em;
    text-align:center;
    text-shadow:0 2px 9px rgba(0,7,27,.68);
  }

  .main-nav .nav-item.active{color:#fff}
}

@media(max-width:420px){
  .main-nav{padding:0 16px;gap:12px}
  .main-nav .nav-item{height:72px;min-height:72px;border-radius:999px}
}

/* Sequential high-tech construction for the section 04 detail panel */
.values-section{scroll-margin-top:90px}
.value-detail-panel{
  border:0;
  border-radius:12px;
  background:transparent;
  box-shadow:none;
  clip-path:none;
  transform:none;
  opacity:1;
  transition:max-height .24s cubic-bezier(.18,.78,.22,1),margin-top .24s cubic-bezier(.18,.78,.22,1);
}
.value-detail-panel.is-visible{
  max-height:430px;
  margin-top:46px;
  border-color:transparent;
  border-radius:12px;
  background:transparent;
  box-shadow:none;
  clip-path:none;
  transform:none;
}
.value-detail-panel:before{
  z-index:-3;
  border-radius:12px;
  background:linear-gradient(135deg,rgba(38,224,255,.13),rgba(13,99,159,.105) 48%,rgba(7,24,55,.2)),radial-gradient(circle at 12% 18%,rgba(64,220,255,.15),transparent 42%);
  background-size:100% 100%;
  opacity:0;
  mask-image:none;
}
.value-detail-panel.is-drawing:before{animation:valuePanelFill .34s .42s ease-out forwards}
.value-detail-panel:after,.value-detail-panel.is-visible:after{display:none;animation:none}
.value-detail-frame{position:absolute;inset:0;z-index:4;width:100%;height:100%;overflow:visible;pointer-events:none}
.value-detail-frame rect{fill:none;stroke:rgba(96,229,255,.72);stroke-width:.34;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 4px rgba(64,220,255,.72))}
.value-detail-panel.is-drawing .value-detail-frame rect{animation:valueFrameDraw .58s cubic-bezier(.12,.82,.22,1) forwards}
.value-detail-grid{position:absolute;inset:0;z-index:-2;overflow:hidden;border-radius:12px;pointer-events:none}
.value-detail-grid i,.value-detail-grid b{position:absolute;inset:0;display:block;opacity:.25}
.value-detail-grid i{background-image:linear-gradient(rgba(165,241,255,.08) 1px,transparent 1px);background-size:100% 11px;clip-path:inset(0 0 0 100%)}
.value-detail-grid b{background-image:linear-gradient(90deg,rgba(165,241,255,.08) 1px,transparent 1px);background-size:11px 100%;clip-path:inset(0 0 100% 0)}
.value-detail-panel.is-drawing .value-detail-grid i{animation:valueGridRows .38s .53s cubic-bezier(.14,.8,.24,1) forwards}
.value-detail-panel.is-drawing .value-detail-grid b{animation:valueGridColumns .4s .87s cubic-bezier(.16,.78,.24,1) forwards}
.value-detail-interface,.value-detail-heading,.value-detail-text{position:relative;z-index:1}
.value-detail-panel.is-drawing .value-detail-interface,.value-detail-panel.is-drawing .value-detail-heading,.value-detail-panel.is-drawing .value-detail-text{animation:valueContentIn .42s 1.14s var(--ease) both}
@keyframes valueFrameDraw{0%{stroke-dashoffset:1;opacity:.4}14%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes valuePanelFill{from{opacity:0}to{opacity:1}}
@keyframes valueGridRows{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes valueGridColumns{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes valueContentIn{0%{opacity:0;transform:translateY(8px);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
@media(max-width:560px){.value-detail-panel.is-visible{max-height:620px;margin-top:34px}}

/* Clean, slowly moving blue gradient for 02 / La nostra storia */
.timeline{
  --timeline-mouse-x:0px;
  --timeline-mouse-y:0px;
  position:relative;
  scroll-margin-top:90px;
  z-index:81;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(132deg,#030a1b 0%,#05142d 18%,#071d41 37%,#092755 56%,#0a2d60 68%,#071f48 84%,#040f26 100%);
}
.timeline:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-38%;
  pointer-events:none;
  background:
    radial-gradient(ellipse 46% 40% at 16% 30%,rgba(26,102,214,.38),transparent 78%),
    radial-gradient(ellipse 42% 48% at 80% 22%,rgba(13,67,157,.44),transparent 80%),
    radial-gradient(ellipse 52% 43% at 67% 82%,rgba(22,126,211,.24),transparent 82%),
    radial-gradient(ellipse 38% 34% at 38% 66%,rgba(36,90,183,.22),transparent 80%),
    radial-gradient(ellipse 34% 46% at 93% 62%,rgba(4,36,94,.32),transparent 82%),
    linear-gradient(118deg,rgba(4,13,35,.14),rgba(25,80,166,.17),rgba(5,24,58,.13),rgba(3,12,31,.14));
  filter:blur(46px) saturate(1.08);
  transform:translate3d(calc(-3% + var(--timeline-mouse-x)),calc(-2% + var(--timeline-mouse-y)),0) scale(1.04) rotate(-1deg);
  transform-origin:center;
  animation:timelineBlueDrift 9.5s cubic-bezier(.45,.02,.55,.98) infinite alternate;
  will-change:transform;
}
.timeline:after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 .55 0 0 0 0 .68 0 0 0 0 .88 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"),
    linear-gradient(100deg,rgba(3,10,28,.26),transparent 38%,rgba(34,104,193,.055) 62%,rgba(2,9,25,.22));
  background-size:180px 180px,auto;
  background-repeat:repeat,no-repeat;
  will-change:background-position;
}
.timeline>*{position:relative;z-index:3}
.timeline>.timeline-lens-canvas{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  pointer-events:none;
  mix-blend-mode:screen;
  filter:saturate(1.06);
}
@keyframes timelineBlueDrift{
  0%{transform:translate3d(calc(-4% + var(--timeline-mouse-x)),calc(-3% + var(--timeline-mouse-y)),0) scale(1.04) rotate(-1deg)}
  45%{transform:translate3d(calc(4% + var(--timeline-mouse-x)),calc(2% + var(--timeline-mouse-y)),0) scale(1.1) rotate(.7deg)}
  100%{transform:translate3d(calc(-1% + var(--timeline-mouse-x)),calc(5% + var(--timeline-mouse-y)),0) scale(1.06) rotate(-.35deg)}
}
@media(prefers-reduced-motion:reduce){.timeline:before{animation:none}}

/* Home hero — Digital Core */
.home-page .hero{
  --hero-x:0px;
  --hero-y:0px;
  --hero-scroll:0px;
  isolation:isolate;
  background:#020817;
}
.home-page .hero-media{
  inset:-2.5%;
  overflow:hidden;
  background:#020817;
}
.home-page .hero-media img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  transform:translate3d(calc(var(--hero-x) * -.12),calc(var(--hero-scroll) + var(--hero-y) * -.1),0) scale(1.055);
  filter:saturate(1.03) contrast(1.04);
  will-change:transform;
  transition:transform .18s cubic-bezier(.2,.72,.24,1);
}
.home-page .hero-media:after{
  z-index:2;
  background:
    linear-gradient(90deg,rgba(2,7,20,.94) 0%,rgba(2,8,22,.86) 24%,rgba(2,9,25,.57) 43%,rgba(2,9,25,.16) 60%,rgba(2,8,22,.04) 76%,rgba(1,5,16,.18) 100%),
    linear-gradient(0deg,rgba(1,5,16,.57),transparent 29%,rgba(1,5,16,.18) 82%,rgba(1,5,16,.45));
}
.home-page .hero-atmosphere{
  position:absolute;
  z-index:1;
  inset:-24%;
  pointer-events:none;
  background:
    radial-gradient(circle at calc(70% + var(--hero-x) * .1) calc(48% + var(--hero-y) * .08),rgba(47,204,255,.14),transparent 19%),
    radial-gradient(ellipse at 49% 72%,rgba(16,84,198,.11),transparent 34%);
  filter:blur(24px);
  animation:heroAtmosphere 8s ease-in-out infinite alternate;
  will-change:transform;
}
.home-page .hero-scan{
  display:block;
  position:absolute;
  z-index:3;
  inset:0;
  opacity:.2;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 49.94%,rgba(126,229,255,.18) 50%,transparent 50.06%),
    repeating-linear-gradient(0deg,transparent 0 4px,rgba(150,224,255,.026) 5px);
  mask-image:linear-gradient(90deg,transparent 44%,#000 61%,#000 92%,transparent);
}
.home-page .hero>.hero-grid{
  display:block;
  position:absolute;
  z-index:1;
  inset:0;
  opacity:.21;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(95,202,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(95,202,255,.055) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(circle at 72% 50%,#000,transparent 47%);
  transform:perspective(900px) rotateX(61deg) translateY(32%) scale(1.35);
  transform-origin:center 75%;
}
.home-page .hero>.data-canvas{
  display:block;
  position:absolute;
  z-index:3;
  inset:0;
  width:100%;
  height:100%;
  opacity:.54;
  pointer-events:none;
  mask-image:linear-gradient(90deg,transparent 35%,#000 60%,#000);
}
.hero-core-ui{
  position:absolute;
  z-index:3;
  left:72.2%;
  top:49%;
  width:min(37vw,650px);
  aspect-ratio:1;
  pointer-events:none;
  opacity:0;
  transform:translate(calc(-50% + var(--hero-x) * .22),calc(-50% + var(--hero-y) * .18)) scale(.84);
  filter:blur(8px);
  transition:opacity 1.1s .25s ease,transform 1.4s .18s cubic-bezier(.12,.78,.2,1),filter 1.1s .2s ease;
  will-change:transform;
}
body.ready .hero-core-ui{opacity:1;filter:none;transform:translate(calc(-50% + var(--hero-x) * .22),calc(-50% + var(--hero-y) * .18)) scale(1)}
.core-ring{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(120,222,255,.25);
  box-shadow:inset 0 0 30px rgba(24,119,255,.035),0 0 18px rgba(64,220,255,.04);
}
.core-ring:before,.core-ring:after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:#73e6ff;
  box-shadow:0 0 13px #40dcff;
}
.core-ring:before{width:5px;height:5px;top:11%;left:18%}
.core-ring:after{width:3px;height:3px;right:8%;bottom:31%}
.core-ring-a{inset:1%;border-style:dashed;animation:coreOrbit 22s linear infinite}
.core-ring-b{inset:11%;border-color:rgba(90,184,255,.22);animation:coreOrbit 15s linear infinite reverse}
.core-ring-c{inset:21%;border-style:dotted;border-color:rgba(161,234,255,.31);animation:coreOrbit 10s linear infinite}
.core-node{
  position:absolute;
  width:8px;
  height:8px;
  border:1px solid rgba(202,248,255,.9);
  border-radius:50%;
  background:#39cfff;
  box-shadow:0 0 8px #40dcff,0 0 24px rgba(24,119,255,.75);
  animation:coreNodePulse 2.5s ease-in-out infinite;
}
.core-node-a{left:2.5%;top:43%;animation-delay:-.8s}
.core-node-b{right:5%;top:23%;animation-delay:-1.7s}
.core-node-c{right:13%;bottom:15%;animation-delay:-.2s}
.core-readout{
  position:absolute;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid rgba(121,216,255,.18);
  background:rgba(3,15,37,.38);
  backdrop-filter:blur(10px);
  color:rgba(199,236,255,.62);
  font:600 7px/1 "Space Grotesk",sans-serif;
  letter-spacing:.18em;
  white-space:nowrap;
  text-transform:uppercase;
}
.core-readout:before{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,#40dcff)}
.core-readout b{color:#64e1ff;font-size:8px}
.core-readout-a{left:-8%;top:24%}
.core-readout-b{right:-2%;bottom:20%}
.home-page .hero-copy{
  z-index:5;
  width:min(690px,48vw);
  padding:34px 0;
}
.home-page .hero-copy:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-70px -90px;
  pointer-events:none;
  background:radial-gradient(ellipse at 30% 50%,rgba(2,8,23,.37),transparent 68%);
  filter:blur(18px);
}
.home-page .hero h1{text-shadow:0 3px 35px rgba(0,5,19,.48)}
.home-page .hero-intro{color:rgba(224,238,250,.72);text-shadow:0 2px 16px rgba(0,4,17,.7)}
.home-page .hero-status{
  z-index:5;
  right:4.8vw;
  bottom:4.5vw;
  width:292px;
  border-color:rgba(146,225,255,.24);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(11,30,65,.5),rgba(3,12,31,.38));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 18px 45px rgba(0,4,20,.35);
  backdrop-filter:blur(18px) saturate(135%);
}
@keyframes coreOrbit{to{transform:rotate(360deg)}}
@keyframes coreNodePulse{50%{transform:scale(1.55);opacity:.55}}
@keyframes heroAtmosphere{
  0%{transform:translate3d(-1.5%,-1%,0) scale(1)}
  100%{transform:translate3d(2%,1.5%,0) scale(1.08)}
}
@media(max-width:900px){
  .home-page .hero-media{inset:-1.5%}
  .home-page .hero-media img{object-position:68% center;transform:translate3d(0,var(--hero-scroll),0) scale(1.035)}
  .home-page .hero-media:after{
    background:
      linear-gradient(0deg,rgba(2,7,20,.96) 0%,rgba(2,8,22,.82) 31%,rgba(2,8,22,.28) 64%,rgba(2,8,22,.12) 100%),
      linear-gradient(90deg,rgba(2,8,22,.45),transparent 70%);
  }
  .hero-core-ui{left:69%;top:38%;width:min(72vw,520px);opacity:.55}
  .core-readout{display:none}
  .home-page .hero-copy{width:100%;padding:0}
  .home-page .hero-copy:before{display:none}
  .home-page .hero>.data-canvas{opacity:.35;mask-image:linear-gradient(0deg,#000,transparent 80%)}
}
@media(max-width:560px){
  .hero-core-ui{left:72%;top:34%;width:84vw;opacity:.45}
  .core-ring-a{inset:5%}.core-ring-b{inset:16%}.core-ring-c{inset:27%}
  .home-page .hero-status{display:none}
}
@media(prefers-reduced-motion:reduce){
  .home-page .hero-media img,.hero-core-ui{transition:none}
  .home-page .hero-atmosphere,.core-ring,.core-node{animation:none!important}
}

/* Home hero v2 — scroll-driven digital Earth */
.home-page .hero-earth-experience{
  --earth-copy-opacity:1;
  --earth-copy-y:0px;
  --earth-story-opacity:0;
  --earth-story-y:28px;
  --earth-cards-opacity:0;
  --earth-cards-y:34px;
  --earth-scale:.62;
  --earth-top:91%;
  --earth-rotate:-4deg;
  --earth-mouse-x:0px;
  --earth-mouse-y:0px;
  display:block;
  height:280svh;
  min-height:0;
  padding:0;
  overflow:visible;
  isolation:isolate;
  background:#010106;
}
.hero-earth-stage{
  position:sticky;
  top:0;
  width:100%;
  height:100svh;
  min-height:620px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 104%,rgba(7,32,118,.57),transparent 47%),
    radial-gradient(circle at 17% 28%,rgba(5,18,70,.29),transparent 31%),
    linear-gradient(180deg,#010106 0%,#020617 57%,#030a24 100%);
}
.hero-earth-stage:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 49.94%,rgba(115,172,255,.09) 50%,transparent 50.06%),
    repeating-linear-gradient(90deg,transparent 0 88px,rgba(90,149,255,.025) 89px),
    repeating-linear-gradient(0deg,transparent 0 88px,rgba(90,149,255,.025) 89px);
  mask-image:radial-gradient(ellipse at 50% 60%,#000,transparent 76%);
}
.hero-earth-stage:after{
  content:"";
  position:absolute;
  z-index:9;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(1,1,6,.23),transparent 17%,transparent 76%,rgba(1,3,13,.47));
}
.hero-space{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
.hero-space:before,.hero-space:after,.hero-space i{
  content:"";
  position:absolute;
  border-radius:50%;
  background:#7ddfff;
  box-shadow:0 0 8px rgba(68,210,255,.9);
  animation:earthStarPulse 4.2s ease-in-out infinite;
}
.hero-space:before{width:2px;height:2px;left:9%;top:31%;box-shadow:17vw 19vh 0 rgba(110,194,255,.55),34vw -13vh 0 rgba(110,194,255,.45),59vw 25vh 0 rgba(110,194,255,.52),76vw -5vh 0 rgba(110,194,255,.55),85vw 37vh 0 rgba(110,194,255,.37)}
.hero-space:after{width:3px;height:3px;right:13%;top:25%;animation-delay:-1.9s;box-shadow:-19vw 33vh 0 rgba(97,208,255,.5),-47vw 17vh 0 rgba(97,208,255,.42),-72vw 43vh 0 rgba(97,208,255,.38)}
.hero-space i:nth-child(1){width:4px;height:4px;left:16%;top:62%;animation-delay:-.8s}
.hero-space i:nth-child(2){width:2px;height:2px;right:18%;top:55%;animation-delay:-2.6s}
.hero-space i:nth-child(3){width:3px;height:3px;left:51%;top:36%;animation-delay:-3.4s}
.hero-earth-stage>.data-canvas{
  display:block;
  position:absolute;
  z-index:2;
  inset:0;
  width:100%;
  height:100%;
  opacity:.32;
  pointer-events:none;
  mask-image:linear-gradient(180deg,transparent 9%,#000 42%,#000);
}
.hero-earth-copy{
  position:absolute;
  z-index:8;
  top:clamp(132px,17vh,190px);
  left:50%;
  width:min(1080px,88vw);
  text-align:center;
  opacity:var(--earth-copy-opacity);
  transform:translate3d(-50%,var(--earth-copy-y),0);
  will-change:opacity,transform;
}
.hero-earth-copy .eyebrow{justify-content:center;color:rgba(214,229,248,.6);margin-bottom:18px}
.hero-earth-copy h1{
  margin:0;
  color:#eef4fb;
  font-size:clamp(59px,7.3vw,118px);
  line-height:.84;
  letter-spacing:-.072em;
  text-wrap:balance;
  text-shadow:0 4px 42px rgba(0,0,15,.82);
}
.hero-earth-copy h1 em{
  color:#65dfff;
  font-size:.91em;
  font-style:italic;
  letter-spacing:-.055em;
  text-shadow:0 0 38px rgba(29,157,255,.22);
}
.hero-earth-copy>p:last-child{
  max-width:680px;
  margin:28px auto 0;
  padding:7px 34px 9px;
  color:rgba(226,236,248,.78);
  font-size:clamp(14px,1.02vw,17px);
  line-height:1.65;
  text-shadow:0 2px 18px rgba(0,2,14,.92),0 1px 3px rgba(0,0,7,.96);
  background:linear-gradient(90deg,transparent,rgba(1,5,24,.46) 23%,rgba(1,5,24,.46) 77%,transparent);
}
.hero-earth{
  position:absolute;
  z-index:4;
  left:50%;
  top:var(--earth-top);
  width:min(88vw,1140px);
  aspect-ratio:1;
  transform:translate3d(calc(-50% + var(--earth-mouse-x)),calc(-50% + var(--earth-mouse-y)),0) scale(var(--earth-scale)) rotate(var(--earth-rotate));
  transform-origin:center;
  will-change:top,transform;
  filter:drop-shadow(0 0 90px rgba(17,77,255,.2));
}
.hero-earth>img{
  position:absolute;
  z-index:3;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:contain;
  clip-path:circle(40.4% at 50% 50%);
  mix-blend-mode:screen;
  filter:saturate(1.1) contrast(1.05);
  animation:earthFloat 7s ease-in-out infinite alternate;
}
.earth-halo{
  position:absolute;
  z-index:1;
  border-radius:50%;
  pointer-events:none;
}
.earth-halo-a{
  inset:10%;
  background:radial-gradient(circle,rgba(10,36,165,.08) 42%,rgba(19,92,255,.19) 66%,rgba(32,177,255,.12) 72%,transparent 75%);
  filter:blur(18px);
  animation:earthAura 5.8s ease-in-out infinite alternate;
}
.earth-halo-b{
  inset:3%;
  border:1px solid rgba(98,188,255,.13);
  box-shadow:0 0 65px rgba(16,74,255,.12),inset 0 0 80px rgba(36,152,255,.08);
  animation:earthHaloSpin 30s linear infinite;
}
.earth-orbit{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  border:1px solid rgba(119,201,255,.22);
  border-radius:50%;
  pointer-events:none;
}
.earth-orbit-a{width:110%;height:38%;transform:translate(-50%,-50%) rotate(-11deg);animation:earthOrbitA 13s linear infinite}
.earth-orbit-b{width:104%;height:46%;transform:translate(-50%,-50%) rotate(64deg);animation:earthOrbitB 17s linear infinite reverse}
.earth-orbit i{
  position:absolute;
  left:13%;
  top:12%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#80e7ff;
  box-shadow:0 0 8px #40dcff,0 0 24px #1877ff;
}
.earth-pulse{
  position:absolute;
  z-index:6;
  width:13px;
  height:13px;
  border:1px solid rgba(182,240,255,.8);
  border-radius:50%;
  background:#30ccff;
  box-shadow:0 0 12px #40dcff;
}
.earth-pulse:after{content:"";position:absolute;inset:-1px;border:1px solid #62dfff;border-radius:50%;animation:earthPulse 2.8s ease-out infinite}
.earth-pulse-a{left:31%;top:32%}
.earth-pulse-b{right:25%;top:39%;animation-delay:-1s}
.earth-pulse-c{left:47%;bottom:25%;animation-delay:-1.8s}
.hero-earth-story{
  position:absolute;
  z-index:8;
  top:13.5%;
  left:50%;
  width:min(920px,84vw);
  text-align:center;
  opacity:var(--earth-story-opacity);
  transform:translate3d(-50%,var(--earth-story-y),0);
  will-change:opacity,transform;
  pointer-events:none;
}
.hero-earth-story .kicker{margin:0 0 18px;color:#5edaff}
.hero-earth-story h2{
  margin:0;
  color:#f0f5fc;
  font-size:clamp(42px,5.2vw,78px);
  line-height:.98;
  letter-spacing:-.06em;
  text-shadow:0 4px 38px rgba(0,0,15,.75);
}
.hero-earth-story h2 em{color:#6adaff}
.hero-earth-story>p:last-child{
  padding:6px 28px 8px;
  color:rgba(226,237,249,.78);
  text-shadow:0 2px 18px rgba(0,2,14,.95),0 1px 3px rgba(0,0,7,.96);
  background:linear-gradient(90deg,transparent,rgba(1,5,24,.48) 22%,rgba(1,5,24,.48) 78%,transparent);
  width:min(610px,82vw);
  margin:23px auto 0;
  color:rgba(226,237,249,.78);
  line-height:1.65;
}
.earth-data-card{
  position:absolute;
  z-index:8;
  width:248px;
  padding:17px 18px 16px;
  border:1px solid rgba(133,194,255,.2);
  border-radius:13px;
  background:linear-gradient(135deg,rgba(21,45,98,.46),rgba(3,12,35,.52));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 50px rgba(0,2,17,.26);
  backdrop-filter:blur(18px) saturate(130%);
  opacity:var(--earth-cards-opacity);
  transform:translate3d(0,var(--earth-cards-y),0) scale(calc(.96 + var(--earth-cards-opacity) * .04));
  will-change:opacity,transform;
}
.earth-data-card:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(110deg,transparent,rgba(116,217,255,.055),transparent 60%);
  pointer-events:none;
}
.earth-data-card small{display:block;color:#5ccfff;font:600 8px/1 "Space Grotesk";letter-spacing:.17em;text-transform:uppercase;margin-bottom:12px}
.earth-data-card strong{display:block;color:#edf5ff;font:600 16px/1.15 "Manrope";margin-bottom:14px}
.earth-data-card span{display:flex;align-items:center;gap:8px;color:rgba(211,229,247,.53);font-size:10px}
.earth-data-card span i{width:6px;height:6px;border-radius:50%;background:#43dcff;box-shadow:0 0 9px #40dcff;animation:coreNodePulse 2s ease-in-out infinite}
.earth-card-ict{left:5.5%;top:38%}
.earth-card-software{right:5.5%;top:37%}
.earth-card-security{left:8.5%;bottom:12%}
.earth-card-training{right:8.5%;bottom:12%}
.hero-scroll-progress{
  position:absolute;
  z-index:10;
  left:5.5vw;
  bottom:32px;
  display:flex;
  align-items:center;
  gap:15px;
  color:rgba(214,231,249,.45);
  font:600 8px/1 "Space Grotesk";
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-scroll-progress>i{display:block;position:relative;width:78px;height:1px;background:rgba(152,194,241,.2);overflow:hidden}
.hero-scroll-progress>i b{display:block;width:100%;height:100%;background:linear-gradient(90deg,#1877ff,#64e4ff);transform:scaleX(var(--earth-scroll-progress,0));transform-origin:left}
.hero-scroll-progress small{font:inherit;color:#58d8ff}
@keyframes earthFloat{to{transform:translateY(-7px) scale(1.004)}}
@keyframes earthAura{to{transform:scale(1.07);opacity:.68}}
@keyframes earthHaloSpin{to{transform:rotate(360deg)}}
@keyframes earthOrbitA{to{transform:translate(-50%,-50%) rotate(349deg)}}
@keyframes earthOrbitB{to{transform:translate(-50%,-50%) rotate(424deg)}}
@keyframes earthPulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(5);opacity:0}}
@keyframes earthStarPulse{50%{opacity:.25;transform:scale(.65)}}
@media(max-width:900px){
  .home-page .hero-earth-experience{height:240svh}
  .hero-earth-stage{min-height:580px}
  .hero-earth-copy{top:15.5%;width:92vw}
  .hero-earth-copy h1{font-size:clamp(50px,12.8vw,78px);line-height:.9}
  .hero-earth-copy>p:last-child{width:min(570px,86vw);margin-top:22px;font-size:14px}
  .hero-earth{width:min(145vw,880px)}
  .hero-earth-story{top:13%;width:91vw}
  .hero-earth-story h2{font-size:clamp(38px,9vw,60px)}
  .earth-data-card{width:min(41vw,220px);padding:13px;border-radius:11px}
  .earth-data-card strong{font-size:13px;margin-bottom:10px}
  .earth-data-card span{font-size:8px}
  .earth-card-ict{left:4%;top:42%}.earth-card-software{right:4%;top:42%}
  .earth-card-security{left:4%;bottom:11%}.earth-card-training{right:4%;bottom:11%}
}
@media(max-width:560px){
  .home-page .hero-earth-experience{height:225svh}
  .hero-earth-stage{min-height:540px}
  .hero-earth-copy{top:15%}
  .hero-earth-copy .eyebrow{font-size:8px;letter-spacing:.14em}
  .hero-earth-copy h1{font-size:clamp(46px,13.8vw,64px);line-height:.91}
  .hero-earth-copy>p:last-child{font-size:12px;line-height:1.55;margin-top:19px}
  .hero-earth{width:176vw}
  .hero-earth-story{top:12.5%}
  .hero-earth-story .kicker{font-size:8px;margin-bottom:13px}
  .hero-earth-story h2{font-size:clamp(35px,10vw,48px)}
  .hero-earth-story>p:last-child{font-size:12px;margin-top:16px}
  .earth-data-card{width:44vw;padding:11px 12px}
  .earth-data-card small{font-size:6px;margin-bottom:8px}
  .earth-data-card strong{font-size:11px}
  .earth-data-card span{display:none}
  .earth-card-ict{left:3%;top:45%}.earth-card-software{right:3%;top:45%}
  .earth-card-security{left:3%;bottom:10%}.earth-card-training{right:3%;bottom:10%}
  .hero-scroll-progress{left:20px;bottom:22px}
  .hero-scroll-progress>span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hero-earth>img,.earth-halo,.earth-orbit,.earth-pulse:after,.hero-space:before,.hero-space:after,.hero-space i{animation:none!important}
}

/* Mobile navbar v3: the closed glass capsule expands into the menu */
@media(max-width:900px){
  .site-header,
  .site-header.scrolled{
    overflow:hidden;
    transition:
      height .62s cubic-bezier(.16,1,.3,1),
      border-radius .48s cubic-bezier(.16,1,.3,1),
      background .42s ease,
      box-shadow .42s ease,
      border-color .42s ease;
  }

  .site-header:after{
    content:"BYTESOFT";
    position:absolute;
    z-index:1003;
    left:50%;
    top:34px;
    transform:translate(-50%,-50%);
    color:rgba(202,220,240,.67);
    font:800 20px/1 "Space Grotesk","Manrope",sans-serif;
    letter-spacing:.13em;
    white-space:nowrap;
    text-shadow:
      0 1px 0 rgba(255,255,255,.28),
      0 -1px 0 rgba(0,8,30,.92),
      0 3px 8px rgba(0,5,22,.34);
    opacity:.94;
    pointer-events:none;
  }

  body.menu-open .site-header,
  body.menu-open .site-header.scrolled{
    top:10px;
    right:12px;
    bottom:auto;
    left:12px;
    width:auto;
    height:min(430px,calc(100dvh - 20px));
    min-height:0;
    padding:8px 10px 8px 12px;
    border:1px solid rgba(210,236,255,.27);
    border-radius:24px 24px 30px 30px;
    background:
      radial-gradient(circle at 50% 14%,rgba(77,162,235,.14),transparent 43%),
      linear-gradient(155deg,rgba(22,50,91,.42),rgba(7,29,62,.25) 57%,rgba(3,19,46,.31));
    -webkit-backdrop-filter:blur(22px) saturate(145%);
    backdrop-filter:blur(22px) saturate(145%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.25),
      inset 0 -1px 0 rgba(92,160,215,.12),
      0 18px 46px rgba(0,7,27,.28);
  }

  .main-nav{
    position:absolute;
    z-index:1001;
    inset:80px 10px 16px;
    width:auto;
    height:auto;
    min-height:0;
    padding:0;
    gap:7px;
    justify-content:center;
    overflow:hidden;
    background:transparent;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-14px) scaleY(.94);
    transform-origin:50% 0;
    transition:
      opacity .2s ease .05s,
      transform .46s cubic-bezier(.16,1,.3,1),
      visibility 0s linear .46s;
  }

  .menu-open .main-nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition:
      opacity .2s ease .18s,
      transform .5s cubic-bezier(.16,1,.3,1) .08s,
      visibility 0s;
  }

  .main-nav:before{
    top:calc(50% - 126.5px);
    left:50%;
    width:min(82vw,330px);
    height:58px;
    border-radius:999px;
    background:linear-gradient(135deg,rgba(65,157,239,.19),rgba(11,50,99,.13));
    border:1px solid rgba(112,201,255,.27);
    -webkit-backdrop-filter:blur(10px) saturate(135%);
    backdrop-filter:blur(10px) saturate(135%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 25px rgba(0,7,28,.16);
  }

  .main-nav:has(.nav-home.active):before,
  .main-nav:has(.nav-home:hover):before,
  .main-nav:has(.nav-home:focus-visible):before{transform:translateX(-50%) translateY(0)}
  .main-nav:has(.nav-about.active):before,
  .main-nav:has(.nav-about:hover):before,
  .main-nav:has(.nav-about:focus-visible):before{transform:translateX(-50%) translateY(65px)}
  .main-nav:has(.nav-services.active):before,
  .main-nav:has(.nav-services:hover):before,
  .main-nav:has(.nav-services:focus-visible):before{transform:translateX(-50%) translateY(130px)}
  .main-nav:has(.nav-contact.active):before,
  .main-nav:has(.nav-contact:hover):before,
  .main-nav:has(.nav-contact:focus-visible):before{transform:translateX(-50%) translateY(195px)}

  .main-nav .nav-item{
    width:min(82vw,330px);
    height:58px;
    min-height:58px;
    flex:0 0 58px;
    padding:0 20px;
    opacity:0;
    transform:translateY(-9px) scale(.975);
    transition:
      opacity .2s ease,
      transform .38s cubic-bezier(.16,1,.3,1),
      color .28s ease;
  }

  .menu-open .main-nav .nav-item{
    opacity:1;
    transform:none;
  }
  .menu-open .main-nav .nav-item:nth-child(1){transition-delay:.18s}
  .menu-open .main-nav .nav-item:nth-child(2){transition-delay:.235s}
  .menu-open .main-nav .nav-item:nth-child(3){transition-delay:.29s}
  .menu-open .main-nav .nav-item:nth-child(4){transition-delay:.345s}

  .main-nav .nav-label,
  .main-nav .nav-item.active .nav-label,
  .main-nav .nav-item:hover .nav-label,
  .main-nav .nav-item:focus-visible .nav-label{
    font-size:19px;
    line-height:1;
  }
}

/* Keep the contact call-to-action only on the contact page. */
.header-cta{display:none!important}
body:has(.contact-layout) .header-cta{
  display:flex!important;
  background:linear-gradient(145deg,#067f91,#00b99e);
  border-color:rgba(126,255,229,.66);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 5px 0 #034856,0 12px 26px rgba(0,185,158,.26);
}
body:has(.contact-layout) .header-cta:hover{
  background:linear-gradient(145deg,#0797aa,#00cfae);
  border-color:#d3fff6;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 7px 0 #034856,0 16px 30px rgba(0,207,174,.34);
}

@media(max-width:900px){
  body:has(.contact-layout) .header-cta{display:none!important}
  body:has(.contact-layout).menu-open .main-nav:has(.nav-contact.active){
    transform:translateY(-28px)!important;
  }
  body:has(.contact-layout).menu-open .main-nav:has(.nav-contact.active) + .header-cta{
    display:flex!important;
    position:absolute;
    z-index:1003;
    top:auto;
    bottom:14px;
    left:50%;
    transform:translateX(-50%);
    min-width:176px;
    justify-content:center;
  }
}

/* Mobile footer: a single, tactile glass control replaces the footer header. */
@media(max-width:900px){
  .site-footer{padding-top:28px}
  .footer-top{display:flex;justify-content:center;padding-bottom:28px}
  .footer-top .brand{display:none}
  .footer-top .back-top{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:190px;
    min-height:54px;
    padding:0 24px;
    border:1px solid rgba(157,222,255,.42);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(93,183,236,.22),rgba(12,57,109,.38));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(5,21,50,.62),0 12px 28px rgba(0,4,20,.28);
    color:#eaf8ff;
    font:700 11px/1 "Manrope",sans-serif;
    letter-spacing:.16em;
    text-decoration:none;
    text-transform:uppercase;
    -webkit-backdrop-filter:blur(18px) saturate(145%);
    backdrop-filter:blur(18px) saturate(145%);
    transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);
  }
  .footer-top .back-top:hover{transform:translateY(-2px);border-color:rgba(190,241,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 16px 30px rgba(19,141,222,.22)}
}

@media(max-width:420px){
  body.menu-open .site-header,
  body.menu-open .site-header.scrolled{height:min(410px,calc(100dvh - 20px))}
  .site-header:after{font-size:19px;letter-spacing:.12em}
  .main-nav{inset:77px 8px 14px;gap:6px}
  .main-nav:before{top:calc(50% - 125px);height:58px}
  .main-nav:has(.nav-about.active):before,
  .main-nav:has(.nav-about:hover):before,
  .main-nav:has(.nav-about:focus-visible):before{transform:translateX(-50%) translateY(64px)}
  .main-nav:has(.nav-services.active):before,
  .main-nav:has(.nav-services:hover):before,
  .main-nav:has(.nav-services:focus-visible):before{transform:translateX(-50%) translateY(128px)}
  .main-nav:has(.nav-contact.active):before,
  .main-nav:has(.nav-contact:hover):before,
  .main-nav:has(.nav-contact:focus-visible):before{transform:translateX(-50%) translateY(192px)}
}

/* Privacy e Cookie: header indipendente e compatto, senza elementi della navigazione mobile. */
.policy-header{
  justify-content:space-between;
  gap:18px;
}
.policy-header:after{display:none!important}
.policy-header .policy-brand{
  display:flex!important;
  width:56px!important;
  height:56px!important;
  min-width:56px;
  overflow:visible!important;
  background:none!important;
  filter:none!important;
}
.policy-header .policy-brand>img{
  display:block!important;
  width:56px;
  height:56px;
  object-fit:contain;
}
.policy-header .policy-return{
  display:inline-flex!important;
  margin-left:auto;
}
@media(max-width:900px){
  .policy-header,
  .policy-header.scrolled{
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    height:74px!important;
    min-height:74px!important;
    padding:0 22px!important;
    border-radius:0!important;
    overflow:visible!important;
    transform:none!important;
  }
  .policy-header .policy-brand,
  .policy-header .policy-brand>img{
    width:48px!important;
    height:48px!important;
    min-width:48px;
  }
  .policy-header .policy-return{
    min-width:48px;
    width:48px;
    height:48px;
    padding:5px;
    justify-content:center;
    gap:0;
    border-radius:14px;
  }
  .policy-header .policy-return span{display:none}
  .policy-header .policy-return i{width:30px;height:30px}
}

/* About: sequential high-tech timeline construction */
.timeline-list.timeline-enhanced{
  position:relative;
  border-top:0;
}

/* Method: stop-and-build timeline sequence */
.method-stage.method-sequenced .method-line{
  left:9.5px;
  background:rgba(24,119,255,.09);
  overflow:visible;
}
.method-stage.method-sequenced .method-line span,
.method-stage.method-sequenced.in-view .method-line span{
  width:0;
  height:100%;
  background:linear-gradient(90deg,#1877ff 0%,#43cfff 72%,#84eaff 100%);
  box-shadow:0 0 12px rgba(34,147,255,.34);
  transition:width .74s cubic-bezier(.65,0,.2,1),height .74s cubic-bezier(.65,0,.2,1);
  will-change:width,height;
}
.method-stage.method-sequenced article>i{
  width:20px;
  height:20px;
  border:5px solid var(--paper);
  background:#1d82ff;
  box-shadow:0 0 0 1px rgba(24,119,255,.95),0 0 0 0 rgba(50,194,255,0);
  opacity:0;
  transform:scale(.15) rotate(-135deg);
  transition:opacity .16s ease,transform .38s cubic-bezier(.15,1.7,.35,1),box-shadow .38s ease;
}
.method-stage.method-sequenced article>i:before{
  content:"";
  position:absolute;
  inset:-8px;
  border:1px solid rgba(55,192,255,.35);
  border-radius:50%;
  opacity:0;
  transform:scale(.45);
}
.method-stage.method-sequenced article>i:after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:#d7f8ff;
  box-shadow:0 0 9px rgba(91,225,255,.9);
}
.method-stage.method-sequenced article.node-visible>i{
  opacity:1;
  transform:scale(1) rotate(0);
  box-shadow:0 0 0 1px rgba(24,119,255,.95),0 0 18px rgba(45,178,255,.48);
}
.method-stage.method-sequenced article.node-visible>i:before{animation:methodNodeSignal 1.15s cubic-bezier(.2,.8,.2,1) .08s both}
.method-stage.method-sequenced article small,
.method-stage.method-sequenced article h3,
.method-stage.method-sequenced article p{
  opacity:0;
  will-change:opacity,transform,clip-path,filter;
}
.method-stage.method-sequenced article small{
  display:inline-block;
  clip-path:inset(0 100% 0 0);
  transform:translateX(-10px);
  transition:opacity .24s ease,transform .32s cubic-bezier(.16,1,.3,1),clip-path .34s cubic-bezier(.16,1,.3,1);
}
.method-stage.method-sequenced article h3{
  clip-path:inset(0 100% 0 0);
  transform:translateX(-14px);
  filter:blur(4px);
  transition:opacity .3s ease,transform .42s cubic-bezier(.16,1,.3,1),clip-path .44s cubic-bezier(.16,1,.3,1),filter .36s ease;
}
.method-stage.method-sequenced article p{
  transform:translateY(12px);
  filter:blur(3px);
  transition:opacity .38s ease,transform .48s cubic-bezier(.16,1,.3,1),filter .4s ease;
}
.method-stage.method-sequenced article.phase-visible small,
.method-stage.method-sequenced article.title-visible h3,
.method-stage.method-sequenced article.copy-visible p{
  opacity:1;
  clip-path:inset(0 0 0 0);
  transform:none;
  filter:none;
}
@keyframes methodNodeSignal{
  0%{opacity:0;transform:scale(.45)}
  36%{opacity:.72}
  100%{opacity:0;transform:scale(1.75)}
}

@media(max-width:900px){
  .method-stage.method-sequenced .method-line{
    top:51px;
    left:9.5px;
    bottom:0;
    width:1px;
    height:auto;
  }
  .method-stage.method-sequenced .method-line span,
  .method-stage.method-sequenced.in-view .method-line span{
    width:100%;
    height:0;
    background:linear-gradient(180deg,#1877ff 0%,#43cfff 72%,#84eaff 100%);
  }
}

@media(prefers-reduced-motion:reduce){
  .method-stage.method-sequenced .method-line span,
  .method-stage.method-sequenced article>i,
  .method-stage.method-sequenced article small,
  .method-stage.method-sequenced article h3,
  .method-stage.method-sequenced article p{
    opacity:1;
    clip-path:none;
    transform:none;
    filter:none;
    transition:none;
    animation:none;
  }
}
.timeline-list.timeline-enhanced .timeline-item{
  position:relative;
  isolation:isolate;
  grid-template-columns:clamp(110px,9vw,155px) minmax(260px,.88fr) minmax(330px,1.12fr);
  gap:clamp(28px,5vw,105px);
  min-height:138px;
  padding:35px 0 39px;
  border-bottom:0;
  overflow:visible;
}
.timeline-list.timeline-enhanced .timeline-item.reveal{
  opacity:1;
  transform:none;
  transition:none;
}
.timeline-list.timeline-enhanced .timeline-item:before{
  content:"";
  position:absolute;
  z-index:0;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:linear-gradient(90deg,rgba(62,213,255,.28),rgba(118,198,255,.54) 22%,rgba(113,177,238,.28) 72%,rgba(95,163,226,.12));
  box-shadow:0 0 12px rgba(55,202,255,.12);
  transform:scaleX(0);
  transform-origin:100% 50%;
  transition:transform .62s cubic-bezier(.76,0,.18,1);
  will-change:transform;
}
.timeline-list.timeline-enhanced .timeline-item:after{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  bottom:-5px;
  width:11px;
  height:11px;
  border:2px solid rgba(198,247,255,.92);
  border-radius:50%;
  background:#3bd8ff;
  box-shadow:0 0 0 0 rgba(59,216,255,0),0 0 19px rgba(59,216,255,.72);
  opacity:0;
  transform:scale(0) rotate(-90deg);
  transition:opacity .22s ease .48s,transform .42s cubic-bezier(.18,1.55,.32,1) .48s;
}
.timeline-list.timeline-enhanced .timeline-item>span,
.timeline-list.timeline-enhanced .timeline-item>h3,
.timeline-list.timeline-enhanced .timeline-item>p{
  position:relative;
  z-index:1;
  opacity:0;
  clip-path:inset(0 100% 0 0);
  transform:translate3d(-15px,0,0);
  will-change:opacity,transform,clip-path;
}
.timeline-list.timeline-enhanced .timeline-item>span{
  padding-top:2px;
  color:#45dcff;
  font:700 clamp(14px,1.55vw,30px)/1 "Manrope",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:0 0 18px rgba(58,214,255,.2);
  transition:opacity .3s ease .65s,transform .4s cubic-bezier(.16,1,.3,1) .65s,clip-path .48s cubic-bezier(.16,1,.3,1) .65s;
}
.timeline-list.timeline-enhanced .timeline-item:first-child>span{
  font-size:clamp(24px,2vw,36px);
  letter-spacing:-.025em;
  text-transform:none;
}
.timeline-list.timeline-enhanced .timeline-item>h3{
  color:#fff;
  font-size:clamp(20px,1.65vw,29px);
  line-height:1.2;
  letter-spacing:-.035em;
  text-shadow:0 4px 20px rgba(0,8,30,.24);
  transition:opacity .32s ease .73s,transform .45s cubic-bezier(.16,1,.3,1) .73s,clip-path .52s cubic-bezier(.16,1,.3,1) .73s;
}
.timeline-list.timeline-enhanced .timeline-item>p{
  color:rgba(191,207,229,.7);
  font-size:15px;
  line-height:1.75;
  transition:opacity .36s ease .82s,transform .5s cubic-bezier(.16,1,.3,1) .82s,clip-path .58s cubic-bezier(.16,1,.3,1) .82s;
}
.timeline-list.timeline-enhanced .timeline-item.is-built:before{transform:scaleX(1)}
.timeline-list.timeline-enhanced .timeline-item.is-built:after{
  opacity:1;
  transform:scale(1) rotate(0);
  animation:timelineNodePulse 2.7s ease-in-out 1s infinite;
}
.timeline-list.timeline-enhanced .timeline-item.is-built>span,
.timeline-list.timeline-enhanced .timeline-item.is-built>h3,
.timeline-list.timeline-enhanced .timeline-item.is-built>p{
  opacity:1;
  clip-path:inset(0 0 0 0);
  transform:translate3d(0,0,0);
}
@keyframes timelineNodePulse{
  0%,100%{box-shadow:0 0 0 0 rgba(59,216,255,0),0 0 18px rgba(59,216,255,.58);filter:brightness(1)}
  45%{box-shadow:0 0 0 8px rgba(59,216,255,.055),0 0 27px rgba(59,216,255,.86);filter:brightness(1.16)}
}

@media(max-width:900px){
  .timeline-list.timeline-enhanced .timeline-item{
    grid-template-columns:1fr;
    gap:11px;
    min-height:0;
    padding:32px 4px 34px 30px;
  }
  .timeline-list.timeline-enhanced .timeline-item>span,
  .timeline-list.timeline-enhanced .timeline-item:first-child>span{
    grid-column:1;
    padding-top:0;
    font-size:13px;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .timeline-list.timeline-enhanced .timeline-item>h3{
    grid-column:1;
    font-size:clamp(21px,6vw,27px);
  }
  .timeline-list.timeline-enhanced .timeline-item>p{
    grid-column:1;
    max-width:620px;
    font-size:14px;
    line-height:1.7;
  }
  .timeline-list.timeline-enhanced .timeline-item:after{left:3px}
}

@media(prefers-reduced-motion:reduce){
  .timeline-list.timeline-enhanced .timeline-item:before,
  .timeline-list.timeline-enhanced .timeline-item:after,
  .timeline-list.timeline-enhanced .timeline-item>span,
  .timeline-list.timeline-enhanced .timeline-item>h3,
  .timeline-list.timeline-enhanced .timeline-item>p{
    opacity:1;
    clip-path:none;
    transform:none;
    transition:none;
    animation:none;
  }
}

/* Firma Bytesoft nel footer: simbolo ufficiale e wordmark testuale. */
.footer-top .footer-brand{
  width:auto;
  min-width:278px;
  height:64px;
  padding-left:66px;
  background:url("assets/bytesoft-symbol.svg") left center/56px 56px no-repeat;
  filter:drop-shadow(0 0 12px rgba(26,144,255,.25));
  text-decoration:none;
}
.footer-top .footer-brand .footer-wordmark{
  display:grid!important;
  gap:7px;
  line-height:1;
  white-space:nowrap;
}
.footer-top .footer-brand .footer-wordmark b{
  color:#f1f7ff;
  font:700 31px/.86 "Manrope",sans-serif;
  letter-spacing:-.065em;
  text-shadow:0 2px 14px rgba(68,163,255,.12);
}
.footer-top .footer-brand .footer-wordmark small{
  color:#4fb8ff;
  font:700 9px/1 "Space Grotesk","Manrope",sans-serif;
  letter-spacing:.42em;
}
@media(max-width:900px){
  .footer-top{flex-direction:column;gap:23px}
  .footer-top .footer-brand{
    display:flex!important;
    min-width:246px;
    height:58px;
    padding-left:58px;
    background-size:50px 50px;
  }
  .footer-top .footer-brand .footer-wordmark b{font-size:27px}
  .footer-top .footer-brand .footer-wordmark small{font-size:8px;letter-spacing:.39em}
}

.page-hero h1 em.hero-nowrap{display:inline-block;white-space:nowrap;font-size:clamp(38px,4.2vw,66px);letter-spacing:-.06em}

/* Hero interne: gradiente pulito, senza grana sovrapposta. */
.inner-page-clean-hero .noise{display:none}

/* Chi siamo: monitor disegnato e accensione video. */
.about-video-hero{
  min-height:clamp(690px,86svh,900px);
  grid-template-columns:minmax(330px,.72fr) minmax(520px,1.28fr);
  align-items:start;
  gap:clamp(42px,5vw,90px);
  padding-top:138px;
  padding-bottom:72px;
  background:
    radial-gradient(circle at 78% 47%,rgba(29,119,255,.21),transparent 33%),
    radial-gradient(circle at 52% 112%,rgba(42,214,255,.08),transparent 32%),
    #050817;
}
.about-video-hero:before{
  background:
    radial-gradient(ellipse at 78% 48%,rgba(64,220,255,.085),transparent 48%),
    linear-gradient(125deg,transparent 44%,rgba(64,220,255,.035));
}
.about-video-hero>.hero-grid{display:none}
.about-video-hero .page-hero-copy{align-self:start;max-width:610px}
.about-video-hero .page-hero-aside{max-width:510px;margin:34px 0 0}
.about-video-hero .page-hero-number{opacity:.42}
.about-monitor{
  --monitor-line:#64e5ff;
  position:relative;
  z-index:3;
  width:min(100%,940px);
  padding:13px;
  align-self:start;
  margin-top:13px;
  opacity:0;
  transform:translate3d(0,26px,0) scale(.97);
  filter:blur(8px);
  transition:opacity .65s .2s ease,transform .9s .2s cubic-bezier(.16,1,.3,1),filter .7s .2s ease;
}
body.ready .about-monitor{opacity:1;transform:none;filter:none}
.monitor-shell{
  position:relative;
  padding:12px 12px 10px;
  overflow:hidden;
  border:1px solid rgba(119,208,255,.13);
  border-radius:25px;
  background:linear-gradient(145deg,rgba(17,47,91,.72),rgba(3,12,31,.94) 58%,rgba(5,21,49,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 36px rgba(54,163,255,.055),0 30px 80px rgba(0,2,16,.58);
  opacity:.34;
  transition:opacity .7s 2.1s ease,box-shadow .8s 2.1s ease;
}
body.ready .monitor-shell{opacity:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.13),inset 0 0 48px rgba(54,163,255,.08),0 34px 90px rgba(0,2,16,.65),0 0 45px rgba(42,174,255,.08)}
.monitor-trace{position:absolute;z-index:5;inset:0;pointer-events:none}
.monitor-trace i{position:absolute;display:block;background:linear-gradient(90deg,#2084ff,var(--monitor-line));box-shadow:0 0 10px rgba(100,229,255,.9),0 0 28px rgba(32,132,255,.42);opacity:0}
.monitor-trace i:nth-child(1){left:25px;right:25px;top:0;height:2px;transform:scaleX(0);transform-origin:left}
.monitor-trace i:nth-child(2){right:0;top:25px;bottom:25px;width:2px;transform:scaleY(0);transform-origin:top;background:linear-gradient(180deg,var(--monitor-line),#2084ff)}
.monitor-trace i:nth-child(3){left:25px;right:25px;bottom:0;height:2px;transform:scaleX(0);transform-origin:right}
.monitor-trace i:nth-child(4){left:0;top:25px;bottom:25px;width:2px;transform:scaleY(0);transform-origin:bottom;background:linear-gradient(180deg,#2084ff,var(--monitor-line))}
body.ready .monitor-trace i:nth-child(1){animation:monitorLineX .48s .45s cubic-bezier(.65,0,.35,1) forwards}
body.ready .monitor-trace i:nth-child(2){animation:monitorLineY .38s .93s cubic-bezier(.65,0,.35,1) forwards}
body.ready .monitor-trace i:nth-child(3){animation:monitorLineX .48s 1.31s cubic-bezier(.65,0,.35,1) forwards}
body.ready .monitor-trace i:nth-child(4){animation:monitorLineY .38s 1.79s cubic-bezier(.65,0,.35,1) forwards}
.monitor-screen{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid rgba(114,206,255,.18);
  border-radius:15px;
  background:#01040d;
  box-shadow:inset 0 0 55px rgba(38,128,255,.08);
}
.monitor-screen:after{
  content:"";
  position:absolute;
  z-index:4;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 24%,transparent 76%,rgba(73,188,255,.04));
  transition:opacity .7s;
}
.about-monitor.is-playing .monitor-screen:after{opacity:1}
.monitor-screen video{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:contain;background:#01040d;opacity:0;transform:scale(.992);filter:brightness(1.8) saturate(.65);will-change:opacity,transform,filter}
.about-monitor.is-playing .monitor-screen video{animation:monitorVideoReveal 1s .34s cubic-bezier(.16,1,.3,1) forwards}
.monitor-power-flash{position:absolute;z-index:3;left:50%;top:50%;width:12%;height:2px;border-radius:99px;background:#e6fbff;box-shadow:0 0 10px #fff,0 0 28px #57dfff,0 0 72px #1678ff;opacity:0;transform:translate(-50%,-50%) scaleX(.12)}
.about-monitor.is-playing .monitor-power-flash{animation:monitorPowerOn .86s cubic-bezier(.76,0,.24,1) forwards}
.monitor-meta{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(70px,1fr);align-items:center;gap:13px;padding:9px 8px 0;color:rgba(184,215,244,.46);font:600 8px/1 "Manrope";letter-spacing:.15em;text-transform:uppercase}
.monitor-signature{display:flex;align-items:center;gap:8px;white-space:nowrap}.monitor-signature i{width:5px;height:5px;border-radius:50%;background:#40dcff;box-shadow:0 0 8px #40dcff;animation:monitorLed 2s ease-in-out infinite}.monitor-meta>b{justify-self:end;color:rgba(100,225,255,.62);font:inherit;white-space:nowrap}
.monitor-controls{display:flex;align-items:center;justify-content:center;gap:5px}
.monitor-control{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:55px;height:25px;padding:0 9px;border:1px solid rgba(105,202,255,.16);border-radius:7px;background:linear-gradient(145deg,rgba(22,62,108,.54),rgba(5,20,46,.78));color:rgba(220,240,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 3px 8px rgba(0,3,18,.24);font:700 7px/1 "Manrope";letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,border-color .2s ease,color .2s ease,background .2s ease,box-shadow .2s ease}
.monitor-control:hover,.monitor-control:focus-visible{color:#fff;border-color:rgba(100,225,255,.52);outline:none;transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 0 15px rgba(54,184,255,.16)}
.monitor-control.is-active{color:#eaffff;border-color:rgba(100,225,255,.55);background:linear-gradient(145deg,rgba(20,126,180,.62),rgba(8,57,107,.78));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 13px rgba(64,220,255,.19)}
.monitor-control>i{position:relative;display:block;width:9px;height:9px;flex:0 0 9px}
.monitor-play>i:before{content:"";position:absolute;left:2px;top:1px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid currentColor}
.monitor-pause>i:before,.monitor-pause>i:after{content:"";position:absolute;top:1px;width:2px;height:8px;border-radius:1px;background:currentColor}.monitor-pause>i:before{left:1px}.monitor-pause>i:after{right:1px}
.monitor-replay>i:before{content:"↻";position:absolute;inset:-2px 0 0;font:700 13px/1 "Manrope";letter-spacing:0;text-transform:none}
@keyframes monitorLineX{0%{opacity:1;transform:scaleX(0)}100%{opacity:1;transform:scaleX(1)}}
@keyframes monitorLineY{0%{opacity:1;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}
@keyframes monitorPowerOn{0%{opacity:0;transform:translate(-50%,-50%) scaleX(.08) scaleY(1)}18%{opacity:1}48%{width:82%;height:2px;opacity:1;transform:translate(-50%,-50%) scaleX(1) scaleY(1)}76%{width:100%;height:100%;opacity:.52;transform:translate(-50%,-50%) scaleX(1) scaleY(1)}100%{width:100%;height:100%;opacity:0;transform:translate(-50%,-50%) scaleX(1) scaleY(1)}}
@keyframes monitorVideoReveal{0%{opacity:0;transform:scale(.992);filter:brightness(1.8) saturate(.65)}100%{opacity:1;transform:scale(1);filter:none}}
@keyframes monitorLed{50%{opacity:.35;box-shadow:0 0 3px #40dcff}}
@media(max-width:1050px){.about-video-hero{grid-template-columns:minmax(300px,.75fr) minmax(430px,1.25fr);gap:34px}.about-video-hero h1{font-size:clamp(46px,5.6vw,68px)}}
@media(max-width:900px){
  .about-video-hero{min-height:auto;grid-template-columns:1fr;align-content:center;gap:42px;padding:132px 24px 58px}
  .about-video-hero .page-hero-copy{max-width:680px}
  .about-video-hero .page-hero-aside{margin-top:24px;line-height:1.65}
  .about-monitor{width:100%;max-width:760px;justify-self:center;padding:10px;margin-top:0}
  .monitor-shell{padding:9px 9px 8px;border-radius:19px}
  .monitor-screen{border-radius:11px}
  .monitor-trace i:nth-child(1),.monitor-trace i:nth-child(3){left:19px;right:19px}
  .monitor-trace i:nth-child(2),.monitor-trace i:nth-child(4){top:19px;bottom:19px}
}
@media(max-width:560px){
  .about-video-hero{gap:31px;padding:112px 16px 44px}
  .about-video-hero h1{font-size:clamp(43px,13vw,60px);line-height:.96}
  .about-video-hero .page-hero-aside{font-size:13px;line-height:1.58;margin-top:19px}
  .about-monitor{padding:7px}
  .monitor-shell{padding:6px 6px 7px;border-radius:14px}
  .monitor-screen{border-radius:8px}
  .monitor-meta{grid-template-columns:1fr auto;gap:7px;padding:7px 4px 0;font-size:6px;letter-spacing:.11em}
  .monitor-signature{display:none}
  .monitor-controls{justify-content:start;gap:4px}
  .monitor-control{min-width:29px;width:29px;height:24px;padding:0;border-radius:6px}
  .monitor-control span{display:none}
  .monitor-trace i:nth-child(1),.monitor-trace i:nth-child(3){left:14px;right:14px}
  .monitor-trace i:nth-child(2),.monitor-trace i:nth-child(4){top:14px;bottom:14px}
}
@media(prefers-reduced-motion:reduce){
  .about-monitor,.monitor-shell{opacity:1;transform:none;filter:none;transition:none}
  .monitor-trace{display:none}
  .monitor-screen video{opacity:1;transform:none;filter:none}
  .monitor-power-flash{display:none}
}

/* Contatti: hero editoriale con illustrazione tridimensionale. */
.contact-visual-hero{
  min-height:clamp(520px,74svh,680px);
  padding:108px clamp(90px,10vw,160px) 46px;
  grid-template-columns:minmax(0,1.32fr) minmax(340px,.68fr);
  grid-template-rows:minmax(0,1fr);
  column-gap:clamp(62px,6vw,96px);
  align-items:center;
  background:#030817;
  isolation:isolate;
}
.contact-visual-hero:before{
  background:
    radial-gradient(circle at 82% 42%,rgba(24,119,255,.24),transparent 40%),
    linear-gradient(112deg,#030817 0%,#06112b 56%,#08264f 100%);
}
.contact-visual-hero>.hero-grid{display:none}
.contact-hero-copy{
  grid-column:2;
  grid-row:1;
  align-self:start;
  max-width:560px;
  padding-top:16px;
}
.contact-visual-hero .contact-hero-copy h1{font-size:clamp(48px,4vw,62px);margin-top:18px;margin-bottom:0}
.contact-hero-art{
  position:absolute;
  left:clamp(160px,12.5vw,200px);
  top:50px;
  z-index:2;
  width:min(45vw,760px);
  margin:0;
  filter:drop-shadow(0 30px 42px rgba(0,6,28,.24));
}
.contact-hero-art img{
  display:block;
  width:114%;
  max-width:none;
  height:auto;
  margin-left:-7%;
}
.contact-hero-aside{
  position:absolute;
  left:clamp(30px,3.3vw,52px);
  bottom:76px;
  width:min(46vw,720px);
  margin:0;
  font-size:13px;
}
.contact-visual-hero .page-hero-number{opacity:.4}

@media(max-width:900px){
  .contact-visual-hero{
    min-height:auto;
    padding:128px 24px 58px;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    gap:26px;
    align-items:start;
  }
  .contact-hero-copy{grid-column:1;grid-row:1;max-width:660px}
  .contact-visual-hero .contact-hero-copy h1{margin-top:20px}
  .contact-hero-art{position:relative;left:auto;top:auto;grid-column:1;grid-row:2;width:min(100%,720px);justify-self:center}
  .contact-hero-art img{width:116%;margin-left:-8%}
  .contact-hero-aside{position:relative;left:auto;bottom:auto;grid-column:1;grid-row:3;width:auto;max-width:620px;font-size:13px;line-height:1.65}
}

@media(max-width:560px){
  .contact-visual-hero{padding:112px 16px 42px;gap:20px}
  .contact-visual-hero .contact-hero-copy h1{font-size:clamp(40px,12.6vw,56px);line-height:.98}
  .contact-hero-art{width:calc(100% + 18px);margin-left:-9px}
  .contact-hero-art img{width:120%;margin-left:-10%}
  .contact-hero-aside{font-size:12px;line-height:1.6}
}

/* Brand scenes: immagini editoriali integrate nel linguaggio premium Bytesoft. */
.result-card-vision{
  position:relative;
  min-height:clamp(430px,38vw,570px);
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:#06172f;
  border:1px solid rgba(25,119,255,.22);
  box-shadow:0 28px 70px rgba(7,22,49,.18),inset 0 1px 0 rgba(255,255,255,.12);
}
.result-card-vision:before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(180deg,transparent 0%,transparent 52%,rgba(3,11,30,.16) 61%,rgba(3,11,30,.76) 78%,rgba(3,11,30,.94) 100%);
}
.result-card-vision:after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 78% 18%,rgba(64,220,255,.17),transparent 37%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.result-card-vision img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 40%;
  filter:saturate(.96) contrast(1.03) brightness(1.02);
  transform:scale(1.015);
  transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter .8s ease;
}
.result-card-vision:hover img{transform:scale(1.055);filter:saturate(1.02) contrast(1.04) brightness(1.04)}
.result-card-vision figcaption{
  position:absolute;
  z-index:3;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(28px,3vw,42px);
}
.result-card-vision strong{margin-top:18px;max-width:390px;font-size:clamp(18px,1.45vw,22px);line-height:1.22;letter-spacing:-.035em;overflow-wrap:break-word;text-wrap:balance}

.services-photo-cta{
  min-height:clamp(680px,78svh,820px);
  align-items:flex-start;
  padding-left:8vw;
  text-align:left;
  background:#020817;
  isolation:isolate;
}
.services-photo-cta:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-2%;
  background-image:radial-gradient(circle at 78% 48%,rgba(36,173,255,.2),transparent 30%),url("assets/brand-scenes/fermata-notturna.webp");
  background-size:100% 100%,auto 118%;
  background-position:center,80% 45%;
  background-repeat:no-repeat;
  filter:saturate(.9) contrast(1.04) brightness(.93);
}
.services-photo-cta:after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,rgba(2,8,23,.99) 0%,rgba(2,8,23,.94) 35%,rgba(2,8,23,.7) 57%,rgba(2,8,23,.22) 78%,rgba(2,8,23,.32) 100%),linear-gradient(180deg,rgba(2,8,23,.08),rgba(2,8,23,.48));
}
.services-photo-cta .cta-canvas,.services-photo-cta .cta-orb{display:none}
.services-photo-cta>*:not(canvas):not(.cta-orb){z-index:2}
.services-photo-cta h2{max-width:760px;color:#fff;text-shadow:0 4px 24px rgba(0,4,18,.45)}
.services-photo-cta>p:not(.eyebrow){max-width:520px;color:rgba(220,235,250,.68);line-height:1.7}
@media(max-width:900px){
  .result-card-vision{min-height:520px}
  .services-photo-cta{min-height:700px;padding:110px 24px;justify-content:flex-end}
  .services-photo-cta:before{background-size:100% 100%,auto 108%;background-position:center,center 43%}
  .services-photo-cta:after{background:linear-gradient(180deg,rgba(2,8,23,.42),rgba(2,8,23,.78) 50%,rgba(2,8,23,.97) 82%)}
}
@media(max-width:560px){
  .result-card-vision{min-height:470px;margin-top:32px}
  .result-card-vision figcaption{padding:26px}
  .result-card-vision strong{font-size:23px}
  .services-photo-cta{min-height:650px;padding:94px 24px 70px}
  .services-photo-cta:before{background-size:100% 100%,auto 102%;background-position:center,center 42%}
  .services-photo-cta h2{font-size:clamp(39px,12vw,54px)}
}

/* Chi siamo: identità panoramica e nuovi orizzonti. */
.identity-horizons{
  position:relative;
  min-height:clamp(720px,78svh,900px);
  overflow:hidden;
  isolation:isolate;
  background:#dceaf4 url("assets/brand-scenes/mongolfiera-chi-siamo.png") center/cover no-repeat;
}
.identity-horizons:after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(241,247,251,.97) 0%,rgba(241,247,251,.92) 26%,rgba(238,246,251,.56) 44%,rgba(231,242,249,.08) 57%,rgba(231,242,249,0) 66%);
}
.identity-horizons .story-grid{position:relative;z-index:1;align-items:start}
.identity-horizons h2{max-width:760px;color:#050817;text-wrap:balance;text-shadow:0 2px 24px rgba(255,255,255,.72)}
.identity-horizons h2 em{display:block;color:#126fba;font-family:"DM Sans",sans-serif;font-style:normal;font-weight:500;letter-spacing:-.055em}
.identity-horizons .lead{max-width:690px;color:#2f4662;text-shadow:0 1px 14px rgba(255,255,255,.82)}
@media(max-width:1100px){
  .identity-horizons{background-position:58% center}
  .identity-horizons:after{background:linear-gradient(90deg,rgba(241,247,251,.97) 0%,rgba(241,247,251,.9) 42%,rgba(236,245,250,.38) 62%,rgba(232,243,249,0) 74%)}
}
@media(max-width:900px){
  .identity-horizons{min-height:820px;background-position:68% center}
  .identity-horizons:after{background:linear-gradient(180deg,rgba(241,247,251,.98) 0%,rgba(241,247,251,.92) 47%,rgba(236,245,250,.3) 68%,rgba(6,31,57,0) 79%)}
  .identity-horizons .story-grid{display:block}
  .identity-horizons-copy{max-width:700px;margin-top:34px}
}
@media(max-width:560px){
  .identity-horizons{min-height:820px;padding-top:86px;background-color:#edf6fb;background-size:auto 66%;background-position:88% 100%;background-repeat:no-repeat}
  .identity-horizons:after{background:linear-gradient(180deg,rgba(241,247,251,.99) 0%,rgba(241,247,251,.95) 57%,rgba(235,244,250,.5) 69%,rgba(4,26,50,0) 79%)}
  .identity-horizons h2{font-size:clamp(42px,12vw,58px);line-height:.98}
  .identity-horizons h2 em{margin-top:7px;color:#0f69b2}
  .identity-horizons .lead{font-size:20px;line-height:1.48}
}

/* Home: CTA panoramica con il cielo Bytesoft. */
.home-sky-cta{
  min-height:clamp(660px,76svh,800px);
  align-items:flex-start;
  padding-left:8vw;
  text-align:left;
  color:#fff;
  background:#0b4f8d;
  isolation:isolate;
}
.home-sky-cta:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:url("assets/brand-scenes/cielo-bytesoft.webp") center/cover no-repeat;
}
.home-sky-cta:after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,rgba(1,20,57,.8) 0%,rgba(2,38,82,.64) 38%,rgba(5,64,113,.27) 63%,rgba(10,79,134,.06) 100%),linear-gradient(180deg,rgba(0,24,62,.14),rgba(0,27,67,.3));
}
.home-sky-cta .cta-canvas,.home-sky-cta .cta-orb{display:none}
.home-sky-cta>*:not(canvas):not(.cta-orb){position:relative;z-index:2}
.home-sky-cta h2{max-width:900px;color:#fff;text-shadow:0 5px 30px rgba(0,20,58,.55)}
.home-sky-cta h2 em{color:#7be6ff;text-shadow:0 4px 22px rgba(0,62,113,.45)}
.home-sky-cta .eyebrow{color:rgba(255,255,255,.88);text-shadow:0 2px 10px rgba(0,30,70,.5)}
.home-sky-cta>p:not(.eyebrow){max-width:560px;color:rgba(240,249,255,.88);line-height:1.7;text-shadow:0 2px 14px rgba(0,30,70,.55)}
@media(max-width:900px){
  .home-sky-cta{min-height:680px;padding:110px 24px 74px;justify-content:flex-end}
  .home-sky-cta:before{background-position:48% center}
  .home-sky-cta:after{background:linear-gradient(180deg,rgba(1,28,68,.12),rgba(1,35,78,.38) 42%,rgba(1,22,57,.88) 82%,rgba(1,16,44,.96))}
}
@media(max-width:560px){
  .home-sky-cta{min-height:650px;padding:92px 24px 66px}
  .home-sky-cta:before{background-position:30% center}
  .home-sky-cta h2{font-size:clamp(38px,11.6vw,52px);line-height:1}
}

/* Footer istituzionale: sedi e contatti. */
.footer-company-info{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:clamp(12px,1.35vw,22px);
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  background:none;
}
.footer-info-item{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:0;
  margin:0;
  padding:0;
  background:none;
  color:#647085;
  font-style:normal;
  white-space:nowrap;
}
.footer-info-item i{
  display:grid;
  width:18px;
  height:18px;
  flex:0 0 18px;
  place-items:center;
  border:1px solid rgba(79,184,255,.27);
  border-radius:6px;
  background:rgba(32,130,220,.1);
  color:#62c9ff;
  box-shadow:none;
}
.footer-info-item i svg{
  width:10px;
  height:10px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-info-item span,.footer-info-item p,.footer-info-item a{
  display:inline;
  margin:0;
  font:600 8px/1.35 "Manrope",sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.footer-info-item span{color:#52637a}
.footer-info-item p,.footer-info-item a{
  color:#78869a;
}
.footer-info-item a{transition:color .25s ease}
.footer-info-item a:hover{color:#62c9ff}
.site-footer .footer-bottom .footer-company-info{display:flex;gap:clamp(12px,1.35vw,22px);color:#647085}
.site-footer .footer-bottom .footer-info-item{display:flex;flex-direction:row;gap:6px;color:#647085}
.site-footer .footer-bottom{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(18px,2vw,36px);
  padding-top:0;
  border:0;
}
@media(max-width:900px){
  .site-footer .footer-bottom{grid-template-columns:1fr;align-items:start;gap:18px;padding-top:2px}
  .site-footer .footer-bottom .footer-company-info{display:grid;grid-template-columns:1fr;justify-items:start;gap:11px}
  .footer-info-item{white-space:normal}
}
