
    body {
      font-family: 'Plus Jakarta Sans', sans-serif;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    .gold-gradient-text {
      background: linear-gradient(135deg, #e4bf5c 0%, #cba238 50%, #9f781a 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .card-hover-effect {
      transition: all 0.3s ease;
    }
    .card-hover-effect:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 35px -10px rgba(11, 32, 70, 0.12);
    }
    .no-scrollbar::-webkit-scrollbar {
      display: none;
    }
    .no-scrollbar {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
    [data-i18n] {
      transition: opacity 0.15s ease-in-out;
    }
    .lang-fade-out {
      opacity: 0 !important;
    }

    /* Smooth page/tab entrance + scroll reveal */
    .page-view.page-enter {
      animation: pageFadeIn 0.75s cubic-bezier(.22,1,.36,1) both;
    }

    .reveal-on-scroll {
      opacity: 0;
      transform: translateY(34px);
      filter: blur(3px);
      transition:
        opacity 0.9s cubic-bezier(.22,1,.36,1),
        transform 0.9s cubic-bezier(.22,1,.36,1),
        filter 0.9s cubic-bezier(.22,1,.36,1);
      transition-delay: var(--reveal-delay, 0ms);
      will-change: opacity, transform, filter;
    }

    .reveal-on-scroll.is-visible {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0);
    }

    @keyframes pageFadeIn {
      from { opacity: 0; transform: translateY(12px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    /* Hero photo + navy gradient overlay */
    #hero-section {
      background-image:
        linear-gradient(90deg, rgba(6,19,43,.97) 0%, rgba(11,32,70,.88) 42%, rgba(11,32,70,.58) 72%, rgba(6,19,43,.78) 100%),
        linear-gradient(180deg, rgba(6,19,43,.20), rgba(6,19,43,.62)),
        url('../hero-background.webp');
      background-size: cover;
      background-position: center;
      background-attachment: fixed;
    }

    #hero-section::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 75% 30%, rgba(203,162,56,.18), transparent 30%),
        linear-gradient(120deg, rgba(11,32,70,.18), rgba(11,32,70,.05));
      pointer-events: none;
    }

    #hero-section > * {
      position: relative;
      z-index: 2;
    }

    @media (max-width: 768px) {
      #hero-section {
        background-attachment: scroll;
        background-position: center;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .page-view.page-enter,
      .reveal-on-scroll {
        animation: none !important;
        transition: none !important;
      }
      .reveal-on-scroll {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }

    /* Video Edukasi: local preview cards with Instagram fallback */
    .edu-video-card {
      display: block;
      overflow: hidden;
      border-radius: 1.25rem;
      background: #fff;
      border: 1px solid #e2e8f0;
      box-shadow: 0 10px 28px rgba(11, 32, 70, .08);
      transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }
    .edu-video-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 20px 40px rgba(11, 32, 70, .14);
      border-color: rgba(203, 162, 56, .45);
    }
    .edu-video-thumb {
      position: relative;
      aspect-ratio: 9 / 16;
      overflow: hidden;
      background: linear-gradient(145deg, #06132b 0%, #0b2046 48%, #163b70 100%);
    }
    .edu-video-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform .5s ease;
    }
    .edu-video-card:hover .edu-video-thumb img {
      transform: scale(1.035);
    }
    .edu-video-fallback {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: #fff;
      text-align: center;
      padding: 1.5rem;
      background:
        radial-gradient(circle at 50% 30%, rgba(203,162,56,.22), transparent 35%),
        linear-gradient(145deg, #06132b 0%, #0b2046 52%, #163b70 100%);
    }
    .edu-video-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(6,19,43,.08) 0%, rgba(6,19,43,.02) 48%, rgba(6,19,43,.58) 100%);
      pointer-events: none;
    }
    .edu-play {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      width: 4.25rem;
      height: 4.25rem;
      display: flex;
      align-items: center;
      justify-content: center;
      padding-left: .18rem;
      border-radius: 9999px;
      background: rgba(255,255,255,.95);
      color: #0b2046;
      font-size: 1.35rem;
      box-shadow: 0 12px 24px rgba(0,0,0,.25);
      transition: transform .25s ease, background .25s ease;
      z-index: 2;
    }
    .edu-video-card:hover .edu-play {
      transform: translate(-50%, -50%) scale(1.08);
      background: #e4bf5c;
    }
    .edu-ig-badge {
      position: absolute;
      left: .9rem;
      top: .9rem;
      z-index: 2;
      padding: .35rem .6rem;
      border-radius: 9999px;
      background: rgba(255,255,255,.92);
      color: #0b2046;
      font-size: .65rem;
      line-height: 1;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
  

  .exo-contact-hub {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;
    display: grid;
    justify-items: end;
    gap: 10px;
  }
  .exo-contact-menu {
    display: grid;
    gap: 10px;
    justify-items: end;
    pointer-events: none;
  }
  .exo-contact-option,
  .exo-contact-trigger {
    width: 52px;
    height: 52px;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.14);
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition:
      opacity .28s cubic-bezier(.22,1,.36,1),
      transform .34s cubic-bezier(.22,1,.36,1),
      box-shadow .25s ease,
      background .25s ease,
      border-color .25s ease;
  }
  .exo-contact-trigger {
    position: relative;
    background: linear-gradient(145deg, #0b2046 0%, #102e60 100%);
    color: #f2c94c;
    box-shadow: 0 14px 32px rgba(2,8,23,.24), inset 0 1px 0 rgba(255,255,255,.08);
  }
  .exo-contact-trigger:hover {
    transform: translateY(-2px);
    border-color: rgba(228,191,92,.42);
    box-shadow: 0 18px 38px rgba(2,8,23,.28), 0 0 0 4px rgba(203,162,56,.08);
  }
  .exo-contact-trigger svg,
  .exo-contact-option svg {
    width: 21px;
    height: 21px;
    flex: 0 0 auto;
  }
  .exo-contact-trigger .icon-message,
  .exo-contact-trigger .icon-close {
    position: absolute;
    transition: opacity .22s ease, transform .34s cubic-bezier(.22,1,.36,1);
  }
  .exo-contact-trigger .icon-message {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
  .exo-contact-trigger .icon-close {
    opacity: 0;
    transform: scale(.65) rotate(-70deg);
  }
  .exo-contact-hub.is-open .exo-contact-trigger .icon-message {
    opacity: 0;
    transform: scale(.65) rotate(70deg);
  }
  .exo-contact-hub.is-open .exo-contact-trigger .icon-close {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
  .exo-contact-option {
    position: relative;
    opacity: 0;
    transform: translateY(16px) scale(.78);
    box-shadow: 0 12px 26px rgba(2,8,23,.18);
  }
  .exo-contact-option::after {
    content: attr(data-label);
    position: absolute;
    right: 62px;
    top: 50%;
    transform: translateY(-50%) translateX(6px);
    padding: 7px 10px;
    border-radius: 9px;
    background: rgba(6,19,43,.94);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
    box-shadow: 0 8px 20px rgba(2,8,23,.18);
  }
  .exo-contact-option:hover::after,
  .exo-contact-option:focus-visible::after {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
  .exo-contact-option--wa {
    background: linear-gradient(145deg, #2bd873, #20bd61);
    color: #fff;
  }
  .exo-contact-option--mail {
    background: linear-gradient(145deg, #ffffff, #f6f8fb);
    color: #0b2046;
    border-color: rgba(11,32,70,.12);
  }
  .exo-contact-hub.is-open .exo-contact-menu {
    pointer-events: auto;
  }
  .exo-contact-hub.is-open .exo-contact-option {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  .exo-contact-hub.is-open .exo-contact-option:nth-child(1) { transition-delay: .04s; }
  .exo-contact-hub.is-open .exo-contact-option:nth-child(2) { transition-delay: .09s; }
  .exo-contact-option:hover {
    transform: translateY(-2px) scale(1.04) !important;
  }
  .exo-contact-trigger:focus-visible,
  .exo-contact-option:focus-visible {
    outline: 3px solid rgba(228,191,92,.35);
    outline-offset: 3px;
  }

  .exo-stat-number {
    display: inline-block;
    opacity: 0;
    transform: translateY(12px) scale(.88);
    transition: opacity .5s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1);
    will-change: transform, opacity;
  }
  .exo-stat-number.is-counting {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  @media (max-width: 640px) {
    .exo-contact-hub {
      right: 14px;
      bottom: 14px;
      gap: 8px;
    }
    .exo-contact-trigger,
    .exo-contact-option {
      width: 48px;
      height: 48px;
    }
    .exo-contact-option::after {
      display: none;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .exo-contact-option,
    .exo-contact-trigger,
    .exo-contact-trigger .icon-message,
    .exo-contact-trigger .icon-close,
    .exo-stat-number {
      transition: none !important;
    }
    .exo-stat-number {
      opacity: 1 !important;
      transform: none !important;
    }
  }


#hero-section,
.hero-section {
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* Keep the left area readable while preserving the image composition */
#hero-section::before,
.hero-section::before {
    background: linear-gradient(
        90deg,
        rgba(4, 22, 55, .88) 0%,
        rgba(4, 22, 55, .62) 38%,
        rgba(4, 22, 55, .25) 72%,
        rgba(4, 22, 55, .45) 100%
    ) !important;
}


/* FINAL HERO LAYOUT FIX
   Keeps the existing HTML/content but removes the excessive top whitespace.
*/
#hero-section{
  min-height: calc(100vh - 80px) !important;
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  display:flex !important;
  align-items:center !important;
}

#hero-section > .max-w-7xl{
  width:100% !important;
}

#hero-section > .max-w-7xl > .grid{
  align-items:center !important;
  gap:48px !important;
}

#hero-section .lg\:col-span-7{
  transform: translateY(-4px);
}

#hero-section .lg\:col-span-5{
  transform: translateY(0);
}

#hero-section h1{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

@media (min-width:1024px){
  #hero-section{
    min-height: calc(100vh - 80px) !important;
    padding-top:48px !important;
    padding-bottom:48px !important;
  }

  #hero-section .lg\:col-span-7{
    max-width: 690px;
  }

  #hero-section .lg\:col-span-5{
    max-width: 500px;
    margin-left:auto;
  }
}

@media (max-width:1023px){
  #hero-section{
    min-height:auto !important;
    padding-top:48px !important;
    padding-bottom:48px !important;
  }
}



/* FINAL HERO REBUILD */

#hero-section{
    height:720px !important;
    min-height:720px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;

    background-image:
    linear-gradient(
        90deg,
        rgba(5,18,42,.96) 0%,
        rgba(5,18,42,.78) 38%,
        rgba(5,18,42,.28) 100%
    ),
    url("../hero-background.webp") !important;

    background-size:cover !important;
    background-position:center center !important;
}


#hero-section > .max-w-7xl,
#hero-section > div{
    width:100% !important;
}


#hero-section .max-w-7xl{
    max-width:1380px !important;
    margin:auto !important;
}


#hero-section .grid{
    display:grid !important;
    grid-template-columns: 620px 460px !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:40px !important;
}


/* LEFT */

#hero-section .lg\:col-span-7{
    width:620px !important;
    transform:translateY(-5px) !important;
}


#hero-section h1{
    width:620px !important;
    font-size:58px !important;
    line-height:1.03 !important;
    letter-spacing:-2.8px !important;
    margin-bottom:24px !important;
}


#hero-section p{
    width:590px !important;
    font-size:16px !important;
    line-height:1.75 !important;
}


#hero-section .grid-cols-1.sm\:grid-cols-3{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    width:650px !important;
    margin-top:26px !important;
}


#hero-section .grid-cols-1.sm\:grid-cols-3 > div{
    height:44px !important;
    display:flex !important;
    align-items:center !important;
}


/* BUTTON */

#hero-section .flex.gap-4,
#hero-section .flex.gap-3{
    margin-top:24px !important;
}


/* RIGHT CARD */

#hero-section .lg\:col-span-5{
    width:460px !important;
    justify-self:end !important;
    transform:none !important;
}


#hero-section .lg\:col-span-5 > div{
    padding:28px !important;
    border-radius:26px !important;
}


/* POPUP */

#hero-section .lg\:col-span-7{
    animation:heroLeft .8s ease forwards;
}


#hero-section .lg\:col-span-5{
    animation:heroCard .9s ease .2s forwards;
}


@keyframes heroLeft{
from{
opacity:0;
transform:translateX(-35px);
}
to{
opacity:1;
transform:translateX(0);
}
}


@keyframes heroCard{
from{
opacity:0;
transform:translateX(40px) scale(.96);
}
to{
opacity:1;
transform:translateX(0) scale(1);
}
}


@media(max-width:1024px){

#hero-section{
height:auto !important;
min-height:900px !important;
}

#hero-section .grid{
grid-template-columns:1fr !important;
}

#hero-section .lg\:col-span-7,
#hero-section h1,
#hero-section p,
#hero-section .lg\:col-span-5{
width:100% !important;
}

}



/* =========================================================
   HERO COMPOSITION V2
   Fokus: center yang lebih rapi, crop foto stabil, proporsi
   headline/card seimbang, dan responsif tanpa fixed layout liar.
   ========================================================= */

/* Base hero */
#hero-section {
  position: relative !important;
  height: auto !important;
  min-height: clamp(640px, calc(100svh - 80px), 720px) !important;
  padding: 56px 0 !important;
  display: flex !important;
  align-items: center !important;
  isolation: isolate;
  overflow: hidden !important;
  background-image:
    linear-gradient(90deg,
      rgba(5, 18, 42, .98) 0%,
      rgba(5, 18, 42, .94) 26%,
      rgba(5, 18, 42, .78) 48%,
      rgba(5, 18, 42, .36) 70%,
      rgba(5, 18, 42, .16) 100%),
    linear-gradient(180deg,
      rgba(5, 18, 42, .08) 0%,
      rgba(5, 18, 42, .22) 100%),
    url("../hero-background.webp") !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  /* Foto berisi subjek di kanan: sedikit geser focal point ke kanan */
  background-position: 64% 50% !important;
  background-attachment: scroll !important;
}

/* Soft light only; jangan menutup detail foto */
#hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 72% 28%, rgba(228,191,92,.12), transparent 28%),
    linear-gradient(90deg, rgba(6,19,43,.14), transparent 58%) !important;
}

#hero-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(6,19,43,0) 70%, rgba(6,19,43,.22) 100%) !important;
}

/* Jangan paksa semua div langsung menjadi 100%: hanya wrapper konten utama */
#hero-section > .max-w-7xl {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}

#hero-section > .absolute {
  z-index: 1 !important;
  width: auto !important;
}

#hero-section > .max-w-7xl > .grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.16fr) minmax(360px, .84fr) !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: clamp(42px, 5vw, 76px) !important;
}

/* LEFT COPY */
#hero-section .lg\\:col-span-7 {
  width: auto !important;
  max-width: 640px !important;
  justify-self: start !important;
  transform: none !important;
  animation: heroLeft .7s cubic-bezier(.22,1,.36,1) both !important;
}

#hero-section h1 {
  width: auto !important;
  max-width: 640px !important;
  margin: 0 !important;
  font-size: clamp(42px, 3.45vw, 60px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
  text-wrap: balance;
}

#hero-section .lg\\:col-span-7 > p,
#hero-section p[data-i18n="hero_desc"] {
  width: auto !important;
  max-width: 610px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  line-height: 1.72 !important;
}

#hero-section .grid-cols-1.sm\\:grid-cols-3 {
  width: 100% !important;
  max-width: 640px !important;
  margin-top: 4px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

#hero-section .grid-cols-1.sm\\:grid-cols-3 > div {
  min-height: 44px !important;
  height: auto !important;
  padding: 10px 12px !important;
}

#hero-section .flex.flex-col.sm\\:flex-row {
  margin-top: 0 !important;
}

/* RIGHT LEGAL CARD */
#hero-section .lg\\:col-span-5 {
  width: 100% !important;
  max-width: 420px !important;
  justify-self: end !important;
  align-self: center !important;
  transform: none !important;
  animation: heroCard .8s .08s cubic-bezier(.22,1,.36,1) both !important;
}

#hero-section .lg\\:col-span-5 > div {
  padding: 24px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(13,36,72,.76), rgba(6,19,43,.68)) !important;
  border-color: rgba(255,255,255,.16) !important;
  backdrop-filter: blur(16px) saturate(115%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(115%) !important;
  box-shadow: 0 24px 70px rgba(2,8,23,.28) !important;
}

@keyframes heroLeft {
  from { opacity: 0; transform: translate3d(-22px, 0, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes heroCard {
  from { opacity: 0; transform: translate3d(24px, 0, 0) scale(.985); }
  to   { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

/* Desktop lebar: jaga wajah/subjek foto tetap masuk frame */
@media (min-width: 1440px) {
  #hero-section {
    background-position: 66% 50% !important;
  }
}

/* Laptop / tablet landscape */
@media (max-width: 1180px) {
  #hero-section {
    min-height: auto !important;
    padding: 56px 0 !important;
    background-position: 68% 50% !important;
  }

  #hero-section > .max-w-7xl > .grid {
    grid-template-columns: minmax(0, 1fr) 380px !important;
    column-gap: 34px !important;
  }

  #hero-section h1 {
    font-size: clamp(40px, 4.6vw, 54px) !important;
  }
}

/* Tablet: stack card dan pertahankan komposisi foto */
@media (max-width: 1023px) {
  #hero-section {
    min-height: auto !important;
    padding: 64px 0 56px !important;
    background-position: 72% 50% !important;
  }

  #hero-section > .max-w-7xl {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  #hero-section > .max-w-7xl > .grid {
    grid-template-columns: 1fr !important;
    row-gap: 36px !important;
  }

  #hero-section .lg\\:col-span-7,
  #hero-section .lg\\:col-span-5 {
    width: 100% !important;
    max-width: 680px !important;
    justify-self: center !important;
  }

  #hero-section .lg\\:col-span-7 {
    text-align: center !important;
  }

  #hero-section h1,
  #hero-section .lg\\:col-span-7 > p,
  #hero-section p[data-i18n="hero_desc"] {
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #hero-section .grid-cols-1.sm\\:grid-cols-3 {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Mobile: foto jadi ambience, teks tetap jelas */
@media (max-width: 640px) {
  #hero-section {
    padding: 44px 0 48px !important;
    background-position: 71% center !important;
    background-image:
      linear-gradient(90deg, rgba(5,18,42,.96) 0%, rgba(5,18,42,.90) 56%, rgba(5,18,42,.66) 100%),
      linear-gradient(180deg, rgba(5,18,42,.18), rgba(5,18,42,.42)),
      url("../hero-background.webp") !important;
  }

  #hero-section > .max-w-7xl {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #hero-section h1 {
    font-size: clamp(34px, 10.2vw, 44px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.04em !important;
  }

  #hero-section .grid-cols-1.sm\\:grid-cols-3 {
    grid-template-columns: 1fr !important;
    max-width: 420px !important;
  }

  #hero-section .lg\\:col-span-5 > div {
    padding: 20px !important;
    border-radius: 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #hero-section .lg\\:col-span-7,
  #hero-section .lg\\:col-span-5 {
    animation: none !important;
  }
}


/* =========================================================
   HERO V6 — exact side-by-side composition
   Legalitas starts on the SAME horizontal line as H1.
   Dedicated IDs avoid conflicts with older hero overrides.
   ========================================================= */

#hero-section {
  height: auto !important;
  min-height: calc(100svh - 80px) !important;
  padding: 42px 0 !important;
  display: flex !important;
  align-items: center !important;
}

#hero-shell {
  width: calc(100% - 48px) !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 10 !important;
  /* optical centering to match the reference composition */
  transform: translateX(clamp(24px, 5.5vw, 100px)) !important;
}

#hero-badge-row {
  width: 640px !important;
  max-width: 100% !important;
  margin: 0 0 14px 0 !important;
  text-align: left !important;
}

#hero-main-grid {
  display: grid !important;
  grid-template-columns: 640px 420px !important;
  column-gap: 72px !important;
  align-items: start !important;
  justify-content: start !important;
  width: 100% !important;
}

#hero-copy-main {
  width: 640px !important;
  max-width: 640px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  transform: none !important;
}

#hero-copy-main h1 {
  width: 100% !important;
  max-width: 640px !important;
  margin: 0 0 24px 0 !important;
  font-size: 48px !important;
  line-height: 1.01 !important;
  letter-spacing: -0.043em !important;
}

#hero-copy-main > p[data-i18n="hero_desc"] {
  width: 610px !important;
  max-width: 100% !important;
  margin: 0 0 26px 0 !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}

#hero-benefits {
  width: 640px !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
}

#hero-benefits > div {
  min-width: 0 !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 9px 11px !important;
  border-radius: 11px !important;
}

#hero-actions {
  margin: 0 !important;
  padding: 0 !important;
  justify-content: flex-start !important;
}

#hero-actions > a {
  min-height: 50px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* IMPORTANT: no margin/padding top — card top == H1 top */
#hero-legal-card-wrap {
  width: 420px !important;
  max-width: 420px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
  justify-self: start !important;
  transform: none !important;
}

#hero-legal-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 24px !important;
  border-radius: 24px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#hero-legal-card,
#hero-legal-card * {
  box-sizing: border-box !important;
  min-width: 0;
}

#hero-legal-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: start !important;
}

#hero-legal-head h2 {
  max-width: 100% !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

#hero-legal-head > span:last-child {
  white-space: nowrap !important;
  flex: none !important;
}

#hero-legal-items > div:not(:last-child) {
  padding: 14px 15px !important;
}

#hero-legal-items > div:not(:last-child) > div:last-child {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

#hero-legal-items span,
#hero-legal-items p,
#hero-coverage span {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

#hero-legal-items > div:last-child p {
  align-items: flex-start !important;
  line-height: 1.45 !important;
}

#hero-legal-items > div:last-child p > span:first-child {
  flex: 0 0 8px !important;
  margin-top: 5px !important;
}

#hero-coverage {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: start !important;
  justify-content: initial !important;
  line-height: 1.45 !important;
}

#hero-coverage > span:last-child {
  text-align: left !important;
}

@media (max-width: 1279px) and (min-width: 1024px) {
  #hero-shell {
    max-width: 1040px !important;
    transform: translateX(clamp(8px, 2vw, 24px)) !important;
  }

  #hero-badge-row,
  #hero-copy-main {
    width: 590px !important;
    max-width: 590px !important;
  }

  #hero-main-grid {
    grid-template-columns: 590px 390px !important;
    column-gap: 42px !important;
  }

  #hero-copy-main h1 {
    font-size: 44px !important;
    max-width: 590px !important;
  }

  #hero-copy-main > p[data-i18n="hero_desc"],
  #hero-benefits {
    width: 100% !important;
    max-width: 590px !important;
  }

  #hero-legal-card-wrap {
    width: 390px !important;
    max-width: 390px !important;
  }

  #hero-legal-card {
    padding: 22px !important;
  }
}

@media (max-width: 1023px) {
  #hero-section {
    min-height: auto !important;
    padding: 56px 0 !important;
  }

  #hero-shell {
    width: calc(100% - 40px) !important;
    max-width: 720px !important;
    transform: none !important;
  }

  #hero-badge-row {
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 18px !important;
  }

  #hero-main-grid {
    grid-template-columns: 1fr !important;
    row-gap: 36px !important;
  }

  #hero-copy-main,
  #hero-legal-card-wrap {
    width: 100% !important;
    max-width: 680px !important;
    justify-self: center !important;
  }

  #hero-copy-main {
    text-align: center !important;
  }

  #hero-copy-main h1,
  #hero-copy-main > p[data-i18n="hero_desc"],
  #hero-benefits {
    width: 100% !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #hero-copy-main h1 {
    font-size: clamp(40px, 6vw, 50px) !important;
  }

  #hero-actions {
    justify-content: center !important;
  }

  #hero-legal-card {
    max-width: 500px !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 640px) {
  #hero-section {
    padding: 42px 0 46px !important;
  }

  #hero-shell {
    width: calc(100% - 32px) !important;
  }

  #hero-copy-main h1 {
    font-size: clamp(34px, 10.5vw, 44px) !important;
    line-height: 1.04 !important;
  }

  #hero-copy-main > p[data-i18n="hero_desc"] {
    font-size: 15px !important;
    line-height: 1.68 !important;
  }

  #hero-benefits {
    grid-template-columns: 1fr !important;
    max-width: 420px !important;
  }

  #hero-legal-card {
    padding: 20px !important;
    border-radius: 20px !important;
  }

  #hero-coverage {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}


/* =========================================================
   ADDITIVE GLOBAL POP ANIMATIONS
   IMPORTANT: does not replace or modify existing EXO styles.
   It only animates elements not already handled by the site's
   original .reveal-on-scroll system.
   ========================================================= */

.exo-global-pop {
  opacity: 0;
  transform: translate3d(0, 18px, 0) scale(.975);
  transition:
    opacity .66s cubic-bezier(.22,1,.36,1),
    transform .66s cubic-bezier(.22,1,.36,1);
  transition-delay: var(--exo-pop-delay, 0ms);
  will-change: opacity, transform;
}

.exo-global-pop.exo-pop-left {
  transform: translate3d(-18px, 8px, 0) scale(.98);
}

.exo-global-pop.exo-pop-right {
  transform: translate3d(18px, 8px, 0) scale(.98);
}

.exo-global-pop.exo-pop-scale {
  transform: translate3d(0, 8px, 0) scale(.94);
}

.exo-global-pop.exo-pop-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* Header entrance — additive, no changes to existing layout */
header.exo-site-intro {
  animation: exoSiteHeaderIn .62s cubic-bezier(.22,1,.36,1) both;
}

.exo-wa-floating.exo-wa-intro,
.exo-contact-trigger.exo-wa-intro {
  animation: exoWaIn .68s .30s cubic-bezier(.22,1,.36,1) both;
}

@keyframes exoSiteHeaderIn {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes exoWaIn {
  from { opacity: 0; transform: translateY(14px) scale(.9); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .exo-global-pop,
  .exo-global-pop.exo-pop-visible,
  header.exo-site-intro,
  .exo-wa-floating.exo-wa-intro {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}


/* =========================================================
   HERO LEGAL CARD — proportion & animation refinement
   Additive override only: keeps previous code intact
   ========================================================= */

#hero-legal-card-wrap {
  width: 440px !important;
  max-width: 440px !important;
}

#hero-legal-card {
  padding: 28px !important;
  border-radius: 28px !important;
  background:
    linear-gradient(180deg, rgba(20, 37, 64, 0.76) 0%, rgba(10, 24, 49, 0.72) 100%) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow:
    0 26px 65px rgba(2, 8, 23, .28),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
  overflow: hidden !important;
  animation: exoLegalCardIn .82s cubic-bezier(.22,1,.36,1) both !important;
}

#hero-legal-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  padding-bottom: 18px !important;
  margin-bottom: 2px !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  opacity: 0;
  animation: exoLegalTextIn .56s .18s cubic-bezier(.22,1,.36,1) forwards;
}

#hero-legal-head > div {
  min-width: 0 !important;
}

#hero-legal-head > div > span {
  font-size: 12px !important;
  line-height: 1.25 !important;
  letter-spacing: .03em !important;
  margin-bottom: 8px !important;
}

#hero-legal-head h2 {
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
  color: #ffffff !important;
  overflow-wrap: anywhere !important;
}

#hero-legal-head > span:last-child {
  align-self: start !important;
  padding: 9px 14px !important;
  border-radius: 9999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#hero-legal-items {
  display: grid !important;
  gap: 14px !important;
  padding: 18px 0 18px !important;
}

#hero-legal-items > div:nth-child(1),
#hero-legal-items > div:nth-child(2) {
  padding: 16px 18px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(17, 42, 92, .92), rgba(15, 34, 75, .96)) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
  opacity: 0;
  animation: exoLegalTextIn .56s cubic-bezier(.22,1,.36,1) forwards;
}

#hero-legal-items > div:nth-child(1) { animation-delay: .28s !important; }
#hero-legal-items > div:nth-child(2) { animation-delay: .38s !important; }

#hero-legal-items > div:nth-child(1) > div:first-child,
#hero-legal-items > div:nth-child(2) > div:first-child {
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  background: rgba(203,162,56,.18) !important;
}

#hero-legal-items > div:nth-child(1) > div:last-child,
#hero-legal-items > div:nth-child(2) > div:last-child {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

#hero-legal-items > div:nth-child(1) > div:last-child > span,
#hero-legal-items > div:nth-child(2) > div:last-child > span {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: rgb(156 163 175) !important;
}

#hero-legal-items > div:nth-child(1) > div:last-child > p,
#hero-legal-items > div:nth-child(2) > div:last-child > p {
  margin-top: 6px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
  font-weight: 700 !important;
}

#hero-legal-address {
  display: grid !important;
  gap: 10px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  opacity: 0;
  animation: exoLegalTextIn .56s .48s cubic-bezier(.22,1,.36,1) forwards;
}

.hero-legal-address-row {
  display: grid !important;
  grid-template-columns: 10px 110px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
}

.hero-legal-dot {
  width: 8px !important;
  height: 8px !important;
  margin-top: 6px !important;
  border-radius: 9999px !important;
  background: #cba238 !important;
}

.hero-legal-label {
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  color: #e7edf5 !important;
}

.hero-legal-value {
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: #d2dae5 !important;
  overflow-wrap: anywhere !important;
}

#hero-coverage {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: start !important;
  padding-top: 18px !important;
  margin-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  line-height: 1.45 !important;
  opacity: 0;
  animation: exoLegalTextIn .56s .58s cubic-bezier(.22,1,.36,1) forwards;
}

#hero-coverage .hero-coverage-label {
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: #d2dae5 !important;
}

#hero-coverage .hero-coverage-value {
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  overflow-wrap: anywhere !important;
}

#hero-legal-card:hover {
  transform: translateY(-2px) !important;
  box-shadow:
    0 30px 72px rgba(2, 8, 23, .30),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

@keyframes exoLegalCardIn {
  from { opacity: 0; transform: translate3d(22px, 12px, 0) scale(.975); }
  to   { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes exoLegalTextIn {
  from { opacity: 0; transform: translate3d(0, 16px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (max-width: 1279px) and (min-width: 1024px) {
  #hero-legal-card-wrap {
    width: 408px !important;
    max-width: 408px !important;
  }

  #hero-legal-card {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  #hero-coverage {
    grid-template-columns: 106px minmax(0, 1fr) !important;
  }
}

@media (max-width: 640px) {
  #hero-legal-card {
    padding: 20px !important;
    border-radius: 20px !important;
  }

  #hero-legal-head {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  #hero-legal-head > span:last-child {
    justify-self: start !important;
  }

  .hero-legal-address-row,
  #hero-coverage {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  .hero-legal-dot {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #hero-legal-card,
  #hero-legal-head,
  #hero-legal-items > div:nth-child(1),
  #hero-legal-items > div:nth-child(2),
  #hero-legal-address,
  #hero-coverage {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}


/* =========================================================
   FOOTER REFRESH — elegant/minimal links box + reordered cols
   ========================================================= */

.exo-footer-location-card {
  padding: 18px 18px 16px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.08);
  display: grid;
  gap: 14px;
}

.exo-footer-location-item {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.exo-footer-location-dot {
  width: 8px;
  height: 8px;
  margin-top: 6px;
  border-radius: 9999px;
  background: #cba238;
}

.exo-footer-official-card {
  padding: 18px 18px 16px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.exo-footer-official-list {
  display: grid;
  gap: 6px;
}

.exo-footer-official-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  color: rgb(226 232 240);
  font-size: 13px;
  line-height: 1.45;
  transition: color .2s ease, transform .2s ease;
}

.exo-footer-official-link:hover {
  color: #f3d16c;
  transform: translateX(2px);
}

.exo-footer-link-icon {
  width: 34px;
  height: 34px;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  flex: 0 0 34px;
}

@media (max-width: 1023px) {
  .exo-footer-location-col,
  .exo-footer-links-col {
    order: initial;
  }
}


/* =========================================================
   FINAL HERO TUNE
   - Align left hero text with header logo edge
   - Align legal box with header CTA edge
   - Reduce empty space in legal card
   - Keep a more elegant/professional proportion
   ========================================================= */

#hero-section {
  padding-top: 46px !important;
  padding-bottom: 44px !important;
}

#hero-shell {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  transform: none !important;
}

#hero-main-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 620px) 392px !important;
  column-gap: 40px !important;
  align-items: start !important;
  justify-content: space-between !important;
}

#hero-badge-row,
#hero-copy-main {
  width: 100% !important;
  max-width: 620px !important;
}

#hero-copy-main h1 {
  max-width: 620px !important;
  margin-bottom: 22px !important;
  font-size: 53px !important;
  line-height: 1.01 !important;
}

#hero-copy-main > p[data-i18n="hero_desc"] {
  max-width: 600px !important;
  margin-bottom: 24px !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
}

#hero-benefits {
  max-width: 610px !important;
  margin-bottom: 22px !important;
  gap: 12px !important;
}

#hero-benefits > div {
  min-height: 42px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
}

#hero-actions {
  gap: 14px !important;
}

#hero-actions > a:first-child {
  min-width: 224px !important;
}

#hero-actions > a:last-child {
  min-width: 238px !important;
}

#hero-legal-card-wrap {
  width: 392px !important;
  max-width: 392px !important;
  justify-self: end !important;
  align-self: start !important;
}

#hero-legal-card {
  padding: 22px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(18,34,60,.78) 0%, rgba(8,20,42,.74) 100%) !important;
  box-shadow: 0 22px 56px rgba(2,8,23,.26), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

#hero-legal-head {
  gap: 10px !important;
  padding-bottom: 14px !important;
  margin-bottom: 0 !important;
}

#hero-legal-head > div > span {
  font-size: 11px !important;
  margin-bottom: 6px !important;
}

#hero-legal-head h2 {
  font-size: 13px !important;
  line-height: 1.3 !important;
}

#hero-legal-head > span:last-child {
  padding: 8px 13px !important;
  font-size: 11px !important;
}

#hero-legal-items {
  gap: 12px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

#hero-legal-items > div:nth-child(1),
#hero-legal-items > div:nth-child(2) {
  padding: 14px 15px !important;
  border-radius: 16px !important;
}

#hero-legal-items > div:nth-child(1) > div:first-child,
#hero-legal-items > div:nth-child(2) > div:first-child {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
}

#hero-legal-items > div:nth-child(1) > div:last-child > span,
#hero-legal-items > div:nth-child(2) > div:last-child > span {
  font-size: 11px !important;
  line-height: 1.3 !important;
}

#hero-legal-items > div:nth-child(1) > div:last-child > p,
#hero-legal-items > div:nth-child(2) > div:last-child > p {
  margin-top: 5px !important;
  font-size: 13px !important;
  line-height: 1.32 !important;
}

#hero-legal-address {
  gap: 8px !important;
  padding-top: 14px !important;
}

.hero-legal-address-row {
  grid-template-columns: 10px 98px minmax(0, 1fr) !important;
  gap: 8px !important;
}

.hero-legal-label,
.hero-legal-value {
  font-size: 11px !important;
  line-height: 1.4 !important;
}

#hero-coverage {
  grid-template-columns: 100px minmax(0, 1fr) !important;
  gap: 8px !important;
  padding-top: 14px !important;
  margin-top: 14px !important;
}

#hero-coverage .hero-coverage-label,
#hero-coverage .hero-coverage-value {
  font-size: 11px !important;
}

@media (min-width: 640px) {
  #hero-shell {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

@media (min-width: 1024px) {
  #hero-shell {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}

@media (max-width: 1279px) and (min-width: 1024px) {
  #hero-main-grid {
    grid-template-columns: minmax(0, 570px) 372px !important;
    column-gap: 32px !important;
  }

  #hero-badge-row,
  #hero-copy-main,
  #hero-copy-main h1,
  #hero-copy-main > p[data-i18n="hero_desc"],
  #hero-benefits {
    max-width: 570px !important;
  }

  #hero-copy-main h1 {
    font-size: 47px !important;
  }

  #hero-legal-card-wrap {
    width: 372px !important;
    max-width: 372px !important;
  }

  #hero-legal-card {
    padding: 20px !important;
  }

  .hero-legal-address-row {
    grid-template-columns: 10px 92px minmax(0, 1fr) !important;
  }

  #hero-coverage {
    grid-template-columns: 94px minmax(0, 1fr) !important;
  }
}

@media (max-width: 1023px) {
  #hero-shell {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  #hero-main-grid {
    grid-template-columns: 1fr !important;
    row-gap: 34px !important;
  }

  #hero-copy-main,
  #hero-legal-card-wrap {
    max-width: 680px !important;
    justify-self: center !important;
  }

  #hero-copy-main {
    text-align: center !important;
  }

  #hero-copy-main h1,
  #hero-copy-main > p[data-i18n="hero_desc"],
  #hero-benefits {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #hero-copy-main h1 {
    font-size: clamp(40px, 6vw, 50px) !important;
  }

  #hero-actions {
    justify-content: center !important;
  }

  #hero-legal-card-wrap {
    width: 100% !important;
    max-width: 500px !important;
  }

  #hero-legal-card {
    margin: 0 auto !important;
  }
}

@media (max-width: 640px) {
  #hero-shell {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #hero-legal-head {
    grid-template-columns: 1fr !important;
  }

  #hero-legal-head > span:last-child {
    justify-self: start !important;
  }

  .hero-legal-address-row,
  #hero-coverage {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  .hero-legal-dot {
    display: none !important;
  }
}


/* =========================================================
   HERO CARD COMPACT + HERO TEXT ANIMATION FIX
   - reduce empty space in legal card
   - tighten proportions for a more professional look
   - animate hero badge, headline, paragraph, pills, and CTA
   ========================================================= */

/* -------- legal card compact refinement -------- */
#hero-legal-card-wrap {
  width: 386px !important;
  max-width: 386px !important;
}

#hero-legal-card {
  padding: 20px !important;
  border-radius: 22px !important;
}

#hero-legal-head {
  gap: 10px !important;
  padding-bottom: 12px !important;
}

#hero-legal-head > div > span {
  margin-bottom: 5px !important;
  font-size: 10.5px !important;
}

#hero-legal-head h2 {
  font-size: 12px !important;
  line-height: 1.28 !important;
}

#hero-legal-head > span:last-child {
  padding: 7px 12px !important;
  font-size: 10.5px !important;
}

#hero-legal-items {
  gap: 10px !important;
  padding-top: 14px !important;
  padding-bottom: 12px !important;
}

#hero-legal-items > div:nth-child(1),
#hero-legal-items > div:nth-child(2) {
  padding: 12px 14px !important;
  border-radius: 15px !important;
}

#hero-legal-items > div:nth-child(1) > div:first-child,
#hero-legal-items > div:nth-child(2) > div:first-child {
  width: 38px !important;
  height: 38px !important;
  border-radius: 11px !important;
  font-size: 11.5px !important;
}

#hero-legal-items > div:nth-child(1) > div:last-child > span,
#hero-legal-items > div:nth-child(2) > div:last-child > span {
  font-size: 10.5px !important;
  line-height: 1.28 !important;
}

#hero-legal-items > div:nth-child(1) > div:last-child > p,
#hero-legal-items > div:nth-child(2) > div:last-child > p {
  margin-top: 4px !important;
  font-size: 12.5px !important;
  line-height: 1.28 !important;
}

#hero-legal-address {
  gap: 7px !important;
  padding-top: 12px !important;
}

.hero-legal-address-row {
  grid-template-columns: 9px 92px minmax(0, 1fr) !important;
  gap: 7px !important;
}

.hero-legal-dot {
  width: 7px !important;
  height: 7px !important;
  margin-top: 5px !important;
}

.hero-legal-label,
.hero-legal-value {
  font-size: 10.5px !important;
  line-height: 1.36 !important;
}

#hero-coverage {
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 7px !important;
  padding-top: 12px !important;
  margin-top: 12px !important;
}

#hero-coverage .hero-coverage-label,
#hero-coverage .hero-coverage-value {
  font-size: 10.5px !important;
  line-height: 1.38 !important;
}

/* -------- hero text animation -------- */
#hero-badge-row,
#hero-copy-main > p[data-i18n="hero_desc"],
#hero-benefits > div,
#hero-actions > a {
  opacity: 0;
}

#hero-badge-row {
  animation: exoHeroFadeUp .55s .06s cubic-bezier(.22,1,.36,1) forwards !important;
}

#hero-copy-main h1 > span {
  opacity: 0;
  animation: exoHeroHeadlineIn .72s cubic-bezier(.22,1,.36,1) forwards;
}

#hero-copy-main h1 > span:not(.gold-gradient-text) {
  display: inline-block;
}

#hero-copy-main h1 > .gold-gradient-text {
  display: block;
}

#hero-copy-main h1 > span:nth-child(1) { animation-delay: .14s; }
#hero-copy-main h1 > span:nth-child(2) { animation-delay: .24s; }
#hero-copy-main h1 > span:nth-child(3) { animation-delay: .34s; }
#hero-copy-main h1 > span:nth-child(4) { animation-delay: .44s; }

#hero-copy-main > p[data-i18n="hero_desc"] {
  animation: exoHeroFadeUp .62s .42s cubic-bezier(.22,1,.36,1) forwards !important;
}

#hero-benefits > div:nth-child(1) { animation: exoHeroFadeUp .56s .52s cubic-bezier(.22,1,.36,1) forwards !important; }
#hero-benefits > div:nth-child(2) { animation: exoHeroFadeUp .56s .60s cubic-bezier(.22,1,.36,1) forwards !important; }
#hero-benefits > div:nth-child(3) { animation: exoHeroFadeUp .56s .68s cubic-bezier(.22,1,.36,1) forwards !important; }

#hero-actions > a:first-child { animation: exoHeroFadeUp .58s .76s cubic-bezier(.22,1,.36,1) forwards !important; }
#hero-actions > a:last-child { animation: exoHeroFadeUp .58s .84s cubic-bezier(.22,1,.36,1) forwards !important; }

@keyframes exoHeroHeadlineIn {
  from { opacity: 0; transform: translate3d(0, 18px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes exoHeroFadeUp {
  from { opacity: 0; transform: translate3d(0, 16px, 0) scale(.985); }
  to   { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@media (max-width: 1279px) and (min-width: 1024px) {
  #hero-legal-card-wrap {
    width: 368px !important;
    max-width: 368px !important;
  }

  #hero-legal-card {
    padding: 18px !important;
  }

  .hero-legal-address-row {
    grid-template-columns: 9px 88px minmax(0, 1fr) !important;
  }

  #hero-coverage {
    grid-template-columns: 90px minmax(0, 1fr) !important;
  }
}

@media (max-width: 1023px) {
  #hero-legal-card-wrap {
    width: 100% !important;
    max-width: 500px !important;
  }
}

@media (max-width: 640px) {
  #hero-legal-card {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  #hero-legal-head > div > span,
  #hero-legal-head h2,
  #hero-legal-head > span:last-child,
  #hero-legal-items > div:nth-child(1) > div:last-child > span,
  #hero-legal-items > div:nth-child(2) > div:last-child > span,
  #hero-legal-items > div:nth-child(1) > div:last-child > p,
  #hero-legal-items > div:nth-child(2) > div:last-child > p,
  .hero-legal-label,
  .hero-legal-value,
  #hero-coverage .hero-coverage-label,
  #hero-coverage .hero-coverage-value {
    font-size: inherit !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #hero-badge-row,
  #hero-copy-main h1 > span,
  #hero-copy-main > p[data-i18n="hero_desc"],
  #hero-benefits > div,
  #hero-actions > a {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}


/* =========================================================
   FOOTER V3 — premium corporate
   Keeps four-column structure, restores office locations,
   and uses icon-only social links in the copyright bar.
   ========================================================= */
#exo-footer {
  position: relative;
  overflow: hidden;
  padding: 58px 0 0;
  background:
    radial-gradient(circle at 80% -20%, rgba(22,59,112,.28), transparent 34%),
    linear-gradient(180deg, #07162f 0%, #06132b 100%);
  border-top: 1px solid rgba(255,255,255,.08);
}

.exo-footer-glow {
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(203,162,56,.72), transparent);
  opacity: .75;
}

.exo-footer-main-grid {
  display: grid;
  grid-template-columns: 1.18fr .85fr 1fr 1.05fr;
  gap: clamp(34px, 4vw, 62px);
  padding-bottom: 46px;
}

.exo-footer-brand,
.exo-footer-column { min-width: 0; }

.exo-footer-logo {
  display: inline-flex;
  align-items: center;
  margin-bottom: 18px;
}

.exo-footer-company {
  margin: 0 0 13px;
  color: #e6be4e;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.exo-footer-bio {
  max-width: 310px;
  margin: 0;
  color: #91a0b5;
  font-size: 12.5px;
  line-height: 1.75;
}

.exo-footer-heading {
  position: relative;
  margin: 5px 0 18px;
  padding-bottom: 12px;
  color: #d8ae3d;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.exo-footer-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #cba238, rgba(203,162,56,.1));
}

.exo-footer-pillar-list {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #9ba9bc;
  font-size: 12.5px;
}

.exo-footer-pillar-list li {
  display: flex;
  align-items: center;
  gap: 9px;
}

.exo-footer-pillar-list li > span {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #cba238;
  box-shadow: 0 0 0 4px rgba(203,162,56,.08);
  flex: 0 0 5px;
}

.exo-footer-link-list {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.exo-footer-nav-link {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 8px 0;
  color: #d8e0eb;
  transition: color .2s ease, transform .2s ease;
}

.exo-footer-nav-link:hover {
  color: #f0c95b;
  transform: translateX(3px);
}

.exo-footer-nav-icon,
.exo-footer-pin {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #e3bb4e;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.075);
  flex: 0 0 32px;
}

.exo-footer-nav-icon svg,
.exo-footer-pin svg {
  width: 16px;
  height: 16px;
}

.exo-footer-nav-link > span:last-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.exo-footer-nav-link strong {
  color: inherit;
  font-size: 12.5px;
  line-height: 1.3;
  font-weight: 700;
}

.exo-footer-nav-link small {
  color: #77879e;
  font-size: 10.5px;
  line-height: 1.3;
}

.exo-footer-office-list {
  display: grid;
  gap: 14px;
}

.exo-footer-office-item {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
}

.exo-footer-office-item strong {
  display: block;
  margin: 1px 0 4px;
  color: #f3f6fa;
  font-size: 12.5px;
  line-height: 1.35;
  font-weight: 750;
}

.exo-footer-office-item p {
  margin: 0;
  color: #8f9eb2;
  font-size: 11.5px;
  line-height: 1.55;
}

.exo-footer-bottom {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.exo-footer-bottom > p {
  margin: 0;
  color: #75859a;
  font-size: 11.5px;
  line-height: 1.5;
}

.exo-footer-socials {
  display: flex;
  align-items: center;
  gap: 9px;
}

.exo-footer-socials a {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  color: #aab6c7;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.075);
  transition: transform .2s ease, color .2s ease, border-color .2s ease, background .2s ease;
}

.exo-footer-socials a:hover {
  transform: translateY(-2px);
  color: #eac24f;
  border-color: rgba(203,162,56,.35);
  background: rgba(203,162,56,.08);
}

.exo-footer-socials svg {
  width: 17px;
  height: 17px;
}

@media (max-width: 1023px) {
  .exo-footer-main-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px 44px;
  }
}

@media (max-width: 640px) {
  #exo-footer { padding-top: 46px; }

  .exo-footer-main-grid {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-bottom: 38px;
  }

  .exo-footer-bio { max-width: 100%; }

  .exo-footer-bottom {
    min-height: 0;
    padding: 22px 0 26px;
    flex-direction: column;
    align-items: flex-start;
  }
}


/* =========================================================
   EXO FOOTER V4 — premium corporate navigation footer
   Inspired only by the information hierarchy of the reference;
   colors, brand, content, icons and visual language remain EXO.
   ========================================================= */
#exo-footer-v4 {
  position: relative;
  overflow: hidden;
  padding: 62px 0 24px;
  background:
    radial-gradient(circle at 10% 12%, rgba(203,162,56,.08), transparent 27%),
    radial-gradient(circle at 88% 15%, rgba(22,59,112,.28), transparent 32%),
    linear-gradient(145deg, #06132b 0%, #07172f 52%, #081a36 100%);
  border-top: 1px solid rgba(255,255,255,.08);
}

.exo-footer-v4-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(203,162,56,.03), transparent 34%, transparent 66%, rgba(203,162,56,.025));
}

.exo-footer-v4-main {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(230px, .85fr) minmax(210px, .75fr);
  gap: clamp(46px, 6vw, 92px);
  align-items: start;
  padding-bottom: 50px;
}

.exo-footer-v4-brand,
.exo-footer-v4-menu { min-width: 0; }

.exo-footer-v4-logo {
  display: inline-flex;
  align-items: center;
  margin-bottom: 18px;
}

.exo-footer-v4-logo img {
  height: 58px;
}

.exo-footer-v4-company {
  margin: 0 0 12px;
  color: #e4bf5c;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.exo-footer-v4-desc {
  max-width: 500px;
  margin: 0;
  color: #94a3b8;
  font-size: 13px;
  line-height: 1.78;
}

.exo-footer-v4-contact-list {
  display: grid;
  gap: 12px;
  margin-top: 24px;
  max-width: 520px;
}

.exo-footer-v4-contact {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  color: #cbd5e1;
  text-decoration: none;
}

.exo-footer-v4-contact-icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  color: #e4bf5c;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
}

.exo-footer-v4-contact-icon svg {
  width: 18px;
  height: 18px;
}

.exo-footer-v4-contact > span:last-child {
  display: grid;
  gap: 1px;
}

.exo-footer-v4-contact strong {
  color: #e8eef7;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
}

.exo-footer-v4-contact small {
  color: #7f8fa6;
  font-size: 11px;
  line-height: 1.45;
}

.exo-footer-v4-heading {
  margin: 2px 0 14px;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.01em;
}

.exo-footer-v4-rule {
  width: 100%;
  height: 1px;
  margin-bottom: 14px;
  background: linear-gradient(90deg, rgba(228,191,92,.72), rgba(255,255,255,.16));
}

.exo-footer-v4-menu ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.exo-footer-v4-menu li + li {
  border-top: 1px solid rgba(255,255,255,.055);
}

.exo-footer-v4-menu a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 0;
  color: #9aa9bd;
  font-size: 12px;
  line-height: 1.42;
  font-weight: 600;
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease;
}

.exo-footer-v4-menu a > span:last-child {
  color: #cba238;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity .2s ease, transform .2s ease;
}

.exo-footer-v4-menu a:hover {
  padding-left: 5px;
  color: #f3d16c;
}

.exo-footer-v4-menu a:hover > span:last-child {
  opacity: 1;
  transform: translateX(0);
}

.exo-footer-v4-bottom {
  min-height: 64px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.10);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.exo-footer-v4-bottom > p {
  margin: 0;
  color: #728299;
  font-size: 11px;
  line-height: 1.5;
}

.exo-footer-v4-socials {
  display: flex;
  align-items: center;
  gap: 9px;
}

.exo-footer-v4-socials a {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  color: #9baac0;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  transition: transform .2s ease, color .2s ease, border-color .2s ease, background .2s ease;
}

.exo-footer-v4-socials a:hover {
  transform: translateY(-2px);
  color: #f0c95c;
  border-color: rgba(203,162,56,.38);
  background: rgba(203,162,56,.08);
}

.exo-footer-v4-socials svg {
  width: 17px;
  height: 17px;
}

@media (max-width: 1023px) {
  .exo-footer-v4-main {
    grid-template-columns: 1.2fr 1fr;
    gap: 42px 48px;
  }
  .exo-footer-v4-brand {
    grid-column: 1 / -1;
  }
  .exo-footer-v4-desc,
  .exo-footer-v4-contact-list {
    max-width: 680px;
  }
}

@media (max-width: 640px) {
  #exo-footer-v4 {
    padding-top: 48px;
  }
  .exo-footer-v4-main {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-bottom: 36px;
  }
  .exo-footer-v4-brand {
    grid-column: auto;
  }
  .exo-footer-v4-logo img {
    height: 52px;
  }
  .exo-footer-v4-menu a {
    padding: 11px 0;
  }
  .exo-footer-v4-bottom {
    align-items: flex-start;
    flex-direction: column;
    padding-top: 18px;
  }
}


/* Footer reveal is isolated from the page-view reveal system so footer content never stays blank. */
.exo-footer-v4-animate {
  opacity: 1;
  transform: none;
}

html.exo-footer-motion-ready .exo-footer-v4-animate {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition:
    opacity .72s cubic-bezier(.22,1,.36,1),
    transform .72s cubic-bezier(.22,1,.36,1);
  transition-delay: var(--footer-delay, 0ms);
  will-change: opacity, transform;
}

html.exo-footer-motion-ready .exo-footer-v4-animate.exo-footer-v4-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
}

@media (prefers-reduced-motion: reduce) {
  html.exo-footer-motion-ready .exo-footer-v4-animate,
  html.exo-footer-motion-ready .exo-footer-v4-animate.exo-footer-v4-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* =========================================================
   EXO VIDEO EDUCATION — modern corporate local video library
   ========================================================= */
.exo-video-hero {
  padding: 82px 0 92px;
  background:
    radial-gradient(circle at 78% 22%, rgba(203,162,56,.17), transparent 24%),
    radial-gradient(circle at 60% 85%, rgba(22,59,112,.48), transparent 34%),
    linear-gradient(125deg, #06132b 0%, #0b2046 58%, #102e59 100%);
}

.exo-video-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image: radial-gradient(rgba(255,255,255,.35) .65px, transparent .65px);
  background-size: 26px 26px;
  mask-image: linear-gradient(to right, transparent, #000 35%, #000);
}

.exo-video-hero-glow {
  position: absolute;
  border-radius: 9999px;
  filter: blur(80px);
  pointer-events: none;
}
.exo-video-hero-glow-a { width: 290px; height: 290px; right: 7%; top: -80px; background: rgba(203,162,56,.12); }
.exo-video-hero-glow-b { width: 360px; height: 360px; right: 28%; bottom: -250px; background: rgba(35,83,147,.25); }

.exo-video-library { padding: 72px 0 86px; }

.exo-video-feature-grid {
  display: grid;
  grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
  gap: clamp(40px, 6vw, 84px);
  align-items: center;
}

.exo-player-shell {
  position: relative;
  max-width: 430px;
  padding: 14px;
  border-radius: 32px;
  background: linear-gradient(145deg, #06132b, #0b2046);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 30px 70px rgba(6,19,43,.22);
}

.exo-player-shell::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(145deg, rgba(228,191,92,.32), transparent 38%, rgba(255,255,255,.08));
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  padding: 1px;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.exo-player-topline {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 6px 10px;
}

.exo-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 9999px;
  background: #e4bf5c;
  box-shadow: 0 0 0 5px rgba(228,191,92,.10);
}

.exo-duration-badge,
.exo-video-card-duration {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
}
.exo-duration-badge { padding: 6px 9px; color: #e8edf5; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.08); }

.exo-player-frame {
  overflow: hidden;
  border-radius: 22px;
  aspect-ratio: 9 / 16;
  background: #020817;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.exo-player-video { width: 100%; height: 100%; object-fit: contain; background: #020817; display: block; }

.exo-video-feature-copy { max-width: 650px; }
.exo-content-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #9f781a;
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 900;
}
.exo-content-kicker::before { content: ""; width: 22px; height: 2px; border-radius: 99px; background: #cba238; }

.exo-player-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.exo-player-meta > div { padding: 16px 18px; }
.exo-player-meta > div + div { border-left: 1px solid #e2e8f0; }
.exo-player-meta strong { display: block; margin-top: 5px; color: #0b2046; font-size: 12px; }
.exo-meta-label { color: #94a3b8; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.exo-info-icon { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; color: #9f781a; background: #fff8e8; border: 1px solid #f5e6b9; }
.exo-info-icon svg { width: 19px; height: 19px; }

.exo-library-heading {
  margin-top: 78px;
  margin-bottom: 26px;
  padding-top: 30px;
  border-top: 1px solid #e2e8f0;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}

.exo-video-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}

.exo-video-item {
  appearance: none;
  border: 1px solid #e2e8f0;
  background: #fff;
  text-align: left;
  padding: 0;
  border-radius: 22px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(11,32,70,.055);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.exo-video-item:hover { transform: translateY(-5px); box-shadow: 0 22px 45px rgba(11,32,70,.12); border-color: rgba(203,162,56,.5); }
.exo-video-item.is-active { border-color: rgba(203,162,56,.8); box-shadow: 0 16px 38px rgba(11,32,70,.12), 0 0 0 2px rgba(203,162,56,.10); }

.exo-video-card-media { position: relative; overflow: hidden; aspect-ratio: 9 / 13; background: #06132b; }
.exo-video-card-media img, .exo-video-card-media .exo-video-thumb-video { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s cubic-bezier(.22,1,.36,1); }
.exo-video-card-media .exo-video-thumb-video { pointer-events: none; background: #06132b; }
.exo-video-item:hover .exo-video-card-media img, .exo-video-item:hover .exo-video-card-media .exo-video-thumb-video { transform: scale(1.035); }
.exo-video-card-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,19,43,.05), rgba(6,19,43,.06) 52%, rgba(6,19,43,.62)); pointer-events: none; }
.exo-video-card-number { position: absolute; left: 12px; top: 12px; z-index: 2; display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; color: #fff; background: rgba(6,19,43,.70); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(8px); font-size: 10px; font-weight: 900; }
.exo-video-card-duration { position: absolute; right: 11px; bottom: 11px; z-index: 2; padding: 5px 7px; color: #fff; background: rgba(6,19,43,.78); backdrop-filter: blur(8px); }
.exo-card-play { position: absolute; z-index: 2; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 48px; height: 48px; border-radius: 9999px; display: grid; place-items: center; color: #0b2046; background: rgba(255,255,255,.94); box-shadow: 0 12px 26px rgba(0,0,0,.22); transition: transform .28s ease, background .28s ease; }
.exo-card-play svg { width: 20px; height: 20px; margin-left: 2px; }
.exo-video-item:hover .exo-card-play { transform: translate(-50%,-50%) scale(1.08); background: #e4bf5c; }

.exo-video-card-body { padding: 16px 16px 17px; }
.exo-video-card-body > span { display: block; font-size: 9px; line-height: 1; text-transform: uppercase; letter-spacing: .14em; font-weight: 900; color: #9f781a; }
.exo-video-card-body h3 { margin-top: 7px; color: #0b2046; font-size: 13px; font-weight: 800; }
.exo-video-card-body p { margin-top: 5px; color: #94a3b8; font-size: 10px; }

/* Entrance animation only when this SPA view becomes active */
.exo-video-reveal { opacity: 0; transform: translateY(18px) scale(.988); }
#view-video-page.is-active .exo-video-reveal { animation: exoVideoReveal .72s cubic-bezier(.22,1,.36,1) forwards; }
.exo-video-delay-1 { animation-delay: .04s !important; }
.exo-video-delay-2 { animation-delay: .12s !important; }
.exo-video-delay-3 { animation-delay: .20s !important; }
.exo-video-delay-4 { animation-delay: .28s !important; }
.exo-video-delay-5 { animation-delay: .34s !important; }
.exo-video-delay-6 { animation-delay: .40s !important; }
.exo-video-delay-7 { animation-delay: .46s !important; }
.exo-video-delay-8 { animation-delay: .52s !important; }
.exo-video-delay-9 { animation-delay: .58s !important; }
@keyframes exoVideoReveal { to { opacity: 1; transform: none; } }

@media (max-width: 1100px) {
  .exo-video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .exo-video-hero { padding: 66px 0 74px; }
  .exo-video-library { padding: 54px 0 68px; }
  .exo-video-feature-grid { grid-template-columns: 1fr; gap: 36px; }
  .exo-player-shell { margin: 0 auto; }
  .exo-video-feature-copy { max-width: 720px; margin: 0 auto; }
}
@media (max-width: 700px) {
  .exo-library-heading { margin-top: 58px; align-items: start; flex-direction: column; gap: 12px; }
  .exo-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .exo-player-meta { grid-template-columns: 1fr; }
  .exo-player-meta > div + div { border-left: 0; border-top: 1px solid #e2e8f0; }
}
@media (max-width: 430px) {
  .exo-video-hero { padding: 54px 0 58px; }
  .exo-video-library { padding: 40px 0 56px; }
  .exo-video-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .exo-video-card-body { padding: 13px; }
  .exo-video-card-body h3 { font-size: 12px; }
  .exo-player-shell { padding: 10px; border-radius: 26px; }
  .exo-player-frame { border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .exo-video-reveal,
  #view-video-page.is-active .exo-video-reveal { opacity: 1 !important; transform: none !important; animation: none !important; }
  .exo-video-item, .exo-video-card-media img, .exo-video-card-media .exo-video-thumb-video, .exo-card-play { transition: none !important; }
}


/* Editorial polish for EXO Insights */
#view-video-page .exo-video-hero h1 { max-width: 920px; }
#view-video-page .exo-video-hero p { max-width: 760px; }
#view-video-page .exo-video-feature-copy > p { font-size: 15px; line-height: 1.8; color: #64748b; }
#view-video-page .exo-library-heading { align-items: end; gap: 28px; }
#view-video-page .exo-library-heading > p { max-width: 560px; line-height: 1.7; }
#view-video-page .exo-video-card-body { padding: 18px 17px 19px; }
#view-video-page .exo-video-card-body > span { color: #9f781a; letter-spacing: .11em; }
#view-video-page .exo-video-card-body h3 { font-size: 14px; line-height: 1.45; letter-spacing: -.01em; }
#view-video-page .exo-video-card-body p { font-size: 11px; line-height: 1.55; color: #64748b; }
@media (max-width: 640px) {
  #view-video-page .exo-video-hero h1 { font-size: clamp(35px, 10vw, 46px); }
  #view-video-page .exo-library-heading { align-items: start; gap: 12px; }
}


/* =========================================================
   VIDEO LIBRARY CARD FIX
   - card media dibuat lebih pendek & proporsional
   - frame thumbnail dibuat otomatis dari MP4 via canvas
   - tidak membutuhkan file JPG thumbnail
   ========================================================= */

#view-video-page .exo-video-grid {
  gap: 16px !important;
  align-items: stretch !important;
}

#view-video-page .exo-video-item {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background: #fff !important;
  line-height: normal !important;
}

#view-video-page .exo-video-card-media {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  background:
    radial-gradient(circle at 50% 35%, rgba(22,59,112,.28), transparent 38%),
    linear-gradient(145deg, #06132b, #0b2046) !important;
  background-size: cover !important;
  background-position: center !important;
  border-radius: 0 !important;
}

#view-video-page .exo-video-card-media .exo-video-thumb-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center 58% !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#view-video-page .exo-video-card-media::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(180deg, rgba(5,18,42,.02) 0%, rgba(5,18,42,.02) 58%, rgba(5,18,42,.50) 100%) !important;
  pointer-events: none !important;
}

#view-video-page .exo-video-card-media::after {
  display: none !important;
}

#view-video-page .exo-video-card-number,
#view-video-page .exo-video-card-duration,
#view-video-page .exo-card-play {
  z-index: 3 !important;
}

#view-video-page .exo-video-card-number {
  left: 11px !important;
  top: 11px !important;
}

#view-video-page .exo-video-card-duration {
  right: 10px !important;
  bottom: 10px !important;
}

#view-video-page .exo-card-play {
  width: 44px !important;
  height: 44px !important;
}

#view-video-page .exo-video-card-body {
  position: relative !important;
  z-index: 4 !important;
  padding: 16px 16px 17px !important;
  background: #fff !important;
}

#view-video-page .exo-video-card-body h3 {
  min-height: 2.9em !important;
}

#view-video-page .exo-video-card-body p {
  min-height: 3.1em !important;
}

#view-video-page .exo-video-item:hover .exo-video-card-media {
  background-size: 104% !important;
}

@media (max-width: 700px) {
  #view-video-page .exo-video-card-media {
    aspect-ratio: 4 / 5.15 !important;
  }
}

@media (max-width: 430px) {
  #view-video-page .exo-video-card-body h3,
  #view-video-page .exo-video-card-body p {
    min-height: auto !important;
  }
}


/* =========================================================
   FINAL VISUAL UPGRADE
   Video cards + Organization Structure + Tax Calculator
   ========================================================= */

/* ---------- VIDEO: eliminate white cap and refine cards ---------- */
#view-video-page .exo-video-item {
  background: #06132b !important; /* any exposed area stays navy, never white */
  border: 1px solid rgba(148,163,184,.28) !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 34px rgba(11,32,70,.08) !important;
}

#view-video-page .exo-video-item.is-active {
  border-color: rgba(203,162,56,.88) !important;
  box-shadow: 0 18px 44px rgba(11,32,70,.13), 0 0 0 1px rgba(203,162,56,.12) !important;
}

#view-video-page .exo-video-card-media {
  width: calc(100% + 2px) !important;
  margin: -1px -1px 0 !important;
  border-radius: 20px 20px 0 0 !important;
  background-color: #06132b !important;
}

#view-video-page .exo-video-card-body {
  width: 100% !important;
  background: #fff !important;
  border-top: 0 !important;
}

#view-video-page .exo-video-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 22px 46px rgba(11,32,70,.13) !important;
}

/* ---------- ORGANIZATION STRUCTURE: premium corporate ---------- */
#view-structure-page {
  background: #f6f8fb;
}

#view-structure-page > section:first-child {
  position: relative;
  overflow: hidden;
  padding-top: 82px !important;
  padding-bottom: 86px !important;
  background:
    radial-gradient(circle at 18% 15%, rgba(203,162,56,.18), transparent 24%),
    radial-gradient(circle at 82% 25%, rgba(56,105,173,.22), transparent 27%),
    linear-gradient(135deg, #06132b 0%, #0b2046 54%, #163b70 100%) !important;
}

#view-structure-page > section:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.12) .7px, transparent .7px);
  background-size: 22px 22px;
  opacity: .22;
  pointer-events: none;
}

#view-structure-page > section:first-child > div {
  position: relative;
  z-index: 2;
  max-width: 820px !important;
}

#view-structure-page > section:first-child h1 {
  margin-top: 16px !important;
  font-size: clamp(38px, 4vw, 58px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.045em !important;
}

#view-structure-page > section:first-child p {
  max-width: 650px;
  margin: 16px auto 0 !important;
  line-height: 1.75 !important;
  color: #cbd5e1 !important;
}

#view-structure-page > section:nth-of-type(2) {
  position: relative;
  padding-top: 72px !important;
  padding-bottom: 88px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(203,162,56,.07), transparent 25%),
    linear-gradient(180deg, #f8fafc 0%, #f2f5f9 100%) !important;
}

#view-structure-page > section:nth-of-type(2) .bg-white {
  border-color: rgba(203,213,225,.78) !important;
  box-shadow: 0 10px 30px rgba(15,23,42,.055) !important;
}

#view-structure-page > section:nth-of-type(2) .bg-white:hover {
  border-color: rgba(203,162,56,.42) !important;
  box-shadow: 0 18px 42px rgba(11,32,70,.10) !important;
}

#view-structure-page > section:nth-of-type(2) .rounded-3xl,
#view-structure-page > section:nth-of-type(2) .rounded-2xl {
  transition: transform .28s cubic-bezier(.22,1,.36,1),
              box-shadow .28s ease,
              border-color .28s ease;
}

#view-structure-page > section:nth-of-type(2) .group > .bg-gradient-to-br {
  border-width: 1px !important;
  border-color: rgba(228,191,92,.72) !important;
  box-shadow: 0 28px 70px rgba(6,19,43,.20) !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(228,191,92,.18), transparent 24%),
    linear-gradient(145deg, #06132b, #0b2046 58%, #163b70) !important;
}

#view-structure-page > section:nth-of-type(2) .bg-slate-300 {
  background: linear-gradient(90deg, rgba(203,162,56,.55), #cbd5e1) !important;
}

#view-structure-page > section:nth-of-type(2) .border-dashed {
  border-color: rgba(203,162,56,.65) !important;
}

#view-structure-page .md\:grid-cols-4 > div > .w-full.bg-white {
  position: relative;
  overflow: hidden;
  border-radius: 22px !important;
}

#view-structure-page .md\:grid-cols-4 > div > .w-full.bg-white::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(203,162,56,.78), transparent);
}

#view-structure-page.is-active > section:first-child > div,
#view-structure-page.is-active > section:nth-of-type(2) .group,
#view-structure-page.is-active .md\:grid-cols-4 > div {
  animation: exoPremiumRise .72s cubic-bezier(.22,1,.36,1) both;
}

#view-structure-page.is-active .md\:grid-cols-4 > div:nth-child(2) { animation-delay: .07s; }
#view-structure-page.is-active .md\:grid-cols-4 > div:nth-child(3) { animation-delay: .14s; }
#view-structure-page.is-active .md\:grid-cols-4 > div:nth-child(4) { animation-delay: .21s; }

/* ---------- CALCULATOR: premium financial-tool interface ---------- */
#view-calculator-page {
  background: #f5f7fa;
}

#view-calculator-page > section:first-child {
  position: relative;
  overflow: hidden;
  padding-top: 76px !important;
  padding-bottom: 80px !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(203,162,56,.18), transparent 25%),
    radial-gradient(circle at 80% 20%, rgba(60,109,176,.23), transparent 30%),
    linear-gradient(135deg, #06132b 0%, #0b2046 58%, #163b70 100%) !important;
}

#view-calculator-page > section:first-child::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 38px 38px;
  pointer-events: none;
}

#view-calculator-page > section:first-child > div {
  position: relative;
  z-index: 2;
  max-width: 820px !important;
}

#view-calculator-page > section:first-child h1 {
  margin-top: 14px !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.045em !important;
}

#view-calculator-page > section:first-child p {
  max-width: 720px;
  margin: 15px auto 0 !important;
  line-height: 1.75 !important;
  color: #cbd5e1 !important;
}

#view-calculator-page > section:nth-of-type(2) {
  padding-top: 48px !important;
  padding-bottom: 88px !important;
  background:
    radial-gradient(circle at 50% -10%, rgba(203,162,56,.075), transparent 30%),
    linear-gradient(180deg, #f8fafc, #f3f6fa) !important;
}

#view-calculator-page > section:nth-of-type(2) > div {
  max-width: 1120px !important;
}

#view-calculator-page > section:nth-of-type(2) > div > .flex.flex-wrap {
  padding: 6px !important;
  margin-bottom: 28px !important;
  border: 1px solid rgba(203,213,225,.78) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(14px);
  box-shadow: 0 14px 36px rgba(15,23,42,.07) !important;
}

#view-calculator-page > section:nth-of-type(2) > div > .flex.flex-wrap button {
  min-height: 44px;
  border-radius: 13px !important;
}

#view-calculator-page [id^="calc-panel-"] {
  border: 1px solid rgba(203,213,225,.72) !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 65px rgba(15,23,42,.085) !important;
  background: rgba(255,255,255,.97) !important;
}

#view-calculator-page [id^="calc-panel-"] > .grid {
  min-height: 580px;
}

#view-calculator-page [id^="calc-panel-"] > .grid > div {
  padding: 30px !important;
}

#view-calculator-page [id^="calc-panel-"] > .grid > div:last-child {
  background:
    radial-gradient(circle at 85% 10%, rgba(203,162,56,.08), transparent 25%),
    linear-gradient(180deg, #f8fafc 0%, #f3f6fa 100%) !important;
}

#view-calculator-page input[type="number"],
#view-calculator-page input[type="text"],
#view-calculator-page select {
  min-height: 44px !important;
  border-color: #d8e0ea !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.025);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

#view-calculator-page input:focus,
#view-calculator-page select:focus {
  border-color: rgba(203,162,56,.85) !important;
  box-shadow: 0 0 0 4px rgba(203,162,56,.12) !important;
  outline: none !important;
}

#view-calculator-page form label.flex {
  background: #fff !important;
  border-color: #dbe3ec !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

#view-calculator-page form label.flex:hover {
  transform: translateY(-1px);
  border-color: rgba(203,162,56,.58) !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.055);
}

#view-calculator-page [id^="res-"] {
  letter-spacing: -.01em;
}

#view-calculator-page .bg-brand-navy.text-white.border-2.border-brand-gold {
  border-width: 1px !important;
  border-color: rgba(228,191,92,.68) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 85% 15%, rgba(228,191,92,.14), transparent 28%),
    linear-gradient(135deg, #06132b, #0b2046) !important;
  box-shadow: 0 16px 34px rgba(6,19,43,.18) !important;
}

#view-calculator-page button[type="submit"] {
  min-height: 44px;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #0b2046, #163b70) !important;
  box-shadow: 0 10px 22px rgba(11,32,70,.15) !important;
}

#view-calculator-page button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(11,32,70,.20) !important;
}

#view-calculator-page.is-active > section:first-child > div,
#view-calculator-page.is-active > section:nth-of-type(2) > div > .flex.flex-wrap,
#view-calculator-page.is-active [id^="calc-panel-"]:not(.hidden) {
  animation: exoPremiumRise .72s cubic-bezier(.22,1,.36,1) both;
}

#view-calculator-page.is-active > section:nth-of-type(2) > div > .flex.flex-wrap {
  animation-delay: .08s;
}

#view-calculator-page.is-active [id^="calc-panel-"]:not(.hidden) {
  animation-delay: .16s;
}

@keyframes exoPremiumRise {
  from { opacity: 0; transform: translate3d(0, 20px, 0) scale(.99); }
  to   { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@media (max-width: 767px) {
  #view-structure-page > section:first-child,
  #view-calculator-page > section:first-child {
    padding-top: 58px !important;
    padding-bottom: 62px !important;
  }

  #view-calculator-page [id^="calc-panel-"] > .grid {
    min-height: auto;
  }

  #view-calculator-page [id^="calc-panel-"] > .grid > div {
    padding: 22px !important;
  }

  #view-calculator-page > section:nth-of-type(2) > div > .flex.flex-wrap {
    justify-content: stretch !important;
  }

  #view-calculator-page > section:nth-of-type(2) > div > .flex.flex-wrap button {
    flex: 1 1 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  #view-structure-page.is-active > section:first-child > div,
  #view-structure-page.is-active > section:nth-of-type(2) .group,
  #view-structure-page.is-active .md\:grid-cols-4 > div,
  #view-calculator-page.is-active > section:first-child > div,
  #view-calculator-page.is-active > section:nth-of-type(2) > div > .flex.flex-wrap,
  #view-calculator-page.is-active [id^="calc-panel-"]:not(.hidden) {
    animation: none !important;
  }
}


/* =========================================================
   MOBILE HERO LEGAL CARD — FINAL FIX
   Prevents overlapping text / clipped card content on phones.
   ========================================================= */
@media (max-width: 767px) {
  #hero-section {
    min-height: auto !important;
    height: auto !important;
    padding: 44px 0 52px !important;
    overflow: hidden !important;
  }

  #hero-shell {
    width: 100% !important;
    max-width: none !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  #hero-main-grid {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 30px !important;
    column-gap: 0 !important;
    transform: none !important;
  }

  #hero-copy-main,
  #hero-legal-card-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    justify-self: stretch !important;
  }

  #hero-legal-card-wrap {
    padding: 0 !important;
  }

  #hero-legal-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* Header stays visible and never collides with Verified badge. */
  #hero-legal-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px 12px !important;
    align-items: start !important;
    padding-bottom: 14px !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  #hero-legal-head > div {
    min-width: 0 !important;
  }

  #hero-legal-head > div > span {
    display: block !important;
    margin: 0 0 5px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    letter-spacing: .04em !important;
  }

  #hero-legal-head h2 {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  #hero-legal-head > span:last-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;
    align-self: start !important;
    padding: 7px 10px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* NIB/TAX cards: fixed icon + flexible text column. */
  #hero-legal-items {
    display: grid !important;
    gap: 10px !important;
    padding: 14px 0 12px !important;
  }

  #hero-legal-items > div:nth-child(1),
  #hero-legal-items > div:nth-child(2) {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 11px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
    border-radius: 15px !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  #hero-legal-items > div:nth-child(1) > div:first-child,
  #hero-legal-items > div:nth-child(2) > div:first-child {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 11px !important;
    font-size: 11px !important;
  }

  #hero-legal-items > div:nth-child(1) > div:last-child,
  #hero-legal-items > div:nth-child(2) > div:last-child {
    min-width: 0 !important;
    width: auto !important;
  }

  #hero-legal-items > div:nth-child(1) > div:last-child > span,
  #hero-legal-items > div:nth-child(2) > div:last-child > span {
    display: block !important;
    margin: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  #hero-legal-items > div:nth-child(1) > div:last-child > p,
  #hero-legal-items > div:nth-child(2) > div:last-child > p {
    margin: 4px 0 0 !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
  }

  /* Address section: each office becomes a clean two-line row. */
  #hero-legal-address {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-top: 14px !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .hero-legal-address-row {
    display: grid !important;
    grid-template-columns: 8px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 9px !important;
    row-gap: 2px !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: start !important;
  }

  .hero-legal-dot {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    margin-top: 5px !important;
  }

  .hero-legal-label {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
  }

  .hero-legal-value {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }

  /* Coverage stacks naturally instead of squeezing two columns. */
  #hero-coverage {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 5px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-top: 14px !important;
    margin-top: 12px !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  #hero-coverage .hero-coverage-label,
  #hero-coverage .hero-coverage-value {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }

  /* Avoid hidden content if a mobile browser skips delayed animations. */
  #hero-legal-card,
  #hero-legal-card * {
    box-sizing: border-box !important;
  }
}

@media (max-width: 390px) {
  #hero-shell {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  #hero-legal-card {
    padding: 16px !important;
  }

  #hero-legal-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  #hero-legal-items > div:nth-child(1),
  #hero-legal-items > div:nth-child(2) {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 11px !important;
  }

  #hero-legal-items > div:nth-child(1) > div:first-child,
  #hero-legal-items > div:nth-child(2) > div:first-child {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
  }
}


/* =========================================================
   V6 — Mobile benefits + premium packages + scroll reveal audit
   ========================================================= */

/* 1) HERO BENEFITS: all 3 cards must remain visible on mobile */
@media (max-width: 767px) {
  #hero-benefits {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  #hero-benefits > div {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 52px !important;
    padding: 9px 8px !important;
    gap: 7px !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    align-items: center !important;
  }

  #hero-benefits > div > div:first-child {
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    flex: 0 0 7px !important;
  }

  #hero-benefits > div > span {
    min-width: 0 !important;
    font-size: clamp(8.5px, 2.35vw, 10.5px) !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
}

@media (max-width: 390px) {
  #hero-benefits {
    gap: 5px !important;
  }

  #hero-benefits > div {
    min-height: 54px !important;
    padding: 8px 6px !important;
    gap: 5px !important;
  }

  #hero-benefits > div > span {
    font-size: 8.2px !important;
  }
}

/* 2) PACKAGES — premium corporate treatment, while retaining horizontal swipe on mobile */
#packages {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 8%, rgba(203,162,56,.10), transparent 26%),
    radial-gradient(circle at 88% 16%, rgba(22,59,112,.08), transparent 28%),
    linear-gradient(180deg, #f8fafc 0%, #f3f6fa 100%) !important;
}

#packages::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(11,32,70,.055) .7px, transparent .7px);
  background-size: 24px 24px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 55%);
}

#packages > .max-w-7xl {
  position: relative;
  z-index: 1;
}

#packages > .max-w-7xl > .text-center > .inline-flex:first-child {
  border: 1px solid rgba(203,162,56,.22) !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.045) !important;
  backdrop-filter: blur(12px);
}

#packages > .max-w-7xl > .text-center h2 {
  letter-spacing: -.035em !important;
}

#packages-billing-toggle {
  position: relative !important;
  overflow: visible !important;
  gap: 4px !important;
  padding: 6px !important;
  margin-top: 34px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(203,213,225,.82) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow:
    0 14px 34px rgba(15,23,42,.09),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  backdrop-filter: blur(16px);
}

#billing-monthly-btn,
#billing-annual-btn {
  position: relative !important;
  min-height: 46px !important;
  min-width: 118px !important;
  border-radius: 13px !important;
  justify-content: center !important;
  transition: background .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}

#billing-monthly-btn:hover,
#billing-annual-btn:hover {
  transform: translateY(-1px) !important;
}

#billing-annual-btn {
  overflow: visible !important;
}

#billing-annual-btn > span:first-child {
  position: relative;
  z-index: 2;
}

#billing-annual-btn .exo-annual-save-badge {
  position: absolute !important;
  right: 8px !important;
  top: -15px !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 22px !important;
  padding: 4px 8px !important;
  border: 2px solid #fff !important;
  border-radius: 9999px !important;
  white-space: nowrap !important;
  font-size: 9px !important;
  line-height: 1 !important;
  letter-spacing: .06em !important;
  color: #06132b !important;
  background: linear-gradient(135deg, #f5cb59, #e4b52d) !important;
  box-shadow: 0 7px 18px rgba(159,120,26,.24) !important;
  transform: translateZ(0) !important;
}

/* preserve the original mobile horizontal slider */
#packages-card-track {
  scroll-padding-inline: 16px !important;
  -webkit-overflow-scrolling: touch !important;
  align-items: stretch !important;
}

.exo-package-card {
  position: relative !important;
  isolation: isolate;
  border-radius: 26px !important;
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s cubic-bezier(.22,1,.36,1) !important;
}

.exo-package-card::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 22px;
  right: 22px;
  top: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(203,162,56,.85), transparent);
  pointer-events: none;
}

.exo-package-card > * {
  position: relative;
  z-index: 1;
}

#packages-card-track > .exo-package-card:nth-child(1),
#packages-card-track > .exo-package-card:nth-child(3) {
  background:
    radial-gradient(circle at 90% 4%, rgba(203,162,56,.08), transparent 24%),
    rgba(255,255,255,.97) !important;
  border: 1px solid rgba(203,213,225,.82) !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.07) !important;
}

#packages-card-track > .exo-package-card:nth-child(2) {
  background:
    radial-gradient(circle at 88% 5%, rgba(228,191,92,.18), transparent 25%),
    linear-gradient(155deg, #06132b, #0b2046 58%, #123365) !important;
  border: 1px solid rgba(228,191,92,.72) !important;
  box-shadow: 0 24px 58px rgba(6,19,43,.23) !important;
}

#packages-card-track > .exo-package-card:nth-child(4) {
  background:
    radial-gradient(circle at 90% 6%, rgba(203,162,56,.18), transparent 27%),
    linear-gradient(155deg, #fffdf8, #fbf5e7 60%, #f7ecd0) !important;
  border: 1px solid rgba(203,162,56,.48) !important;
  box-shadow: 0 16px 38px rgba(159,120,26,.10) !important;
}

.exo-package-card h3 {
  letter-spacing: -.025em !important;
}

.exo-package-card [id$="-price"] {
  letter-spacing: -.035em !important;
}

.exo-package-card a {
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
}

/* Featured package badge floats above the card without shifting the card itself. */
.exo-package-popular-badge {
  position: absolute !important;
  left: 50% !important;
  top: 0 !important;
  z-index: 6 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 7px 16px !important;
  border: 2px solid rgba(255,255,255,.88) !important;
  border-radius: 9999px !important;
  background: linear-gradient(135deg, #d8aa32, #efc857) !important;
  color: #06132b !important;
  box-shadow: 0 10px 26px rgba(6,19,43,.22) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
}

@media (min-width: 1280px) {
  #packages-card-track {
    grid-auto-rows: 1fr !important;
    align-items: stretch !important;
    padding-top: 28px !important;
  }

  #packages-card-track > .exo-package-card {
    height: 100% !important;
    align-self: stretch !important;
  }
}

@media (max-width: 1279px) {
  .exo-package-popular-badge {
    min-height: 30px !important;
    padding: 6px 14px !important;
    font-size: 9px !important;
  }
}

@media (hover:hover) and (min-width: 768px) {
  .exo-package-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 26px 58px rgba(15,23,42,.13) !important;
  }

  #packages-card-track > .exo-package-card:nth-child(2):hover {
    box-shadow: 0 32px 70px rgba(6,19,43,.28) !important;
  }
}

@media (max-width: 1279px) {
  /* IMPORTANT: do not convert the slider into a grid on mobile/tablet. */
  #packages-card-track {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory !important;
    gap: 16px !important;
    padding-top: 18px !important;
    padding-bottom: 24px !important;
  }

  #packages-card-track > .exo-package-card {
    flex: 0 0 auto !important;
    scroll-snap-align: center !important;
  }
}

@media (max-width: 640px) {
  #packages {
    padding-top: 64px !important;
    padding-bottom: 70px !important;
  }

  #packages-billing-toggle {
    width: min(100%, 292px) !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #billing-monthly-btn,
  #billing-annual-btn {
    min-width: 0 !important;
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #billing-annual-btn .exo-annual-save-badge {
    right: 5px !important;
    top: -14px !important;
    font-size: 8px !important;
    padding: 4px 7px !important;
  }

  #packages-card-track {
    margin-left: -16px !important;
    margin-right: -16px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    scroll-padding-inline: 16px !important;
  }

  #packages-card-track > .exo-package-card {
    width: min(84vw, 332px) !important;
    border-radius: 24px !important;
  }
}

/* 3) Additional scroll pop audit for content missed by older observers. */
html.exo-scroll-pop-v4-ready .exo-scroll-pop-v4 {
  opacity: 0;
  translate: 0 20px;
  filter: blur(2px);
  transition:
    opacity .68s cubic-bezier(.22,1,.36,1),
    translate .68s cubic-bezier(.22,1,.36,1),
    filter .68s cubic-bezier(.22,1,.36,1);
  transition-delay: var(--exo-scroll-delay, 0ms);
  will-change: opacity, translate, filter;
}

html.exo-scroll-pop-v4-ready .exo-scroll-pop-v4.exo-scroll-pop-v4-visible {
  opacity: 1;
  translate: 0 0;
  filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
  html.exo-scroll-pop-v4-ready .exo-scroll-pop-v4,
  html.exo-scroll-pop-v4-ready .exo-scroll-pop-v4.exo-scroll-pop-v4-visible {
    opacity: 1 !important;
    translate: 0 0 !important;
    filter: none !important;
    transition: none !important;
  }
}


/* =========================================================
   VIDEO EDUKASI — LIVE VIDEO THUMBNAIL + PREMIUM CARD FIX
   - tampilkan frame asli dari video, bukan blok biru fallback
   - rapikan proporsi card agar lebih modern/professional
   ========================================================= */

#view-video-page .exo-video-grid {
  gap: 18px !important;
  align-items: stretch !important;
}

#view-video-page .exo-video-item {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: #ffffff !important;
  border: 1px solid rgba(148,163,184,.30) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 36px rgba(11,32,70,.08) !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

#view-video-page .exo-video-item:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 22px 44px rgba(11,32,70,.13) !important;
  border-color: rgba(203,162,56,.52) !important;
}

#view-video-page .exo-video-item.is-active {
  border-color: rgba(203,162,56,.92) !important;
  box-shadow: 0 22px 48px rgba(11,32,70,.13), 0 0 0 1px rgba(203,162,56,.18) !important;
}

#view-video-page .exo-video-card-media {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 5.05 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 22px 22px 0 0 !important;
  background:
    radial-gradient(circle at 50% 35%, rgba(22,59,112,.26), transparent 38%),
    linear-gradient(145deg, #06132b, #0b2046) !important;
}

#view-video-page .exo-video-card-media .exo-video-thumb-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center 52% !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  background: #06132b !important;
  transform: scale(1.035) !important;
  transition: transform .45s cubic-bezier(.22,1,.36,1), opacity .22s ease !important;
}

#view-video-page .exo-video-item:hover .exo-video-card-media .exo-video-thumb-video {
  transform: scale(1.06) !important;
}

#view-video-page .exo-video-card-media::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(180deg, rgba(5,18,42,.02) 0%, rgba(5,18,42,.05) 58%, rgba(5,18,42,.54) 100%) !important;
  pointer-events: none !important;
}

#view-video-page .exo-video-card-media::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 26% !important;
  z-index: 1 !important;
  background: linear-gradient(180deg, rgba(6,19,43,0), rgba(6,19,43,.20) 45%, rgba(6,19,43,.62)) !important;
  pointer-events: none !important;
}

#view-video-page .exo-video-card-number,
#view-video-page .exo-video-card-duration,
#view-video-page .exo-card-play {
  z-index: 3 !important;
}

#view-video-page .exo-video-card-number {
  left: 12px !important;
  top: 12px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 11px !important;
  background: rgba(6,19,43,.72) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

#view-video-page .exo-video-card-duration {
  right: 12px !important;
  bottom: 12px !important;
  border-radius: 999px !important;
  padding: 5px 8px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  background: rgba(6,19,43,.82) !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.14) !important;
}

#view-video-page .exo-card-play {
  width: 48px !important;
  height: 48px !important;
  background: rgba(255,255,255,.95) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.20) !important;
}

#view-video-page .exo-card-play svg {
  width: 20px !important;
  height: 20px !important;
}

#view-video-page .exo-video-card-body {
  position: relative !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  padding: 16px 16px 18px !important;
  background: #ffffff !important;
}

#view-video-page .exo-video-card-body > span {
  display: block !important;
  margin: 0 0 8px !important;
  color: #9f781a !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: .14em !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#view-video-page .exo-video-card-body h3 {
  margin: 0 !important;
  color: #0b2046 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  min-height: 3.0em !important;
}

#view-video-page .exo-video-card-body p {
  margin: 8px 0 0 !important;
  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.62 !important;
  min-height: 3.3em !important;
}

#view-video-page .exo-video-item.thumb-loading .exo-video-thumb-video {
  opacity: .01 !important;
}

#view-video-page .exo-video-item.thumb-ready .exo-video-thumb-video {
  opacity: 1 !important;
}

@media (max-width: 900px) {
  #view-video-page .exo-video-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  #view-video-page .exo-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  #view-video-page .exo-video-card-media {
    aspect-ratio: 4 / 5.15 !important;
  }
}

@media (max-width: 430px) {
  #view-video-page .exo-video-card-body {
    padding: 14px 14px 16px !important;
  }
  #view-video-page .exo-video-card-body h3 {
    font-size: 12.5px !important;
    min-height: auto !important;
  }
  #view-video-page .exo-video-card-body p {
    min-height: auto !important;
    font-size: 10.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #view-video-page .exo-video-item,
  #view-video-page .exo-video-thumb-video,
  #view-video-page .exo-card-play {
    transition: none !important;
  }
}


#exo-ai{padding:90px 24px;background:radial-gradient(ellipse at 0 0,#163b70 0,transparent 60%),#07182f;color:#fff;scroll-margin-top:100px}
#exo-ai *{box-sizing:border-box}#exo-ai .ai-layout{max-width:1232px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
#exo-ai .ai-eyebrow{color:#e4bf5c;letter-spacing:2px;font-size:11px;font-weight:800;text-transform:uppercase}
#exo-ai h2{font-size:clamp(30px,3.5vw,46px);line-height:1.18;font-weight:800;letter-spacing:-1.5px;margin:22px 0}#exo-ai h2 span{color:#e4bf5c}
#exo-ai .ai-intro{font-size:15px;color:#bfcbdd;line-height:1.9}#exo-ai .ai-topics{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}#exo-ai .ai-topics span{border:1px solid #ffffff26;border-radius:100px;padding:8px 12px;font-size:11px;color:#d5dfed}
#exo-ai .ai-feature{display:flex;gap:15px;margin:22px 0;font-size:13px;line-height:1.7;color:#bbc9db}#exo-ai .ai-feature b{display:block;color:white;font-size:14px}#exo-ai .ai-feature i{font-style:normal;color:#e4bf5c;font-size:20px}
#exo-ai .ai-card{background:#fff;border:1px solid #ffffff35;border-radius:24px;overflow:hidden;box-shadow:0 25px 70px #0004;color:#0b2046;min-width:0}
#exo-ai .ai-header{display:flex;gap:12px;align-items:center;padding:20px 22px;border-bottom:1px solid #e7ebf1;background:#fafbfe}#exo-ai .ai-avatar{background:#0b2046;color:#e4bf5c;border:1px solid #cba23866;border-radius:13px;width:42px;height:42px;display:grid;place-items:center;font-size:20px;flex-shrink:0}#exo-ai .ai-header strong{font-size:14px;display:block}#exo-ai .ai-status{font-size:11px;color:#64748b;margin-top:4px}#exo-ai .ai-reset{margin-left:auto;background:white;border:1px solid #dce3ed;border-radius:8px;padding:7px 10px;font-size:11px;cursor:pointer}
#exo-ai .ai-log{height:320px;overflow:auto;padding:24px;overscroll-behavior:contain;background:linear-gradient(#fff,#f8fafc)}#exo-ai .ai-message{max-width:94%;margin-bottom:17px;font-size:13px;line-height:1.85;overflow-wrap:anywhere}#exo-ai .ai-message>small{font-size:10px;font-weight:800;letter-spacing:1px;display:block;color:#64748b;margin-bottom:5px}#exo-ai .ai-bubble{white-space:pre-wrap;background:#edf2f8;border:1px solid #e2e8f0;border-radius:3px 16px 16px;padding:14px 16px}#exo-ai .ai-message.user{margin-left:auto}#exo-ai .user .ai-bubble{background:#0b2046;border-color:#0b2046;color:white;border-radius:16px 3px 16px 16px}#exo-ai .ai-message a{color:#8a6611;text-decoration:underline}#exo-ai .ai-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px;font-size:11px}#exo-ai .ai-error{color:#92400e;background:#fff7e3;padding:12px;border-radius:10px;font-size:12px;line-height:1.7}
#exo-ai .ai-suggestions{display:flex;gap:7px;flex-wrap:wrap;padding:14px 22px 4px}#exo-ai .ai-suggestions button{background:#fff;border:1px solid #dce3ed;border-radius:8px;padding:8px 10px;font-size:11px;text-align:left;cursor:pointer}#exo-ai button:hover{filter:brightness(.95)}#exo-ai button:disabled{opacity:.5;cursor:wait}
#exo-ai .ai-form{padding:14px 22px 10px}#exo-ai .ai-input-wrap{display:flex;align-items:flex-end;gap:10px;border:1px solid #cdd7e4;padding:9px;border-radius:13px}#exo-ai textarea{width:100%;min-width:0;resize:vertical;min-height:45px;max-height:140px;font:inherit;font-size:13px;padding:9px;background:transparent;border:0;color:#0b2046}#exo-ai textarea:focus{outline:0}#exo-ai .ai-input-wrap:focus-within{outline:2px solid #cba238}#exo-ai .ai-send{background:#cba238;color:#07182f;border:0;border-radius:9px;padding:13px 16px;font-size:12px;font-weight:800;cursor:pointer}#exo-ai .ai-foot{padding:0 22px 18px;font-size:10px;color:#64748b;line-height:1.7}#exo-ai .ai-handoff{display:inline-flex;gap:10px;align-items:center;color:#e4bf5c;font-size:13px;font-weight:700;margin-top:14px}#exo-ai .ai-grounding-note{font-size:11px;color:#64748b;line-height:1.6;margin-top:10px}#exo-ai .ai-search-widget{width:100%;height:190px;border:0;display:block;margin-top:10px;background:white;border-radius:10px}#exo-ai :focus-visible{outline:2px solid #cba238;outline-offset:3px}
@media(max-width:850px){#exo-ai{padding:60px 18px}#exo-ai .ai-layout{grid-template-columns:1fr;gap:30px}#exo-ai .ai-log{height:330px;padding:17px}#exo-ai .ai-header{padding:16px}#exo-ai .ai-form{padding:12px 14px 10px}#exo-ai .ai-suggestions{padding-left:14px;padding-right:14px}#exo-ai .ai-foot{padding-left:14px;padding-right:14px}}


/* EXO AI — provider-neutral premium refinement */
#exo-ai{
  background:
    radial-gradient(circle at 8% 8%, rgba(22,59,112,.72), transparent 34%),
    radial-gradient(circle at 92% 18%, rgba(203,162,56,.09), transparent 28%),
    linear-gradient(145deg,#06132b 0%,#081a35 58%,#0b2046 100%) !important;
}
#exo-ai .ai-layout{align-items:center !important}
#exo-ai .ai-card{
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 30px 80px rgba(0,0,0,.30),0 0 0 1px rgba(203,162,56,.05) !important;
}
#exo-ai .ai-header{
  min-height:82px;
  padding:18px 20px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
}
#exo-ai .ai-avatar{
  width:46px !important;
  height:46px !important;
  border-radius:15px !important;
  background:
    radial-gradient(circle at 50% 35%,rgba(228,191,92,.16),transparent 42%),
    #0b2046 !important;
  box-shadow:0 8px 20px rgba(11,32,70,.18);
}
#exo-ai .ai-brand{min-width:0}
#exo-ai .ai-brand strong{
  font-size:15px !important;
  letter-spacing:-.015em;
  color:#0b2046;
}
#exo-ai .ai-status{
  display:flex;
  align-items:center;
  gap:6px;
  color:#64748b !important;
}
#exo-ai .ai-status::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.10);
}
#exo-ai .ai-reset{
  border-radius:10px !important;
  padding:8px 11px !important;
  color:#334155;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
#exo-ai .ai-reset:hover{
  transform:translateY(-1px);
  border-color:#cbd5e1;
  background:#f8fafc;
}
#exo-ai .ai-log{
  height:350px !important;
  padding:22px !important;
  background:
    radial-gradient(circle at 100% 0,rgba(203,162,56,.035),transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
}
#exo-ai .ai-message{max-width:92% !important}
#exo-ai .ai-bubble{
  border-radius:16px 16px 16px 5px !important;
  padding:13px 15px !important;
  box-shadow:0 5px 16px rgba(15,23,42,.035);
}
#exo-ai .user .ai-bubble{
  border-radius:16px 16px 5px 16px !important;
  background:linear-gradient(145deg,#0b2046,#102d5d) !important;
  box-shadow:0 8px 20px rgba(11,32,70,.14);
}
#exo-ai .ai-suggestions{
  padding-top:15px !important;
  gap:8px !important;
}
#exo-ai .ai-suggestions button{
  border-radius:999px !important;
  padding:8px 11px !important;
  color:#42526b;
  background:#fff;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
#exo-ai .ai-suggestions button:hover{
  transform:translateY(-1px);
  border-color:rgba(203,162,56,.65);
  box-shadow:0 6px 14px rgba(15,23,42,.05);
}
#exo-ai .ai-input-wrap{
  border-radius:18px !important;
  border-color:#d4dde9 !important;
  padding:8px !important;
  background:#fff;
  box-shadow:0 6px 18px rgba(15,23,42,.035);
  transition:border-color .2s ease,box-shadow .2s ease;
}
#exo-ai .ai-input-wrap:focus-within{
  outline:0 !important;
  border-color:#cba238 !important;
  box-shadow:0 0 0 3px rgba(203,162,56,.12),0 8px 20px rgba(15,23,42,.05);
}
#exo-ai .ai-send{
  min-height:46px;
  border-radius:13px !important;
  padding:12px 16px !important;
  background:linear-gradient(145deg,#ddb342,#cba238) !important;
  box-shadow:0 8px 16px rgba(203,162,56,.20);
  transition:transform .18s ease,filter .18s ease;
}
#exo-ai .ai-send:hover{transform:translateY(-1px);filter:brightness(1.03) !important}
#exo-ai .ai-foot{
  margin-top:2px;
  padding-top:3px !important;
  color:#718096 !important;
}
#exo-ai .ai-foot strong{color:#475569}
#exo-ai .ai-error{
  border:1px solid rgba(217,119,6,.14);
  background:#fff8e8 !important;
}
#exo-ai .ai-handoff{
  text-decoration:none;
  transition:gap .2s ease,color .2s ease;
}
#exo-ai .ai-handoff:hover{gap:14px;color:#f1d172}
@media(max-width:850px){
  #exo-ai .ai-card{border-radius:22px !important}
  #exo-ai .ai-header{min-height:74px;padding:14px !important}
  #exo-ai .ai-avatar{width:42px !important;height:42px !important}
  #exo-ai .ai-log{height:360px !important;padding:16px !important}
  #exo-ai .ai-message{max-width:96% !important}
  #exo-ai .ai-suggestions{padding-top:13px !important}
  #exo-ai .ai-suggestions button{font-size:10.5px !important}
  #exo-ai .ai-input-wrap{border-radius:16px !important}
}


#exo-ai .ai-form{
  padding-top:16px !important;
}
#exo-ai .ai-log{
  border-bottom:1px solid #eef2f7;
}
@media(max-width:850px){
  #exo-ai .ai-form{
    padding-top:14px !important;
  }
}


/* EXO AI composer — compact, premium, professional */
#exo-ai .ai-form{
  padding: 14px 22px 12px !important;
}
#exo-ai .ai-input-wrap{
  min-height: 56px !important;
  padding: 7px 7px 7px 14px !important;
  gap: 10px !important;
  align-items: center !important;
  border: 1px solid #d8e0ea !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg,#fff 0%,#fbfcfe 100%) !important;
  box-shadow: 0 6px 18px rgba(15,23,42,.035) !important;
}
#exo-ai .ai-input-wrap:focus-within{
  border-color: rgba(203,162,56,.92) !important;
  box-shadow: 0 0 0 3px rgba(203,162,56,.10), 0 8px 22px rgba(15,23,42,.05) !important;
}
#exo-ai textarea{
  min-height: 38px !important;
  height: 38px;
  max-height: 120px !important;
  resize: none !important;
  overflow-y: auto;
  padding: 9px 2px !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}
#exo-ai .ai-send{
  min-width: 78px !important;
  width: auto !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  border-radius: 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  flex: 0 0 auto !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  background: linear-gradient(135deg,#e0b640 0%,#c99a28 100%) !important;
  color: #07182f !important;
  box-shadow: 0 6px 14px rgba(203,162,56,.20) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
#exo-ai .ai-send:hover:not(:disabled){
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 18px rgba(203,162,56,.25) !important;
  filter: brightness(1.03) !important;
}
#exo-ai .ai-send:active:not(:disabled){
  transform: translateY(0) scale(.985) !important;
}
#exo-ai .ai-send:disabled{
  opacity: .65 !important;
  box-shadow: none !important;
}
#exo-ai .ai-feature b,
#exo-ai .ai-feature span{
  display:block;
}
@media(max-width:850px){
  #exo-ai .ai-form{
    padding: 12px 14px 10px !important;
  }
  #exo-ai .ai-input-wrap{
    min-height: 54px !important;
    padding: 6px 6px 6px 12px !important;
  }
  #exo-ai .ai-send{
    min-width: 72px !important;
    height: 39px !important;
    min-height: 39px !important;
    padding: 0 12px !important;
  }
}


/* Directorate cards with consistent executive headshots */
#view-structure-page .exo-director-card{
  min-height: 272px !important;
  padding: 18px 18px 16px !important;
  justify-content: flex-start !important;
}

#view-structure-page .exo-director-photo{
  width: 90px;
  height: 90px;
  margin: 4px auto 12px;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  display: grid;
  place-items: center;
  background:
    linear-gradient(145deg, rgba(203,162,56,.14), rgba(11,32,70,.06)),
    #f8fafc;
  border: 1px solid rgba(203,162,56,.34);
  box-shadow:
    0 8px 20px rgba(11,32,70,.10),
    inset 0 1px 0 rgba(255,255,255,.85);
}

#view-structure-page .exo-director-photo img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 15%;
  z-index: 2;
}

#view-structure-page .exo-director-photo span{
  position: relative;
  z-index: 1;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .03em;
  color: #0b2046;
}

#view-structure-page .exo-director-card .exo-director-role{
  margin-top: 1px;
}

#view-structure-page .exo-director-card .exo-director-name{
  margin-top: 5px !important;
  line-height: 1.35 !important;
}


#view-structure-page .exo-director-specialty{
  line-height: 1.4 !important;
  max-width: 230px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 640px){
  #view-structure-page .exo-director-card{
    min-height: 260px !important;
  }

  #view-structure-page .exo-director-photo{
    width: 82px;
    height: 82px;
    border-radius: 18px;
  }
}


    #annual-bonus-banner[hidden] { display: none !important; }
    .exo-claude-support { display: flex; align-items: center; gap: 14px; max-width: 650px; padding: 15px 18px; border: 1px solid #e9d8b1; border-radius: 18px; background: #fffaf0; }
    .exo-claude-support img { width: 40px; height: 40px; object-fit: contain; flex: none; }
    .exo-claude-support strong { display: block; color: #0b2046; font-size: 13px; }
    .exo-claude-support span { display: block; color: #64748b; font-size: 12px; line-height: 1.55; margin-top: 3px; }
    .exo-affiliation { position: relative; overflow: hidden; background: linear-gradient(125deg,#071329,#0b2046 58%,#101d2f); color: #fff; padding: 78px 0 84px; }
    .exo-affiliation::before { content: ""; position: absolute; width: 410px; height: 410px; border: 1px solid rgba(203,162,56,.08); border-radius: 50%; top: -260px; right: 12%; pointer-events: none; }
    .exo-affiliation-inner { max-width: 1280px; padding: 0 24px; margin: auto; position: relative; }
    .exo-affiliation-kicker { color: #e4bf5c; text-align: center; text-transform: uppercase; font-size: 11px; font-weight: 800; letter-spacing: .18em; }
    .exo-affiliation-title { margin: 17px auto 34px; text-align: center; font-size: clamp(29px,4vw,49px); font-weight: 800; letter-spacing: -.035em; line-height: 1.16; }
    .exo-affiliation-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border: 1px solid rgba(203,162,56,.18); border-radius: 22px; overflow: hidden; background: rgba(203,162,56,.18); box-shadow: 0 28px 65px rgba(0,0,0,.16); }
    .exo-affiliation-card { padding: 30px 26px 34px; min-height: 225px; background: #101d33; }
    .exo-affiliation-mark { width: 56px; height: 56px; border-radius: 16px; display: flex; justify-content: center; align-items: center; background: #fff; border: 1px solid rgba(228,191,92,.3); color: #087a44; font-size: 15px; font-weight: 900; letter-spacing: -.06em; overflow: hidden; }
    .exo-affiliation-mark img { width: 100%; height: 100%; padding: 6px; object-fit: contain; }
    .exo-affiliation-mark--ikpi img { width: 90%; height: 90%; padding: 2px; object-fit: contain; }
    .exo-affiliation-card h3 { margin: 18px 0 10px; font-size: 17px; font-weight: 800; color: #fff; }
    .exo-affiliation-card p { color: #c7d0dd; font-size: 13px; line-height: 1.7; }
    @media(max-width: 900px) { .exo-affiliation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
    @media(max-width: 560px) { .exo-affiliation { padding: 60px 0; } .exo-affiliation-inner { padding: 0 18px; } .exo-affiliation-grid { grid-template-columns: 1fr; } .exo-affiliation-card { min-height: 0; padding: 24px; } }
    #hero-copy-main h1 { font-size: 39px !important; line-height: 1.13 !important; letter-spacing: -.025em !important; }
    #hero-copy-main h1 > .exo-hero-line { display: block !important; white-space: nowrap; }
    #hero-copy-main h1 > .exo-hero-line + .exo-hero-line { margin-top: 3px !important; }
    @media(max-width: 1023px) { #hero-copy-main h1 { font-size: clamp(34px, 4.7vw, 39px) !important; } }
    @media(max-width: 640px) { #hero-copy-main h1 { font-size: clamp(19px, 5.9vw, 28px) !important; line-height: 1.18 !important; } }
    /* Floating saving badge, centered above the annual choice. */
    #packages-billing-toggle { align-items: stretch !important; margin-top: 42px !important; }
    #billing-monthly-btn { min-height: 48px !important; min-width: 138px !important; }
    #billing-annual-btn { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: center !important; min-width: 205px !important; min-height: 48px !important; padding: 9px 16px !important; }
    #billing-annual-btn .exo-annual-save-badge { position: absolute !important; top: -16px !important; left: 50% !important; right: auto !important; bottom: auto !important; transform: translateX(-50%) !important; max-width: none !important; margin: 0 !important; line-height: 1.1 !important; }
    @media (max-width: 640px) {
      #packages-billing-toggle { width: min(100%, 360px) !important; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important; }
      #billing-monthly-btn, #billing-annual-btn { min-width: 0 !important; }
      #billing-annual-btn .exo-annual-save-badge { left: calc(50% + 8px) !important; font-size: 8px !important; letter-spacing: 0 !important; padding: 4px 5px !important; }
    }
    #view-structure-page > section:first-child { padding-top: 76px !important; padding-bottom: 78px !important; }
    #view-structure-page > section:first-child > div { max-width: 800px !important; }
    #view-structure-page > section:first-child h1 { max-width: 800px !important; margin: 20px auto 0 !important; font-size: clamp(32px, 3.5vw, 46px) !important; line-height: 1.15 !important; letter-spacing: -.015em !important; word-spacing: normal !important; }
    #view-structure-page > section:first-child h1 .exo-structure-title-line { display: block; }
    #view-structure-page > section:first-child p { max-width: 620px !important; margin: 18px auto 0 !important; line-height: 1.65 !important; letter-spacing: normal !important; word-spacing: normal !important; }
  

@media (max-width:768px){
  .org-advisory-label,
  [class*="advisory"] {
    display:flex !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative !important;
    left:auto !important;
    margin: 0 auto 18px !important;
  }
}


.service-icon,
.layanan-icon,
[class*="service-icon"] {
  width:78px !important;
  height:78px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.service-icon svg,
.layanan-icon svg,
[class*="service-icon"] svg {
  width:42px !important;
  height:42px !important;
}
.service-number,
.layanan-number,
[class*="service-number"] {
  display:none !important;
}


/* Final visual refinement - service icons and organization cards */

.service-icon,
.layanan-icon,
[class*="service-icon"],
[class*="layanan-icon"] {
  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  border-radius: 24px !important;
  margin-bottom: 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.service-icon svg,
.layanan-icon svg,
[class*="service-icon"] svg,
[class*="layanan-icon"] svg {
  width: 52px !important;
  height: 52px !important;
}

.service-card,
.layanan-card {
  padding: 28px !important;
  gap: 18px !important;
}

.service-number,
.layanan-number,
[class*="service-number"],
[class*="layanan-number"] {
  display:none !important;
}

/* Organization mobile cleanup */
@media(max-width:768px){
  .org-container,
  .organization-container {
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .org-card,
  .organization-card {
    width:100% !important;
    margin-bottom:18px !important;
  }

  .org-advisory-label,
  [class*="advisory"] {
    display:flex !important;
    justify-content:center !important;
    position:relative !important;
    left:auto !important;
    margin:0 auto 20px !important;
  }

  .senior-partner-card {
    padding:22px !important;
  }
}

@media(max-width:480px){
  .service-icon,
  .layanan-icon,
  [class*="service-icon"],
  [class*="layanan-icon"] {
    width:82px !important;
    height:82px !important;
  }

  .service-icon svg,
  .layanan-icon svg,
  [class*="service-icon"] svg,
  [class*="layanan-icon"] svg {
    width:44px !important;
    height:44px !important;
  }
}


.senior-partner-card span[style*="cba238"]{
display:block!important;
visibility:visible!important;
opacity:1!important;
}


/* Senior Partner EX DJP formatting */
[data-i18n="struct_partner_1"]{
  font-size:10px !important;
  line-height:1.35 !important;
  letter-spacing:-0.01em !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}
@media (max-width:640px){
 [data-i18n="struct_partner_1"]{
   font-size:9.5px !important;
   letter-spacing:-0.015em !important;
 }
}


/* Struktur Organisasi Mobile Refinement */

@media (max-width: 768px){

  /* container structure */
  .org-card,
  .organization-card {
    width:100% !important;
  }

  /* force advisory connector visible on mobile */
  .hidden.md\\:flex.items-center.-mx-6,
  .hidden.md\\:flex.items-center {
    display:flex !important;
    width:100% !important;
    margin:18px 0 !important;
    justify-content:center !important;
    align-items:center !important;
  }

  .hidden.md\\:flex.items-center > div {
    flex:1 !important;
    max-width:70px !important;
  }

  .hidden.md\\:flex.items-center span {
    display:inline-flex !important;
    white-space:nowrap !important;
    font-size:11px !important;
    padding:5px 12px !important;
    z-index:5 !important;
  }

  /* advisory card */
  .relative.group.z-10.w-full.max-w-xs {
    max-width:100% !important;
  }

  .relative.group.z-10.w-full.max-w-xs > div {
    padding:18px !important;
    border-radius:24px !important;
  }

  /* header senior partner */
  .relative.group.z-10.w-full.max-w-xs .flex.items-center.gap-3.mb-2 {
    align-items:center !important;
  }

  .relative.group.z-10.w-full.max-w-xs h3 {
    font-size:15px !important;
  }

  /* description */
  .relative.group.z-10.w-full.max-w-xs > div > p {
    font-size:12px !important;
    line-height:1.55 !important;
  }

  /* partner boxes */
  .relative.group.z-10.w-full.max-w-xs .grid.grid-cols-2 {
    gap:10px !important;
    margin-top:14px !important;
  }

  .relative.group.z-10.w-full.max-w-xs .grid.grid-cols-2 > div {
    padding:12px 8px !important;
    min-height:170px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
  }

  .relative.group.z-10.w-full.max-w-xs .grid.grid-cols-2 > div > div:first-child {
    width:62px !important;
    height:62px !important;
  }

  .relative.group.z-10.w-full.max-w-xs [data-i18n="struct_partner_1"],
  .relative.group.z-10.w-full.max-w-xs [data-i18n="struct_partner_2"] {
    font-size:9.5px !important;
    line-height:1.35 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
}

/* small phones */
@media(max-width:390px){
  .relative.group.z-10.w-full.max-w-xs .grid.grid-cols-2 {
    grid-template-columns:1fr !important;
  }

  .relative.group.z-10.w-full.max-w-xs .grid.grid-cols-2 > div {
    min-height:auto !important;
  }
}


/* EXO header polish V2.1: compact, one-line desktop navigation. */
#exo-main-header-container {
  max-width: 1480px;
}
#exo-main-logo {
  min-width: 92px;
}
#exo-main-nav {
  flex: 1 1 auto;
  justify-content: center;
  gap: 18px;
  min-width: 0;
  margin: 0 22px;
}
#exo-main-nav > a,
#exo-main-nav > div > button {
  white-space: nowrap !important;
  line-height: 1.15 !important;
  font-size: 13px !important;
}
#exo-main-header-actions {
  gap: 10px;
  flex: 0 0 auto;
  white-space: nowrap;
}
#exo-main-header-actions > div {
  flex: 0 0 auto;
}
#exo-account-header-btn {
  min-height: 42px;
  padding-left: 14px !important;
  padding-right: 14px !important;
  white-space: nowrap;
}
#exo-main-header-actions > a {
  min-height: 42px;
  padding-left: 16px !important;
  padding-right: 16px !important;
  white-space: nowrap;
}
#menu-kelas-dropdown {
  width: 272px !important;
}
@media (min-width:1280px) {
  #exo-main-header-row {
    height: 76px !important;
    gap: 12px;
  }
  #exo-main-logo img {
    height: 50px !important;
  }
}
@media (min-width:1280px) and (max-width:1399px) {
  #exo-main-nav {
    gap: 13px;
    margin-left: 14px;
    margin-right: 14px;
  }
  #exo-main-nav > a,
  #exo-main-nav > div > button {
    font-size: 12px !important;
  }
  #exo-main-header-actions {
    gap: 7px;
  }
  #exo-main-header-actions .px-3 {
    padding-left: .6rem !important;
    padding-right: .6rem !important;
  }
  #exo-main-header-actions > a,
  #exo-account-header-btn {
    font-size: 12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* =========================================================
   HERO LEGAL CARD — SPACING TUNE (STAGED 2026-10-06)
   Tightens only internal spacing; no logic/routing changes.
   ========================================================= */
#hero-legal-card {
  padding: 18px !important;
}

#hero-legal-head {
  padding-bottom: 10px !important;
}

/* Neutralize Tailwind space-y residue so grid gap is the only spacing source. */
#hero-legal-items > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

#hero-legal-items {
  gap: 8px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

#hero-legal-items > div:nth-child(1),
#hero-legal-items > div:nth-child(2) {
  padding: 10px 12px !important;
}

#hero-legal-address {
  gap: 6px !important;
  padding-top: 10px !important;
}

#hero-coverage {
  padding-top: 10px !important;
  margin-top: 10px !important;
}

@media (max-width: 767px) {
  #hero-legal-card {
    padding: 16px !important;
  }

  #hero-legal-head {
    padding-bottom: 10px !important;
  }

  #hero-legal-items {
    gap: 8px !important;
    padding-top: 10px !important;
    padding-bottom: 9px !important;
  }

  #hero-legal-items > div:nth-child(1),
  #hero-legal-items > div:nth-child(2) {
    padding: 10px !important;
  }

  #hero-legal-address {
    gap: 9px !important;
    padding-top: 10px !important;
  }

  #hero-coverage {
    padding-top: 10px !important;
    margin-top: 10px !important;
  }
}


/* =========================================================
   EXO SUBPAGE HERO SYSTEM — STAGED 2026-10-06
   Two alternating visual directions based on the Academy refs:
   warm ivory/gold and deep navy. Home hero intentionally excluded.
   ========================================================= */
.exo-page-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid rgba(203,162,56,.18);
}

.exo-page-hero::before,
.exo-page-hero::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.exo-page-hero::before {
  inset: 0;
  opacity: .72;
  background-image: radial-gradient(currentColor .65px, transparent .65px);
  background-size: 26px 26px;
  -webkit-mask-image: linear-gradient(100deg, transparent 0%, rgba(0,0,0,.18) 42%, #000 100%);
  mask-image: linear-gradient(100deg, transparent 0%, rgba(0,0,0,.18) 42%, #000 100%);
}

.exo-page-hero::after {
  width: clamp(260px, 31vw, 520px);
  aspect-ratio: 1;
  right: -8%;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 999px;
  filter: blur(2px);
}

.exo-page-hero--light {
  color: #0b2046;
  background:
    radial-gradient(circle at 82% 18%, rgba(228,191,92,.34), transparent 27%),
    radial-gradient(circle at 72% 105%, rgba(203,162,56,.13), transparent 34%),
    linear-gradient(112deg, #f8f5ee 0%, #fffdf8 53%, #fff4c9 100%);
}
.exo-page-hero--light::before { color: rgba(159,120,26,.18); }
.exo-page-hero--light::after {
  background: radial-gradient(circle, rgba(203,162,56,.18) 0 33%, rgba(255,255,255,.18) 34% 49%, rgba(203,162,56,.08) 50% 60%, transparent 61%);
}

.exo-page-hero--dark {
  color: #fff;
  background:
    radial-gradient(circle at 79% 16%, rgba(203,162,56,.16), transparent 24%),
    radial-gradient(circle at 65% 105%, rgba(28,73,136,.54), transparent 38%),
    linear-gradient(126deg, #06132b 0%, #0b2046 56%, #123668 100%);
}
.exo-page-hero--dark::before { color: rgba(255,255,255,.19); }
.exo-page-hero--dark::after {
  background: radial-gradient(circle, rgba(228,191,92,.11) 0 31%, rgba(255,255,255,.06) 32% 48%, rgba(35,83,147,.22) 49% 60%, transparent 61%);
}

.exo-page-hero-shell {
  width: min(100%, 1280px);
  min-height: 390px;
  margin: 0 auto;
  padding: 68px 32px;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: clamp(42px, 7vw, 92px);
  align-items: center;
}

.exo-page-hero-copy {
  max-width: 790px;
  min-width: 0;
}
.exo-page-hero-copy h1 {
  margin: 18px 0 0;
  max-width: 820px;
  font-size: clamp(2.25rem, 4.4vw, 4rem);
  line-height: 1.035;
  letter-spacing: -.045em;
  font-weight: 900;
}
.exo-page-hero-copy p {
  margin: 18px 0 0;
  max-width: 720px;
  font-size: 15px;
  line-height: 1.8;
}
.exo-page-hero--light .exo-page-hero-copy p { color: #64748b !important; }
.exo-page-hero--dark .exo-page-hero-copy p { color: #cbd5e1 !important; }

.exo-page-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 6px 13px;
  border-radius: 999px;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.exo-page-hero--light .exo-page-hero-badge {
  color: #9f781a !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(203,162,56,.35) !important;
  box-shadow: 0 8px 24px rgba(11,32,70,.045);
}
.exo-page-hero--dark .exo-page-hero-badge {
  color: #e4bf5c !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(228,191,92,.28) !important;
}
.exo-page-hero-badge--verified b {
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 999px;
  background: rgba(16,185,129,.16);
  color: #6ee7b7;
  font-size: 10px;
}
.exo-page-hero-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #cba238;
  box-shadow: 0 0 0 5px rgba(203,162,56,.10);
}

.exo-page-hero-art {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  position: relative;
  z-index: 2;
}
.exo-page-hero-art-card {
  width: min(100%, 320px);
  aspect-ratio: 1.04 / 1;
  border-radius: 30px;
  padding: 26px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 30px 65px rgba(6,19,43,.18);
  transform: rotate(1.25deg);
}
.exo-page-hero--light .exo-page-hero-art-card {
  color: #fff;
  background:
    radial-gradient(circle at 112% -8%, rgba(228,191,92,.22) 0 18%, transparent 19%),
    linear-gradient(145deg, #0b2046, #102f5f 72%, #071a38);
  border: 1px solid rgba(11,32,70,.08);
}
.exo-page-hero--dark .exo-page-hero-art-card {
  color: #fff;
  background:
    radial-gradient(circle at 110% -15%, rgba(228,191,92,.18) 0 19%, transparent 20%),
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 30px 70px rgba(0,0,0,.22);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.exo-page-hero-art-card::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -70px;
  top: -70px;
  border-radius: 999px;
  border: 24px solid rgba(203,162,56,.17);
}
.exo-page-hero-art-brand {
  position: relative;
  z-index: 1;
  color: #e4bf5c;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .18em;
}
.exo-page-hero-art-icon {
  width: 104px;
  height: 104px;
  margin: auto 0 18px;
  display: grid;
  place-items: center;
  border-radius: 26px;
  color: #e4bf5c;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.09);
}
.exo-page-hero-art-icon svg { width: 64px; height: 64px; stroke: currentColor; stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
.exo-page-hero-art-lines {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.13);
}
.exo-page-hero-art-lines i {
  display: block;
  height: 5px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
}
.exo-page-hero-art-lines i:nth-child(1) { width: 78%; }
.exo-page-hero-art-lines i:nth-child(2) { width: 56%; }
.exo-page-hero-art-lines i:nth-child(3) { width: 36%; background: rgba(228,191,92,.55); }

/* Reference-style Academy heroes retain their purpose-built right hand visuals. */
.exo-page-hero--workshop {
  background:
    radial-gradient(circle at 79% 16%, rgba(203,162,56,.14), transparent 22%),
    radial-gradient(circle at 67% 110%, rgba(28,73,136,.56), transparent 37%),
    linear-gradient(126deg, #06132b 0%, #0b2046 55%, #123668 100%) !important;
}
.exo-page-hero--ebook {
  background:
    radial-gradient(circle at 85% 18%, rgba(228,191,92,.30), transparent 25%),
    linear-gradient(112deg, #f8f5ee 0%, #fffdf8 55%, #fff3c2 100%) !important;
}
.exo-page-hero--workshop > .max-w-7xl,
.exo-page-hero--ebook > .max-w-7xl {
  position: relative;
  z-index: 2;
}

/* Convert Video Education from another full-navy hero into the warm alternating variant. */
#view-video-page .exo-page-hero--video {
  padding: 0 !important;
  color: #0b2046 !important;
}
#view-video-page .exo-page-hero--video .exo-video-hero-glow-a {
  background: rgba(203,162,56,.16);
}
#view-video-page .exo-page-hero--video .exo-video-hero-glow-b {
  background: rgba(203,162,56,.10);
}
#view-video-page .exo-page-hero--video h1 { max-width: 820px; }
#view-video-page .exo-page-hero--video p[data-i18n="video_hero_desc"] { color: #64748b !important; }
#view-video-page .exo-page-hero--video .gold-gradient-text {
  background: linear-gradient(100deg, #9f781a, #cba238 58%, #8b6511);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Keep structure heading lines natural in the new left-aligned shell. */
.exo-page-hero--structure .exo-structure-title-line { display: block; }

@media (max-width: 1023px) {
  .exo-page-hero-shell {
    min-height: 350px;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 34px;
    padding: 58px 28px;
  }
  .exo-page-hero-art-card { width: 240px; border-radius: 26px; padding: 22px; }
  .exo-page-hero-art-icon { width: 86px; height: 86px; border-radius: 22px; }
  .exo-page-hero-art-icon svg { width: 52px; height: 52px; }
}

@media (max-width: 767px) {
  .exo-page-hero::after {
    width: 280px;
    right: -38%;
    top: 18%;
  }
  .exo-page-hero-shell {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 46px 20px 42px;
  }
  .exo-page-hero-copy h1 {
    margin-top: 14px;
    font-size: clamp(2rem, 10vw, 2.8rem);
    line-height: 1.04;
  }
  .exo-page-hero-copy p {
    margin-top: 14px;
    font-size: 13.5px;
    line-height: 1.72;
  }
  .exo-page-hero-badge {
    min-height: 28px;
    padding: 6px 11px;
    font-size: 9.5px;
    letter-spacing: .1em;
  }
  .exo-page-hero-art { justify-content: flex-start; }
  .exo-page-hero-art-card {
    width: min(100%, 280px);
    aspect-ratio: 16 / 8.7;
    border-radius: 22px;
    padding: 18px;
    transform: rotate(.4deg);
  }
  .exo-page-hero-art-card::before {
    width: 120px;
    height: 120px;
    right: -52px;
    top: -52px;
    border-width: 17px;
  }
  .exo-page-hero-art-icon {
    width: 64px;
    height: 64px;
    margin: auto 0 10px;
    border-radius: 17px;
  }
  .exo-page-hero-art-icon svg { width: 39px; height: 39px; }
  .exo-page-hero-art-lines { width: 58%; gap: 5px; padding-top: 10px; position: absolute; left: 98px; bottom: 20px; }
  .exo-page-hero-art-lines i { height: 4px; }

  .exo-page-hero--workshop > .max-w-7xl,
  .exo-page-hero--ebook > .max-w-7xl {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
    gap: 32px !important;
  }
  .exo-page-hero--workshop h1,
  .exo-page-hero--ebook h1 {
    font-size: clamp(2.1rem, 10.5vw, 3rem) !important;
    line-height: 1.04 !important;
  }
  .exo-page-hero--ebook .lg\:col-span-5 > div {
    width: 220px !important;
    border-radius: 24px !important;
  }
}

@media (max-width: 420px) {
  .exo-page-hero-shell { padding-left: 16px; padding-right: 16px; }
  .exo-page-hero-copy h1 { font-size: 2rem; }
  .exo-page-hero-art-card { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .exo-page-hero-art-card { transform: none !important; }
}

/* =========================================================
   SIMPLE PACKAGE PAYMENT — home package checkout modal
   Manual bank / QRIS payment with WhatsApp confirmation.
   ========================================================= */
body.exo-payment-open { overflow: hidden; }

.exo-payment-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 24px;
}
.exo-payment-modal.hidden { display: none !important; }
.exo-payment-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 13, 30, .72);
  backdrop-filter: blur(7px);
}
.exo-payment-dialog {
  position: relative;
  z-index: 1;
  width: min(980px, 100%);
  max-height: min(900px, calc(100vh - 48px));
  overflow: auto;
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(203,162,56,.28);
  box-shadow: 0 30px 90px rgba(6,19,43,.32);
}
.exo-payment-close {
  position: absolute;
  z-index: 3;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.exo-payment-head {
  padding: 28px 64px 26px 30px;
  background:
    radial-gradient(circle at 88% 15%, rgba(203,162,56,.19), transparent 28%),
    linear-gradient(135deg, #06132b 0%, #0b2046 62%, #102d5a 100%);
  color: #fff;
}
.exo-payment-kicker {
  display: inline-block;
  color: #e4bf5c;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}
.exo-payment-head h2 {
  margin: 7px 0 0;
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.12;
  font-weight: 900;
}
.exo-payment-head p {
  max-width: 720px;
  margin: 9px 0 0;
  color: #cbd5e1;
  font-size: 13px;
  line-height: 1.65;
}
.exo-payment-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
}
.exo-payment-layout.is-preinvoice { grid-template-columns: minmax(0, 1fr); }
.exo-payment-layout.is-preinvoice .exo-payment-left { max-width: 760px; width: 100%; margin: 0 auto; }
.exo-payment-left,
.exo-payment-right { padding: 28px 30px 30px; }
.exo-payment-right {
  background: #f8fafc;
  border-left: 1px solid #e2e8f0;
}
.exo-payment-right.hidden { display: none !important; }
.exo-payment-summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(180px,.8fr);
  gap: 18px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.exo-payment-summary > div { min-width: 0; }
.exo-payment-label {
  display: block;
  margin-bottom: 5px;
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.exo-payment-summary strong {
  display: block;
  color: #0b2046;
  font-size: 17px;
  line-height: 1.25;
}
.exo-payment-summary small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 11px;
}
.exo-payment-total-wrap { text-align: right; }
.exo-payment-total-wrap strong { color: #9f781a; font-size: 19px; }
.exo-payment-mini-btn {
  margin-top: 8px;
  padding: 6px 9px;
  border: 1px solid #dbe3ee;
  border-radius: 9px;
  background: #fff;
  color: #0b2046;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.exo-payment-mini-btn:hover { border-color: rgba(203,162,56,.65); background: #fffbeb; }
.exo-payment-reference {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 15px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
}
.exo-payment-reference span,
.exo-payment-reference small { display: block; color: #64748b; font-size: 10px; }
.exo-payment-reference strong {
  display: block;
  margin: 3px 0;
  color: #0b2046;
  font-size: 14px;
  letter-spacing: .06em;
}
.exo-payment-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 18px;
}
.exo-payment-form-grid label { display: block; }
.exo-payment-form-grid label > span {
  display: block;
  margin-bottom: 6px;
  color: #334155;
  font-size: 11px;
  font-weight: 800;
}
.exo-payment-form-grid em { color: #94a3b8; font-style: normal; font-weight: 600; }
.exo-payment-field-wide { grid-column: 1 / -1; }
.exo-payment-form-grid input {
  width: 100%;
  height: 44px;
  padding: 0 13px;
  border: 1px solid #dbe3ee;
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  font-size: 13px;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.exo-payment-form-grid input:focus {
  border-color: #cba238;
  box-shadow: 0 0 0 3px rgba(203,162,56,.13);
}
.exo-payment-form-grid input.exo-payment-field-error {
  border-color: #dc2626;
  box-shadow: 0 0 0 3px rgba(220,38,38,.08);
}
.exo-payment-status,
.exo-payment-unavailable {
  min-height: 124px;
  display: grid;
  align-content: center;
  padding: 18px;
  border-radius: 17px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #64748b;
  font-size: 12px;
  line-height: 1.65;
}
.exo-payment-unavailable.hidden,
.exo-payment-methods.hidden,
.exo-payment-method.hidden { display: none !important; }
.exo-payment-unavailable strong { color: #0b2046; font-size: 14px; }
.exo-payment-unavailable p { margin: 5px 0 12px; }
.exo-payment-unavailable a {
  display: inline-flex;
  justify-content: center;
  width: fit-content;
  padding: 9px 12px;
  border-radius: 10px;
  background: #0b2046;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}
.exo-payment-method {
  padding: 17px;
  border-radius: 17px;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.exo-payment-method + .exo-payment-method { margin-top: 12px; }
.exo-payment-method-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.exo-payment-method-title b { color: #9f781a; font-size: 11px; }
.exo-payment-bank-number {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}
.exo-payment-bank-number strong {
  color: #0b2046;
  font-size: 20px;
  letter-spacing: .035em;
  overflow-wrap: anywhere;
}
.exo-payment-method p { margin: 7px 0 0; color: #64748b; font-size: 11px; line-height: 1.55; }
.exo-payment-qr-wrap {
  display: grid;
  place-items: center;
  min-height: 190px;
  margin-top: 12px;
  padding: 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #edf2f7;
}
.exo-payment-qr-wrap img {
  display: block;
  width: min(230px, 100%);
  max-height: 230px;
  object-fit: contain;
}
.exo-payment-note {
  margin-top: 12px;
  padding: 13px 15px;
  border-radius: 14px;
  border: 1px solid #fde68a;
  background: #fffbeb;
}
.exo-payment-note b { display: block; color: #92400e; font-size: 11px; }
.exo-payment-note p { margin: 3px 0 0; color: #78350f; font-size: 10.5px; line-height: 1.55; }
.exo-payment-confirm-btn {
  width: 100%;
  margin-top: 14px;
  padding: 13px 16px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(100deg, #9f781a, #cba238 58%, #e4bf5c);
  color: #06132b;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 9px 22px rgba(203,162,56,.2);
}
.exo-payment-confirm-btn:hover { filter: brightness(1.04); transform: translateY(-1px); }
.exo-payment-disclaimer {
  margin: 9px 2px 0;
  color: #64748b;
  font-size: 9.5px;
  line-height: 1.55;
  text-align: center;
}

@media (max-width: 820px) {
  .exo-payment-modal { padding: 14px; align-items: end; }
  .exo-payment-dialog { max-height: calc(100vh - 14px); border-radius: 24px 24px 0 0; }
  .exo-payment-layout { grid-template-columns: 1fr; }
  .exo-payment-right { border-left: 0; border-top: 1px solid #e2e8f0; }
}

@media (max-width: 560px) {
  .exo-payment-modal { padding: 0; }
  .exo-payment-dialog { width: 100%; max-height: 100vh; border-radius: 20px 20px 0 0; }
  .exo-payment-head { padding: 24px 54px 21px 20px; }
  .exo-payment-head p { font-size: 11.5px; }
  .exo-payment-left,
  .exo-payment-right { padding: 20px; }
  .exo-payment-summary { grid-template-columns: 1fr; gap: 13px; }
  .exo-payment-total-wrap { text-align: left; }
  .exo-payment-form-grid { grid-template-columns: 1fr; }
  .exo-payment-field-wide { grid-column: auto; }
  .exo-payment-bank-number { align-items: flex-start; flex-direction: column; }
  .exo-payment-qr-wrap { min-height: 160px; }
  .exo-payment-qr-wrap img { width: min(210px, 100%); max-height: 210px; }
}

/* PAYMENT METHOD SELECTOR — explicit Bank / QRIS choice */
.exo-payment-choice-head {
  margin-bottom: 10px;
}
.exo-payment-choice-head > span {
  display: block;
  color: #0b2046;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .01em;
}
.exo-payment-choice-head > small {
  display: block;
  margin-top: 2px;
  color: #64748b;
  font-size: 10px;
  line-height: 1.45;
}
.exo-payment-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.exo-payment-choice {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #dbe3ee;
  border-radius: 15px;
  background: #fff;
  color: #0b2046;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.exo-payment-choice:hover {
  border-color: rgba(203,162,56,.62);
  background: #fffcf5;
  transform: translateY(-1px);
}
.exo-payment-choice.hidden { display: none !important; }
.exo-payment-choice.is-active {
  border-color: #cba238;
  background: linear-gradient(135deg, #fffdf6 0%, #fff8df 100%);
  box-shadow: 0 0 0 2px rgba(203,162,56,.12), 0 8px 20px rgba(11,32,70,.07);
}
.exo-payment-choice-icon {
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  border-radius: 11px;
  background: #eef2f7;
  color: #0b2046;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .04em;
  transition: background .18s ease, color .18s ease;
}
.exo-payment-choice.is-active .exo-payment-choice-icon {
  background: #0b2046;
  color: #e4bf5c;
}
.exo-payment-choice-copy { min-width: 0; }
.exo-payment-choice-copy strong,
.exo-payment-choice-copy small { display: block; }
.exo-payment-choice-copy strong {
  color: #0b2046;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.25;
}
.exo-payment-choice-copy small {
  margin-top: 2px;
  overflow: hidden;
  color: #64748b;
  font-size: 9px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exo-payment-choice-check {
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border: 1px solid #dbe3ee;
  border-radius: 999px;
  color: transparent;
  font-size: 11px;
  font-weight: 900;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.exo-payment-choice.is-active .exo-payment-choice-check {
  border-color: #cba238;
  background: #cba238;
  color: #06132b;
}
.exo-payment-method-prompt {
  display: grid;
  min-height: 88px;
  place-items: center;
  padding: 16px;
  border: 1px dashed #dbe3ee;
  border-radius: 15px;
  background: #f8fafc;
  color: #64748b;
  font-size: 10.5px;
  line-height: 1.55;
  text-align: center;
}
.exo-payment-method-prompt.hidden { display: none !important; }
.exo-payment-method-prompt.exo-payment-method-prompt-error {
  border-color: #fca5a5;
  background: #fff7f7;
  color: #b91c1c;
}
.exo-payment-confirm-btn:disabled {
  background: #e2e8f0;
  color: #94a3b8;
  cursor: not-allowed;
  box-shadow: none;
  filter: none;
  transform: none;
}
@media (max-width: 440px) {
  .exo-payment-choice { gap: 8px; padding: 10px; }
  .exo-payment-choice-icon { width: 34px; height: 34px; font-size: 8px; }
  .exo-payment-choice-copy strong { font-size: 10.5px; }
  .exo-payment-choice-copy small { font-size: 8.5px; }
  .exo-payment-choice-check { width: 17px; height: 17px; }
}

/* =========================================================
   HERO COMPATIBILITY HOTFIX — 2026-10-06
   Neutralize legacy structure/calculator hero rules that were
   overriding the new alternating subpage hero system.
   Home hero is intentionally untouched.
   ========================================================= */

/* ---------- STRUCTURE: true full-width navy hero + visible texture ---------- */
#view-structure-page > section.exo-page-hero--structure:first-child {
  padding: 0 !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 84% 20%, rgba(228,191,92,.13) 0 2%, transparent 22%),
    radial-gradient(circle at 72% 112%, rgba(39,91,164,.42), transparent 38%),
    linear-gradient(118deg, #06132b 0%, #0b2046 52%, #153f76 100%) !important;
  border-bottom: 1px solid rgba(203,162,56,.24) !important;
}

#view-structure-page > section.exo-page-hero--structure:first-child::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .58 !important;
  background-image:
    radial-gradient(rgba(255,255,255,.22) .75px, transparent .8px),
    linear-gradient(115deg, transparent 0 56%, rgba(255,255,255,.025) 56% 56.2%, transparent 56.2% 100%) !important;
  background-size: 25px 25px, 100% 100% !important;
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.18), #000 44%, #000 100%) !important;
  mask-image: linear-gradient(90deg, rgba(0,0,0,.18), #000 44%, #000 100%) !important;
}

#view-structure-page > section.exo-page-hero--structure:first-child::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  pointer-events: none !important;
  width: clamp(300px, 30vw, 520px) !important;
  aspect-ratio: 1 !important;
  right: -7% !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle,
      rgba(228,191,92,.10) 0 23%,
      rgba(255,255,255,.035) 24% 37%,
      rgba(62,117,190,.20) 38% 51%,
      rgba(255,255,255,.025) 52% 60%,
      transparent 61%) !important;
  filter: blur(.2px) !important;
}

#view-structure-page > section.exo-page-hero--structure:first-child > .exo-page-hero-shell {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  min-height: 390px !important;
  margin: 0 auto !important;
  padding: 68px 32px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr) !important;
  gap: clamp(44px, 7vw, 90px) !important;
  align-items: center !important;
  text-align: left !important;
}

#view-structure-page > section.exo-page-hero--structure:first-child .exo-page-hero-copy {
  max-width: 790px !important;
}

#view-structure-page > section.exo-page-hero--structure:first-child h1 {
  max-width: 790px !important;
  margin: 18px 0 0 !important;
  font-size: clamp(2.55rem, 3.5vw, 3.65rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
  text-align: left !important;
}

#view-structure-page > section.exo-page-hero--structure:first-child h1 .exo-structure-title-line {
  display: block !important;
}

@media (min-width: 1024px) {
  #view-structure-page > section.exo-page-hero--structure:first-child h1 .exo-structure-title-line:first-child {
    white-space: nowrap !important;
  }
}

#view-structure-page > section.exo-page-hero--structure:first-child p {
  max-width: 650px !important;
  margin: 18px 0 0 !important;
  color: #cbd5e1 !important;
  line-height: 1.75 !important;
  text-align: left !important;
}

/* ---------- CALCULATOR: restore alternating warm ivory/gold hero ---------- */
#view-calculator-page > section.exo-page-hero--calculator:first-child {
  padding: 0 !important;
  color: #0b2046 !important;
  background:
    radial-gradient(circle at 86% 18%, rgba(228,191,92,.38), transparent 26%),
    radial-gradient(circle at 69% 112%, rgba(203,162,56,.12), transparent 35%),
    linear-gradient(112deg, #f7f3ea 0%, #fffdf8 54%, #fff2bd 100%) !important;
  border-bottom: 1px solid rgba(203,162,56,.28) !important;
}

#view-calculator-page > section.exo-page-hero--calculator:first-child::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .44 !important;
  background-image: radial-gradient(rgba(159,120,26,.28) .7px, transparent .75px) !important;
  background-size: 26px 26px !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.20) 44%, #000 100%) !important;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.20) 44%, #000 100%) !important;
}

#view-calculator-page > section.exo-page-hero--calculator:first-child::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  pointer-events: none !important;
  width: clamp(280px, 30vw, 500px) !important;
  aspect-ratio: 1 !important;
  right: -8% !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle,
      rgba(203,162,56,.16) 0 27%,
      rgba(255,255,255,.26) 28% 42%,
      rgba(203,162,56,.08) 43% 55%,
      transparent 56%) !important;
}

#view-calculator-page > section.exo-page-hero--calculator:first-child > .exo-page-hero-shell {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  min-height: 390px !important;
  margin: 0 auto !important;
  padding: 68px 32px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr) !important;
  gap: clamp(42px, 7vw, 92px) !important;
  align-items: center !important;
  text-align: left !important;
}

#view-calculator-page > section.exo-page-hero--calculator:first-child .exo-page-hero-copy {
  max-width: 790px !important;
}

#view-calculator-page > section.exo-page-hero--calculator:first-child h1 {
  max-width: 790px !important;
  margin: 18px 0 0 !important;
  color: #0b2046 !important;
  font-size: clamp(2.45rem, 4vw, 3.8rem) !important;
  line-height: 1.035 !important;
  letter-spacing: -.045em !important;
  text-align: left !important;

  white-space: pre-line;
}

#view-calculator-page > section.exo-page-hero--calculator:first-child p {
  max-width: 720px !important;
  margin: 18px 0 0 !important;
  color: #64748b !important;
  line-height: 1.8 !important;
  text-align: left !important;
}

/* Keep the two repaired heroes aligned with the global mobile hero rhythm. */
@media (max-width: 1023px) {
  #view-structure-page > section.exo-page-hero--structure:first-child > .exo-page-hero-shell,
  #view-calculator-page > section.exo-page-hero--calculator:first-child > .exo-page-hero-shell {
    min-height: 350px !important;
    grid-template-columns: minmax(0, 1fr) 240px !important;
    gap: 34px !important;
    padding: 58px 28px !important;
  }

  #view-structure-page > section.exo-page-hero--structure:first-child h1 {
    font-size: clamp(2.2rem, 4.8vw, 3.05rem) !important;
  }
}

@media (max-width: 767px) {
  #view-structure-page > section.exo-page-hero--structure:first-child::after,
  #view-calculator-page > section.exo-page-hero--calculator:first-child::after {
    width: 280px !important;
    right: -40% !important;
    top: 25% !important;
  }

  #view-structure-page > section.exo-page-hero--structure:first-child > .exo-page-hero-shell,
  #view-calculator-page > section.exo-page-hero--calculator:first-child > .exo-page-hero-shell {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 46px 20px 42px !important;
  }

  #view-structure-page > section.exo-page-hero--structure:first-child h1,
  #view-calculator-page > section.exo-page-hero--calculator:first-child h1 {
    margin-top: 14px !important;
    font-size: clamp(2rem, 9.6vw, 2.65rem) !important;
    line-height: 1.045 !important;
  }

  #view-structure-page > section.exo-page-hero--structure:first-child p,
  #view-calculator-page > section.exo-page-hero--calculator:first-child p {
    margin-top: 14px !important;
    font-size: 13.5px !important;
    line-height: 1.7 !important;
  }
}

@media (max-width: 420px) {
  #view-structure-page > section.exo-page-hero--structure:first-child > .exo-page-hero-shell,
  #view-calculator-page > section.exo-page-hero--calculator:first-child > .exo-page-hero-shell {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #view-structure-page > section.exo-page-hero--structure:first-child h1,
  #view-calculator-page > section.exo-page-hero--calculator:first-child h1 {
    font-size: 2rem !important;
  }
}

/* =========================================================
   PAYMENT & BILLING V4 — invoice-first checkout + multi-bank
   ========================================================= */
.exo-payment-step-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
}
.exo-payment-step-label > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #0b2046;
  color: #e4bf5c;
  font-size: 11px;
  font-weight: 900;
  flex: 0 0 auto;
}
.exo-payment-step-label b,
.exo-payment-step-label small { display: block; }
.exo-payment-step-label b { color: #0b2046; font-size: 12px; }
.exo-payment-step-label small { margin-top: 1px; color: #64748b; font-size: 10px; }
.exo-payment-step-label-method { margin: 0 0 12px; }
.exo-payment-create-invoice-btn {
  width: 100%;
  margin-top: 16px;
  padding: 13px 16px;
  border: 0;
  border-radius: 13px;
  background: #0b2046;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 9px 22px rgba(11,32,70,.14);
  transition: transform .18s ease, background .18s ease, opacity .18s ease;
}
.exo-payment-create-invoice-btn:hover { background: #163b70; transform: translateY(-1px); }
.exo-payment-create-invoice-btn:disabled { opacity: .65; cursor: wait; transform: none; }
.exo-payment-create-note { margin: 8px 3px 0; color: #94a3b8; font-size: 9.5px; line-height: 1.5; text-align: center; }
.exo-payment-before-invoice {
  min-height: 230px;
  padding: 26px 22px;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  border: 1px dashed #cbd5e1;
  border-radius: 20px;
  background: linear-gradient(145deg,#fff,#f8fafc);
}
.exo-payment-before-invoice.hidden { display: none !important; }
.exo-payment-before-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: #0b2046;
  color: #e4bf5c;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  box-shadow: 0 12px 28px rgba(11,32,70,.14);
}
.exo-payment-before-invoice strong { margin-top: 13px; color: #0b2046; font-size: 14px; }
.exo-payment-before-invoice p { max-width: 340px; margin: 6px 0 0; color: #64748b; font-size: 10.5px; line-height: 1.6; }

.exo-payment-readiness {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  margin: 10px 3px 0; color: #64748b; font-size: 10px; font-weight: 700; line-height: 1.45; text-align: center;
}
.exo-payment-readiness-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #cba238; box-shadow: 0 0 0 4px rgba(203,162,56,.10); }
.exo-payment-readiness.is-ready { color: #047857; }
.exo-payment-readiness.is-ready .exo-payment-readiness-dot { background: #10b981; box-shadow: 0 0 0 4px rgba(16,185,129,.10); }
.exo-payment-readiness.is-error { color: #b91c1c; }
.exo-payment-readiness.is-error .exo-payment-readiness-dot { background: #ef4444; box-shadow: 0 0 0 4px rgba(239,68,68,.10); }
.exo-payment-invoice-brand { display:flex; align-items:center; gap:11px; min-width:0; }
.exo-payment-invoice-logo { width:64px; height:auto; object-fit:contain; flex:0 0 auto; }
.exo-payment-invoice-brand > div { min-width:0; }
.exo-payment-invoice-card { position: relative; overflow: hidden; }
.exo-payment-invoice-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:linear-gradient(180deg,#cba238,#0b2046); }
.exo-payment-invoice-card {
  margin-bottom: 16px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(203,162,56,.45);
  background: linear-gradient(145deg,#fffdf7 0%,#fff 60%,#f8fafc 100%);
  box-shadow: 0 12px 28px rgba(11,32,70,.07);
}
.exo-payment-invoice-card.hidden { display: none !important; }
.exo-payment-invoice-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 13px;
  border-bottom: 1px solid #edf2f7;
}
.exo-payment-invoice-top span:first-child { display: block; color: #9f781a; font-size: 9px; font-weight: 950; letter-spacing: .12em; }
.exo-payment-invoice-top strong { display: block; margin-top: 3px; color: #0b2046; font-size: 14px; letter-spacing: .035em; overflow-wrap: anywhere; }
.exo-payment-invoice-status {
  flex: 0 0 auto;
  padding: 5px 8px;
  border: 1px solid #fde68a;
  border-radius: 999px;
  background: #fffbeb;
  color: #a16207 !important;
  font-size: 8.5px !important;
  letter-spacing: .05em !important;
}
.exo-payment-invoice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
  margin-top: 13px;
}
.exo-payment-invoice-grid > div { min-width: 0; }
.exo-payment-invoice-grid > div.wide { grid-column: 1 / -1; padding-top: 10px; border-top: 1px solid #edf2f7; }
.exo-payment-invoice-grid span { display: block; color: #94a3b8; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.exo-payment-invoice-grid b { display: block; margin-top: 3px; color: #334155; font-size: 10.5px; line-height: 1.45; overflow-wrap: anywhere; }
.exo-payment-invoice-grid strong { display: block; margin-top: 3px; color: #9f781a; font-size: 20px; }
.exo-payment-invoice-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.exo-payment-invoice-actions button {
  padding: 7px 10px;
  border: 1px solid #dbe3ee;
  border-radius: 9px;
  background: #fff;
  color: #0b2046;
  font-size: 9.5px;
  font-weight: 850;
  cursor: pointer;
}
.exo-payment-invoice-actions button:hover { border-color: rgba(203,162,56,.65); background: #fffbeb; }
.exo-payment-bank-options { display: grid; gap: 8px; margin-top: 11px; }
.exo-payment-bank-option {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 10px;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid #dbe3ee;
  border-radius: 13px;
  background: #fff;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.exo-payment-bank-option:hover { border-color: rgba(203,162,56,.6); background: #fffcf5; }
.exo-payment-bank-option.is-active { border-color: #cba238; background: #fff9e8; box-shadow: 0 0 0 2px rgba(203,162,56,.1); }
.exo-payment-bank-option strong { color: #0b2046; font-size: 11px; }
.exo-payment-bank-option span { color: #334155; font-size: 12px; font-weight: 850; }
.exo-payment-bank-option small { grid-column: 1; color: #64748b; font-size: 9.5px; }
.exo-payment-bank-option i {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  border: 1px solid #dbe3ee;
  color: transparent;
  font-style: normal;
  font-size: 10px;
  font-weight: 900;
}
.exo-payment-bank-option.is-active i { border-color: #cba238; background: #cba238; color: #06132b; }
.exo-payment-bank-detail {
  margin-top: 11px;
  padding-top: 12px;
  border-top: 1px solid #edf2f7;
}
.exo-payment-bank-detail.hidden { display: none !important; }
.exo-payment-method.exo-payment-method-error { border-color: #dc2626; box-shadow: 0 0 0 3px rgba(220,38,38,.08); }
.exo-payment-confirm-btn:disabled { opacity: .55; cursor: not-allowed; transform: none; filter: grayscale(.12); }
.exo-payment-form-grid input:disabled { background: #f8fafc; color: #64748b; cursor: not-allowed; }

@media (max-width: 560px) {
  .exo-payment-invoice-grid { grid-template-columns: 1fr; }
  .exo-payment-invoice-grid > div.wide { grid-column: auto; }
  .exo-payment-invoice-top { align-items: center; }
}


/* =========================================================
   EXO UPDATE TICKER + TAX RATE DATA (2026-10-08)
   ========================================================= */
.exo-update-bar {
  position: relative;
  z-index: 38;
  background: linear-gradient(90deg, #fffdf8 0%, #f8f6ef 52%, #fffdf8 100%);
  border-top: 1px solid rgba(203,162,56,.16);
  border-bottom: 1px solid rgba(11,32,70,.12);
  color: #0b2046;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.exo-update-shell {
  max-width: 1280px;
  margin: 0 auto;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
}
.exo-update-brand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.exo-update-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border-radius: 999px;
  background: #0b2046;
  color: #f2d678;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .13em;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(11,32,70,.10);
}
.exo-update-descriptor {
  color: #52627a;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  white-space: nowrap;
}
.exo-update-pulse {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #e4bf5c;
  box-shadow: 0 0 0 3px rgba(228,191,92,.16);
}
.exo-update-divider {
  width: 1px;
  height: 18px;
  flex: 0 0 auto;
  background: rgba(11,32,70,.12);
}
.exo-update-viewport {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 20px, #000 calc(100% - 20px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 20px, #000 calc(100% - 20px), transparent 100%);
}
.exo-update-track {
  width: max-content;
  will-change: transform;
  display: flex;
  align-items: center;
  gap: 22px;
  white-space: nowrap;
  color: #26364d;
  font-size: 10px;
  line-height: 40px;
}
.exo-update-track.is-ready {
  animation-name: exo-update-marquee;
  animation-duration: var(--exo-ticker-duration, 160s);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
/* Deliberately no click/focus/hover resume logic: one CSS animation only. */
.exo-update-cycle { display: inline-flex; align-items: center; gap: 22px; padding-right: 22px; }
.exo-update-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #26364d;
  text-decoration: none;
  transition: color .18s ease, opacity .18s ease;
}
.exo-update-item:hover { color: #9f781a; }
.exo-update-source {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 7px;
  border: 1px solid rgba(203,162,56,.25);
  border-radius: 999px;
  background: rgba(203,162,56,.08);
  color: #856315;
  font-weight: 900;
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.exo-update-headline { font-weight: 650; }
.exo-update-arrow { color: #9f781a; font-size: 10px; font-weight: 900; }
.exo-update-sep {
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: rgba(11,32,70,.18);
  flex: 0 0 auto;
}
.exo-update-placeholder { color: #64748b; font-weight: 600; }
.exo-update-kurs-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #0b2046;
  background: #fff;
  border: 1px solid rgba(203,162,56,.38);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
  padding: 7px 10px;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}
.exo-update-kurs-link:hover { background: #fff8df; border-color: rgba(203,162,56,.7); color: #856315; }
@keyframes exo-update-marquee {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(var(--exo-ticker-shift, -50%),0,0); }
}

/* EXO Insight constant-speed engine — V20
   Duration is calculated from the actual repeat width, so live headline
   length can change without changing perceived scrolling speed. */
.exo-update-viewport {
  contain: layout paint;
}
.exo-update-track {
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}
.exo-update-track:not(.is-ready) {
  animation: none !important;
}

.exo-page-hero--kurs {
  background:
    radial-gradient(circle at 83% 20%, rgba(43,89,158,.34), transparent 26%),
    linear-gradient(115deg, #06132b 0%, #0b2046 52%, #173f78 100%) !important;
}
.exo-page-hero--kurs::before { opacity: .35; }
.exo-kurs-hero-card { min-height: 300px; display: flex; flex-direction: column; justify-content: flex-end; }
.exo-kurs-hero-code {
  margin-top: auto;
  color: #e4bf5c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}
.exo-kurs-hero-value {
  margin-top: 6px;
  color: #fff;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 900;
  letter-spacing: -.04em;
}
.exo-kurs-hero-period { margin-top: 6px; color: #b8c7dd; font-size: 10px; font-weight: 600; line-height: 1.45; }
.kurs-highlight-card {
  min-width: 0;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
  padding: 15px 16px;
  box-shadow: 0 10px 28px rgba(15,23,42,.04);
}
.kurs-highlight-card > span { display: block; color: #9f781a; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.kurs-highlight-card > strong { display: block; margin-top: 5px; color: #0b2046; font-size: 17px; line-height: 1.15; font-weight: 900; letter-spacing: -.025em; }
.kurs-highlight-card > small { display: block; margin-top: 5px; color: #94a3b8; font-size: 9px; font-weight: 600; }
.kurs-highlight-card.is-empty { opacity: .55; }
#kurs-convert-currency option { color: #0b2046; background: #fff; }

@media (max-width: 767px) {
  .exo-update-shell { min-height: 36px; gap: 8px; padding: 0 10px; }
  .exo-update-brand { gap: 6px; }
  .exo-update-badge { font-size: 8px; letter-spacing: .1em; padding: 6px 8px; }
  .exo-update-descriptor { display: none; }
  .exo-update-divider { height: 16px; }
  .exo-update-track { font-size: 9px; line-height: 36px; gap: 14px; }
  .exo-update-source { font-size: 7px; min-height: 18px; padding: 0 6px; }
  .exo-update-kurs-link { display: none; }
  .exo-update-viewport { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%); }
  .exo-kurs-hero-card { min-height: 176px; }
}

@media (prefers-reduced-motion: reduce) {
  .exo-update-track.is-ready { animation: none; }
  .exo-update-viewport { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
}
.exo-page-hero--kurs .exo-page-hero-copy h1 { white-space: pre-line; }

.exo-update-bar.is-local-preview .exo-update-pulse { box-shadow: 0 0 0 4px rgba(228,191,92,.18); }
header.sticky .exo-update-bar { flex: 0 0 auto; }


/* =========================================================
   EXO HERO BACKGROUND REPLACEABLE SLOTS — V15
   Transparent WebP files are intentionally bundled so the
   current site appearance does not change. Replace the files
   in assets/img/hero-bg/ to activate custom photography.
   ========================================================= */
#hero-section {
  --exo-hero-slot: url('../img/hero-bg/home-desktop.webp');
  background-image:
    linear-gradient(90deg, rgba(6,19,43,.97) 0%, rgba(11,32,70,.88) 42%, rgba(11,32,70,.58) 72%, rgba(6,19,43,.78) 100%),
    linear-gradient(180deg, rgba(6,19,43,.20), rgba(6,19,43,.62)),
    var(--exo-hero-slot),
    url('../hero-background.webp') !important;
  background-size: cover, cover, cover, cover !important;
  background-position: center, center, center, center !important;
  background-repeat: no-repeat !important;
}

.exo-page-hero--services {
  --exo-hero-slot: url('../img/hero-bg/services-desktop.webp');
  background-image: var(--exo-hero-slot), radial-gradient(circle at 82% 18%, rgba(228,191,92,.34), transparent 27%), radial-gradient(circle at 72% 105%, rgba(203,162,56,.13), transparent 34%), linear-gradient(112deg, #f8f5ee 0%, #fffdf8 53%, #fff4c9 100%) !important;
  background-size: cover, auto, auto, auto !important;
  background-position: center, center, center, center !important;
  background-blend-mode: soft-light, normal, normal, normal;
}
.exo-page-hero--account {
  --exo-hero-slot: url('../img/hero-bg/account-desktop.webp');
  background-image: var(--exo-hero-slot), radial-gradient(circle at 82% 18%, rgba(228,191,92,.34), transparent 27%), radial-gradient(circle at 72% 105%, rgba(203,162,56,.13), transparent 34%), linear-gradient(112deg, #f8f5ee 0%, #fffdf8 53%, #fff4c9 100%) !important;
  background-size: cover, auto, auto, auto !important;
  background-position: center, center, center, center !important;
  background-blend-mode: soft-light, normal, normal, normal;
}
.exo-page-hero--video {
  --exo-hero-slot: url('../img/hero-bg/video-desktop.webp');
  background-image: var(--exo-hero-slot), radial-gradient(circle at 82% 18%, rgba(228,191,92,.34), transparent 27%), radial-gradient(circle at 72% 105%, rgba(203,162,56,.13), transparent 34%), linear-gradient(112deg, #f8f5ee 0%, #fffdf8 53%, #fff4c9 100%) !important;
  background-size: cover, auto, auto, auto !important;
  background-position: center, center, center, center !important;
  background-blend-mode: soft-light, normal, normal, normal;
}
.exo-page-hero--tax-health {
  --exo-hero-slot: url('../img/hero-bg/tax-health-desktop.webp');
  background-image: var(--exo-hero-slot), radial-gradient(circle at 79% 16%, rgba(203,162,56,.16), transparent 24%), radial-gradient(circle at 65% 105%, rgba(28,73,136,.54), transparent 38%), linear-gradient(126deg, #06132b 0%, #0b2046 56%, #123668 100%) !important;
  background-size: cover, auto, auto, auto !important;
  background-position: center, center, center, center !important;
  background-blend-mode: multiply, normal, normal, normal;
}
#view-structure-page > section.exo-page-hero--structure:first-child {
  --exo-hero-slot: url('../img/hero-bg/structure-desktop.webp');
  background-image: var(--exo-hero-slot), radial-gradient(circle at 84% 20%, rgba(228,191,92,.13) 0 2%, transparent 22%), radial-gradient(circle at 72% 112%, rgba(39,91,164,.42), transparent 38%), linear-gradient(118deg, #06132b 0%, #0b2046 52%, #153f76 100%) !important;
  background-size: cover, auto, auto, auto !important;
  background-position: center, center, center, center !important;
  background-blend-mode: multiply, normal, normal, normal;
}
#view-calculator-page > section.exo-page-hero--calculator:first-child {
  --exo-hero-slot: url('../img/hero-bg/calculator-desktop.webp');
  background-image: var(--exo-hero-slot), radial-gradient(circle at 86% 18%, rgba(228,191,92,.38), transparent 26%), radial-gradient(circle at 69% 112%, rgba(203,162,56,.12), transparent 35%), linear-gradient(112deg, #f7f3ea 0%, #fffdf8 54%, #fff2bd 100%) !important;
  background-size: cover, auto, auto, auto !important;
  background-position: center, center, center, center !important;
  background-blend-mode: soft-light, normal, normal, normal;
}
.exo-page-hero--workshop {
  --exo-hero-slot: url('../img/hero-bg/workshop-desktop.webp');
  background-image: var(--exo-hero-slot), radial-gradient(circle at 79% 16%, rgba(203,162,56,.14), transparent 22%), radial-gradient(circle at 67% 110%, rgba(28,73,136,.56), transparent 37%), linear-gradient(126deg, #06132b 0%, #0b2046 55%, #123668 100%) !important;
  background-size: cover, auto, auto, auto !important;
  background-position: center, center, center, center !important;
  background-blend-mode: multiply, normal, normal, normal;
}
.exo-page-hero--ebook {
  --exo-hero-slot: url('../img/hero-bg/ebook-desktop.webp');
  background-image: var(--exo-hero-slot), radial-gradient(circle at 85% 18%, rgba(228,191,92,.30), transparent 25%), linear-gradient(112deg, #f8f5ee 0%, #fffdf8 55%, #fff3c2 100%) !important;
  background-size: cover, auto, auto !important;
  background-position: center, center, center !important;
  background-blend-mode: soft-light, normal, normal;
}
.exo-page-hero--kurs {
  --exo-hero-slot: url('../img/hero-bg/kurs-desktop.webp');
  background-image: var(--exo-hero-slot), radial-gradient(circle at 83% 20%, rgba(43,89,158,.34), transparent 26%), linear-gradient(115deg, #06132b 0%, #0b2046 52%, #173f78 100%) !important;
  background-size: cover, auto, auto !important;
  background-position: center, center, center !important;
  background-blend-mode: multiply, normal, normal;
}

@media (max-width: 767px) {
  #hero-section { --exo-hero-slot: url('../img/hero-bg/home-mobile.webp'); }
  .exo-page-hero--services { --exo-hero-slot: url('../img/hero-bg/services-mobile.webp'); }
  #view-structure-page > section.exo-page-hero--structure:first-child { --exo-hero-slot: url('../img/hero-bg/structure-mobile.webp'); }
  .exo-page-hero--account { --exo-hero-slot: url('../img/hero-bg/account-mobile.webp'); }
  .exo-page-hero--tax-health { --exo-hero-slot: url('../img/hero-bg/tax-health-mobile.webp'); }
  #view-calculator-page > section.exo-page-hero--calculator:first-child { --exo-hero-slot: url('../img/hero-bg/calculator-mobile.webp'); }
  .exo-page-hero--workshop { --exo-hero-slot: url('../img/hero-bg/workshop-mobile.webp'); }
  .exo-page-hero--video { --exo-hero-slot: url('../img/hero-bg/video-mobile.webp'); }
  .exo-page-hero--ebook { --exo-hero-slot: url('../img/hero-bg/ebook-mobile.webp'); }
  .exo-page-hero--kurs { --exo-hero-slot: url('../img/hero-bg/kurs-mobile.webp'); }
}

/* Larger, more legible EXO Insight ticker — V15 */
.exo-update-shell { min-height: 48px; gap: 14px; padding: 0 18px; }
.exo-update-badge { font-size: 10.5px; padding: 8px 12px; letter-spacing: .12em; }
.exo-update-descriptor { font-size: 10.5px; }
.exo-update-divider { height: 22px; }
.exo-update-track { font-size: 12px; line-height: 48px; gap: 25px; }
.exo-update-source { min-height: 22px; padding: 0 8px; font-size: 8.5px; }
.exo-update-headline { font-weight: 700; }
.exo-update-arrow { font-size: 11px; }
.exo-update-kurs-link { font-size: 10px; padding: 8px 12px; }

@media (max-width: 767px) {
  .exo-update-shell { min-height: 42px; gap: 9px; padding: 0 10px; }
  .exo-update-badge { font-size: 9px; padding: 7px 9px; }
  .exo-update-track { font-size: 10.5px; line-height: 42px; gap: 16px; }
  .exo-update-source { min-height: 20px; font-size: 7.5px; padding: 0 7px; }
  .exo-update-divider { height: 18px; }
}


/* =========================================================
   VIDEO FIRST-FRAME POSTER — v18
   Static first frame paints immediately; hidden MP4 refreshes the frame
   automatically so no separately uploaded thumbnail is required.
   ========================================================= */
#view-video-page .exo-video-card-media .exo-video-thumb-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center 52% !important;
  opacity: 1 !important;
  z-index: 0 !important;
  transform: scale(1.035) !important;
  transition: transform .45s cubic-bezier(.22,1,.36,1), opacity .22s ease !important;
}
#view-video-page .exo-video-item:hover .exo-video-card-media .exo-video-thumb-image {
  transform: scale(1.06) !important;
}
#view-video-page .exo-video-card-media .exo-video-thumb-video {
  opacity: 0 !important;
  visibility: hidden !important;
  z-index: -1 !important;
}
@media (prefers-reduced-motion: reduce) {
  #view-video-page .exo-video-thumb-image { transition: none !important; }
}


/* === EXO Payment & Billing: native payment enable switch (v22) ===
   Avoids Tailwind peer/pseudo variants so the control always renders
   with the locally compiled production stylesheet. */
.exo-payment-switch-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.exo-payment-switch-input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  opacity: 0;
}
.exo-payment-switch-track {
  position: relative;
  display: block;
  width: 52px;
  height: 30px;
  flex: 0 0 52px;
  border-radius: 9999px;
  border: 1px solid #cbd5e1;
  background: #cbd5e1;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .08);
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.exo-payment-switch-track::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 9999px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(15, 23, 42, .22);
  transition: transform .2s ease;
}
.exo-payment-switch-state {
  min-width: 48px;
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  color: #64748b;
  letter-spacing: .02em;
}
.exo-payment-switch-state::before { content: "Nonaktif"; }
.exo-payment-switch-input:checked + .exo-payment-switch-track {
  background: #cba238;
  border-color: #b8902e;
  box-shadow: inset 0 1px 2px rgba(90, 61, 0, .12), 0 0 0 1px rgba(203, 162, 56, .08);
}
.exo-payment-switch-input:checked + .exo-payment-switch-track::after {
  transform: translateX(22px);
}
.exo-payment-switch-input:checked ~ .exo-payment-switch-state {
  color: #8a6918;
}
.exo-payment-switch-input:checked ~ .exo-payment-switch-state::before { content: "Aktif"; }
.exo-payment-switch-input:focus-visible + .exo-payment-switch-track {
  outline: 3px solid rgba(203, 162, 56, .24);
  outline-offset: 3px;
}
.exo-payment-switch-input:disabled + .exo-payment-switch-track {
  opacity: .55;
  cursor: not-allowed;
}
@media (max-width: 520px) {
  .exo-payment-switch-wrap { gap: 7px; }
  .exo-payment-switch-track { width: 48px; height: 28px; flex-basis: 48px; }
  .exo-payment-switch-track::after { width: 20px; height: 20px; }
  .exo-payment-switch-input:checked + .exo-payment-switch-track::after { transform: translateX(20px); }
  .exo-payment-switch-state { min-width: 40px; font-size: 9px; }
}


/* =========================================================
   EXO INSIGHT DESKTOP FULL-BLEED SHELL — V27
   Desktop only: the inner ticker now uses the full viewport
   width instead of the previous 1280px centered container.
   Mobile/tablet behavior is intentionally unchanged.
   ========================================================= */
@media (min-width: 1024px) {
  .exo-update-shell {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: clamp(22px, 2.2vw, 42px);
    padding-right: clamp(22px, 2.2vw, 42px);
  }
  .exo-update-viewport {
    flex: 1 1 0%;
  }
}

/* EXO v29 — Super Admin Custom Invoice Builder */
#billing-panel-custom .exo-custom-summary-note,
#billing-panel-custom .exo-custom-reset {
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.055);
}
#billing-panel-custom .exo-custom-reset:hover {
  background: rgba(255,255,255,.10);
}
@media (min-width: 1280px) {
  #billing-panel-custom .exo-custom-invoice-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  }
  #billing-panel-custom .exo-custom-invoice-aside {
    position: sticky;
    top: 7rem;
  }
}
@media (min-width: 640px) {
  #billing-custom-items [data-custom-item] > .grid {
    grid-template-columns: minmax(0, 1fr) 90px 160px;
  }
}
#billing-custom-items [data-custom-item] {
  background: rgba(248,250,252,.72);
}


/* =========================================================
   EXO BILLING MICRO-INTERACTIONS + ACTION FEEDBACK — V31
   Lightweight, scoped animations for Payment & Billing and
   checkout flows. Respects reduced-motion preferences.
   ========================================================= */
@keyframes exo-billing-panel-in {
  from { opacity: 0; transform: translate3d(0, 10px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes exo-billing-row-in {
  from { opacity: 0; transform: translate3d(0, 8px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes exo-billing-row-out {
  0% { opacity: 1; transform: translate3d(0,0,0) scale(1); }
  65% { opacity: 0; transform: translate3d(12px,0,0) scale(.985); }
  100% { opacity: 0; transform: translate3d(18px,0,0) scale(.975); max-height: 0; }
}
@keyframes exo-action-card-in {
  from { opacity: 0; transform: translate3d(0, 8px, 0) scale(.99); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes exo-success-pop {
  0% { opacity: 0; transform: translate3d(0, 8px, 0) scale(.985); }
  70% { opacity: 1; transform: translate3d(0, -2px, 0) scale(1.006); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes exo-table-out {
  from { opacity: 1; transform: scale(1); }
  to { opacity: 0; transform: scale(.992); }
}

#view-payment-billing-page .exo-billing-panel-enter {
  animation: exo-billing-panel-in .26s cubic-bezier(.2,.75,.25,1) both;
}
#billing-invoice-tbody .exo-billing-row-enter {
  animation: exo-billing-row-in .25s cubic-bezier(.2,.75,.25,1) both;
  animation-delay: calc(var(--exo-row-index, 0) * 28ms);
}
#billing-invoice-tbody .exo-billing-row-leave {
  animation: exo-billing-row-out .22s ease forwards !important;
  pointer-events: none;
}
#billing-invoice-table.exo-billing-table-leave {
  animation: exo-table-out .24s ease forwards;
  pointer-events: none;
}
#billing-custom-items .exo-action-card-enter {
  animation: exo-action-card-in .24s cubic-bezier(.2,.75,.25,1) both;
}
#billing-custom-result.exo-success-pop {
  animation: exo-success-pop .34s cubic-bezier(.2,.8,.25,1) both;
}

#view-payment-billing-page button,
.exo-payment-modal button,
.exo-payment-method,
.exo-payment-bank-option,
.exo-payment-invoice-card {
  -webkit-tap-highlight-color: transparent;
}
#view-payment-billing-page button:not(:disabled),
.exo-payment-modal button:not(:disabled) {
  transition:
    transform .16s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background-color .18s ease,
    color .18s ease,
    filter .18s ease;
}
#view-payment-billing-page button:not(:disabled):hover {
  transform: translateY(-1px);
}
#view-payment-billing-page button:not(:disabled):active,
.exo-payment-modal button:not(:disabled):active {
  transform: translateY(0) scale(.975);
}
#view-payment-billing-page .rounded-2xl.bg-white.border,
#view-payment-billing-page .rounded-3xl.bg-white.border {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
#billing-panel-invoices > .grid > div:hover {
  transform: translateY(-2px);
  border-color: rgba(203,162,56,.32);
  box-shadow: 0 8px 24px rgba(11,32,70,.06);
}
#billing-invoice-tbody tr {
  transform-origin: center;
}
#billing-invoice-tbody tr:hover {
  box-shadow: inset 3px 0 0 rgba(203,162,56,.7);
}
#billing-tab-invoices,
#billing-tab-custom,
#billing-tab-settings {
  position: relative;
  overflow: hidden;
}
#billing-tab-invoices::after,
#billing-tab-custom::after,
#billing-tab-settings::after {
  content: "";
  position: absolute;
  left: 16%;
  right: 16%;
  bottom: 3px;
  height: 2px;
  border-radius: 999px;
  background: #cba238;
  transform: scaleX(0);
  opacity: 0;
  transition: transform .2s ease, opacity .2s ease;
}
#billing-tab-invoices.bg-brand-navy::after,
#billing-tab-custom.bg-brand-navy::after,
#billing-tab-settings.bg-brand-navy::after {
  transform: scaleX(1);
  opacity: 1;
}
.exo-billing-danger-action {
  box-shadow: 0 0 0 0 rgba(220,38,38,0);
}
.exo-billing-danger-action:hover {
  box-shadow: 0 5px 16px rgba(220,38,38,.08);
}
.exo-payment-method,
.exo-payment-bank-option,
.exo-payment-invoice-card {
  transition: transform .18s ease, box-shadow .2s ease, border-color .18s ease, background-color .18s ease;
}
.exo-payment-method:hover,
.exo-payment-bank-option:hover {
  transform: translateY(-1px);
}
.exo-payment-invoice-card:not(.hidden) {
  animation: exo-success-pop .32s cubic-bezier(.2,.8,.25,1) both;
}

@media (prefers-reduced-motion: reduce) {
  #view-payment-billing-page *,
  .exo-payment-modal *,
  .exo-update-track {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}


/* =========================================================
   EXO LIVE DATA STATUS — V32
   Clear, compact timestamps for EXO Insight and Kurs Pajak.
   ========================================================= */
.exo-update-meta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #64748b;
  font-size: 9.5px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
}
.exo-update-meta::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34,197,94,.10);
  flex: 0 0 auto;
}
.exo-update-bar.is-local-preview .exo-update-meta::before {
  background: #cba238;
  box-shadow: 0 0 0 3px rgba(203,162,56,.12);
}
#kurs-auto-refresh-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #64748b;
}
#kurs-auto-refresh-meta::before {
  content: "↻";
  color: #9f781a;
  font-size: 10px;
  font-weight: 900;
}
@media (max-width: 1180px) {
  .exo-update-meta { display: none; }
}
@media (max-width: 767px) {
  #kurs-auto-refresh-meta { display: flex; }
}


/* =========================================================
   EXO TAX TOOLS PRO — V34
   PPh Badan, Penyusutan Fiskal, Uji Kewajiban PKP
   ========================================================= */
.exo-rp-prefix{position:absolute;left:10px;top:50%;transform:translateY(-50%);z-index:2;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 8px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#475569;font-size:10px;font-weight:800;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.exo-rp-input{width:100%;padding:11px 14px 11px 56px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#0b2046;font-weight:700;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
.exo-rp-input:focus{border-color:#cba238;background:#fff;box-shadow:0 0 0 3px rgba(203,162,56,.14)}
.exo-option-card{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc;cursor:pointer;transition:.18s}
.exo-option-card:hover{border-color:#cba238;background:#fffaf0}.exo-option-card strong{display:block;color:#0b2046;font-size:11px}.exo-option-card small{display:block;color:#94a3b8;font-size:9px;margin-top:2px}
.exo-metric-card{padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.03)}.exo-metric-card span{display:block;color:#94a3b8;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.exo-metric-card strong{display:block;margin-top:5px;color:#0b2046;font-size:13px;font-weight:900}
.exo-break-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px dashed #e2e8f0}.exo-break-row:last-child{border-bottom:0}.exo-break-row span{color:#64748b}.exo-break-row strong{text-align:right;color:#0b2046}
.exo-tool-source-card{display:flex;flex-direction:column;gap:3px;padding:17px 18px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 3px 14px rgba(15,23,42,.04);transition:transform .18s,box-shadow .18s,border-color .18s}.exo-tool-source-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,23,42,.08);border-color:#cbd5e1}.exo-tool-source-card span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#9f781a}.exo-tool-source-card strong{font-size:12px;color:#0b2046}.exo-tool-source-card small{font-size:9px;color:#94a3b8}.exo-tool-source-card--gold{background:#fffaf0;border-color:#f6d887}
.exo-page-hero--pph-badan{--exo-hero-slot:url('../img/hero-bg/pph-badan-desktop.webp')}.exo-page-hero--penyusutan{--exo-hero-slot:url('../img/hero-bg/penyusutan-desktop.webp')}.exo-page-hero--uji-pkp{--exo-hero-slot:url('../img/hero-bg/uji-pkp-desktop.webp')}
@media(max-width:767px){.exo-page-hero--pph-badan{--exo-hero-slot:url('../img/hero-bg/pph-badan-mobile.webp')}.exo-page-hero--penyusutan{--exo-hero-slot:url('../img/hero-bg/penyusutan-mobile.webp')}.exo-page-hero--uji-pkp{--exo-hero-slot:url('../img/hero-bg/uji-pkp-mobile.webp')}}

@media(min-width:1024px){.exo-tool-sticky{position:sticky;top:9rem}}


/* =========================================================
   EXO NAVIGATION REFINEMENT — V35
   Desktop Tax Tools mega menu + package anchor offset.
   ========================================================= */
@media (min-width: 1280px) {
  #menu-tax-tools-dropdown.exo-tax-tools-mega-shell {
    left: 50%;
    width: min(860px, calc(100vw - 48px));
    transform: translateX(-50%);
  }
  .exo-tax-tools-mega {
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 22px;
    background: rgba(255,255,255,.985);
    box-shadow: 0 24px 64px rgba(6,19,43,.18), 0 4px 16px rgba(6,19,43,.08);
    backdrop-filter: blur(16px);
  }
  .exo-tax-tools-mega-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px 13px;
    border-bottom: 1px solid #eef2f7;
    background: linear-gradient(135deg,#fff 0%,#fbf7ed 100%);
  }
  .exo-tax-tools-mega-top > div { display:flex; align-items:baseline; gap:10px; min-width:0; }
  .exo-tax-tools-mega-kicker { color:#9f781a; font-size:9px; line-height:1; font-weight:900; letter-spacing:.18em; white-space:nowrap; }
  .exo-tax-tools-mega-top strong { color:#0b2046; font-size:12px; line-height:1.4; font-weight:800; }
  .exo-tax-tools-mega-count { flex:0 0 auto; border:1px solid #ead9a4; border-radius:999px; background:#fffaf0; color:#8a6718; padding:5px 9px; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
  .exo-tax-tools-mega-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
  .exo-tax-tools-group { min-width:0; padding:15px 12px 14px; }
  .exo-tax-tools-group + .exo-tax-tools-group { border-left:1px solid #eef2f7; }
  .exo-tax-tools-group-label { display:block; margin:0 7px 8px; color:#64748b; font-size:9px; line-height:1; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
  .exo-tax-tools-item { display:flex; align-items:center; gap:10px; min-height:66px; margin-top:4px; padding:9px 10px; border:1px solid transparent; border-radius:15px; transition:background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
  .exo-tax-tools-item:hover { background:#f8fafc; border-color:#e2e8f0; transform:translateY(-1px); box-shadow:0 8px 20px rgba(15,23,42,.05); }
  .exo-tax-tools-item > span:last-child { min-width:0; }
  .exo-tax-tools-item b { display:block; color:#172033; font-size:11px; line-height:1.25; font-weight:800; }
  .exo-tax-tools-item small { display:block; margin-top:3px; color:#7b8798; font-size:9px; line-height:1.35; font-weight:500; }
  .exo-tax-tools-item-icon { width:36px; height:36px; flex:0 0 36px; display:inline-flex; align-items:center; justify-content:center; border-radius:11px; font-size:11px; font-weight:900; border:1px solid transparent; }
  .exo-tax-tools-item-icon.is-green { color:#047857; background:#ecfdf5; border-color:#d1fae5; }
  .exo-tax-tools-item-icon.is-blue { color:#163b70; background:#eff6ff; border-color:#dbeafe; }
  .exo-tax-tools-item-icon.is-gold { color:#9f781a; background:#fffbeb; border-color:#fef3c7; }
}
#packages { scroll-margin-top: 126px; }


/* =========================================================
   EXO ABOUT NAV + ABOUT / INTERNSHIP — V38
   ========================================================= */
@media (min-width:1280px) {
  #menu-about-dropdown.exo-about-menu-shell {left:50%;width:min(690px,calc(100vw - 48px));transform:translateX(-50%)}
  .exo-about-menu {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px;border:1px solid rgba(15,23,42,.09);border-radius:20px;background:rgba(255,255,255,.988);box-shadow:0 22px 58px rgba(6,19,43,.17),0 4px 14px rgba(6,19,43,.06);backdrop-filter:blur(16px)}
  .exo-about-menu-item {min-width:0;display:flex;align-items:center;gap:10px;padding:12px;border:1px solid transparent;border-radius:15px;transition:background-color .18s,border-color .18s,transform .18s,box-shadow .18s}
  .exo-about-menu-item:hover {background:#f8fafc;border-color:#e2e8f0;transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,23,42,.05)}
  .exo-about-menu-icon {width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:#0b2046;color:#cba238;border:1px solid rgba(203,162,56,.35);font-size:9px;font-weight:900}
  .exo-about-menu-item b {display:block;color:#172033;font-size:11px;line-height:1.25;font-weight:850}
  .exo-about-menu-item small {display:block;margin-top:3px;color:#7b8798;font-size:9px;line-height:1.35;font-weight:500}
}
.exo-page-hero--about{--exo-hero-slot:url('../img/hero-bg/about-desktop.webp')}
.exo-page-hero--internship{--exo-hero-slot:url('../img/hero-bg/internship-desktop.webp')}
@media(max-width:767px){
  .exo-page-hero--about{--exo-hero-slot:url('../img/hero-bg/about-mobile.webp')}
  .exo-page-hero--internship{--exo-hero-slot:url('../img/hero-bg/internship-mobile.webp')}
}


/* =========================================================
   EXO ABOUT V2 + LOCAL TAX LANDING — V39
   ========================================================= */
.exo-aboutv2-max,.exo-localtax-max{width:min(1180px,calc(100% - 40px));margin:0 auto}
.exo-aboutv2-hero{position:relative;overflow:hidden;background:
  radial-gradient(circle at 84% 18%,rgba(203,162,56,.14),transparent 26%),
  linear-gradient(135deg,#06132b 0%,#0b2046 58%,#163b70 100%);color:#fff}
.exo-aboutv2-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to right,#000,transparent)}
.exo-aboutv2-shell{position:relative;z-index:1;width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:70px;align-items:center;padding:82px 0 76px}
.exo-aboutv2-eyebrow,.exo-aboutv2-kicker,.exo-localtax-head>span,.exo-localtax-why-copy>span,.exo-localtax-cta span{display:block;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#a9770d}
.exo-aboutv2-eyebrow{color:#e8c863}
.exo-aboutv2-copy h1{margin:16px 0 18px;font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.045em;font-weight:900}
.exo-aboutv2-copy h1 .exo-aboutv2-title-line2{color:#e2bd52}
.exo-aboutv2-copy>p{max-width:700px;color:#d7dfeb;font-size:15px;line-height:1.8}
.exo-aboutv2-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.exo-aboutv2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:12px;font-size:11px;font-weight:850;transition:.2s ease}
.exo-aboutv2-btn--primary{background:#cba238;color:#081936}
.exo-aboutv2-btn--ghost{border:1px solid rgba(255,255,255,.2);color:#fff;background:rgba(255,255,255,.06)}
.exo-aboutv2-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
.exo-aboutv2-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}
.exo-aboutv2-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.04);font-size:9px;font-weight:700;color:#cbd5e1}
.exo-aboutv2-leader{position:relative}
.exo-aboutv2-leader-frame{position:relative;min-height:520px;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.13);box-shadow:0 30px 70px rgba(0,0,0,.28)}
.exo-aboutv2-leader-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.exo-aboutv2-leader-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,19,43,.95) 0%,rgba(6,19,43,.08) 54%,transparent 74%)}
.exo-aboutv2-leader-caption{position:absolute;left:24px;right:24px;bottom:24px}
.exo-aboutv2-leader-caption span{display:block;color:#e2bd52;font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.exo-aboutv2-leader-caption strong{display:block;margin-top:5px;font-size:23px;line-height:1.1}
.exo-aboutv2-leader-caption small{display:block;margin-top:7px;color:#cbd5e1;font-size:10px;line-height:1.5}
.exo-aboutv2-cred-pill{position:absolute;left:-34px;right:24px;bottom:-26px;display:grid;grid-template-columns:44px 1fr 32px;gap:11px;align-items:center;padding:13px 14px;border-radius:18px;background:#fff;color:#0b2046;border:1px solid #e5e7eb;box-shadow:0 16px 38px rgba(6,19,43,.16)}
.exo-aboutv2-cred-pill>span{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#0b2046;color:#cba238;font-size:10px;font-weight:900}
.exo-aboutv2-cred-pill b{display:block;font-size:10px}
.exo-aboutv2-cred-pill small{display:block;margin-top:3px;color:#7b8798;font-size:9px;line-height:1.4}
.exo-aboutv2-cred-pill a{font-size:18px;color:#a9770d;text-align:center}
.exo-aboutv2-intro{padding:105px 0 78px;background:#fff}
.exo-aboutv2-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.exo-aboutv2-kicker{margin-bottom:12px}.exo-aboutv2-kicker--light{color:#e8c863}
.exo-aboutv2-intro h2,.exo-aboutv2-section-head h2,.exo-aboutv2-purpose h2{font-size:clamp(30px,3.8vw,49px);line-height:1.08;letter-spacing:-.035em;color:#0b2046;font-weight:900}
.exo-aboutv2-intro-copy p{color:#5f6b7a;font-size:14px;line-height:1.85}.exo-aboutv2-intro-copy p+p{margin-top:16px}
.exo-aboutv2-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:54px}
.exo-aboutv2-metrics>div{padding:22px;border:1px solid #e7ebf0;border-radius:22px;background:#f9fbfd}
.exo-aboutv2-metrics span{color:#b68b25;font-size:10px;font-weight:900}.exo-aboutv2-metrics strong{display:block;margin-top:18px;color:#0b2046;font-size:14px}.exo-aboutv2-metrics small{display:block;margin-top:6px;color:#788494;font-size:10px;line-height:1.55}
.exo-aboutv2-expertise{padding:78px 0;background:#f5f7fa;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}
.exo-aboutv2-section-head{display:grid;grid-template-columns:1fr .75fr;gap:60px;align-items:end}
.exo-aboutv2-section-head>p{color:#687485;font-size:13px;line-height:1.75}
.exo-aboutv2-expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:38px}
.exo-aboutv2-expertise-card{min-height:260px;padding:23px;border-radius:22px;background:#fff;border:1px solid #e3e8ef;display:flex;flex-direction:column;transition:.2s ease}
.exo-aboutv2-expertise-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(11,32,70,.08)}
.exo-aboutv2-expertise-card--featured{background:#0b2046;border-color:#0b2046;color:#fff}
.exo-aboutv2-expertise-card>span{font-size:10px;font-weight:900;color:#b48a24}
.exo-aboutv2-expertise-card h3{margin-top:24px;color:#0b2046;font-size:18px;font-weight:900}.exo-aboutv2-expertise-card--featured h3{color:#fff}
.exo-aboutv2-expertise-card p{margin-top:10px;color:#6c7889;font-size:11px;line-height:1.65}.exo-aboutv2-expertise-card--featured p{color:#c9d3e1}
.exo-aboutv2-expertise-card b{margin-top:auto;padding-top:22px;color:#9a7418;font-size:10px}.exo-aboutv2-expertise-card--featured b{color:#e8c863}
.exo-aboutv2-trust{padding:80px 0;background:#081936;color:#fff}
.exo-aboutv2-trust-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.exo-aboutv2-trust-copy h2{font-size:clamp(30px,3.8vw,48px);line-height:1.06;letter-spacing:-.035em;font-weight:900}.exo-aboutv2-trust-copy p{margin-top:18px;color:#c9d3df;font-size:13px;line-height:1.75}
.exo-aboutv2-text-link{display:inline-flex;margin-top:22px;color:#e4bf57;font-size:11px;font-weight:800}
.exo-aboutv2-credentials{display:grid;gap:10px}
.exo-aboutv2-credentials article{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:15px 16px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.045)}
.exo-aboutv2-credentials article>span{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#cba238;color:#081936;font-size:10px;font-weight:900}
.exo-aboutv2-credentials strong{display:block;font-size:12px}.exo-aboutv2-credentials small{display:block;margin-top:4px;color:#aebbd0;font-size:9px}
.exo-aboutv2-purpose{padding:80px 0;background:#fff}
.exo-aboutv2-purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.exo-aboutv2-purpose-main,.exo-aboutv2-purpose-list{padding:34px;border-radius:28px;border:1px solid #e5e9ef}
.exo-aboutv2-purpose-main{background:#fff8e7;border-color:#ead7a3}.exo-aboutv2-purpose-main p{margin-top:18px;color:#687485;font-size:12px;line-height:1.75}
.exo-aboutv2-purpose-list{background:#f8fafc}.exo-aboutv2-purpose-list ol{margin-top:22px;display:grid;gap:16px}
.exo-aboutv2-purpose-list li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding-bottom:15px;border-bottom:1px solid #e5e9ef}.exo-aboutv2-purpose-list li:last-child{border:0;padding-bottom:0}
.exo-aboutv2-purpose-list b{color:#a9770d;font-size:10px}.exo-aboutv2-purpose-list span{color:#526071;font-size:12px;line-height:1.6}
.exo-aboutv2-standard{padding:78px 0;background:#f5f7fa}
.exo-aboutv2-standard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:35px}
.exo-aboutv2-standard-grid>div{padding:22px;border-top:3px solid #0b2046;background:#fff;border-radius:0 0 18px 18px}.exo-aboutv2-standard-grid span{color:#b78d29;font-size:10px;font-weight:900}.exo-aboutv2-standard-grid strong{display:block;margin-top:22px;color:#0b2046;font-size:16px}.exo-aboutv2-standard-grid p{margin-top:7px;color:#6f7b8b;font-size:10px;line-height:1.6}
.exo-aboutv2-closing{padding:72px 0;background:#fff}.exo-aboutv2-closing-card{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;padding:34px 38px;border-radius:28px;background:linear-gradient(135deg,#0b2046,#163b70);color:#fff;box-shadow:0 20px 45px rgba(11,32,70,.13)}
.exo-aboutv2-closing-card span{font-size:9px;letter-spacing:.18em;font-weight:900;color:#e7c25a}.exo-aboutv2-closing-card h2{margin-top:8px;font-size:28px;line-height:1.15;font-weight:900}.exo-aboutv2-closing-card p{margin-top:7px;color:#d4dce8;font-size:11px}
.exo-aboutv2-closing-actions{display:flex;gap:9px;flex-wrap:wrap}.exo-aboutv2-closing-actions a{padding:11px 14px;border-radius:11px;font-size:10px;font-weight:850;background:#cba238;color:#0b2046}.exo-aboutv2-closing-actions a+ a{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.15)}

/* Services intent section */
.exo-services-intent{padding:42px 0;background:#081936;color:#fff}
.exo-services-intent-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.exo-services-intent-shell>div:first-child span{font-size:9px;font-weight:900;letter-spacing:.18em;color:#e0bb50}
.exo-services-intent-shell h2{margin-top:9px;font-size:29px;line-height:1.16;font-weight:900}
.exo-services-intent-shell p{color:#c9d3df;font-size:12px;line-height:1.75}.exo-services-intent-links{display:flex;gap:18px;margin-top:13px;flex-wrap:wrap}.exo-services-intent-links a{font-size:10px;font-weight:850;color:#e6c158}

/* Local tax landing */
.exo-localtax-hero{padding:78px 0;background:linear-gradient(135deg,#f7f2e6 0%,#fff 55%,#eef4fb 100%);border-bottom:1px solid #e9edf2}
.exo-localtax-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.exo-localtax-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#0b2046;color:#e5bf54;font-size:9px;font-weight:900;letter-spacing:.15em}
.exo-localtax-copy h1{margin-top:18px;color:#0b2046;font-size:clamp(40px,5.2vw,67px);line-height:1;letter-spacing:-.045em;font-weight:900}
.exo-localtax-copy>p{margin-top:18px;max-width:690px;color:#5e6a79;font-size:14px;line-height:1.8}
.exo-localtax-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.exo-localtax-actions a{padding:12px 15px;border-radius:11px;font-size:10px;font-weight:850}.exo-localtax-actions a:first-child{background:#0b2046;color:#fff}.exo-localtax-actions a:last-child{border:1px solid #cbd5e1;color:#0b2046;background:#fff}
.exo-localtax-location{display:flex;gap:10px;align-items:center;margin-top:28px}.exo-localtax-location>span{width:36px;height:36px;border-radius:10px;background:#cba238;color:#0b2046;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900}.exo-localtax-location b{display:block;color:#0b2046;font-size:11px}.exo-localtax-location small{display:block;margin-top:2px;color:#788494;font-size:9px}
.exo-localtax-trust{padding:28px;border-radius:26px;background:#0b2046;color:#fff;box-shadow:0 24px 55px rgba(11,32,70,.16)}.exo-localtax-trust-label{font-size:9px;font-weight:900;letter-spacing:.16em;color:#e2bd52;text-transform:uppercase}.exo-localtax-trust h2{margin-top:12px;font-size:26px;line-height:1.14;font-weight:900}.exo-localtax-trust ul{display:grid;gap:10px;margin-top:24px}.exo-localtax-trust li{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.06);font-size:10px;color:#dbe4ef}
.exo-localtax-proof{padding:20px 0;background:#fff;border-bottom:1px solid #edf0f4}.exo-localtax-proof .exo-localtax-max{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.exo-localtax-proof div>div{padding:12px;border-right:1px solid #e8ecf0}.exo-localtax-proof div>div:last-child{border-right:0}.exo-localtax-proof strong{display:block;color:#0b2046;font-size:10px}.exo-localtax-proof span{display:block;margin-top:4px;color:#7b8796;font-size:8.5px}
.exo-localtax-services,.exo-localtax-process{padding:75px 0;background:#fff}.exo-localtax-head{max-width:760px}.exo-localtax-head>span,.exo-localtax-why-copy>span{font-size:9px;font-weight:900;letter-spacing:.18em;color:#a9770d}.exo-localtax-head h2,.exo-localtax-why-copy h2{margin-top:10px;color:#0b2046;font-size:clamp(29px,4vw,46px);line-height:1.08;letter-spacing:-.035em;font-weight:900}.exo-localtax-head p{margin-top:12px;color:#687485;font-size:12px;line-height:1.7}
.exo-localtax-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.exo-localtax-service-grid article{padding:22px;border:1px solid #e4e9ef;border-radius:20px;background:#f9fbfd}.exo-localtax-service-grid span{font-size:9px;font-weight:900;color:#ae8420}.exo-localtax-service-grid h3{margin-top:18px;color:#0b2046;font-size:16px;font-weight:900}.exo-localtax-service-grid p{margin-top:8px;color:#707c8c;font-size:10px;line-height:1.65}
.exo-localtax-why{padding:76px 0;background:#081936;color:#fff}.exo-localtax-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.exo-localtax-why-copy h2{color:#fff}.exo-localtax-why-copy p{margin-top:15px;color:#c7d1df;font-size:12px;line-height:1.75}.exo-localtax-why-list{display:grid;gap:9px}.exo-localtax-why-list>div{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.04)}.exo-localtax-why-list b{color:#dfba50;font-size:9px}.exo-localtax-why-list strong{display:block;font-size:11px}.exo-localtax-why-list small{display:block;margin-top:3px;color:#aeb9c8;font-size:9px;line-height:1.5}
.exo-localtax-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px}.exo-localtax-process-grid>div{padding:20px;border-top:3px solid #cba238;background:#f7f9fb}.exo-localtax-process-grid span{color:#a87d18;font-size:9px;font-weight:900}.exo-localtax-process-grid strong{display:block;margin-top:20px;color:#0b2046;font-size:13px}.exo-localtax-process-grid p{margin-top:6px;color:#6f7b8b;font-size:9.5px;line-height:1.6}
.exo-localtax-faq{padding:74px 0;background:#f5f7fa}.exo-localtax-faq-list{display:grid;gap:8px;margin-top:28px}.exo-localtax-faq details{background:#fff;border:1px solid #e4e8ee;border-radius:14px;padding:0 17px}.exo-localtax-faq summary{cursor:pointer;list-style:none;padding:15px 0;color:#0b2046;font-size:11px;font-weight:850}.exo-localtax-faq summary::-webkit-details-marker{display:none}.exo-localtax-faq details p{padding:0 0 15px;color:#687485;font-size:10px;line-height:1.65}
.exo-localtax-cta{padding:68px 0;background:#fff}.exo-localtax-cta .exo-localtax-max{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:30px 34px;border-radius:25px;background:#0b2046;color:#fff}.exo-localtax-cta h2{margin-top:8px;font-size:28px;line-height:1.15;font-weight:900}.exo-localtax-cta p{margin-top:6px;color:#c8d2df;font-size:10px}.exo-localtax-cta a{padding:12px 15px;border-radius:11px;background:#cba238;color:#0b2046;font-size:10px;font-weight:900}

@media(max-width:900px){
  .exo-aboutv2-shell,.exo-aboutv2-intro-grid,.exo-aboutv2-section-head,.exo-aboutv2-trust-grid,.exo-aboutv2-purpose-grid,.exo-localtax-shell,.exo-localtax-why-grid,.exo-services-intent-shell{grid-template-columns:1fr}
  .exo-aboutv2-shell{gap:45px;padding:60px 0 72px}.exo-aboutv2-leader{max-width:560px}.exo-aboutv2-leader-frame{min-height:500px}.exo-aboutv2-cred-pill{left:16px}
  .exo-aboutv2-expertise-grid,.exo-aboutv2-standard-grid,.exo-localtax-service-grid,.exo-localtax-process-grid{grid-template-columns:repeat(2,1fr)}
  .exo-localtax-proof .exo-localtax-max{grid-template-columns:repeat(2,1fr)}
  .exo-aboutv2-closing-card,.exo-localtax-cta .exo-localtax-max{grid-template-columns:1fr}
}
@media(max-width:600px){
  .exo-aboutv2-max,.exo-localtax-max,.exo-aboutv2-shell,.exo-localtax-shell,.exo-services-intent-shell{width:min(100% - 28px,1180px)}
  .exo-aboutv2-copy h1,.exo-localtax-copy h1{font-size:39px}
  .exo-aboutv2-leader-frame{min-height:430px}
  .exo-aboutv2-metrics,.exo-aboutv2-expertise-grid,.exo-aboutv2-standard-grid,.exo-localtax-service-grid,.exo-localtax-process-grid{grid-template-columns:1fr}
  .exo-aboutv2-intro-grid,.exo-aboutv2-trust-grid,.exo-localtax-why-grid{gap:34px}
  .exo-localtax-proof .exo-localtax-max{grid-template-columns:1fr 1fr}
  .exo-aboutv2-closing-card,.exo-localtax-cta .exo-localtax-max{padding:25px 20px}
}


/* =========================================================
   ABOUT / NAV RELIABILITY + CREDENTIAL VISUALS — V40
   ========================================================= */
.exo-about-menu-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#nav-about-toggle{flex:0 0 auto}
.exo-aboutv2-credentials-brand{display:flex;align-items:center;gap:13px;padding:12px 14px 14px;margin-bottom:2px;border-bottom:1px solid rgba(255,255,255,.12)}
.exo-aboutv2-credentials-brand img{width:86px;height:auto;max-height:44px;object-fit:contain;background:#fff;padding:6px;border-radius:10px;opacity:1}
.exo-aboutv2-credentials-brand strong{display:block;font-size:11px;color:#fff;font-weight:850}
.exo-aboutv2-credentials-brand small{display:block;margin-top:3px;color:#aebbd0;font-size:9px;line-height:1.45}
.exo-aboutv2-credential-logo{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#cba238;color:#081936;border:1px solid rgba(255,255,255,.15);overflow:hidden}
.exo-aboutv2-credential-logo svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.exo-aboutv2-credential-logo--image{background:#fff;padding:5px}
.exo-aboutv2-credential-logo--image img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.exo-aboutv2-credentials article{grid-template-columns:48px 1fr}
@media(max-width:600px){.exo-aboutv2-credentials-brand{align-items:flex-start}.exo-aboutv2-credentials-brand img{width:74px}}


/* =========================================================
   EXO INTERNSHIP NAV VISIBILITY — V41
   ========================================================= */
@media (min-width:1280px) {
  #menu-about-dropdown.exo-about-menu-shell {
    width:min(490px, calc(100vw - 48px));
  }
  .exo-about-menu {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* =========================================================
   EXO ABOUT NAV RESTORE — V42
   ========================================================= */
@media (min-width:1280px) {
  #menu-about-dropdown.exo-about-menu-shell {
    width:min(690px, calc(100vw - 48px));
  }
  .exo-about-menu {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}


/* =========================================================
   EXO ABOUT HERO CLEAN + ACADEMY PROGRAM UPDATE — V43
   ========================================================= */
.exo-aboutv2-hero::before{
  content:"EXO";
  position:absolute;
  right:clamp(20px,7vw,110px);
  top:50%;
  transform:translateY(-50%);
  font-size:clamp(150px,24vw,340px);
  line-height:.8;
  font-weight:950;
  letter-spacing:-.085em;
  color:rgba(255,255,255,.018);
  -webkit-text-stroke:1px rgba(203,162,56,.11);
  pointer-events:none;
  user-select:none;
}
.exo-aboutv2-shell{
  grid-template-columns:minmax(0,920px);
  justify-content:start;
  gap:0;
  min-height:590px;
}
.exo-aboutv2-copy{
  max-width:900px;
}
.exo-aboutv2-copy>p{
  max-width:760px;
}
@media(max-width:900px){
  .exo-aboutv2-shell{min-height:0;padding:64px 0 68px}
  .exo-aboutv2-hero::before{right:-35px;font-size:220px;opacity:.5}
}
@media(max-width:600px){
  .exo-aboutv2-hero::before{display:none}
}


/* =========================================================
   EXO INTERNSHIP + ABOUT PHOTO + ACADEMY PRECISION — V44
   ========================================================= */
.exo-intern-max,.exo-intern-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.exo-intern-hero{padding:76px 0;background:radial-gradient(circle at 88% 15%,rgba(203,162,56,.16),transparent 25%),linear-gradient(135deg,#06132b,#0b2046 58%,#163b70);color:#fff;overflow:hidden}
.exo-intern-shell{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}
.exo-intern-kicker,.exo-intern-head span,.exo-intern-apply-card>div>span{display:block;font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#e1b947}
.exo-intern-copy h1{margin-top:15px;font-size:clamp(40px,5vw,66px);line-height:1;letter-spacing:-.045em;font-weight:900}
.exo-intern-copy>p{margin-top:18px;max-width:720px;color:#ced8e5;font-size:14px;line-height:1.8}
.exo-intern-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.exo-intern-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.05);font-size:9px;font-weight:800;color:#dce5ef}
.exo-intern-status{padding:27px;border:1px solid rgba(255,255,255,.12);border-radius:25px;background:rgba(255,255,255,.065);backdrop-filter:blur(10px)}
.exo-intern-status>span{font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#e2bd52}.exo-intern-status strong{display:block;margin-top:11px;font-size:24px;line-height:1.15}.exo-intern-status p{margin-top:10px;color:#c4cfdd;font-size:11px;line-height:1.7}.exo-intern-status a{display:inline-flex;margin-top:18px;color:#e6c35a;font-size:10px;font-weight:850}
.exo-intern-intro,.exo-intern-process{padding:76px 0;background:#fff}.exo-intern-head{display:grid;grid-template-columns:1fr .82fr;gap:70px;align-items:end}.exo-intern-head h2{margin-top:10px;color:#0b2046;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.035em;font-weight:900}.exo-intern-head>p{color:#667383;font-size:12px;line-height:1.8}
.exo-intern-track-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}.exo-intern-track-grid article{position:relative;padding:22px;border:1px solid #e5eaf0;border-radius:22px;background:#f9fbfd;min-height:235px}.exo-intern-track-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#0b2046;color:#cba238;font-size:12px;font-weight:900}.exo-intern-track-grid article>span{position:absolute;right:20px;top:22px;color:#b58921;font-size:9px;font-weight:900}.exo-intern-track-grid h3{margin-top:30px;color:#0b2046;font-size:15px;font-weight:900}.exo-intern-track-grid p{margin-top:8px;color:#6d7989;font-size:10px;line-height:1.65}
.exo-intern-learning{padding:76px 0;background:#081936;color:#fff}.exo-intern-head--light h2{color:#fff}.exo-intern-head--light>p{color:#bcc8d7}.exo-intern-learning-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}.exo-intern-learning-grid>div{padding:21px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.045)}.exo-intern-learning-grid b{color:#e1b947;font-size:9px}.exo-intern-learning-grid strong{display:block;margin-top:19px;font-size:13px}.exo-intern-learning-grid p{margin-top:7px;color:#b9c5d4;font-size:9.5px;line-height:1.65}
.exo-intern-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}.exo-intern-process-grid>div{padding:22px;border-top:3px solid #cba238;background:#f7f9fb}.exo-intern-process-grid span{font-size:9px;font-weight:900;color:#a77c17}.exo-intern-process-grid strong{display:block;margin-top:18px;color:#0b2046;font-size:13px}.exo-intern-process-grid p{margin-top:6px;color:#6e7a8a;font-size:9.5px;line-height:1.6}
.exo-intern-apply{padding:0 0 76px;background:#fff}.exo-intern-apply-card{display:grid;grid-template-columns:1fr .72fr;gap:55px;align-items:center;padding:32px 36px;border-radius:28px;background:#f5f7fa;border:1px solid #e5e9ef}.exo-intern-apply-card h2{margin-top:8px;color:#0b2046;font-size:28px;line-height:1.15;font-weight:900}.exo-intern-requirements{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;margin-top:20px}.exo-intern-requirements p{font-size:10px;color:#5f6c7b}.exo-intern-apply-action a{display:inline-flex;padding:12px 15px;border-radius:11px;background:#0b2046;color:#fff;font-size:10px;font-weight:900}.exo-intern-apply-action p{margin-top:10px;color:#7a8796;font-size:9px;line-height:1.55}

.exo-about-assist{padding:76px 0;background:#fff}.exo-about-assist-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:530px;box-shadow:0 18px 46px rgba(11,32,70,.08)}.exo-about-assist-visual{padding:34px 34px 42px;background:#fff;border:1px solid #edf0f4;border-right:0}.exo-about-assist-label{max-width:540px;margin:0 auto 24px;text-align:center}.exo-about-assist-label span,.exo-about-assist-copy>span{font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#b4871f}.exo-about-assist-label strong{display:block;margin-top:8px;color:#0b2046;font-size:21px;line-height:1.15}.exo-about-assist-photos{display:grid;grid-template-columns:1.35fr .65fr;gap:10px;height:360px}.exo-about-assist-photos img{width:100%;height:100%;object-fit:cover;border-radius:16px;background:#eef1f5}.exo-about-assist-main{object-position:center 18%}.exo-about-assist-stack{display:grid;grid-template-rows:1fr 1fr;gap:10px;min-width:0}.exo-about-assist-stack img{object-position:center 15%}.exo-about-assist-copy{display:flex;flex-direction:column;justify-content:center;padding:62px;background:linear-gradient(145deg,#0a2a3a,#0b2046 58%,#11345a);color:#fff}.exo-about-assist-copy>span{color:#e4bf57}.exo-about-assist-copy h2{margin-top:12px;font-size:clamp(34px,4vw,50px);line-height:1.04;letter-spacing:-.035em;font-weight:900}.exo-about-assist-copy p{margin-top:18px;color:#d0d9e4;font-size:12px;line-height:1.8}.exo-about-assist-copy a{display:inline-flex;align-self:flex-start;margin-top:25px;padding:11px 15px;border:1px solid rgba(255,255,255,.28);font-size:10px;font-weight:900;color:#fff;transition:.2s}.exo-about-assist-copy a:hover{background:#cba238;color:#0b2046;border-color:#cba238}.exo-about-assist-logo{position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);width:116px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:0 0 30px 30px;background:#fff;border:1px solid #edf0f4;border-top:0;box-shadow:0 10px 22px rgba(11,32,70,.08)}.exo-about-assist-logo img{max-width:78px;max-height:40px;object-fit:contain}

.exo-academy-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}.exo-academy-program-card{display:grid;grid-template-rows:1fr auto;overflow:hidden;border:1px solid #dfe5ec;border-radius:28px;background:#fff;box-shadow:0 2px 5px rgba(11,32,70,.05);transition:transform .25s,box-shadow .25s}.exo-academy-program-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(11,32,70,.10)}.exo-academy-program-body{display:flex;flex-direction:column;padding:32px}.exo-academy-program-body>h3{min-height:58px}.exo-academy-program-desc{margin-top:12px;min-height:84px;color:#64748b;font-size:13px;line-height:1.75}.exo-academy-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto;padding-top:24px;color:#475569;font-size:12px}.exo-academy-feature{display:flex;flex-direction:column;justify-content:center;min-height:92px;padding:15px 16px;border:1px solid #e8edf2;border-radius:17px;background:#f7f9fb}.exo-academy-feature strong{display:block;color:#0b2046;line-height:1.3}.exo-academy-feature p{margin-top:5px;line-height:1.5}.exo-academy-program-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:92px;padding:20px 32px;border-top:1px solid #e8edf2;background:#f7f9fb}.exo-academy-program-btn{display:inline-flex;align-items:center;justify-content:center;min-width:136px;min-height:43px;padding:0 17px;border-radius:11px;background:#0b2046;color:#fff;font-size:10px;font-weight:900;white-space:nowrap;transition:.2s}.exo-academy-program-btn:hover{background:#163b70;transform:translateY(-1px)}

@media(max-width:900px){.exo-intern-shell,.exo-intern-head,.exo-intern-apply-card,.exo-about-assist-grid{grid-template-columns:1fr}.exo-intern-track-grid,.exo-intern-learning-grid,.exo-intern-process-grid{grid-template-columns:repeat(2,1fr)}.exo-about-assist-visual{border-right:1px solid #edf0f4;border-bottom:0}.exo-about-assist-copy{padding:42px}.exo-about-assist-logo{left:50%;bottom:-27px}.exo-academy-program-grid{grid-template-columns:1fr}.exo-academy-program-body>h3,.exo-academy-program-desc{min-height:0}}
@media(max-width:600px){.exo-intern-max,.exo-intern-shell{width:min(100% - 28px,1180px)}.exo-intern-track-grid,.exo-intern-learning-grid,.exo-intern-process-grid,.exo-intern-requirements{grid-template-columns:1fr}.exo-about-assist{padding:55px 0}.exo-about-assist-visual{padding:24px 18px 32px}.exo-about-assist-photos{grid-template-columns:1fr;height:auto}.exo-about-assist-main{height:320px!important}.exo-about-assist-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}.exo-about-assist-stack img{height:180px}.exo-about-assist-copy{padding:34px 24px}.exo-about-assist-logo{display:none}.exo-academy-program-body{padding:24px 20px}.exo-academy-feature-grid{grid-template-columns:1fr}.exo-academy-feature{min-height:0}.exo-academy-program-footer{padding:18px 20px;align-items:flex-start;flex-direction:column}.exo-academy-program-btn{width:100%}}


/* ===== EXO v45 — Internship Apply + Unsplash business visuals ===== */
.exo-intern-shell--visual{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}
.exo-intern-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.exo-intern-primary-btn,.exo-intern-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;font-size:11px;font-weight:900;transition:.2s}
.exo-intern-primary-btn{background:#e0b94a;color:#0b2046}
.exo-intern-primary-btn:hover{filter:brightness(.98);transform:translateY(-1px)}
.exo-intern-secondary-btn{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#fff}
.exo-intern-secondary-btn:hover{background:rgba(255,255,255,.08)}
.exo-intern-hero-visual{position:relative;min-height:510px}
.exo-intern-hero-visual>img{width:100%;height:100%;min-height:510px;object-fit:cover;border-radius:28px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px rgba(0,0,0,.18)}
.exo-intern-hero-card{position:absolute;left:22px;right:22px;bottom:22px;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(11,32,70,.76);backdrop-filter:blur(10px)}
.exo-intern-hero-card span{display:block;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#e1b947}
.exo-intern-hero-card strong{display:block;margin-top:10px;color:#fff;font-size:23px;line-height:1.12}
.exo-intern-hero-card p{margin-top:8px;color:#ced8e5;font-size:11px;line-height:1.7}
.exo-intern-apply--form{padding:0 0 84px;background:#fff}
.exo-intern-form-shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:stretch}
.exo-intern-form-media,.exo-intern-form-panel{border:1px solid #e6ebf1;border-radius:28px;background:#fff;overflow:hidden}
.exo-intern-form-media img{display:block;width:100%;height:300px;object-fit:cover}
.exo-intern-form-media-copy{padding:28px}
.exo-intern-form-media-copy h2{margin-top:10px;color:#0b2046;font-size:31px;line-height:1.08;font-weight:900;letter-spacing:-.03em}
.exo-intern-form-media-copy p{margin-top:12px;color:#64748b;font-size:12px;line-height:1.8}
.exo-intern-requirements--single{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}
.exo-intern-form-panel{padding:28px 28px 26px;background:#f8fafc}
.exo-intern-form-head span{display:block;font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#b58921}
.exo-intern-form-head h3{margin-top:8px;color:#0b2046;font-size:30px;line-height:1.08;font-weight:900}
.exo-intern-form-head p{margin-top:9px;color:#64748b;font-size:12px;line-height:1.75}
.exo-intern-feedback{margin:18px 0 0;padding:14px 16px;border-radius:16px;font-size:12px;line-height:1.6}
.exo-intern-feedback.hidden{display:none}
.exo-intern-feedback--success{background:#ecfdf3;border:1px solid #ccefdc;color:#166534}
.exo-intern-feedback--error{background:#fff1f2;border:1px solid #ffd4da;color:#b42318}
.exo-intern-feedback--info{background:#eff6ff;border:1px solid #c7dbff;color:#1d4ed8}
.exo-internship-form{margin-top:18px}
.exo-intern-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.exo-internship-form label{display:flex;flex-direction:column;gap:7px}
.exo-internship-form label>span{font-size:11px;font-weight:800;color:#0b2046}
.exo-internship-form input,.exo-internship-form select,.exo-internship-form textarea{width:100%;padding:12px 13px;border:1px solid #d8e1ea;border-radius:14px;background:#fff;font-size:12px;color:#0f172a;outline:none;transition:border-color .2s, box-shadow .2s}
.exo-internship-form input:focus,.exo-internship-form select:focus,.exo-internship-form textarea:focus{border-color:#163b70;box-shadow:0 0 0 3px rgba(22,59,112,.12)}
.exo-internship-form small{font-size:10px;color:#64748b}
.exo-intern-span-2{grid-column:1 / -1}
.exo-intern-form-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px}
.exo-intern-form-actions p{margin:0;color:#64748b;font-size:10px;line-height:1.7}
.exo-about-assist-main,.exo-about-assist-stack img{object-position:center}
@media(max-width:980px){
  .exo-intern-shell--visual,.exo-intern-form-shell{grid-template-columns:1fr}
  .exo-intern-hero-visual{min-height:420px}
  .exo-intern-hero-visual>img{min-height:420px}
}
@media(max-width:640px){
  .exo-intern-form-panel,.exo-intern-form-media-copy{padding:22px 18px}
  .exo-intern-form-grid{grid-template-columns:1fr}
  .exo-intern-hero-card{position:static;margin-top:12px}
  .exo-intern-hero-visual{min-height:0}
  .exo-intern-hero-visual>img{min-height:300px}
}


/* EXO v46 — KMK Data Center */
.exo-kmk-max{width:min(1180px,calc(100% - 40px));margin:0 auto}.exo-kmk-hero{padding:72px 0;background:linear-gradient(135deg,#071833,#0b2046 60%,#163b70);color:#fff}.exo-kmk-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center}.exo-kmk-eyebrow,.exo-kmk-kicker{font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#e2bd52}.exo-kmk-hero h1{margin-top:14px;font-size:clamp(42px,5vw,66px);line-height:1;letter-spacing:-.045em;font-weight:900}.exo-kmk-hero p{margin-top:16px;max-width:680px;color:#c8d3e1;font-size:13px;line-height:1.8}.exo-kmk-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.exo-kmk-hero-actions a{padding:11px 14px;border-radius:11px;font-size:10px;font-weight:900}.exo-kmk-hero-actions a:first-child{background:#cba238;color:#0b2046}.exo-kmk-hero-actions a:last-child{border:1px solid rgba(255,255,255,.2);color:#fff}.exo-kmk-snapshot{padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:rgba(255,255,255,.06);backdrop-filter:blur(12px)}.exo-kmk-snapshot>span{font-size:9px;font-weight:900;letter-spacing:.16em;color:#e2bd52}.exo-kmk-snapshot>strong{display:block;margin-top:9px;font-size:20px}.exo-kmk-snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.exo-kmk-snapshot-grid>div{padding:14px;border-radius:15px;background:rgba(255,255,255,.07)}.exo-kmk-snapshot small{display:block;color:#b9c6d7;font-size:9px;font-weight:900}.exo-kmk-snapshot b{display:block;margin-top:5px;font-size:14px}.exo-kmk-snapshot em{display:block;margin-top:4px;font-style:normal;font-size:9px}.exo-kmk-snapshot .up,.exo-kmk-table .up{color:#4ade80}.exo-kmk-snapshot .down,.exo-kmk-table .down{color:#fb7185}.exo-kmk-snapshot .flat,.exo-kmk-table .flat{color:#94a3b8}.exo-kmk-data{padding:70px 0;background:#f7f9fb}.exo-kmk-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:24px}.exo-kmk-toolbar h2{margin-top:7px;color:#0b2046;font-size:32px;font-weight:900}.exo-kmk-toolbar p{margin-top:5px;color:#64748b;font-size:11px}.exo-kmk-toolbar-actions{display:flex;align-items:end;gap:9px}.exo-kmk-toolbar label,.exo-kmk-searchbar label{display:flex;flex-direction:column;gap:6px}.exo-kmk-toolbar label span,.exo-kmk-searchbar label span{font-size:9px;font-weight:800;color:#64748b}.exo-kmk-toolbar input,.exo-kmk-searchbar input{min-height:41px;padding:0 12px;border:1px solid #dbe3eb;border-radius:11px;background:#fff;font-size:11px}.exo-kmk-toolbar button{min-height:41px;padding:0 13px;border-radius:11px;background:#0b2046;color:#fff;font-size:10px;font-weight:900}.exo-kmk-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px}.exo-kmk-history,.exo-kmk-main{border:1px solid #e2e8f0;border-radius:22px;background:#fff}.exo-kmk-history{overflow:hidden}.exo-kmk-history-head{padding:18px;border-bottom:1px solid #edf1f5}.exo-kmk-history-head span{display:block;color:#0b2046;font-size:12px;font-weight:900}.exo-kmk-history-head small{display:block;margin-top:3px;color:#94a3b8;font-size:9px}.exo-kmk-history-list{display:grid;max-height:590px;overflow:auto}.exo-kmk-history-list button{padding:13px 17px;border-bottom:1px solid #f0f3f6;text-align:left;background:#fff;transition:.15s}.exo-kmk-history-list button:hover{background:#f8fafc}.exo-kmk-history-list span{display:block;color:#b08824;font-size:8px;font-weight:900;text-transform:uppercase}.exo-kmk-history-list strong{display:block;margin-top:3px;color:#334155;font-size:10px}.exo-kmk-main{overflow:hidden}.exo-kmk-searchbar{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid #edf1f5}.exo-kmk-source-status{display:flex;align-items:center;gap:8px;color:#64748b;font-size:10px}.exo-kmk-source-status i{width:8px;height:8px;border-radius:50%;background:#f59e0b}.exo-kmk-source-status i.live{background:#22c55e}.exo-kmk-source-status i.cached{background:#f59e0b}.exo-kmk-table-wrap{overflow:auto}.exo-kmk-table{width:100%;border-collapse:collapse}.exo-kmk-table th{padding:13px 16px;background:#f8fafc;color:#64748b;font-size:9px;text-align:left;text-transform:uppercase;letter-spacing:.06em}.exo-kmk-table td{padding:14px 16px;border-top:1px solid #eef2f6;color:#475569;font-size:11px}.exo-kmk-table td strong{color:#0b2046}.exo-kmk-table .code{display:inline-flex;padding:4px 7px;border-radius:7px;background:#eef2f7;color:#0b2046;font-weight:900}.exo-kmk-table td.value{font-weight:900;color:#0b2046}.exo-kmk-empty{padding:36px;text-align:center;color:#94a3b8;font-size:11px}.exo-kmk-footnote{display:flex;justify-content:space-between;gap:20px;padding:15px 20px;border-top:1px solid #edf1f5;background:#fbfcfd}.exo-kmk-footnote p{max-width:650px;color:#94a3b8;font-size:9px;line-height:1.6}.exo-kmk-footnote span{color:#64748b;font-size:9px;white-space:nowrap}@media(max-width:900px){.exo-kmk-hero-grid,.exo-kmk-layout{grid-template-columns:1fr}.exo-kmk-history-list{grid-template-columns:repeat(2,1fr);max-height:330px}.exo-kmk-toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.exo-kmk-max{width:min(100% - 28px,1180px)}.exo-kmk-snapshot-grid{grid-template-columns:1fr}.exo-kmk-toolbar-actions,.exo-kmk-searchbar,.exo-kmk-footnote{align-items:stretch;flex-direction:column}.exo-kmk-history-list{grid-template-columns:1fr}}


/* =========================================================
   EXO INSIGHT DISMISS CONTROL — V47
   ========================================================= */
.exo-update-dismiss {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(11,32,70,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: #64748b;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.exo-update-dismiss svg { width: 14px; height: 14px; }
.exo-update-dismiss:hover {
  background: #fff;
  border-color: rgba(203,162,56,.55);
  color: #0b2046;
  transform: rotate(4deg);
}
.exo-update-dismiss:focus-visible { outline: 2px solid rgba(203,162,56,.55); outline-offset: 2px; }
.exo-update-bar.is-dismissing {
  max-height: 0 !important;
  min-height: 0 !important;
  opacity: 0;
  border-top-width: 0;
  border-bottom-width: 0;
  transition: max-height .24s ease, opacity .18s ease, border-width .22s ease;
}
.exo-update-bar:not(.is-dismissing) { max-height: 72px; }
@media (max-width: 767px) {
  .exo-update-dismiss { width: 27px; height: 27px; }
  .exo-update-dismiss svg { width: 13px; height: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .exo-update-bar.is-dismissing, .exo-update-dismiss { transition-duration: .001ms !important; }
}


/* =========================================================
   EXO V48 — Insight close, subscription landing, visual reliability
   ========================================================= */
.exo-update-shell{position:relative}
.exo-update-dismiss{
  flex:0 0 auto;width:26px;height:26px;display:inline-flex!important;align-items:center;justify-content:center;
  padding:0;border:1px solid rgba(11,32,70,.15);border-radius:7px;background:#fff;color:#0b2046;
  font:800 18px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(11,32,70,.06);
  transition:background .18s,border-color .18s,color .18s,transform .18s
}
.exo-update-dismiss span{display:block;transform:translateY(-1px)}
.exo-update-dismiss:hover{background:#0b2046;border-color:#0b2046;color:#e4bf5c;transform:none}
.exo-update-dismiss:focus-visible{outline:2px solid rgba(203,162,56,.6);outline-offset:2px}
.exo-update-bar.is-dismissing{max-height:0!important;min-height:0!important;opacity:0;border-width:0;transition:max-height .24s ease,opacity .18s ease,border-width .22s ease}
.exo-update-bar:not(.is-dismissing){max-height:76px}

.exo-subscription-hero{padding:72px 0;background:radial-gradient(circle at 82% 18%,rgba(203,162,56,.16),transparent 24%),linear-gradient(135deg,#06132b,#0b2046 58%,#163b70);color:#fff}
.exo-subscription-hero-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.exo-subscription-badge{display:inline-flex;padding:7px 10px;border-radius:999px;border:1px solid rgba(203,162,56,.35);background:rgba(255,255,255,.05);color:#e5c25d;font-size:9px;font-weight:900;letter-spacing:.16em}
.exo-subscription-hero h1{margin-top:16px;font-size:clamp(40px,5vw,66px);line-height:1;letter-spacing:-.045em;font-weight:900}
.exo-subscription-hero p{margin-top:18px;max-width:720px;color:#ced8e5;font-size:14px;line-height:1.8}
.exo-subscription-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.exo-subscription-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.05);font-size:9px;font-weight:800;color:#dce5ef}
.exo-subscription-hero-btn{display:inline-flex;margin-top:25px;padding:12px 16px;border-radius:12px;background:#cba238;color:#081936;font-size:11px;font-weight:900;transition:.2s}.exo-subscription-hero-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}
.exo-subscription-hero-card{padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:rgba(255,255,255,.065);backdrop-filter:blur(12px);box-shadow:0 20px 45px rgba(0,0,0,.12)}
.exo-subscription-hero-card>span{font-size:9px;font-weight:900;letter-spacing:.16em;color:#e3bd51}.exo-subscription-hero-card h2{margin-top:10px;font-size:28px;line-height:1.12;font-weight:900}.exo-subscription-benefits{display:grid;gap:10px;margin-top:22px}.exo-subscription-benefits p{margin:0;padding:11px 12px;border-radius:13px;background:rgba(255,255,255,.055);color:#d5deea;font-size:11px;line-height:1.5}
.exo-services-subscribe-cta{padding:66px 0;background:#fff;border-top:1px solid #edf1f5}.exo-services-subscribe-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;padding:30px 34px;border-radius:26px;background:#081936;color:#fff}.exo-services-subscribe-shell span{font-size:9px;font-weight:900;letter-spacing:.17em;color:#e2bd52}.exo-services-subscribe-shell h2{margin-top:8px;font-size:28px;line-height:1.15;font-weight:900}.exo-services-subscribe-shell p{margin-top:7px;color:#c7d2e0;font-size:11px;line-height:1.7}.exo-services-subscribe-shell a{padding:12px 15px;border-radius:11px;background:#cba238;color:#081936;font-size:10px;font-weight:900;white-space:nowrap}

.exo-about-assist-photos img,.exo-intern-hero-visual>img,.exo-intern-form-media img{background:#eef2f7}
@media(max-width:900px){.exo-subscription-hero-shell,.exo-services-subscribe-shell{grid-template-columns:1fr}}
@media(max-width:767px){.exo-update-dismiss{width:24px;height:24px;font-size:17px}.exo-update-shell{padding-right:8px}.exo-subscription-hero{padding:58px 0}.exo-subscription-hero-shell{width:min(100% - 28px,1180px);gap:34px}.exo-services-subscribe-shell{width:min(100% - 28px,1180px);padding:25px 20px}}


/* EXO v49: Insight dismiss is temporary only; refresh restores the bar. */


/* =========================================================
   EXO ABOUT SINGLE PHOTO + NAVBAR COMPACT — V50
   ========================================================= */
.exo-about-assist-single-photo{
  height:360px;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(135deg,#eef2f7,#e7edf5);
}
.exo-about-assist-single-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

@media (min-width:1280px){
  #exo-main-header-container{
    max-width:1440px;
    padding-left:20px !important;
    padding-right:20px !important;
  }
  #exo-main-header-row{
    height:68px !important;
    gap:8px !important;
  }
  #exo-main-logo{
    min-width:84px;
  }
  #exo-main-logo .relative{
    height:46px !important;
  }
  #exo-main-logo img{
    height:44px !important;
  }
  #exo-main-nav{
    gap:12px !important;
    margin-left:12px !important;
    margin-right:12px !important;
  }
  #exo-main-nav > div{
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  #exo-main-nav > a,
  #exo-main-nav > div > button,
  #exo-main-nav > div > a{
    padding-top:5px !important;
    padding-bottom:5px !important;
    line-height:1.1 !important;
  }
  #exo-main-header-actions{
    gap:7px !important;
  }
  #exo-main-header-actions [data-exo-lang-wrap]{
    margin-right:4px !important;
  }
  #exo-main-header-actions [data-exo-lang-trigger]{
    min-width:132px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
  #exo-account-header-btn{
    min-height:38px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
}
@media (min-width:1280px) and (max-width:1399px){
  #exo-main-nav{
    gap:10px !important;
    margin-left:8px !important;
    margin-right:8px !important;
  }
  #exo-main-nav > a,
  #exo-main-nav > div > button,
  #exo-main-nav > div > a{
    font-size:11.5px !important;
  }
  #exo-main-header-actions [data-exo-lang-trigger]{
    min-width:122px !important;
  }
}
@media(max-width:900px){
  .exo-about-assist-single-photo{height:330px}
}
@media(max-width:600px){
  .exo-about-assist-single-photo{height:280px}
}


/* =========================================================
   EXO ROUTE SPEED + CONTEXT PHOTOS — V51
   ========================================================= */
.exo-context-visual{position:relative;width:min(1180px,calc(100% - 40px));height:260px;margin:28px auto 44px;border-radius:26px;overflow:hidden;background:#e9eef4;box-shadow:0 14px 34px rgba(11,32,70,.07)}
.exo-context-visual img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88) contrast(.98)}
.exo-context-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,19,43,.82) 0%,rgba(6,19,43,.44) 42%,rgba(6,19,43,.06) 78%)}
.exo-context-visual figcaption{position:absolute;z-index:2;left:30px;bottom:28px;max-width:570px;color:#fff}
.exo-context-visual figcaption span{display:block;color:#e6c258;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.exo-context-visual figcaption strong{display:block;margin-top:8px;font-size:24px;line-height:1.12;font-weight:900}
.exo-context-visual figcaption small{display:block;margin-top:8px;color:#cbd5e1;font-size:9px}
.exo-route-loading-indicator{position:fixed;left:0;top:0;height:2px;background:#cba238;z-index:99999;transition:width .18s ease,opacity .2s ease;pointer-events:none}
@media(max-width:640px){.exo-context-visual{width:min(100% - 28px,1180px);height:220px;margin:20px auto 34px;border-radius:20px}.exo-context-visual figcaption{left:20px;right:20px;bottom:20px}.exo-context-visual figcaption strong{font-size:19px}.exo-context-visual:after{background:linear-gradient(0deg,rgba(6,19,43,.85),rgba(6,19,43,.08) 75%)}}

/* =========================================================
   EXO ROUTE HERO PHOTOGRAPHY — V53
   Photography is cropped to the existing hero dimensions.
   Original EXO navy or warm-gold hero identity remains dominant.
   ========================================================= */
.exo-context-visual{display:none!important}
.exo-route-photo-hero{
  position:relative;
  overflow:hidden;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:var(--exo-route-photo-position,center)!important;
}
/* Navy heroes keep the original deep-navy gradient first, with photography underneath. */
.exo-route-photo-hero--dark{
  background-image:
    linear-gradient(90deg,rgba(6,19,43,.985) 0%,rgba(11,32,70,.955) 38%,rgba(18,54,104,.80) 68%,rgba(18,54,104,.52) 100%),
    radial-gradient(circle at 79% 16%,rgba(203,162,56,.17),transparent 25%),
    var(--exo-route-photo)!important;
  background-blend-mode:normal,normal,normal!important;
}
/* Warm heroes preserve the original ivory/gold direction instead of becoming plain photos. */
.exo-route-photo-hero--light{
  background-image:
    linear-gradient(90deg,rgba(248,245,238,.99) 0%,rgba(255,253,248,.97) 38%,rgba(255,244,201,.84) 69%,rgba(255,244,201,.58) 100%),
    radial-gradient(circle at 82% 18%,rgba(228,191,92,.30),transparent 28%),
    var(--exo-route-photo)!important;
  background-blend-mode:normal,normal,normal!important;
}
.exo-route-photo-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:radial-gradient(circle at 82% 18%,rgba(203,162,56,.11),transparent 30%);
}
/* Do not change direct child positioning: some heroes contain intentionally absolute decorations. */
.exo-route-photo-hero .exo-page-hero-shell,
.exo-route-photo-hero .exo-kmk-hero-grid,
.exo-route-photo-hero .exo-bi-hero-grid,
.exo-route-photo-hero .exo-localtax-shell,
.exo-route-photo-hero .exo-subscription-hero-shell,
.exo-route-photo-hero > .max-w-7xl{
  position:relative;
  z-index:2;
}
/* Explicitly retain the original hero sizing. The photo always crops; it never dictates height. */
.exo-page-hero.exo-route-photo-hero .exo-page-hero-shell{min-height:390px;padding-top:68px;padding-bottom:68px}
.exo-kmk-hero.exo-route-photo-hero,.exo-bi-hero.exo-route-photo-hero,.exo-subscription-hero.exo-route-photo-hero{padding-top:72px;padding-bottom:72px}
.exo-localtax-hero.exo-route-photo-hero{padding-top:78px;padding-bottom:78px}
.exo-page-hero--workshop.exo-route-photo-hero > .absolute{position:absolute!important}
@media(max-width:1023px){
  .exo-page-hero.exo-route-photo-hero .exo-page-hero-shell{min-height:350px;padding-top:58px;padding-bottom:58px}
}
@media(max-width:767px){
  .exo-route-photo-hero--dark{
    background-image:
      linear-gradient(180deg,rgba(6,19,43,.97) 0%,rgba(11,32,70,.93) 58%,rgba(18,54,104,.78) 100%),
      var(--exo-route-photo)!important;
  }
  .exo-route-photo-hero--light{
    background-image:
      linear-gradient(180deg,rgba(248,245,238,.98) 0%,rgba(255,253,248,.95) 58%,rgba(255,244,201,.84) 100%),
      var(--exo-route-photo)!important;
  }
  .exo-page-hero.exo-route-photo-hero .exo-page-hero-shell{min-height:0;padding-top:46px;padding-bottom:42px}
  .exo-kmk-hero.exo-route-photo-hero,.exo-bi-hero.exo-route-photo-hero,.exo-subscription-hero.exo-route-photo-hero{padding-top:58px;padding-bottom:58px}
  .exo-localtax-hero.exo-route-photo-hero{padding-top:58px;padding-bottom:58px}
  .exo-route-photo-hero{background-position:center!important}
}

/* =========================================================
   EXO BANK INDONESIA DATA CENTER — V53
   ========================================================= */
.exo-bi-max{width:min(1180px,calc(100% - 40px));margin:0 auto}
.exo-bi-hero{padding:72px 0;background:linear-gradient(135deg,#071833,#0b2046 60%,#163b70);color:#fff}
.exo-bi-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center}
.exo-bi-eyebrow,.exo-bi-kicker{font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#e2bd52}
.exo-bi-hero h1{margin-top:14px;font-size:clamp(42px,5vw,66px);line-height:1;letter-spacing:-.045em;font-weight:900}
.exo-bi-hero p{margin-top:16px;max-width:680px;color:#c8d3e1;font-size:13px;line-height:1.8}
.exo-bi-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.exo-bi-hero-actions a{padding:11px 14px;border-radius:11px;font-size:10px;font-weight:900}.exo-bi-hero-actions a:first-child{background:#cba238;color:#0b2046}.exo-bi-hero-actions a:last-child{border:1px solid rgba(255,255,255,.2);color:#fff}
.exo-bi-snapshot{padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:rgba(255,255,255,.065);backdrop-filter:blur(12px)}.exo-bi-snapshot>span{font-size:9px;font-weight:900;letter-spacing:.16em;color:#e2bd52}.exo-bi-snapshot>strong{display:block;margin-top:9px;font-size:20px}.exo-bi-snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.exo-bi-snapshot-grid>div{padding:14px;border-radius:15px;background:rgba(255,255,255,.07)}.exo-bi-snapshot small{display:block;color:#b9c6d7;font-size:9px;font-weight:900}.exo-bi-snapshot b{display:block;margin-top:5px;font-size:14px}.exo-bi-snapshot em{display:block;margin-top:4px;font-style:normal;font-size:9px}.exo-bi-snapshot-note{margin-top:12px!important;color:#9fb0c6!important;font-size:9px!important}.exo-bi-snapshot .up,.exo-bi-table .up{color:#22c55e;font-weight:900}.exo-bi-snapshot .down,.exo-bi-table .down{color:#ef4444;font-weight:900}.exo-bi-snapshot .flat,.exo-bi-table .flat{color:#94a3b8}
.exo-bi-data{padding:70px 0;background:#f7f9fb}.exo-bi-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:24px}.exo-bi-toolbar h2{margin-top:7px;color:#0b2046;font-size:32px;font-weight:900}.exo-bi-toolbar p{margin-top:5px;color:#64748b;font-size:11px}.exo-bi-toolbar-actions{display:flex;align-items:end;gap:9px}.exo-bi-toolbar label,.exo-bi-searchbar label{display:flex;flex-direction:column;gap:6px}.exo-bi-toolbar label span,.exo-bi-searchbar label span{font-size:9px;font-weight:800;color:#64748b}.exo-bi-toolbar input,.exo-bi-searchbar input{min-height:41px;padding:0 12px;border:1px solid #dbe3eb;border-radius:11px;background:#fff;font-size:11px}.exo-bi-toolbar button{min-height:41px;padding:0 13px;border-radius:11px;background:#0b2046;color:#fff;font-size:10px;font-weight:900}
.exo-bi-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px}.exo-bi-history,.exo-bi-main{border:1px solid #e2e8f0;border-radius:22px;background:#fff}.exo-bi-history{overflow:hidden}.exo-bi-history-head{padding:18px;border-bottom:1px solid #edf1f5}.exo-bi-history-head span{display:block;color:#0b2046;font-size:12px;font-weight:900}.exo-bi-history-head small{display:block;margin-top:3px;color:#94a3b8;font-size:9px}.exo-bi-history-list{display:grid;max-height:610px;overflow:auto}.exo-bi-history-list button{padding:13px 17px;border-bottom:1px solid #f0f3f6;text-align:left;background:#fff;transition:.15s}.exo-bi-history-list button:hover{background:#f8fafc}.exo-bi-history-list span{display:block;color:#b08824;font-size:8px;font-weight:900;text-transform:uppercase}.exo-bi-history-list strong{display:block;margin-top:3px;color:#334155;font-size:10px}
.exo-bi-main{overflow:hidden}.exo-bi-searchbar{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid #edf1f5}.exo-bi-source-status{display:flex;align-items:center;gap:8px;color:#64748b;font-size:10px}.exo-bi-source-status i{width:8px;height:8px;border-radius:50%;background:#f59e0b}.exo-bi-source-status i.live{background:#22c55e}.exo-bi-source-status i.cached{background:#f59e0b}.exo-bi-table-wrap{overflow:auto}.exo-bi-table{width:100%;border-collapse:collapse}.exo-bi-table th{padding:13px 14px;background:#f8fafc;color:#64748b;font-size:9px;text-align:left;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.exo-bi-table td{padding:14px;border-top:1px solid #eef2f6;color:#475569;font-size:10.5px;white-space:nowrap}.exo-bi-table td strong{color:#0b2046}.exo-bi-table .code{display:inline-flex;padding:4px 7px;border-radius:7px;background:#eef2f7;color:#0b2046;font-weight:900}.exo-bi-table td.value{font-weight:900;color:#0b2046}.exo-bi-table td.value.secondary{color:#475569}.exo-bi-empty{padding:36px;text-align:center;color:#94a3b8;font-size:11px}.exo-bi-footnote{display:flex;justify-content:space-between;gap:20px;padding:15px 20px;border-top:1px solid #edf1f5;background:#fbfcfd}.exo-bi-footnote p{max-width:720px;color:#94a3b8;font-size:9px;line-height:1.6}.exo-bi-footnote span{color:#64748b;font-size:9px;white-space:nowrap}

/* EXO Insight: directional exchange-rate arrows */
.exo-update-kurs-pair{display:inline-flex;align-items:center;gap:4px}.exo-update-kurs-code{font-weight:850}.exo-update-kurs-arrow{font-style:normal;font-weight:950}.exo-update-kurs-arrow.is-up{color:#16a34a}.exo-update-kurs-arrow.is-down{color:#dc2626}.exo-update-kurs-arrow.is-flat{color:#94a3b8}
@media(max-width:900px){.exo-bi-hero-grid,.exo-bi-layout{grid-template-columns:1fr}.exo-bi-history-list{grid-template-columns:repeat(2,1fr);max-height:330px}.exo-bi-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.exo-bi-max{width:min(100% - 28px,1180px)}.exo-bi-snapshot-grid{grid-template-columns:1fr}.exo-bi-toolbar-actions,.exo-bi-searchbar,.exo-bi-footnote{align-items:stretch;flex-direction:column}.exo-bi-history-list{grid-template-columns:1fr}}


/* =========================================================
   EXO TAX TOOLS MEGA MENU BALANCE — V54
   4 balanced columns × 2 tools.
   ========================================================= */
@media (min-width:1280px) {
  #menu-tax-tools-dropdown.exo-tax-tools-mega-shell {
    width: min(1040px, calc(100vw - 44px));
  }
  .exo-tax-tools-mega-top {
    padding: 15px 18px 12px;
  }
  .exo-tax-tools-mega-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
  }
  .exo-tax-tools-group {
    display: flex;
    flex-direction: column;
    min-height: 190px;
    padding: 15px 12px 14px;
  }
  .exo-tax-tools-group-label {
    min-height: 20px;
    display: flex;
    align-items: center;
    margin-bottom: 6px;
  }
  .exo-tax-tools-item {
    flex: 1 1 0;
    min-height: 72px;
    margin-top: 5px;
    padding: 10px;
  }
  .exo-tax-tools-item b { font-size: 10.5px; }
  .exo-tax-tools-item small { font-size: 8.7px; line-height: 1.4; }
}


/* =========================================================
   EXO FINAL SERVICES + ABOUT BLEND — V55
   ========================================================= */
.exo-services-catalog{padding:68px 0 74px;background:#fff}
.exo-services-catalog-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.exo-services-catalog-head{display:grid;grid-template-columns:1fr .75fr;gap:56px;align-items:end;margin-bottom:28px}
.exo-services-catalog-head>div>span{display:block;font-size:9px;font-weight:900;letter-spacing:.18em;color:#a97d18;text-transform:uppercase}
.exo-services-catalog-head h2{margin-top:9px;color:#0b2046;font-size:clamp(28px,3.2vw,42px);line-height:1.08;letter-spacing:-.035em;font-weight:900}
.exo-services-catalog-head>p{color:#667383;font-size:12px;line-height:1.75}
.exo-services-compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.exo-service-compact-card{border:1px solid #dde5ee;border-radius:22px;background:#f9fbfd;overflow:hidden;box-shadow:0 3px 10px rgba(11,32,70,.035);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.exo-service-compact-card:hover{border-color:#cfd9e5;box-shadow:0 12px 26px rgba(11,32,70,.075);transform:translateY(-1px)}
.exo-service-compact-card[open]{background:#fff;border-color:rgba(203,162,56,.42);box-shadow:0 14px 32px rgba(11,32,70,.08)}
.exo-service-compact-card summary{list-style:none;cursor:pointer;padding:22px 23px 18px;min-height:250px;display:flex;flex-direction:column}
.exo-service-compact-card summary::-webkit-details-marker{display:none}
.exo-service-compact-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.exo-service-compact-top .exo-service-icon{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#fff9eb;border:1px solid #ead39b;color:#0b2046}
.exo-service-compact-top .exo-service-icon svg{width:22px;height:22px}
.exo-service-number{font-size:9px;font-weight:900;letter-spacing:.12em;color:#a5afbd}
.exo-service-compact-copy{margin-top:18px}
.exo-service-compact-copy h3{color:#0b2046;font-size:18px;line-height:1.2;font-weight:900}
.exo-service-compact-sub{margin-top:5px;color:#a57914;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.exo-service-compact-desc{margin-top:13px;color:#667383;font-size:11px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.exo-service-compact-toggle{margin-top:auto;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#0b2046;font-size:10px;font-weight:850}
.exo-service-compact-toggle svg{width:17px;height:17px;transition:transform .2s ease}
.exo-service-compact-card[open] .exo-service-compact-toggle svg{transform:rotate(180deg)}
.exo-service-compact-details{padding:0 23px 23px;border-top:1px solid #e7ecf2}
.exo-service-detail-label{display:block;padding-top:17px;color:#a57914;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.exo-service-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}
.exo-service-scope-grid>div{display:grid;grid-template-columns:16px 1fr;gap:7px;align-items:start;padding:10px 11px;border-radius:13px;background:#f7f9fb;border:1px solid #e8edf2}
.exo-service-scope-grid span{color:#b98b20;font-size:10px;font-weight:900;line-height:1.5}
.exo-service-scope-grid p{margin:0;color:#526071;font-size:9.5px;line-height:1.55}

/* About visual: one full-bleed photo blended into the navy panel. */
.exo-about-assist{padding:74px 0;background:#fff}
.exo-about-assist-grid--blend{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:520px;overflow:hidden;border-radius:0;box-shadow:0 18px 46px rgba(11,32,70,.09);background:#0b2046}
.exo-about-assist-visual--full{position:relative;min-height:520px;padding:0!important;background:#0b2046!important;border:0!important;overflow:hidden}
.exo-about-assist-visual--full>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.88) contrast(.98)}
.exo-about-assist-photo-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,19,43,.14) 0%,rgba(6,19,43,.16) 48%,rgba(11,32,70,.96) 100%),linear-gradient(0deg,rgba(6,19,43,.72) 0%,rgba(6,19,43,.03) 62%)}
.exo-about-assist-photo-copy{position:absolute;left:34px;right:46px;bottom:34px;z-index:2;max-width:520px}
.exo-about-assist-photo-copy span{display:block;color:#e7c45c;font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.exo-about-assist-photo-copy strong{display:block;margin-top:9px;color:#fff;font-size:clamp(24px,2.4vw,34px);line-height:1.08;letter-spacing:-.025em;font-weight:900;text-shadow:0 2px 16px rgba(0,0,0,.22)}
.exo-about-assist-copy--blend{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:62px 60px 62px 48px;background:linear-gradient(90deg,#0b2046 0%,#0b2046 72%,#102e57 100%);color:#fff}
.exo-about-assist-copy--blend:before{content:"";position:absolute;top:0;bottom:0;left:-72px;width:74px;background:linear-gradient(90deg,rgba(11,32,70,0),#0b2046 88%);pointer-events:none}
.exo-about-assist-copy--blend>span{color:#e4bf57}
.exo-about-assist-copy--blend h2{margin-top:12px;font-size:clamp(34px,4vw,52px);line-height:1.03;letter-spacing:-.04em;font-weight:900}
.exo-about-assist-copy--blend p{margin-top:18px;color:#d1dae6;font-size:12px;line-height:1.8}
.exo-about-assist-copy--blend a{display:inline-flex;align-self:flex-start;margin-top:25px;padding:11px 15px;border:1px solid rgba(255,255,255,.3);font-size:10px;font-weight:900;color:#fff;transition:.2s}
.exo-about-assist-copy--blend a:hover{background:#cba238;color:#081936;border-color:#cba238}
.exo-about-assist-logo{display:none!important}
.exo-aboutv2-credential-logo--image img{width:100%;height:100%;object-fit:contain;border-radius:8px}

@media(max-width:900px){
  .exo-services-catalog-head{grid-template-columns:1fr;gap:15px}
  .exo-services-compact-grid{grid-template-columns:1fr}
  .exo-service-compact-card summary{min-height:0}
  .exo-about-assist-grid--blend{grid-template-columns:1fr;min-height:0}
  .exo-about-assist-visual--full{min-height:390px}
  .exo-about-assist-photo-overlay{background:linear-gradient(0deg,rgba(11,32,70,.94) 0%,rgba(11,32,70,.12) 65%)}
  .exo-about-assist-copy--blend{padding:40px 32px}
  .exo-about-assist-copy--blend:before{display:none}
}
@media(max-width:600px){
  .exo-services-catalog{padding:52px 0 58px}
  .exo-services-catalog-shell{width:min(100% - 28px,1180px)}
  .exo-services-compact-grid{gap:12px}
  .exo-service-compact-card summary{padding:20px 18px 16px}
  .exo-service-compact-details{padding:0 18px 18px}
  .exo-service-scope-grid{grid-template-columns:1fr}
  .exo-about-assist{padding:52px 0}
  .exo-about-assist-visual--full{min-height:330px}
  .exo-about-assist-photo-copy{left:22px;right:22px;bottom:22px}
  .exo-about-assist-copy--blend{padding:32px 22px}
}


/* =========================================================
   EXO HERO AI BUTTON — CLIPPING FIX V56
   ========================================================= */
#hero-actions > a.exo-hero-ai-btn {
  min-width: 238px !important;
  min-height: 50px !important;
  padding: 0 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border: 1px solid rgba(203,162,56,.56) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.075) !important;
  background-image: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 8px 22px rgba(3,14,34,.12) !important;
  color: #e8c45d !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  transform: translateZ(0) !important;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
#hero-actions > a.exo-hero-ai-btn::before,
#hero-actions > a.exo-hero-ai-btn::after {
  content: none !important;
  display: none !important;
}
#hero-actions > a.exo-hero-ai-btn:hover {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(224,185,74,.88) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 10px 26px rgba(3,14,34,.16) !important;
  transform: translateY(-1px) !important;
}
#hero-actions > a.exo-hero-ai-btn:focus-visible {
  outline: 2px solid rgba(224,185,74,.75) !important;
  outline-offset: 3px !important;
}
@media (max-width: 639px) {
  #hero-actions > a.exo-hero-ai-btn {
    width: 100% !important;
    min-width: 0 !important;
    font-size: .875rem !important;
  }
}

/* =========================================================
   EXO HERO PHOTOGRAPHY CLEANUP — V57
   Remove decorative square hero cards and complete the photo-led hero system.
   ========================================================= */
.exo-page-hero .exo-page-hero-art{display:none!important}
.exo-page-hero .exo-page-hero-shell{
  grid-template-columns:minmax(0,1fr);
  gap:0;
  max-width:min(1180px,calc(100% - 40px));
}

.exo-route-photo-hero .exo-aboutv2-shell,
.exo-route-photo-hero .exo-intern-shell,
.exo-route-photo-hero .exo-page-hero-shell,
.exo-route-photo-hero .exo-kmk-hero-grid,
.exo-route-photo-hero .exo-bi-hero-grid,
.exo-route-photo-hero .exo-localtax-shell,
.exo-route-photo-hero .exo-subscription-hero-shell,
.exo-route-photo-hero > .max-w-7xl{
  position:relative;
  z-index:2;
}

.exo-aboutv2-hero.exo-route-photo-hero,
.exo-intern-hero.exo-route-photo-hero{
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:var(--exo-route-photo-position,center)!important;
}

.exo-aboutv2-hero.exo-route-photo-hero .exo-aboutv2-copy,
.exo-intern-hero.exo-route-photo-hero .exo-intern-copy{
  max-width:860px;
}

.exo-aboutv2-hero.exo-route-photo-hero .exo-aboutv2-copy > p,
.exo-intern-hero.exo-route-photo-hero .exo-intern-copy > p{
  color:#d7dfeb;
}

.exo-intern-hero.exo-route-photo-hero .exo-intern-shell{
  grid-template-columns:minmax(0,1fr);
  gap:0;
  min-height:520px;
}
.exo-intern-hero.exo-route-photo-hero .exo-intern-hero-visual{display:none!important}

@media(max-width:767px){
  .exo-page-hero .exo-page-hero-shell{max-width:min(100% - 28px,1180px)}
  .exo-intern-hero.exo-route-photo-hero .exo-intern-shell{min-height:0}
}


/* =========================================================
   EXO ACCOUNT SPLIT LOGIN — V58
   ========================================================= */
.exo-account-login-stage{min-height:calc(100vh - 124px);background:#fff}
.exo-account-login-shell{min-height:calc(100vh - 124px);display:grid;grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr)}
.exo-account-login-brand{position:relative;overflow:hidden;min-height:700px;padding:42px clamp(34px,5vw,76px);display:flex;flex-direction:column;color:#fff;background:radial-gradient(circle at 82% 84%,rgba(30,148,154,.28),transparent 30%),radial-gradient(circle at 18% 18%,rgba(203,162,56,.12),transparent 25%),linear-gradient(145deg,#0a254f 0%,#123b73 52%,#0b5968 100%)}
.exo-account-login-brand::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 88%);pointer-events:none}
.exo-account-login-brand-top{position:relative;z-index:3;display:flex;align-items:center;gap:14px}
.exo-account-login-logo{width:88px;max-height:48px;object-fit:contain;background:#fff;border-radius:12px;padding:6px 8px}
.exo-account-login-brand-top strong{display:block;font-size:13px;font-weight:900}.exo-account-login-brand-top span{display:block;margin-top:3px;color:#d7e2ef;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.exo-account-login-brand-copy{position:relative;z-index:3;width:min(660px,100%);margin:auto 0;padding:76px 0 58px}
.exo-account-login-eyebrow,.exo-account-login-form-kicker{display:block;color:#e5c35d;font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.exo-account-login-brand-copy h1{margin-top:12px;font-size:clamp(34px,4vw,55px);line-height:1.02;letter-spacing:-.04em;font-weight:900}
.exo-account-login-brand-copy>p{margin-top:17px;max-width:620px;color:#d6e0ec;font-size:13px;line-height:1.8}
.exo-account-login-benefits{display:grid;gap:14px;margin-top:34px}.exo-account-login-benefits>div{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}.exo-account-login-benefits b{width:34px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:rgba(255,255,255,.12);color:#fff;font-size:9px}.exo-account-login-benefits strong{display:block;font-size:11px}.exo-account-login-benefits small{display:block;margin-top:3px;color:#c5d2e2;font-size:9.5px;line-height:1.55}
.exo-account-login-copyright{position:relative;z-index:3;color:#c8d5e5;font-size:9px}
.exo-account-login-orbit{position:absolute;inset:0;z-index:1;pointer-events:none}.exo-account-float-icon{position:absolute;width:42px;height:42px;display:grid;place-items:center;color:rgba(255,255,255,.14);animation:exo-account-float 7s ease-in-out infinite}.exo-account-float-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.exo-account-float-icon--1{left:12%;top:18%;animation-delay:-1s}.exo-account-float-icon--2{left:72%;top:12%;animation-delay:-3.5s}.exo-account-float-icon--3{left:65%;top:37%;animation-delay:-5s}.exo-account-float-icon--4{left:27%;top:48%;animation-delay:-2s}.exo-account-float-icon--5{left:82%;top:63%;animation-delay:-4.5s}.exo-account-float-icon--6{left:8%;top:70%;animation-delay:-6s}.exo-account-float-icon--7{left:47%;top:74%;animation-delay:-2.8s}.exo-account-float-icon--8{left:37%;top:26%;animation-delay:-5.8s}.exo-account-float-icon--9{left:87%;top:29%;animation-delay:-.5s}
@keyframes exo-account-float{0%,100%{transform:translate3d(0,0,0) rotate(-2deg);opacity:.55}50%{transform:translate3d(0,-14px,0) rotate(4deg);opacity:1}}
.exo-account-login-formside{position:relative;min-height:700px;padding:36px clamp(28px,5vw,72px);display:flex;align-items:center;justify-content:center;background:#fff}
.exo-account-login-back{position:absolute;left:clamp(28px,5vw,72px);top:34px;color:#334155;font-size:10px;font-weight:800}
.exo-account-login-formwrap{width:min(440px,100%)}.exo-account-login-formwrap h2{margin-top:9px;color:#0b2046;font-size:31px;line-height:1.1;letter-spacing:-.03em;font-weight:900}.exo-account-login-formwrap>p{margin-top:8px;color:#64748b;font-size:12px;line-height:1.7}
.exo-account-page-form{display:grid;gap:16px;margin-top:28px}.exo-account-page-form label>span{display:block;margin-bottom:7px;color:#0f172a;font-size:11px;font-weight:800}.exo-account-input-wrap{position:relative}.exo-account-input-prefix{position:absolute;inset:0 auto 0 14px;display:flex;align-items:center;color:#94a3b8;font-size:13px;font-weight:800}
.exo-account-input-wrap input{width:100%;min-height:48px;padding:0 14px;border:1px solid #d8e1ea;border-radius:12px;background:#fff;color:#0f172a;font-size:12px;outline:none;transition:border-color .18s,box-shadow .18s}.exo-account-input-prefix+input{padding-left:32px}.exo-account-input-wrap input:focus{border-color:#cba238;box-shadow:0 0 0 3px rgba(203,162,56,.13)}
.exo-account-password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);min-height:34px;padding:0 10px;border-radius:9px;color:#64748b;font-size:10px;font-weight:800}.exo-account-password-toggle:hover{background:#f1f5f9;color:#0b2046}
.exo-account-login-submit{min-height:48px;border-radius:12px;background:#0b2046;color:#fff;font-size:11px;font-weight:900;transition:background .2s,transform .2s}.exo-account-login-submit:hover{background:#163b70;transform:translateY(-1px)}
.exo-account-login-divider{position:relative;margin-top:24px;text-align:center}.exo-account-login-divider::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#e5eaf0}.exo-account-login-divider span{position:relative;padding:0 11px;background:#fff;color:#94a3b8;font-size:10px}
.exo-account-register-link{width:100%;min-height:45px;margin-top:14px;border:1px solid #d8e1ea;border-radius:12px;color:#0b2046;background:#fff;font-size:11px;font-weight:900;transition:border-color .18s,background .18s}.exo-account-register-link:hover{border-color:#cba238;background:#fffaf0}
.exo-account-login-security{margin-top:18px!important;padding:12px 13px;border-radius:12px;background:#f8fafc;color:#788494!important;font-size:9px!important;line-height:1.6!important}
@media(max-width:900px){.exo-account-login-shell{grid-template-columns:1fr}.exo-account-login-brand{min-height:auto;padding:34px 26px 38px}.exo-account-login-brand-copy{padding:54px 0 24px}.exo-account-login-formside{min-height:auto;padding:82px 26px 48px}.exo-account-login-back{left:26px;top:28px}}
@media(max-width:600px){.exo-account-login-stage,.exo-account-login-shell{min-height:0}.exo-account-login-logo{width:76px}.exo-account-login-brand-copy h1{font-size:36px}.exo-account-login-formside{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){.exo-account-float-icon{animation:none!important}}


/* =========================================================
   EXO ACCOUNT LOGIN ROUTE + FULL-BLEED FIX — V59
   ========================================================= */
#view-account-page #exo-account-guest.exo-account-login-stage{
  position:relative;
  left:50%;
  width:100vw;
  max-width:none;
  margin-left:-50vw;
  margin-top:-2.5rem;
  margin-bottom:-2.5rem;
}
#view-account-page #exo-account-guest .exo-account-login-shell{
  width:100%;
  max-width:none;
}
#view-account-page #exo-account-guest:not(.hidden) ~ #exo-account-member{display:none!important}
.exo-update-brand{gap:8px}
@media(min-width:1024px){
  #view-account-page #exo-account-guest.exo-account-login-stage{
    margin-top:-3.5rem;
    margin-bottom:-3.5rem;
  }
}

/* =========================================================
   EXO HERO TEXT-FIRST CLEANUP — V60
   Keep photography + EXO gradient; remove secondary hero cards/panels.
   ========================================================= */
/* Home: retain headline, description and primary actions only. */
#hero-main-grid{display:block!important;max-width:1180px;margin:0 auto}
#hero-copy-main{max-width:880px!important}
#hero-benefits,
#hero-legal-card-wrap{display:none!important}

/* Standard hero art cards were already retired in v57; keep them hard-disabled. */
.exo-page-hero .exo-page-hero-art{display:none!important}

/* Subscription / tax data / local landing right-side information panels. */
.exo-subscription-hero-card,
.exo-kmk-snapshot,
.exo-bi-snapshot,
.exo-localtax-trust{display:none!important}
.exo-subscription-hero-shell,
.exo-kmk-hero-grid,
.exo-bi-hero-grid,
.exo-localtax-shell{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.exo-subscription-hero-shell>div:first-child,
.exo-kmk-hero-grid>div:first-child,
.exo-bi-hero-grid>div:first-child,
.exo-localtax-copy{max-width:850px}

/* Remove secondary pill/tag rows from hero areas; CTA links remain available. */
.exo-subscription-tags,
.exo-intern-tags,
.exo-aboutv2-tags{display:none!important}

/* Internship: text + CTA over the photo background only. */
.exo-intern-hero-visual{display:none!important}
.exo-intern-shell--visual{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.exo-intern-copy{max-width:860px!important}

/* Academy workshop: remove the audience panel and decorative floating layers. */
#view-kelas-page>.exo-page-hero>.absolute{display:none!important}
#view-kelas-page>.exo-page-hero>.max-w-7xl{display:block!important;max-width:1180px!important}
#view-kelas-page>.exo-page-hero>.max-w-7xl>.lg\:col-span-7{max-width:850px!important}
#view-kelas-page>.exo-page-hero>.max-w-7xl>.lg\:col-span-5{display:none!important}
#view-kelas-page>.exo-page-hero>.max-w-7xl>.lg\:col-span-7>.mt-7.flex.flex-wrap{display:none!important}

/* E-book: remove the book mock-up and feature pills; photography remains the visual. */
#view-ebook-page>.exo-page-hero>.max-w-7xl{display:block!important;max-width:1180px!important}
#view-ebook-page>.exo-page-hero>.max-w-7xl>.lg\:col-span-7{max-width:850px!important}
#view-ebook-page>.exo-page-hero>.max-w-7xl>.lg\:col-span-5{display:none!important}
#view-ebook-page>.exo-page-hero>.max-w-7xl>.lg\:col-span-7>.mt-7.flex.flex-wrap{display:none!important}

/* About: remove decorative EXO watermark/grid from the hero; photo + gradient are enough. */
.exo-aboutv2-hero::before,
.exo-aboutv2-hero::after{display:none!important}

/* Video hero: remove old glow decorations so the hero is photo/gradient-led. */
#view-video-page .exo-video-hero-glow{display:none!important}

@media(max-width:767px){
  #hero-copy-main,
  .exo-subscription-hero-shell>div:first-child,
  .exo-kmk-hero-grid>div:first-child,
  .exo-bi-hero-grid>div:first-child,
  .exo-localtax-copy,
  .exo-intern-copy{max-width:100%!important}
}


/* =========================================================
   EXO ACCOUNT IMMERSIVE FULL-PAGE — V61
   Dedicated login viewport, stronger EXO navy/gold palette,
   denser + slightly faster tax/accounting icon motion.
   ========================================================= */
body.exo-account-guest-mode{
  min-height:100vh;
  overflow:hidden;
  background:#06132b;
}
body.exo-account-guest-mode > header,
body.exo-account-guest-mode > #exo-update-bar,
body.exo-account-guest-mode > #exo-footer-v4{
  display:none!important;
}
body.exo-account-guest-mode > main{
  flex:0 0 auto!important;
  min-height:100vh!important;
  height:100vh!important;
  overflow:hidden!important;
}
body.exo-account-guest-mode #view-account-page{
  min-height:100vh!important;
  height:100vh!important;
  overflow:hidden!important;
}
body.exo-account-guest-mode #view-account-page > section:not(#exo-account-member-hero){
  padding:0!important;
  margin:0!important;
  min-height:100vh!important;
  height:100vh!important;
  background:transparent!important;
  overflow:hidden!important;
}
body.exo-account-guest-mode #view-account-page > section:not(#exo-account-member-hero) > .max-w-6xl{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}
body.exo-account-guest-mode #exo-account-guest.exo-account-login-stage{
  position:static!important;
  left:auto!important;
  width:100%!important;
  height:100vh!important;
  min-height:100vh!important;
  margin:0!important;
}
body.exo-account-guest-mode #exo-account-guest .exo-account-login-shell{
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  max-width:none!important;
  grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);
}
.exo-account-login-brand{
  min-height:100vh;
  padding:clamp(34px,4.2vw,68px) clamp(38px,5.4vw,88px);
  background:
    radial-gradient(circle at 84% 84%,rgba(203,162,56,.22),transparent 27%),
    radial-gradient(circle at 16% 14%,rgba(203,162,56,.13),transparent 24%),
    radial-gradient(circle at 73% 24%,rgba(35,83,147,.32),transparent 31%),
    linear-gradient(138deg,#041126 0%,#071c3d 25%,#0b2046 58%,#123668 100%);
  border-right:1px solid rgba(203,162,56,.16);
}
.exo-account-login-brand::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg,#8b6511,#cba238,#e4bf5c,#cba238,#8b6511);
  opacity:.95;
}
.exo-account-login-brand::before{
  opacity:.74;
  background:
    linear-gradient(90deg,rgba(228,191,92,.035) 1px,transparent 1px),
    linear-gradient(rgba(228,191,92,.035) 1px,transparent 1px);
  background-size:48px 48px;
}
.exo-account-login-brand-top{gap:16px}
.exo-account-login-logo{
  width:94px;
  max-height:54px;
  border:1px solid rgba(203,162,56,.32);
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}
.exo-account-login-brand-top strong{font-size:14px;color:#fff}
.exo-account-login-brand-top span{color:#e5c35d}
.exo-account-login-brand-copy{
  width:min(700px,100%);
  padding:60px 0 42px;
}
.exo-account-login-eyebrow{color:#e4bf5c}
.exo-account-login-brand-copy h1{
  max-width:690px;
  font-size:clamp(40px,4.65vw,66px);
  line-height:.99;
  text-shadow:0 8px 30px rgba(0,0,0,.14);
}
.exo-account-login-brand-copy>p{
  max-width:650px;
  color:#cfdae9;
  font-size:13.5px;
}
.exo-account-login-benefits{max-width:620px;gap:15px;margin-top:30px}
.exo-account-login-benefits b{
  background:linear-gradient(145deg,rgba(203,162,56,.26),rgba(203,162,56,.12));
  border:1px solid rgba(228,191,92,.25);
  color:#f3d87d;
}
.exo-account-login-benefits strong{color:#fff;font-size:11.5px}
.exo-account-login-benefits small{color:#bfcddd}
.exo-account-login-copyright{color:#aebed2}

/* Floating icons: denser, more visible, still background-level. */
.exo-account-float-icon{
  width:46px;
  height:46px;
  color:rgba(228,191,92,.16);
  animation-duration:5.15s;
  animation-timing-function:ease-in-out;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.10));
}
.exo-account-float-icon:nth-child(3n){color:rgba(119,166,224,.18)}
.exo-account-float-icon:nth-child(4n){color:rgba(255,255,255,.13)}
.exo-account-float-icon svg{width:31px;height:31px;stroke-width:1.65}
.exo-account-float-icon--1{left:7%;top:18%;animation-delay:-.7s}
.exo-account-float-icon--2{left:73%;top:10%;animation-delay:-2.1s}
.exo-account-float-icon--3{left:62%;top:34%;animation-delay:-3.7s}
.exo-account-float-icon--4{left:28%;top:47%;animation-delay:-1.4s}
.exo-account-float-icon--5{left:84%;top:61%;animation-delay:-3.2s}
.exo-account-float-icon--6{left:6%;top:71%;animation-delay:-4.1s}
.exo-account-float-icon--7{left:47%;top:77%;animation-delay:-2.3s}
.exo-account-float-icon--8{left:37%;top:23%;animation-delay:-4.4s}
.exo-account-float-icon--9{left:88%;top:28%;animation-delay:-.3s}
.exo-account-float-icon--10{left:17%;top:32%;animation-delay:-2.8s}
.exo-account-float-icon--11{left:51%;top:13%;animation-delay:-1.8s}
.exo-account-float-icon--12{left:77%;top:45%;animation-delay:-4.6s}
.exo-account-float-icon--13{left:13%;top:56%;animation-delay:-3.5s}
.exo-account-float-icon--14{left:56%;top:59%;animation-delay:-.9s}
.exo-account-float-icon--15{left:91%;top:77%;animation-delay:-2.6s}
.exo-account-float-icon--16{left:32%;top:85%;animation-delay:-4.8s}
.exo-account-float-icon--17{left:67%;top:84%;animation-delay:-1.1s}
.exo-account-float-icon--18{left:23%;top:9%;animation-delay:-3.9s}
@keyframes exo-account-float{
  0%,100%{transform:translate3d(0,0,0) rotate(-2deg) scale(.98);opacity:.58}
  50%{transform:translate3d(6px,-20px,0) rotate(4deg) scale(1.04);opacity:1}
}

.exo-account-login-formside{
  min-height:100vh;
  padding:clamp(34px,4vw,64px) clamp(38px,5vw,78px);
  background:
    radial-gradient(circle at 82% 14%,rgba(203,162,56,.10),transparent 24%),
    linear-gradient(180deg,#fffdf8 0%,#ffffff 48%,#fbfcfe 100%);
  border-left:1px solid rgba(11,32,70,.05);
}
.exo-account-login-formside::before{
  content:"EXO";
  position:absolute;
  right:4%;
  bottom:2%;
  font-size:clamp(90px,12vw,190px);
  line-height:.8;
  font-weight:950;
  letter-spacing:-.08em;
  color:rgba(11,32,70,.018);
  pointer-events:none;
}
.exo-account-login-back{
  top:clamp(28px,4vw,54px);
  left:clamp(38px,5vw,78px);
  color:#0b2046;
}
.exo-account-login-back:hover{color:#a9770d}
.exo-account-login-formwrap{position:relative;z-index:2;width:min(460px,100%)}
.exo-account-login-form-kicker{color:#b48519}
.exo-account-login-formwrap h2{font-size:34px;color:#081936}
.exo-account-login-formwrap>p{color:#677489}
.exo-account-input-wrap input{
  min-height:50px;
  border-color:#d7dfE9;
  background:#fff;
}
.exo-account-input-wrap input:focus{
  border-color:#cba238;
  box-shadow:0 0 0 4px rgba(203,162,56,.12);
}
.exo-account-login-submit{
  min-height:50px;
  background:linear-gradient(100deg,#071a38,#0b2046 62%,#123668);
  box-shadow:0 12px 24px rgba(11,32,70,.13);
}
.exo-account-login-submit:hover{background:linear-gradient(100deg,#0b2046,#163b70)}
.exo-account-register-link{border-color:rgba(203,162,56,.45);color:#0b2046}
.exo-account-register-link:hover{border-color:#cba238;background:#fff8e7}
.exo-account-login-security{border:1px solid #edf0f4;background:#f8fafc}

@media(max-width:1100px){
  body.exo-account-guest-mode #exo-account-guest .exo-account-login-shell{grid-template-columns:minmax(0,1fr) minmax(390px,.82fr)}
  .exo-account-login-brand{padding-left:42px;padding-right:42px}
  .exo-account-login-brand-copy h1{font-size:48px}
  .exo-account-login-formside{padding-left:38px;padding-right:38px}
  .exo-account-login-back{left:38px}
}
@media(max-width:900px){
  body.exo-account-guest-mode{overflow:auto}
  body.exo-account-guest-mode > main,
  body.exo-account-guest-mode #view-account-page,
  body.exo-account-guest-mode #view-account-page > section:not(#exo-account-member-hero),
  body.exo-account-guest-mode #exo-account-guest.exo-account-login-stage{height:auto!important;min-height:100vh!important;overflow:visible!important}
  body.exo-account-guest-mode #exo-account-guest .exo-account-login-shell{height:auto!important;min-height:100vh!important;grid-template-columns:1fr}
  .exo-account-login-brand{min-height:580px;padding:34px 28px 42px}
  .exo-account-login-brand-copy{padding:52px 0 28px}
  .exo-account-login-brand-copy h1{font-size:42px}
  .exo-account-login-formside{min-height:620px;padding:82px 26px 48px}
  .exo-account-login-back{left:26px;top:28px}
  .exo-account-float-icon{opacity:.72}
}
@media(max-width:600px){
  .exo-account-login-brand{min-height:540px;padding:28px 20px 34px}
  .exo-account-login-brand-copy h1{font-size:36px}
  .exo-account-login-brand-copy>p{font-size:12px}
  .exo-account-login-benefits small{font-size:9px}
  .exo-account-float-icon:nth-child(n+13){display:none}
  .exo-account-login-formside{padding-left:18px;padding-right:18px}
}
@media(prefers-reduced-motion:reduce){
  .exo-account-float-icon{animation:none!important}
}


/* =========================================================
   EXO COMPACT FOOTER — V62
   ========================================================= */
#exo-footer-v4{
  padding-top:48px;
}
.exo-footer-v4-main{
  gap:clamp(34px,4.8vw,72px);
  padding-bottom:36px;
}
.exo-footer-v4-logo{
  margin-bottom:13px;
}
.exo-footer-v4-desc{
  line-height:1.65;
}
.exo-footer-v4-contact-list{
  gap:9px;
  margin-top:18px;
}
.exo-footer-v4-heading{
  margin-bottom:10px;
}
.exo-footer-v4-rule{
  margin-bottom:7px;
}
.exo-footer-v4-menu a{
  padding:9px 0;
  font-size:11.5px;
}
.exo-footer-v4-more a{
  color:#e4bf5c;
}
.exo-footer-v4-bottom{
  min-height:54px;
  padding-top:15px;
}

@media(max-width:640px){
  #exo-footer-v4{
    padding:36px 0 18px;
  }
  .exo-footer-v4-main{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:26px 18px;
    padding-bottom:28px;
  }
  .exo-footer-v4-brand{
    grid-column:1 / -1;
  }
  .exo-footer-v4-logo{
    margin-bottom:10px;
  }
  .exo-footer-v4-logo img{
    height:46px;
  }
  .exo-footer-v4-company{
    margin-bottom:8px;
    font-size:10px;
  }
  .exo-footer-v4-desc{
    font-size:11px;
    line-height:1.6;
  }
  .exo-footer-v4-contact-list{
    grid-template-columns:1fr 1fr;
    gap:9px 12px;
    margin-top:16px;
  }
  .exo-footer-v4-contact:first-child{
    grid-column:1 / -1;
  }
  .exo-footer-v4-contact{
    grid-template-columns:30px minmax(0,1fr);
    gap:8px;
  }
  .exo-footer-v4-contact-icon{
    width:30px;
    height:30px;
    border-radius:9px;
  }
  .exo-footer-v4-contact-icon svg{
    width:15px;
    height:15px;
  }
  .exo-footer-v4-contact strong{
    font-size:10.5px;
  }
  .exo-footer-v4-contact small{
    font-size:9.5px;
  }
  .exo-footer-v4-heading{
    margin:0 0 8px;
    font-size:12px;
  }
  .exo-footer-v4-rule{
    margin-bottom:3px;
  }
  .exo-footer-v4-menu a{
    padding:8px 0;
    gap:5px;
    font-size:10px;
    line-height:1.35;
  }
  .exo-footer-v4-menu a>span:last-child{
    display:none;
  }
  .exo-footer-v4-bottom{
    min-height:0;
    padding-top:14px;
    gap:11px;
  }
  .exo-footer-v4-bottom>p{
    font-size:9.5px;
  }
  .exo-footer-v4-socials a{
    width:32px;
    height:32px;
  }
}
@media(max-width:380px){
  .exo-footer-v4-main{
    grid-template-columns:1fr;
  }
  .exo-footer-v4-brand{
    grid-column:auto;
  }
}


/* =========================================================
   EXO HOME LEGAL CARD RESTORE — V63
   ========================================================= */
#hero-legal-card-wrap{
  display:block!important;
}
@media(min-width:1024px){
  #hero-main-grid{
    display:grid!important;
    grid-template-columns:minmax(0,640px) minmax(360px,420px)!important;
    column-gap:72px!important;
    align-items:start!important;
    justify-content:start!important;
    max-width:none!important;
  }
  #hero-copy-main{
    width:640px!important;
    max-width:640px!important;
  }
  #hero-legal-card-wrap{
    width:420px!important;
    max-width:420px!important;
    margin:0!important;
    padding:0!important;
  }
}
@media(max-width:1023px){
  #hero-main-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  #hero-legal-card-wrap{
    width:100%!important;
    max-width:620px!important;
    margin-top:26px!important;
  }
}
