:root {
  --blue-950:#031226; --blue-900:#071A33; --blue-800:#0B274B; --blue-700:#123A63; --blue-500:#0B5CFF;
  --yellow:#FFD233; --yellow-soft:#FFE98A; --cyan:#25D0B4; --white:#fff; --muted:#B9C7D8;
  --glass:rgba(255,255,255,.075); --line:rgba(255,255,255,.14); --shadow:0 28px 80px rgba(0,0,0,.34);
  --font:'Inter',system-ui,-apple-system,Segoe UI,sans-serif; --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0} html{scroll-behavior:smooth} body{font-family:var(--font);background:var(--blue-950);color:var(--white);line-height:1.65;overflow-x:hidden} body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--mx,50%) var(--my,20%),rgba(37,208,180,.08),transparent 40%),radial-gradient(800px circle at 15% 15%,rgba(11,92,255,.18),transparent 45%);z-index:-2} a{color:inherit;text-decoration:none} img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:20px;top:20px;z-index:2000;background:var(--yellow);color:var(--blue-950);padding:10px 14px;border-radius:10px}
.navbar{position:fixed;inset:0 0 auto 0;z-index:1000;padding:16px 0;background:rgba(255,255,255,.98) !important;backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.12);transition:.35s var(--ease)}.navbar.scrolled{background:white !important;box-shadow:0 18px 50px rgba(0,0,0,.12)}.nav-container{display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-size:1.65rem;font-weight:900;letter-spacing:-.04em}.logo span{color:var(--yellow)}.nav-links{display:flex;align-items:center;gap:28px;list-style:none}.nav-links a{font-weight:700;font-size:.93rem;color:#000;position:relative}.nav-links a::after{content:"";position:absolute;left:0;bottom:-7px;height:2px;width:0;background:linear-gradient(90deg,var(--blue-500),var(--yellow));transition:.25s}.nav-links a:hover::after,.nav-links a.active::after{width:100%}.menu-toggle{display:none;background:rgba(11,92,255,.08);border:1px solid rgba(11,92,255,.25);border-radius:12px;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span{width:20px;height:2px;background:#0B5CFF;border-radius:2px;transition:.25s}.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:13px 24px;font-weight:900;border:1px solid transparent;transition:.25s var(--ease);cursor:pointer}.btn-primary{background:var(--yellow);color:var(--blue-950);box-shadow:0 16px 34px rgba(255,210,51,.22)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(255,210,51,.32)}.btn-outline{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.045);color:white}.btn-outline:hover{background:white;color:var(--blue-950);transform:translateY(-3px)}.btn-sm{padding:10px 16px;font-size:.86rem;margin-top:auto;width:max-content}
.hero{min-height:100vh;display:grid;align-items:center;position:relative;overflow:hidden;padding:118px 0 70px}.hero::after,.morph{content:"";position:absolute;filter:blur(.2px);opacity:.85;border-radius:42% 58% 70% 30%/30% 45% 55% 70%;animation:morph 12s ease-in-out infinite}.hero::after{right:-110px;top:130px;width:360px;height:360px;background:linear-gradient(135deg,rgba(11,92,255,.35),rgba(37,208,180,.08));z-index:-1}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}.badge{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:999px;padding:9px 14px;color:#DCEBFF;font-weight:800;font-size:.86rem}.badge::before{content:"";width:8px;height:8px;border-radius:99px;background:var(--yellow);box-shadow:0 0 20px var(--yellow)}h1{font-size:clamp(2.55rem,5.8vw,5.65rem);line-height:.98;letter-spacing:-.07em;margin:22px 0}.lead{font-size:1.14rem;color:var(--muted);max-width:640px}.highlight{color:var(--yellow)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.promise{margin-top:28px;padding:18px 20px;border-left:3px solid var(--yellow);background:rgba(255,255,255,.055);border-radius:0 18px 18px 0;color:#E9F3FF}.hero-stage{min-height:560px;position:relative;border:1px solid rgba(255,255,255,.12);border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.035));box-shadow:var(--shadow);overflow:hidden}.network-canvas{position:absolute;inset:0;width:100%;height:100%}.figure-strip{position:absolute;left:28px;right:28px;bottom:24px;padding:18px;border:1px solid var(--line);border-radius:24px;background:rgba(3,18,38,.65);backdrop-filter:blur(12px);display:grid;grid-template-columns:1fr 1fr;gap:14px}.mini-figure{display:flex;gap:12px;align-items:center}.mini-figure img{width:58px;height:58px;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.2)}.mini-figure b{display:block}.mini-figure small{color:var(--muted)}.orbit-label{position:absolute;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid var(--line);font-weight:900;box-shadow:0 14px 34px rgba(0,0,0,.22);animation:float 5s ease-in-out infinite}.ol1{top:52px;left:48px}.ol2{top:132px;right:38px;animation-delay:.7s}.ol3{bottom:158px;left:56px;animation-delay:1.2s}.ol4{bottom:142px;right:54px;animation-delay:1.8s}.section{padding:110px 0;position:relative}.section-title{text-align:center;max-width:820px;margin:0 auto 54px}.eyebrow{color:var(--yellow);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:900}.section-title h2,.page-title h1{font-size:clamp(2rem,4.3vw,3.35rem);line-height:1.08;letter-spacing:-.045em;margin:10px 0 14px}.section-title p,.page-title p{color:var(--muted);font-size:1.06rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:var(--glass);border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:0 18px 50px rgba(0,0,0,.18);transition:.35s var(--ease);position:relative;overflow:hidden}.card::before{content:"";position:absolute;inset:auto -40% -60% -40%;height:170px;background:radial-gradient(circle,rgba(255,210,51,.17),transparent 65%);opacity:0;transition:.35s}.card:hover{transform:translateY(-9px);border-color:rgba(255,210,51,.35)}.card:hover::before{opacity:1}.icon{font-size:2.25rem;margin-bottom:18px}.card h3{font-size:1.32rem;margin-bottom:10px}.card p,.card li{color:var(--muted)}.dual-band{background:linear-gradient(90deg,rgba(11,92,255,.11),rgba(37,208,180,.07));border-block:1px solid var(--line)}.identity-panel{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.identity{min-height:320px}.identity.blue{background:linear-gradient(160deg,rgba(11,92,255,.2),rgba(255,255,255,.045))}.identity.yellow{background:linear-gradient(160deg,rgba(255,210,51,.18),rgba(255,255,255,.045))}.service-link{display:inline-flex;margin-top:18px;color:var(--yellow);font-weight:900}.cta{padding:80px 0}.cta-box{background:linear-gradient(135deg,rgba(11,92,255,.34),rgba(37,208,180,.10));border:1px solid rgba(255,255,255,.16);border-radius:34px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:30px;overflow:hidden;position:relative}.cta-box h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.05;letter-spacing:-.045em}.page-hero{padding:150px 0 55px;position:relative}.page-title{max-width:850px}.blue-bg-page{background:linear-gradient(180deg,#061A3B 0%,#0B5CFF 48%,#071A33 100%)}.blue-bg-page .navbar{background:rgba(255,255,255,.98) !important}.blue-bg-page .navbar.scrolled{background:white !important}.story-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:center}.story-image{border-radius:30px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:rgba(255,255,255,.06)}.concept-list{margin-top:18px;display:grid;gap:10px}.concept-list li{list-style:none;padding:10px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px}.concept-list li::before{content:'✓';color:var(--yellow);font-weight:900;margin-right:8px}.connection-visual{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.node{padding:13px 20px;border-radius:999px;font-weight:950;border:1px solid var(--line)}.node-blue{background:var(--blue-500)}.node-yellow{background:var(--yellow);color:var(--blue-950)}.node-center{background:rgba(255,255,255,.1)}.dash{width:88px;height:4px;background:linear-gradient(90deg,var(--blue-500),var(--yellow));border-radius:4px}.services-main{padding:145px 0 100px}.service-group{margin-bottom:64px}.group-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.group-head h2{font-size:clamp(1.65rem,3.2vw,2.55rem);letter-spacing:-.035em}.group-head p{color:var(--muted);max-width:520px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.flip-card{height:330px;perspective:1100px}.flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .72s var(--ease)}.flip-card:hover .flip-inner,.flip-card:focus-within .flip-inner{transform:rotateY(180deg)}.flip-front,.flip-back{position:absolute;inset:0;backface-visibility:hidden;border:1px solid var(--line);border-radius:26px;padding:25px;background:rgba(255,255,255,.07);box-shadow:0 18px 50px rgba(0,0,0,.16);display:flex;flex-direction:column}.flip-back{transform:rotateY(180deg);background:linear-gradient(160deg,rgba(11,92,255,.2),rgba(37,208,180,.08))}.chip{width:max-content;padding:6px 11px;border-radius:99px;font-size:.74rem;font-weight:950;margin-bottom:16px}.chip.digital{background:rgba(11,92,255,.22);color:#AFCBFF}.chip.physical{background:rgba(255,210,51,.2);color:var(--yellow-soft)}.chip.strategic{background:rgba(37,208,180,.18);color:#A9FFF1}.hint{margin-top:auto;color:var(--yellow);font-size:.85rem;font-weight:900}.flip-back ul{margin:14px 0 18px;padding-left:18px}.solution-map{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin-top:38px}.map-node{text-align:center;padding:16px 10px;border-radius:20px;border:1px solid var(--line);font-weight:900;background:rgba(255,255,255,.06)}.map-node.phys{border-color:rgba(255,210,51,.45);color:var(--yellow)}.map-node.digi{border-color:rgba(11,92,255,.58);color:#AFCBFF}.case-card{display:flex;flex-direction:column;gap:14px}.case-tag{color:var(--yellow);font-weight:950}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative}.step{text-align:center}.step-number{width:58px;height:58px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:var(--blue-900);border:3px solid var(--blue-500);font-weight:950;transition:.25s}.step:hover .step-number{background:var(--yellow);border-color:var(--yellow);color:var(--blue-950)}.contact-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:40px;align-items:start}.info-card{display:flex;gap:16px;margin-top:22px}.info-card .icon{margin:0;color:var(--yellow)}.form{display:grid;gap:16px}.form label{font-weight:900;font-size:.9rem}.form input,.form select,.form textarea{width:100%;margin-top:7px;padding:14px 15px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:white;font:inherit}.form select option{color:var(--blue-950)}.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 4px rgba(255,210,51,.15)}.connect-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.footer{border-top:1px solid var(--line);padding:34px 0;color:var(--muted);font-size:.92rem}.footer-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.particles{position:fixed;inset:0;pointer-events:none;z-index:-1}.particle{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--cyan);opacity:.45;animation:particle 10s linear infinite}.fade-up{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.fade-up.visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}@keyframes float{50%{transform:translateY(-16px)}}@keyframes morph{50%{border-radius:65% 35% 35% 65%/55% 65% 35% 45%;transform:rotate(8deg) scale(1.06)}}@keyframes particle{from{transform:translateY(110vh) translateX(0)}to{transform:translateY(-10vh) translateX(70px)}}
@media(max-width:1050px){.hero-grid,.story-layout,.contact-grid,.identity-panel{grid-template-columns:1fr}.hero-stage{min-height:470px}.services-grid{grid-template-columns:repeat(2,1fr)}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.solution-map,.timeline{grid-template-columns:repeat(2,1fr)}.cta-box{align-items:flex-start;flex-direction:column}.nav-cta{display:none}}
@media(max-width:760px){.container{width:min(100% - 30px,1180px)}.menu-toggle{display:flex}.nav-links{position:absolute;top:calc(100% + 1px);left:15px;right:15px;display:grid;gap:0;padding:12px;background:white;border:1px solid rgba(11,92,255,.15);border-radius:18px;transform:translateY(-12px);opacity:0;pointer-events:none;box-shadow:0 12px 32px rgba(0,0,0,.08)}.nav-links.open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-links a{display:block;padding:12px;color:#000}.nav-links a::after{display:none}.hero{text-align:center}.lead{margin:auto}.hero-actions{justify-content:center}.hero-stage{min-height:430px}.figure-strip{grid-template-columns:1fr}.grid-2,.grid-3,.grid-4,.services-grid,.connect-row,.solution-map,.timeline{grid-template-columns:1fr}.group-head{display:block}.section{padding:78px 0}.page-hero{padding-top:125px}.dash{display:none}.btn{width:100%}.figure-strip{left:16px;right:16px}.orbit-label{display:none}.flip-card{height:310px}}
.logo{display:inline-flex;align-items:center;width:190px;height:64px;letter-spacing:0}.logo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.18))}@media(max-width:760px){.logo{width:154px;height:52px}}


/* ================= PRODUCTION PATCH v1.1 ================= */
.hidden-field {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.form-status {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: var(--muted, #D9E2EC);
}
.form-status.success { border-color: rgba(37,208,180,.55); color: #A5FFF0; }
.form-status.error { border-color: rgba(255,210,51,.6); color: var(--yellow, #FFD233); }
.map-card {
  padding: 34px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(11,92,255,.16), rgba(255,210,51,.08));
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}
.map-card p { max-width: 760px; color: var(--muted, #D9E2EC); margin-bottom: 20px; }
.compact-section { padding-top: 40px; }
:focus-visible {
  outline: 3px solid var(--yellow, #FFD233);
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
  .particles, .particle, .network-canvas { display: none !important; }
  .fade-up { opacity: 1 !important; transform: none !important; }
  .card:hover, .service-card:hover, .flip-card:hover .card-inner { transform: none !important; }
}

.proof-section .stats-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:22px; }
.proof-section strong { display:block; font-size: clamp(2rem, 6vw, 4rem); color: var(--yellow, #FFD233); line-height:1; margin-bottom:12px; }
.proof-section span { color: var(--muted, #D9E2EC); }
@media (max-width: 760px) { .proof-section .stats-grid { grid-template-columns: 1fr; } }

/* =========================================================
   v1.1.1 — Unified About-style background applied site-wide
   Background only: blue depth gradient + subtle blueprint grid
   ========================================================= */
.blue-bg-page {
  background:
    radial-gradient(860px circle at 86% 30%, rgba(37, 208, 180, .11), transparent 44%),
    linear-gradient(180deg, #061A3B 0%, #0B5CFF 48%, #071A33 100%) !important;
  background-attachment: fixed;
}

.blue-bg-page::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 72px 72px, 72px 72px;
  mask-image: linear-gradient(to bottom, transparent, black 12%, black 82%, transparent);
  opacity: .58;
}

.blue-bg-page .navbar {
  background: rgba(4, 31, 76, .72);
}

.blue-bg-page .hero,
.blue-bg-page .page-hero,
.blue-bg-page .services-main,
.blue-bg-page .contact-main,
.blue-bg-page .section,
.blue-bg-page .about-main {
  position: relative;
  isolation: isolate;
}

.blue-bg-page .hero::before,
.blue-bg-page .page-hero::before,
.blue-bg-page .services-main::before,
.blue-bg-page .contact-main::before,
.blue-bg-page .section::before,
.blue-bg-page .about-main::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(640px circle at 88% 12%, rgba(11,92,255,.16), transparent 50%);
  opacity: .72;
}

@media (max-width: 760px) {
  .blue-bg-page {
    background-attachment: scroll;
  }
  .blue-bg-page::after {
    background-size: 56px 56px, 56px 56px;
    opacity: .42;
  }
}

/* Shared character placements */
.character-feature {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 330px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 28%, rgba(255,210,51,.22), transparent 38%),
    radial-gradient(circle at 80% 72%, rgba(37,208,180,.14), transparent 36%),
    rgba(3,18,38,.44);
  box-shadow: 0 28px 80px rgba(0,0,0,.24);
  overflow: hidden;
}

.character-feature::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 54px;
  height: 104px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,210,51,.24), transparent 66%);
}

.character-feature > img {
  position: relative;
  z-index: 1;
  width: min(330px, 88%);
  max-height: 350px;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(0 26px 28px rgba(0,0,0,.34));
  animation: float 5.8s ease-in-out infinite;
}

.character-feature__label {
  position: relative;
  z-index: 2;
  width: min(100%, 360px);
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 18px;
  background: rgba(3,18,38,.58);
  backdrop-filter: blur(12px);
  text-align: left;
}

.character-feature__label strong,
.character-feature__label span,
.character-feature__label small {
  display: block;
}

.character-feature__label strong {
  color: var(--yellow);
  font-size: .88rem;
  font-weight: 950;
  letter-spacing: .14em;
}

.character-feature__label span {
  color: #fff;
  font-weight: 900;
}

.character-feature__label small {
  color: var(--muted);
  line-height: 1.35;
}

.character-feature--compact {
  min-height: 280px;
  padding: 20px;
}

.character-feature--compact > img {
  width: min(240px, 78%);
  max-height: 250px;
}

.services-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  gap: 28px;
  align-items: center;
  max-width: 980px;
  text-align: left;
}

.services-title h1 {
  font-size: clamp(2.2rem, 4.8vw, 4.4rem);
  line-height: 1;
  letter-spacing: -.06em;
  margin: 10px 0 14px;
}

.solution-ecosystem {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) 170px;
  gap: 24px;
  align-items: center;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  background: rgba(255,255,255,.055);
  box-shadow: 0 24px 70px rgba(0,0,0,.2);
}

.solution-ecosystem .solution-map {
  margin-top: 0;
}

.solution-characters {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0;
  min-height: 250px;
  position: relative;
}

.solution-characters::before {
  content: "";
  position: absolute;
  inset: auto 8% 18px;
  height: 86px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 50%, rgba(11,92,255,.3), transparent 62%),
    radial-gradient(circle at 62% 50%, rgba(255,210,51,.28), transparent 62%);
}

.solution-characters--cab::before {
  background: radial-gradient(circle, rgba(11,92,255,.34), transparent 68%);
}

.solution-characters--gemini::before {
  background: radial-gradient(circle, rgba(255,210,51,.3), transparent 68%);
}

.solution-characters img {
  position: relative;
  z-index: 1;
  width: 136px;
  height: 226px;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(0 20px 22px rgba(0,0,0,.34));
  animation: float 5.4s ease-in-out infinite;
}

.solution-characters--gemini img {
  animation-delay: .7s;
}

.contact-form-card {
  overflow: hidden;
}

.contact-character {
  position: absolute;
  right: 18px;
  top: 14px;
  width: 104px;
  height: 136px;
  display: grid;
  place-items: end center;
  opacity: .96;
  pointer-events: none;
}

.contact-character img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(0 14px 18px rgba(0,0,0,.3)) drop-shadow(0 0 18px rgba(11,92,255,.25));
}

.contact-form-card h2 {
  padding-right: 112px;
}

@media (max-width: 1050px) {
  .services-title,
  .solution-ecosystem {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .services-title {
    max-width: 820px;
  }

  .character-feature--compact {
    width: min(100%, 430px);
    margin: 0 auto;
  }
}

@media (max-width: 760px) {
  .character-feature {
    min-height: 270px;
    padding: 20px;
    border-radius: 22px;
  }

  .character-feature > img {
    width: min(250px, 82%);
    max-height: 270px;
  }

  .solution-ecosystem {
    padding: 16px;
  }

  .solution-characters {
    min-height: 190px;
  }

  .solution-characters img {
    width: 104px;
    height: 168px;
  }

  .contact-character {
    width: 76px;
    height: 102px;
    right: 12px;
    top: 12px;
  }

  .contact-form-card h2 {
    padding-right: 82px;
  }
}

/* Site-wide royal blue scroll gradient */
body.blue-bg-page {
  background:
    radial-gradient(860px circle at 86% 22%, rgba(37, 208, 180, .10), transparent 42%),
    linear-gradient(
      180deg,
      #020B18 0%,
      #061A3B 16%,
      #083987 34%,
      #0B5CFF 50%,
      #0845C8 64%,
      #061A3B 82%,
      #020B18 100%
    ) !important;
  background-attachment: scroll;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

body.blue-bg-page::before {
  background:
    radial-gradient(520px circle at var(--mx,50%) var(--my,20%), rgba(37,208,180,.08), transparent 42%),
    radial-gradient(820px circle at 16% 18%, rgba(11,92,255,.16), transparent 46%);
}

.blue-bg-page::after {
  z-index: -1;
  opacity: .52;
}

.blue-bg-page .hero,
.blue-bg-page .page-hero,
.blue-bg-page .services-main,
.blue-bg-page .contact-main,
.blue-bg-page .section,
.blue-bg-page .about-main {
  background: transparent;
}

.blue-bg-page .footer,
.blue-bg-page .footer-premium {
  background: rgba(2, 11, 24, .72);
  backdrop-filter: blur(14px);
}

.navbar.nav-hidden {
  transform: translate3d(0, -112%, 0) !important;
  pointer-events: none;
}

.navbar:focus-within {
  transform: translate3d(0, 0, 0) !important;
  pointer-events: auto;
}

.navbar {
  transform: translate3d(0, 0, 0);
  will-change: transform;
  transition:
    transform .52s cubic-bezier(.22, 1, .36, 1),
    background .35s var(--ease),
    box-shadow .35s var(--ease),
    border-color .35s var(--ease) !important;
}

.card-mark {
  position: relative;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  color: #AFCBFF;
  isolation: isolate;
}

.card-mark::before,
.card-mark::after {
  content: "";
  position: absolute;
  border-radius: 24px;
}

.card-mark::before {
  inset: 0;
  border: 1px solid rgba(255,255,255,.2);
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.28), transparent 34%),
    linear-gradient(145deg, rgba(3,18,38,.16), rgba(255,255,255,.07));
  box-shadow: inset 0 0 24px rgba(255,255,255,.08), 0 18px 42px rgba(0,0,0,.16);
  z-index: -1;
}

.card-mark::after {
  inset: 14px;
  border: 1px solid currentColor;
  opacity: .28;
  transform: rotate(45deg);
}

.card-mark svg {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.card-mark--physical,
.card-mark--safety {
  color: var(--yellow);
}

.card-mark--digital {
  color: #8AB4FF;
}

.card-mark--power,
.card-mark--strategy {
  color: var(--cyan);
}

@media (min-width: 1051px) and (max-height: 980px) {
  .page-hero {
    padding: 118px 0 38px;
  }

  .services-main {
    padding: 118px 0 80px;
  }

  .page-title h1,
  .services-title h1,
  .solutions-title h1 {
  font-size: clamp(1.5rem, 2.8vw, 2.6rem);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 10px 0 14px;
}

  .page-title p,
  .services-title p {
    font-size: .98rem;
    line-height: 1.45;
  }

  .services-title {
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: 22px;
    margin-bottom: 42px;
  }

  .character-feature--compact {
    min-height: 220px;
    padding: 16px;
  }

  .character-feature--compact > img {
    width: min(190px, 78%);
    max-height: 190px;
  }

  .character-feature__label {
    padding: 10px 12px;
    border-radius: 14px;
  }

  .contact-grid {
    gap: 30px;
  }

  .info-card {
    margin-top: 14px;
  }
}

/* Shared premium footer used across all pages */
.footer-premium {
  padding: 0;
  background: rgba(2, 11, 24, .72);
  backdrop-filter: blur(14px);
}

.footer-premium-grid {
  display: grid;
  grid-template-columns: 1.4fr .7fr 1fr;
  gap: 34px;
  padding: 46px 0;
}

.footer-premium-grid p,
.footer-premium-grid span,
.footer-premium-grid a {
  color: var(--muted);
}

.footer-premium-grid strong,
.footer-premium-grid a,
.footer-premium-grid span {
  display: block;
}

.footer-premium-grid strong {
  color: #fff;
  margin-bottom: 12px;
}

.footer-premium-grid a,
.footer-premium-grid span {
  margin-top: 8px;
}

.footer-logo {
  margin-bottom: 16px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding: 20px 0;
  border-top: 1px solid rgba(255,255,255,.12);
  color: var(--muted);
}

@media (max-width: 760px) {
  .footer-premium-grid {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    display: grid;
  }
}


/* ── Solutions page hero — character left, text right ──────── */
.solutions-title {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 32px;
  align-items: center;
  max-width: 1100px;    /* wider than services so text has room to breathe */
  text-align: left;
}

/* Match services h1 size exactly */
.solutions-title h1 {
  font-size: clamp(1.5rem, 2.8vw, 2.6rem);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 10px 0 14px;
}

.solutions-title p {
  color: var(--muted);
  font-size: 1.06rem;
  max-width: 640px;
}

/* Blue glow under CAB character (instead of yellow) */
.character-feature--cab::before {
  background: radial-gradient(circle, rgba(11, 92, 255, 0.28), transparent 66%);
}

@media (max-width: 1050px) {
  .solutions-title {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 22px;
    max-width: 900px;
  }
}

@media (max-width: 760px) {
  .solutions-title {
    grid-template-columns: 1fr;
    text-align: center;
    max-width: 820px;
  }

  .solutions-title .character-feature--compact {
    width: min(100%, 360px);
    margin: 0 auto;
  }
}


/* ── 4-card connect row (contact page) ──────────────────── */
.connect-row--4 {
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1050px) {
  .connect-row--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .connect-row--4 {
    grid-template-columns: 1fr;
  }
}

/* ── Form error notice ───────────────────────────────────── */
.form-error-notice {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.4);
  border-radius: 14px;
  padding: 16px 20px;
  color: #FCA5A5;
  font-size: 0.95rem;
  max-width: 600px;
  margin: 20px auto;
  text-align: center;
}
.form-error-notice a { color: #F6C120; }
