:root {
  --dg-shell-paper: #fff;
  --dg-shell-ink: #1e1f1d;
  --dg-shell-muted: #55544f;
  --dg-shell-gold: #b79552;
  --dg-shell-gold-soft: #d8c69c;
  --dg-shell-line: #ddd6c6;
  --dg-shell-font: "Plus Jakarta Sans", sans-serif;
}

/* Final desktop header alignment: text utilities above, balanced navigation below. */
@media (min-width: 981px) {
  body.dg-shared-shell > .site-topbar .topbar-tools {
    position: absolute !important;
    top: 8px;
    right: clamp(32px, 3.2vw, 48px);
    width: auto !important;
    gap: 18px !important;
    z-index: 3;
  }
  body.dg-shared-shell > .site-topbar .career-link,
  body.dg-shared-shell > .site-topbar .contact-link {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    flex: 0 0 auto !important;
    padding: 2px 0 !important;
    color: #30312e !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 8px !important;
    font-weight: 500 !important;
    letter-spacing: .1em !important;
    line-height: 1.2;
  }
  body.dg-shared-shell > .site-topbar .career-link:hover,
  body.dg-shared-shell > .site-topbar .career-link:focus-visible,
  body.dg-shared-shell > .site-topbar .contact-link:hover,
  body.dg-shared-shell > .site-topbar .contact-link:focus-visible {
    color: var(--dg-shell-gold) !important;
    background: transparent !important;
    border: 0 !important;
    outline: 0;
  }
  body.dg-shared-shell > .site-topbar .primary-nav {
    position: absolute !important;
    left: clamp(220px, 17.5vw, 252px);
    right: clamp(250px, 20vw, 288px);
    bottom: 1px;
    width: auto !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: end;
    justify-items: center;
    gap: 0 !important;
  }
  body.dg-shared-shell > .site-topbar .primary-nav > a,
  body.dg-shared-shell > .site-topbar .primary-nav-sector-link {
    width: max-content;
    padding: 10px 0 8px;
    font-size: 10px;
    letter-spacing: .085em;
    text-align: center;
  }
  body.dg-shared-shell > .site-topbar .primary-nav-sector {
    width: 100%;
    align-self: stretch;
    justify-content: center;
  }
  body.dg-shared-shell > .site-topbar .language {
    position: fixed !important;
    right: clamp(286px, 22vw, 320px);
    top: 64px;
    bottom: auto !important;
    margin: 0 !important;
    font-size: 8px !important;
    gap: 6px;
    line-height: 1;
  }
  body.dg-shared-shell > .site-topbar .language i { height: 10px; }
}

@media (min-width: 981px) {
  main > section:not(:first-of-type) {
    margin-top: 128px !important;
  }
}

/* Keep the mobile rhythm consistent across every production page. */
@media (max-width: 620px) {
  main > section + section {
    margin-top: 16px !important;
  }
}

body.dg-shared-shell > header:not([data-dg-shared-header]),
body.dg-shared-shell > footer:not([data-dg-shared-footer]) {
  display: none !important;
}

body.dg-shared-shell > .site-topbar,
body.dg-shared-shell > .site-footer {
  box-sizing: border-box;
}

/* Desktop header: a quiet utility rail above an evenly spaced navigation row. */
@media (min-width: 981px) {
  body.dg-shared-shell > .site-topbar {
    height: 88px;
    align-items: stretch;
  }
  body.dg-shared-shell > .site-topbar .topbar-tools {
    position: absolute;
    top: 8px;
    right: clamp(32px, 3.2vw, 48px);
    width: auto;
    gap: 18px;
    align-items: center;
    z-index: 3;
  }
  body.dg-shared-shell > .site-topbar .career-link,
  body.dg-shared-shell > .site-topbar .contact-link {
    width: auto;
    min-width: 0;
    height: auto;
    flex: 0 0 auto;
    padding: 2px 0;
    color: #30312e;
    background: transparent;
    border: 0;
    box-shadow: none;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.2;
  }
  body.dg-shared-shell > .site-topbar .career-link:hover,
  body.dg-shared-shell > .site-topbar .career-link:focus-visible,
  body.dg-shared-shell > .site-topbar .contact-link:hover,
  body.dg-shared-shell > .site-topbar .contact-link:focus-visible {
    color: var(--dg-shell-gold);
    background: transparent;
    border: 0;
    outline: 0;
  }
  body.dg-shared-shell > .site-topbar .primary-nav {
    position: absolute;
    left: clamp(220px, 17.5vw, 252px);
    right: clamp(250px, 20vw, 288px);
    bottom: 1px;
    width: auto;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: end;
    justify-items: center;
    gap: 0;
  }
  body.dg-shared-shell > .site-topbar .primary-nav > a,
  body.dg-shared-shell > .site-topbar .primary-nav-sector-link {
    width: max-content;
    padding: 10px 0 8px;
    font-size: 10px;
    letter-spacing: .085em;
    text-align: center;
  }
  body.dg-shared-shell > .site-topbar .primary-nav-sector {
    width: 100%;
    align-self: stretch;
    justify-content: center;
  }
  body.dg-shared-shell > .site-topbar .language {
    position: absolute;
    right: clamp(286px, 22vw, 320px);
    bottom: -1px;
    margin: 0;
    font-size: 8px;
    gap: 6px;
    line-height: 1;
  }
  body.dg-shared-shell > .site-topbar .language i { height: 10px; }
}

body.dg-shared-shell > .site-topbar *,
body.dg-shared-shell > .site-footer * {
  box-sizing: border-box;
}

.site-topbar a,
.site-footer a {
  color: inherit;
  text-decoration: none;
}

.site-topbar img,
.site-footer img {
  display: block;
  max-width: 100%;
}

.dg-shell-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.dg-nav-open {
  overflow: hidden !important;
}

body.dg-shared-shell > .site-topbar {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 88px;
  padding-inline: 48px;
  display: grid !important;
  grid-template-columns: clamp(164px, 13.5vw, 190px) minmax(0, 1fr) clamp(205px, 16vw, 225px);
  align-items: center;
  gap: 24px;
  color: var(--dg-shell-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: var(--dg-shell-font);
  transform: none;
  transition: transform .35s ease, height .3s ease, background-color .3s ease, box-shadow .3s ease;
}

body.dg-shared-shell > .site-topbar.is-scrolled {
  height: 72px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 8px 28px rgba(46, 39, 25, .08);
}

body.dg-shared-shell > .site-topbar.is-hidden {
  transform: translateY(-110%);
}

.site-topbar .topbar-brand {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.site-topbar .topbar-brand img {
  width: clamp(150px, 11.8vw, 170px);
  height: 44px;
  object-fit: contain;
  object-position: left center;
  filter: none;
  opacity: 1;
  transition: width .3s ease, height .3s ease;
}

.site-topbar.is-scrolled .topbar-brand img {
  width: 158px;
  height: 40px;
}

.site-topbar .primary-nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(24px, 2.5vw, 36px);
}

.site-topbar .primary-nav > a,
.site-topbar .primary-nav-sector-link {
  position: relative;
  padding: 12px 0;
  color: #30312e;
  font-family: var(--dg-shell-font);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .25s ease;
}

.site-topbar .primary-nav > a::after,
.site-topbar .primary-nav-sector-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 4px;
  width: 0;
  height: 1px;
  background: var(--dg-shell-gold);
  transform: translateX(-50%);
  transition: width .3s ease;
}

.site-topbar .primary-nav > a:hover,
.site-topbar .primary-nav > a:focus-visible,
.site-topbar .primary-nav-sector-link:hover,
.site-topbar .primary-nav-sector-link:focus-visible,
.site-topbar .primary-nav > a[aria-current="page"],
.site-topbar .primary-nav-sector-link[aria-current="page"] {
  color: #946d2c;
  outline: 0;
}

.site-topbar .primary-nav > a:hover::after,
.site-topbar .primary-nav > a:focus-visible::after,
.site-topbar .primary-nav-sector-link:hover::after,
.site-topbar .primary-nav-sector-link:focus-visible::after,
.site-topbar .primary-nav > a[aria-current="page"]::after,
.site-topbar .primary-nav-sector-link[aria-current="page"]::after {
  width: 100%;
}

.site-topbar .primary-nav-sector {
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
}

.site-topbar .primary-nav-sector-chevron {
  position: absolute;
  right: -10px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-70%) rotate(45deg);
  transition: transform .25s ease, color .25s ease;
}

.site-topbar .primary-nav-sector-menu {
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  width: min(540px, calc(100vw - 48px));
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  background: rgba(255, 255, 255, .98);
  border: 1px solid rgba(183, 149, 82, .34);
  box-shadow: 0 22px 58px rgba(31, 39, 48, .16);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 12px);
  transition: opacity .24s ease, visibility .24s ease, transform .32s cubic-bezier(.16, 1, .3, 1);
}

.site-topbar .primary-nav-sector-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -16px;
  height: 16px;
}

.site-topbar .primary-nav .primary-nav-sector-menu a {
  min-height: 48px;
  padding: 8px 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  color: #30312e;
  border: 1px solid transparent;
  font-family: var(--dg-shell-font);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .035em;
  line-height: 1.35;
  text-transform: none;
  white-space: normal;
  transition: color .22s ease, background-color .22s ease, border-color .22s ease;
}

.site-topbar .primary-nav .primary-nav-sector-menu a > span {
  color: var(--dg-shell-gold);
  font-family: Inter, sans-serif;
  font-size: 11px;
  letter-spacing: .08em;
}

.site-topbar .primary-nav .primary-nav-sector-menu a > b {
  font-weight: 500;
}

.site-topbar .primary-nav .primary-nav-sector-menu a:hover,
.site-topbar .primary-nav .primary-nav-sector-menu a:focus-visible,
.site-topbar .primary-nav .primary-nav-sector-menu a[aria-current="page"] {
  color: #76551d;
  background: rgba(183, 149, 82, .08);
  border-color: rgba(183, 149, 82, .26);
  outline: 0;
}

.site-topbar .primary-nav-sector:hover .primary-nav-sector-menu,
.site-topbar .primary-nav-sector.is-open .primary-nav-sector-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.site-topbar .primary-nav-sector:hover .primary-nav-sector-chevron,
.site-topbar .primary-nav-sector.is-open .primary-nav-sector-chevron {
  color: var(--dg-shell-gold);
  transform: translateY(-25%) rotate(225deg);
}

.site-topbar .topbar-tools {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

.site-topbar .language {
  display: flex;
  align-items: center;
  gap: 9px;
  color: inherit;
  font-size: 11px;
  line-height: 1;
}

.site-topbar .language b { color: var(--dg-shell-gold); }
.site-topbar .language i { width: 1px; height: 12px; background: var(--dg-shell-line); }
.site-topbar .language button,
.site-topbar .mobile-language button {
  padding: 0;
  color: inherit;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.site-topbar .language button:hover,
.site-topbar .language button:focus-visible,
.site-topbar .mobile-language button:hover,
.site-topbar .mobile-language button:focus-visible,
.site-topbar .language button.is-active,
.site-topbar .mobile-language button.is-active {
  color: var(--dg-shell-gold);
  outline: 0;
}
.site-topbar .language button[aria-pressed="true"],
.site-topbar .mobile-language button[aria-pressed="true"] { font-weight: 700; }
.site-topbar .mobile-language { display: none; }
.site-topbar .search-link { position: relative; display: block; width: 27px; height: 27px; flex: 0 0 27px; }
.site-topbar .search-link span::before { content: ""; position: absolute; left: 5px; top: 4px; width: 10px; height: 10px; border: 1.5px solid currentColor; border-radius: 50%; }
.site-topbar .search-link span::after { content: ""; position: absolute; left: 15px; top: 15px; width: 7px; height: 1.5px; background: currentColor; transform: rotate(45deg); transform-origin: left center; }

.site-topbar .career-link {
  min-width: 104px;
  height: 36px;
  padding: 0 16px;
  display: grid;
  place-items: center;
  color: var(--dg-shell-gold);
  background: rgba(255, 255, 255, .72);
  border: 1px solid var(--dg-shell-gold);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .09em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .25s ease, background-color .25s ease, transform .25s ease;
}

.site-topbar .career-link:hover,
.site-topbar .career-link:focus-visible {
  color: #fff;
  background: var(--dg-shell-gold);
  outline: 0;
}

.site-topbar .contact-link {
  min-width: 104px;
  height: 36px;
  padding: 0 16px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--dg-shell-gold);
  border: 1px solid var(--dg-shell-gold);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .09em;
  text-align: center;
  text-transform: uppercase;
  transition: color .25s ease, background-color .25s ease;
}

.site-topbar .contact-link:hover,
.site-topbar .contact-link:focus-visible {
  color: var(--dg-shell-gold);
  background: #fff;
  outline: 0;
}

.site-topbar .nav-toggle,
.site-topbar .mobile-nav-actions {
  display: none;
}

body.dg-shared-shell > .site-footer {
  position: relative;
  z-index: 2;
  isolation: isolate;
  overflow: hidden;
  width: min(1320px, calc(100% - 128px));
  max-width: none;
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px 0;
  margin: 32px auto 0;
  padding: 32px 96px;
  color: #2b2b29;
  background: #fffdf8 url("/assets/footer-background-clean.webp") top center / 100% 100% no-repeat;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: var(--dg-shell-font);
  font-size: 11px;
  line-height: 1.55;
}

.site-footer > * { position: relative; z-index: 1; min-width: 0; }
.site-footer .footer-heading { grid-column: 1 / -1; display: flex; min-height: clamp(132px, 11vw, 158px); align-items: center; justify-content: center; margin-bottom: 5px; }
.site-footer .footer-heading img { width: clamp(165px, 16vw, 218px); height: clamp(122px, 10.5vw, 150px); object-fit: contain; }
.site-footer .footer-office { grid-column: span 4; padding: 0 32px; }
.site-footer .footer-office-headquarters { padding-left: 64px; }
.site-footer .footer-office:nth-of-type(4) { padding-right: 0; padding-left: 32px; }
.site-footer .footer-office + .footer-office { border-left: 1px solid rgba(183, 149, 82, .72); }

.site-footer h3,
.site-footer .footer-office-toggle {
  margin: 0 0 12px;
  color: #9a741f;
  font-family: var(--dg-shell-font);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.site-footer h3 { font-size: 16px; }

.site-footer .footer-office-toggle { width: 100%; padding: 0; display: block; border: 0; background: transparent; text-align: left; cursor: default; }
.site-footer .footer-office-toggle i { display: none; }
.site-footer .footer-office-panel { display: block; }
.site-footer p { margin: 0 0 8px; color: var(--dg-shell-muted); }
.site-footer .footer-office address { min-height: 62px; margin-bottom: 13px; color: #4f4e49; font-size: 11px; font-style: normal; font-weight: 400; line-height: 1.55; }
.site-footer .footer-contact-list { padding-top: 12px; border-top: 1px solid rgba(183, 149, 82, .65); }
.site-footer .footer-contact-list p { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 10px; align-items: start; margin-bottom: 6px; }
.site-footer .footer-contact-list span { min-width: 0; display: flex; align-items: flex-start; gap: 10px; color: #9a741f; font-size: 11px; font-weight: 700; line-height: 1.35; letter-spacing: .12em; text-transform: uppercase; white-space: normal; }
.site-footer .footer-contact-list span::before { content: attr(data-icon); width: 19px; height: 19px; flex: 0 0 19px; display: grid; place-items: center; color: #b58c37; border: 1px solid rgba(183, 149, 82, .55); border-radius: 50%; font-family: Arial, sans-serif; font-size: 9px; line-height: 1; }
.site-footer .footer-contact-list a,
.site-footer .footer-contact-list b { min-width: 0; color: #3f3e3a; font-size: 11px; font-weight: 400; line-height: 1.4; overflow-wrap: anywhere; white-space: normal; }
.site-footer .footer-contact-list a[href^="mailto:"] { font-size: 11px; letter-spacing: -.015em; }
.site-footer .footer-contact-list a:hover { color: #9a741f; }
.site-footer .footer-navigation { grid-column: 1 / 6; padding: 16px 48px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(183, 149, 82, .72); }
.site-footer .footer-navigation h3 { grid-column: 1 / -1; margin-bottom: 8px; }
.site-footer .footer-navigation > a { display: block; padding-right: 15px; color: #4b4a46; font-size: 11px; white-space: nowrap; transition: color .25s ease; }
.site-footer .footer-navigation > a + a { padding-left: 22px; border-left: 1px solid rgba(183, 149, 82, .62); }
.site-footer .footer-navigation > a:hover { color: #9a741f; }
.site-footer .newsletter { grid-column: 6 / -1; padding: 16px 0 0 48px; display: grid; grid-template-columns: minmax(150px, .78fr) minmax(250px, 1.22fr); grid-template-rows: auto 1fr; column-gap: 32px; border-top: 1px solid rgba(183, 149, 82, .72); border-left: 1px solid rgba(183, 149, 82, .72); }
.site-footer .newsletter h3 { grid-column: 1; grid-row: 1; margin-bottom: 8px; }
.site-footer .newsletter > p { grid-column: 1; grid-row: 2; max-width: 225px; font-size: 11px; line-height: 1.45; }
.site-footer .newsletter form { grid-column: 2; grid-row: 1 / 3; align-self: center; display: flex; height: 48px; margin: 0; overflow: hidden; border: 1px solid #c6a04b; border-radius: 10px; background: rgba(255, 255, 255, .72); }
.site-footer .newsletter input { width: 100%; min-width: 0; padding: 11px 14px; color: #34332f; background: transparent; border: 0; outline: 0; font: 11px var(--dg-shell-font); }
.site-footer .newsletter input::placeholder { color: #989690; }
.site-footer .newsletter button { width: 52px; flex: 0 0 52px; color: #211d15; background: linear-gradient(135deg, #eed17f, #c99024); border: 0; cursor: pointer; font: 20px var(--dg-shell-font); transition: color .25s ease, background-color .25s ease; }
.site-footer .newsletter button:hover { color: #fff; background: #9f7727; }
.site-footer .footer-bottom { display: none; }

@media (min-width: 981px) and (max-width: 1199px) {
  .site-footer .footer-office { grid-column: span 6; }
  .site-footer .footer-office:nth-of-type(4) { border-left: 0; }
}

@media (min-width: 981px) and (max-width: 1100px) {
  body.dg-shared-shell > .site-topbar { padding-inline: 32px; grid-template-columns: 160px minmax(0, 1fr) 210px; gap: 14px; }
  .site-topbar .topbar-brand img { width: 154px; }
  .site-topbar.is-scrolled .topbar-brand img { width: 148px; }
  .site-topbar .primary-nav { gap: 12px; }
  .site-topbar .primary-nav > a,
  .site-topbar .primary-nav-sector-link { font-size: 10px; letter-spacing: .075em; }
  .site-topbar .topbar-tools { gap: 11px; }
  .site-topbar .contact-link { min-width: 100px; padding-inline: 13px; }
}

@media (max-width: 980px) {
  body.dg-shared-shell > .site-topbar > .language { display: none; }
  body.dg-shared-shell > .site-topbar { height: 76px; padding-inline: 24px; grid-template-columns: 1fr auto; gap: 16px; }
  body.dg-shared-shell > .site-topbar.is-scrolled { height: 70px; }
  .site-topbar .topbar-brand { position: relative; z-index: 2; }
  .site-topbar .topbar-brand img,
  .site-topbar.is-scrolled .topbar-brand img { width: 164px; height: 40px; }
  .site-topbar .nav-toggle { position: relative; z-index: 2; display: grid; place-content: center; gap: 5px; width: 42px; height: 42px; padding: 0; border: 1px solid var(--dg-shell-gold-soft); background: transparent; }
  .site-topbar .nav-toggle > span:not(.dg-shell-sr-only) { width: 18px; height: 1px; background: var(--dg-shell-ink); transition: transform .25s ease, opacity .25s ease; }
  .dg-nav-open .site-topbar .nav-toggle > span:first-child { transform: translateY(6px) rotate(45deg); }
  .dg-nav-open .site-topbar .nav-toggle > span:nth-child(2) { opacity: 0; }
  .dg-nav-open .site-topbar .nav-toggle > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .site-topbar .primary-nav { position: fixed; inset: 0; z-index: 1; max-height: none; padding: 108px 28px 42px; overflow-y: auto; display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-start; gap: 0; background: radial-gradient(circle at 100% 0, rgba(183, 149, 82, .1), transparent 32%), linear-gradient(145deg, #fff 0%, #fffdf8 100%); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
  .dg-nav-open .site-topbar .primary-nav { opacity: 1; visibility: visible; }
  .site-topbar .primary-nav::before { content: ""; width: 32px; height: 1px; margin: 0 0 15px; background: var(--dg-shell-gold); }
  .site-topbar .primary-nav > a,
  .site-topbar .primary-nav-sector-link { width: fit-content; min-height: 48px; padding: 12px 0 12px 24px; font-size: 24px; font-weight: 500; line-height: 1.15; letter-spacing: .095em; text-align: right; text-transform: uppercase; }
  .site-topbar .primary-nav > a::after,
  .site-topbar .primary-nav-sector-link::after { right: 0; left: auto; bottom: 5px; transform: none; }
  .site-topbar .primary-nav-sector { width: min(310px, calc(100vw - 48px)); align-self: auto; flex-direction: column; align-items: flex-end; }
  .site-topbar .primary-nav-sector-link { width: fit-content; }
  .site-topbar .primary-nav-sector-chevron { right: -14px; }
  .site-topbar .primary-nav-sector-menu { position: static; width: 100%; max-height: 0; margin: 0; padding: 0 16px 0 0; grid-template-columns: 1fr; gap: 0; overflow: hidden; background: transparent; border: 0; border-right: 1px solid rgba(183, 149, 82, .38); box-shadow: none; opacity: 0; visibility: hidden; pointer-events: none; transform: none; transition: max-height .42s cubic-bezier(.16, 1, .3, 1), opacity .24s ease, visibility .24s ease, margin .3s ease; }
  .site-topbar .primary-nav-sector-menu::before { display: none; }
  .site-topbar .primary-nav .primary-nav-sector-menu a { min-height: 38px; padding: 8px 0; grid-template-columns: minmax(0, 1fr); gap: 0; color: #4b4a44; border: 0; background: transparent; font-size: 14px; letter-spacing: .02em; line-height: 1.3; text-align: left; transform: none; opacity: 1; }
  .site-topbar .primary-nav-sector.is-open .primary-nav-sector-menu { max-height: 360px; margin-top: 4px; opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
  .site-topbar .topbar-tools { display: none; }
  .site-topbar .mobile-nav-contact { display: block; }
  body.dg-shared-shell > .site-footer { width: calc(100% - 64px); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 0; margin-top: 32px; padding: 32px; background-size: auto 607px; }
  .site-footer h3 { font-size: 13px; }
  .site-footer .footer-office-toggle { font-size: 11px; }
  .site-footer .footer-heading { grid-column: 1 / -1; }
  .site-footer .footer-office { grid-column: span 1; padding: 0 24px; }
  .site-footer .footer-office-headquarters { grid-column: 1 / -1; padding: 0; }
  .site-footer .footer-office:nth-of-type(3) { padding-left: 0; border-left: 0; }
  .site-footer .footer-office:nth-of-type(4) { padding-right: 0; }
  .site-footer .footer-office address { min-height: 0; }
  .site-footer .footer-navigation { grid-column: 1 / -1; padding-right: 0; }
  .site-footer .newsletter { grid-column: 1 / -1; padding-left: 0; border-left: 0; }
}

@media (max-width: 620px) {
  body.dg-shared-shell > .site-topbar.is-hidden {
    transform: translateY(0) !important;
  }

  body.dg-shared-shell > .site-topbar { height: 74px; padding: 0 16px 0 24px; }
  body.dg-shared-shell > .site-topbar.is-scrolled { height: 64px; }
  .site-topbar .topbar-brand img { width: 180px; height: 43px; }
  .site-topbar.is-scrolled .topbar-brand img { width: 145px; height: 35px; }
  .site-topbar .nav-toggle { width: 42px; height: 42px; border-color: transparent; }
  .dg-nav-open .site-topbar .nav-toggle { border-color: rgba(183, 149, 82, .38); background: rgba(255, 255, 255, .76); }
  .site-topbar .nav-toggle > span:not(.dg-shell-sr-only) { width: 19px; }
  .site-topbar .primary-nav { padding: max(96px, calc(env(safe-area-inset-top) + 82px)) max(20px, env(safe-area-inset-right)) max(30px, env(safe-area-inset-bottom)) 24px; }
  .site-topbar .primary-nav::before { width: 28px; margin: 0 1px 12px 0; transform: scaleX(0); transform-origin: right center; transition: transform .45s cubic-bezier(.16, 1, .3, 1) .08s; }
  .dg-nav-open .site-topbar .primary-nav::before { transform: scaleX(1); }
  .site-topbar .primary-nav > a,
  .site-topbar .primary-nav-sector-link { min-height: 44px; padding: 12px 0 8px 24px; color: #252722; font-size: 18px; transform: translateX(14px); opacity: 0; transition: color .25s ease, opacity .36s ease, transform .48s cubic-bezier(.16, 1, .3, 1); }
  .dg-nav-open .site-topbar .primary-nav > a,
  .dg-nav-open .site-topbar .primary-nav-sector-link { transform: translateX(0); opacity: 1; }
  body.dg-shared-shell > .site-footer { width: calc(100% - 40px); grid-template-columns: 1fr; margin: 24px auto 0; padding: 24px 24px 32px; gap: 24px; background-size: auto 607px; }
  .site-footer .footer-heading,
  .site-footer .footer-office,
  .site-footer .footer-office-headquarters,
  .site-footer .footer-navigation,
  .site-footer .newsletter { grid-column: 1 / -1; }
  .site-footer .footer-heading { min-height: 138px; margin-bottom: 6px; }
  .site-footer .footer-heading img { width: 168px; height: 125px; }
  .site-footer .footer-office,
  .site-footer .footer-office-headquarters,
  .site-footer .footer-office:nth-of-type(3),
  .site-footer .footer-office:nth-of-type(4) { padding: 0; border-left: 0; border-bottom: 1px solid rgba(183, 149, 82, .48); }
  .site-footer .footer-office-toggle { min-height: 61px; margin: 0; padding: 14px 2px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #795719; font-size: 11px; line-height: 1.45; cursor: pointer; }
  .site-footer .footer-office-toggle span { max-width: calc(100% - 42px); }
  .site-footer .footer-office-toggle i { position: relative; width: 30px; height: 30px; flex: 0 0 30px; display: block; border: 1px solid rgba(183, 149, 82, .55); border-radius: 50%; background: rgba(255, 253, 248, .66); transition: background-color .4s ease, border-color .4s ease, transform .55s cubic-bezier(.22, 1, .36, 1); }
  .site-footer .footer-office-toggle i::before,
  .site-footer .footer-office-toggle i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 1px; background: #9a741f; transform: translate(-50%, -50%); transition: transform .5s cubic-bezier(.22, 1, .36, 1), opacity .3s ease; }
  .site-footer .footer-office-toggle i::after { transform: translate(-50%, -50%) rotate(90deg); }
  .site-footer .footer-office.is-open .footer-office-toggle i { border-color: #b9903c; background: #fff9eb; transform: rotate(180deg); }
  .site-footer .footer-office.is-open .footer-office-toggle i::after { opacity: 0; transform: translate(-50%, -50%) rotate(0); }
  .site-footer .footer-office-panel { display: grid; grid-template-rows: 0fr; opacity: 0; transform: translateY(-7px); transition: grid-template-rows .58s cubic-bezier(.22, 1, .36, 1), opacity .34s ease, transform .58s cubic-bezier(.22, 1, .36, 1); }
  .site-footer .footer-office-panel-inner { min-height: 0; overflow: hidden; padding: 0 3px; }
  .site-footer .footer-office.is-open .footer-office-panel { grid-template-rows: 1fr; opacity: 1; transform: translateY(0); }
  .site-footer .footer-office.is-open .footer-office-panel-inner { padding-bottom: 21px; }
  .site-footer .footer-office address { margin-bottom: 15px; font-size: 11px; line-height: 1.65; }
  .site-footer .footer-contact-list { padding-top: 14px; }
  .site-footer .footer-contact-list p { grid-template-columns: 96px minmax(0, 1fr); gap: 8px; margin-bottom: 8px; }
  .site-footer .footer-navigation { display: none; }
  .site-footer .newsletter { padding-top: 25px; display: block; border-top: 0; }
  .site-footer .newsletter h3 { margin-bottom: 9px; font-size: 12px; }
  .site-footer .newsletter > p { max-width: 280px; font-size: 10px; line-height: 1.6; }
  .site-footer .newsletter form { height: 49px; margin-top: 16px; border-radius: 9px; }
}

@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  body.dg-shared-shell > .site-topbar,
  .site-topbar *,
  .site-footer * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition-duration: .01ms !important;
  }
}

/* Final desktop header fit: keep every label on one row with clear separation. */
@media (min-width: 981px) {
  body.dg-shared-shell > .site-topbar .primary-nav {
    right: clamp(310px, 23vw, 340px) !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%);
    white-space: nowrap;
  }
  body.dg-shared-shell > .site-topbar .primary-nav > a,
  body.dg-shared-shell > .site-topbar .primary-nav-sector-link {
    white-space: nowrap;
  }
  body.dg-shared-shell > .site-topbar .primary-nav > a:last-of-type {
    font-size: 10px !important;
    letter-spacing: .085em;
  }
  body.dg-shared-shell > .site-topbar .language {
    position: absolute !important;
    right: clamp(250px, 18vw, 270px) !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%);
    font-size: 10px !important;
    letter-spacing: .085em;
    white-space: nowrap;
  }
  body.dg-shared-shell > .site-topbar .career-link {
    font-size: 7px !important;
    letter-spacing: .09em !important;
  }
}

/* Image-bearing reveals keep movement but never fade their imagery. */
main .reveal:has(img),
main [data-reveal]:has(img) {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Mobile image cards stay centered while entering the viewport. */
@media (max-width: 620px) {
  body.dg-shared-shell main :is(.reveal, [data-reveal]):has(img) {
    transform: translate3d(0, 24px, 0) !important;
  }

  body.dg-shared-shell main :is(.reveal, [data-reveal]).is-visible:has(img) {
    transform: none !important;
  }
}

/* Keep subpage hierarchy focused on the actual headings, without section overlines. */
.section-index,
.section-label,
.eyebrow,
.opening-label,
.callout-kicker,
.culture-unit-index,
.vision-index,
.watermark {
  display: none !important;
}

/* Keep every subpage header aligned with the production homepage header. */
@media (min-width: 981px) {
  body.dg-shared-shell > .site-topbar {
    grid-template-columns: clamp(158px, 12.5vw, 182px) minmax(0, 1fr) clamp(270px, 21vw, 304px);
    gap: clamp(16px, 1.45vw, 22px);
  }
  .site-topbar .primary-nav { width: 100%; justify-content: space-evenly; gap: 0; }
  .site-topbar .topbar-tools { gap: 9px; }
  .site-topbar .language { margin-right: 4px; }
  .site-topbar .career-link,
  .site-topbar .contact-link { min-width: 96px; padding-inline: 12px; }
}

/* Desktop header: keep the utility links compact in a quiet top rail. */
@media (min-width: 981px) {
  body.dg-shared-shell > .site-topbar .topbar-tools {
    position: absolute;
    top: 10px;
    right: clamp(32px, 3.2vw, 48px);
    width: auto;
    gap: 10px;
    z-index: 3;
  }
  body.dg-shared-shell > .site-topbar .language { font-size: 9px; gap: 6px; }
  body.dg-shared-shell > .site-topbar .language i { height: 10px; }
  body.dg-shared-shell > .site-topbar .career-link,
  body.dg-shared-shell > .site-topbar .contact-link {
    width: 78px;
    min-width: 78px;
    flex: 0 0 78px;
    height: 23px;
    padding-inline: 10px;
    box-sizing: border-box;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .08em;
  }
}

@media (min-width: 981px) and (max-width: 1100px) {
  body.dg-shared-shell > .site-topbar { grid-template-columns: 148px minmax(0, 1fr) 226px; }
  .site-topbar .primary-nav { gap: 0; }
  .site-topbar .primary-nav > a,
  .site-topbar .primary-nav-sector-link { font-size: 9.2px; letter-spacing: .055em; }
  .site-topbar .topbar-tools { gap: 6px; }
  .site-topbar .language { margin-right: 1px; font-size: 9px; }
  .site-topbar .career-link,
  .site-topbar .contact-link { min-width: 82px; height: 34px; padding-inline: 8px; font-size: 9px; letter-spacing: .07em; }
}

/* Subpages use a clean, image-through header with no frosted overlay. */
body.dg-shared-shell > .site-topbar,
body.dg-shared-shell > .site-topbar.is-scrolled {
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (max-width: 980px) {
  .site-topbar .mobile-nav-actions {
    width: fit-content;
    margin-top: 4px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0;
  }
  .site-topbar .mobile-language {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 8px;
    padding-left: 24px;
    color: #30312e;
    font-size: 16px;
    letter-spacing: .1em;
  }
  .site-topbar .mobile-language i { width: 1px; height: 16px; background: var(--dg-shell-line); }
  .site-topbar .primary-nav .mobile-nav-actions a {
    min-height: 44px;
    padding: 12px 0 8px 24px;
    display: block;
    border: 0;
    color: #252722;
    background: transparent;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .095em;
    line-height: 1.15;
    text-align: right;
    text-transform: uppercase;
    transform: translateX(14px);
    opacity: 0;
    transition: color .25s ease, opacity .36s ease, transform .48s cubic-bezier(.16, 1, .3, 1);
  }
  .site-topbar .primary-nav .mobile-nav-actions a::after {
    display: block;
    right: 0;
    left: auto;
    bottom: 5px;
    transform: none;
  }
  .dg-nav-open .site-topbar .primary-nav .mobile-nav-actions a {
    transform: translateX(0);
    opacity: 1;
  }
  .dg-nav-open .site-topbar .primary-nav .mobile-nav-actions a:first-child { transition-delay: .2s; }
  .dg-nav-open .site-topbar .primary-nav .mobile-nav-actions a:last-child { transition-delay: .24s; }
}

@media (min-width: 621px) and (max-width: 980px) {
  .site-topbar .primary-nav .mobile-nav-actions a {
    min-height: 48px;
    padding: 12px 0 12px 24px;
    font-size: 24px;
  }
}

/* Keep every subpage mobile header structurally identical to the homepage. */
@media (max-width: 980px) {
  body.dg-shared-shell > .site-topbar,
  body.dg-shared-shell > .site-topbar.is-scrolled {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
  }

  body.dg-shared-shell > .site-topbar .topbar-brand {
    position: absolute !important;
    z-index: 2 !important;
    left: 50% !important;
    top: 50% !important;
    height: auto !important;
    align-self: auto !important;
    transform: translate(-50%, -50%) !important;
  }

  body.dg-shared-shell > .site-topbar .topbar-brand img,
  body.dg-shared-shell > .site-topbar.is-scrolled .topbar-brand img {
    width: 148px !important;
    height: 38px !important;
    object-position: center !important;
  }

  body.dg-shared-shell > .site-topbar .nav-toggle {
    position: relative !important;
    z-index: 2 !important;
    margin-left: auto !important;
  }

  body.dg-shared-shell > .site-topbar .primary-nav {
    position: fixed !important;
    top: 74px !important;
    right: 16px !important;
    bottom: auto !important;
    left: 16px !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 90px) !important;
    margin: 0 !important;
    padding: 28px 20px 30px !important;
    overflow-y: auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    text-align: center !important;
    border: 1px solid rgba(183, 149, 82, .32) !important;
    border-radius: 2px !important;
    background: rgba(255, 253, 248, .98) !important;
    box-shadow: 0 18px 40px rgba(40, 34, 24, .14) !important;
    transform: translateY(-12px) !important;
  }

  body.dg-shared-shell.dg-nav-open > .site-topbar .primary-nav { transform: translateY(0) !important; }
  body.dg-shared-shell > .site-topbar .primary-nav::before { margin-inline: auto !important; }
  body.dg-shared-shell > .site-topbar .primary-nav > a,
  body.dg-shared-shell > .site-topbar .primary-nav-sector,
  body.dg-shared-shell > .site-topbar .primary-nav-sector-link { align-self: center !important; text-align: center !important; }
  body.dg-shared-shell > .site-topbar .primary-nav > a,
  body.dg-shared-shell > .site-topbar .primary-nav-sector-link { width: 100% !important; padding-inline: 8px !important; }
  body.dg-shared-shell > .site-topbar .primary-nav a::after { right: auto !important; left: 50% !important; transform: translateX(-50%) !important; }
  body.dg-shared-shell > .site-topbar .primary-nav-sector { width: 100% !important; align-items: center !important; }
  body.dg-shared-shell > .site-topbar .primary-nav-sector-link { width: 100% !important; }
  body.dg-shared-shell > .site-topbar .primary-nav-sector-chevron { right: auto !important; margin-left: 8px !important; }
  body.dg-shared-shell > .site-topbar .primary-nav-sector-menu {
    width: min(100%, 340px) !important;
    padding: 8px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(183, 149, 82, .25) !important;
  }
  body.dg-shared-shell > .site-topbar .primary-nav .primary-nav-sector-menu a {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    text-align: center !important;
  }
  body.dg-shared-shell > .site-topbar .primary-nav .mobile-nav-actions {
    width: min(100%, 310px) !important;
    margin-inline: auto !important;
    align-items: center !important;
    justify-items: center !important;
  }
  body.dg-shared-shell > .site-topbar .primary-nav .mobile-nav-actions a {
    width: 100% !important;
    padding-inline: 12px !important;
    text-align: center !important;
  }
  body.dg-shared-shell > .site-topbar .primary-nav .mobile-language {
    justify-content: center !important;
    text-align: center !important;
  }

  /* Sector pages previously added a rounded glass layer that differed from the homepage. */
  body.dg-shared-shell > .site-topbar::before { display: none !important; }
}

/* Subpages show photography at its original color and contrast. The homepage uses
   its own stylesheet and is intentionally outside this shared-shell scope. */
body.dg-shared-shell.dg-shared-shell main img {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  transition-property: transform !important;
}

body.dg-shared-shell main .hero-media,
body.dg-shared-shell main .hero-crystal,
body.dg-shared-shell main .capability-map,
body.dg-shared-shell main .contact-map {
  opacity: 1 !important;
  filter: none !important;
}

body.dg-shared-shell .partner-marquee {
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Remove full-image tint layers while leaving structural borders and controls intact. */
body.dg-shared-shell main .hero-shade,
body.dg-shared-shell main .hero-glow,
body.dg-shared-shell main .hero-overlay,
body.dg-shared-shell main .strategy-overlay,
body.dg-shared-shell main .pillar-shade,
body.dg-shared-shell main .media-card-shade,
body.dg-shared-shell main .boardroom-banner > div,
body.dg-shared-shell main .overview-media::after,
body.dg-shared-shell main .safety-media::after,
body.dg-shared-shell main .project-stage figure::after,
body.dg-shared-shell main .application-card figure::after,
body.dg-shared-shell main .target-card::after,
body.dg-shared-shell main .segment-card::after,
body.dg-shared-shell main .project-thumb::after,
body.dg-shared-shell main .media-card::after,
body.dg-shared-shell main .pillar-card::after,
body.dg-shared-shell main .vision-reference-media::after,
body.dg-shared-shell main .culture-symbol-banner::before,
body.dg-shared-shell main .sector-hero-media::after,
body.dg-shared-shell main .ai-visual::before,
body.dg-shared-shell main .ecosystem-visual::after,
body.dg-shared-shell main .capability::after,
body.dg-shared-shell main .ma-hero::before {
  display: none !important;
  background: none !important;
  background-image: none !important;
}

/* Preserve copy legibility without washing out the surrounding photograph. */
body.dg-shared-shell:is(.page-batdongsan, .page-xangdau)
main > section:first-child :is(.hero-copy, .hero-content) :is(h1, h1 span, .hero-lead, .hero-slogan) {
  color: #fff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .72);
}

body.dg-shared-shell.page-khoangsan main .pillar-card > div :is(h3, p),
body.dg-shared-shell.page-muasapnhap main .strategy-card > div:last-child :is(h3, p),
body.dg-shared-shell.page-muasapnhap main .target-copy :is(b, h3, li),
body.dg-shared-shell main .culture-symbol-copy :is(h2, p) {
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .84);
}

html.dg-motion-always body.dg-shared-shell main > section.dg-motion-item {
  filter: none !important;
}

/* Keep desktop photography subordinate to the viewport on every subpage. */
@media (min-width: 981px) {
  body.dg-shared-shell main img {
    max-height: 65vh !important;
    max-height: 65svh !important;
  }

  body.dg-shared-shell main :is(picture, figure, div):has(> img) {
    max-height: 65vh;
    max-height: 65svh;
  }

  body.dg-shared-shell main > .hero:has(.hero-media),
  body.dg-shared-shell main > :is(.siltron-hero, .estate-hero, .petro-hero, .ma-hero) {
    min-height: max(65vh, 560px) !important;
    min-height: max(65svh, 560px) !important;
    height: auto !important;
    max-height: none;
  }

  body.dg-shared-shell main > .hero .hero-media,
  body.dg-shared-shell main > :is(.siltron-hero, .estate-hero, .petro-hero) .hero-media,
  body.dg-shared-shell main > .ma-hero .hero-hall {
    height: 65vh !important;
    height: 65svh !important;
    max-height: 65vh !important;
    max-height: 65svh !important;
    overflow: hidden;
  }

  body.dg-shared-shell .sector-hero {
    min-height: max(65vh, 560px) !important;
    min-height: max(65svh, 560px) !important;
    height: auto !important;
    max-height: none;
  }

  body.dg-shared-shell .sector-hero-media {
    min-height: 0 !important;
    height: min(720px, 65vh) !important;
    height: min(720px, 65svh) !important;
    max-height: 65vh;
    max-height: 65svh;
  }

  body.dg-shared-shell.page-khoangsan .overview-media,
  body.dg-shared-shell.page-xangdau :is(.overview-media, .safety-media),
  body.dg-shared-shell.page-aitruyenthong .ai-visual {
    min-height: 0 !important;
    height: 65vh !important;
    height: 65svh !important;
    max-height: 65vh !important;
    max-height: 65svh !important;
    align-self: center;
  }

  body.dg-shared-shell.page-batdongsan .philosophy-media {
    min-height: 0 !important;
    max-height: 65vh !important;
    max-height: 65svh !important;
    align-self: center;
  }

  body.dg-shared-shell.page-batdongsan .project-gallery {
    align-items: start;
  }

  body.dg-shared-shell.page-batdongsan .project-gallery .project-feature {
    height: auto !important;
    grid-template-rows: min(470px, 65vh) auto !important;
    grid-template-rows: min(470px, 65svh) auto !important;
  }

  body.dg-shared-shell.page-batdongsan .project-gallery .project-feature-media {
    min-height: 0 !important;
    height: min(470px, 65vh) !important;
    height: min(470px, 65svh) !important;
    max-height: 65vh !important;
    max-height: 65svh !important;
  }
}

/* Production header: use the homepage treatment on every shared-shell route. */
body.dg-shared-shell > .site-topbar {
  color: var(--dg-shell-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dg-shared-shell > .site-topbar.is-scrolled {
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 8px 28px rgba(46, 39, 25, .08) !important;
}

body.dg-shared-shell > .site-topbar .primary-nav > a,
body.dg-shared-shell > .site-topbar .primary-nav-sector-link,
body.dg-shared-shell > .site-topbar .language,
body.dg-shared-shell > .site-topbar .language button,
body.dg-shared-shell > .site-topbar .career-link {
  color: #30312e !important;
}

body.dg-shared-shell > .site-topbar .language i {
  background: var(--dg-shell-line) !important;
}

body.dg-shared-shell > .site-topbar .nav-toggle {
  border-color: var(--dg-shell-gold-soft) !important;
}

body.dg-shared-shell > .site-topbar .nav-toggle > span:not(.dg-shell-sr-only) {
  background: var(--dg-shell-ink) !important;
}

body.dg-shared-shell > .site-topbar .topbar-brand img {
  filter: none !important;
}

/* Match the homepage header: no blur, glass, or border layer over the banner. */
body.dg-shared-shell > .site-topbar,
body.dg-shared-shell > .site-topbar.is-scrolled {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
}

body.dg-shared-shell > .site-topbar::before,
body.dg-shared-shell > .site-topbar::after {
  content: none !important;
  display: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Mobile header: keep the logo anchored left until the navigation is opened. */
@media (max-width: 980px) {
  body.dg-shared-shell > .site-topbar .topbar-brand {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    align-self: center !important;
    justify-self: start !important;
    transform: none !important;
  }

  body.dg-shared-shell.dg-nav-open > .site-topbar .topbar-brand {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    align-self: auto !important;
    justify-self: auto !important;
    transform: translate(-50%, -50%) !important;
  }
}

@media (min-width: 1200px) {
  body.dg-shared-shell > .site-topbar {
    padding-inline: clamp(18px, 1.7vw, 28px);
    grid-template-columns: clamp(158px, 12.5vw, 182px) minmax(0, 1fr) clamp(180px, 14vw, 220px);
    gap: clamp(16px, 1.45vw, 22px);
  }

  body.dg-shared-shell > .site-topbar .primary-nav {
    left: clamp(190px, 14vw, 220px) !important;
    right: clamp(245px, 18vw, 270px) !important;
    justify-content: space-between;
  }

  body.dg-shared-shell > .site-topbar .language {
    right: clamp(180px, 14vw, 220px) !important;
  }

  body.dg-shared-shell > .site-topbar .topbar-tools {
    right: clamp(18px, 1.7vw, 28px);
  }
}

/* Shared subpage header: a white liquid-glass layer sits below the controls
   while the hero artwork remains unobscured. */
body.dg-shared-shell > .site-topbar::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  z-index: 0;
  inset: 10px 22px 8px;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 18px;
  background:
    radial-gradient(circle at 12% 0%, rgba(255, 255, 255, .86), transparent 34%),
    linear-gradient(115deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, .42) 48%, rgba(255, 255, 255, .62)),
    rgba(255, 255, 255, .4);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(255, 255, 255, .24),
    0 12px 34px rgba(23, 32, 42, .12);
  backdrop-filter: blur(20px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(145%) !important;
  pointer-events: none;
}

/* The legacy ecosystem detail route uses its own hero primitives. */
body.dg-shared-shell .sector-hero-media::after {
  display: none !important;
  background: none !important;
}

body.dg-shared-shell .sector-hero-media img {
  filter: none !important;
  transform: none !important;
  animation: none !important;
}

@media (max-width: 980px) {
  body.dg-shared-shell > .site-topbar::before {
    inset: 7px 10px;
    border-radius: 15px;
    background:
      radial-gradient(circle at 12% 0%, rgba(255, 255, 255, .88), transparent 36%),
      linear-gradient(120deg, rgba(255, 255, 255, .76), rgba(255, 255, 255, .5)),
      rgba(255, 255, 255, .44);
    backdrop-filter: blur(17px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(17px) saturate(140%) !important;
  }
}

/* Keep language controls consistent between the homepage and shared subpage shell. */
.site-topbar .language,
.site-topbar .mobile-language {
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(183, 149, 82, .34);
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 5px 16px rgba(66, 53, 26, .08);
}
body.dg-shared-shell > .site-topbar > * { z-index: 1; }
.site-topbar .language button,
.site-topbar .mobile-language button {
  width: 28px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  opacity: .62;
  transition: opacity .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.site-topbar .language button img,
.site-topbar .mobile-language button img {
  width: 20px;
  height: 14px;
  display: block;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(28, 31, 29, .12);
}
.site-topbar .language button:hover,
.site-topbar .language button:focus-visible,
.site-topbar .mobile-language button:hover,
.site-topbar .mobile-language button:focus-visible {
  opacity: 1;
  background: rgba(183, 149, 82, .11);
  transform: translateY(-1px);
  outline: none;
}
.site-topbar .language button.is-active,
.site-topbar .mobile-language button.is-active,
.site-topbar .language button[aria-pressed="true"],
.site-topbar .mobile-language button[aria-pressed="true"] {
  opacity: 1;
  background: #fff;
  box-shadow: 0 2px 8px rgba(66, 53, 26, .14), inset 0 0 0 1px rgba(183, 149, 82, .55);
}
.site-topbar .language i,
.site-topbar .mobile-language i {
  width: 1px;
  height: 16px;
  flex: 0 0 1px;
  background: rgba(183, 149, 82, .34);
}
@media (min-width: 981px) {
  body.dg-shared-shell > .site-topbar .primary-nav {
    left: clamp(190px, 14vw, 220px) !important;
    right: clamp(320px, 23.5vw, 350px) !important;
    justify-content: space-between;
  }
  body.dg-shared-shell > .site-topbar > .language {
    position: absolute !important;
    top: 10px !important;
    right: clamp(214px, 16vw, 242px) !important;
    bottom: auto !important;
    transform: none !important;
    font-size: 8px !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
  }
  body.dg-shared-shell > .site-topbar > .header-search-link {
    position: absolute;
    top: 10px;
    right: clamp(178px, 13vw, 198px);
    width: 28px;
    height: 26px;
    display: grid;
    place-items: center;
    color: #30312e;
  }
  body.dg-shared-shell > .site-topbar .topbar-tools {
    top: 10px !important;
    right: clamp(18px, 1.7vw, 28px) !important;
  }
}
@media (max-width: 980px) {
  body.dg-shared-shell > .site-topbar > .header-search-link { display: none; }
  .site-topbar .mobile-language {
    min-height: 44px;
    padding: 4px;
    gap: 5px;
    border-color: rgba(183, 149, 82, .3);
    background: rgba(255, 255, 255, .76);
  }
  .site-topbar .mobile-language button { width: 34px; height: 30px; }
  .site-topbar .mobile-language button img { width: 22px; height: 15px; }
}

/* Header refinement: keep Tin tức at the right edge and tighten the links before it. */
@media (min-width: 981px) {
  body.dg-shared-shell > .site-topbar .primary-nav {
    --nav-tighten: clamp(9px, 1.7vw, 24px);
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    justify-content: space-between !important;
    column-gap: 0 !important;
  }
  body.dg-shared-shell > .site-topbar .primary-nav > a:nth-child(1) { transform: translateX(calc(var(--nav-tighten) * 4)); }
  body.dg-shared-shell > .site-topbar .primary-nav > a:nth-child(2) { transform: translateX(calc(var(--nav-tighten) * 3)); }
  body.dg-shared-shell > .site-topbar .primary-nav > .primary-nav-sector { transform: translateX(calc(var(--nav-tighten) * 2)); }
  body.dg-shared-shell > .site-topbar .primary-nav > a:nth-child(4) { transform: translateX(var(--nav-tighten)); }
}
body.dg-shared-shell > .site-topbar .primary-nav > a:first-child { font-weight: 700; }

@media (min-width: 1200px) {
  body.dg-shared-shell > .site-topbar .primary-nav { right: calc(27px + clamp(245px, 18vw, 270px)) !important; }
}
@media (min-width: 981px) and (max-width: 1199px) {
  body.dg-shared-shell > .site-topbar .primary-nav { right: calc(27px + clamp(310px, 23vw, 340px)) !important; }
}


/* Studio credit line closing the shared footer. */
.site-footer .footer-credit {
  grid-column: 1 / -1;
  margin: 6px 0 0;
  padding-top: 16px;
  border-top: 1px solid rgba(183, 149, 82, .3);
  color: #7d7a72;
  font-family: var(--dg-shell-font);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .14em;
  line-height: 1.4;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 620px) {
  .site-footer .footer-credit { padding-top: 14px; font-size: 9px; letter-spacing: .1em; }
}

/* The phone and envelope glyphs used to come from the system font, so iOS swapped
   them for colour emoji while desktop drew flat text. Drawing icon and ring as one
   masked SVG keeps a single identical badge on every platform. */
.site-footer .footer-contact-list span[data-icon="☎"]::before,
.site-footer .footer-contact-list span[data-icon="✉"]::before {
  content: "";
  background-color: currentColor;
  border-color: transparent;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-origin: border-box;
  mask-origin: border-box;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.site-footer .footer-contact-list span[data-icon="☎"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11.4' fill='none' stroke='%23000' stroke-opacity='0.55' stroke-width='1.15'/%3E%3Cg transform='translate(12 12) scale(0.42) translate(-12 -12)'%3E%3Cpath d='M7.4 10.6c1.5 2.9 3.9 5.3 6.8 6.8l2.3-2.3c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.7.6.6 0 1 .4 1 1v3.6c0 .6-.4 1-1 1C11 21.1 2.9 13 2.9 2.8c0-.6.4-1 1-1h3.6c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.7.1.4 0 .8-.2 1l-2.5 3.1z'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11.4' fill='none' stroke='%23000' stroke-opacity='0.55' stroke-width='1.15'/%3E%3Cg transform='translate(12 12) scale(0.42) translate(-12 -12)'%3E%3Cpath d='M7.4 10.6c1.5 2.9 3.9 5.3 6.8 6.8l2.3-2.3c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.7.6.6 0 1 .4 1 1v3.6c0 .6-.4 1-1 1C11 21.1 2.9 13 2.9 2.8c0-.6.4-1 1-1h3.6c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.7.1.4 0 .8-.2 1l-2.5 3.1z'/%3E%3C/g%3E%3C/svg%3E");
}

.site-footer .footer-contact-list span[data-icon="✉"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11.4' fill='none' stroke='%23000' stroke-opacity='0.55' stroke-width='1.15'/%3E%3Cg transform='translate(12 12) scale(0.45) translate(-12 -12)' fill='none' stroke='%23000' stroke-width='2.4' stroke-linejoin='round'%3E%3Crect x='2.6' y='5.4' width='18.8' height='13.2' rx='1.4'/%3E%3Cpath d='m3.4 6.6 8.6 6.4 8.6-6.4'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11.4' fill='none' stroke='%23000' stroke-opacity='0.55' stroke-width='1.15'/%3E%3Cg transform='translate(12 12) scale(0.45) translate(-12 -12)' fill='none' stroke='%23000' stroke-width='2.4' stroke-linejoin='round'%3E%3Crect x='2.6' y='5.4' width='18.8' height='13.2' rx='1.4'/%3E%3Cpath d='m3.4 6.6 8.6 6.4 8.6-6.4'/%3E%3C/g%3E%3C/svg%3E");
}
