/* ISOFT Corporate Website — Final QA / Art Direction V2.3 */
:root{
  --qa-navy:#07366d;
  --qa-blue:#0d6fe8;
  --qa-cyan:#21b8e8;
  --qa-green:#16b77e;
  --qa-purple:#7456f5;
  --qa-red:#ef3340;
  --qa-orange:#f59e0b;
  --qa-line:#d9e8f5;
  --qa-shadow:0 18px 48px rgba(5,55,110,.10);
  --qa-shadow-strong:0 28px 68px rgba(5,55,110,.16);
}

/* ---------- Global stability ---------- */
html{scroll-padding-top:118px}
.qa-v23 *{min-width:0}
.qa-v23 h1,.qa-v23 h2,.qa-v23 h3,.qa-v23 p,.qa-v23 b,.qa-v23 small,.qa-v23 span{overflow-wrap:normal;word-break:normal;hyphens:none}
.qa-v23 main{position:relative;z-index:1}
.qa-v23 .site-header{z-index:999;background:rgba(255,255,255,.97);box-shadow:0 1px 0 rgba(7,54,109,.08);transition:box-shadow .25s ease,background .25s ease}
.qa-v23.fx-scrolled .site-header{box-shadow:0 12px 30px rgba(5,55,110,.10)}
.qa-v23 .header-inner{min-height:104px}
.qa-v23 .brand,.qa-v23 .brand img{width:150px;max-width:150px}
.qa-v23 .nav a{transition:color .2s ease,border-color .2s ease,transform .2s ease}
.qa-v23 .nav a:not(.nav-cta):hover{transform:translateY(-1px)}
.qa-v23 .nav-cta{box-shadow:0 10px 24px rgba(13,111,232,.18)}

/* ---------- Better section rhythm ---------- */
.qa-v23 .nd-hero{padding:88px 0 86px;overflow:hidden}
.qa-v23 .nd-section,.qa-v23 .ar-section{overflow:hidden}
.qa-v23 .nd-soft,.qa-v23 .ar-soft{background:
  radial-gradient(circle at 85% 15%,rgba(33,184,232,.07),transparent 30%),
  linear-gradient(180deg,#f8fbfe,#eff7fd)}
.qa-v23 .nd-h1{max-width:880px}
.qa-v23 .nd-lead{color:#536f8c}
.qa-v23 .nd-kicker,.qa-v23 .ar-kicker{font-weight:900;letter-spacing:.17em}
.qa-v23 .nd-btn{box-shadow:0 8px 22px rgba(5,55,110,.06)}
.qa-v23 .nd-btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(5,55,110,.13)}

/* ---------- Four operating layers: consistent visual language ---------- */
.qa-v23 .ar-four-layer{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.qa-v23 .ar-layer{min-height:186px;padding:22px 20px 24px;display:flex;flex-direction:column;align-items:flex-start;border-radius:24px;isolation:isolate}
.qa-v23 .ar-layer:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.74),transparent 68%);z-index:-1;pointer-events:none}
.qa-v23 .ar-layer:after{z-index:-1}
.qa-v23 .ar-layer h3{font-size:20px;line-height:1.2;margin:16px 0 8px;white-space:normal}
.qa-v23 .ar-layer p{font-size:14px;line-height:1.65;max-width:100%;white-space:normal}
.qa-v23 .ar-layer:hover{transform:translateY(-8px);box-shadow:0 26px 58px rgba(5,55,110,.14)}
.qa-v23 .ar-layer:hover .ar-layer-icon{transform:translateY(-3px) scale(1.08);box-shadow:0 12px 26px color-mix(in srgb,var(--c) 22%,transparent)}
.qa-v23 .ar-layer-icon{transition:.28s ease}

/* ---------- Reusable card motion ---------- */
.qa-v23 :is(.nd-card,.nd-year,.nd-stat,.nd-office,.nd-case,.nd-logo-card,.ar-cap-item,.ar-company,.ar-int-card,.ar-platform-layer){
  transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease,background .28s ease;
}
.qa-v23 :is(.nd-card,.nd-year,.nd-stat,.nd-office,.nd-case,.nd-logo-card,.ar-cap-item,.ar-company,.ar-platform-layer):hover{
  transform:translateY(-7px);
  box-shadow:var(--qa-shadow-strong);
}
.qa-v23 .nd-card:hover .nd-icon,.qa-v23 .nd-office:hover .nd-icon{transform:translateY(-2px) scale(1.08)}
.qa-v23 .nd-icon{transition:transform .25s ease,filter .25s ease,box-shadow .25s ease}

/* ---------- Official logos for dark backgrounds ---------- */
.qa-v23 .logo-rw-core,.qa-v23 .logo-rw-ibom{background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important;object-fit:contain!important}
.qa-v23 .ar-cap-core .logo-rw-core{width:min(210px,72%);max-height:115px}
.qa-v23 .ar-sol-core .logo-rw-ibom,.qa-v23 .ar-int-hub .logo-rw-ibom{width:min(170px,70%);max-height:92px}
.qa-v23 .ar-core .logo-rw-ibom{width:min(190px,70%);max-height:96px}
.qa-v23 .footer-logo-rw{width:190px!important;max-width:190px!important;height:auto!important;background:transparent!important;border-radius:0!important;object-fit:contain!important;filter:none!important}
.qa-v23 .footer-grid>div:first-child{align-self:start}

/* ---------- Home: premium command center ---------- */
.qa-v23[data-page="home"] .ar-command{filter:drop-shadow(0 28px 44px rgba(5,55,110,.13))}
.qa-v23[data-page="home"] .ar-command-shell{border:1px solid rgba(150,198,233,.55);background:linear-gradient(160deg,#fff,#f2f8fe)}
.qa-v23[data-page="home"] .ar-command-head h3{font-size:23px;letter-spacing:-.01em}
.qa-v23[data-page="home"] .ar-kpi{background:rgba(255,255,255,.85);border:1px solid #dbeaf6;box-shadow:0 10px 24px rgba(5,55,110,.045);transition:.25s ease}
.qa-v23[data-page="home"] .ar-kpi:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(5,55,110,.11)}
.qa-v23[data-page="home"] .ar-ai-panel{background:linear-gradient(145deg,#f3efff,#fff);border:1px solid #d8cdfd;box-shadow:0 16px 34px rgba(89,61,195,.14)}
.qa-v23[data-page="home"] .ar-ai-panel:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(89,61,195,.20)}
.qa-v23[data-page="home"] .ar-ai-panel{transition:.28s ease}
.qa-v23[data-page="home"] .ar-module{border:1px solid rgba(215,231,244,.9);box-shadow:0 15px 34px rgba(5,55,110,.09)}
.qa-v23[data-page="home"] .ar-module:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(5,55,110,.15)}
.qa-v23[data-page="home"] .ar-core{box-shadow:0 34px 74px rgba(1,33,78,.32)}
.qa-v23[data-page="home"] .ar-ibot-float{box-shadow:0 20px 48px rgba(91,67,216,.30)}

/* ---------- About / Giới thiệu ---------- */
.qa-v23[data-page="gioi-thieu"] .nd-hero-grid{grid-template-columns:1.06fr .94fr;gap:68px}
.qa-v23[data-page="gioi-thieu"] .ar-cap-wheel{gap:20px}
.qa-v23[data-page="gioi-thieu"] .ar-cap-core{background:radial-gradient(circle at 35% 25%,#1c82ef,#073d82 72%);box-shadow:0 32px 72px rgba(5,55,110,.28)}
.qa-v23[data-page="gioi-thieu"] .ar-cap-core:before{content:"";position:absolute;inset:-22px;border:1px dashed rgba(33,184,232,.55);border-radius:44px;animation:qaPulse 4s ease-in-out infinite}
.qa-v23[data-page="gioi-thieu"] .ar-cap-core{position:relative}
.qa-v23[data-page="gioi-thieu"] .ar-cap-item{min-height:176px}
.qa-v23[data-page="gioi-thieu"] .ar-cap-item:hover{border-color:color-mix(in srgb,var(--c,#0d6fe8) 35%,#d9e8f5)}
.qa-v23[data-page="gioi-thieu"] .nd-timeline{gap:16px}
.qa-v23[data-page="gioi-thieu"] .nd-year{border-top:4px solid var(--year,#0d6fe8);background:linear-gradient(180deg,#fff,#f9fcff)}
.qa-v23[data-page="gioi-thieu"] .nd-year:hover{transform:translateY(-9px)}
.qa-v23[data-page="gioi-thieu"] .nd-stats .nd-stat{min-height:112px;display:flex;flex-direction:column;justify-content:center}
.qa-v23[data-page="gioi-thieu"] .nd-grid3 .nd-card{min-height:210px}

/* ---------- Capability page ---------- */
.qa-v23[data-page="nang-luc"] .nd-hero-grid{grid-template-columns:.92fr 1.08fr;gap:64px}
.qa-v23[data-page="nang-luc"] .ar-cap-core{background:radial-gradient(circle at 30% 20%,#1e83ef,#073d82 70%)}
.qa-v23[data-page="nang-luc"] .ar-cap-core h3{font-size:25px}
.qa-v23[data-page="nang-luc"] .ar-cap-item{min-height:168px}
.qa-v23[data-page="nang-luc"] .nd-stage-card{transition:.25s ease}
.qa-v23[data-page="nang-luc"] .nd-stage:hover .nd-stage-card{transform:translateY(-5px);box-shadow:0 18px 38px rgba(5,55,110,.12)}
.qa-v23[data-page="nang-luc"] .nd-stage:hover .nd-stage-no{transform:scale(1.08)}
.qa-v23[data-page="nang-luc"] .nd-stage-no{transition:.25s ease}

/* ---------- Solutions: strongest redesign ---------- */
.qa-v23[data-page="giai-phap"] .ar-solution-hero{background:
  radial-gradient(circle at 80% 28%,rgba(33,184,232,.19),transparent 30%),
  radial-gradient(circle at 10% 85%,rgba(116,86,245,.07),transparent 26%),
  linear-gradient(180deg,#fff,#eef8fd)}
.qa-v23[data-page="giai-phap"] .ar-sol-core{background:radial-gradient(circle at 35% 25%,#177fe9,#063878 72%);box-shadow:0 34px 76px rgba(5,55,110,.30)}
.qa-v23[data-page="giai-phap"] .ar-sol-node{min-height:82px;display:flex;flex-direction:column;justify-content:center;transition:.28s ease;border-top:3px solid #27b7e7}
.qa-v23[data-page="giai-phap"] .ar-sol-node.ai{border-top-color:var(--qa-purple)}
.qa-v23[data-page="giai-phap"] .ar-sol-node:hover{transform:translateY(-7px);box-shadow:0 24px 46px rgba(5,55,110,.16)}
.qa-v23[data-page="giai-phap"] .ar-company{border-top:4px solid var(--qa-blue);min-height:150px}
.qa-v23[data-page="giai-phap"] .ar-company:nth-child(2){border-top-color:var(--qa-cyan)}
.qa-v23[data-page="giai-phap"] .ar-company:nth-child(3){border-top-color:var(--qa-green)}
.qa-v23[data-page="giai-phap"] .ar-company:nth-child(4){border-top-color:var(--qa-purple)}
.qa-v23[data-page="giai-phap"] .ar-integration{gap:34px}
.qa-v23[data-page="giai-phap"] .ar-int-card{min-height:88px;display:flex;flex-direction:column;justify-content:center;border-left:4px solid #35b8e8}
.qa-v23[data-page="giai-phap"] .ar-int-col.right .ar-int-card{border-left:1px solid var(--ar-line);border-right:4px solid #42c49a}
.qa-v23[data-page="giai-phap"] .ar-int-hub{background:radial-gradient(circle at 35% 20%,#197fe9,#063a78 70%);box-shadow:0 32px 66px rgba(5,55,110,.27)}
.qa-v23[data-page="giai-phap"] .ar-int-hub b{font-size:18px}

/* ---------- IBOM page: platform + AI layer ---------- */
.qa-v23[data-page="ibom"] .ar-ibom-hero{background:
  radial-gradient(circle at 75% 20%,rgba(116,86,245,.14),transparent 28%),
  radial-gradient(circle at 85% 75%,rgba(33,184,232,.10),transparent 30%),
  linear-gradient(180deg,#fff,#edf7fd)}
.qa-v23[data-page="ibom"] .ar-arch-core{box-shadow:0 30px 68px rgba(5,55,110,.20)}
.qa-v23[data-page="ibom"] .ar-pillar{min-height:100px;display:flex;flex-direction:column;justify-content:center;transition:.28s ease}
.qa-v23[data-page="ibom"] .ar-pillar:hover{transform:translateY(-7px) scale(1.025)}
.qa-v23[data-page="ibom"] .ar-pillar.p4{box-shadow:0 18px 38px rgba(116,86,245,.14);border:1px solid #cabdfb}
.qa-v23[data-page="ibom"] .ar-ai-layer{background:
  radial-gradient(circle at 15% 25%,rgba(255,255,255,.18),transparent 20%),
  linear-gradient(125deg,#4835bc,#7759f4 60%,#966fff);box-shadow:0 32px 72px rgba(82,56,193,.35)}
.qa-v23[data-page="ibom"] .ar-ai-feature{transition:.25s ease;background:rgba(255,255,255,.12)}
.qa-v23[data-page="ibom"] .ar-ai-feature:hover{transform:translateY(-5px);background:rgba(255,255,255,.18)}
.qa-v23[data-page="ibom"] .ar-platform-layer{min-height:176px}
.qa-v23[data-page="ibom"] .ar-platform{margin-top:42px}
.qa-v23[data-page="ibom"] .ar-core{box-shadow:0 34px 74px rgba(1,33,78,.30)}

/* ---------- Customers & projects ---------- */
.qa-v23[data-page="khach-hang-du-an"] .nd-logo-grid{gap:20px}
.qa-v23[data-page="khach-hang-du-an"] .nd-logo-card{border:1px solid #dce9f4!important;box-shadow:0 12px 30px rgba(5,55,110,.065)}
.qa-v23[data-page="khach-hang-du-an"] .nd-logo-card:hover{border-color:#afd5f2!important;box-shadow:0 24px 50px rgba(5,55,110,.14)}
.qa-v23[data-page="khach-hang-du-an"] .nd-logo-card:hover img{transform:none}
.qa-v23[data-page="khach-hang-du-an"] .nd-logo-visual img{transition:.28s ease}
.qa-v23[data-page="khach-hang-du-an"] .nd-case{overflow:hidden;position:relative}
.qa-v23[data-page="khach-hang-du-an"] .nd-case:after{content:"";position:absolute;inset:auto -40px -55px auto;width:150px;height:150px;border-radius:50%;background:rgba(13,111,232,.055);transition:.35s}
.qa-v23[data-page="khach-hang-du-an"] .nd-case:hover:after{transform:scale(1.25)}
.qa-v23[data-page="khach-hang-du-an"] .ar-case-featured:after{background:rgba(255,255,255,.10)}

/* ---------- Implementation ---------- */
.qa-v23[data-page="trien-khai"] .nd-step,.qa-v23[data-page="trien-khai"] .nd-tool,.qa-v23[data-page="trien-khai"] .nd-team{transition:.28s ease}
.qa-v23[data-page="trien-khai"] .nd-step:hover,.qa-v23[data-page="trien-khai"] .nd-tool:hover,.qa-v23[data-page="trien-khai"] .nd-team:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(5,55,110,.13)}

/* ---------- Contact ---------- */
.qa-v23[data-page="lien-he"] .nd-contact-grid{gap:42px}
.qa-v23[data-page="lien-he"] .nd-office{background:#fff;border:1px solid #dce9f4!important;border-radius:20px;padding:20px!important;margin-bottom:14px;box-shadow:0 12px 28px rgba(5,55,110,.055)}
.qa-v23[data-page="lien-he"] .nd-office:hover{transform:translateX(5px);box-shadow:0 20px 40px rgba(5,55,110,.11)}
.qa-v23[data-page="lien-he"] .nd-contact-panel{background:radial-gradient(circle at 85% 88%,rgba(33,184,232,.25),transparent 28%),linear-gradient(145deg,#063477,#0d6fe8);box-shadow:0 28px 62px rgba(5,55,110,.25)}
.qa-v23[data-page="lien-he"] .ar-contact-action{min-height:68px}
.qa-v23[data-page="lien-he"] .ar-contact-action .ic{font-size:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}
.qa-v23[data-page="lien-he"] .ar-contact-action[href*="zalo.me"] .ic{background:#fff;color:#0868ff;border-radius:14px}
.qa-v23[data-page="lien-he"] .ar-contact-action.primary{margin-top:4px;box-shadow:0 14px 30px rgba(0,0,0,.12)}

/* ---------- Footer ---------- */
.qa-v23 .footer{background:linear-gradient(180deg,#082956,#061f44)}
.qa-v23 .footer p,.qa-v23 .footer a{color:#c9d9e9}
.qa-v23 .footer h4{color:#fff}

/* ---------- Reveal refinements ---------- */
.qa-v23.fx-motion-ready .fx-reveal:not(.fx-in){transform:translateY(18px)}
.qa-v23 .fx-reveal.fx-in{transform:none}
@keyframes qaPulse{0%,100%{opacity:.45;transform:scale(.98)}50%{opacity:.95;transform:scale(1.015)}}

/* ---------- Responsive QA ---------- */
@media(max-width:1180px){
  .qa-v23 .header-inner{min-height:96px}
  .qa-v23 .nav a{padding-left:8px;padding-right:8px;font-size:13px}
  .qa-v23 .brand,.qa-v23 .brand img{width:138px;max-width:138px}
}
@media(max-width:1000px){
  .qa-v23 .ar-four-layer{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qa-v23[data-page="gioi-thieu"] .nd-hero-grid,.qa-v23[data-page="nang-luc"] .nd-hero-grid{grid-template-columns:1fr}
  .qa-v23 .ar-platform{gap:22px}
}
@media(max-width:760px){
  .qa-v23 .header-inner{min-height:82px}
  .qa-v23 .brand,.qa-v23 .brand img{width:122px;max-width:122px}
  .qa-v23 .nd-hero{padding:64px 0 58px}
  .qa-v23 .ar-four-layer{grid-template-columns:1fr}
  .qa-v23 .ar-layer{min-height:auto}
  .qa-v23 .footer-logo-rw{width:160px!important}
}
@media(prefers-reduced-motion:reduce){
  .qa-v23 *, .qa-v23 *:before,.qa-v23 *:after{animation:none!important;transition:none!important}
}


/* V2.5 contrast safeguard */
.qa-v23 .ar-dark .nd-lead{color:rgba(255,255,255,.88)!important;opacity:1!important}
.qa-v23 .ar-dark :is(.nd-h1,.nd-h2){color:#fff!important}
.qa-v23 .ar-dark :is(.nd-h1,.nd-h2) span{background:none!important;color:#86e2ff!important;-webkit-text-fill-color:#86e2ff!important}
