
:root{
  --navy:#0B1F33;
  --blue:#146EF5;
  --cyan:#35B6E8;
  --off:#F7F9FC;
  --white:#FFFFFF;
  --text:#17212B;
  --muted:#5F6B76;
  --line:#DDE5EE;
  --shadow:0 16px 40px rgba(11,31,51,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--text);
  background:var(--white);
  line-height:1.65;
}
h1,h2,h3,h4{
  font-family:Manrope,Inter,Arial,sans-serif;
  line-height:1.1;
  color:var(--navy);
  margin-top:0;
}
h1{font-size:clamp(2.7rem,6vw,5.7rem);letter-spacing:-.045em}
h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.035em}
h3{font-size:1.35rem}
p{margin:0 0 1rem}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.section{padding:96px 0}
.section-sm{padding:56px 0}
.bg-off{background:var(--off)}
.bg-navy{background:var(--navy);color:var(--white)}
.bg-navy h1,.bg-navy h2,.bg-navy h3{color:var(--white)}
.eyebrow{
  font-weight:800;
  letter-spacing:.12em;
  font-size:.78rem;
  color:var(--blue);
  text-transform:uppercase;
  margin-bottom:18px;
}
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(221,229,238,.8);
}
.nav{
  min-height:76px;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.brand{
  font-family:Manrope,Inter,sans-serif;
  font-weight:900;
  letter-spacing:-.04em;
  font-size:1.35rem;
  color:var(--navy);
}
.brand span{color:var(--blue)}
.navlinks{display:flex;align-items:center;gap:28px}
.navlinks>a,.dropbtn{
  font-weight:650;font-size:.95rem;color:var(--navy);
  background:none;border:0;cursor:pointer;padding:26px 0;
}
.dropdown{position:relative}
.dropdown-menu{
  display:none;position:absolute;top:68px;left:-18px;
  min-width:270px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:10px;box-shadow:var(--shadow);
}
.dropdown.is-open .dropdown-menu{display:block}
.dropdown-menu a{
  display:block;padding:11px 12px;border-radius:9px;color:var(--text);font-size:.92rem
}
.dropdown-menu a:hover{background:var(--off);color:var(--blue)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 20px;border-radius:9px;
  font-weight:800;font-size:.9rem;letter-spacing:.01em;
  transition:.2s ease;border:2px solid transparent;
}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(20,110,245,.24)}
.btn-secondary{border-color:var(--navy);color:var(--navy);background:#fff}
.btn-secondary:hover{background:var(--navy);color:#fff}
.btn-light{background:#fff;color:var(--navy)}
.nav-cta{min-height:42px;padding:0 16px}
.mobile-toggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--navy)}
.hero{
  min-height:calc(100vh - 76px);
  display:grid;align-items:center;
  background:
    radial-gradient(circle at 82% 30%,rgba(53,182,232,.20),transparent 27%),
    radial-gradient(circle at 70% 70%,rgba(20,110,245,.12),transparent 35%),
    linear-gradient(135deg,#fff 0%,#F7F9FC 62%,#EEF5FF 100%);
  overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.hero h1{max-width:820px;margin-bottom:24px}
.hero-sub{font-size:1.4rem;font-weight:750;color:var(--navy);margin-bottom:20px}
.hero-copy{font-size:1.08rem;color:var(--muted);max-width:700px}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 22px}
.location-note{color:var(--muted);font-size:.92rem}
.tech-visual{
  min-height:520px;position:relative;border-radius:30px;
  background:linear-gradient(145deg,#0B1F33,#102E4F 56%,#146EF5);
  box-shadow:0 32px 70px rgba(11,31,51,.24);overflow:hidden;
}
.tech-visual:before,.tech-visual:after{
  content:"";position:absolute;border-radius:50%;filter:blur(1px)
}
.tech-visual:before{width:360px;height:360px;background:rgba(53,182,232,.28);right:-80px;top:-80px}
.tech-visual:after{width:280px;height:280px;border:1px solid rgba(255,255,255,.18);left:60px;bottom:54px}
.orbit{position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%}
.orbit.one{width:280px;height:280px;left:55px;top:100px}
.orbit.two{width:390px;height:390px;left:15px;top:45px}
.node{position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 0 8px rgba(255,255,255,.09)}
.node.n1{left:112px;top:135px}.node.n2{right:92px;top:154px}.node.n3{left:190px;bottom:112px}.node.n4{right:150px;bottom:82px}
.visual-label{
  position:absolute;left:42px;bottom:34px;color:#fff;
  font-family:Manrope,Inter,sans-serif;font-weight:800;font-size:1.05rem
}
.cap-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.capabilities{display:grid;grid-template-columns:repeat(5,1fr)}
.capabilities div{text-align:center;padding:18px 10px;font-weight:800;color:var(--navy);font-size:.9rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.card{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;
  box-shadow:0 8px 24px rgba(11,31,51,.04)
}
.card:hover{box-shadow:var(--shadow)}
.card p{color:var(--muted)}
.service-card{display:flex;flex-direction:column;height:100%}
.service-card .icon{
  width:48px;height:48px;border-radius:13px;background:#EAF2FF;color:var(--blue);
  display:grid;place-items:center;font-weight:900;margin-bottom:20px
}
.service-card a{color:var(--blue);font-weight:800;margin-top:auto}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.pill-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.pill{background:#EEF5FF;color:var(--navy);font-weight:750;padding:9px 12px;border-radius:999px;font-size:.87rem}
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.step{
  position:relative;padding:24px 18px;background:#fff;border:1px solid var(--line);border-radius:16px
}
.step-num{font-size:.78rem;font-weight:900;color:var(--blue);letter-spacing:.12em}
.industry-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.industry-list div{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:750}
.cta{
  border-radius:26px;padding:56px;background:linear-gradient(135deg,#0B1F33,#12385F);
  color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px
}
.cta h2{color:#fff;margin-bottom:12px}
.page-hero{padding:110px 0 76px;background:linear-gradient(135deg,#F7F9FC,#EEF5FF)}
.page-hero p{max-width:760px;color:var(--muted);font-size:1.08rem}
.list{padding-left:20px;color:var(--muted)}
.footer{background:#071522;color:#D8E3EE;padding:70px 0 26px}
.footer h3,.footer h4{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px}
.footer a{display:block;color:#C8D5E2;margin:9px 0;font-size:.93rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:22px;font-size:.86rem;color:#9DB1C4}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .full{grid-column:1/-1}
label{display:block;font-weight:800;margin-bottom:6px;color:var(--navy)}
input,select,textarea{
  width:100%;border:1px solid var(--line);border-radius:10px;
  padding:13px 14px;font:inherit;background:#fff;color:var(--text)
}
textarea{min-height:160px;resize:vertical}
.notice{background:#FFF7D6;border:1px solid #F0D879;padding:14px 16px;border-radius:10px;font-size:.92rem}
@media(max-width:900px){
  .hero-grid,.split,.grid-2{grid-template-columns:1fr}
  .tech-visual{min-height:380px}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:repeat(2,1fr)}
  .capabilities{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:18px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}
  .navlinks.open{display:flex}
  .dropdown-menu{position:static;display:block;border:0;box-shadow:none;padding:0 0 0 14px}
  .dropbtn{padding:4px 0}
  .navlinks>a,.dropbtn{padding:6px 0}
  .mobile-toggle{display:block}
  .nav>.btn{display:none}
}
@media(max-width:620px){
  .container{width:min(100% - 28px,1180px)}
  .section{padding:72px 0}
  .grid-3,.grid-4,.industry-list,.process,.form-grid,.footer-grid{grid-template-columns:1fr}
  .form-grid .full{grid-column:auto}
  .hero{min-height:auto;padding:78px 0}
  .tech-visual{min-height:330px}
  .cta{padding:34px 26px;align-items:flex-start;flex-direction:column}
}
/* ===== VOP HERO REFINEMENT ===== */

.hero {
  min-height: calc(100vh - 76px);
  padding: 48px 0 64px;
}

.hero-grid {
  grid-template-columns: 1.08fr 0.92fr;
  gap: 70px;
}

.hero h1 {
  font-size: clamp(3rem, 5vw, 5rem);
  line-height: 1.03;
  max-width: 760px;
  margin-bottom: 28px;
}

.hero-sub {
  font-size: 1.25rem;
  line-height: 1.45;
  max-width: 720px;
}

.hero-copy {
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 680px;
}

.tech-visual {
  min-height: 500px;
  max-height: 560px;
  border-radius: 28px;
}

.eyebrow {
  margin-bottom: 24px;
}

.actions {
  margin-top: 30px;
}

.brand {
  font-size: 1.45rem;
}

.nav {
  min-height: 82px;
}
/* ======================================================
   VOP SOLUTIONS - HOMEPAGE HERO
   ====================================================== */

.hero {
  min-height: calc(100vh - 82px);
  padding: 70px 0 80px;
  display: flex;
  align-items: center;

  background:
    radial-gradient(
      circle at 85% 20%,
      rgba(53, 182, 232, 0.15),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f7f9fc 55%,
      #eef6ff 100%
    );
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.04fr 0.96fr;
  gap: 80px;
  align-items: center;
}

.hero-content {
  max-width: 760px;
}

.hero .eyebrow {
  color: #146ef5;
  font-size: 0.79rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  margin-bottom: 24px;
}

.hero h1 {
  font-size: clamp(3.6rem, 5.5vw, 5.4rem);
  line-height: 1.02;
  letter-spacing: -0.055em;
  margin: 0 0 30px;
  max-width: 760px;
  color: #0b1f33;
}

.hero-sub {
  font-size: 1.3rem;
  line-height: 1.45;
  font-weight: 800;
  color: #0b1f33;
  max-width: 680px;
  margin-bottom: 22px;
}

.hero-copy {
  font-size: 1.08rem;
  line-height: 1.75;
  color: #5f6b76;
  max-width: 690px;
  margin-bottom: 0;
}

.hero .actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  margin: 34px 0 22px;
}

.hero .btn {
  min-height: 52px;
  padding: 0 24px;
  font-size: 0.87rem;
}

.location-note {
  color: #6c7781;
  font-size: 0.91rem;
  font-weight: 600;
}


/* ======================================================
   TECHNOLOGY VISUAL
   ====================================================== */

.hero-tech-panel {
  position: relative;
  min-height: 540px;
  border-radius: 30px;
  overflow: hidden;

  background:
    radial-gradient(
      circle at 82% 16%,
      rgba(53, 182, 232, 0.45),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      #081a2d 0%,
      #0b2746 50%,
      #146ef5 130%
    );

  box-shadow:
    0 35px 80px rgba(11, 31, 51, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.tech-grid {
  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(
      rgba(255, 255, 255, 0.035) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.035) 1px,
      transparent 1px
    );

  background-size: 42px 42px;
}


/* Rings */

.tech-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.16);
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
}

.ring-one {
  width: 230px;
  height: 230px;
}

.ring-two {
  width: 350px;
  height: 350px;
}

.ring-three {
  width: 470px;
  height: 470px;
}


/* Center hub */

.tech-center {
  position: absolute;

  left: 50%;
  top: 48%;

  transform: translate(-50%, -50%);

  width: 155px;
  height: 155px;

  border-radius: 50%;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background:
    linear-gradient(
      145deg,
      rgba(20, 110, 245, 0.95),
      rgba(53, 182, 232, 0.78)
    );

  border: 1px solid rgba(255, 255, 255, 0.3);

  box-shadow:
    0 20px 45px rgba(0, 0, 0, 0.2),
    0 0 70px rgba(20, 110, 245, 0.25);
}

.center-logo {
  font-family: Manrope, Inter, sans-serif;
  font-size: 2.15rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.06em;
}

.tech-center span {
  font-size: 0.68rem;
  margin-top: 8px;
  opacity: 0.85;
}


/* Floating capability cards */

.tech-card {
  position: absolute;

  display: flex;
  align-items: center;
  gap: 9px;

  padding: 11px 15px;

  color: #ffffff;

  font-size: 0.84rem;
  font-weight: 750;

  border-radius: 10px;

  background: rgba(255, 255, 255, 0.09);

  border: 1px solid rgba(255, 255, 255, 0.16);

  backdrop-filter: blur(10px);

  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.tech-dot {
  width: 8px;
  height: 8px;

  background: #35b6e8;

  border-radius: 50%;

  box-shadow: 0 0 0 5px rgba(53, 182, 232, 0.11);
}

.card-cloud {
  top: 18%;
  left: 10%;
}

.card-security {
  top: 24%;
  right: 8%;
}

.card-ai {
  bottom: 25%;
  left: 9%;
}

.card-automation {
  bottom: 18%;
  right: 8%;
}


/* Visual footer */

.tech-panel-footer {
  position: absolute;
  left: 30px;
  bottom: 27px;

  color: rgba(255, 255, 255, 0.9);

  font-weight: 700;
  font-size: 0.83rem;
}


/* ======================================================
   RESPONSIVE HERO
   ====================================================== */

@media (max-width: 1050px) {

  .hero-grid {
    grid-template-columns: 1fr 0.85fr;
    gap: 45px;
  }

  .hero h1 {
    font-size: clamp(3.2rem, 6vw, 4.5rem);
  }

  .hero-tech-panel {
    min-height: 460px;
  }

}


@media (max-width: 900px) {

  .hero {
    min-height: auto;
    padding: 70px 0;
  }

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-content {
    max-width: 800px;
  }

  .hero h1 {
    max-width: 760px;
  }

  .hero-tech-panel {
    min-height: 500px;
  }

}


@media (max-width: 600px) {

  .hero {
    padding: 55px 0;
  }

  .hero .eyebrow {
    font-size: 0.69rem;
    line-height: 1.7;
  }

  .hero h1 {
    font-size: 3rem;
    line-height: 1.02;
  }

  .hero-sub {
    font-size: 1.15rem;
  }

  .hero-copy {
    font-size: 1rem;
  }

  .hero .actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero .btn {
    width: 100%;
  }

  .hero-tech-panel {
    min-height: 420px;
    border-radius: 22px;
  }

  .ring-three {
    width: 390px;
    height: 390px;
  }

  .ring-two {
    width: 290px;
    height: 290px;
  }

  .ring-one {
    width: 190px;
    height: 190px;
  }

  .tech-center {
    width: 130px;
    height: 130px;
  }

  .tech-card {
    font-size: 0.74rem;
    padding: 9px 11px;
  }

  .card-cloud {
    top: 13%;
    left: 5%;
  }

  .card-security {
    top: 22%;
    right: 4%;
  }

  .card-ai {
    bottom: 23%;
    left: 5%;
  }

  .card-automation {
    bottom: 15%;
    right: 4%;
  }

}
/* ======================================================
   FINAL DESKTOP HERO BALANCE
   ====================================================== */

@media (min-width: 1100px) {

  .hero {
    min-height: calc(100vh - 82px);
    padding: 52px 0 55px;
  }

  .hero-grid {
    grid-template-columns: 1.08fr 0.92fr;
    gap: 68px;
  }

  .hero h1 {
    font-size: clamp(3.5rem, 4.65vw, 4.75rem);
    line-height: 1.02;
    max-width: 720px;
    margin-bottom: 24px;
  }

  .hero-sub {
    font-size: 1.18rem;
    margin-bottom: 18px;
  }

  .hero-copy {
    font-size: 1.02rem;
    line-height: 1.65;
  }

  .hero .actions {
    margin: 26px 0 17px;
  }

  .hero-tech-panel {
    min-height: 490px;
    max-height: 510px;
  }

  .ring-one {
    width: 210px;
    height: 210px;
  }

  .ring-two {
    width: 320px;
    height: 320px;
  }

  .ring-three {
    width: 430px;
    height: 430px;
  }

  .tech-center {
    width: 145px;
    height: 145px;
  }
}
/* ===== FINAL HERO TUNING ===== */

@media (min-width: 1100px) {

  .hero {
    min-height: calc(100vh - 82px);
    padding: 38px 0 42px;
  }

  .hero-grid {
    grid-template-columns: 1.05fr 0.95fr;
    gap: 58px;
  }

  .hero h1 {
    font-size: clamp(3.55rem, 4.15vw, 4.35rem);
    line-height: 1.01;
    max-width: 720px;
    margin-bottom: 22px;
  }

  .hero-sub {
    font-size: 1.12rem;
    line-height: 1.35;
    margin-bottom: 16px;
  }

  .hero-copy {
    font-size: 1rem;
    line-height: 1.55;
    max-width: 675px;
  }

  .hero .actions {
    margin: 22px 0 14px;
  }

  .hero .btn {
    min-height: 48px;
    padding: 0 20px;
  }

  .location-note {
    font-size: 0.88rem;
  }

  .hero-tech-panel {
    min-height: 465px;
    max-height: 485px;
  }

  .ring-one {
    width: 195px;
    height: 195px;
  }

  .ring-two {
    width: 295px;
    height: 295px;
  }

  .ring-three {
    width: 400px;
    height: 400px;
  }

  .tech-center {
    width: 135px;
    height: 135px;
  }

  .center-logo {
    font-size: 2rem;
  }
}
/* Refine desktop dropdown menu */

@media (min-width: 901px) {

  .dropdown-menu {
    min-width: 255px;
    padding: 8px;
    border-radius: 14px;
  }

  .dropdown-menu a {
    padding: 10px 12px;
    font-size: 0.9rem;
    line-height: 1.35;
  }
}
/* ======================================================
   CORE CAPABILITY BAND
   ====================================================== */

.capability-band {
  background: #0b1f33;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.capability-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.capability-item {
  position: relative;

  min-height: 105px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 20px 26px;

  color: #ffffff;

  border-right: 1px solid rgba(255, 255, 255, 0.12);

  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.capability-item:first-child {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.capability-item:hover {
  background: rgba(20, 110, 245, 0.18);
}

.capability-number {
  color: #35b6e8;

  font-size: 0.68rem;
  font-weight: 800;

  letter-spacing: 0.14em;

  margin-bottom: 5px;
}

.capability-name {
  font-family: Manrope, Inter, sans-serif;

  font-size: 0.97rem;
  font-weight: 750;

  line-height: 1.3;
}


/* ======================================================
   BUSINESS OUTCOMES SECTION
   ====================================================== */

.business-outcomes {
  padding: 82px 0 95px;
}

.outcomes-heading {
  max-width: 850px;
  margin-bottom: 50px;
}

.outcomes-heading h2 {
  font-size: clamp(2.4rem, 4vw, 3.8rem);

  max-width: 780px;

  margin-bottom: 22px;
}

.outcomes-heading p {
  max-width: 780px;

  color: #5f6b76;

  font-size: 1.07rem;

  line-height: 1.75;
}

.outcome-grid {
  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 22px;
}

.outcome-card {
  position: relative;

  padding: 32px;

  min-height: 270px;

  background: #f7f9fc;

  border: 1px solid #dde5ee;

  border-radius: 18px;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.outcome-card:hover {
  transform: translateY(-5px);

  border-color: rgba(20, 110, 245, 0.35);

  box-shadow: 0 18px 45px rgba(11, 31, 51, 0.1);
}

.outcome-top {
  display: flex;

  justify-content: space-between;

  align-items: center;

  margin-bottom: 48px;
}

.outcome-number {
  color: #146ef5;

  font-size: 0.72rem;

  font-weight: 900;

  letter-spacing: 0.14em;
}

.outcome-icon {
  width: 42px;
  height: 42px;

  display: grid;
  place-items: center;

  border-radius: 12px;

  background: #e9f2ff;

  color: #146ef5;

  font-size: 1.1rem;

  font-weight: 900;
}

.outcome-card h3 {
  font-size: 1.4rem;

  margin-bottom: 13px;
}

.outcome-card p {
  color: #5f6b76;

  line-height: 1.7;

  margin: 0;
}


/* ======================================================
   RESPONSIVE
   ====================================================== */

@media (max-width: 900px) {

  .capability-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .capability-item {
  min-height: 92px;
}

  .outcome-grid {
    grid-template-columns: 1fr;
  }

  .outcome-card {
    min-height: auto;
  }

  .outcome-top {
    margin-bottom: 32px;
  }

}


@media (max-width: 600px) {

  .capability-grid {
    grid-template-columns: 1fr;
  }

  .capability-item {
    min-height: 82px;
  }

  .business-outcomes {
    padding: 75px 0;
  }

}
/* ======================================================
   HOMEPAGE SERVICES
   ====================================================== */

.services-section {
  padding: 95px 0 105px;
}

.services-section h2 {
  max-width: 980px;
  margin-bottom: 20px;
}

.services-intro {
  max-width: 1000px;
  color: #5f6b76;
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: 42px;
}

.services-section .service-card {
  position: relative;
  min-height: 320px;
  padding: 30px;
  overflow: hidden;
  border: 1px solid #dce4ed;
  background: #ffffff;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.services-section .service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;

  background: linear-gradient(
    90deg,
    #146ef5,
    #35b6e8
  );

  opacity: 0;
  transition: opacity 0.22s ease;
}

.services-section .service-card:hover {
  transform: translateY(-6px);
  border-color: rgba(20, 110, 245, 0.3);
  box-shadow: 0 20px 45px rgba(11, 31, 51, 0.10);
}

.services-section .service-card:hover::before {
  opacity: 1;
}

.services-section .service-card .icon {
  width: 52px;
  height: 52px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: #eaf2ff;
  color: #146ef5;
  font-size: 0.95rem;
  font-weight: 900;
  margin-bottom: 23px;
}

.services-section .service-card h3 {
  font-size: 1.38rem;
  margin-bottom: 15px;
}

.services-section .service-card p {
  color: #5f6b76;
  line-height: 1.7;
  margin-bottom: 25px;
}

.services-section .service-card a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  color: #146ef5;
  font-weight: 800;
  transition: gap 0.2s ease;
}

.services-section .service-card:hover a {
  gap: 11px;
}

@media (max-width: 900px) {
  .services-section {
    padding: 75px 0;
  }

  .services-section .service-card {
    min-height: 290px;
  }
}

@media (max-width: 600px) {
  .services-section .service-card {
    min-height: auto;
  }
}
/* ======================================================
   CLOUD CONFIDENCE SECTION
   ====================================================== */

.cloud-confidence {
  position: relative;
  padding: 105px 0;

  background:
    radial-gradient(
      circle at 90% 20%,
      rgba(53, 182, 232, 0.09),
      transparent 30%
    ),
    #ffffff;
}

.cloud-confidence-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 85px;
  align-items: center;
}


/* LEFT CONTENT */

.cloud-confidence-copy {
  max-width: 560px;
}

.cloud-confidence-copy h2 {
  font-size: clamp(2.7rem, 4.3vw, 4rem);
  line-height: 1.04;
  max-width: 600px;
  margin-bottom: 24px;
}

.cloud-intro {
  color: #5f6b76;
  font-size: 1.06rem;
  line-height: 1.75;
  max-width: 570px;
}

.cloud-platforms {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.cloud-platforms span {
  padding: 9px 13px;

  border-radius: 999px;

  background: #eef5ff;
  border: 1px solid #dce8f8;

  color: #0b1f33;

  font-size: 0.84rem;
  font-weight: 750;
}


/* RIGHT CLOUD PANEL */

.cloud-journey-card {
  position: relative;
  overflow: hidden;

  padding: 34px;

  border-radius: 24px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(53, 182, 232, 0.30),
      transparent 32%
    ),
    linear-gradient(
      145deg,
      #081a2d 0%,
      #0b2746 65%,
      #103b68 100%
    );

  box-shadow: 0 28px 65px rgba(11, 31, 51, 0.18);
}

.cloud-journey-card::before {
  content: "";

  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(
      rgba(255,255,255,0.025) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,0.025) 1px,
      transparent 1px
    );

  background-size: 42px 42px;

  pointer-events: none;
}


/* PANEL HEADER */

.cloud-card-header {
  position: relative;
  z-index: 1;

  display: flex;
  justify-content: space-between;
  align-items: center;

  margin-bottom: 30px;

  color: #ffffff;

  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.13em;
}

.cloud-status {
  display: flex;
  align-items: center;
  gap: 8px;

  color: #bcd0e4;
}

.cloud-status-dot {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: #35b6e8;

  box-shadow: 0 0 0 5px rgba(53,182,232,.10);
}


/* JOURNEY STEPS */

.cloud-journey {
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns: repeat(2, 1fr);

  gap: 14px;
}

.cloud-stage {
  min-height: 180px;

  padding: 22px;

  border-radius: 16px;

  background: rgba(255,255,255,0.07);

  border: 1px solid rgba(255,255,255,0.12);

  backdrop-filter: blur(8px);

  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.cloud-stage:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,0.11);
}

.cloud-stage-number {
  margin-bottom: 30px;

  color: #35b6e8;

  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.cloud-stage h3 {
  margin-bottom: 9px;

  color: #ffffff;

  font-size: 1.2rem;
}

.cloud-stage p {
  margin: 0;

  color: #c8d5e2;

  font-size: 0.88rem;
  line-height: 1.6;
}


/* BOTTOM CAPABILITIES */

.cloud-capabilities {
  position: relative;
  z-index: 1;

  display: flex;
  flex-wrap: wrap;

  gap: 9px;

  margin-top: 20px;
}

.cloud-capabilities span {
  padding: 8px 11px;

  border-radius: 8px;

  background: rgba(255,255,255,0.07);

  border: 1px solid rgba(255,255,255,0.10);

  color: #d7e4ef;

  font-size: 0.76rem;
  font-weight: 700;
}


/* RESPONSIVE */

@media (max-width: 900px) {

  .cloud-confidence {
    padding: 80px 0;
  }

  .cloud-confidence-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .cloud-confidence-copy {
    max-width: 720px;
  }

}


@media (max-width: 600px) {

  .cloud-confidence {
    padding: 70px 0;
  }

  .cloud-confidence-copy h2 {
    font-size: 2.7rem;
  }

  .cloud-journey-card {
    padding: 24px;
  }

  .cloud-journey {
    grid-template-columns: 1fr;
  }

  .cloud-card-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

}
/* ======================================================
   AI & AUTOMATION SECTION
   ====================================================== */

.ai-automation-section {
  position: relative;

  padding: 105px 0;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 85% 20%,
      rgba(53, 182, 232, 0.16),
      transparent 28%
    ),
    radial-gradient(
      circle at 10% 90%,
      rgba(20, 110, 245, 0.12),
      transparent 32%
    ),
    #081a2d;
}


.ai-automation-grid {
  display: grid;

  grid-template-columns: 0.92fr 1.08fr;

  gap: 80px;

  align-items: center;
}


/* LEFT SIDE */

.ai-automation-copy {
  max-width: 590px;
}


.ai-automation-copy .eyebrow {
  color: #35b6e8;
}


.ai-automation-copy h2 {
  color: #ffffff;

  font-size: clamp(2.8rem, 4.4vw, 4rem);

  line-height: 1.04;

  max-width: 600px;

  margin-bottom: 25px;
}


.ai-intro {
  max-width: 580px;

  color: #c8d5e2;

  font-size: 1.05rem;

  line-height: 1.75;
}


/* TECHNOLOGY PILLS */

.ai-capabilities {
  display: flex;

  flex-wrap: wrap;

  gap: 9px;

  margin-top: 27px;
}


.ai-capabilities span {
  padding: 9px 12px;

  border-radius: 999px;

  color: #dce8f4;

  background: rgba(255,255,255,0.06);

  border: 1px solid rgba(255,255,255,0.12);

  font-size: 0.81rem;

  font-weight: 700;
}


/* BUSINESS OUTCOMES */

.ai-outcomes {
  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 10px;

  margin-top: 34px;
}


.ai-outcomes div {
  padding: 16px;

  border-radius: 13px;

  background: rgba(255,255,255,0.045);

  border: 1px solid rgba(255,255,255,0.09);
}


.ai-outcomes strong {
  display: block;

  color: #ffffff;

  font-size: 0.84rem;

  margin-bottom: 6px;
}


.ai-outcomes span {
  display: block;

  color: #9fb3c7;

  font-size: 0.75rem;

  line-height: 1.5;
}


.ai-automation-copy .actions {
  margin-top: 30px;
}


/* ======================================================
   BUSINESS-FIRST AI FRAMEWORK
   ====================================================== */

.ai-framework {
  position: relative;

  padding: 34px;

  border-radius: 24px;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 95% 5%,
      rgba(53, 182, 232, 0.22),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      #102e4f,
      #0c2642
    );

  border: 1px solid rgba(255,255,255,0.12);

  box-shadow: 0 30px 70px rgba(0,0,0,0.22);
}


.ai-framework::before {
  content: "";

  position: absolute;

  inset: 0;

  background-image:
    linear-gradient(
      rgba(255,255,255,0.025) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,0.025) 1px,
      transparent 1px
    );

  background-size: 42px 42px;

  pointer-events: none;
}


/* FRAMEWORK HEADER */

.ai-framework-header {
  position: relative;

  z-index: 1;

  display: flex;

  justify-content: space-between;

  gap: 30px;

  align-items: flex-start;

  margin-bottom: 30px;
}


.ai-framework-label {
  display: block;

  color: #35b6e8;

  font-size: 0.68rem;

  font-weight: 900;

  letter-spacing: 0.14em;

  margin-bottom: 8px;
}


.ai-framework-header h3 {
  margin: 0;

  max-width: 380px;

  color: #ffffff;

  font-size: 1.45rem;

  line-height: 1.3;
}


.ai-framework-status {
  display: flex;

  align-items: center;

  gap: 8px;

  white-space: nowrap;

  color: #b8cadb;

  font-size: 0.65rem;

  font-weight: 850;

  letter-spacing: 0.10em;
}


.ai-framework-status span {
  width: 8px;

  height: 8px;

  border-radius: 50%;

  background: #35b6e8;

  box-shadow:
    0 0 0 5px rgba(53,182,232,0.10);
}


/* AI FLOW */

.ai-flow {
  position: relative;

  z-index: 1;
}


.ai-flow-step {
  display: grid;

  grid-template-columns: 44px 1fr;

  gap: 15px;

  align-items: start;

  padding: 16px 18px;

  border-radius: 14px;

  background: rgba(255,255,255,0.055);

  border: 1px solid rgba(255,255,255,0.10);

  transition:
    transform 0.2s ease,
    background 0.2s ease,
    border-color 0.2s ease;
}


.ai-flow-step:hover {
  transform: translateX(4px);

  background: rgba(255,255,255,0.085);

  border-color: rgba(53,182,232,0.35);
}


.ai-flow-number {
  width: 38px;

  height: 38px;

  display: grid;

  place-items: center;

  border-radius: 10px;

  background: rgba(53,182,232,0.10);

  color: #35b6e8;

  font-size: 0.70rem;

  font-weight: 900;
}


.ai-flow-step h4 {
  margin: 1px 0 5px;

  color: #ffffff;

  font-size: 1rem;
}


.ai-flow-step p {
  margin: 0;

  color: #aec0d2;

  font-size: 0.82rem;

  line-height: 1.55;
}


.ai-flow-highlight {
  background:
    linear-gradient(
      90deg,
      rgba(20,110,245,0.18),
      rgba(53,182,232,0.10)
    );

  border-color: rgba(53,182,232,0.30);
}


/* CONNECTING LINE */

.ai-flow-connector {
  width: 1px;

  height: 12px;

  margin-left: 37px;

  background:
    linear-gradient(
      to bottom,
      rgba(53,182,232,0.50),
      rgba(53,182,232,0.12)
    );
}


/* FRAMEWORK FOOTER */

.ai-framework-footer {
  position: relative;

  z-index: 1;

  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  margin-top: 24px;

  padding-top: 20px;

  border-top: 1px solid rgba(255,255,255,0.10);
}


.ai-framework-footer span {
  color: #9fb7ca;

  font-size: 0.62rem;

  font-weight: 850;

  letter-spacing: 0.10em;
}


/* ======================================================
   RESPONSIVE
   ====================================================== */

@media (max-width: 1000px) {

 .ai-automation-grid {
  grid-template-columns: 0.94fr 1.06fr;
  gap: 65px;
}

.ai-automation-copy .actions {
  margin-top: 24px;
}

}


@media (max-width: 650px) {

.ai-automation-section {
  padding: 90px 0;
}

  .ai-automation-copy h2 {
    font-size: 2.7rem;
  }

 .ai-outcomes {
  margin-top: 28px;
}

  .ai-framework {
    padding: 24px;
  }

  .ai-framework-header {
    flex-direction: column;

    gap: 16px;
  }

  .ai-framework-status {
    white-space: normal;
  }

}
/* ======================================================
   WHY VOP SOLUTIONS
   ====================================================== */

.why-vop-section {
  padding: 105px 0;
  background: #ffffff;
}


/* HEADER */

.why-vop-header {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 48px;
}

.why-vop-header h2 {
  max-width: 660px;
}

.why-vop-intro {
  max-width: 540px;
}

.why-vop-intro p {
  color: #5f6b76;
  font-size: 1.03rem;
  line-height: 1.75;
  margin-bottom: 20px;
}

.why-vop-link {
  color: #146ef5;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.06em;
}


/* STRATEGY FLOW */

.strategy-path {
  display: grid;

  grid-template-columns:
    1fr auto
    1fr auto
    1fr;

  align-items: center;

  gap: 18px;

  padding: 28px 30px;

  background: #f7f9fc;

  border: 1px solid #dde5ee;

  border-radius: 20px;
}


.strategy-step {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}


.strategy-label {
  min-width: 38px;
  height: 38px;

  display: grid;
  place-items: center;

  border-radius: 10px;

  background: #eaf2ff;

  color: #146ef5;

  font-size: 0.7rem;
  font-weight: 900;
}


.strategy-step strong {
  display: block;

  margin-bottom: 5px;

  color: #0b1f33;

  font-family: Manrope, Inter, sans-serif;

  font-size: 1rem;
}


.strategy-step div > span {
  display: block;

  color: #5f6b76;

  font-size: 0.8rem;

  line-height: 1.5;
}


.strategy-arrow {
  color: #146ef5;

  font-size: 1.45rem;

  font-weight: 800;

  opacity: 0.75;
}


/* PRINCIPLES */

.why-vop-principles {
  display: grid;

  grid-template-columns: repeat(4, 1fr);

  margin-top: 42px;

  border-top: 1px solid #dde5ee;
}


.why-principle {
  position: relative;

  padding: 31px 28px 10px 0;

  min-height: 210px;

  border-right: 1px solid #dde5ee;
}


.why-principle:not(:first-child) {
  padding-left: 28px;
}


.why-principle:last-child {
  border-right: 0;
}


.why-number {
  display: block;

  margin-bottom: 30px;

  color: #146ef5;

  font-size: 0.7rem;

  font-weight: 900;

  letter-spacing: 0.13em;
}


.why-principle h3 {
  font-size: 1.25rem;

  margin-bottom: 12px;
}


.why-principle p {
  margin: 0;

  color: #5f6b76;

  font-size: 0.91rem;

  line-height: 1.65;
}


/* HOVER DETAIL */

.why-principle::before {
  content: "";

  position: absolute;

  top: -1px;

  left: 0;

  width: 0;

  height: 3px;

  background: linear-gradient(
    90deg,
    #146ef5,
    #35b6e8
  );

  transition: width 0.25s ease;
}


.why-principle:hover::before {
  width: 100%;
}


/* RESPONSIVE */

@media (max-width: 950px) {

  .why-vop-header {
  gap: 60px;
  margin-bottom: 42px;
}

  .why-vop-intro {
    max-width: 700px;
  }

  .strategy-path {
    grid-template-columns: 1fr;
  }

  .strategy-arrow {
    transform: rotate(90deg);
    margin-left: 15px;
  }

  .why-vop-principles {
    grid-template-columns: repeat(2, 1fr);
  }

  .why-principle {
    border-bottom: 1px solid #dde5ee;
  }

}


@media (max-width: 600px) {

  .why-vop-section {
  padding: 90px 0 95px;
}

  .why-vop-principles {
    grid-template-columns: 1fr;
  }

  .why-principle,
  .why-principle:not(:first-child) {
    padding: 28px 0;
    border-right: 0;
  }

}
/* ======================================================
   HOW WE WORK - DELIVERY PROCESS
   ====================================================== */

.delivery-process-section {
  padding: 105px 0;

  background:
    linear-gradient(
      180deg,
      #f7f9fc 0%,
      #ffffff 100%
    );
}


/* HEADER */

.delivery-process-header {
  display: grid;

  grid-template-columns: 1.05fr 0.95fr;

  gap: 80px;

  align-items: end;

  margin-bottom: 65px;
}


.delivery-process-header h2 {
  max-width: 700px;

  margin-bottom: 0;

  font-size: clamp(2.7rem, 4.3vw, 4rem);
}


.delivery-process-intro {
  max-width: 570px;
}


.delivery-process-intro p {
  color: #5f6b76;

  font-size: 1.03rem;

  line-height: 1.75;

  margin-bottom: 20px;
}


.delivery-process-values {
  display: flex;

  flex-wrap: wrap;

  gap: 16px;
}


.delivery-process-values span {
  color: #146ef5;

  font-size: 0.68rem;

  font-weight: 850;

  letter-spacing: 0.10em;
}


/* ======================================================
   ROADMAP
   ====================================================== */

.delivery-roadmap {
  position: relative;

  display: grid;

  grid-template-columns: repeat(5, 1fr);

  gap: 18px;

  padding-top: 6px;
}


/* HORIZONTAL CONNECTION */

.delivery-line {
  position: absolute;

  top: 29px;

  left: 9%;

  right: 9%;

  height: 2px;

  background:
    linear-gradient(
      90deg,
      #146ef5,
      #35b6e8
    );

  opacity: 0.25;
}


/* STEP */

.delivery-step {
  position: relative;

  z-index: 1;
}


.delivery-marker {
  width: 48px;

  height: 48px;

  display: grid;

  place-items: center;

  margin-bottom: 25px;

  border-radius: 50%;

  background: #ffffff;

  border: 2px solid #146ef5;

  box-shadow:
    0 0 0 7px #f7f9fc;
}


.delivery-marker span {
  color: #146ef5;

  font-size: 0.70rem;

  font-weight: 900;
}


/* STEP CONTENT */

.delivery-step-content {
  min-height: 310px;

  padding: 25px 23px;

  background: #ffffff;

  border: 1px solid #dde5ee;

  border-radius: 17px;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}


.delivery-step-content:hover {
  transform: translateY(-5px);

  border-color: rgba(20, 110, 245, 0.30);

  box-shadow:
    0 18px 42px rgba(11, 31, 51, 0.09);
}


.delivery-stage {
  display: block;

  color: #146ef5;

  font-size: 0.67rem;

  font-weight: 900;

  letter-spacing: 0.13em;

  margin-bottom: 18px;
}


.delivery-step-content h3 {
  min-height: 54px;

  margin-bottom: 14px;

  font-size: 1.17rem;

  line-height: 1.3;
}


.delivery-step-content p {
  color: #5f6b76;

  font-size: 0.86rem;

  line-height: 1.65;

  margin-bottom: 25px;
}


/* OUTCOME */

.delivery-outcome {
  margin-top: auto;

  padding-top: 18px;

  border-top: 1px solid #e5ebf2;

  color: #7b8996;

  font-size: 0.62rem;

  font-weight: 850;

  letter-spacing: 0.09em;
}


/* ======================================================
   PROCESS FOOTER
   ====================================================== */

.delivery-process-footer {
  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 35px;

  margin-top: 40px;

  padding: 28px 30px;

  background: #0b1f33;

  border-radius: 17px;
}


.delivery-process-footer strong {
  display: block;

  color: #ffffff;

  font-family: Manrope, Inter, sans-serif;

  font-size: 1.05rem;

  margin-bottom: 5px;
}


.delivery-process-footer span {
  color: #aebfd0;

  font-size: 0.87rem;
}


/* ======================================================
   RESPONSIVE
   ====================================================== */

@media (max-width: 1050px) {

  .delivery-roadmap {
    grid-template-columns: repeat(2, 1fr);

    gap: 20px;
  }

  .delivery-line {
    display: none;
  }

  .delivery-marker {
    margin-bottom: 15px;
  }

}


@media (max-width: 900px) {

  .delivery-process-header {
    grid-template-columns: 1fr;

    gap: 25px;

    margin-bottom: 50px;
  }

  .delivery-process-intro {
    max-width: 720px;
  }

}


@media (max-width: 650px) {

  .delivery-process-section {
    padding: 75px 0;
  }

  .delivery-roadmap {
    grid-template-columns: 1fr;
  }

  .delivery-step-content {
    min-height: auto;
  }

  .delivery-step-content h3 {
    min-height: auto;
  }

  .delivery-process-footer {
    flex-direction: column;

    align-items: flex-start;
  }

}

/* Navigation disclosures: click/tap and keyboard share one state. */
.mobile-toggle { min-width:44px; min-height:44px; cursor:pointer; }
.dropbtn { min-height:44px; font-family:inherit; }
.dropdown-menu { max-height:calc(100dvh - 110px); overflow-y:auto; }
@media(max-width:1050px) {
  .navlinks { display:none; position:absolute; top:100%; left:0; right:0;
    max-height:calc(100dvh - 83px); overflow-y:auto; overscroll-behavior:contain;
    background:var(--white); padding:12px 20px; border-bottom:1px solid var(--line);
    flex-direction:column; align-items:stretch; gap:4px; }
  .navlinks.open { display:flex; }
  .navlinks>a,.dropbtn { display:flex; align-items:center; padding:10px 8px; min-height:44px; }
  .dropbtn { width:100%; text-align:left; }
  .dropdown-menu { display:none; position:static; min-width:0; max-height:none;
    border:0; box-shadow:none; padding:0 0 0 12px; }
  .dropdown-menu a { min-height:44px; }
  .mobile-toggle { display:block; }
  .nav>.btn { display:none; }
}

/* Responsive content must fit its grid cell, not be hidden off-screen. */
.ai-automation-grid > *, .why-vop-header > *, .hero-grid > *,
.cloud-confidence-grid > *, .split > *, .form-grid > * { min-width:0; }
.ai-framework-header { flex-wrap:wrap; gap:16px; }
.ai-framework-status { white-space:normal; }
.btn { text-align:center; max-width:100%; }
@media(max-width:1050px) {
  .ai-automation-grid { grid-template-columns:1fr; gap:40px; }
  .ai-automation-copy { max-width:720px; }
}
@media(max-width:950px) {
  .why-vop-header { grid-template-columns:1fr; gap:24px; align-items:start; }
}
@media(max-width:650px) {
  .ai-outcomes { grid-template-columns:1fr; }
  .ai-framework { padding:22px; }
  .ai-flow-step { grid-template-columns:32px minmax(0,1fr); gap:12px; padding:16px 12px; }
  .ai-flow-number { width:32px; height:32px; }
  .ai-flow-step h4 { overflow-wrap:anywhere; }
  .hero h1 { font-size:clamp(2.35rem,10vw,3rem); line-height:1.08; }
  .cloud-confidence-copy h2,.ai-automation-copy h2,.delivery-process-header h2,
  .outcomes-heading h2 { font-size:clamp(2rem,8.5vw,2.7rem); }
  .page-hero h1 { font-size:clamp(2.2rem,9vw,3.2rem); overflow-wrap:anywhere; }
  .page-hero { padding:64px 0 48px; }
  .tech-panel-footer { left:20px; right:20px; bottom:20px; font-size:.75rem; }
  .delivery-process-footer,.cta { padding:28px 22px; }
}

.outcome-number,.strategy-label,.bg-off .eyebrow { color:#1059c9; }
.delivery-outcome { color:#5f6b76; font-size:.72rem; }

/* Visible keyboard feedback and accessible motion preferences. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid var(--blue); outline-offset:4px;
}
.bg-navy a:focus-visible,.footer a:focus-visible,.ai-automation-section a:focus-visible {
  outline-color:var(--cyan);
}
.navlinks a[aria-current="page"],.dropbtn.has-current-page { color:var(--blue); text-decoration:underline; text-underline-offset:5px; }
.navlinks a:hover,.dropbtn:hover { color:var(--blue); }
.skip-link { position:fixed; left:16px; top:12px; z-index:100;
  padding:12px 20px; border-radius:8px; background:var(--navy); color:white;
  transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
/* Keep links usable when scripting is unavailable. */
html:not(.nav-enhanced) .header { position:static; }
html:not(.nav-enhanced) .nav { flex-wrap:wrap; padding-top:16px; }
html:not(.nav-enhanced) .mobile-toggle { display:none; }
html:not(.nav-enhanced) .navlinks { display:flex; position:static; flex-basis:100%;
  max-height:none; overflow:visible; align-items:flex-start; flex-wrap:wrap; }
html:not(.nav-enhanced) .dropdown-menu { display:block; position:static;
  min-width:0; max-height:none; box-shadow:none; }
.legal-copy { max-width:820px; }
.legal-copy h2 { font-size:1.6rem; margin-top:32px; }
.legal-copy a { text-decoration:underline; overflow-wrap:anywhere; }
.contact-actions { align-items:flex-start; }
.email-options,.call-options { min-width:0; max-width:100%; }
.contact-actions summary { cursor:pointer; list-style:none; }
.contact-actions summary::-webkit-details-marker { display:none; }
.contact-actions summary::after { content:' ▾'; margin-left:8px; }
.contact-actions details[open] summary::after { content:' ▴'; }
.contact-actions summary:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.email-options-panel { display:grid; gap:10px; margin-top:16px; padding:18px;
  border:1px solid var(--line); border-radius:12px; background:var(--off); }
.email-options-panel p { margin:0; }
.email-options-panel a { display:block; padding:10px 12px; min-height:44px;
  border:1px solid var(--line); border-radius:8px; background:var(--white);
  text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.email-options-panel a:hover { border-color:var(--blue); color:var(--blue); }
.btn:disabled { cursor:not-allowed; opacity:.65; transform:none; box-shadow:none; }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}