
:root{
  --blue:#0667e8;
  --blue2:#0c7bf2;
  --navy:#063c92;
  --ink:#073b8f;
  --body:#48698f;
  --pale:#eef8ff;
  --pale2:#f7fbff;
  --line:#d8e9f7;
  --white:#fff;
  --max:1180px;
  --shadow:0 10px 34px rgba(29,94,164,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}

/* header */
.header{
  height:72px;background:rgba(255,255,255,.98);border-bottom:1px solid #eaf3fb;
  display:flex;align-items:center;position:sticky;top:0;z-index:90;backdrop-filter:blur(12px)
}
.nav{display:flex;align-items:center;gap:28px}
.logo{width:116px;flex:0 0 116px}
.logo img{width:100%;height:50px;object-fit:contain}
.menu{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700;color:#084ba8}
.menu a{padding:27px 0 22px;position:relative;white-space:nowrap}
.menu a:after{content:"";position:absolute;left:0;right:100%;bottom:15px;height:2px;background:var(--blue);transition:.25s}
.menu a:hover:after{right:0}
.search{width:35px;height:35px;display:grid;place-items:center}
.search svg{width:20px;height:20px;stroke:var(--blue)}
.nav-cta,.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;
  font-size:13px;font-weight:750;transition:.2s
}
.nav-cta{padding:12px 20px;background:var(--blue);color:#fff;box-shadow:0 8px 18px rgba(6,103,232,.18)}
.btn{padding:13px 21px;border:1.5px solid var(--blue);color:var(--blue);background:#fff}
.btn.primary{background:var(--blue);color:#fff}
.btn:hover,.nav-cta:hover{transform:translateY(-1px)}
.mobile-btn{display:none;margin-left:auto;border:0;background:#eef6ff;border-radius:10px;width:42px;height:42px;color:var(--blue);font-size:22px}
.mobile-menu{display:none}

/* utility */
.eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:#1d6fd0;margin-bottom:12px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(46px,5.1vw,67px);line-height:1.02;letter-spacing:-.045em;margin-bottom:18px}
h2{font-size:clamp(32px,3.5vw,45px);line-height:1.08;letter-spacing:-.035em;margin-bottom:15px}
h3{font-size:18px;line-height:1.25;margin-bottom:8px}
p{color:var(--body);line-height:1.65}
.link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--blue);margin-top:12px}
.icon{width:42px;height:42px;display:grid;place-items:center;color:var(--blue)}
.icon svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.8}
.section{padding:58px 0}
.section.soft{background:linear-gradient(180deg,#f8fcff 0%,#eef8ff 100%)}

/* hero */
.hero{
  min-height:520px;
  background:
    radial-gradient(circle at 15% 15%,rgba(49,151,255,.13),transparent 34%),
    linear-gradient(120deg,#f9fdff 0%,#eaf6ff 46%,#f8fcff 100%);
  overflow:hidden;position:relative
}
.hero:after{
  content:"";position:absolute;left:-5%;right:-5%;bottom:-42px;height:105px;background:rgba(255,255,255,.88);
  border-radius:50% 50% 0 0/100% 100% 0 0;transform:rotate(-1deg)
}
.hero-grid{min-height:520px;display:grid;grid-template-columns:52% 48%;align-items:center;position:relative;z-index:2}
.hero-copy{padding:45px 28px 65px 0}
.hero-copy h1{color:#0646ad}
.hero-copy p{font-size:16px;max-width:650px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-visual{
  height:420px;align-self:end;position:relative;margin-right:-65px;
  background:url("hero-visual.jpg") center/cover no-repeat;border-radius:0 0 0 42px;
  box-shadow:inset 30px 0 50px rgba(239,248,255,.65)
}
.hero-visual:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#eef8ff 0%,rgba(238,248,255,.25) 28%,transparent 58%);
}
.hero-visual:after{
  content:"CÔNG NGHỆ\nKẾT NỐI CON NGƯỜI\nKIẾN TẠO TƯƠNG LAI";
  white-space:pre;position:absolute;right:45px;top:72px;color:#3680d6;font-size:16px;
  line-height:1.35;font-style:italic;transform:rotate(-4deg);text-align:left;opacity:.88
}
.hero-values{
  display:flex;gap:28px;position:absolute;left:0;bottom:18px;z-index:5
}
.hero-value{display:flex;gap:9px;align-items:center;padding-right:25px;border-right:1px solid #cfe3f5}
.hero-value:last-child{border-right:0}
.hero-value svg{width:28px;height:28px;stroke:var(--blue);fill:none;stroke-width:1.8}
.hero-value b{display:block;font-size:11px}
.hero-value span{display:block;font-size:10px;color:#6b86a5}

/* about */
.about-grid{display:grid;grid-template-columns:31% 69%;gap:34px;align-items:stretch}
.about-copy{padding:15px 10px 10px 0}
.about-copy h2{font-size:34px;color:#0a4eb4}
.about-copy .bigline{font-size:21px;font-weight:800;line-height:1.25;margin-bottom:11px}
.about-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.about-card{
  border:1px solid #d7e8f8;border-radius:11px;padding:24px 20px;background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:0 6px 22px rgba(41,101,164,.04);min-height:194px
}
.about-card h3{font-size:15px}
.about-card p{font-size:11px;line-height:1.55;margin-bottom:0}

/* construction */
.special{
  min-height:300px;position:relative;overflow:hidden;
  background:linear-gradient(90deg,#eef8ff 0%,#f9fcff 43%,#edf7ff 100%)
}
.special-grid{display:grid;grid-template-columns:45% 55%;min-height:300px;align-items:center}
.special-copy{padding:45px 40px 45px 0;position:relative;z-index:3}
.special-copy h2{color:#064eb5}
.special-copy p{font-size:14px;max-width:520px}
.special-img{
  min-height:300px;height:100%;margin-right:-80px;background:url("construction-visual.jpg") center/cover no-repeat;position:relative
}
.special-img:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f4fbff 0%,rgba(244,251,255,.12) 34%,transparent 70%)}
.special-note{position:absolute;right:45px;top:55px;color:#3b80cf;font-size:15px;line-height:1.35;font-style:italic;transform:rotate(-3deg)}

/* ibom */
.ibom{padding:54px 0 22px;background:linear-gradient(180deg,#fff,#f1f8ff)}
.ibom-grid{display:grid;grid-template-columns:34% 30% 36%;gap:24px;align-items:center}
.ibom-copy h2{font-size:32px;color:#074db2}
.ibom-copy p{font-size:13px}
.device{
  height:240px;background:url("ibom-device.jpg") center/cover no-repeat;border-radius:18px;
  box-shadow:var(--shadow);border:1px solid #dbeaf8
}
.layers{display:grid;gap:0;justify-items:center;position:relative;padding:18px 0}
.layer{
  width:78%;height:68px;background:linear-gradient(135deg,#63b7ff,#0b66e8);color:#fff;
  border:1px solid rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;
  font-weight:800;box-shadow:0 14px 24px rgba(8,89,199,.18);transform:skewY(-4deg);margin-top:-8px
}
.layer:first-child{width:66%;border-radius:18px 18px 8px 8px;background:linear-gradient(135deg,#9ed4ff,#3f8df2)}
.layer:nth-child(2){width:76%}.layer:nth-child(3){width:86%;border-radius:8px 8px 18px 18px}
.layer span{transform:skewY(4deg)}
.ibom-menu{
  margin-top:35px;display:grid;grid-template-columns:repeat(6,1fr);border:1px solid #d9e9f7;border-radius:10px;background:#fff;overflow:hidden
}
.ibom-item{min-height:70px;padding:12px;display:flex;gap:10px;align-items:center;border-right:1px solid #e0edf8;font-size:11px;font-weight:750}
.ibom-item:last-child{border-right:0}
.ibom-item svg{width:27px;height:27px;stroke:var(--blue);fill:none;stroke-width:1.7;flex:0 0 27px}

/* projects */
.projects{padding:34px 0 46px}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:18px}
.section-title h2{font-size:31px;margin:0;color:#074ba9}
.section-title a{font-size:11px;font-weight:750;color:var(--blue)}
.project-grid{display:grid;grid-template-columns:58% 42%;gap:12px;min-height:330px}
.project-main{position:relative;border-radius:10px;overflow:hidden;background:#d9e8f4}
.project-main img{width:100%;height:100%;object-fit:cover}
.project-main:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,31,69,.78),rgba(3,31,69,.08) 65%,transparent)}
.project-copy{position:absolute;z-index:2;left:24px;bottom:23px;color:#fff;max-width:60%}
.project-copy small{font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.project-copy h3{font-size:24px;margin:7px 0 8px;color:#fff}
.project-copy p{font-size:11px;color:#e9f3fb}
.project-side{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.project-small{border:1px solid #dce9f5;border-radius:10px;display:grid;grid-template-columns:42% 58%;overflow:hidden;background:#fff}
.project-small img{width:100%;height:100%;object-fit:cover}
.project-small div{padding:18px}
.project-small small{font-size:9px;color:#2875ca;text-transform:uppercase}
.project-small h3{font-size:15px;margin-top:6px}
.project-small p{font-size:10px;margin-bottom:0}

/* awards - visual slot replacing former "knowledge" section */
.awards{padding:10px 0 45px}
.award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.award-card{border:1px solid #dbe8f5;border-radius:9px;overflow:hidden;background:#fff}
.award-card img{width:100%;height:145px;object-fit:cover}
.award-body{padding:14px 16px 16px}
.award-body small{font-size:9px;color:#3880cf;text-transform:uppercase}
.award-body h3{font-size:14px;margin:7px 0}

/* CTA */
.final-cta{
  padding:35px 0;background:
  radial-gradient(circle at 15% 20%,rgba(102,178,247,.28),transparent 35%),
  linear-gradient(180deg,#eef8ff,#dfefff);
  position:relative;overflow:hidden
}
.final-cta:before{
  content:"";position:absolute;left:-5%;right:-5%;bottom:-32px;height:72px;background:rgba(255,255,255,.68);
  border-radius:50% 50% 0 0/100% 100% 0 0
}
.final-grid{display:grid;grid-template-columns:1fr auto 230px;gap:35px;align-items:center;position:relative;z-index:2}
.final-grid h2{font-size:28px;margin-bottom:6px}
.final-grid p{font-size:11px;margin-bottom:0}
.final-note{font-size:14px;color:#397ec7;font-style:italic;line-height:1.4;border-left:2px solid #5a9be0;padding-left:18px}

/* footer */
.footer{padding:25px 0 16px;background:#fff}
.footer-grid{display:grid;grid-template-columns:18% 34% 27% 21%;gap:25px}
.footer-logo{width:112px}
.footer h4{font-size:10px;text-transform:uppercase;margin:0 0 8px}
.footer p,.footer a{font-size:9px;line-height:1.65;color:#667f9a}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px}
.social{display:flex;gap:8px;margin-top:10px}
.social span{width:25px;height:25px;border-radius:4px;background:#0759bd;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}
.foot-bottom{border-top:1px solid #e4edf5;margin-top:18px;padding-top:10px;display:flex;justify-content:space-between;font-size:8.5px;color:#8093a7}

@media(max-width:1050px){
  .menu,.search,.nav-cta{display:none}.mobile-btn{display:block}
  .hero-grid{grid-template-columns:1fr}.hero-copy{padding-bottom:15px}.hero-visual{margin:0;height:330px;border-radius:20px}.hero-values{position:static;margin-top:20px;flex-wrap:wrap}
  .about-grid,.special-grid,.ibom-grid{grid-template-columns:1fr}.about-cards{grid-template-columns:1fr 1fr}
  .special-img{min-height:280px;margin:0}.ibom-grid{gap:18px}.device{height:230px}.layers{max-width:520px;margin:auto;width:100%}
  .ibom-menu{grid-template-columns:repeat(3,1fr)}.ibom-item:nth-child(3){border-right:0}
  .project-grid{grid-template-columns:1fr}.project-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.project-small{min-height:165px}
  .footer-grid{grid-template-columns:1fr 1fr}.final-grid{grid-template-columns:1fr auto}.final-note{grid-column:1/-1}
}
@media(max-width:680px){
  .container{width:calc(100% - 28px)}.header{height:64px}.nav{height:64px}.logo{width:96px}
  h1{font-size:40px}.hero{min-height:auto}.hero-grid{min-height:auto}.hero-copy{padding-top:38px}.hero-visual{height:255px}.hero-visual:after{font-size:11px;right:18px;top:35px}
  .hero-values{display:grid;grid-template-columns:1fr}.hero-value{border-right:0;padding-right:0}
  .section{padding:44px 0}.about-grid{gap:22px}.about-cards{grid-template-columns:1fr}.about-card{min-height:auto}
  .special-copy{padding:38px 0 20px}.special-img{min-height:220px}.special-note{font-size:11px;right:17px}
  .ibom-menu{grid-template-columns:1fr 1fr}.ibom-item:nth-child(odd){border-right:1px solid #e0edf8}.ibom-item:nth-child(even){border-right:0}
  .project-side{grid-template-columns:1fr}.project-small{grid-template-columns:40% 60%;min-height:145px}.project-main{min-height:300px}.project-copy{max-width:78%}
  .award-grid{grid-template-columns:1fr}.award-card img{height:170px}
  .final-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.foot-bottom{flex-direction:column;gap:5px}
}


/* =========================================================
   V1.4 ROBUST — capability block
   All styles live in main style.css. No secondary CSS file.
   ========================================================= */

#capability.capability-v14{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  width:100%;
  min-width:0;
  align-content:start;
  align-items:stretch;
}

.cap-card-v14{
  min-width:0;
  min-height:190px;
  padding:18px 18px 16px;
  border:1px solid #d7e8f8;
  border-radius:12px;
  background:
    radial-gradient(circle at 92% 8%,rgba(38,130,235,.065),transparent 27%),
    linear-gradient(180deg,#ffffff 0%,#f9fcff 100%);
  box-shadow:0 6px 20px rgba(38,98,166,.045);
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.cap-card-v14:hover{
  transform:translateY(-2px);
  border-color:#a6cef3;
  box-shadow:0 11px 26px rgba(29,97,175,.085);
}

.cap-top-v14{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:42px;
  margin-bottom:7px;
}

.cap-no-v14{
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
  color:#8aa6c1;
}

.cap-icon-v14{
  width:42px;
  height:42px;
  min-width:42px;
  min-height:42px;
  max-width:42px;
  max-height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#edf6ff;
  border:1px solid #d8eafb;
  color:#0869e8;
  overflow:hidden;
}

.cap-icon-v14 svg{
  display:block!important;
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  min-height:26px!important;
  max-width:26px!important;
  max-height:26px!important;
  fill:none!important;
  stroke:#0869e8!important;
  stroke-width:1.8!important;
}

.cap-card-v14 h3{
  font-size:15.5px;
  line-height:1.25;
  margin:4px 0 7px;
  color:#063f9c;
  font-weight:750;
}

.cap-card-v14 p{
  font-size:11px;
  line-height:1.52;
  color:#506f92;
  margin:0 0 12px;
  max-width:95%;
}

.cap-bottom-v14{
  margin-top:auto;
  padding-top:11px;
  border-top:1px solid #e3edf7;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:31px;
}

.cap-keyline-v14{
  font-size:9px;
  line-height:1.3;
  font-weight:750;
  letter-spacing:.015em;
  color:#507ba8;
  white-space:normal;
}

.cap-accent-v14{
  width:52px;
  height:8px;
  min-width:52px;
  border-radius:999px;
  background:
    linear-gradient(90deg,
      #d9ebfb 0 18%,
      transparent 18% 23%,
      #add3f5 23% 48%,
      transparent 48% 53%,
      #71afe9 53% 76%,
      transparent 76% 81%,
      #2f85dd 81% 100%);
}

@media(max-width:1050px){
  .about-grid{
    grid-template-columns:1fr;
    align-items:start;
  }
  #capability.capability-v14{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:680px){
  #capability.capability-v14{
    grid-template-columns:1fr;
  }
  .cap-card-v14{
    min-height:175px;
  }
}


/* ===========================
   V1.5 FULL SITE
   =========================== */
.menu a.active{color:#0646ad}
.menu a.active:after{right:0}

/* Social: only Facebook + YouTube */
.social-v15{display:flex;gap:8px;margin-top:12px}
.social-v15 .social-link{
  width:32px;height:32px;border-radius:6px;background:#0759bd;color:#fff;
  display:grid;place-items:center;transition:.18s;box-shadow:0 5px 12px rgba(7,89,189,.12)
}
.social-v15 .social-link:hover{transform:translateY(-2px);background:#064ca2}
.social-v15 svg{width:17px;height:17px;fill:#fff;stroke:none}
.social-v15 svg .play{fill:#0759bd}

/* generic inner hero */
.inner-hero{
  min-height:330px;background:
    radial-gradient(circle at 85% 15%,rgba(65,160,250,.13),transparent 30%),
    linear-gradient(120deg,#f8fdff,#edf8ff);
  border-bottom:1px solid #e3eff8;overflow:hidden
}
.inner-hero-grid{min-height:330px;display:grid;grid-template-columns:54% 46%;align-items:center;gap:55px}
.inner-hero-copy{padding:48px 0}
.inner-hero-copy h1{font-size:clamp(40px,4.8vw,60px);color:#0646ad}
.inner-hero-copy p{font-size:15px;max-width:650px}
.inner-visual{
  height:230px;border:1px solid #d8e9f7;border-radius:18px;background:#fff;
  box-shadow:var(--shadow);padding:22px;overflow:hidden
}
.inner-visual.image{padding:0}.inner-visual.image img{width:100%;height:100%;object-fit:cover}
.inner-flow{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:100%}
.inner-flow div{border:1px solid #dbeaf7;background:#f8fcff;border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:750;color:#0758ba}

/* inner sections */
.content-section{padding:56px 0}
.content-section.soft{background:linear-gradient(180deg,#f8fcff,#eef8ff)}
.content-section.blue{background:linear-gradient(120deg,#0757bc,#0c74e6);color:#fff}
.content-section.blue p,.content-section.blue .section-intro{color:#dfefff}
.inner-head{display:grid;grid-template-columns:38% 62%;gap:55px;align-items:start;margin-bottom:28px}
.inner-head h2{font-size:clamp(29px,3vw,39px);color:#074cae;margin-bottom:0}
.content-section.blue .inner-head h2{color:#fff}
.section-intro{font-size:14px;line-height:1.65;color:#567493;margin:0}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stat-box{border:1px solid #d8e9f7;border-radius:12px;background:#fff;padding:22px}
.stat-box strong{font-size:30px;color:#0761d4}.stat-box span{display:block;font-size:11px;color:#7187a0;margin-top:4px}

/* clean editorial lists */
.editorial-list{border-top:1px solid #d9e7f4}
.editorial-row{display:grid;grid-template-columns:48px 220px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid #d9e7f4}
.editorial-row b{font-size:10px;color:#7d9cbc}
.editorial-row strong{font-size:14px;color:#074a9f}
.editorial-row span{font-size:11px;line-height:1.55;color:#67809b}
.content-section.blue .editorial-list{border-color:rgba(255,255,255,.2)}
.content-section.blue .editorial-row{border-color:rgba(255,255,255,.2)}
.content-section.blue .editorial-row b,.content-section.blue .editorial-row span{color:#c9ddf1}
.content-section.blue .editorial-row strong{color:#fff}

/* matrix/card */
.matrix-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.matrix-card{border:1px solid #d8e8f6;border-radius:12px;background:#fff;padding:20px;min-height:135px}
.matrix-card small{font-size:9px;color:#6d94bc;font-weight:800;letter-spacing:.08em}
.matrix-card h3{font-size:16px;color:#074a9f;margin:7px 0}
.matrix-card p{font-size:11px;line-height:1.5;margin:0}
.matrix-card .code{display:inline-block;margin-top:10px;padding:5px 8px;background:#edf6ff;color:#1e70c8;border-radius:999px;font-size:9px;font-weight:800}

/* timeline */
.timeline-v15{position:relative;padding-left:26px;border-left:2px solid #cfe1f2}
.timeline-item{position:relative;padding:0 0 26px 22px}
.timeline-item:before{content:"";position:absolute;left:-34px;top:4px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #0971e9}
.timeline-item h3{color:#074a9f;font-size:16px}.timeline-item p{font-size:11px;margin:0}

/* project list */
.project-list-v15{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.project-card-v15{display:grid;grid-template-columns:160px 1fr;border:1px solid #d9e8f5;border-radius:12px;overflow:hidden;background:#fff;min-height:150px}
.project-card-v15 img,.project-ph{width:100%;height:100%;object-fit:cover;background:linear-gradient(135deg,#e8f4ff,#d9eaf8)}
.project-card-v15 .body{padding:17px}
.project-card-v15 small{font-size:9px;color:#3280d1;text-transform:uppercase}
.project-card-v15 h3{font-size:16px;color:#074a9f;margin:6px 0}
.project-card-v15 p{font-size:10.5px;margin:0 0 8px}
.project-card-v15 a{font-size:10px;color:#096be0;font-weight:800}

/* case study */
.case-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.case-tag{padding:6px 9px;border:1px solid #bddaf4;border-radius:999px;background:#f2f8fe;color:#236eBA;font-size:9px;font-weight:750}
.case-scope{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.case-scope div{padding:17px;border:1px solid #dce9f4;background:#fff;border-radius:11px;font-size:11px;color:#456b92}
.case-process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #d7e8f6;border-radius:12px;overflow:hidden}
.case-process div{padding:18px;border-right:1px solid #d7e8f6;background:#fff}
.case-process div:last-child{border-right:0}.case-process b{display:block;color:#0753b5;font-size:12px}.case-process span{font-size:9.5px;color:#73889f}

/* contact */
.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.office-card{padding:20px;border:1px solid #d8e8f6;border-radius:12px;background:#fff}
.office-card h3{font-size:15px;color:#074a9f}.office-card p{font-size:10.5px;margin:0}
.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-box{padding:25px;border:1px solid #d8e8f6;border-radius:13px;background:#fff}
.contact-box h2{font-size:27px;color:#0750b3}.contact-box p{font-size:11px}

/* compact final cta for inner pages */
.inner-cta{padding:38px 0;background:linear-gradient(180deg,#eaf6ff,#ddebfa)}
.inner-cta-grid{display:flex;justify-content:space-between;gap:30px;align-items:center}
.inner-cta h2{font-size:27px;color:#074cae;margin:0 0 5px}.inner-cta p{font-size:10.5px;margin:0}

@media(max-width:1050px){
  .inner-hero-grid,.inner-head{grid-template-columns:1fr}
  .inner-hero-grid{gap:8px}.inner-visual{margin-bottom:30px}
  .matrix-grid,.stat-row,.case-scope{grid-template-columns:1fr 1fr}
  .project-list-v15,.office-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .inner-hero{min-height:auto}.inner-hero-grid{min-height:auto}.inner-hero-copy{padding:38px 0 15px}
  .inner-hero-copy h1{font-size:38px}.inner-visual{height:190px}
  .content-section{padding:44px 0}.inner-head{gap:10px}
  .editorial-row{grid-template-columns:34px 1fr}.editorial-row span{grid-column:2}
  .matrix-grid,.stat-row,.case-scope,.contact-split{grid-template-columns:1fr}
  .project-card-v15{grid-template-columns:120px 1fr}
  .case-process{grid-template-columns:1fr 1fr}.case-process div:nth-child(2){border-right:0}.case-process div:nth-child(-n+2){border-bottom:1px solid #d7e8f6}
  .inner-cta-grid{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   ISOFT CORPORATE V2 — CONTENT + SEO MIGRATION
   Signature page layouts layered on approved V1.4 style.
   ========================================================= */
:root{
  --v2-blue:#0667e8;
  --v2-deep:#043b91;
  --v2-ink:#073b8f;
  --v2-text:#48698f;
  --v2-line:#d8e9f7;
  --v2-pale:#eef8ff;
  --v2-pale2:#f8fcff;
  --v2-navy:#073f88;
  --v2-cyan:#76c7ff;
  --v2-max:1180px;
}
body{overflow-x:hidden}
main{min-height:50vh}
.menu a.active{color:#0646ad}
.menu a.active:after{right:0}
.mobile-menu.show{display:flex;flex-direction:column;padding:12px 24px 18px;background:#fff;border-top:1px solid #e8f0f7}
.mobile-menu.show a{padding:9px 0;font-size:13px;font-weight:700;color:#0751ad}
.v2-wrap{width:min(var(--v2-max),calc(100% - 48px));margin:auto}
.v2-kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:#1472d5;margin-bottom:12px}
.v2-title{font-size:clamp(38px,4.6vw,58px);line-height:1.03;letter-spacing:-.043em;color:#0646ad;margin:0 0 18px}
.v2-h2{font-size:clamp(30px,3.2vw,42px);line-height:1.08;letter-spacing:-.034em;color:#074ba9;margin:0 0 14px}
.v2-lead{font-size:15px;line-height:1.72;color:#4f6f93;max-width:680px}
.v2-copy{font-size:13px;line-height:1.75;color:#557493}
.v2-section{padding:66px 0}
.v2-section.soft{background:linear-gradient(180deg,#fbfdff,#eff8ff)}
.v2-section.blue{background:linear-gradient(125deg,#074ca8 0%,#0874dd 100%);color:#fff}
.v2-section.blue .v2-h2,.v2-section.blue .v2-kicker{color:#fff}
.v2-section.blue p{color:#dbeeff}
.v2-head{display:grid;grid-template-columns:40% 60%;gap:58px;align-items:start;margin-bottom:32px}
.v2-head p{margin:0}
.v2-link{font-size:11px;font-weight:800;color:#0b6edc;display:inline-flex;gap:7px;align-items:center}
.v2-divider{border-top:1px solid var(--v2-line)}

/* Shared compact corporate hero — variants do the visual work */
.v2-hero{min-height:360px;position:relative;overflow:hidden;background:linear-gradient(120deg,#f9fdff,#edf8ff)}
.v2-hero-grid{min-height:360px;display:grid;grid-template-columns:52% 48%;align-items:center;gap:45px}
.v2-hero-copy{padding:50px 0}
.v2-hero-copy .v2-title{max-width:720px}
.v2-hero-media{height:260px;border-radius:18px;overflow:hidden;position:relative;border:1px solid #dbeaf7;background:#eaf5fd;box-shadow:0 18px 45px rgba(35,97,164,.08)}
.v2-hero-media img{width:100%;height:100%;object-fit:cover}
.v2-hero-media:after{content:"";position:absolute;inset:0;box-shadow:inset 25px 0 38px rgba(240,249,255,.33)}
.v2-crumbs{font-size:9px;color:#7c98b4;margin-bottom:12px}.v2-crumbs a{color:#4f7eac}

/* ABOUT signature: image ribbon + timeline + value composition */
.about-v2-hero{background:
 radial-gradient(circle at 14% 10%,rgba(104,187,255,.18),transparent 28%),
 linear-gradient(110deg,#fbfeff 0%,#eef9ff 55%,#e7f5ff 100%)}
.about-v2-hero .v2-hero-media{height:285px;transform:rotate(1.2deg);margin-right:-35px}
.about-v2-hero .v2-hero-media img{object-position:center}
.about-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--v2-line);border-bottom:1px solid var(--v2-line)}
.about-year{padding:26px 24px;position:relative;border-right:1px solid var(--v2-line)}
.about-year:last-child{border-right:0}
.about-year:before{content:"";position:absolute;top:-5px;left:24px;width:10px;height:10px;border-radius:50%;background:var(--v2-blue);box-shadow:0 0 0 5px #e6f3ff}
.about-year strong{font-size:30px;color:#0a65d4;display:block;margin-bottom:8px}
.about-year b{font-size:13px;color:#0648a6}
.about-year p{font-size:11px;line-height:1.55;margin:6px 0 0}
.about-now{display:grid;grid-template-columns:55% 45%;gap:30px;align-items:stretch}
.about-stat-panel{display:grid;grid-template-columns:repeat(3,1fr);border-radius:16px;overflow:hidden;border:1px solid #d5e8f8;background:#fff}
.about-stat{padding:30px 22px;border-right:1px solid #dcebf7}.about-stat:last-child{border-right:0}
.about-stat strong{display:block;font-size:36px;color:#0867d5}.about-stat span{font-size:10px;color:#7188a0}
.about-focus{border-radius:16px;padding:30px;background:linear-gradient(135deg,#073f8a,#096dd2);color:#fff;position:relative;overflow:hidden}
.about-focus:after{content:"IBOM";position:absolute;right:-10px;bottom:-38px;font-size:100px;font-weight:900;color:rgba(255,255,255,.06)}
.about-focus p{color:#d9ebfb;font-size:11px}
.value-composition{display:grid;grid-template-columns:37% 63%;gap:24px;align-items:center}
.value-image{height:330px;border-radius:17px;overflow:hidden;box-shadow:0 16px 40px rgba(31,92,151,.1)}
.value-image img{width:100%;height:100%;object-fit:cover}
.value-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d9e8f5;border-left:1px solid #d9e8f5}
.value-item{padding:23px;border-right:1px solid #d9e8f5;border-bottom:1px solid #d9e8f5;background:#fff;min-height:130px}
.value-item span{font-size:9px;color:#72a0ca}.value-item b{display:block;font-size:15px;margin:5px 0;color:#074a9f}.value-item p{font-size:10.5px;margin:0}
.award-wall{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:165px 125px;gap:12px}
.award-wall figure{margin:0;border:1px solid #dbe9f5;border-radius:13px;overflow:hidden;background:#fff;position:relative}
.award-wall figure:first-child{grid-row:1/3}
.award-wall img{width:100%;height:100%;object-fit:cover}
.award-wall figcaption{position:absolute;left:12px;right:12px;bottom:10px;padding:7px 9px;background:rgba(255,255,255,.9);border-radius:7px;font-size:9px;font-weight:800;color:#0750ac}

/* CAPABILITY signature: constellation + workflow + data ladder */
.cap-v2-hero{background:
 radial-gradient(circle at 68% 50%,rgba(82,170,255,.17),transparent 23%),
 linear-gradient(115deg,#fbfeff,#edf8ff)}
.cap-map{height:285px;position:relative;border:1px solid #dcebf7;border-radius:18px;background:
 radial-gradient(circle at center,rgba(32,120,225,.08),transparent 42%),#fff;overflow:hidden}
.cap-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:112px;height:112px;border-radius:50%;background:linear-gradient(135deg,#0751b6,#0c7ce9);display:grid;place-items:center;color:#fff;font-size:20px;font-weight:850;box-shadow:0 15px 35px rgba(7,88,183,.2)}
.cap-node{position:absolute;padding:9px 12px;border:1px solid #cfe3f5;background:#f9fcff;border-radius:999px;font-size:9px;font-weight:800;color:#0752ad;white-space:nowrap}
.cap-node.n1{left:8%;top:14%}.cap-node.n2{right:8%;top:14%}.cap-node.n3{left:4%;bottom:17%}.cap-node.n4{right:4%;bottom:17%}.cap-node.n5{left:38%;top:8%}.cap-node.n6{left:38%;bottom:8%}
.cap-spoke{position:absolute;height:1px;background:#a7ccef;transform-origin:left center;opacity:.8}
.cap-spoke.s1{width:125px;left:24%;top:29%;transform:rotate(25deg)}.cap-spoke.s2{width:125px;right:16%;top:30%;transform:rotate(155deg)}
.cap-spoke.s3{width:140px;left:21%;bottom:29%;transform:rotate(-26deg)}.cap-spoke.s4{width:140px;right:13%;bottom:29%;transform:rotate(206deg)}
.workflow-v2{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #d8e8f5;border-radius:14px;overflow:hidden;background:#fff}
.workflow-step{padding:20px 12px;border-right:1px solid #d8e8f5;min-height:125px}.workflow-step:last-child{border-right:0}
.workflow-step small{font-size:9px;color:#77a0c7}.workflow-step b{display:block;font-size:11px;color:#074ca8;margin:8px 0 5px}.workflow-step span{font-size:9px;line-height:1.45;color:#748ba2}
.domain-editorial{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #d7e7f4}
.domain-row{display:grid;grid-template-columns:45px 1fr;gap:14px;padding:20px 22px 20px 0;border-bottom:1px solid #d7e7f4}
.domain-row:nth-child(odd){border-right:1px solid #d7e7f4;margin-right:22px}.domain-row:nth-child(even){padding-left:22px}
.domain-row em{font-style:normal;font-size:9px;color:#78a0c8}.domain-row b{font-size:14px;color:#074a9f;display:block;margin-bottom:5px}.domain-row p{font-size:10.5px;margin:0}
.data-ladder{display:grid;grid-template-columns:42% 58%;gap:35px;align-items:center}
.data-stack{display:grid;gap:9px}
.data-step{padding:16px 18px;border-radius:11px;background:#fff;border:1px solid #cfe4f6;display:grid;grid-template-columns:35px 1fr;gap:10px;align-items:center}
.data-step i{font-style:normal;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e8f4ff;color:#0769d9;font-size:10px;font-weight:850}
.data-step b{font-size:12px;color:#074b9f}.data-step span{display:block;font-size:9px;color:#7890a7;margin-top:2px}

/* SOLUTIONS signature: interactive stage */
.solution-v2-hero .v2-hero-media{height:300px}.solution-v2-hero .v2-hero-media img{object-position:center 58%}
.solution-switch{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:stretch}
.solution-tabs{display:flex;flex-direction:column;gap:8px}
.solution-tab{border:1px solid #d6e8f7;background:#fff;color:#0750a8;padding:15px 16px;border-radius:10px;text-align:left;font:inherit;font-size:11px;font-weight:800;cursor:pointer;transition:.18s}
.solution-tab:hover,.solution-tab.active{background:#075fd0;color:#fff;border-color:#075fd0;transform:translateX(4px)}
.solution-stage{border:1px solid #d7e8f5;border-radius:16px;background:#fff;min-height:340px;overflow:hidden;position:relative}
.solution-panel{display:none;padding:34px}.solution-panel.active{display:block;animation:v2fade .25s ease}
@keyframes v2fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
.solution-panel h3{font-size:28px;color:#074aa2;margin-bottom:11px}
.solution-panel .solution-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}
.solution-panel h4{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6a94bd;margin:0 0 8px}
.solution-panel ul{margin:0;padding-left:18px;color:#557493;font-size:10.5px;line-height:1.7}
.solution-band{display:grid;grid-template-columns:1fr 1fr;border-radius:18px;overflow:hidden;box-shadow:0 15px 38px rgba(31,96,161,.08)}
.solution-band>div{min-height:230px;padding:32px;position:relative}
.solution-band .owner{background:#0754b8;color:#fff}.solution-band .contractor{background:#e9f5ff}
.solution-band h3{font-size:25px}.solution-band .owner p{color:#ddecfb}.solution-band p{font-size:11px}
.ecosystem-line{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #d7e8f5;border-bottom:1px solid #d7e8f5}
.eco-cell{padding:18px 12px;border-right:1px solid #d7e8f5;text-align:center}.eco-cell:last-child{border-right:0}
.eco-cell b{display:block;font-size:11px;color:#074a9f}.eco-cell span{font-size:9px;color:#7a91a7}

/* PROJECTS signature: collage + filters + masonry */
.projects-v2-hero{padding:40px 0 28px;background:#f7fbff}
.project-collage{display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:160px 120px;gap:10px}
.project-collage figure{margin:0;border-radius:12px;overflow:hidden;position:relative}
.project-collage figure:first-child{grid-row:1/3}
.project-collage img{width:100%;height:100%;object-fit:cover}
.project-collage figcaption{position:absolute;left:10px;bottom:8px;background:rgba(5,48,103,.8);color:#fff;font-size:8px;padding:5px 7px;border-radius:5px}
.project-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.filter-btn{border:1px solid #cfe3f5;background:#fff;color:#316b9f;border-radius:999px;padding:8px 12px;font-size:9px;font-weight:800;cursor:pointer}
.filter-btn.active{background:#075fd0;color:#fff;border-color:#075fd0}
.masonry-v2{columns:3 260px;column-gap:14px}
.masonry-card{break-inside:avoid;margin-bottom:14px;border:1px solid #d8e8f5;border-radius:13px;overflow:hidden;background:#fff;transition:.18s}
.masonry-card.hide{display:none}.masonry-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(30,92,151,.09)}
.masonry-card img{width:100%;max-height:250px;object-fit:cover}.masonry-body{padding:15px}
.masonry-body small{font-size:8.5px;color:#4d8ac6;text-transform:uppercase}.masonry-body h3{font-size:16px;color:#07499f;margin:6px 0}.masonry-body p{font-size:10px;margin:0 0 8px}
.bluemarq-proof{border-radius:18px;background:linear-gradient(135deg,#073e87,#086bd6);color:#fff;padding:34px;display:grid;grid-template-columns:42% 58%;gap:30px;align-items:center;overflow:hidden;position:relative}
.bluemarq-proof:after{content:"NHG";position:absolute;right:-15px;bottom:-65px;font-size:170px;font-weight:900;color:rgba(255,255,255,.04)}
.bluemarq-proof h2{font-size:31px;color:#fff}.bluemarq-proof p{color:#d9ebfb;font-size:11px}
.nhg-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative;z-index:1}.nhg-flow div{padding:15px 10px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.08);font-size:9px;text-align:center;font-weight:700}

/* IBOM signature: authentic architecture + layered platform */
.ibom-v2-hero{background:linear-gradient(118deg,#f7fcff 0%,#e9f6ff 100%)}
.ibom-arch{height:300px;padding:10px;background:#fff;border-radius:18px;border:1px solid #d8e8f5;box-shadow:0 16px 40px rgba(27,92,154,.08)}
.ibom-arch img{width:100%;height:100%;object-fit:contain}
.platform-core{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center}
.core-stack{position:relative;min-height:330px;display:grid;place-items:center}
.core-layer{position:absolute;width:68%;height:78px;border-radius:16px;display:grid;place-items:center;color:#fff;font-weight:850;font-size:14px;box-shadow:0 17px 35px rgba(7,89,190,.17);border:1px solid rgba(255,255,255,.65)}
.core-layer.l1{top:25px;width:56%;background:linear-gradient(135deg,#8bcfff,#3388ef)}
.core-layer.l2{top:113px;width:68%;background:linear-gradient(135deg,#4fa8ff,#0870e8)}
.core-layer.l3{top:201px;width:80%;background:linear-gradient(135deg,#1d83ee,#064eae)}
.ibom-orbit{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.orbit-item{border:1px solid #d6e8f6;border-radius:13px;background:#fff;padding:18px;text-align:center;min-height:120px}
.orbit-item b{display:block;color:#0750a9;font-size:13px}.orbit-item span{font-size:9px;color:#7c92a7}
.core-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.core-card{padding:23px;border-radius:13px;background:#fff;border:1px solid #d7e8f5}
.core-card h3{color:#074ca6;font-size:16px}.core-card p{font-size:10.5px;margin:0}

/* PARTNERSHIP signature: ladder + comparison */
.partner-hero{background:
 linear-gradient(120deg,#f9fdff 0%,#edf8ff 60%,#e3f2ff 100%)}
.partner-ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end}
.partner-step{border-radius:16px;padding:26px;border:1px solid #d6e8f6;background:#fff;position:relative;overflow:hidden}
.partner-step:nth-child(1){min-height:230px}.partner-step:nth-child(2){min-height:270px;background:#f0f8ff}.partner-step:nth-child(3){min-height:310px;background:linear-gradient(145deg,#0752b5,#0877e2);color:#fff}
.partner-step:nth-child(3) p,.partner-step:nth-child(3) small{color:#ddebfb}.partner-step:nth-child(3) h3{color:#fff}
.partner-step small{font-size:9px;color:#7299be}.partner-step h3{font-size:20px;color:#074ba5;margin-top:8px}.partner-step p{font-size:10.5px}
.partner-step .level{position:absolute;right:14px;bottom:-24px;font-size:92px;font-weight:900;color:rgba(7,93,201,.06)}
.partner-step:nth-child(3) .level{color:rgba(255,255,255,.08)}
.compare-table{width:100%;border-collapse:collapse;font-size:10px;background:#fff;border-radius:14px;overflow:hidden}
.compare-table th,.compare-table td{padding:13px 15px;border-bottom:1px solid #e0ebf5;text-align:left}
.compare-table th{background:#eff7ff;color:#0750aa;font-size:10px}.compare-table td{color:#587591}

/* CONTACT signature */
.contact-v2-hero{min-height:280px;background:linear-gradient(115deg,#fafefe,#eaf6ff)}
.contact-v2-grid{display:grid;grid-template-columns:55% 45%;gap:30px}
.office-rail{position:relative;padding-left:33px}
.office-rail:before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:#cfe3f4}
.office-node{position:relative;padding:0 0 30px}.office-node:last-child{padding-bottom:0}
.office-node:before{content:"";position:absolute;left:-31px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #0870df}
.office-node h3{font-size:15px;color:#074da8}.office-node p{font-size:10.5px;margin:5px 0 0}
.contact-actions{display:grid;gap:12px}
.contact-action{border-radius:17px;padding:28px;border:1px solid #d5e7f6;background:#fff;position:relative;overflow:hidden}
.contact-action.primary{background:linear-gradient(135deg,#0753b7,#0875df);color:#fff}.contact-action.primary h3{color:#fff}.contact-action.primary p{color:#dcecff}
.contact-action h3{font-size:22px;color:#074ba3}.contact-action p{font-size:11px}
.contact-action .btn{margin-top:5px}
.social-large{display:flex;gap:10px;margin-top:18px}.social-large a{width:40px;height:40px;border-radius:8px;background:#0759bd;color:#fff;display:grid;place-items:center}
.social-large svg{width:19px;height:19px;fill:#fff}

/* SERVICES signature */
.service-index-hero{background:linear-gradient(120deg,#f9fdff,#edf8ff)}
.service-lanes{display:grid;gap:14px}
.service-lane{display:grid;grid-template-columns:31% 1fr 120px;gap:24px;align-items:center;border-bottom:1px solid #d8e8f5;padding:0 0 14px}
.service-lane:nth-child(even){grid-template-columns:120px 1fr 31%}
.service-lane:nth-child(even) .service-img{grid-column:3}.service-lane:nth-child(even) .service-text{grid-column:2;grid-row:1}.service-lane:nth-child(even) .service-no{grid-column:1;grid-row:1}
.service-img{height:150px;border-radius:13px;overflow:hidden;background:#edf6fd}.service-img img{width:100%;height:100%;object-fit:cover}
.service-text h3{font-size:22px;color:#074ba5;margin-bottom:7px}.service-text p{font-size:10.5px;margin-bottom:8px}.service-no{font-size:46px;font-weight:900;color:#e2effa;text-align:center}
.service-detail-hero .v2-hero-media img{object-fit:contain;background:#fff}
.service-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-point{padding:20px;border:1px solid #d7e8f5;border-radius:13px;background:#fff}
.service-point b{font-size:13px;color:#0750a8;display:block;margin-bottom:6px}.service-point p{font-size:10px;margin:0}
.service-source{display:grid;grid-template-columns:37% 63%;gap:24px;align-items:center}.service-source-media{height:300px;border-radius:16px;overflow:hidden}
.service-source-media img{width:100%;height:100%;object-fit:cover}

/* SOLUTION detail */
.solution-detail-hero{background:linear-gradient(118deg,#f9fdff,#edf7ff)}
.solution-detail-map{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.solution-detail-map div{padding:15px;border:1px solid #d7e8f5;border-radius:11px;background:#fff;font-size:10px;color:#537697}
.solution-proof{display:grid;grid-template-columns:42% 58%;gap:22px}.solution-proof img{width:100%;height:260px;object-fit:cover;border-radius:15px}
.solution-proof-copy{padding:20px 0}

/* CASE STUDY signature */
.case-v2-hero{padding:44px 0;background:linear-gradient(120deg,#f8fcff,#edf7ff)}
.case-v2-grid{display:grid;grid-template-columns:44% 56%;gap:35px;align-items:center}
.case-cover{height:330px;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(31,91,151,.1);background:linear-gradient(135deg,#e8f5ff,#d8ebfa)}
.case-cover img{width:100%;height:100%;object-fit:cover}
.case-data-hero{height:330px;border-radius:18px;padding:28px;background:linear-gradient(135deg,#073f8b,#0870dc);color:#fff;display:grid;align-content:center;gap:12px}
.case-data-hero .nhg-flow{grid-template-columns:1fr 1fr}.case-data-hero h3{font-size:22px;color:#fff}
.case-v2-copy h1{font-size:clamp(38px,4.6vw,58px);color:#0647a8;line-height:1.03;letter-spacing:-.04em}
.case-v2-copy p{font-size:13px}
.case-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.case-tags span{padding:6px 9px;border-radius:999px;background:#eaf5ff;border:1px solid #cfe4f5;color:#3276b7;font-size:8.5px;font-weight:750}
.case-proof{display:grid;grid-template-columns:55% 45%;gap:30px;align-items:center}
.case-system{height:360px;border:1px solid #d8e8f5;border-radius:17px;overflow:hidden;background:#fff;box-shadow:0 14px 35px rgba(36,96,156,.08)}
.case-system img{width:100%;height:100%;object-fit:contain}
.case-scope-list{border-top:1px solid #d7e7f4}.case-scope-row{display:grid;grid-template-columns:35px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #d7e7f4}
.case-scope-row b{font-size:9px;color:#7ca0c3}.case-scope-row span{font-size:11px;color:#517396}
.case-related{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.case-related a{border:1px solid #d7e8f5;border-radius:12px;padding:15px;background:#fff;font-size:11px;font-weight:800;color:#0751ad}

/* FAQ */
.faq-list{max-width:900px;margin:auto;border-top:1px solid #d8e8f5}
.faq-item{border-bottom:1px solid #d8e8f5}
.faq-q{width:100%;display:flex;justify-content:space-between;gap:20px;background:none;border:0;padding:18px 0;text-align:left;font:inherit;font-size:13px;font-weight:800;color:#074ca6;cursor:pointer}
.faq-q span:last-child{color:#1780e8;font-size:18px}
.faq-a{display:none;padding:0 45px 18px 0;color:#587793;font-size:11px;line-height:1.7}.faq-item.open .faq-a{display:block}

/* Legacy SEO retention article pages — not in main nav */
.legacy-article{max-width:860px;margin:auto;padding:55px 24px 70px}
.legacy-article .meta{font-size:10px;color:#7b96b0;margin-bottom:12px}
.legacy-article h1{font-size:clamp(34px,4.5vw,50px);color:#0648a8;line-height:1.08}
.legacy-content{font-size:14px;line-height:1.75;color:#395a79}
.legacy-content h2{font-size:26px;color:#074ca6;margin-top:36px}.legacy-content h3{font-size:21px;color:#0754af;margin-top:28px}
.legacy-content img{max-width:100%;height:auto;border-radius:9px;margin:18px auto;display:block}
.legacy-content table{width:100%;border-collapse:collapse;font-size:11px}.legacy-content td,.legacy-content th{border:1px solid #d8e8f5;padding:8px}
.legacy-content blockquote{margin:20px 0;padding:15px 20px;border-left:3px solid #0b71df;background:#f2f8fe}
.legacy-content a{color:#096bdd;text-decoration:underline}
.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.archive-card{border:1px solid #d8e8f5;border-radius:12px;padding:16px;background:#fff}.archive-card small{font-size:9px;color:#7893ac}.archive-card h3{font-size:14px;color:#074ca5;margin:6px 0}.archive-card a{font-size:10px;color:#0b6bd4;font-weight:800}

/* generic CTA */
.v2-cta{padding:38px 0;background:linear-gradient(180deg,#edf8ff,#dceefc)}
.v2-cta-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.v2-cta h2{font-size:27px;color:#074ba7;margin:0 0 5px}.v2-cta p{font-size:10.5px;margin:0}

/* Breadcrumb + SEO service nav */
.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.subnav a{font-size:9px;border:1px solid #cfe3f5;border-radius:999px;padding:6px 9px;color:#3e78ac;background:#fff}

/* local review dashboard */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.review-card{padding:16px;border:1px solid #d7e8f5;border-radius:12px;background:#fff}.review-card b{font-size:13px;color:#074ca6}.review-card span{display:block;font-size:9.5px;color:#758da4;margin-top:5px}

/* responsive */
@media(max-width:1050px){
  .v2-hero-grid,.v2-head,.about-now,.value-composition,.platform-core,.data-ladder,.contact-v2-grid,.service-source,.solution-proof,.case-proof,.case-v2-grid{grid-template-columns:1fr}
  .v2-hero-grid{gap:0}.v2-hero-media{margin-bottom:35px}
  .about-timeline,.partner-ladder{grid-template-columns:1fr}.about-year{border-right:0;border-bottom:1px solid #d8e8f5}.about-year:last-child{border-bottom:0}
  .award-wall{grid-template-columns:1fr 1fr;grid-template-rows:200px 150px}.award-wall figure:first-child{grid-column:1/3;grid-row:auto}
  .workflow-v2{grid-template-columns:repeat(4,1fr)}.workflow-step:nth-child(4){border-right:0}.workflow-step:nth-child(-n+4){border-bottom:1px solid #d8e8f5}
  .solution-switch{grid-template-columns:1fr}.solution-tabs{flex-direction:row;overflow:auto}.solution-tab{min-width:180px}.solution-tab:hover,.solution-tab.active{transform:none}
  .ecosystem-line{grid-template-columns:repeat(3,1fr)}.eco-cell:nth-child(3n){border-right:0}
  .project-collage{grid-template-columns:1fr 1fr;grid-template-rows:210px 150px}.project-collage figure:first-child{grid-column:1/3;grid-row:auto}
  .bluemarq-proof{grid-template-columns:1fr}.case-system{height:320px}
  .service-lane,.service-lane:nth-child(even){grid-template-columns:32% 1fr 70px}.service-lane:nth-child(even) .service-img{grid-column:1}.service-lane:nth-child(even) .service-text{grid-column:2}.service-lane:nth-child(even) .service-no{grid-column:3}
  .service-points,.case-related,.review-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .v2-wrap{width:calc(100% - 28px)}.v2-section{padding:48px 0}.v2-title{font-size:39px}.v2-h2{font-size:30px}.v2-hero{min-height:auto}.v2-hero-grid{min-height:auto}.v2-hero-copy{padding:38px 0 18px}.v2-hero-media{height:205px}
  .about-stat-panel{grid-template-columns:1fr}.about-stat{border-right:0;border-bottom:1px solid #dcebf7}.about-stat:last-child{border-bottom:0}
  .value-list,.domain-editorial{grid-template-columns:1fr}.domain-row:nth-child(odd){border-right:0;margin-right:0}.domain-row:nth-child(even){padding-left:0}
  .award-wall{grid-template-columns:1fr;grid-template-rows:auto}.award-wall figure:first-child{grid-column:auto}.award-wall figure{height:180px}
  .workflow-v2{grid-template-columns:1fr 1fr}.workflow-step{border-bottom:1px solid #d8e8f5}.workflow-step:nth-child(even){border-right:0}
  .solution-panel{padding:22px}.solution-panel .solution-grid,.solution-band{grid-template-columns:1fr}.ecosystem-line{grid-template-columns:1fr 1fr}.eco-cell:nth-child(odd){border-right:1px solid #d7e8f5}.eco-cell:nth-child(even){border-right:0}
  .project-collage{grid-template-columns:1fr;grid-template-rows:220px 130px 130px}.project-collage figure:first-child{grid-column:auto}.nhg-flow{grid-template-columns:1fr 1fr}
  .masonry-v2{columns:1}.ibom-orbit,.core-strip,.partner-ladder,.service-points,.case-related,.review-grid{grid-template-columns:1fr}
  .partner-step{min-height:auto!important}.service-lane,.service-lane:nth-child(even){grid-template-columns:1fr}.service-lane:nth-child(even) .service-img,.service-lane:nth-child(even) .service-text,.service-lane:nth-child(even) .service-no{grid-column:auto;grid-row:auto}.service-no{text-align:left;font-size:28px}
  .case-cover,.case-data-hero{height:250px}.case-system{height:240px}
  .archive-grid{grid-template-columns:1fr}.v2-cta-grid{grid-template-columns:1fr;align-items:start}
}


/* =========================================================
   ABOUT V2.3 – DIGITAL COMPANY PROFILE
   Independent editorial layout; no reuse of previous about page patterns.
   ========================================================= */
.profileAbout{
  background:#fff;
  color:#173e68;
}
.pa-wrap{
  width:min(1180px,calc(100% - 52px));
  margin:auto;
}
.pa-kicker{
  font-size:9px;
  line-height:1.4;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:850;
  color:#1473d4;
  margin-bottom:13px;
}
.pa-kicker.light{color:#8bc7ff}

/* HERO */
.pa-hero{
  position:relative;
  overflow:hidden;
  min-height:610px;
  background:
    radial-gradient(circle at 18% 12%,rgba(93,181,255,.17),transparent 30%),
    linear-gradient(114deg,#fbfeff 0%,#f1f9ff 49%,#e7f5ff 100%);
}
.pa-hero:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:110px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.55));
  pointer-events:none;
}
.pa-hero-grid{
  width:min(1280px,calc(100% - 44px));
  margin:auto;
  min-height:610px;
  display:grid;
  grid-template-columns:52% 48%;
  gap:34px;
  align-items:center;
}
.pa-hero-copy{
  padding:62px 0 78px;
  position:relative;
  z-index:2;
}
.pa-hero-copy h1{
  max-width:760px;
  margin:0 0 24px;
  font-size:clamp(48px,5.25vw,72px);
  line-height:.99;
  letter-spacing:-.055em;
  font-weight:800;
  color:#0747a2;
}
.pa-hero-copy>p{
  max-width:650px;
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#4e6f91;
}
.pa-hero-yearline{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:34px;
  max-width:640px;
}
.pa-hero-yearline span{
  min-width:108px;
  font-size:8.5px;
  line-height:1.35;
  color:#718ba5;
}
.pa-hero-yearline span b{
  display:block;
  font-size:15px;
  color:#0757ba;
  margin-bottom:2px;
}
.pa-hero-yearline i{
  flex:1;
  min-width:28px;
  height:1px;
  background:#9bc8ed;
  position:relative;
}
.pa-hero-yearline i:after{
  content:"";
  position:absolute;right:-2px;top:-3px;
  width:7px;height:7px;border-radius:50%;background:#3f91dc;
}
.pa-hero-collage{
  position:relative;
  height:500px;
  margin-right:-48px;
}
.pa-img{
  margin:0;
  position:absolute;
  overflow:hidden;
  border-radius:17px;
  background:#edf6fd;
  box-shadow:0 20px 50px rgba(28,87,145,.12);
  border:1px solid rgba(255,255,255,.82);
}
.pa-img img{width:100%;height:100%;object-fit:cover}
.pa-img-main{left:12%;top:62px;width:62%;height:370px;z-index:2}
.pa-img-top{right:0;top:9px;width:34%;height:195px;z-index:3}
.pa-img-bottom{right:4%;bottom:19px;width:40%;height:215px;z-index:4;background:#fff}
.pa-img-bottom img{object-fit:contain;padding:10px}
.pa-hero-caption{
  position:absolute;
  left:2%;
  bottom:33px;
  z-index:5;
  width:235px;
  padding:16px 18px;
  background:#fff;
  border:1px solid #d8e8f5;
  border-radius:12px;
  box-shadow:0 12px 30px rgba(27,86,145,.10);
}
.pa-hero-caption small{
  display:block;
  font-size:7.5px;
  letter-spacing:.12em;
  font-weight:800;
  color:#74a0c7;
  margin-bottom:6px;
}
.pa-hero-caption strong{
  font-size:13px;
  line-height:1.45;
  color:#0750aa;
}

/* INTRO STATEMENT */
.pa-intro-statement{
  padding:86px 0 72px;
  overflow:hidden;
  background:#fff;
}
.pa-intro-statement .pa-wrap{
  display:grid;
  grid-template-columns:38% 62%;
  align-items:center;
  gap:34px;
}
.pa-bigword{
  font-size:clamp(92px,12vw,170px);
  line-height:.8;
  font-weight:900;
  letter-spacing:-.08em;
  color:#edf5fb;
  margin-left:-14px;
}
.pa-intro-copy h2{
  margin:0 0 18px;
  max-width:730px;
  font-size:clamp(31px,3.25vw,45px);
  line-height:1.08;
  letter-spacing:-.04em;
  color:#074aa3;
}
.pa-intro-copy p{
  max-width:700px;
  margin:0;
  font-size:12px;
  line-height:1.75;
  color:#587692;
}

/* CHAPTERS */
.pa-chapter{
  padding:82px 0;
  position:relative;
}
.pa-chapter-2003{
  background:linear-gradient(180deg,#f8fcff,#edf7ff);
}
.pa-chapter-grid{
  display:grid;
  grid-template-columns:24% 43% 33%;
  gap:34px;
  align-items:center;
}
.pa-year-visual{
  min-height:320px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid #bfd9ef;
}
.pa-year-visual>span{
  font-size:9px;
  color:#7596b7;
  letter-spacing:.12em;
}
.pa-year-visual strong{
  display:block;
  font-size:clamp(72px,8vw,112px);
  line-height:.9;
  letter-spacing:-.07em;
  color:#0a65d3;
  margin:12px 0 13px;
}
.pa-year-visual small{
  font-size:9px;
  font-weight:800;
  color:#6487a9;
}
.pa-chapter-copy h2,
.pa-2008-copy h2,
.pa-today-head h2,
.pa-specialization-copy h2,
.pa-values-head h2,
.pa-manifesto h2,
.pa-awards-head h2,
.pa-next h2{
  margin:0;
  font-size:clamp(30px,3.15vw,44px);
  line-height:1.08;
  letter-spacing:-.038em;
}
.pa-chapter-copy h2{color:#074ba6}
.pa-chapter-copy>p{
  font-size:12px;line-height:1.75;color:#557391;
}
.pa-mini-facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:22px;
}
.pa-mini-facts div{
  padding:14px 0;
  border-top:1px solid #cfe1ef;
}
.pa-mini-facts b{
  display:block;
  font-size:11px;
  color:#0750a9;
  margin-bottom:4px;
}
.pa-mini-facts span{
  font-size:9px;
  color:#7189a0;
}
.pa-chapter-image{
  height:310px;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 16px 38px rgba(29,88,148,.1);
}
.pa-chapter-image img{width:100%;height:100%;object-fit:cover}

/* 2008 NAVY SPREAD */
.pa-chapter-2008{
  padding:92px 0;
  background:
    radial-gradient(circle at 72% 35%,rgba(58,148,236,.23),transparent 30%),
    linear-gradient(120deg,#052e68,#074c9b 64%,#075fbe);
  overflow:hidden;
}
.pa-2008-grid{
  display:grid;
  grid-template-columns:45% 55%;
  gap:50px;
  align-items:center;
}
.pa-2008-year{
  font-size:clamp(88px,11vw,150px);
  line-height:.76;
  letter-spacing:-.08em;
  font-weight:900;
  color:rgba(255,255,255,.10);
  margin:8px 0 28px;
}
.pa-2008-copy h2{color:#fff;font-size:clamp(37px,4.3vw,58px)}
.pa-2008-copy>p{
  max-width:600px;
  font-size:12.5px;
  line-height:1.75;
  color:#d7eafb;
}
.pa-ibom-mark{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:16px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:10px;
  background:rgba(255,255,255,.07);
}
.pa-ibom-mark b{font-size:18px;color:#fff}
.pa-ibom-mark span{font-size:9px;color:#c6e0f6}
.pa-2008-visual{
  position:relative;
  height:390px;
  display:grid;
  place-items:center;
}
.pa-2008-visual:before{
  content:"";
  position:absolute;
  width:340px;height:340px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:
    0 0 0 55px rgba(255,255,255,.025),
    0 0 0 110px rgba(255,255,255,.018);
}
.pa-2008-visual img{
  width:76%;
  max-height:300px;
  object-fit:contain;
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 22px 55px rgba(0,0,0,.16);
  position:relative;
  z-index:2;
}
.pa-orbit{
  position:absolute;
  z-index:3;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.34);
  background:rgba(4,51,111,.72);
  backdrop-filter:blur(7px);
  color:#fff;
  font-size:8.5px;
  font-weight:800;
}
.pa-orbit.o1{left:3%;top:22%}.pa-orbit.o2{right:3%;top:27%}.pa-orbit.o3{right:11%;bottom:18%}

/* TODAY */
.pa-today{
  padding:86px 0 82px;
  background:#fff;
}
.pa-today-head{
  display:grid;
  grid-template-columns:56% 44%;
  gap:54px;
  align-items:end;
}
.pa-today-head h2{color:#074ba6}
.pa-today-head>p{
  margin:0;
  font-size:12px;
  line-height:1.75;
  color:#587692;
}
.pa-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:45px;
  border-top:1px solid #d5e7f5;
  border-bottom:1px solid #d5e7f5;
}
.pa-stats div{
  padding:31px 30px;
  border-right:1px solid #d5e7f5;
}
.pa-stats div:last-child{border-right:0}
.pa-stats strong{
  display:block;
  font-size:54px;
  line-height:1;
  letter-spacing:-.05em;
  color:#0965d1;
}
.pa-stats span{
  display:block;
  margin-top:8px;
  font-size:10px;
  color:#6e879f;
}
.pa-capability-ribbon{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  margin-top:45px;
  border-top:1px solid #d9e7f3;
  border-bottom:1px solid #d9e7f3;
}
.pa-capability-ribbon div{
  min-height:105px;
  padding:20px 14px;
  border-right:1px solid #d9e7f3;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.pa-capability-ribbon div:last-child{border-right:0}
.pa-capability-ribbon small{font-size:8px;color:#8ca6be;margin-bottom:7px}
.pa-capability-ribbon b{font-size:10.5px;line-height:1.4;color:#0750a7}

/* SPECIALIZATION */
.pa-specialization{
  padding:76px 0;
  background:linear-gradient(180deg,#f8fcff,#edf6ff);
}
.pa-specialization-grid{
  display:grid;
  grid-template-columns:48% 52%;
  gap:55px;
  align-items:center;
}
.pa-specialization-image{
  height:395px;
  border-radius:18px;
  overflow:hidden;
  position:relative;
  box-shadow:0 17px 42px rgba(30,88,146,.11);
}
.pa-specialization-image img{width:100%;height:100%;object-fit:cover}
.pa-specialization-image:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(3,42,91,.45));
}
.pa-specialization-tag{
  position:absolute;
  left:20px;bottom:17px;z-index:2;
  color:#fff;
  font-size:9px;
  letter-spacing:.13em;
  font-weight:850;
}
.pa-specialization-copy h2{color:#074ba6}
.pa-specialization-copy>p{
  font-size:12px;line-height:1.75;color:#567492;
}
.pa-domain-lines{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:24px 0;
  border-top:1px solid #cee1f0;
}
.pa-domain-lines span{
  padding:11px 0;
  border-bottom:1px solid #cee1f0;
  font-size:9.5px;
  font-weight:750;
  color:#356b9e;
}

/* VALUES */
.pa-values{
  padding:86px 0;
  background:#fff;
}
.pa-values .pa-wrap{
  display:grid;
  grid-template-columns:35% 65%;
  gap:50px;
  align-items:start;
}
.pa-values-head{
  position:sticky;
  top:95px;
}
.pa-values-head h2{
  color:#074ba6;
  font-size:clamp(37px,4.6vw,59px);
}
.pa-value-stack{
  border-top:1px solid #d8e7f3;
}
.pa-value-stack article{
  display:grid;
  grid-template-columns:105px 1fr;
  gap:18px;
  padding:29px 0;
  border-bottom:1px solid #d8e7f3;
}
.pa-value-index{
  font-size:48px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
  color:#e2eef8;
}
.pa-value-stack span{
  font-size:8px;
  letter-spacing:.13em;
  font-weight:850;
  color:#5c8fbe;
}
.pa-value-stack h3{
  margin:8px 0 9px;
  font-size:24px;
  line-height:1.18;
  color:#074ca7;
}
.pa-value-stack p{
  max-width:550px;
  margin:0;
  font-size:10.7px;
  line-height:1.7;
  color:#607b96;
}

/* MANIFESTO */
.pa-manifesto{
  padding:80px 0;
  background:
    radial-gradient(circle at 87% 15%,rgba(92,178,255,.15),transparent 26%),
    linear-gradient(120deg,#eff8ff,#dceefb);
}
.pa-manifesto-grid{
  display:grid;
  grid-template-columns:63% 37%;
  gap:55px;
  align-items:end;
}
.pa-manifesto-quote{position:relative}
.pa-manifesto-quote>span{
  position:absolute;
  top:-42px;left:-10px;
  font-family:Georgia,serif;
  font-size:130px;
  line-height:1;
  color:#c6def2;
}
.pa-manifesto h2{
  position:relative;
  z-index:1;
  color:#074ba5;
  font-size:clamp(34px,4.1vw,55px);
}
.pa-manifesto-copy p{
  margin:0;
  font-size:12px;
  line-height:1.75;
  color:#54718e;
}

/* AWARDS */
.pa-awards{
  padding:86px 0;
  background:#fff;
}
.pa-awards-head{
  display:grid;
  grid-template-columns:58% 42%;
  gap:54px;
  align-items:end;
  margin-bottom:35px;
}
.pa-awards-head h2{color:#074ba6}
.pa-awards-head>p{
  margin:0;
  font-size:12px;
  line-height:1.7;
  color:#5c7894;
}
.pa-awards-gallery{
  height:470px;
  display:grid;
  grid-template-columns:1.3fr .8fr;
  grid-template-rows:1fr 1fr;
  gap:12px;
}
.pa-awards-gallery figure{
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:14px;
  background:#f4f8fc;
  border:1px solid #d8e7f3;
}
.pa-award-big{grid-row:1/3}
.pa-awards-gallery img{width:100%;height:100%;object-fit:cover}
.pa-awards-gallery figcaption{
  position:absolute;
  left:13px;right:13px;bottom:12px;
  padding:11px 12px;
  border-radius:8px;
  background:rgba(255,255,255,.92);
  box-shadow:0 7px 20px rgba(22,73,122,.08);
}
.pa-awards-gallery small{
  display:block;
  font-size:7px;
  letter-spacing:.11em;
  color:#6d98bd;
  font-weight:800;
  margin-bottom:4px;
}
.pa-awards-gallery b{
  display:block;
  font-size:11px;
  color:#074ba6;
}

/* NEXT */
.pa-next{
  padding:62px 0;
  background:#062f6a;
}
.pa-next-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:48px;
  align-items:center;
}
.pa-next h2{
  color:#fff;
  max-width:840px;
  font-size:34px;
}
.pa-next .btn{
  background:#fff;
  border-color:#fff;
  color:#074ca7;
}

@media(max-width:1050px){
  .pa-hero-grid,.pa-intro-statement .pa-wrap,.pa-chapter-grid,.pa-2008-grid,.pa-today-head,.pa-specialization-grid,.pa-values .pa-wrap,.pa-manifesto-grid,.pa-awards-head{
    grid-template-columns:1fr;
  }
  .pa-hero-grid{padding-top:20px}
  .pa-hero-collage{height:430px;margin-right:0}
  .pa-bigword{font-size:105px}
  .pa-chapter-grid{grid-template-columns:25% 1fr}
  .pa-chapter-image{grid-column:1/3;height:280px}
  .pa-year-visual{min-height:250px}
  .pa-capability-ribbon{grid-template-columns:repeat(3,1fr)}
  .pa-capability-ribbon div:nth-child(3n){border-right:0}
  .pa-values-head{position:static}
  .pa-awards-gallery{height:430px}
}
@media(max-width:680px){
  .pa-wrap{width:calc(100% - 28px)}
  .pa-hero-grid{width:calc(100% - 28px);min-height:auto}
  .pa-hero-copy{padding:38px 0 22px}
  .pa-hero-copy h1{font-size:40px}
  .pa-hero-yearline{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
  .pa-hero-yearline i{display:none}
  .pa-hero-collage{height:310px}
  .pa-img-main{left:0;top:30px;width:72%;height:235px}
  .pa-img-top{right:0;top:5px;width:38%;height:120px}
  .pa-img-bottom{right:0;bottom:0;width:46%;height:135px}
  .pa-hero-caption{left:8px;bottom:10px;width:180px;padding:10px}
  .pa-intro-statement{padding:58px 0 50px}
  .pa-bigword{font-size:72px}
  .pa-chapter{padding:58px 0}
  .pa-chapter-grid{grid-template-columns:1fr}
  .pa-year-visual{min-height:auto;border-right:0;border-bottom:1px solid #bfd9ef;padding-bottom:23px}
  .pa-year-visual strong{font-size:72px}
  .pa-chapter-image{grid-column:auto;height:220px}
  .pa-2008-year{font-size:86px}
  .pa-2008-visual{height:280px}
  .pa-2008-visual:before{width:230px;height:230px}
  .pa-stats{grid-template-columns:1fr}
  .pa-stats div{border-right:0;border-bottom:1px solid #d5e7f5}
  .pa-stats div:last-child{border-bottom:0}
  .pa-capability-ribbon{grid-template-columns:1fr 1fr}
  .pa-capability-ribbon div:nth-child(3n){border-right:1px solid #d9e7f3}
  .pa-capability-ribbon div:nth-child(even){border-right:0}
  .pa-specialization-image{height:260px}
  .pa-domain-lines{grid-template-columns:1fr}
  .pa-values{padding:58px 0}
  .pa-value-stack article{grid-template-columns:70px 1fr}
  .pa-value-index{font-size:36px}
  .pa-value-stack h3{font-size:20px}
  .pa-awards-gallery{height:auto;grid-template-columns:1fr;grid-template-rows:none}
  .pa-award-big{grid-row:auto}
  .pa-awards-gallery figure{height:190px}
  .pa-next-grid{grid-template-columns:1fr;gap:22px}
  .pa-next h2{font-size:28px}
}


/* =========================================================
   NĂNG LỰC – PA A / CAPABILITY STORY
   Independent editorial / company-profile layout.
   ========================================================= */
.capA{background:#fff;color:#173d67}
.capA-wrap{width:min(1180px,calc(100% - 52px));margin:auto}
.capA-kicker{font-size:9px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:#1473d4;margin-bottom:13px}
.capA-kicker.light{color:#94cfff}

/* HERO */
.capA-hero{
  background:
    radial-gradient(circle at 78% 30%,rgba(92,180,255,.18),transparent 30%),
    linear-gradient(115deg,#fbfeff 0%,#eef8ff 56%,#e6f4ff 100%);
  overflow:hidden;
  border-bottom:1px solid #d8e8f5;
}
.capA-hero-grid{
  min-height:535px;
  display:grid;
  grid-template-columns:54% 46%;
  gap:52px;
  align-items:center;
}
.capA-hero-copy h1{
  margin:0 0 22px;
  max-width:760px;
  font-size:clamp(45px,5vw,68px);
  line-height:1.01;
  letter-spacing:-.052em;
  color:#0647a3;
}
.capA-hero-copy>p{
  max-width:660px;
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#4f6f91;
}
.capA-hero-visual{
  height:390px;
  position:relative;
  display:grid;
  align-content:center;
  gap:12px;
}
.capA-stack-line{
  position:absolute;
  left:31px;top:56px;bottom:58px;width:1px;
  background:linear-gradient(#9bcbf1,#4b9ee9,#0868d5);
}
.capA-stack{
  position:relative;
  margin-left:62px;
  min-height:72px;
  padding:14px 17px 13px 72px;
  border-radius:13px;
  border:1px solid #cfe3f5;
  background:rgba(255,255,255,.88);
  box-shadow:0 9px 26px rgba(29,89,149,.06);
  backdrop-filter:blur(8px);
}
.capA-stack:before{
  content:"";
  position:absolute;
  left:-39px;top:50%;
  width:14px;height:14px;border-radius:50%;
  transform:translateY(-50%);
  background:#fff;border:3px solid #0870df;
  box-shadow:0 0 0 7px #e6f3ff;
}
.capA-stack small{
  position:absolute;left:17px;top:16px;
  width:37px;height:37px;border-radius:50%;
  display:grid;place-items:center;
  background:#eaf5ff;color:#0870df;font-size:9px;font-weight:850;
}
.capA-stack b{display:block;font-size:13px;color:#074caa;margin-bottom:4px}
.capA-stack span{font-size:9.5px;color:#6c879f}
.capA-stack.s2{margin-left:82px}
.capA-stack.s3{margin-left:102px}
.capA-stack.s4{margin-left:122px}
.capA-hero-caption{
  position:absolute;right:3px;bottom:6px;
  font-size:8px;letter-spacing:.11em;font-weight:800;color:#7b9bb8;
}

/* SHARED CHAPTER */
.capA-chapter{padding:86px 0}
.capA-chapter-grid{display:grid;grid-template-columns:22% 78%;gap:55px}
.capA-index{padding-top:4px;border-right:1px solid #d3e4f2;min-height:100%}
.capA-index span{
  display:block;
  font-size:78px;line-height:.9;font-weight:900;letter-spacing:-.06em;color:#e3eef8
}
.capA-index strong{display:block;margin-top:13px;font-size:9px;letter-spacing:.14em;color:#5d8ab5}
.capA-chapter-copy h2,
.capA-solution-copy h2,
.capA-data-head h2,
.capA-delivery-head h2,
.capA-construction-copy h2,
.capA-proof-head h2,
.capA-next h2{
  margin:0;
  font-size:clamp(31px,3.4vw,46px);
  line-height:1.08;
  letter-spacing:-.04em;
}
.capA-chapter-copy h2{color:#074ba6}
.capA-chapter-copy>p{
  max-width:760px;font-size:12px;line-height:1.75;color:#567391
}
.capA-chapter-copy blockquote{
  margin:30px 0 32px;
  padding:20px 0 20px 24px;
  border-left:3px solid #0870df;
  font-size:26px;line-height:1.3;font-weight:750;letter-spacing:-.025em;color:#0750ac;
  background:none;
}
.capA-domain-grid{
  display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid #d6e6f3;border-left:1px solid #d6e6f3
}
.capA-domain-grid article{
  min-height:120px;padding:18px 20px;
  border-right:1px solid #d6e6f3;border-bottom:1px solid #d6e6f3;
  position:relative;background:#fff
}
.capA-domain-grid small{font-size:8px;color:#91a9bf}
.capA-domain-grid b{display:block;margin:7px 0 5px;font-size:14px;color:#074ca5}
.capA-domain-grid span{font-size:9.5px;line-height:1.5;color:#6b8399}

/* SOLUTION & TECH */
.capA-solution{
  background:linear-gradient(180deg,#f8fcff,#edf7ff)
}
.capA-solution-grid{
  display:grid;grid-template-columns:55% 45%;gap:55px;align-items:center
}
.capA-solution-copy h2{color:#074ba6}
.capA-solution-copy>p{font-size:12px;line-height:1.75;color:#577492}
.capA-solution-steps{
  display:grid;grid-template-columns:1fr 25px 1fr 25px 1fr;
  align-items:center;margin:30px 0 20px
}
.capA-solution-steps>div{
  min-height:108px;padding:16px;border:1px solid #d2e5f5;border-radius:11px;background:#fff
}
.capA-solution-steps small{font-size:7px;letter-spacing:.09em;color:#80a0bd}
.capA-solution-steps b{display:block;font-size:11px;color:#074fa9;margin:7px 0 4px}
.capA-solution-steps span{font-size:8.5px;line-height:1.45;color:#71899f}
.capA-solution-steps>i{height:1px;background:#91bfe8;position:relative}
.capA-solution-steps>i:after{content:"";position:absolute;right:-1px;top:-3px;border-left:5px solid #6aa8e2;border-top:3px solid transparent;border-bottom:3px solid transparent}
.capA-solution-visual{
  min-height:360px;position:relative;display:grid;place-items:center
}
.capA-sv-layer{
  position:absolute;
  left:50%;transform:translateX(-50%);
  height:78px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;gap:13px;
  color:#fff;box-shadow:0 18px 38px rgba(7,91,187,.15);
  border:1px solid rgba(255,255,255,.68)
}
.capA-sv-layer span{font-size:9px;opacity:.7}
.capA-sv-layer b{font-size:12px}
.capA-sv-layer.back{top:40px;width:62%;background:linear-gradient(135deg,#83c6ff,#3a8ce8)}
.capA-sv-layer.middle{top:130px;width:74%;background:linear-gradient(135deg,#4ba5fa,#1277e4)}
.capA-sv-layer.front{top:220px;width:86%;background:linear-gradient(135deg,#197ce4,#064ca9)}
.capA-sv-note{
  position:absolute;right:0;bottom:6px;width:205px;padding:11px 13px;border-radius:10px;background:#fff;border:1px solid #d4e6f5
}
.capA-sv-note b{font-size:13px;color:#0750aa}
.capA-sv-note span{display:block;font-size:8.5px;color:#708aa2;margin-top:3px}

/* DATA */
.capA-data{
  padding:90px 0;
  background:
    radial-gradient(circle at 78% 12%,rgba(43,137,229,.24),transparent 29%),
    linear-gradient(120deg,#052d67,#064790 62%,#075fb9);
  color:#fff;overflow:hidden
}
.capA-data-head{
  display:grid;grid-template-columns:55% 45%;gap:56px;align-items:end;margin-bottom:45px
}
.capA-data-head h2{color:#fff;font-size:clamp(37px,4.1vw,56px)}
.capA-data-head>p{margin:0;font-size:12px;line-height:1.75;color:#d5e8f9}
.capA-data-pipeline{
  display:grid;grid-template-columns:1fr 26px 1fr 26px 1fr 26px 1fr 26px 1fr 26px 1fr;
  align-items:center
}
.capA-data-pipeline>div{
  min-height:118px;padding:17px 13px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.07);backdrop-filter:blur(7px)
}
.capA-data-pipeline small{font-size:8px;color:#87c4fa}
.capA-data-pipeline b{display:block;font-size:12px;color:#fff;margin:8px 0 5px}
.capA-data-pipeline span{font-size:8.5px;line-height:1.45;color:#c9dff2}
.capA-data-pipeline>i{height:1px;background:rgba(134,197,250,.65);position:relative}
.capA-data-pipeline>i:after{content:"";position:absolute;right:-1px;top:-3px;border-left:5px solid #82c3fa;border-top:3px solid transparent;border-bottom:3px solid transparent}
.capA-integration{
  display:grid;grid-template-columns:1fr 220px 1fr;gap:20px;align-items:center;margin-top:42px;padding-top:30px;border-top:1px solid rgba(255,255,255,.15)
}
.capA-system-box{
  padding:18px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06)
}
.capA-system-box small{display:block;font-size:7.5px;letter-spacing:.1em;color:#8bc8fa;margin-bottom:6px}
.capA-system-box b{font-size:10.5px;color:#fff}
.capA-api{display:grid;grid-template-columns:1fr;gap:7px;text-align:center}
.capA-api span{font-size:8px;color:#9bd0fb}
.capA-api b{font-size:10px;color:#fff}
.capA-api i{height:1px;background:linear-gradient(90deg,transparent,#6cb4ef,transparent)}

/* DELIVERY */
.capA-delivery{padding:88px 0;background:#fff}
.capA-delivery-head{
  display:grid;grid-template-columns:54% 46%;gap:56px;align-items:end;margin-bottom:40px
}
.capA-delivery-head h2{color:#074ba6}
.capA-delivery-head>p{margin:0;font-size:12px;line-height:1.75;color:#567492}
.capA-journey{
  display:grid;grid-template-columns:repeat(8,1fr);
  border-top:1px solid #d6e6f3;border-bottom:1px solid #d6e6f3
}
.capA-journey>div{
  min-height:130px;padding:20px 13px;border-right:1px solid #d6e6f3;position:relative
}
.capA-journey>div:last-child{border-right:0}
.capA-journey small{font-size:8px;color:#90a8bd}
.capA-journey b{display:block;font-size:11px;color:#0750a7;margin:11px 0 5px}
.capA-journey span{font-size:8.5px;line-height:1.45;color:#72899f}
.capA-journey>div.active{
  background:linear-gradient(135deg,#0752b5,#0874df)
}
.capA-journey>div.active small,.capA-journey>div.active span{color:#cfe7fb}
.capA-journey>div.active b{color:#fff}
.capA-delivery-principles{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px
}
.capA-delivery-principles span{
  padding:17px 18px;border-radius:11px;background:#f5faff;border:1px solid #d8e8f5;
  font-size:9.5px;line-height:1.55;color:#69839b
}
.capA-delivery-principles b{display:block;color:#0750a8;font-size:10.5px;margin-bottom:4px}

/* CONSTRUCTION SPECIALIZATION */
.capA-construction{
  padding:88px 0;
  background:linear-gradient(180deg,#f8fcff,#ecf6ff)
}
.capA-construction-grid{
  display:grid;grid-template-columns:50% 50%;gap:55px;align-items:center
}
.capA-construction-gallery{
  height:430px;position:relative
}
.capA-construction-gallery figure{margin:0;position:absolute;overflow:hidden;border-radius:17px;box-shadow:0 17px 42px rgba(28,87,146,.12)}
.capA-construction-gallery figure.main{left:0;top:0;width:78%;height:390px}
.capA-construction-gallery figure.sub{right:0;bottom:0;width:43%;height:205px;border:7px solid #edf7ff}
.capA-construction-gallery img{width:100%;height:100%;object-fit:cover}
.capA-construction-label{
  position:absolute;left:18px;bottom:56px;padding:9px 12px;border-radius:8px;background:rgba(5,55,115,.82);color:#fff;font-size:8px;letter-spacing:.1em;font-weight:850
}
.capA-construction-copy h2{color:#074ba6}
.capA-construction-copy>p{font-size:12px;line-height:1.75;color:#587492}
.capA-construction-chain{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:28px 0
}
.capA-construction-chain span{
  padding:7px 9px;border-radius:999px;background:#fff;border:1px solid #cfe3f4;font-size:8.5px;font-weight:750;color:#3f77ab
}
.capA-construction-chain i{width:12px;height:1px;background:#91bde4}
.capA-case-names{
  display:flex;gap:17px;flex-wrap:wrap;padding-top:18px;border-top:1px solid #cfe2f2
}
.capA-case-names span{font-size:9px;font-weight:850;letter-spacing:.06em;color:#0751aa}

/* PROOF */
.capA-proof{padding:88px 0;background:#fff}
.capA-proof-head{
  display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;margin-bottom:30px
}
.capA-proof-head h2{color:#074ba6;max-width:820px}
.capA-proof-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:13px}
.capA-proof-card{
  display:block;border:1px solid #d8e8f5;border-radius:14px;overflow:hidden;background:#fff;color:inherit;text-decoration:none;transition:.18s
}
.capA-proof-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(28,88,148,.10)}
.capA-proof-card img,.capA-proof-visual{width:100%;height:210px;object-fit:cover}
.capA-proof-visual{
  display:grid;place-items:center;align-content:center;
  background:linear-gradient(135deg,#073d86,#0870d9);color:#fff
}
.capA-proof-visual strong{font-size:47px;letter-spacing:-.05em}
.capA-proof-visual span{font-size:8px;letter-spacing:.13em;color:#cbe6fb}
.capA-proof-copy{padding:17px}
.capA-proof-copy small{font-size:7.5px;letter-spacing:.1em;color:#6f97bc}
.capA-proof-copy b{display:block;font-size:14px;color:#074ca6;margin:6px 0}
.capA-proof-copy span{display:block;font-size:9px;line-height:1.5;color:#71889e}

/* NEXT */
.capA-next{padding:62px 0;background:#062f6a}
.capA-next-grid{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.capA-next h2{color:#fff;max-width:830px;font-size:33px}
.capA-next .btn{background:#fff;border-color:#fff;color:#074ca7}

@media(max-width:1050px){
  .capA-hero-grid,.capA-chapter-grid,.capA-solution-grid,.capA-data-head,.capA-delivery-head,.capA-construction-grid{grid-template-columns:1fr}
  .capA-index{border-right:0;border-bottom:1px solid #d3e4f2;padding-bottom:18px;min-height:auto}
  .capA-index span{font-size:58px}
  .capA-data-pipeline{grid-template-columns:repeat(6,1fr);gap:9px}
  .capA-data-pipeline>i{display:none}
  .capA-integration{grid-template-columns:1fr 160px 1fr}
  .capA-journey{grid-template-columns:repeat(4,1fr)}
  .capA-journey>div:nth-child(4n){border-right:0}
  .capA-delivery-principles{grid-template-columns:1fr}
  .capA-construction-gallery{height:390px}
}
@media(max-width:680px){
  .capA-wrap{width:calc(100% - 28px)}
  .capA-hero-grid{min-height:auto}
  .capA-hero-copy{padding:38px 0 5px}
  .capA-hero-copy h1{font-size:40px}
  .capA-hero-visual{height:340px}
  .capA-stack{margin-left:42px!important;padding-left:60px}
  .capA-stack-line{left:18px}
  .capA-stack:before{left:-31px}
  .capA-chapter,.capA-delivery,.capA-construction,.capA-proof{padding:58px 0}
  .capA-chapter-copy blockquote{font-size:21px}
  .capA-domain-grid{grid-template-columns:1fr}
  .capA-solution-steps{grid-template-columns:1fr;gap:8px}
  .capA-solution-steps>i{display:none}
  .capA-solution-visual{min-height:300px}
  .capA-data{padding:62px 0}
  .capA-data-pipeline{grid-template-columns:1fr 1fr}
  .capA-integration{grid-template-columns:1fr}
  .capA-journey{grid-template-columns:1fr 1fr}
  .capA-journey>div:nth-child(even){border-right:0}
  .capA-delivery-principles{grid-template-columns:1fr}
  .capA-construction-gallery{height:310px}
  .capA-construction-gallery figure.main{height:280px;width:82%}
  .capA-construction-gallery figure.sub{height:145px;width:47%}
  .capA-proof-head,.capA-next-grid{grid-template-columns:1fr}
  .capA-proof-grid{grid-template-columns:1fr}
  .capA-proof-card img,.capA-proof-visual{height:190px}
}


/* =========================================================
   GIẢI PHÁP – PA A / SOLUTION LANDSCAPE
   Independent profile-style solution page.
   ========================================================= */
.solA{background:#fff;color:#183e67}
.solA-wrap{width:min(1180px,calc(100% - 52px));margin:auto}
.solA-kicker{font-size:9px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:#1473d4;margin-bottom:13px}
.solA-kicker.light{color:#94cfff}
.solA-section-head{
  display:grid;grid-template-columns:57% 43%;gap:54px;align-items:end;margin-bottom:34px
}
.solA-section-head h2,
.solA-model-head h2,
.solA-ibom-copy h2,
.solA-final h2{
  margin:0;font-size:clamp(31px,3.45vw,47px);line-height:1.08;letter-spacing:-.04em;color:#074ba6
}
.solA-section-head>p{margin:0;font-size:12px;line-height:1.75;color:#587492}

/* HERO COLLAGE */
.solA-hero{
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(80,169,255,.18),transparent 30%),
    linear-gradient(113deg,#fbfeff 0%,#eff9ff 53%,#e4f3ff 100%);
  border-bottom:1px solid #d8e8f5;
}
.solA-hero-grid{
  min-height:590px;display:grid;grid-template-columns:48% 52%;gap:38px;align-items:center
}
.solA-hero-copy h1{
  margin:0 0 22px;max-width:720px;
  font-size:clamp(45px,5vw,68px);line-height:1.01;letter-spacing:-.052em;color:#0647a3
}
.solA-hero-copy>p{max-width:630px;margin:0;font-size:14px;line-height:1.75;color:#4f6f91}
.solA-hero-path{
  display:grid;grid-template-columns:1fr 45px 1fr;align-items:center;gap:8px;
  max-width:520px;margin-top:31px
}
.solA-hero-path span{font-size:8.5px;line-height:1.4;color:#718aa2}
.solA-hero-path b{display:block;font-size:11px;color:#0752ae;margin-bottom:3px}
.solA-hero-path i{height:1px;background:#8fbde7;position:relative}
.solA-hero-path i:after{content:"";position:absolute;right:-2px;top:-3px;border-left:5px solid #6ba9e1;border-top:3px solid transparent;border-bottom:3px solid transparent}
.solA-hero-collage{height:485px;position:relative;margin-right:-40px}
.solA-hero-collage figure{
  margin:0;position:absolute;overflow:hidden;border-radius:17px;
  box-shadow:0 18px 44px rgba(25,85,144,.12);background:#eef6fc;border:1px solid rgba(255,255,255,.82)
}
.solA-hero-collage img{width:100%;height:100%;object-fit:cover}
.solA-hc-main{left:0;top:62px;width:62%;height:355px;z-index:2}
.solA-hc-main:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(2,40,89,.6))}
.solA-hc-main figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff}
.solA-hc-main small{display:block;font-size:7.5px;letter-spacing:.12em;font-weight:850;margin-bottom:5px;color:#d4ebff}
.solA-hc-main b{font-size:13px;line-height:1.4}
.solA-hc-build{right:3%;top:8px;width:41%;height:208px;z-index:3}
.solA-hc-system{right:0;bottom:12px;width:45%;height:218px;z-index:4;background:#fff}
.solA-hc-system img{object-fit:contain;padding:8px}
.solA-hc-label{
  position:absolute;z-index:5;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #cfe2f2;
  box-shadow:0 8px 20px rgba(26,81,137,.08);font-size:7.5px;letter-spacing:.09em;font-weight:850;color:#1767b7
}
.solA-hc-label.l1{left:2%;top:34px}.solA-hc-label.l2{left:49%;top:38px}.solA-hc-label.l3{right:2%;top:234px}.solA-hc-label.l4{right:22%;bottom:0}

/* TWO WORLDS */
.solA-worlds{padding:86px 0;background:#fff}
.solA-world-grid{display:grid;gap:18px}
.solA-world{
  display:grid;grid-template-columns:48% 52%;min-height:390px;border:1px solid #d5e7f5;border-radius:18px;overflow:hidden;background:#fff
}
.solA-world.contractor{grid-template-columns:52% 48%}
.solA-world-media{position:relative;overflow:hidden}
.solA-world-media img{width:100%;height:100%;object-fit:cover}
.solA-world-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(3,43,92,.44))}
.solA-world-media>span{
  position:absolute;left:19px;bottom:17px;z-index:2;padding:7px 9px;border-radius:6px;
  background:rgba(5,55,114,.84);color:#fff;font-size:8px;letter-spacing:.11em;font-weight:850
}
.solA-world-copy{padding:48px 42px;display:flex;flex-direction:column;justify-content:center}
.solA-world-copy>small{font-size:8px;letter-spacing:.12em;font-weight:850;color:#6d96bd}
.solA-world-copy h3{margin:12px 0 22px;font-size:32px;line-height:1.08;letter-spacing:-.035em;color:#074ba5}
.solA-chain{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:26px}
.solA-chain span{padding:6px 8px;border:1px solid #d0e3f3;border-radius:999px;background:#f7fbff;font-size:8px;color:#4878a4;font-weight:750}
.solA-chain i{width:10px;height:1px;background:#8fbbe3}

/* NAVIGATOR */
.solA-navigator{padding:86px 0;background:linear-gradient(180deg,#f9fcff,#edf7ff)}
.solA-nav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.solA-nav-card{display:block;text-decoration:none;color:inherit;border:1px solid #d4e6f4;background:#fff;border-radius:14px;overflow:hidden;transition:.18s}
.solA-nav-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(30,89,147,.09);border-color:#9bc8ef}
.solA-nav-card.major{grid-column:span 2;min-height:260px;display:grid;grid-template-columns:44% 56%}
.solA-nav-card.major img{width:100%;height:100%;object-fit:cover}
.solA-nav-card.major>div{padding:28px;display:flex;flex-direction:column;justify-content:center}
.solA-nav-card small{font-size:7.5px;letter-spacing:.11em;color:#6e96bb;font-weight:850}
.solA-nav-card h3{margin:8px 0 8px;font-size:22px;color:#074ca6}
.solA-nav-card p{margin:0 0 13px;font-size:10px;line-height:1.6;color:#657f98}
.solA-nav-card span{font-size:9px;color:#096bd6;font-weight:800}
.solA-nav-card.minor{min-height:180px;padding:20px;position:relative}
.solA-minor-icon{
  width:45px;height:45px;border-radius:11px;background:#edf6ff;display:grid;place-items:center;
  color:#0869d8;font-size:10px;font-weight:900;margin-bottom:15px;border:1px solid #d7e8f5
}
.solA-nav-card.minor h3{font-size:17px}
.solA-nav-card.minor>span{position:absolute;right:17px;bottom:15px;font-size:18px}

/* MODEL */
.solA-model{padding:90px 0;background:#fff}
.solA-model-head{
  display:grid;grid-template-columns:58% 42%;gap:50px;align-items:end;margin-bottom:30px
}
.solA-model-head h2{color:#074ba6}
.solA-model-tabs{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.solA-model-tabs button{
  border:1px solid #cfe2f2;border-radius:999px;padding:8px 11px;background:#fff;color:#4f789e;
  font:inherit;font-size:8.5px;font-weight:800;cursor:pointer;transition:.18s
}
.solA-model-tabs button:hover,.solA-model-tabs button.active{background:#075fd0;color:#fff;border-color:#075fd0}
.solA-model-stage{border:1px solid #d5e7f5;border-radius:17px;overflow:hidden;background:#f9fcff}
.solA-model-panel{display:none;grid-template-columns:1fr 45px 1fr 45px 1fr;min-height:330px;align-items:stretch}
.solA-model-panel.active{display:grid}
.solA-model-col{padding:30px}
.solA-model-col small{font-size:8px;letter-spacing:.11em;color:#7199be;font-weight:850}
.solA-model-col h3{font-size:22px;line-height:1.18;color:#074ba5;margin:11px 0 15px}
.solA-model-col ul{margin:0;padding-left:17px;font-size:10px;line-height:1.75;color:#5e7892}
.solA-model-col.answer{background:#eef8ff}
.solA-model-col.cases{background:#073f8a}
.solA-model-col.cases small{color:#91c8f5}
.solA-model-col.cases a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.15);text-decoration:none}
.solA-model-col.cases a:last-child{border-bottom:0}
.solA-model-col.cases b{display:block;color:#fff;font-size:13px;margin-bottom:4px}
.solA-model-col.cases span{font-size:9px;color:#cce3f6}
.solA-model-arrow{display:grid;place-items:center;color:#6daee5;font-size:24px}

/* CASE SPREAD */
.solA-cases{padding:88px 0;background:linear-gradient(180deg,#f8fcff,#eef7ff)}
.solA-case-spread{
  height:520px;display:grid;grid-template-columns:1.35fr .72fr .88fr;grid-template-rows:1fr;gap:12px
}
.solA-case{display:block;position:relative;border-radius:15px;overflow:hidden;border:1px solid #d6e6f3;background:#fff;text-decoration:none;color:inherit}
.solA-case.sun img,.solA-case.pc1 img{width:100%;height:100%;object-fit:cover}
.solA-case.sun:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 43%,rgba(3,38,82,.78))}
.solA-case-overlay{position:absolute;left:24px;right:24px;bottom:23px;z-index:2;color:#fff}
.solA-case-overlay small,.solA-case-copy small{font-size:7.5px;letter-spacing:.11em;font-weight:850;color:#a7d4f8}
.solA-case-overlay h3{font-size:27px;color:#fff;margin:7px 0 5px}
.solA-case-overlay p{font-size:10px;color:#dceafa}
.solA-case-overlay span{font-size:9px;font-weight:800;color:#fff}
.solA-case.pc1{display:grid;grid-template-rows:58% 42%}
.solA-case.pc1 img{height:100%}
.solA-case-copy{padding:18px}
.solA-case-copy small{color:#7398ba}
.solA-case-copy h3{font-size:19px;color:#074ba5;margin:7px 0}
.solA-case-copy p{font-size:9.5px;line-height:1.55;color:#687f96;margin:0 0 8px}
.solA-case-copy span{font-size:8.5px;color:#096bd5;font-weight:800}
.solA-case.bluemarq{display:grid;grid-template-rows:60% 40%}
.solA-data-map{position:relative;background:linear-gradient(135deg,#073e87,#0871da);overflow:hidden}
.solA-dm-center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:94px;height:94px;border-radius:50%;background:#fff;display:grid;place-items:center;align-content:center;
  box-shadow:0 13px 32px rgba(0,0,0,.15)
}
.solA-dm-center b{font-size:24px;color:#0754b3}.solA-dm-center span{font-size:7.5px;color:#7691aa}
.solA-dm-node{
  position:absolute;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.26);
  color:#fff;font-size:7px;font-weight:750
}
.solA-dm-node.n1{left:8%;top:15%}.solA-dm-node.n2{right:8%;top:15%}.solA-dm-node.n3{left:7%;bottom:17%}.solA-dm-node.n4{right:7%;bottom:17%}.solA-dm-node.n5{left:35%;top:7%}.solA-dm-node.n6{left:34%;bottom:7%}

/* IBOM BAND */
.solA-ibom{padding:74px 0;background:#fff}
.solA-ibom-grid{display:grid;grid-template-columns:58% 42%;gap:48px;align-items:center}
.solA-ibom-copy h2{color:#074ba6}
.solA-ibom-copy>p{max-width:650px;font-size:11.5px;line-height:1.72;color:#587591}
.solA-product-codes{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0}
.solA-product-codes span{padding:6px 9px;border-radius:999px;background:#eef7ff;border:1px solid #d0e4f4;font-size:8px;font-weight:800;color:#4b79a5}
.solA-ibom-device{height:255px;border-radius:15px;background:#f2f8fd;overflow:hidden}
.solA-ibom-device img{width:100%;height:100%;object-fit:contain;padding:12px}

/* FINAL */
.solA-final{
  padding:64px 0;background:
  radial-gradient(circle at 85% 20%,rgba(66,153,237,.2),transparent 28%),
  linear-gradient(120deg,#062f6b,#0751a5)
}
.solA-final-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.solA-final h2{color:#fff;max-width:800px;font-size:36px}
.solA-final p{font-size:11px;color:#cfe5f8;margin:11px 0 0}
.solA-final .btn{background:#fff;border-color:#fff;color:#074ca7}

/* RESPONSIVE */
@media(max-width:1050px){
  .solA-hero-grid,.solA-section-head,.solA-model-head,.solA-ibom-grid{grid-template-columns:1fr}
  .solA-hero-copy{padding-top:42px}
  .solA-hero-collage{margin-right:0;height:440px}
  .solA-world,.solA-world.contractor{grid-template-columns:1fr 1fr}
  .solA-nav-grid{grid-template-columns:1fr 1fr}
  .solA-nav-card.major{grid-column:auto;grid-template-columns:1fr;grid-template-rows:180px 1fr}
  .solA-model-tabs{justify-content:flex-start}
  .solA-case-spread{height:470px;grid-template-columns:1.2fr .8fr .9fr}
}
@media(max-width:680px){
  .solA-wrap{width:calc(100% - 28px)}
  .solA-hero-grid{min-height:auto}
  .solA-hero-copy{padding:38px 0 5px}
  .solA-hero-copy h1{font-size:40px}
  .solA-hero-path{grid-template-columns:1fr 22px 1fr}
  .solA-hero-collage{height:330px}
  .solA-hc-main{left:0;top:50px;width:70%;height:230px}
  .solA-hc-build{right:0;top:8px;width:40%;height:120px}
  .solA-hc-system{right:0;bottom:10px;width:47%;height:145px}
  .solA-hc-label{display:none}
  .solA-worlds,.solA-navigator,.solA-model,.solA-cases,.solA-ibom{padding:58px 0}
  .solA-world,.solA-world.contractor{grid-template-columns:1fr}
  .solA-world.contractor .solA-world-copy{order:2}.solA-world.contractor .solA-world-media{order:1}
  .solA-world-media{height:220px}.solA-world-copy{padding:28px 22px}
  .solA-nav-grid{grid-template-columns:1fr}
  .solA-nav-card.major{grid-template-rows:170px 1fr}
  .solA-model-panel.active{grid-template-columns:1fr}
  .solA-model-arrow{height:32px;transform:rotate(90deg)}
  .solA-model-col{padding:23px}
  .solA-case-spread{height:auto;grid-template-columns:1fr}
  .solA-case.sun{height:300px}
  .solA-case.pc1,.solA-case.bluemarq{min-height:370px}
  .solA-ibom-device{height:210px}
  .solA-final-grid{grid-template-columns:1fr;gap:22px}
  .solA-final h2{font-size:29px}
}


/* =========================================================
   KHÁCH HÀNG & DỰ ÁN – PA A / PROJECT SHOWCASE
   Profile-style proof of delivery.
   ========================================================= */
.projA{background:#fff;color:#183e67}
.projA-wrap{width:min(1180px,calc(100% - 52px));margin:auto}
.projA-kicker{font-size:9px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:#1473d4;margin-bottom:13px}
.projA-kicker.light{color:#9bd2ff}
.projA-section-head{display:grid;grid-template-columns:57% 43%;gap:54px;align-items:end;margin-bottom:34px}
.projA-section-head h2,.projA-index-head h2,.projA-models-head h2,.projA-final h2{
  margin:0;font-size:clamp(31px,3.45vw,47px);line-height:1.08;letter-spacing:-.04em;color:#074ba6
}
.projA-section-head>p{margin:0;font-size:12px;line-height:1.75;color:#587492}

/* HERO MOSAIC */
.projA-hero{
  padding:58px 0 44px;
  background:
    radial-gradient(circle at 83% 10%,rgba(84,172,255,.15),transparent 28%),
    linear-gradient(116deg,#fbfeff,#eff8ff 55%,#e7f4ff);
  border-bottom:1px solid #d7e7f4;
}
.projA-hero-head{display:grid;grid-template-columns:58% 42%;gap:58px;align-items:end;margin-bottom:35px}
.projA-hero-head h1{
  margin:0;max-width:760px;font-size:clamp(44px,5vw,67px);line-height:1.01;letter-spacing:-.052em;color:#0647a3
}
.projA-hero-head>p{margin:0;font-size:13px;line-height:1.75;color:#52718f}
.projA-mosaic{
  height:460px;
  display:grid;
  grid-template-columns:1.45fr .8fr .75fr;
  grid-template-rows:1fr 1fr;
  gap:11px;
}
.projA-mosaic figure{margin:0;position:relative;overflow:hidden;border-radius:15px;background:#edf5fb}
.projA-mosaic .m1{grid-row:1/3}
.projA-mosaic .m2{grid-row:1/3}
.projA-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.projA-mosaic figure:hover img{transform:scale(1.025)}
.projA-mosaic figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 57%,rgba(2,39,85,.68))}
.projA-mosaic figcaption{position:absolute;z-index:2;left:15px;right:15px;bottom:13px;color:#fff}
.projA-mosaic figcaption small{display:block;font-size:7px;letter-spacing:.11em;color:#d0e8fb;font-weight:800;margin-bottom:3px}
.projA-mosaic figcaption b{font-size:12px}

/* CLIENT WALL */
.projA-client-wall{padding:70px 0;background:#fff}
.projA-client-intro{display:grid;grid-template-columns:250px 1fr;gap:30px;align-items:end}
.projA-client-intro p{margin:0;font-size:11px;line-height:1.65;color:#617b94}
.projA-client-names{
  display:flex;flex-wrap:wrap;gap:0;margin-top:28px;border-top:1px solid #d7e7f4;border-left:1px solid #d7e7f4
}
.projA-client-names a{
  flex:1 1 25%;min-width:220px;padding:18px 17px;border-right:1px solid #d7e7f4;border-bottom:1px solid #d7e7f4;
  font-size:17px;font-weight:850;letter-spacing:-.02em;color:#0a4e9f;text-decoration:none;background:#fff;transition:.18s
}
.projA-client-names a:hover{background:#075ecb;color:#fff}
.projA-client-preview{
  margin-top:18px;display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;min-height:118px;
  border-radius:13px;background:#f4f9fe;border:1px solid #d8e8f5;padding:10px 18px 10px 10px
}
.projA-client-preview-image{height:96px;border-radius:9px;overflow:hidden;background:linear-gradient(135deg,#073f89,#0870d8)}
.projA-client-preview-image img{width:100%;height:100%;object-fit:cover}
.projA-client-preview-image.data-mode:before{content:"NHG";height:100%;display:grid;place-items:center;color:#fff;font-size:25px;font-weight:900}
.projA-client-preview-copy small{display:block;font-size:7px;letter-spacing:.1em;color:#819db8}
.projA-client-preview-copy b{display:block;font-size:18px;color:#0750a7;margin:5px 0}
.projA-client-preview-copy span{font-size:10px;color:#6d859d}

/* FLAGSHIP */
.projA-flagships{padding:88px 0;background:linear-gradient(180deg,#f8fcff,#edf7ff)}
.projA-flagship{
  margin-bottom:18px;border-radius:18px;overflow:hidden;border:1px solid #d6e6f3;background:#fff;
  min-height:390px
}
.projA-flagship.bluemarq{
  display:grid;grid-template-columns:42% 58%;
  background:
    radial-gradient(circle at 78% 20%,rgba(76,165,250,.23),transparent 30%),
    linear-gradient(120deg,#063475,#0754aa 65%,#0870d6);color:#fff;border:0
}
.projA-flag-copy{padding:45px 42px;display:flex;flex-direction:column;justify-content:center}
.projA-flag-copy h3{margin:7px 0 15px;font-size:33px;line-height:1.08;letter-spacing:-.035em;color:#074ba5}
.projA-flag-copy p{font-size:11.5px;line-height:1.72;color:#617b95;margin:0 0 18px}
.projA-flag-copy>a{font-size:9px;font-weight:850;color:#0869d8}
.projA-flagship.bluemarq .projA-flag-copy h3{color:#fff}
.projA-flagship.bluemarq .projA-flag-copy p{color:#d8eafa}
.projA-flagship.bluemarq .projA-flag-copy>a{color:#fff}
.projA-data-flow{position:relative;min-height:390px}
.projA-data-flow:before{
  content:"";position:absolute;left:50%;top:50%;width:310px;height:310px;border-radius:50%;transform:translate(-50%,-50%);
  border:1px solid rgba(255,255,255,.17);box-shadow:0 0 0 55px rgba(255,255,255,.025)
}
.projA-data-flow .center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:122px;height:122px;border-radius:50%;background:#fff;display:grid;place-items:center;align-content:center;
  box-shadow:0 15px 37px rgba(0,0,0,.17)
}
.projA-data-flow .center b{font-size:30px;color:#0755b7}
.projA-data-flow .center span{font-size:8px;color:#7892aa}
.projA-data-flow .node{
  position:absolute;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.29);
  color:#fff;font-size:7.5px;font-weight:750;white-space:nowrap
}
.projA-data-flow .n1{left:9%;top:16%}.projA-data-flow .n2{right:8%;top:16%}.projA-data-flow .n3{left:34%;top:7%}
.projA-data-flow .n4{left:7%;bottom:18%}.projA-data-flow .n5{right:7%;bottom:18%}.projA-data-flow .n6{left:17%;top:48%}.projA-data-flow .n7{right:17%;top:48%}
.projA-flagship.sungroup{display:grid;grid-template-columns:56% 44%}
.projA-flag-image{position:relative;overflow:hidden}
.projA-flag-image img{width:100%;height:100%;object-fit:cover}
.projA-flag-number{
  position:absolute;right:18px;bottom:-14px;font-size:104px;line-height:.9;font-weight:900;color:rgba(255,255,255,.18);letter-spacing:-.07em
}
.projA-scope-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 20px}
.projA-scope-line span{font-size:8.5px;padding:6px 8px;border:1px solid #d1e4f3;border-radius:999px;color:#4a78a2}
.projA-scope-line i{width:11px;height:1px;background:#96bfe2}
.projA-flagship.pc1{display:grid;grid-template-columns:43% 57%}
.projA-pc1-visual{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;background:#eaf5fd}
.projA-pc1-visual figure{margin:0;border-radius:12px;overflow:hidden;background:#fff}
.projA-pc1-visual img{width:100%;height:100%;object-fit:cover}
.projA-pc1-visual figure:last-child img{object-fit:contain}

/* PROJECT INDEX */
.projA-index{padding:88px 0;background:#fff}
.projA-index-head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:25px}
.projA-filter{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.projA-filter button{
  border:1px solid #cee2f2;background:#fff;border-radius:999px;padding:8px 11px;font:inherit;font-size:8px;font-weight:800;color:#557da2;cursor:pointer
}
.projA-filter button.active,.projA-filter button:hover{background:#075fd0;color:#fff;border-color:#075fd0}
.projA-index-table{border-top:1px solid #d7e6f3}
.projA-row{
  min-height:92px;display:grid;grid-template-columns:45px 90px 220px 1fr 35px;gap:16px;align-items:center;
  border-bottom:1px solid #d7e6f3;text-decoration:none;color:inherit;transition:.18s
}
.projA-row.hide{display:none}
.projA-row:hover{background:#f6fbff;padding-left:8px}
.projA-row .no{font-size:9px;color:#94aabd}
.projA-row .thumb{width:78px;height:58px;border-radius:8px;overflow:hidden;background:#edf5fb}
.projA-row .thumb img{width:100%;height:100%;object-fit:cover}
.projA-row .thumb.data{display:grid;place-items:center;background:linear-gradient(135deg,#07458f,#0870d7);color:#fff;font-size:12px;font-weight:900}
.projA-row .name b{display:block;font-size:13px;color:#074ba5}
.projA-row .name small{display:block;margin-top:4px;font-size:8.5px;color:#758da4}
.projA-row .scope{font-size:9.5px;line-height:1.55;color:#5d7892}
.projA-row .go{font-size:18px;color:#0b6fdc}

/* SYSTEM GALLERY */
.projA-system-gallery{padding:88px 0;background:linear-gradient(180deg,#f8fcff,#eef7ff)}
.projA-system-contact{
  display:grid;grid-template-columns:1.25fr .8fr .8fr;grid-template-rows:190px 155px;gap:11px
}
.projA-system-contact button{
  border:0;padding:0;margin:0;position:relative;overflow:hidden;border-radius:13px;background:#fff;cursor:pointer;border:1px solid #d7e7f3
}
.projA-system-contact button:first-child{grid-row:1/3}
.projA-system-contact img{width:100%;height:100%;object-fit:contain;background:#fff;transition:transform .25s ease}
.projA-system-contact button:hover img{transform:scale(1.02)}
.projA-system-contact span{
  position:absolute;left:9px;bottom:8px;padding:7px 8px;background:rgba(5,54,112,.84);border-radius:6px;color:#d9ebfa;font-size:7px;text-align:left
}
.projA-system-contact b{display:block;color:#fff;font-size:9px;margin-bottom:2px}

/* MODELS */
.projA-models{padding:86px 0;background:#fff}
.projA-models-head{max-width:760px;margin-bottom:34px}
.projA-model-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d7e6f3;border-left:1px solid #d7e6f3}
.projA-model-grid article{padding:27px;border-right:1px solid #d7e6f3;border-bottom:1px solid #d7e6f3;min-height:205px}
.projA-model-grid small{font-size:7.5px;letter-spacing:.11em;color:#6e98bd;font-weight:850}
.projA-model-grid h3{font-size:21px;color:#074ca6;margin:9px 0 18px}
.projA-model-chain{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.projA-model-chain span{padding:5px 7px;border:1px solid #d0e3f2;border-radius:999px;font-size:7.5px;color:#527fa7}
.projA-model-chain i{width:8px;height:1px;background:#92bee4}
.projA-model-grid p{margin:17px 0 0;font-size:8.5px;color:#7a91a7}

/* FINAL */
.projA-final{
  padding:64px 0;background:
  radial-gradient(circle at 86% 20%,rgba(75,159,241,.2),transparent 30%),
  linear-gradient(120deg,#062f6b,#0750a4)
}
.projA-final-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.projA-final h2{color:#fff;max-width:850px;font-size:34px}
.projA-final .btn{background:#fff;border-color:#fff;color:#074ca7}

/* LIGHTBOX */
.projA-lightbox{
  position:fixed;inset:0;z-index:9999;background:rgba(4,22,45,.82);display:none;place-items:center;padding:30px
}
.projA-lightbox.open{display:grid}
.projA-lightbox-dialog{position:relative;max-width:1100px;width:min(92vw,1100px);max-height:90vh;background:#fff;border-radius:14px;padding:13px;box-shadow:0 28px 70px rgba(0,0,0,.35)}
.projA-lightbox-dialog img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#fff}
.projA-lightbox-dialog>div{padding:9px 4px 3px;font-size:10px;color:#5d7892}
.projA-lightbox-close{position:absolute;right:15px;top:15px;z-index:3;width:34px;height:34px;border:0;border-radius:50%;background:#073e87;color:#fff;font-size:20px;cursor:pointer}

@media(max-width:1050px){
  .projA-hero-head,.projA-section-head{grid-template-columns:1fr}
  .projA-mosaic{height:400px;grid-template-columns:1.2fr .8fr;grid-template-rows:210px 180px}
  .projA-mosaic .m1{grid-column:1/3;grid-row:auto}.projA-mosaic .m2{grid-row:2}.projA-mosaic .m3{grid-row:2}
  .projA-mosaic .m4,.projA-mosaic .m5{display:none}
  .projA-flagship.bluemarq,.projA-flagship.sungroup,.projA-flagship.pc1{grid-template-columns:1fr 1fr}
  .projA-index-head{grid-template-columns:1fr}.projA-filter{justify-content:flex-start}
  .projA-row{grid-template-columns:35px 78px 180px 1fr 28px}
  .projA-system-contact{grid-template-columns:1fr 1fr;grid-template-rows:210px 160px 160px}
  .projA-system-contact button:first-child{grid-column:1/3;grid-row:auto}
}
@media(max-width:680px){
  .projA-wrap{width:calc(100% - 28px)}
  .projA-hero{padding:38px 0 30px}
  .projA-hero-head{gap:15px}
  .projA-hero-head h1{font-size:40px}
  .projA-mosaic{height:325px;grid-template-columns:1fr 1fr;grid-template-rows:190px 125px}
  .projA-client-wall,.projA-flagships,.projA-index,.projA-system-gallery,.projA-models{padding:58px 0}
  .projA-client-intro{grid-template-columns:1fr;gap:0}
  .projA-client-names a{flex-basis:50%;min-width:0;font-size:13px}
  .projA-client-preview{grid-template-columns:105px 1fr}.projA-client-preview-image{height:75px}
  .projA-flagship.bluemarq,.projA-flagship.sungroup,.projA-flagship.pc1{grid-template-columns:1fr}
  .projA-data-flow{min-height:300px}
  .projA-flag-image{height:230px}
  .projA-flagship.sungroup .projA-flag-copy{order:2}
  .projA-pc1-visual{height:260px}
  .projA-flag-copy{padding:28px 22px}
  .projA-row{grid-template-columns:30px 64px 1fr 25px;gap:9px;padding:10px 0}
  .projA-row .thumb{width:58px;height:48px}
  .projA-row .scope{grid-column:3;grid-row:2;font-size:8px}
  .projA-row .go{grid-column:4;grid-row:1/3}
  .projA-system-contact{grid-template-columns:1fr;grid-template-rows:190px repeat(4,145px)}
  .projA-system-contact button:first-child{grid-column:auto}
  .projA-model-grid{grid-template-columns:1fr}
  .projA-final-grid{grid-template-columns:1fr;gap:22px}
  .projA-final h2{font-size:28px}
}


/* =========================================================
   V2.6.1 – FIX HERO PROJECT MOSAIC
   Explicit grid placement prevents implicit third row / image slivers.
   ========================================================= */
@media (min-width:1051px){
  .projA-mosaic{
    height:460px;
    display:grid;
    grid-template-columns:1.42fr .82fr .76fr;
    grid-template-rows:1fr 1fr;
    grid-template-areas:
      "main pc1 hawee"
      "main pharung koastal";
    gap:11px;
  }
  .projA-mosaic .m1{grid-area:main}
  .projA-mosaic .m2{grid-area:pc1}
  .projA-mosaic .m3{grid-area:hawee}
  .projA-mosaic .m4{grid-area:pharung}
  .projA-mosaic .m5{grid-area:koastal}

  .projA-mosaic .m1,
  .projA-mosaic .m2,
  .projA-mosaic .m3,
  .projA-mosaic .m4,
  .projA-mosaic .m5{
    grid-row:auto;
    grid-column:auto;
    min-width:0;
    min-height:0;
  }
}

/* Tablet: one wide feature + four smaller tiles */
@media (min-width:681px) and (max-width:1050px){
  .projA-mosaic{
    height:455px;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:235px 100px 100px;
    grid-template-areas:
      "main main"
      "pc1 hawee"
      "pharung koastal";
    gap:10px;
  }
  .projA-mosaic .m1{grid-area:main!important}
  .projA-mosaic .m2{grid-area:pc1!important}
  .projA-mosaic .m3{grid-area:hawee!important}
  .projA-mosaic .m4{grid-area:pharung!important;display:block!important}
  .projA-mosaic .m5{grid-area:koastal!important;display:block!important}
  .projA-mosaic .m1,
  .projA-mosaic .m2,
  .projA-mosaic .m3,
  .projA-mosaic .m4,
  .projA-mosaic .m5{
    grid-row:auto!important;
    grid-column:auto!important;
    min-width:0;
    min-height:0;
  }
}

/* Mobile: feature image + 2 supporting images; intentionally hide 2 low-priority tiles */
@media (max-width:680px){
  .projA-mosaic{
    height:325px;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:190px 125px;
    grid-template-areas:
      "main main"
      "pc1 hawee";
    gap:10px;
  }
  .projA-mosaic .m1{grid-area:main!important}
  .projA-mosaic .m2{grid-area:pc1!important}
  .projA-mosaic .m3{grid-area:hawee!important}
  .projA-mosaic .m4,
  .projA-mosaic .m5{display:none!important}
}


/* =========================================================
   IBOM – PA A / PLATFORM STORY
   ========================================================= */
.ibA{background:#fff;color:#183e67}
.ibA-wrap{width:min(1180px,calc(100% - 52px));margin:auto}
.ibA-kicker{font-size:9px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:#1473d4;margin-bottom:13px}
.ibA-kicker.light{color:#96d0ff}
.ibA-section-head,.ibA-continuity-head{
  display:grid;grid-template-columns:58% 42%;gap:55px;align-items:end;margin-bottom:36px
}
.ibA-section-head h2,.ibA-continuity-head h2,.ibA-architecture-head h2,.ibA-core-intro h2,.ibA-integration-copy h2,.ibA-final h2{
  margin:0;font-size:clamp(31px,3.5vw,48px);line-height:1.08;letter-spacing:-.04em;color:#074ba6
}
.ibA-section-head>p,.ibA-continuity-head>p{margin:0;font-size:12px;line-height:1.75;color:#587492}

/* HERO */
.ibA-hero{
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 23%,rgba(72,165,255,.18),transparent 30%),
    linear-gradient(115deg,#fbfeff 0%,#edf8ff 54%,#e4f3ff 100%);
  border-bottom:1px solid #d8e8f5
}
.ibA-hero-grid{min-height:600px;display:grid;grid-template-columns:52% 48%;gap:48px;align-items:center}
.ibA-brandword{
  font-size:clamp(62px,7.2vw,104px);line-height:.82;letter-spacing:-.07em;font-weight:900;
  color:#0754b5;margin:3px 0 26px
}
.ibA-hero-copy h1{margin:0 0 20px;max-width:690px;font-size:clamp(37px,4.25vw,58px);line-height:1.04;letter-spacing:-.045em;color:#0749a5}
.ibA-hero-copy>p{max-width:655px;margin:0;font-size:13.5px;line-height:1.75;color:#506f8f}
.ibA-hero-actions{display:flex;align-items:center;gap:20px;margin-top:26px}
.ibA-text-link{font-size:9px;font-weight:850;color:#0869d7;text-decoration:none}
.ibA-hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:31px;border-top:1px solid #cfe2f2}
.ibA-hero-meta span{padding:14px 14px 0 0;font-size:8.5px;line-height:1.45;color:#7189a0}
.ibA-hero-meta b{display:block;font-size:10.5px;color:#0750a8;margin-bottom:3px}
.ibA-hero-visual{height:470px;position:relative}
.ibA-device-stage{
  position:absolute;left:50%;top:50%;width:66%;height:300px;transform:translate(-50%,-50%);
  border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);
  box-shadow:0 25px 60px rgba(23,85,145,.13);display:grid;place-items:center;z-index:3
}
.ibA-device-stage img{width:84%;height:76%;object-fit:contain;position:relative;z-index:2;image-rendering:auto}
.ibA-device-glow{position:absolute;width:190px;height:190px;border-radius:50%;background:rgba(56,158,244,.15);filter:blur(15px)}
.ibA-hero-visual:before,.ibA-hero-visual:after{
  content:"";position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);
  border:1px solid rgba(45,143,229,.18)
}
.ibA-hero-visual:before{width:390px;height:390px}
.ibA-hero-visual:after{width:470px;height:470px}
.ibA-orbit{
  position:absolute;z-index:4;width:150px;padding:11px 12px;border-radius:11px;background:#fff;border:1px solid #cfe3f4;
  box-shadow:0 10px 25px rgba(27,86,143,.08)
}
.ibA-orbit small{font-size:7px;color:#8aa6bf}.ibA-orbit b{display:block;font-size:9.5px;color:#0750a8;margin:3px 0}.ibA-orbit span{font-size:7.5px;color:#72899f}
.ibA-orbit:after{content:"";position:absolute;width:22px;height:1px;background:#81b9e7}
.orbit-people{left:0;top:71px}.orbit-people:after{right:-23px;bottom:22px}
.orbit-process{right:-5px;top:155px}.orbit-process:after{left:-23px;bottom:22px}
.orbit-data{left:40px;bottom:20px}.orbit-data:after{right:-23px;top:22px}
.ibA-hero-gridlines{
  position:absolute;inset:40px -10px 20px 20px;opacity:.18;
  background-image:linear-gradient(#5d9fd7 1px,transparent 1px),linear-gradient(90deg,#5d9fd7 1px,transparent 1px);
  background-size:36px 36px;mask-image:radial-gradient(circle at center,#000,transparent 73%)
}

/* PILLARS */
.ibA-pillars{padding:88px 0;background:#fff}
.ibA-pillar-stage{height:500px;position:relative;max-width:1000px;margin:10px auto 0}
.ibA-pillar-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #cfe4f5}
.ibA-pillar-ring.ring1{width:360px;height:360px}.ibA-pillar-ring.ring2{width:520px;height:520px;border-color:#e1edf7}
.ibA-pillar-center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:210px;height:210px;border-radius:50%;
  background:linear-gradient(145deg,#0758be,#0876df);color:#fff;display:grid;place-items:center;align-content:center;
  box-shadow:0 22px 55px rgba(7,92,190,.22)
}
.ibA-pillar-center small{font-size:7px;letter-spacing:.12em;color:#b8dcfa}.ibA-pillar-center b{font-size:31px;margin:4px 0}.ibA-pillar-center span{font-size:8.5px;color:#d8ebfb}
.ibA-pillar{position:absolute;width:255px;min-height:145px;padding:22px;border-radius:14px;border:1px solid #d4e6f4;background:#fff;box-shadow:0 13px 30px rgba(25,82,137,.07)}
.ibA-pillar-no{position:absolute;right:14px;top:10px;font-size:48px;font-weight:900;color:#eef5fb;letter-spacing:-.06em}
.ibA-pillar small{font-size:7.5px;letter-spacing:.11em;color:#7399bc;font-weight:850;position:relative;z-index:1}
.ibA-pillar h3{margin:8px 0 7px;font-size:22px;color:#074ca6;position:relative;z-index:1}
.ibA-pillar p{margin:0;font-size:9.5px;line-height:1.6;color:#657f98;position:relative;z-index:1}
.ibA-pillar.p1{left:0;top:80px}.ibA-pillar.p2{right:0;top:80px}.ibA-pillar.p3{left:50%;bottom:0;transform:translateX(-50%)}

/* ARCHITECTURE */
.ibA-architecture{
  padding:92px 0;background:
    radial-gradient(circle at 78% 10%,rgba(51,145,235,.23),transparent 30%),
    linear-gradient(120deg,#052e69,#064994 64%,#075fb9);color:#fff
}
.ibA-architecture-head{display:grid;grid-template-columns:55% 45%;gap:55px;align-items:end;margin-bottom:40px}
.ibA-architecture-head h2{color:#fff;font-size:clamp(38px,4.2vw,57px)}
.ibA-architecture-head>p{margin:0;font-size:12px;line-height:1.75;color:#d5e8f8}
.ibA-arch-stack{display:grid;gap:9px}
.ibA-arch-layer{
  display:grid;grid-template-columns:220px 1fr;align-items:center;min-height:73px;border-radius:12px;
  border:1px solid rgba(255,255,255,.19);background:rgba(255,255,255,.055);overflow:hidden
}
.ibA-arch-layer.experience{margin:0 65px}.ibA-arch-layer.solutions{margin:0 45px}.ibA-arch-layer.services{margin:0 26px}.ibA-arch-layer.core{margin:0 10px}
.ibA-layer-label{padding:14px 18px;border-right:1px solid rgba(255,255,255,.16)}
.ibA-layer-label small{display:block;font-size:7px;color:#86c4f7;letter-spacing:.1em}.ibA-layer-label b{display:block;font-size:11px;color:#fff;margin-top:5px}
.ibA-layer-items{display:flex;gap:7px;flex-wrap:wrap;padding:13px 17px}
.ibA-layer-items span{padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.19);background:rgba(255,255,255,.06);font-size:8px;color:#d7eafa}
.ibA-layer-items.strong span{background:#fff;color:#0750a8;border-color:#fff;font-weight:850}

/* CORE */
.ibA-core{padding:88px 0;background:linear-gradient(180deg,#f9fcff,#edf7ff)}
.ibA-core-grid{display:grid;grid-template-columns:38% 62%;gap:58px}
.ibA-core-intro{padding-top:6px}.ibA-core-intro p{font-size:11.5px;line-height:1.75;color:#587492}
.ibA-core-lines{border-top:1px solid #cfe2f1}
.ibA-core-lines>div{display:grid;grid-template-columns:50px 180px 1fr;gap:15px;align-items:center;min-height:68px;border-bottom:1px solid #cfe2f1}
.ibA-core-lines span{font-size:8px;color:#91a9bd}.ibA-core-lines b{font-size:12px;color:#074ca6}.ibA-core-lines small{font-size:9px;color:#6f879e}

/* ECOSYSTEM */
.ibA-ecosystem{padding:90px 0;background:#fff}
.ibA-eco-map{height:530px;position:relative;max-width:1000px;margin:10px auto 0}
.ibA-eco-center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;width:205px;height:205px;border-radius:50%;
  display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,#0752b5,#0875df);color:#fff;box-shadow:0 20px 50px rgba(7,91,186,.21)
}
.ibA-eco-center small{font-size:7px;letter-spacing:.11em;color:#b5dcfb}.ibA-eco-center b{font-size:42px;letter-spacing:-.05em}.ibA-eco-center span{font-size:8px;color:#d6eafb}
.ibA-eco-node{
  position:absolute;z-index:5;width:205px;min-height:100px;padding:16px;border-radius:13px;background:#fff;border:1px solid #d4e6f4;
  box-shadow:0 10px 27px rgba(23,81,139,.07);text-decoration:none;color:inherit;transition:.18s
}
.ibA-eco-node:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(23,81,139,.11);border-color:#91c2eb}
.ibA-eco-node small{font-size:7px;color:#7c9db9;letter-spacing:.08em}.ibA-eco-node b{display:block;font-size:17px;color:#074ca7;margin:6px 0 4px}.ibA-eco-node span{font-size:8.5px;color:#6d859c}
.ibA-eco-node.is,.ibA-eco-node.cs{border-color:#8fc2ec;background:#f4faff}
.ibA-eco-node.is{left:2%;top:75px}.ibA-eco-node.cs{right:2%;top:75px}
.ibA-eco-node.os{left:3%;bottom:60px}.ibA-eco-node.es{right:3%;bottom:60px}
.ibA-eco-node.mrp{left:50%;top:3px;transform:translateX(-50%)}.ibA-eco-node.mrp:hover{transform:translate(-50%,-3px)}
.ibA-eco-node.ms{left:50%;bottom:0;transform:translateX(-50%)}.ibA-eco-node.ms:hover{transform:translate(-50%,-3px)}
.ibA-eco-orbit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #d3e6f5;z-index:1}
.ibA-eco-orbit.inner{width:420px;height:420px}.ibA-eco-orbit.outer{width:700px;height:480px;border-style:dashed;border-color:#dcebf7}

/* CONTINUITY */
.ibA-continuity{padding:86px 0;background:linear-gradient(180deg,#f8fcff,#edf7ff)}
.ibA-data-ribbon{display:grid;grid-template-columns:1fr 26px 1fr 26px 1fr 26px 1fr 26px 1fr;align-items:center}
.ibA-data-ribbon>div{min-height:132px;padding:20px 16px;border:1px solid #d1e4f3;border-radius:13px;background:#fff}
.ibA-data-ribbon small{font-size:8px;color:#8ca8c0}.ibA-data-ribbon b{display:block;font-size:11.5px;color:#074fa8;margin:9px 0 5px}.ibA-data-ribbon span{font-size:8.5px;line-height:1.5;color:#6d859c}
.ibA-data-ribbon>div.active{background:linear-gradient(145deg,#0750ad,#0871d8);border-color:#0750ad}
.ibA-data-ribbon>div.active small,.ibA-data-ribbon>div.active span{color:#d0e7fa}.ibA-data-ribbon>div.active b{color:#fff}
.ibA-data-ribbon>i{height:1px;background:#8bbbe3;position:relative}.ibA-data-ribbon>i:after{content:"";position:absolute;right:-1px;top:-3px;border-left:5px solid #68a8df;border-top:3px solid transparent;border-bottom:3px solid transparent}

/* INTEGRATION */
.ibA-integration{padding:90px 0;background:#062f6b;color:#fff}
.ibA-integration-grid{display:grid;grid-template-columns:42% 58%;gap:58px;align-items:center}
.ibA-integration-copy h2{color:#fff;font-size:clamp(36px,4vw,55px)}
.ibA-integration-copy p{font-size:11.5px;line-height:1.75;color:#d2e6f8}
.ibA-integration-diagram{display:grid;gap:10px}
.ibA-int-sources,.ibA-int-outputs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ibA-int-sources span,.ibA-int-outputs span{padding:13px 8px;text-align:center;border-radius:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.17);font-size:8px;color:#d8ebfb}
.ibA-int-flow{text-align:center;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.ibA-int-flow i{height:1px;background:linear-gradient(90deg,transparent,#67b4f0)}.ibA-int-flow i:last-child{background:linear-gradient(90deg,#67b4f0,transparent)}
.ibA-int-flow b{padding:7px 11px;border-radius:999px;background:rgba(102,182,244,.14);border:1px solid rgba(122,195,250,.27);font-size:7.5px;letter-spacing:.09em;color:#a8d6fa}
.ibA-int-platform{padding:26px;border-radius:15px;background:#fff;color:#0750a8;text-align:center;box-shadow:0 17px 39px rgba(0,0,0,.14)}
.ibA-int-platform small{display:block;font-size:7px;letter-spacing:.11em;color:#7099bd}.ibA-int-platform b{display:block;font-size:35px;margin:3px 0}.ibA-int-platform span{font-size:8.5px;color:#718aa1}

/* UI GALLERY */
.ibA-ui{padding:90px 0;background:#fff}
.ibA-ui-gallery{height:475px;display:grid;grid-template-columns:1.32fr .75fr .75fr;grid-template-rows:1fr 1fr;gap:11px}
.ibA-ui-gallery button{
  border:1px solid #d5e6f3;padding:0;margin:0;position:relative;border-radius:14px;overflow:hidden;background:#f5f9fc;cursor:pointer
}
.ibA-ui-gallery .ibA-ui-main{grid-row:1/3}
.ibA-ui-gallery button:nth-child(4){grid-column:2/4}
.ibA-ui-gallery img{width:100%;height:100%;object-fit:contain;background:#fff;transition:transform .25s ease}
.ibA-ui-gallery button:hover img{transform:scale(1.015)}
.ibA-ui-gallery span{position:absolute;left:10px;bottom:9px;padding:8px 10px;border-radius:7px;background:rgba(4,51,108,.86);color:#fff;text-align:left}
.ibA-ui-gallery small{display:block;font-size:6.5px;letter-spacing:.1em;color:#afd8f7;margin-bottom:3px}.ibA-ui-gallery b{font-size:8.5px}

/* FINAL */
.ibA-final{
  padding:64px 0;background:
    radial-gradient(circle at 84% 18%,rgba(69,157,240,.22),transparent 28%),
    linear-gradient(120deg,#062f6a,#0751a4)
}
.ibA-final-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.ibA-final h2{color:#fff;max-width:790px;font-size:35px}.ibA-final p{font-size:10.5px;color:#cfe5f8;margin:10px 0 0}
.ibA-final-actions{display:flex;align-items:center;gap:17px}.ibA-final .btn{background:#fff;border-color:#fff;color:#074ca7}
.ibA-final-link{font-size:9px;font-weight:850;color:#fff;text-decoration:none}

/* LIGHTBOX */
.ibA-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(4,22,45,.82);display:none;place-items:center;padding:30px}
.ibA-lightbox.open{display:grid}.ibA-lightbox-dialog{position:relative;max-width:1100px;width:min(92vw,1100px);max-height:90vh;background:#fff;border-radius:14px;padding:13px;box-shadow:0 28px 70px rgba(0,0,0,.35)}
.ibA-lightbox-dialog img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#fff}
.ibA-lightbox-dialog>div{padding:9px 4px 3px;font-size:10px;color:#5d7892}
.ibA-lightbox-close{position:absolute;right:15px;top:15px;z-index:3;width:34px;height:34px;border:0;border-radius:50%;background:#073e87;color:#fff;font-size:20px;cursor:pointer}

/* RESPONSIVE */
@media(max-width:1050px){
  .ibA-hero-grid,.ibA-section-head,.ibA-continuity-head,.ibA-architecture-head,.ibA-core-grid,.ibA-integration-grid{grid-template-columns:1fr}
  .ibA-hero-copy{padding-top:42px}.ibA-hero-visual{height:420px}
  .ibA-pillar-stage{height:610px}.ibA-pillar.p1{left:3%}.ibA-pillar.p2{right:3%}
  .ibA-arch-layer.experience,.ibA-arch-layer.solutions,.ibA-arch-layer.services,.ibA-arch-layer.core{margin:0}
  .ibA-eco-map{transform:scale(.9);transform-origin:center top;margin-bottom:-45px}
  .ibA-data-ribbon{grid-template-columns:repeat(5,1fr);gap:8px}.ibA-data-ribbon>i{display:none}
}
@media(max-width:680px){
  .ibA-wrap{width:calc(100% - 28px)}
  .ibA-hero-grid{min-height:auto}.ibA-hero-copy{padding:38px 0 4px}
  .ibA-brandword{font-size:68px}.ibA-hero-copy h1{font-size:36px}
  .ibA-hero-actions{align-items:flex-start;flex-direction:column;gap:12px}
  .ibA-hero-meta{grid-template-columns:1fr}
  .ibA-hero-visual{height:350px}.ibA-device-stage{width:75%;height:220px}
  .ibA-orbit{width:125px;padding:9px}.orbit-people{left:0;top:30px}.orbit-process{right:0;top:90px}.orbit-data{left:20px;bottom:10px}
  .ibA-pillars,.ibA-core,.ibA-ecosystem,.ibA-continuity,.ibA-integration,.ibA-ui{padding:58px 0}
  .ibA-pillar-stage{height:auto;display:grid;gap:10px}
  .ibA-pillar-ring,.ibA-pillar-center{display:none}
  .ibA-pillar{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%;min-height:125px}
  .ibA-arch-layer{grid-template-columns:1fr}.ibA-layer-label{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .ibA-core-lines>div{grid-template-columns:35px 1fr}.ibA-core-lines small{grid-column:2}
  .ibA-eco-map{height:auto;transform:none;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}
  .ibA-eco-center{position:relative;left:auto;top:auto;transform:none;grid-column:1/3;width:100%;height:135px;border-radius:15px}
  .ibA-eco-node{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%;min-height:105px}
  .ibA-eco-orbit{display:none}
  .ibA-data-ribbon{grid-template-columns:1fr 1fr}
  .ibA-int-sources,.ibA-int-outputs{grid-template-columns:1fr 1fr}
  .ibA-ui-gallery{height:auto;grid-template-columns:1fr}
  .ibA-ui-gallery .ibA-ui-main,.ibA-ui-gallery button:nth-child(4){grid-row:auto;grid-column:auto}
  .ibA-ui-gallery button{height:185px}.ibA-ui-gallery .ibA-ui-main{height:230px}
  .ibA-final-grid{grid-template-columns:1fr;gap:22px}.ibA-final-actions{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   MÔ HÌNH HỢP TÁC – PA A / TECHNOLOGY AUTONOMY JOURNEY
   ========================================================= */
.partnerA{background:#fff;color:#183e67}
.partnerA-wrap{width:min(1180px,calc(100% - 52px));margin:auto}
.partnerA-kicker{font-size:9px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:#1473d4;margin-bottom:13px}
.partnerA-kicker.light{color:#9bd3ff}
.partnerA-section-head{
  display:grid;grid-template-columns:58% 42%;gap:55px;align-items:end;margin-bottom:38px
}
.partnerA-section-head h2,.partnerA-start-intro h2,.partnerA-final h2{
  margin:0;font-size:clamp(31px,3.5vw,48px);line-height:1.08;letter-spacing:-.04em;color:#074ba6
}
.partnerA-section-head>p{margin:0;font-size:12px;line-height:1.75;color:#587492}

/* HERO */
.partnerA-hero{
  overflow:hidden;
  background:
    radial-gradient(circle at 80% 20%,rgba(74,166,250,.18),transparent 31%),
    linear-gradient(115deg,#fbfeff 0%,#eef8ff 54%,#e6f4ff 100%);
  border-bottom:1px solid #d8e8f5
}
.partnerA-hero-grid{min-height:565px;display:grid;grid-template-columns:52% 48%;gap:55px;align-items:center}
.partnerA-hero-copy h1{
  margin:0 0 21px;max-width:730px;
  font-size:clamp(44px,5vw,68px);line-height:1.01;letter-spacing:-.052em;color:#0647a3
}
.partnerA-hero-copy>p{max-width:650px;margin:0;font-size:13.5px;line-height:1.75;color:#506f8f}
.partnerA-hero-note{
  margin-top:29px;padding:17px 0;border-top:1px solid #cfe2f2;border-bottom:1px solid #cfe2f2
}
.partnerA-hero-note span{display:block;font-size:8.5px;color:#7992a9;margin-bottom:6px}
.partnerA-hero-note b{font-size:12px;color:#0751ac}
.partnerA-hero-visual{height:420px;position:relative}
.partnerA-axis{
  position:absolute;left:5%;right:2%;bottom:25px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center
}
.partnerA-axis span{font-size:7.5px;letter-spacing:.1em;color:#7398ba;font-weight:850}
.partnerA-axis i{height:1px;background:linear-gradient(90deg,#9ac6e9,#0a6dd7)}
.partnerA-axis b{color:#0a6dd7;font-size:17px}
.partnerA-rise{
  position:absolute;width:30%;border-radius:15px 15px 3px 3px;padding:22px 19px;
  display:flex;flex-direction:column;justify-content:flex-end;
  border:1px solid #cfe2f2;background:rgba(255,255,255,.88);
  box-shadow:0 17px 38px rgba(24,82,138,.08);backdrop-filter:blur(8px)
}
.partnerA-rise small{font-size:8px;color:#83a4c1}.partnerA-rise b{font-size:15px;color:#074da7;margin:8px 0 4px}.partnerA-rise span{font-size:8.5px;line-height:1.45;color:#7189a1}
.partnerA-rise.r1{left:2%;bottom:54px;height:145px}
.partnerA-rise.r2{left:35%;bottom:54px;height:225px;background:linear-gradient(180deg,#fff,#eef8ff);border-color:#9dc8ec}
.partnerA-rise.r3{right:0;bottom:54px;height:310px;background:linear-gradient(180deg,#f3f9ff,#dceeff);border-color:#79b3e6}
.partnerA-rise.r3 b{font-size:18px}
.partnerA-base-label{
  position:absolute;left:50%;bottom:2px;transform:translateX(-50%);font-size:7px;letter-spacing:.12em;color:#7f9cb7;font-weight:850
}

/* JOURNEY */
.partnerA-journey{padding:88px 0;background:#fff}
.partnerA-model{
  display:grid;grid-template-columns:22% 78%;gap:48px;padding:55px 0;border-top:1px solid #d3e5f3
}
.partnerA-model:last-child{border-bottom:1px solid #d3e5f3}
.partnerA-model-index{border-right:1px solid #d3e5f3;padding-right:28px}
.partnerA-model-index span{
  display:block;font-size:86px;line-height:.88;font-weight:900;letter-spacing:-.065em;color:#e6f0f8
}
.partnerA-model.develop .partnerA-model-index span{color:#c5def3}
.partnerA-model.ownership .partnerA-model-index span{color:#98c2e7}
.partnerA-model-index small{display:block;margin-top:14px;font-size:8px;line-height:1.5;letter-spacing:.11em;color:#628db4;font-weight:850}
.partnerA-model-copy h3{
  margin:0 0 14px;max-width:850px;font-size:clamp(29px,3vw,41px);line-height:1.1;letter-spacing:-.035em;color:#074ca6
}
.partnerA-model-copy>p{max-width:800px;font-size:11.5px;line-height:1.75;color:#597591}
.partnerA-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:27px 0}
.partnerA-flow span{padding:7px 10px;border-radius:999px;border:1px solid #cee2f2;background:#f7fbff;font-size:8.5px;font-weight:750;color:#4e7da7}
.partnerA-flow i{width:17px;height:1px;background:#8ebbe2;position:relative}.partnerA-flow i:after{content:"";position:absolute;right:-1px;top:-3px;border-left:5px solid #6aa7de;border-top:3px solid transparent;border-bottom:3px solid transparent}
.partnerA-model-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:25px}
.partnerA-model-facts>div{padding:16px;border-top:2px solid #0b6cd5;background:#f5faff}
.partnerA-model-facts small{font-size:7px;letter-spacing:.1em;color:#7b9bb8;font-weight:850}
.partnerA-model-facts b{display:block;font-size:10.5px;line-height:1.45;color:#0750a8;margin-top:6px}
.partnerA-dev-split{display:grid;grid-template-columns:1fr 45px 1fr;gap:10px;align-items:center;margin:28px 0}
.partnerA-dev-split>div:not(.bridge){min-height:145px;padding:21px;border:1px solid #cfe2f2;border-radius:13px;background:#f8fcff}
.partnerA-dev-split .custom{background:linear-gradient(135deg,#eff8ff,#dcefff);border-color:#9fc8eb}
.partnerA-dev-split .bridge{display:grid;place-items:center;font-size:27px;color:#72a9d9}
.partnerA-dev-split small{font-size:7px;letter-spacing:.1em;color:#7c9ebc}.partnerA-dev-split b{display:block;font-size:15px;color:#074ca7;margin:8px 0 6px}
.partnerA-dev-split span{display:block;font-size:8.5px;color:#6b849b;line-height:1.45}.partnerA-dev-split em{display:block;margin-top:14px;font-style:normal;font-size:8px;font-weight:800;color:#0a69d3}
.partnerA-ownership-map{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:28px 0}
.partnerA-ownership-map>div{min-height:135px;padding:17px;border:1px solid #cfe2f2;border-radius:12px;background:#f8fcff}
.partnerA-ownership-map small{font-size:8px;color:#8ba5bd}.partnerA-ownership-map b{display:block;font-size:11px;color:#074fa8;margin:8px 0 5px}.partnerA-ownership-map span{font-size:8.5px;line-height:1.5;color:#70879e}
.partnerA-policy-note{padding:17px 20px;border-radius:11px;background:#082f6d;color:#fff;display:grid;grid-template-columns:180px 1fr;gap:18px}
.partnerA-policy-note b{font-size:10px}.partnerA-policy-note span{font-size:9px;line-height:1.6;color:#cee5f8}

/* MATURITY */
.partnerA-maturity{
  padding:88px 0;background:
    radial-gradient(circle at 83% 13%,rgba(72,164,248,.16),transparent 29%),
    linear-gradient(180deg,#f7fbff,#ebf6ff)
}
.partnerA-maturity-scale{display:grid;grid-template-columns:1fr 45px 1fr 45px 1fr;align-items:center;margin-top:25px}
.partnerA-ms{min-height:155px;padding:24px 22px;border-radius:14px;border:1px solid #cfe3f3;background:#fff}
.partnerA-ms.m2{background:linear-gradient(145deg,#f5fbff,#e6f3ff);border-color:#a8cdeb}
.partnerA-ms.m3{background:linear-gradient(145deg,#0751ad,#0872db);border-color:#0751ad;color:#fff}
.partnerA-ms small{font-size:8px;color:#8ba5bd}.partnerA-ms b{display:block;font-size:17px;color:#074ca6;margin:10px 0 6px}.partnerA-ms span{font-size:9px;color:#6d859c}
.partnerA-ms.m3 small,.partnerA-ms.m3 span{color:#cde6f9}.partnerA-ms.m3 b{color:#fff}
.partnerA-ms-arrow{text-align:center;font-size:25px;color:#70aadd}
.partnerA-continuity{display:flex;align-items:center;gap:9px;margin-top:25px;padding:15px 18px;border-top:1px solid #cbdfee;border-bottom:1px solid #cbdfee}
.partnerA-continuity span{font-size:8.5px;font-weight:800;color:#4377a6}.partnerA-continuity i{flex:1;height:1px;background:#9bc4e6}

/* MATRIX */
.partnerA-matrix{padding:88px 0;background:#fff}
.partnerA-matrix-table{border:1px solid #d3e5f3;border-radius:14px;overflow:hidden}
.partnerA-matrix-row{display:grid;grid-template-columns:190px repeat(3,1fr);min-height:72px;border-bottom:1px solid #d8e7f3}
.partnerA-matrix-row:last-child{border-bottom:0}
.partnerA-matrix-row>div{padding:18px;border-right:1px solid #d8e7f3;font-size:9.5px;line-height:1.5;color:#627c95;display:flex;align-items:center}
.partnerA-matrix-row>div:last-child{border-right:0}
.partnerA-matrix-row>div:first-child{background:#f7fbff;color:#074da7}
.partnerA-matrix-row.head{min-height:60px;background:#082f6d}
.partnerA-matrix-row.head>div{background:transparent!important;color:#fff!important;font-size:8px;letter-spacing:.08em;font-weight:850}
.partnerA-matrix-row b{font-size:10px;color:#074ca6}
.partnerA-matrix-row .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:#c2d9eb;box-shadow:11px 0 0 #e3eef7,22px 0 0 #edf5fb}
.partnerA-matrix-row .dot.two{background:#5ea2df;box-shadow:11px 0 0 #5ea2df,22px 0 0 #e1eef8;margin-right:29px}
.partnerA-matrix-row .dot.three{background:#0870d9;box-shadow:11px 0 0 #0870d9,22px 0 0 #0870d9;margin-right:29px}

/* START */
.partnerA-start{padding:88px 0;background:linear-gradient(180deg,#f8fcff,#eef7ff)}
.partnerA-start-grid{display:grid;grid-template-columns:37% 63%;gap:55px}
.partnerA-start-intro p{font-size:11px;line-height:1.7;color:#5e7892}
.partnerA-start-options{display:grid;gap:9px}
.partnerA-start-options article{
  min-height:125px;padding:21px 21px 21px 86px;border:1px solid #d1e4f3;border-radius:13px;background:#fff;position:relative
}
.partnerA-start-options article>span{position:absolute;left:20px;top:20px;font-size:38px;line-height:1;font-weight:900;color:#e2eef8}
.partnerA-start-options small{font-size:7px;letter-spacing:.1em;color:#7899b7}.partnerA-start-options h3{margin:7px 0 5px;font-size:18px;color:#074ca6}.partnerA-start-options p{margin:0;font-size:9.5px;color:#667f97}.partnerA-start-options p b{color:#0752ad}
.partnerA-start-message{
  grid-column:1/3;margin-top:8px;padding:20px 22px;border-radius:13px;background:#fff;border:1px solid #cfe2f2;display:grid;grid-template-columns:40% 60%;gap:25px
}
.partnerA-start-message b{font-size:12px;color:#074ca6}.partnerA-start-message span{font-size:9px;line-height:1.6;color:#697f95}

/* FINAL */
.partnerA-final{
  padding:64px 0;background:
    radial-gradient(circle at 84% 18%,rgba(70,157,240,.22),transparent 29%),
    linear-gradient(120deg,#062f6a,#0750a4)
}
.partnerA-final-grid{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.partnerA-final h2{color:#fff;max-width:850px;font-size:35px}.partnerA-final p{font-size:10.5px;line-height:1.65;color:#d0e5f8;margin:10px 0 0;max-width:760px}
.partnerA-final .btn{background:#fff;border-color:#fff;color:#074ca7}

@media(max-width:1050px){
  .partnerA-hero-grid,.partnerA-section-head,.partnerA-start-grid{grid-template-columns:1fr}
  .partnerA-hero-copy{padding-top:42px}.partnerA-hero-visual{height:390px}
  .partnerA-model{grid-template-columns:160px 1fr}
  .partnerA-ownership-map{grid-template-columns:1fr 1fr}
  .partnerA-start-message{grid-column:auto;grid-template-columns:1fr}
}
@media(max-width:680px){
  .partnerA-wrap{width:calc(100% - 28px)}
  .partnerA-hero-grid{min-height:auto}.partnerA-hero-copy{padding:38px 0 0}.partnerA-hero-copy h1{font-size:40px}
  .partnerA-hero-visual{height:330px}
  .partnerA-rise{padding:14px 10px}.partnerA-rise b{font-size:11px}.partnerA-rise span{font-size:7px}
  .partnerA-rise.r1{height:115px}.partnerA-rise.r2{height:175px}.partnerA-rise.r3{height:240px}
  .partnerA-axis span{display:none}
  .partnerA-journey,.partnerA-maturity,.partnerA-matrix,.partnerA-start{padding:58px 0}
  .partnerA-model{grid-template-columns:1fr;gap:22px;padding:40px 0}
  .partnerA-model-index{border-right:0;border-bottom:1px solid #d3e5f3;padding-bottom:14px}
  .partnerA-model-index span{font-size:58px}
  .partnerA-model-facts{grid-template-columns:1fr}
  .partnerA-dev-split{grid-template-columns:1fr}.partnerA-dev-split .bridge{height:28px}
  .partnerA-ownership-map{grid-template-columns:1fr}
  .partnerA-policy-note{grid-template-columns:1fr}
  .partnerA-maturity-scale{grid-template-columns:1fr;gap:8px}.partnerA-ms-arrow{transform:rotate(90deg)}
  .partnerA-continuity{display:grid;grid-template-columns:1fr}.partnerA-continuity i{width:100%}
  .partnerA-matrix-table{overflow-x:auto}.partnerA-matrix-row{min-width:760px}
  .partnerA-start-message{grid-template-columns:1fr}
  .partnerA-final-grid{grid-template-columns:1fr;gap:22px}.partnerA-final h2{font-size:28px}
}


/* =========================================================
   FINAL V3.0 – GLOBAL NAVIGATION
   ========================================================= */
@media(min-width:1161px){
  .nav{gap:20px}
  .menu{gap:21px;font-size:12.2px}
  .nav-cta{padding:11px 17px;font-size:12px}
}
@media(max-width:1160px){
  .menu,.search,.nav-cta{display:none}
  .mobile-btn{display:block}
}

/* =========================================================
   LIÊN HỆ – CONTACT HUB
   ========================================================= */
.contactA{background:#fff;color:#183e67}
.contactA-wrap{width:min(1180px,calc(100% - 52px));margin:auto}
.contactA-kicker{font-size:9px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:#1473d4;margin-bottom:13px}
.contactA-kicker.light{color:#99d1ff}
.contactA-section-head{display:grid;grid-template-columns:58% 42%;gap:55px;align-items:end;margin-bottom:34px}
.contactA-section-head h2,.contactA-section-mini h2,.contactA-social h2,.contactA-final h2{
  margin:0;font-size:clamp(31px,3.5vw,48px);line-height:1.08;letter-spacing:-.04em;color:#074ba6
}
.contactA-section-head>p{margin:0;font-size:12px;line-height:1.75;color:#587492}

.contactA-hero{
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(77,168,250,.18),transparent 31%),
    linear-gradient(115deg,#fbfeff 0%,#eef8ff 54%,#e5f4ff 100%);
  border-bottom:1px solid #d7e8f5
}
.contactA-hero-grid{min-height:570px;display:grid;grid-template-columns:51% 49%;gap:55px;align-items:center}
.contactA-hero-copy h1{
  margin:0 0 21px;max-width:720px;
  font-size:clamp(44px,5vw,67px);line-height:1.01;letter-spacing:-.052em;color:#0647a3
}
.contactA-hero-copy>p{max-width:625px;margin:0;font-size:13.5px;line-height:1.75;color:#506f8f}
.contactA-direct{display:flex;gap:0;margin-top:29px;border-top:1px solid #cfe2f2;border-bottom:1px solid #cfe2f2}
.contactA-direct a{padding:14px 25px 14px 0;margin-right:25px;border-right:1px solid #cfe2f2}
.contactA-direct a:last-child{border-right:0}
.contactA-direct small{display:block;font-size:7px;letter-spacing:.1em;color:#829db6;margin-bottom:4px}
.contactA-direct b{font-size:11px;color:#0750a9}
.contactA-action-rail{display:grid;gap:10px}
.contactA-action{
  min-height:118px;display:grid;grid-template-columns:48px 1fr 28px;gap:14px;align-items:center;
  padding:18px;border-radius:14px;border:1px solid #cfe3f4;background:rgba(255,255,255,.87);
  box-shadow:0 10px 28px rgba(24,84,141,.06);transition:.18s
}
.contactA-action:hover{transform:translateX(4px);box-shadow:0 15px 34px rgba(24,84,141,.10);border-color:#93c3eb}
.contactA-action>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#edf7ff;color:#0870db;font-size:9px;font-weight:850}
.contactA-action small{display:block;font-size:7px;letter-spacing:.1em;color:#779ab9;font-weight:850}
.contactA-action b{display:block;font-size:14px;color:#074ca6;margin:5px 0}
.contactA-action p{margin:0;font-size:8.5px;line-height:1.45;color:#71899f}
.contactA-action em{font-style:normal;font-size:18px;color:#0a6ed8}
.contactA-action.primary{background:linear-gradient(135deg,#0752b5,#0874de);border-color:#0752b5}
.contactA-action.primary>span{background:rgba(255,255,255,.14);color:#fff}
.contactA-action.primary small,.contactA-action.primary p{color:#cfe7fa}
.contactA-action.primary b,.contactA-action.primary em{color:#fff}

.contactA-connect{padding:0;background:#fff}
.contactA-connect-line{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid #d6e6f3}
.contactA-connect-line>div{padding:22px 18px;border-right:1px solid #d6e6f3}
.contactA-connect-line>div:first-child{padding-left:0}.contactA-connect-line>div:last-child{border-right:0}
.contactA-connect-line small{display:block;font-size:7px;letter-spacing:.1em;color:#819db7;margin-bottom:6px}
.contactA-connect-line a{font-size:10px;font-weight:800;color:#0750a8}

.contactA-offices{padding:88px 0;background:#fff}
.contactA-office-grid{display:grid;grid-template-columns:44% 56%;gap:62px;align-items:center}
.contactA-office-visual{
  height:470px;border-radius:18px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 32% 24%,rgba(109,190,255,.24),transparent 25%),
    radial-gradient(circle at 70% 76%,rgba(64,151,234,.16),transparent 27%),
    linear-gradient(145deg,#edf8ff,#dcefff);
  border:1px solid #d3e6f4
}
.contactA-office-visual:before{
  content:"";position:absolute;inset:0;opacity:.22;
  background-image:linear-gradient(#79add7 1px,transparent 1px),linear-gradient(90deg,#79add7 1px,transparent 1px);
  background-size:38px 38px;mask-image:radial-gradient(circle at center,#000,transparent 72%)
}
.contactA-city{position:absolute;z-index:2;width:230px;padding:18px;border-radius:13px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(22,82,140,.08)}
.contactA-city small{display:block;font-size:7px;letter-spacing:.11em;color:#789bbb}.contactA-city b{display:block;font-size:25px;color:#0750aa;margin:5px 0}.contactA-city span{font-size:8.5px;color:#6d859c}
.contactA-city.city-hn{left:34px;top:55px}.contactA-city.city-hcm{right:28px;bottom:54px}
.contactA-route{position:absolute;left:37%;top:46%;width:34%;z-index:2;transform:rotate(33deg);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.contactA-route i{height:1px;background:#65a9df}.contactA-route span{font-size:7px;font-weight:900;letter-spacing:.11em;color:#0755b5;background:#fff;padding:6px 8px;border-radius:999px}
.contactA-office-word{position:absolute;left:20px;bottom:-10px;font-size:91px;line-height:1;font-weight:900;letter-spacing:-.07em;color:rgba(7,80,170,.06)}
.contactA-section-mini{margin-bottom:25px}.contactA-section-mini h2{font-size:34px}
.contactA-office-list article{display:grid;grid-template-columns:55px 1fr;gap:17px;padding:22px 0;border-top:1px solid #d6e6f3}
.contactA-office-list article:last-child{border-bottom:1px solid #d6e6f3}
.contactA-office-list article>span{font-size:30px;line-height:1;font-weight:900;color:#e1edf7}
.contactA-office-list small{font-size:7.5px;letter-spacing:.1em;color:#7298bb;font-weight:850}
.contactA-office-list h3{margin:6px 0 5px;font-size:16px;color:#074ca6}
.contactA-office-list p{margin:0;font-size:9.5px;line-height:1.6;color:#687f97}

.contactA-prepare{padding:88px 0;background:linear-gradient(180deg,#f8fcff,#edf7ff)}
.contactA-prepare-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d5e6f3;border-left:1px solid #d5e6f3}
.contactA-prepare-grid article{min-height:245px;padding:23px;border-right:1px solid #d5e6f3;border-bottom:1px solid #d5e6f3;background:rgba(255,255,255,.6);position:relative}
.contactA-prepare-grid article>span{position:absolute;right:13px;bottom:-9px;font-size:76px;line-height:1;font-weight:900;color:#e9f2f9;letter-spacing:-.06em}
.contactA-prepare-grid small{position:relative;z-index:2;font-size:7.5px;letter-spacing:.1em;color:#7298ba;font-weight:850}
.contactA-prepare-grid h3{position:relative;z-index:2;margin:13px 0 9px;font-size:18px;line-height:1.25;color:#074ca6}
.contactA-prepare-grid p{position:relative;z-index:2;margin:0;font-size:9.5px;line-height:1.6;color:#667f97}

.contactA-social{padding:68px 0;background:#fff}
.contactA-social-grid{display:grid;grid-template-columns:42% 58%;gap:55px;align-items:center}
.contactA-social h2{font-size:34px}
.contactA-social-links{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.contactA-social-links a{min-height:105px;padding:17px;border:1px solid #d3e5f3;border-radius:12px;display:grid;grid-template-columns:38px 1fr 20px;gap:10px;align-items:center;background:#fff}
.contactA-social-links a>span{width:34px;height:34px;border-radius:8px;background:#edf7ff;display:grid;place-items:center;color:#0869d6;font-size:13px;font-weight:900}
.contactA-social-links small{display:block;font-size:6.5px;letter-spacing:.1em;color:#809bb5}.contactA-social-links b{display:block;font-size:10.5px;color:#074da7;margin-top:4px}.contactA-social-links em{font-style:normal;color:#0b6fd8}

.contactA-final{
  padding:64px 0;background:
    radial-gradient(circle at 84% 20%,rgba(72,160,242,.22),transparent 30%),
    linear-gradient(120deg,#062f6a,#0751a5)
}
.contactA-final-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.contactA-final h2{color:#fff;max-width:820px;font-size:35px}
.contactA-final p{margin:10px 0 0;max-width:760px;font-size:10.5px;line-height:1.65;color:#d0e5f8}
.contactA-final .btn{background:#fff;border-color:#fff;color:#074ca7}

@media(max-width:1050px){
  .contactA-hero-grid,.contactA-section-head,.contactA-office-grid,.contactA-social-grid{grid-template-columns:1fr}
  .contactA-hero-copy{padding-top:42px}.contactA-action-rail{padding-bottom:45px}
  .contactA-connect-line{grid-template-columns:repeat(3,1fr)}
  .contactA-connect-line>div:nth-child(3){border-right:0}
  .contactA-prepare-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .contactA-wrap{width:calc(100% - 28px)}
  .contactA-hero-grid{min-height:auto}.contactA-hero-copy{padding:38px 0 5px}
  .contactA-hero-copy h1{font-size:40px}
  .contactA-direct{display:block}.contactA-direct a{display:block;border-right:0;border-bottom:1px solid #cfe2f2;margin:0}.contactA-direct a:last-child{border-bottom:0}
  .contactA-action{grid-template-columns:42px 1fr 20px;padding:14px}
  .contactA-connect-line{grid-template-columns:1fr 1fr}.contactA-connect-line>div{border-bottom:1px solid #d6e6f3}.contactA-connect-line>div:nth-child(odd){padding-left:0}
  .contactA-connect-line>div:nth-child(even){border-right:0}
  .contactA-offices,.contactA-prepare{padding:58px 0}
  .contactA-office-visual{height:340px}.contactA-city{width:190px}.contactA-city.city-hn{left:14px;top:30px}.contactA-city.city-hcm{right:14px;bottom:30px}
  .contactA-office-word{font-size:60px}
  .contactA-prepare-grid{grid-template-columns:1fr}
  .contactA-social-links{grid-template-columns:1fr}
  .contactA-final-grid{grid-template-columns:1fr;gap:22px}.contactA-final h2{font-size:28px}
}


/* =========================================================
   FINAL V4.0 – VISUAL ASSET INTEGRATION
   ========================================================= */

/* Shared generated visual treatment */
.capA-editorial-visual,
.capA-wide-visual,
.service-data-extra-visual{
  margin:24px 0 30px;
  border-radius:16px;
  overflow:hidden;
  background:#f4f9fd;
  border:1px solid #d3e5f3;
  box-shadow:0 15px 36px rgba(25,82,137,.08);
}
.capA-editorial-visual img,
.capA-wide-visual img,
.service-data-extra-visual img{
  display:block;width:100%;height:auto;
}
.capA-business-visual{max-width:760px}
.capA-editorial-stage{
  min-height:0!important;height:auto!important;
  display:block!important;
}
.capA-editorial-stage img{
  display:block;width:100%;height:auto;object-fit:contain;
  border-radius:16px;border:1px solid #d3e5f3;
  box-shadow:0 16px 38px rgba(25,82,137,.09);
}
.capA-data-visual{
  max-width:1040px;margin:0 auto 34px;
  background:#fff;border-color:rgba(255,255,255,.24);
}
.capA-delivery-visual{max-width:1040px;margin:0 auto 34px}

/* Giải pháp – stronger platform image */
.solA-ibom-device{
  height:auto!important;
  min-height:300px;
  display:grid;place-items:center;
  padding:8px;
}
.solA-ibom-device img{
  width:100%!important;height:auto!important;max-height:390px!important;
  object-fit:contain!important;padding:0!important;border-radius:12px;
}

/* IBOM official brand + supplied visuals */
.ibA-brandword{
  width:min(250px,54%);
  margin:4px 0 27px!important;
}
.ibA-official-brand{
  display:block;width:100%;height:auto;object-fit:contain;
}
.ibA-device-stage{
  width:92%!important;height:auto!important;aspect-ratio:3/2;
  padding:0!important;overflow:hidden;background:#fff!important;
}
.ibA-device-stage>img{
  width:100%!important;height:100%!important;object-fit:cover!important;padding:0!important;
}
.ibA-device-glow{display:none!important}
.ibA-logo-overlay{
  position:absolute;z-index:6;background:#fff;border-radius:4px;
  display:grid;place-items:center;padding:2px 4px;
  box-shadow:0 0 0 1px rgba(7,80,170,.05);
}
.ibA-logo-overlay img{width:100%;height:auto;display:block}
.ibA-logo-overlay.laptop{
  left:28.9%;top:12.8%;width:8.8%;
}
.ibA-logo-overlay.phone{
  left:73.6%;top:37.0%;width:7.3%;
}
.ibA-image-stage{
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;
  width:100%!important;height:auto!important;max-width:1120px;margin:10px auto 0!important;
  display:block!important;border-radius:18px;overflow:hidden;
  border:1px solid rgba(130,184,229,.25);
  background:#fff;box-shadow:0 18px 44px rgba(20,78,135,.09);
}
.ibA-image-stage img{display:block;width:100%;height:auto;object-fit:contain}
.ibA-architecture .ibA-image-stage{border-color:rgba(255,255,255,.22);box-shadow:0 22px 50px rgba(0,0,0,.16)}
.ibA-eco-map.ibA-image-stage{max-width:1050px}
.ibA-pillars .ibA-image-stage{max-width:1050px}

/* Partnership */
.partnerA-image-stage{
  height:auto!important;aspect-ratio:16/9;
  display:block!important;border-radius:18px;overflow:hidden;
  border:1px solid #cee2f2;background:#fff;
  box-shadow:0 18px 42px rgba(24,82,138,.09);
}
.partnerA-image-stage img{display:block;width:100%;height:100%;object-fit:cover}

/* Contact */
.contactA-office-grid{grid-template-columns:52% 48%!important;align-items:start!important}
.contactA-network-image{
  height:auto!important;aspect-ratio:16/9;
  border-radius:18px;overflow:hidden;background:#f4f9fd!important;
}
.contactA-network-image:before{display:none!important}
.contactA-network-image img{display:block;width:100%;height:100%;object-fit:cover}
.contactA-office-word,.contactA-network-image .contactA-city,.contactA-network-image .contactA-route{display:none!important}

/* Service visuals */
.service-index-hero .v2-hero-media{
  background:#f6fbff;
}
.service-index-hero .v2-hero-media img{
  object-fit:contain!important;
  background:#fff;
}
.service-detail-hero .v2-hero-media img{
  object-fit:cover;
}
.service-data-extra-visual{
  width:min(520px,100%);
  margin:32px auto 0;
}

/* Responsive */
@media(max-width:1050px){
  .contactA-office-grid{grid-template-columns:1fr!important}
  .contactA-network-image{max-width:900px}
  .partnerA-image-stage{max-width:900px;margin:0 auto 42px}
  .ibA-device-stage{max-width:760px}
}
@media(max-width:680px){
  .capA-business-visual,.capA-data-visual,.capA-delivery-visual{margin:18px 0 24px}
  .ibA-device-stage{width:100%!important}
  .ibA-logo-overlay.laptop{left:28.7%;top:12.5%;width:9.2%}
  .ibA-logo-overlay.phone{left:73.4%;top:36.8%;width:7.6%}
  .contactA-network-image{border-radius:14px}
}


/* =========================================================
   FINAL V4.1 – ZALO CONTACT
   ========================================================= */
.contactA-connect-line{
  grid-template-columns:repeat(6,1fr)!important;
}
.contactA-social-links{
  grid-template-columns:repeat(4,1fr)!important;
}
@media(max-width:1050px){
  .contactA-connect-line{
    grid-template-columns:repeat(3,1fr)!important;
  }
  .contactA-connect-line>div:nth-child(3n){
    border-right:0!important;
  }
  .contactA-social-links{
    grid-template-columns:repeat(2,1fr)!important;
  }
}
@media(max-width:680px){
  .contactA-connect-line{
    grid-template-columns:1fr 1fr!important;
  }
  .contactA-connect-line>div:nth-child(3n){
    border-right:1px solid #d6e6f3!important;
  }
  .contactA-connect-line>div:nth-child(even){
    border-right:0!important;
  }
  .contactA-social-links{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   FINAL V5.1 — VI/EN MENU TYPOGRAPHY + CUSTOMER LOGOS
   ========================================================= */
.header,.nav,.menu,.menu a,.nav-cta,.v2-link,.mobile-menu,.mobile-menu a{
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
}
.menu{font-size:14px;font-weight:700}
.nav-cta{font-size:14px;font-weight:800}
.v2-link{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-weight:700}

/* EN customer logo wall */
.customer-logo-matrix{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:30px;
}
.customer-logo-card{
  min-width:0;
  border:1px solid #d8e9f7;
  border-radius:15px;
  background:#fff;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:184px;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.customer-logo-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(7,54,127,.10);
  border-color:#b8d8f1;
}
.customer-logo-box{
  height:108px;
  padding:18px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-bottom:1px solid #edf4fa;
  background:#fff;
}
.customer-logo-box img{
  width:100%;height:100%;
  max-width:220px;max-height:72px;
  object-fit:contain;object-position:center;
}
.customer-logo-info{padding:13px 16px 15px}
.customer-logo-info b{display:block;color:#063c92;font-size:15px;line-height:1.25}
.customer-logo-info small{display:block;color:#698199;margin-top:4px;font-size:12px;line-height:1.35}

/* Original logo on customer case studies */
.case-client-logo{
  width:190px;height:74px;
  margin:0 0 16px;
  padding:7px 0;
  display:flex;align-items:center;justify-content:flex-start;
}
.case-client-logo img{
  width:auto!important;height:auto!important;
  max-width:190px!important;max-height:64px!important;
  object-fit:contain!important;
}

@media(max-width:900px){
  .customer-logo-matrix{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
  .customer-logo-matrix{grid-template-columns:repeat(2,1fr)}
  .customer-logo-box{height:92px;padding:14px}
  .customer-logo-card{min-height:162px}
  .menu{font-size:14px}
}


/* =========================================================
   FINAL V5.2 — UNIFORM LOGO FRAMES
   ========================================================= */
.customer-logo-box{
  min-height:126px;
  padding:18px;
  background:linear-gradient(180deg,#fff,#f8fbff);
}
.customer-logo-box img{
  width:180px;
  height:72px;
  max-width:180px;
  max-height:72px;
  object-fit:contain;
  object-position:center;
  padding:8px 12px;
  border:1px solid #dfeaf5;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 18px rgba(9,54,117,.06);
}
.case-client-logo{
  width:190px;
  height:86px;
  margin:0 0 18px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.case-client-logo img{
  width:180px!important;
  height:72px!important;
  max-width:180px!important;
  max-height:72px!important;
  padding:8px 12px;
  border:1px solid #dfeaf5;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 18px rgba(9,54,117,.06);
  object-fit:contain!important;
}
@media(max-width:620px){
  .customer-logo-box{
    min-height:112px;
    padding:14px;
  }
  .customer-logo-box img,
  .case-client-logo img{
    width:150px!important;
    height:62px!important;
    max-width:150px!important;
    max-height:62px!important;
  }
}


/* FINAL V5.3 — consistent hover on all customer logo cards */
.customer-logo-card{
  transition:transform .20s ease, box-shadow .20s ease, border-color .20s ease, background .20s ease;
}
.customer-logo-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(7,54,127,.12);
  border-color:#a9cfea;
  background:#fff;
}
a.customer-logo-card{cursor:pointer}
.customer-logo-card:not(a){cursor:default}
