.aurapl{--apl-blue:#023184;--apl-ink:#13171a;--apl-muted:#71777e;--apl-top:80px;--apl-offset:var(--apl-top);position:relative;width:100%;background:#eaeaea;color:var(--apl-ink);font-family:inherit;text-align:left}
.aurapl *{box-sizing:border-box}
body.admin-bar .aurapl{--apl-offset:calc(var(--apl-top) + 32px)}
.aurapl p,.aurapl h2,.aurapl h3{margin:0;letter-spacing:normal;text-transform:none;color:inherit}
.aurapl a:focus-visible,.aurapl button:focus-visible{outline:2px solid var(--apl-blue);outline-offset:5px}

.aurapl__stage{padding:28px 22px;background:#eaeaea;display:grid;grid-template-columns:clamp(220px,22vw,330px) minmax(0,1fr) clamp(220px,22vw,330px);gap:clamp(18px,2vw,30px);align-items:center;isolation:isolate}

/* v1.7.3: danh sách đối tác luôn hiển thị; lens chỉ còn điều khiển ảnh trung tâm. */
.aurapl__nav{position:relative;z-index:5;opacity:1;visibility:visible;transform:translateX(clamp(28px,4.2vw,78px));pointer-events:auto;justify-self:end;width:min(100%,230px);transition:none}
.aurapl.is-inspecting .aurapl__nav{opacity:1;visibility:visible;pointer-events:auto}
.aurapl__nav ol{list-style:none;padding:0;margin:0}
.aurapl__nav li{margin:0;padding:0}
.aurapl__nav a{display:flex;align-items:baseline;gap:12px;color:var(--apl-muted);font-size:13px;line-height:1.3;padding:11px 0;text-decoration:none;transition:color .25s ease,opacity .35s ease}
.aurapl__nav a span{font-size:10px;font-variant-numeric:tabular-nums;color:inherit;flex-shrink:0}
.aurapl__nav a:hover,.aurapl__nav a[aria-current="true"]{color:var(--apl-blue)}
.aurapl__nav a[aria-current="true"]{font-weight:600}

/* =========================================================
 * TRUNG TÂM ĐỐI TÁC
 * Lens do route JS điều khiển; plugin chỉ phản ứng theo event lens state.
 * ========================================================= */
.aurapl__visual{grid-column:2;position:relative;z-index:2;aspect-ratio:1.12/1;min-width:0;width:100%;max-width:min(100%,650px);justify-self:center;display:grid;place-items:center;overflow:visible;cursor:default;outline:none;background:transparent!important}
.aurapl__hotspot{position:absolute;left:calc(50% + var(--apl-center-shift-x,0px));top:calc(50% + var(--apl-center-shift-y,0px));z-index:9;width:clamp(108px,9.5vw,168px);height:clamp(108px,9.5vw,168px);min-width:0;min-height:0;padding:0;margin:0;border:0;border-radius:50%;background:transparent!important;box-shadow:none!important;appearance:none;transform:translate(-50%,-50%);cursor:pointer;touch-action:manipulation}
.aurapl__hotspot:hover{background:transparent!important}
.aurapl__hotspot:focus-visible{outline:2px solid var(--apl-blue);outline-offset:4px}
.aurapl__cards{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;background:transparent!important}
.aurapl__card{position:absolute;display:grid;place-items:center;text-align:center;opacity:0;visibility:hidden;background:transparent!important;transition:opacity .5s ease,transform .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1),visibility 0s linear .9s;transform-origin:50% 50%;will-change:transform,filter,opacity}
.aurapl__card.is-active{opacity:1;visibility:visible;transition-delay:0s}

/*
 * v1.7.5 — thu footprint của ảnh mờ nhỏ lại một chút để không lấn sang
 * hai cột text ở các màn hình hẹp hơn, nhưng vẫn giữ cảm giác background lớn.
 *
 * Mục tiêu: ảnh mờ nhỏ lại tương đối gần vùng đỏ user đã đánh dấu,
 * còn khi mở lens thì kích thước ảnh nét gần như giữ nguyên.
 */
.aurapl__card--has-image{inset:auto;left:calc(50% + var(--apl-center-shift-x,0px));top:calc(50% + var(--apl-center-shift-y,0px));width:94%;height:auto;aspect-ratio:var(--apl-media-ratio,4/3);transform:translate(-50%,-50%) scale(1.34);overflow:hidden;background:transparent!important}
/*
 * Chuyển partner kiểu micro-crossfade giống mẫu Obys:
 * - GIỮ NGUYÊN toàn bộ thời gian transition hiện tại.
 * - Chỉ giảm biên độ zoom / blur / thay đổi màu.
 * - Kính lúp đứng yên; ảnh cũ và ảnh mới chỉ đổi rất nhẹ quanh cùng tâm.
 */
.aurapl .aurapl__card--has-image .aurapl__logo{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;opacity:.42;filter:blur(1px) grayscale(.04) saturate(.95) brightness(1.02);transform:scale(1.008);transition:opacity .72s ease,filter .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);will-change:filter,opacity,transform}

/*
 * Khi lens đã mở, các ảnh không-active không còn quay về scale(1.5).
 * Nhờ vậy đổi partner chỉ thay đổi scale khoảng 4%, không còn "phóng nổ".
 * Scale(1.5) mặc định phía trên vẫn được giữ để animation mở lens lần đầu không đổi.
 */
.aurapl.is-inspecting .aurapl__card--has-image{transform:translate(-50%,-50%) scale(.54)}
.aurapl.is-inspecting .aurapl__card--has-image.is-active{transform:translate(-50%,-50%) scale(.52)}
.aurapl.is-inspecting .aurapl__card--has-image.is-active .aurapl__logo{opacity:1;filter:blur(0) grayscale(0) saturate(1) brightness(1);transform:scale(1)}

/* Không có ảnh: giữ tên chữ như cũ. */
.aurapl__card--wordmark{inset:0;transform:translateY(0) scale(1)}
.aurapl__card--wordmark.is-active{transform:translateY(0) scale(1)}
.aurapl__wordmark{font-family:inherit;font-size:clamp(24px,3.6vw,54px);font-weight:600;letter-spacing:-.045em;line-height:1.05;color:var(--apl-blue);overflow-wrap:anywhere;max-width:80%;transition:opacity .35s ease,transform .55s cubic-bezier(.22,1,.36,1)}

/* =========================================================
 * THÔNG TIN ĐỐI TÁC — v1.7.5
 * - Luôn hiển thị, không phụ thuộc hover/tap vào lens.
 * - Khi đổi partner: JS vẫn animate detail cũ ra và detail mới vào.
 * - Hover/tap lens chỉ thay đổi ảnh/lens, không ẩn thông tin hai bên.
 * ========================================================= */
.aurapl__details{grid-column:3;min-width:0;align-self:center;position:relative;z-index:5;visibility:visible;pointer-events:auto}
.aurapl.is-inspecting .aurapl__details{visibility:visible;pointer-events:auto}
.aurapl__detail{padding:4px 0;scroll-margin-top:calc(var(--apl-offset) + 12px)}
.aurapl__detail:focus{outline:none}
.aurapl .aurapl__detail[hidden]{display:none!important}

/* Mỗi dòng tự quản opacity để có thể biến mất tuần tự. */
.aurapl__detail>*{opacity:1;transform:translateY(0);filter:blur(0);transition:opacity .28s ease,transform .42s cubic-bezier(.22,1,.36,1),filter .32s ease;will-change:opacity,transform,filter}
.aurapl.is-inspecting .aurapl__detail:not([hidden])>*{opacity:1;transform:translateY(0);filter:blur(0)}

/* Xuất hiện: từ trên xuống. Biến mất: từ dưới lên. */
.aurapl__detail>*:nth-child(1){transition-delay:300ms}
.aurapl__detail>*:nth-child(2){transition-delay:240ms}
.aurapl__detail>*:nth-child(3){transition-delay:180ms}
.aurapl__detail>*:nth-child(4){transition-delay:120ms}
.aurapl__detail>*:nth-child(5){transition-delay:60ms}
.aurapl__detail>*:nth-child(6){transition-delay:0ms}
.aurapl.is-inspecting .aurapl__detail:not([hidden])>*:nth-child(1){transition-delay:70ms}
.aurapl.is-inspecting .aurapl__detail:not([hidden])>*:nth-child(2){transition-delay:120ms}
.aurapl.is-inspecting .aurapl__detail:not([hidden])>*:nth-child(3){transition-delay:170ms}
.aurapl.is-inspecting .aurapl__detail:not([hidden])>*:nth-child(4){transition-delay:220ms}
.aurapl.is-inspecting .aurapl__detail:not([hidden])>*:nth-child(5){transition-delay:270ms}
.aurapl.is-inspecting .aurapl__detail:not([hidden])>*:nth-child(6){transition-delay:320ms}

.aurapl .aurapl__number{color:var(--apl-muted);font-size:11px;font-variant-numeric:tabular-nums;margin-bottom:18px}
.aurapl__detail h3{font-family:inherit;font-size:clamp(20px,2vw,28px);font-weight:600;line-height:1.13;margin-bottom:12px;overflow-wrap:anywhere}
.aurapl .aurapl__sector{font-size:13px;line-height:1.45;margin-bottom:16px;color:var(--apl-blue)}
.aurapl .aurapl__legal{font-size:11px;line-height:1.5;color:var(--apl-muted);text-transform:none}
.aurapl .aurapl__description{font-size:13px;line-height:1.5;margin-top:12px}
.aurapl__website{display:inline-block;margin-top:18px;font-size:12px;color:var(--apl-ink);text-decoration:underline;text-underline-offset:5px}

.aurapl__controls{grid-column:1/-1;display:flex;align-items:center;gap:14px;font-size:12px;position:relative;z-index:5}
.aurapl__controls button{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:0;line-height:1;padding:0;margin:0;border:1px solid #dfe3e8;border-radius:0;background:#fff;color:var(--apl-ink);box-shadow:none;letter-spacing:0;font-size:18px;cursor:pointer}
.aurapl__controls button:hover,
.aurapl__controls button:focus-visible{
    background:var(--apl-blue)!important;
    border-color:var(--apl-blue)!important;
    color:#fff!important;
}

.aurapl__controls button:hover *,
.aurapl__controls button:focus-visible *{
    color:#fff!important;
    fill:#fff!important;
    stroke:#fff!important;
}

.aurapl__controls button:hover::before,
.aurapl__controls button:hover::after,
.aurapl__controls button:focus-visible::before,
.aurapl__controls button:focus-visible::after{
    color:#fff!important;
    border-color:#fff!important;
}
.aurapl__controls button:disabled{opacity:.3;cursor:default}
.aurapl__status{min-width:52px;text-align:center;font-variant-numeric:tabular-nums}

.aurapl.is-ready .aurapl__stage{position:relative;min-height:560px;overflow:visible}

/* =========================================================
 * v1.7.6 — CENTERED LENS / IMAGE + RESPONSIVE COLLISION GUARD
 *
 * Hai cột text trái/phải dùng cùng một độ rộng ở desktop.
 * Nhờ đó cột ảnh trung tâm nằm đúng giữa section, trùng tâm với
 * route lens (dockX 50%) ở mọi breakpoint, không còn lệch trái.
 *
 * v1.7.5 — RESPONSIVE DESKTOP COLLISION GUARD
 *
 * Ảnh mờ được co theo viewport, đồng thời 2 cột text được chừa
 * không gian tối thiểu riêng. Vì vậy khi màn hình hẹp dần, ảnh
 * thu vào giữa thay vì tràn sang danh sách / detail.
 * ========================================================= */

/* =========================================================
 * v1.7.7 — WIDE SCREEN CONTENT CLUSTER
 *
 * Trên màn hình rất rộng, không để 2 cột thông tin bám ra hai mép viewport.
 * Tạo 2 track co giãn ở ngoài và gom nav + ảnh + detail thành một cụm
 * cân giữa. Cột ảnh vẫn nằm đúng tâm viewport / route lens.
 * ========================================================= */
@media(min-width:1501px){
 .aurapl__stage{
   grid-template-columns:
     minmax(0,1fr)
     clamp(220px,13vw,270px)
     minmax(560px,660px)
     clamp(220px,13vw,270px)
     minmax(0,1fr);
   column-gap:clamp(18px,1.5vw,28px);
 }
 .aurapl__nav{
   grid-column:2;
   justify-self:end;
   width:min(100%,230px);
   transform:none;
 }
 .aurapl__visual{
   grid-column:3;
   width:100%;
   max-width:660px;
   justify-self:center;
 }
 .aurapl__details{
   grid-column:4;
   justify-self:start;
   width:min(100%,270px);
 }
 .aurapl__card--has-image{
   width:94%;
   transform:translate(-50%,-50%) scale(1.04);
 }
 .aurapl.is-inspecting .aurapl__card--has-image{
   transform:translate(-50%,-50%) scale(.56);
 }
 .aurapl.is-inspecting .aurapl__card--has-image.is-active{
   transform:translate(-50%,-50%) scale(.54);
 }
}

@media(max-width:1500px) and (min-width:901px){
 .aurapl__stage{grid-template-columns:clamp(230px,23vw,320px) minmax(0,1fr) clamp(230px,23vw,320px);gap:clamp(18px,1.8vw,26px)}
 .aurapl__nav{transform:translateX(clamp(6px,1vw,16px));width:min(100%,220px)}
 .aurapl__visual{max-width:min(100%,620px)}
 .aurapl__card--has-image{width:92%;transform:translate(-50%,-50%) scale(1.14)}
 .aurapl.is-inspecting .aurapl__card--has-image{transform:translate(-50%,-50%) scale(.55)}
 .aurapl.is-inspecting .aurapl__card--has-image.is-active{transform:translate(-50%,-50%) scale(.53)}
}

@media(max-width:1200px) and (min-width:901px){
 .aurapl__stage{grid-template-columns:clamp(215px,24vw,285px) minmax(0,1fr) clamp(215px,24vw,285px);gap:16px}
 .aurapl__nav{transform:none;width:min(100%,205px)}
 .aurapl__visual{max-width:min(100%,540px)}
 .aurapl__card--has-image{width:90%;transform:translate(-50%,-50%) scale(1.06)}
 .aurapl.is-inspecting .aurapl__card--has-image{transform:translate(-50%,-50%) scale(.59)}
 .aurapl.is-inspecting .aurapl__card--has-image.is-active{transform:translate(-50%,-50%) scale(.57)}
 .aurapl__detail h3{font-size:clamp(18px,2vw,24px)}
 .aurapl .aurapl__sector{font-size:12px}
 .aurapl .aurapl__legal{font-size:10px}
}

@media(max-width:1050px) and (min-width:901px){
 .aurapl__stage{grid-template-columns:220px minmax(0,1fr) 220px;gap:14px;padding-left:16px;padding-right:16px}
 .aurapl__visual{max-width:min(100%,480px)}
 .aurapl__card--has-image{width:88%;transform:translate(-50%,-50%) scale(1.02)}
 .aurapl__nav a{font-size:12px;gap:8px}
 .aurapl__details{padding-left:4px}
}

@media(max-width:1100px) and (min-width:901px){
 .aurapl__nav{transform:none;width:min(100%,205px)}
}

@media(max-width:900px){
 .aurapl__stage{padding:20px 12px;gap:14px;grid-template-columns:minmax(0,1fr)}
 .aurapl__nav,.aurapl__visual,.aurapl__details,.aurapl__controls{grid-column:1}
 .aurapl__nav{overflow-x:auto;scrollbar-width:thin;justify-self:stretch;width:100%;transform:none}
 .aurapl__nav ol{display:flex;gap:18px}
 .aurapl__nav li{flex:0 0 auto}
 .aurapl__nav a{font-size:12px;gap:5px;padding:7px 0}
 .aurapl__visual{width:min(100%,360px);max-width:360px;aspect-ratio:1;justify-self:center;margin:8px 0}
 .aurapl__card--has-image{width:92%;transform:translate(-50%,-50%) scale(1.2)}
 /* Mobile: ảnh mờ nhỏ lại nhẹ; khi mở lens vẫn giữ kích thước ảnh nét gần như cũ. */
 .aurapl.is-inspecting .aurapl__card--has-image{transform:translate(-50%,-50%) scale(.70)}
 .aurapl.is-inspecting .aurapl__card--has-image.is-active{transform:translate(-50%,-50%) scale(.675)}
 .aurapl__details{min-height:120px}
 .aurapl__detail h3{font-size:20px;margin-bottom:6px}
 .aurapl .aurapl__number{display:none}
 .aurapl .aurapl__sector{font-size:12px;margin-bottom:5px}
 .aurapl .aurapl__legal{font-size:10px;line-height:1.35}
 .aurapl .aurapl__description{font-size:12px;margin-top:6px}
 .aurapl__website{margin-top:8px}
}

@media(max-width:782px){body.admin-bar .aurapl{--apl-offset:calc(var(--apl-top) + 46px)}}
@media(prefers-reduced-motion:reduce){.aurapl *{scroll-behavior:auto!important;transition:none!important;animation:none!important;filter:none!important}.aurapl__detail>*{opacity:1!important;transform:none!important}}

/* Trong lúc JS đổi partner, tắt CSS transition dòng để WAAPI điều khiển duy nhất. */
.aurapl.is-detail-switching .aurapl__detail>*{transition:none!important}


/* =========================================================
 * v1.7.8 — INSPECTING SAFE SPACING
 * Khi lens phóng to ở desktop, hai cột chữ tự lùi ra ngoài và
 * ảnh trung tâm thu nhỏ nhẹ để không bị lens đè lên nội dung.
 * Mục tiêu thị giác gần với bố cục ổn định như ảnh 3 user gửi.
 * ========================================================= */
@media(min-width:901px){
 .aurapl.is-inspecting .aurapl__nav{transform:translateX(clamp(-18px,-1.2vw,-8px));width:min(100%,210px)}
 .aurapl.is-inspecting .aurapl__details{transform:translateX(clamp(18px,1.2vw,28px));width:min(100%,300px)}
 .aurapl.is-inspecting .aurapl__visual{max-width:min(100%,560px)}
 .aurapl.is-inspecting .aurapl__detail h3{font-size:clamp(18px,1.8vw,24px)}
}
@media(min-width:1201px) and (max-width:1500px){
 .aurapl.is-inspecting .aurapl__stage{grid-template-columns:clamp(220px,22vw,285px) minmax(0,540px) clamp(240px,22vw,300px);column-gap:clamp(22px,2.2vw,34px)}
}
@media(min-width:901px) and (max-width:1200px){
 .aurapl.is-inspecting .aurapl__stage{grid-template-columns:220px minmax(0,500px) 240px;column-gap:18px}
 .aurapl.is-inspecting .aurapl__nav a{font-size:12px;gap:8px}
 .aurapl.is-inspecting .aurapl__detail h3{font-size:clamp(17px,1.7vw,22px)}
}
@media(min-width:1501px){
 .aurapl.is-inspecting .aurapl__stage{grid-template-columns:minmax(0,1fr) clamp(220px,12vw,245px) minmax(520px,600px) clamp(240px,13vw,295px) minmax(0,1fr);column-gap:clamp(24px,1.8vw,34px)}
 .aurapl.is-inspecting .aurapl__nav{grid-column:2;transform:none;width:min(100%,205px)}
 .aurapl.is-inspecting .aurapl__visual{grid-column:3;max-width:600px}
 .aurapl.is-inspecting .aurapl__details{grid-column:4;transform:none;width:min(100%,295px)}
}


/* =========================================================
 * v1.7.9 — TRUE SIDE-GAP CENTERING
 *
 * Desktop layout principle:
 * [ left free space ] [ centered visual ] [ right free space ]
 *
 * Nav is centered inside the free space from viewport/stage left edge
 * to the left edge of the image/visual. Detail is centered symmetrically
 * inside the free space from visual right edge to the right edge.
 * This keeps both text blocks balanced at every desktop viewport width.
 * ========================================================= */
@media (min-width:901px){
  .aurapl__stage{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
    column-gap:0 !important;
    row-gap:24px;
    padding-left:clamp(16px,1.6vw,30px);
    padding-right:clamp(16px,1.6vw,30px);
  }

  .aurapl__nav,
  .aurapl.is-inspecting .aurapl__nav{
    grid-column:1 !important;
    justify-self:center !important;
    align-self:center;
    width:min(78%,220px) !important;
    max-width:220px;
    transform:none !important;
    margin:0 !important;
  }

  .aurapl__visual,
  .aurapl.is-inspecting .aurapl__visual{
    grid-column:2 !important;
    justify-self:center !important;
    width:clamp(390px,38vw,650px) !important;
    max-width:650px !important;
    min-width:0;
    margin:0 !important;
  }

  .aurapl__details,
  .aurapl.is-inspecting .aurapl__details{
    grid-column:3 !important;
    justify-self:center !important;
    align-self:center;
    width:min(78%,290px) !important;
    max-width:290px;
    transform:none !important;
    margin:0 !important;
    padding-left:0 !important;
  }

  .aurapl.is-inspecting .aurapl__detail h3{
    font-size:clamp(18px,1.65vw,24px) !important;
  }
}

/* Large desktop: allow the central image to breathe, while side content
   remains exactly at the midpoint of each free side zone. */
@media (min-width:1600px){
  .aurapl__visual,
  .aurapl.is-inspecting .aurapl__visual{
    width:clamp(600px,34vw,680px) !important;
    max-width:680px !important;
  }

  .aurapl__nav,
  .aurapl.is-inspecting .aurapl__nav{
    width:min(70%,230px) !important;
  }

  .aurapl__details,
  .aurapl.is-inspecting .aurapl__details{
    width:min(72%,300px) !important;
    max-width:300px;
  }
}

/* Mid desktop: progressively reduce the central visual so the two side
   text blocks keep clean breathing room instead of colliding with it. */
@media (min-width:1201px) and (max-width:1599px){
  .aurapl__visual,
  .aurapl.is-inspecting .aurapl__visual{
    width:clamp(500px,39vw,610px) !important;
    max-width:610px !important;
  }

  .aurapl__nav,
  .aurapl.is-inspecting .aurapl__nav{
    width:min(76%,215px) !important;
  }

  .aurapl__details,
  .aurapl.is-inspecting .aurapl__details{
    width:min(76%,275px) !important;
    max-width:275px;
  }
}

/* Small desktop / landscape tablet: keep the same three-zone principle,
   but compact the image and typography before switching to mobile stack. */
@media (min-width:901px) and (max-width:1200px){
  .aurapl__stage{
    padding-left:14px;
    padding-right:14px;
  }

  .aurapl__visual,
  .aurapl.is-inspecting .aurapl__visual{
    width:clamp(360px,40vw,480px) !important;
    max-width:480px !important;
  }

  .aurapl__nav,
  .aurapl.is-inspecting .aurapl__nav{
    width:min(82%,190px) !important;
    max-width:190px;
  }

  .aurapl__details,
  .aurapl.is-inspecting .aurapl__details{
    width:min(84%,220px) !important;
    max-width:220px;
  }

  .aurapl__nav a{
    font-size:12px;
    gap:8px;
  }

  .aurapl__detail h3,
  .aurapl.is-inspecting .aurapl__detail h3{
    font-size:clamp(17px,1.8vw,21px) !important;
  }

  .aurapl .aurapl__sector{font-size:11.5px}
  .aurapl .aurapl__legal{font-size:9.5px}
}


/* =========================================================
 * v1.7.10 — TRUE IMAGE / LENS CENTER LOCK
 *
 * JS đo tâm thật của route-lens actor (nếu có). Nếu actor chưa tồn tại,
 * dùng đúng tâm của .partners-section / plugin làm fallback.
 *
 * --apl-center-shift-x / y được áp cho CẢ ảnh và hotspot, nên:
 * - ảnh ngang: tâm ảnh = tâm section/lens;
 * - ảnh dọc: tâm ảnh = tâm section/lens;
 * - resize / zoom / PJAX: tự tính lại, không phụ thuộc breakpoint.
 * ========================================================= */
.aurapl__visual{
  --apl-center-shift-x:0px;
  --apl-center-shift-y:0px;
}

/* Giữ tâm nội dung ảnh đúng giữa khung cho mọi tỉ lệ ảnh. */
.aurapl .aurapl__card--has-image .aurapl__logo{
  object-position:50% 50% !important;
  transform-origin:50% 50% !important;
}

/* Dịch vụ liên quan theo từng đối tác */
.aurapl__services{margin-top:14px}
.aurapl__services-label{margin:0 0 7px;font-size:10px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--apl-muted)}
.aurapl__services-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.aurapl__services-list li{margin:0;padding:0;font-size:12px;line-height:1.35}
.aurapl__service-link{color:var(--apl-blue);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease,opacity .2s ease}
.aurapl__service-link:hover{border-color:currentColor;opacity:.72}
@media(max-width:849px){
  .aurapl__services{margin-top:8px}
  .aurapl__services-label{margin-bottom:5px;font-size:9px}
  .aurapl__services-list{gap:4px}
  .aurapl__services-list li{font-size:11px}
}

/* Service-first partner browser */
.aurapl--service-groups .aurapl__details{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.aurapl--service-groups .aurapl__service-summaries{
  min-height:0;
}

.aurapl--service-groups .aurapl__service-summary[hidden]{
  display:none!important;
}

.aurapl--service-groups .aurapl__service-summary{
  padding:0 0 14px;
  border-bottom:1px solid rgba(19,23,26,.12);
}

.aurapl--service-groups .aurapl__service-kicker{
  margin:0 0 7px!important;
  color:var(--apl-muted)!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

.aurapl--service-groups .aurapl__service-title{
  margin:0 0 7px!important;
  font-size:clamp(17px,1.55vw,22px)!important;
  font-weight:600!important;
  line-height:1.16!important;
}

.aurapl--service-groups .aurapl__service-description{
  margin:0!important;
  color:var(--apl-muted)!important;
  font-size:11.5px!important;
  line-height:1.45!important;
}

.aurapl--service-groups .aurapl__partner-details{
  min-height:180px;
}

.aurapl--service-groups .aurapl__nav a[aria-current="true"]{
  color:var(--apl-blue)!important;
  font-weight:600;
}

@media(max-width:900px){
  .aurapl--service-groups .aurapl__details{
    gap:12px;
  }

  .aurapl--service-groups .aurapl__service-summary{
    padding-bottom:10px;
  }

  .aurapl--service-groups .aurapl__service-title{
    font-size:18px!important;
  }

  .aurapl--service-groups .aurapl__service-description{
    font-size:11px!important;
  }

  .aurapl--service-groups .aurapl__partner-details{
    min-height:130px;
  }
}


/* Chỉ hiển thị thông tin Đối tác ở cột phải */
.aurapl--service-groups .aurapl__details{
  display:block!important;
  gap:0!important;
}
.aurapl--service-groups .aurapl__service-summaries,
.aurapl--service-groups .aurapl__service-summary{
  display:none!important;
}
.aurapl--service-groups .aurapl__partner-details{
  min-height:0!important;
}


/* Controls below company info */
.aurapl--service-groups .aurapl__details .aurapl__controls{
    grid-column:auto;
    margin-top:26px;
    justify-content:flex-start;
    align-items:center;
}

@media(max-width:849px){
    .aurapl--service-groups .aurapl__details .aurapl__controls{
        margin-top:16px;
    }
}

/* Cố định vị trí nút điều hướng dưới thông tin công ty */
@media(min-width:901px){
  .aurapl--service-groups .aurapl__details{
    position:relative!important;
    height:270px!important;
    min-height:270px!important;
    align-self:center!important;
  }

  .aurapl--service-groups .aurapl__partner-details{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:62px!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:none!important;
  }

  .aurapl--service-groups .aurapl__partner-details::-webkit-scrollbar{
    display:none!important;
  }

  .aurapl--service-groups .aurapl__details .aurapl__controls{
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    margin:0!important;
    width:max-content!important;
    justify-content:flex-start!important;
  }
}

/* v1.9.4: Giữ bo góc ảnh nhất quán khi mở và đổi đối tác */
.aurapl .aurapl__card--has-image{
  border-radius:18px;
  isolation:isolate;
}
.aurapl .aurapl__card--has-image .aurapl__logo{
  border-radius:inherit;
}

/* Căn giữa danh sách bên trái theo tâm ảnh và elip trên desktop */
@media (min-width:901px) {
  .aurapl .aurapl__nav,
  .aurapl.is-inspecting .aurapl__nav {
    transform:translate3d(0,var(--apl-nav-center-shift-y,0px),0) !important;
  }
}

/* Ultrawide 3440 x 1330: ảnh hover thu vừa đủ để elip giao nhẹ mép ảnh */
@media (min-width: 3000px) and (max-width: 3800px) and (min-height: 1160px) and (max-height: 1499px) and (min-aspect-ratio: 12/5) and (max-aspect-ratio: 11/4) {
  .aurapl--service-groups {
    --apl-ultrawide-hover-scale: .78;
    --apl-ultrawide-transition-scale: .80;
  }

  /* Ảnh khi chuyển đổi đối tác trong trạng thái mở vòng */
  .aurapl--service-groups.is-inspecting .aurapl__card--has-image {
    transform: translate(-50%, -50%) scale(var(--apl-ultrawide-transition-scale));
  }

  /* Ảnh đang được chọn: vẫn thu nhỏ nhưng không quá bé so với elip */
  .aurapl--service-groups.is-inspecting .aurapl__card--has-image.is-active {
    transform: translate(-50%, -50%) scale(var(--apl-ultrawide-hover-scale));
  }
}

/* Ultrawide 3440x1330: tăng thêm 2px chữ trong plugin so với v1.9.10 */
@media (min-width:3000px) and (max-width:3800px) and (min-height:1160px) and (max-height:1499px) and (min-aspect-ratio:12/5) and (max-aspect-ratio:11/4){
    /* Danh sách đối tác bên trái */
    .aurapl .aurapl__nav a{font-size:17px!important;}
    .aurapl .aurapl__nav a span{font-size:14px!important;}

    /* Thông tin đối tác bên phải */
    .aurapl .aurapl__number{font-size:15px!important;}
    .aurapl .aurapl__detail h3{font-size:32px!important;}
    .aurapl.is-inspecting .aurapl__detail h3{font-size:28px!important;}
    .aurapl .aurapl__sector{font-size:17px!important;}
    .aurapl .aurapl__legal{font-size:15px!important;}
    .aurapl .aurapl__description{font-size:17px!important;}
    .aurapl .aurapl__website{font-size:16px!important;}

    /* Dịch vụ liên quan */
    .aurapl .aurapl__services-label{font-size:14px!important;}
    .aurapl .aurapl__services-list li{font-size:16px!important;}
    .aurapl--service-groups .aurapl__service-kicker{font-size:14px!important;}
    .aurapl--service-groups .aurapl__service-title{font-size:26px!important;}
    .aurapl--service-groups .aurapl__service-description{font-size:15.5px!important;}

    /* Chữ và số phụ trợ trong plugin */
    .aurapl .aurapl__status{font-size:16px!important;}
    .aurapl .aurapl__controls{font-size:14px!important;}
    .aurapl .aurapl__wordmark{font-size:56px!important;}
}

/* Điều hướng độc lập: nhóm dịch vụ và đối tác */
.aurapl--service-groups .aurapl__service-pager{display:none}
.aurapl--service-groups .aurapl__partner-pager-label,
.aurapl--service-groups .aurapl__partner-btn-text{display:none}
.aurapl--service-groups .aurapl__partner-pager-actions{display:flex;align-items:center;gap:14px}

@media (max-width:900px){
  .aurapl--service-groups .aurapl__stage{row-gap:10px}
  .aurapl--service-groups .aurapl__nav{scrollbar-width:none}
  .aurapl--service-groups .aurapl__nav::-webkit-scrollbar{display:none}

  /* Điều hướng nhóm dịch vụ: bỏ khung xanh bao ngoài */
  .aurapl--service-groups .aurapl__service-pager{
    grid-column:1;
    grid-row:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-self:stretch;
    gap:9px;
    width:100%;
    max-width:100%;
    margin-top:2px;
    padding:12px 0 0;
    border:none;
    border-top:1px solid #cbd2dc;
    border-radius:0;
    background:transparent;
    color:var(--apl-blue);
    position:relative;
    z-index:6;
    box-shadow:none;
  }
  .aurapl--service-groups .aurapl__service-pager-label{
    display:block;
    margin:0;
    color:var(--apl-blue);
    font-size:10px;
    font-weight:700;
    line-height:1.25;
    letter-spacing:.045em;
  }
  .aurapl--service-groups .aurapl__service-pager-actions{
    display:flex;
    align-items:center;
    gap:13px;
  }
  .aurapl--service-groups .aurapl__service-pager-btn{
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 32px;
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
    margin:0;
    padding:0;
    border:1px solid var(--apl-blue);
    border-radius:4px;
    background:var(--apl-blue);
    color:#fff;
    box-shadow:none;
    font-family:inherit;
    font-size:19px;
    font-weight:400;
    line-height:1;
    text-transform:none;
    cursor:pointer;
    transition:background-color .18s ease,border-color .18s ease,color .18s ease;
  }
  .aurapl--service-groups .aurapl__service-pager-btn:hover,
  .aurapl--service-groups .aurapl__service-pager-btn:focus-visible{
    background:#0d53b5!important;
    border-color:#0d53b5!important;
    color:#fff!important;
  }
  .aurapl--service-groups .aurapl__service-pager-btn:disabled{opacity:.35;cursor:default}
  .aurapl--service-groups .aurapl__service-pager-status{
    display:block;
    min-width:46px;
    color:var(--apl-blue);
    font-size:11px;
    font-weight:700;
    letter-spacing:.02em;
    line-height:1;
    text-align:center;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
  }

  /* Khối nhẹ riêng cho chuyển ĐỐI TÁC THUỘC NHÓM */
  .aurapl--service-groups .aurapl__details .aurapl__partner-pager{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:9px;
    width:100%;
    min-width:0;
    margin-top:17px;
    padding-top:12px;
    border-top:1px solid #cbd2dc;
    font-family:inherit;
  }
  .aurapl--service-groups .aurapl__partner-pager-label{
    display:block;
    color:#495666;
    font-size:10px;
    font-weight:700;
    letter-spacing:.04em;
    line-height:1.3;
  }
  .aurapl--service-groups .aurapl__partner-pager-actions{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:9px;
    max-width:100%;
  }
  .aurapl--service-groups .aurapl__details .aurapl__partner-pager button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:0;
    width:32px;
    min-width:32px;
    height:32px;
    min-height:32px;
    flex:0 0 32px;
    margin:0;
    padding:0;
    border:1px solid #bcc6d4;
    border-radius:4px;
    background:#fff;
    color:var(--apl-blue);
    box-shadow:none;
    font-family:inherit;
    font-size:12px;
    line-height:1;
    letter-spacing:0;
    text-transform:none;
    cursor:pointer;
  }
  .aurapl--service-groups .aurapl__details .aurapl__partner-pager button:hover,
  .aurapl--service-groups .aurapl__details .aurapl__partner-pager button:focus-visible{
    background:var(--apl-blue)!important;
    border-color:var(--apl-blue)!important;
    color:#fff!important;
  }
  .aurapl--service-groups .aurapl__partner-btn-text{display:inline;font-size:11px;font-weight:500}
  .aurapl--service-groups .aurapl__details .aurapl__partner-pager .aurapl__status{
    display:block;
    min-width:46px;
    color:#495666;
    font-size:11px;
    font-weight:600;
    line-height:1;
    text-align:center;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
  }
}


/* v1.9.19 — điều hướng dịch vụ nằm trên hình elip */
.aurapl--service-groups .aurapl__service-mobile-switcher{display:none}

@media (max-width:900px){
  .aurapl--service-groups .aurapl__service-mobile-switcher{
    display:grid;
    grid-template-columns:32px minmax(0,1fr) 32px;
    align-items:center;
    gap:10px;
    width:100%;
    margin:0 0 4px;
    padding:0 0 10px;
    border-bottom:1px solid #cbd2dc;
    grid-column:1;
  }

  .aurapl--service-groups .aurapl__nav{display:none}
  .aurapl--service-groups .aurapl__service-pager{display:none!important}

  .aurapl--service-groups .aurapl__service-mobile-btn{
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
    margin:0;
    padding:0;
    border:1px solid var(--apl-blue);
    border-radius:4px;
    background:var(--apl-blue);
    color:#fff;
    font-size:18px;
    line-height:1;
    cursor:pointer;
    box-shadow:none;
  }

  .aurapl--service-groups .aurapl__service-mobile-btn:hover,
  .aurapl--service-groups .aurapl__service-mobile-btn:focus-visible{
    background:#0d53b5!important;
    border-color:#0d53b5!important;
    color:#fff!important;
  }

  .aurapl--service-groups .aurapl__service-mobile-btn:disabled{
    opacity:.35;
    cursor:default;
  }

  .aurapl--service-groups .aurapl__service-mobile-heading{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    text-align:center;
  }

  .aurapl--service-groups .aurapl__service-mobile-title{
    display:block;
    width:100%;
    color:var(--apl-blue);
    font-size:11px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:0;
    text-transform:uppercase;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

@media (min-width:901px){
  .aurapl--service-groups .aurapl__service-mobile-switcher{display:none!important}
}

/* Keep the hovered photo proportional to the route orbit. */
@media (min-width:901px) {
  .aurapl[data-aura-orbit-photo-fit="1"].is-inspecting .aurapl__card--has-image {
    transform:translate(-50%,-50%) scale(calc(var(--apl-orbit-photo-scale) * 1.04));
  }
  .aurapl[data-aura-orbit-photo-fit="1"].is-inspecting .aurapl__card--has-image.is-active {
    transform:translate(-50%,-50%) scale(var(--apl-orbit-photo-scale));
  }
}
