* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  padding: 0;
  background: var(--surface, #fcf9f3);
  color: #1c1c18;
  font-family: system-ui, -apple-system, 'Segoe UI', 'Microsoft YaHei', sans-serif;
}
body {
  font-size: 16px;
  line-height: 1.75;
}
.xht-site {
  --primary: #2c5742;
  --secondary: #79583b;
  --surface: var(--site-background, #fcf9f3);
  background: var(--surface);
  font-family: var(--site-font, system-ui, -apple-system, 'Segoe UI', 'Microsoft YaHei', sans-serif);
  min-height: 100vh;
  overflow-wrap: anywhere;
}
.xht-site h1,
.xht-site h2,
.xht-site h3,
.xht-site p,
.xht-site figure {
  margin: 0;
}
.xht-site h2 {
  font-size: 40px;
  line-height: 1.4;
  letter-spacing: -0.01em;
  font-weight: 300;
}
.xht-site h3 {
  font-size: 28px;
  line-height: 1.43;
  font-weight: 400;
  color: var(--primary);
}
.xht-site a {
  color: inherit;
  text-decoration: none;
}
.xht-site img {
  display: block;
  max-width: 100%;
}
.site-container {
  width: 100%;
  max-width: 1360px;
  margin: auto;
  padding-left: 48px;
  padding-right: 48px;
}
.site-section {
  padding-top: 112px;
  padding-bottom: 112px;
}
.site-eyebrow {
  color: var(--secondary);
  font-size: 11px;
  line-height: 16px;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-transform: uppercase;
}
.site-section > .site-eyebrow {
  margin-bottom: 24px;
}
.site-prose {
  font-weight: 300;
  line-height: 2;
  color: #414943;
  white-space: pre-wrap;
}
.site-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  color: var(--primary);
}
.site-header {
  --primary: #2c5742;
  line-height: 1.75;
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--surface-header, #fcf9f3f5);
  border-bottom: 1px solid #f0ede7;
  backdrop-filter: blur(12px);
}
.site-header-inner {
  max-width: 1360px;
  margin: auto;
  padding: 0 48px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.site-logo {
  width: auto;
  height: 32px;
  max-width: 200px;
  object-fit: contain;
}
.site-header-inner > nav {
  display: flex;
  align-items: center;
  gap: 32px;
  color: var(--primary);
  font-size: 14px;
  line-height: 28px;
  letter-spacing: 0.01em;
}
.site-header-inner > nav a {
  padding: 4px 0;
}
.site-header-inner > nav a[aria-current='page'] {
  border-bottom: 2px solid currentColor;
  font-weight: 500;
}
.site-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  padding: 0;
  flex-shrink: 0;
}
.site-menu-toggle .site-icon {
  width: 24px;
  height: 24px;
}
.site-menu-overlay {
  display: none;
}
.xht-site:has(main > .site-banner:first-of-type) .site-header {
  position: fixed;
  width: 100%;
  background: transparent;
  border-color: transparent;
  backdrop-filter: none;
}
.xht-site:has(main > .site-banner:first-of-type) .site-header:not(.site-scrolled) {
  color: #fff;
}
.xht-site:has(main > .site-banner:first-of-type) .site-header:not(.site-scrolled) .site-header-inner > nav {
  color: #fff;
}
.xht-site:has(main > .site-banner:first-of-type) .site-header:not(.site-scrolled) .site-logo {
  filter: none;
}
.xht-site:has(main > .site-banner:first-of-type) .site-header.site-scrolled {
  background: var(--surface-header, #fcf9f3f5);
  backdrop-filter: blur(12px);
  border-color: #f0ede7;
}
.site-banner {
  height: 100svh;
  min-height: 640px;
  position: relative;
  background: var(--primary);
  color: #fff;
  overflow: hidden;
}
.site-hero-image,
.site-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.site-hero-shade {
  background: linear-gradient(0deg, #00000059, transparent, #00000033),
    linear-gradient(90deg, #000000a6, #0000004d, #0000000d);
}
.site-hero-copy {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 96px;
  padding-bottom: 56px;
  align-items: flex-start;
}
.site-banner .site-eyebrow {
  color: #fffc;
  font-size: 12px;
  letter-spacing: 0.1em;
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 20px;
}
.site-banner .site-eyebrow:before {
  content: '';
  width: 32px;
  height: 1px;
  background: #fffb;
}
.site-banner h2 {
  font-size: 56px;
  line-height: 72px;
  font-weight: 300;
  max-width: 768px;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
  white-space: pre-wrap;
}
.site-hero-rest {
  font-weight: 400;
}
.site-hero-description {
  font-size: 18px;
  line-height: 1.625;
  font-weight: 300;
  color: #ffffffd9;
  max-width: 576px;
}
.site-actions {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  margin-top: 40px;
}
.site-actions:empty {
  display: none;
}
.site-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 32px;
  border-radius: 2px;
  background: var(--primary);
  color: white !important;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.06em;
  font-weight: 500;
  transition: background 0.2s;
}
.site-button:hover {
  background: color-mix(in srgb, var(--primary) 86%, white);
}
.site-banner .site-button {
  background: #fff;
  color: var(--primary) !important;
}
.site-banner .site-button-secondary {
  background: transparent;
  color: white !important;
  border-bottom: 1px solid #ffffff80;
  border-radius: 0;
  padding: 4px 0;
  min-height: 0;
  font-size: 16px;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: 0.01em;
}
.site-banner .site-button-secondary::after {
  content: '→';
  margin-left: 8px;
  transition: transform 0.3s;
}
.site-banner .site-button-secondary:hover::after {
  transform: translateX(4px);
}
.site-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.site-intro h2 {
  margin-bottom: 32px;
}
.site-intro .site-prose {
  max-width: 576px;
}
.site-intro .site-prose + .site-prose {
  margin-top: 24px;
}
.site-intro figure {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 12px 36px -12px #2c574214;
}
.site-intro figure > img {
  width: 100%;
  height: 580px;
  object-fit: cover;
}
.site-intro figcaption {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  padding: 20px;
  background: var(--surface-caption, #fcf9f3e6);
  backdrop-filter: blur(12px);
  border-radius: 2px;
  box-shadow: 0 1px 2px #0000000d;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.site-caption-words {
  display: flex;
  flex-direction: column;
  line-height: 1.6;
  min-width: 0;
}
.site-intro figcaption strong {
  color: var(--primary);
  font-size: 12px;
  font-weight: 500;
}
.site-intro figcaption span {
  color: #414943;
  font-size: 11px;
}
.site-intro figcaption .site-icon {
  width: 20px;
  height: 20px;
  color: var(--secondary);
}
.site-brand-summary {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid #e5e2dc;
  margin-top: 40px;
  padding-top: 32px;
  max-width: 576px;
}
.site-brand-summary > div {
  min-width: 0;
}
.site-brand-summary > div:last-child {
  text-align: right;
}
.site-brand-summary strong {
  display: block;
  color: var(--primary);
  font-weight: 400;
  font-size: 22px;
  line-height: 32px;
}
.site-capabilities-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  margin-bottom: 64px;
}
.site-capabilities-heading .site-eyebrow {
  margin-bottom: 12px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.site-capabilities-heading .site-eyebrow:after {
  content: '';
  width: 48px;
  height: 1px;
  background: #c1c8c199;
}
.site-capabilities-heading > p {
  color: #414943;
  font-weight: 300;
  line-height: 28px;
  max-width: 448px;
}
.site-capabilities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
}
.site-capabilities-grid article {
  border-top: 1px solid #e5e2dc;
  padding-top: 24px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s;
}
.site-capabilities-grid article:hover {
  border-color: var(--primary);
}
.site-card-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
.site-capabilities-grid h3 {
  margin-bottom: 16px;
}
.site-capabilities-grid article > p {
  color: #414943;
  font-weight: 300;
  line-height: 1.625;
  white-space: pre-wrap;
}
.site-capability-caption {
  margin-top: auto;
  padding-top: 48px;
  color: var(--primary);
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0.08em;
}
.site-culture {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 64px;
  align-items: center;
}
.site-culture > figure {
  grid-column: span 7;
}
.site-culture > div {
  grid-column: span 5;
}
.site-culture figure {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 12px 36px -12px #2c57420f;
}
.site-culture figure img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
}
.culture-carousel {
  position: relative;
  min-width: 0;
  overflow: hidden;
  display: block;
  margin: 0;
}
.culture-carousel-track {
  display: flex;
  width: 100%;
  transform: translate3d(0, 0, 0);
  transition: transform 700ms ease-in-out;
}
.culture-carousel-track img {
  flex: 0 0 100%;
  min-width: 0;
  pointer-events: none;
}
.culture-carousel-dots {
  position: absolute;
  bottom: 16px;
  right: 16px;
  display: flex;
  gap: 8px;
  z-index: 2;
}
.culture-carousel-dots button {
  width: 24px;
  height: 4px;
  border-radius: 2px;
  border: none;
  padding: 0;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  transition: background 200ms ease;
}
.culture-carousel-dots button.active {
  background: #ffffff;
}
@media (prefers-reduced-motion: reduce) {
  .culture-carousel-track,
  .culture-carousel-dots button {
    transition: none;
  }
}
.site-culture figcaption {
  display: none;
}
.site-culture h2 {
  margin-bottom: 24px;
}
.site-culture .site-prose {
  line-height: 1.625;
}
.site-short-rule {
  height: 2px;
  width: 48px;
  background: var(--secondary);
  margin-bottom: 32px;
}
.site-lead {
  font-size: 22px;
  line-height: 32px;
  color: var(--primary);
  margin-bottom: 16px !important;
  font-weight: 400;
}
.site-culture-values {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  border-top: 1px solid #e5e2dc;
  padding-top: 16px;
  margin-top: 32px;
}
.site-culture-values h3 {
  font-size: 22px;
  line-height: 32px;
}
.site-culture-values p {
  font-size: 14px;
  line-height: 24px;
  color: #414943;
  font-weight: 300;
}
.site-recruitment {
  background: var(--surface-container, #f0eee8);
  padding-top: 96px;
  padding-bottom: 96px;
}
.site-recruitment-card {
  padding: 80px;
  border: 1px solid #e5e2dc;
  background: var(--surface, #fcf9f3);
  border-radius: 4px;
  text-align: center;
  box-shadow: 0 1px 2px #0000000d;
}
.site-recruitment-card .site-eyebrow {
  margin-bottom: 16px;
}
.site-recruitment-card h2 {
  font-size: 56px;
  line-height: 72px;
  color: var(--primary);
  margin-bottom: 24px;
}
.site-recruitment-card .site-prose {
  font-size: 18px;
  line-height: 1.625;
  max-width: 672px;
  margin: 0 auto 40px;
}
.site-footer {
  background: var(--primary);
  color: #fff;
  padding-top: 56px;
  padding-bottom: 32px;
}
.site-footer-grid {
  display: grid;
  grid-template-columns: 5fr 4fr;
  gap: 25%;
  padding-bottom: 32px;
  border-bottom: 1px solid #ffffff1a;
}
.site-footer-name {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.025em;
  line-height: 32px;
}
.site-footer-brand {
  color: #a2d1b6;
  font-size: 14px;
  margin: 12px 0 18px !important;
}
.site-footer p {
  font-size: 14px;
  line-height: 24px;
}
.site-footer-contact {
  display: flex;
  gap: 8px;
  margin-bottom: 6px;
}
.site-footer-contact .site-icon {
  width: 18px;
  height: 18px;
  color: #a2d1b6;
  margin-top: 4px;
}
.site-footer h2 {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
  color: #beedd1;
}
.site-footer nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 24px;
  color: #a2d1b6;
  font-size: 14px;
}
.site-footer-phone {
  margin-top: 18px !important;
  display: flex;
  flex-direction: column;
}
.site-footer-phone span {
  font-size: 11px;
  color: #a2d1b6;
}
.site-footer-phone a {
  font-size: 22px;
  line-height: 32px;
  font-weight: 300;
}
.site-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 20px;
  color: #a2d1b6b3;
  font-size: 14px;
  line-height: 24px;
}
.site-footer-bottom p {
  font-size: 14px;
  line-height: 24px;
}
.site-footer-bottom > span,
.site-footer-bottom > a {
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0.08em;
}
.site-contact-layout {
  max-width: 1360px;
  margin: auto;
  padding: 56px 48px;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 20px;
}
.site-contact-layout .site-contact-cards {
  grid-column: span 7;
}
.site-contact-layout .site-location {
  grid-column: span 5;
}
.site-contact-layout:not(:has([data-section-type='location'])) .site-contact-cards {
  grid-column: 1 / -1;
}
.site-contact {
  padding: 0;
  max-width: none;
  display: contents;
}
.site-contact-heading {
  grid-column: 1/-1;
  padding-bottom: 32px;
}
.site-contact-heading .site-eyebrow {
  margin-bottom: 16px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.site-contact-heading .site-eyebrow:before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--secondary);
}
.site-contact-heading h2 {
  font-size: 56px;
  line-height: 72px;
  color: var(--primary);
}
.site-contact-heading h2 span {
  color: #79583bb3;
  font-weight: 100;
}
.site-contact-heading > p:last-child {
  margin-top: 16px;
  font-size: 18px;
  line-height: 32px;
  color: #414943;
}
.site-contact-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-content: start;
}
.site-contact-cards article {
  background: var(--surface-low, #f6f3ed);
  border-radius: 8px;
  padding: 28px;
}
.site-contact-cards .site-contact-company {
  grid-column: 1/-1;
  padding: 32px;
}
.site-contact-company .site-card-label {
  margin-bottom: 4px;
}
.site-contact-cards h3 {
  font-size: 22px;
  font-weight: 500;
}
.site-contact-company h3 {
  font-size: 28px;
  font-weight: 400;
}
.site-contact-address {
  display: flex;
  gap: 14px;
  margin-top: 24px;
}
.site-contact-address .site-icon {
  width: 20px;
  height: 20px;
  margin-top: 4px;
}
.site-contact-address strong {
  font-weight: 500;
}
.site-contact-address p {
  color: #414943;
}
.site-contact-detail {
  margin-top: 24px;
}
.site-contact-detail > span {
  display: block;
  color: #717973;
  font-size: 11px;
  line-height: 16px;
}
.site-contact-detail a {
  color: var(--primary);
  font-weight: 500;
}
.site-contact-detail p {
  color: #414943;
  font-size: 11px;
  line-height: 16px;
  margin-top: 6px;
}
.site-location {
  padding: 0;
  max-width: none;
}
.site-icon-badge {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--primary) 5.1%, transparent);
  color: var(--primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.site-icon-badge .site-icon {
  width: 20px;
  height: 20px;
}
.site-icon-badge-sm {
  width: 28px;
  height: 28px;
  background: color-mix(in srgb, var(--primary) 10.2%, transparent);
}
.site-icon-badge-sm .site-icon {
  width: 16px;
  height: 16px;
}
.site-icon-badge-warm {
  background: #fed5b466;
  color: var(--secondary);
}
.site-location-card {
  background: var(--surface-low, #f6f3ed);
  padding: 24px;
  border-radius: 8px;
}
.site-location h2 {
  font-size: 22px;
  color: var(--primary);
}
.site-location p {
  margin-top: 16px;
}
.site-location img {
  width: 100%;
  margin: 24px 0;
  max-height: 500px;
  object-fit: contain;
}
.site-location .site-button {
  margin-top: 16px;
}
.site-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.xht-site button:focus-visible,
.xht-site a:focus-visible {
  outline: 3px solid #b88e6c;
  outline-offset: 4px;
}
@media (max-width: 1023px) {
  .site-container {
    padding-left: 24px;
    padding-right: 24px;
  }
  .site-header-inner {
    padding: 0 24px;
    height: 80px;
  }
  .site-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }
  .site-intro,
  .site-culture {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .site-culture > figure,
  .site-culture > div {
    grid-column: 1 / -1;
  }
  .site-intro figure > img {
    height: 480px;
  }
  .site-culture figure {
    order: 2;
  }
  .site-culture figure img {
    height: 420px;
  }
  .site-capabilities-grid {
    gap: 32px;
  }
  .site-recruitment-card {
    padding: 40px;
  }
  .site-contact-layout {
    padding: 56px 24px;
    grid-template-columns: 1fr;
  }
  .site-contact-layout .site-contact-cards,
  .site-contact-layout .site-location {
    grid-column: 1 / -1;
  }
  .site-footer-grid {
    gap: 64px;
  }
}
@media (max-width: 767px) {
  .site-header-inner {
    height: auto;
    min-height: 80px;
    flex-wrap: nowrap;
    gap: 0;
  }
  .site-header .site-logo {
    height: 28px;
    max-width: 65px;
  }
  .site-brand {
    gap: 12px;
  }
  .site-brand-words strong {
    font-size: 18px;
  }
  .site-brand-words small {
    font-size: 9px;
  }
  .site-header-inner > nav {
    display: none;
  }
  .site-header.site-enhanced .site-menu-toggle {
    display: inline-flex;
  }
  .site-menu-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 60;
    pointer-events: none;
    visibility: hidden;
  }
  .site-menu-overlay.site-menu-open {
    pointer-events: auto;
    visibility: visible;
  }
  .site-menu-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity 0.3s ease;
    cursor: default;
  }
  .site-menu-overlay.site-menu-open .site-menu-backdrop {
    opacity: 1;
  }
  .site-menu-drawer {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 82vw;
    max-width: 320px;
    background: var(--surface, #fcf9f3);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transform: translateX(-100%);
    transition: transform 0.3s ease-out;
    display: flex;
    flex-direction: column;
    color: #2c5742;
  }
  .site-menu-overlay.site-menu-open .site-menu-drawer {
    transform: translateX(0);
  }
  .site-menu-drawer-header {
    height: 80px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #f0ede7;
  }
  .site-menu-drawer-header .site-logo {
    filter: none !important;
  }
  .site-menu-close {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 0;
    background: transparent;
    color: #717973;
    padding: 0;
    flex-shrink: 0;
  }
  .site-menu-close:hover {
    color: var(--primary);
    background: #f0ede7;
  }
  .site-menu-close .site-icon {
    width: 24px;
    height: 24px;
  }
  .site-menu-drawer > nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 32px 20px;
    flex: 1 1 auto;
    overflow-y: auto;
  }
  .site-menu-drawer > nav a {
    min-height: 52px;
    padding: 0 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #717973;
    font-size: 16px;
    line-height: 24px;
    transition: color 0.2s, background 0.2s;
  }
  .site-menu-drawer > nav a:hover {
    color: var(--primary);
    background: var(--surface-low, #f6f3ed);
  }
  .site-menu-drawer > nav a.site-menu-drawer-active {
    background: var(--primary);
    color: #fff;
  }
  .site-menu-drawer > nav a > span {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .site-menu-drawer > nav a .site-icon {
    width: 21px;
    height: 21px;
  }
  .site-menu-drawer-footer {
    padding: 24px 20px;
    border-top: 1px solid #f0ede7;
  }
  .site-menu-drawer-footer p {
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.08em;
    color: #a2d1b6;
  }
  .site-capabilities-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .site-capabilities-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .site-recruitment-card {
    padding: 40px;
  }
  .site-footer-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .site-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
  .site-contact-cards {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .xht-site * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

.site-brand {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.site-brand-words {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.site-brand-words strong {
  font-size: 22px;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: 0.025em;
}
.site-brand-words small {
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 4px;
  opacity: 0.75;
}
.site-intro h2 > span {
  display: block;
}
.site-title-accent {
  color: #2c5742;
  font-weight: 500;
}
.site-section > .site-eyebrow {
  display: flex;
  gap: 12px;
  align-items: center;
}
.site-section > .site-eyebrow:after {
  content: '';
  width: 48px;
  height: 1px;
  background: #c1c8c199;
}

.site-location {
  margin: 0;
  align-self: start;
}

/* About page sections */
.site-about-hero {
  padding-top: 64px;
  padding-bottom: 80px;
  background: var(--surface, #fcf9f3);
}
.site-about-hero-inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid #f0ede7;
}
.site-about-hero-main {
  max-width: 760px;
}
.site-eyebrow-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.site-eyebrow-line {
  width: 32px;
  height: 2px;
  background: var(--secondary);
  display: inline-block;
}
.site-about-hero h1 {
  font-size: 56px;
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: -0.02em;
  color: var(--primary);
  margin: 0;
}
.site-about-hero h1 > span {
  color: #79583b;
  font-weight: 200;
  letter-spacing: 0;
}
.site-about-hero-lead {
  font-size: 28px;
  line-height: 1.5;
  color: #5c6b62;
  font-weight: 400;
  margin-top: 20px;
}
.site-about-hero-side {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  min-width: 220px;
}
.site-about-hero-features {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  line-height: 22px;
  color: #717973;
}
.site-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #a2d1b6;
  display: inline-block;
}
.site-about-overview {
  padding: 112px 0;
  background: #f7f4ee;
}
.site-about-overview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.site-about-overview-media {
  position: relative;
}
.site-about-overview-media .dot-globe-visual {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
}
.site-about-overview-media .site-about-overview-badge {
  position: relative;
  top: auto;
  right: auto;
  margin-left: auto;
}
.site-about-overview-badge {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: #f0ede7;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  pointer-events: none;
}
.site-about-overview-badge .site-eyebrow {
  font-size: 9px;
  margin-bottom: 4px;
}
.site-about-overview-badge strong {
  font-size: 20px;
  color: var(--primary);
  font-weight: 600;
}
.site-about-overview-body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.site-about-overview-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  line-height: 20px;
  color: #717973;
}
.site-about-overview-eyebrow .site-eyebrow {
  margin: 0;
}
.site-prose-title {
  font-size: 40px;
  line-height: 1.45;
  font-weight: 300;
  color: var(--primary);
  white-space: pre-wrap;
}
.site-about-overview-prose {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.site-about-overview-prose p {
  font-size: 17px;
  line-height: 1.9;
  color: #414943;
  font-weight: 300;
}
.site-text-secondary {
  font-size: 15px !important;
  color: #8a938b !important;
}
.site-about-overview-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding-top: 32px;
  margin-top: 16px;
  border-top: 1px solid #f0ede7;
}
.site-about-overview-stat span {
  font-size: 28px;
  line-height: 1.2;
  color: var(--primary);
  font-weight: 300;
  display: block;
}
.site-about-overview-stat strong {
  display: block;
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0.08em;
  color: var(--secondary);
  text-transform: uppercase;
  margin-top: 8px;
  font-weight: 500;
}
.site-about-overview-stat p {
  font-size: 13px;
  line-height: 20px;
  color: #717973;
  margin-top: 2px;
}
.site-about-business {
  background: var(--surface, #fcf9f3);
}
.site-about-business-grid {
  display: flex;
  align-items: center;
  gap: 80px;
}
.site-about-business-body {
  flex: 0 0 58%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.site-about-business-body > h2 {
  font-size: 40px;
  line-height: 1.35;
  font-weight: 300;
  color: var(--primary);
}
.site-about-business-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.site-about-business-list li {
  font-size: 16px;
  line-height: 1.75;
  color: #414943;
}
.site-about-business-list strong {
  color: var(--primary);
  font-weight: 500;
  margin-right: 4px;
}
.site-about-business-highlight {
  background: #f7f4ee;
  border-radius: 12px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
}
.site-about-business-highlight > div {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  line-height: 24px;
  color: var(--primary);
  font-weight: 500;
}
.site-about-business-highlight > div .site-icon {
  width: 22px;
  height: 22px;
}
.site-about-business-highlight p {
  font-size: 12px;
  line-height: 18px;
  color: #8a938b;
}
.site-about-business-map {
  flex: 1 1 auto;
  background: #f7f4ee;
  border-radius: 16px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(0,0,0,0.04);
  overflow: hidden;
}
.site-about-business-map svg {
  width: 100%;
  height: auto;
  max-height: 320px;
  color: #d9d4cb;
}
.site-about-business-map-labels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  width: 100%;
  padding-top: 24px;
  margin-top: 16px;
  border-top: 1px solid #e8e4dc;
  text-align: center;
}
.site-about-business-map-labels strong {
  display: block;
  font-size: 13px;
  line-height: 20px;
  color: var(--primary);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.site-about-business-map-labels span {
  display: block;
  font-size: 11px;
  line-height: 16px;
  color: #8a938b;
  margin-top: 2px;
  letter-spacing: 0.04em;
}
.site-about-capabilities {
  background: var(--surface, #fcf9f3);
}
.site-about-capabilities-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 64px;
}
.site-about-capabilities-header h2 {
  margin-top: 16px;
  color: var(--primary);
  font-weight: 400;
}
.site-about-capabilities-header > p {
  max-width: 560px;
  font-size: 15px;
  line-height: 1.8;
  color: #717973;
  text-align: right;
}
.site-about-capabilities-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}
.site-about-capability-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.site-about-capability-image {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
}
.site-about-capability-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}
.site-about-capability-card:hover .site-about-capability-image img {
  transform: scale(1.025);
}
.site-about-capability-image > span {
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(252, 249, 243, 0.92);
  backdrop-filter: blur(6px);
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 11px;
  line-height: 16px;
  letter-spacing: 0.06em;
  color: var(--primary);
  font-weight: 500;
}
.site-about-capability-body {
  flex: 1;
  min-height: 216px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: color-mix(in srgb, var(--surface, #fcf9f3) 80%, #e5e2d9);
  border-radius: 0 0 10px 10px;
}
.site-about-capability-body h3 {
  font-size: 22px;
  line-height: 32px;
  font-weight: 600;
}
.site-about-capability-body p {
  font-size: 15px;
  line-height: 1.8;
  color: #59655f;
}
.site-about-capability-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 8px;
}
.site-about-capability-tags span {
  font-size: 12px;
  line-height: 16px;
  padding: 4px 10px;
  background: var(--surface, #fcf9f3);
  border-radius: 2px;
  color: var(--secondary);
}
.site-milestones {
  background: #f0ede7;
}
.site-milestones-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 64px;
}
.site-milestones-header h2 {
  margin-top: 12px;
}
.site-milestones-note {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  padding: 10px 18px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  font-size: 13px;
  line-height: 20px;
  color: #717973;
}
.site-milestones-note .site-icon {
  width: 18px;
  height: 18px;
  color: var(--secondary);
}
.site-milestones-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.site-milestone-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.3s ease;
}
.site-milestone-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.site-milestone-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 24px;
}
.site-milestone-meta span:first-child {
  font-size: 16px;
  line-height: 24px;
  color: var(--secondary);
  font-weight: 500;
  letter-spacing: 0.04em;
}
.site-milestone-meta span:last-child {
  font-size: 11px;
  line-height: 16px;
  padding: 4px 10px;
  background: #f7f4ee;
  border-radius: 4px;
  color: #5c6b62;
}
.site-milestone-card h3 {
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
  margin-bottom: 12px;
}
.site-milestone-card p {
  font-size: 14px;
  line-height: 1.75;
  color: #717973;
  flex-grow: 1;
}
.site-milestone-featured {
  background: var(--primary);
  color: #fff;
}
.site-milestone-featured h3 {
  color: #fff;
}
.site-milestone-featured p {
  color: rgba(255,255,255,0.75);
}
.site-milestone-featured .site-milestone-meta span:first-child {
  color: #a2d1b6;
}
.site-milestone-featured .site-milestone-meta span:last-child {
  background: rgba(255,255,255,0.15);
  color: #fff;
}
.site-about-culture {
  background: #f7f4ee;
}
.site-about-culture-intro {
  max-width: 640px;
  margin-bottom: 64px;
}
.site-about-culture-intro h2 {
  margin-top: 16px;
  margin-bottom: 16px;
}
.site-about-culture-intro p {
  font-size: 16px;
  line-height: 1.8;
  color: #717973;
}
.site-about-culture-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
  align-items: center;
}
.site-about-culture-media {
  position: relative;
}
.site-about-culture-media img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: 16px;
  display: block;
}
.site-about-culture-media span {
  display: block;
  text-align: right;
  font-size: 12px;
  line-height: 18px;
  color: #8a938b;
  margin-top: 12px;
  letter-spacing: 0.04em;
}
.site-about-culture-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.site-about-culture-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.site-about-culture-card .site-icon-badge {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--primary) 6%, transparent);
}
.site-about-culture-card .site-icon-badge .site-icon {
  width: 24px;
  height: 24px;
}
.site-about-culture-card:nth-child(even) .site-icon-badge {
  background: rgba(121, 88, 59, 0.08);
}
.site-about-culture-card h3 {
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
  margin-bottom: 4px;
}
.site-about-culture-card p {
  font-size: 14px;
  line-height: 1.75;
  color: #717973;
}
.site-about-compliance {
  background: var(--surface, #fcf9f3);
}
.site-about-compliance-card {
  background: #ebe8e2;
  border-radius: 8px;
  padding: 56px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 48px;
  align-items: start;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.site-about-compliance-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.site-about-compliance-eyebrow .site-icon {
  width: 26px;
  height: 26px;
}
.site-about-compliance-eyebrow .site-eyebrow {
  color: var(--primary);
}
.site-about-compliance-body h2 {
  color: var(--primary);
  margin-bottom: 24px;
}
.site-about-compliance-prose {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.site-about-compliance-prose p {
  font-size: 15px;
  line-height: 1.85;
  color: #414943;
}
.site-about-compliance-box {
  background: #fcf9f3;
  border-radius: 4px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  justify-content: space-between;
  gap: 28px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.site-about-compliance-box > .site-eyebrow {
  color: #76583f;
}
.site-about-compliance-email {
  background: #f6f3ed;
  border-radius: 2px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.site-about-compliance-email span {
  font-size: 13px;
  line-height: 20px;
  color: #1c1c18;
}
.site-about-compliance-email a {
  font-size: 16px;
  line-height: 24px;
  color: var(--primary);
  font-weight: 500;
  word-break: break-all;
}
.site-about-compliance-email a:hover {
  color: #76583f;
}
.site-about-compliance-box > p {
  font-size: 12px;
  line-height: 18px;
  color: #414943;
}

/* Careers page sections */
.site-careers-hero {
  padding-top: 80px;
  padding-bottom: 0;
}
.site-careers-hero-inner {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 64px;
  align-items: flex-end;
}
.site-careers-hero-main {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-bottom: 80px;
}
.site-careers-hero-main h1 {
  font-size: 56px;
  line-height: 1.25;
  font-weight: 300;
  color: var(--primary);
  letter-spacing: -0.02em;
  white-space: pre-wrap;
}
.site-careers-hero-lead {
  font-size: 22px;
  line-height: 1.6;
  font-weight: 300;
  color: var(--secondary);
  max-width: 520px;
}
.site-careers-hero-info {
  padding-bottom: 80px;
}
.site-careers-hero-info-box {
  background: var(--surface-low, #f6f3ed);
  border-radius: 12px;
  padding: 40px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}
.site-careers-hero-info-box > .site-icon {
  position: absolute;
  right: -16px;
  bottom: -16px;
  width: 140px;
  height: 140px;
  opacity: 0.06;
  pointer-events: none;
}
.site-careers-hero-info-box > .site-eyebrow {
  display: block;
  margin-bottom: 24px;
}
.site-careers-hero-info-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.site-careers-hero-info-list > div {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.site-careers-hero-info-list > div > span {
  font-size: 14px;
  line-height: 22px;
  font-weight: 700;
  color: var(--primary);
  margin-top: 2px;
}
.site-careers-hero-info-list > div > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.site-careers-hero-info-list strong {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  color: var(--primary);
}
.site-careers-hero-info-list p {
  font-size: 14px;
  line-height: 22px;
  color: #717973;
}

.site-job-openings {
  padding-top: 0;
}
.site-job-notice {
  background: var(--surface-low, #f6f3ed);
  border-radius: 10px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
}
.site-job-notice > div {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.site-job-notice > div > .site-icon {
  width: 22px;
  height: 22px;
  margin-top: 2px;
  color: var(--secondary);
}
.site-job-notice strong {
  display: block;
  font-size: 15px;
  line-height: 24px;
  font-weight: 500;
  color: var(--primary);
  margin-bottom: 2px;
}
.site-job-notice p {
  font-size: 14px;
  line-height: 22px;
  color: #717973;
}
.site-job-notice > span {
  flex-shrink: 0;
  background: #ebe7df;
  color: var(--secondary);
  font-size: 11px;
  line-height: 16px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 4px;
}
.site-job-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #ebe7df;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.site-job-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.site-job-tabs button {
  appearance: none;
  border: 0;
  background: transparent;
  color: #717973;
  font-size: 15px;
  line-height: 24px;
  font-weight: 500;
  padding: 10px 22px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  font-family: inherit;
}
.site-job-tabs button:hover {
  background: var(--surface-low, #f6f3ed);
  color: var(--primary);
}
.site-job-tabs button.site-job-tab-active,
.site-job-tabs button[aria-selected='true'] {
  background: var(--primary);
  color: #fff;
}
.site-job-location {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  line-height: 20px;
  color: var(--secondary);
  letter-spacing: 0.04em;
}
.site-job-location > span:first-child {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--primary);
}
.site-job-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.site-job-card {
  background: var(--surface-low, #f6f3ed);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}
.site-job-header {
  width: 100%;
  appearance: none;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  cursor: pointer;
  transition: background 0.2s;
  font-family: inherit;
}
.site-job-header:hover {
  background: #f0ede7;
}
.site-job-header-main {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.site-job-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.site-job-tags span {
  font-size: 12px;
  line-height: 18px;
  padding: 4px 10px;
  border-radius: 4px;
}
.site-job-status {
  background: var(--primary);
  color: #fff;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.site-job-highlight {
  background: #e8d7c3;
  color: #5a3f28;
  font-weight: 500;
}
.site-job-department,
.site-job-type {
  background: #ebe7df;
  color: #5a5a54;
}
.site-job-header-main h3 {
  font-size: 24px;
  line-height: 1.35;
  font-weight: 500;
  color: var(--primary);
}
.site-job-header-side {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}
.site-job-location-compact {
  display: flex;
  flex-direction: column;
  text-align: right;
  min-width: 140px;
}
.site-job-location-compact span:first-child {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  color: var(--primary);
}
.site-job-location-compact span:last-child {
  font-size: 13px;
  line-height: 20px;
  color: #8a938b;
}
.site-job-toggle-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ebe7df;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  transition: transform 0.3s;
}
.site-job-toggle-icon .site-icon {
  width: 22px;
  height: 22px;
}
.site-job-card[data-open='true'] .site-job-toggle-icon {
  transform: rotate(180deg);
}
.site-job-body {
  border-top: 1px solid #ebe7df;
  padding: 32px;
}
.site-job-body[hidden] {
  display: none;
}
.site-job-meta {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  padding-bottom: 28px;
  border-bottom: 1px solid #ebe7df;
  margin-bottom: 28px;
}
.site-job-meta > div {
  background: #fff;
  border-radius: 8px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.site-job-meta span {
  font-size: 12px;
  line-height: 18px;
  color: #8a938b;
}
.site-job-meta strong {
  font-size: 15px;
  line-height: 22px;
  font-weight: 500;
  color: var(--primary);
}
.site-job-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
.site-job-detail > div {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.site-job-detail-title {
  display: flex;
  align-items: center;
  gap: 10px;
}
.site-job-detail-title span {
  width: 5px;
  height: 18px;
  border-radius: 3px;
  background: var(--primary);
}
.site-job-detail-title h4 {
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
  color: var(--primary);
}
.site-job-detail ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.site-job-detail li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14px;
  line-height: 22px;
  color: #5a5a54;
}
.site-job-detail li .site-icon {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: var(--secondary);
  flex-shrink: 0;
}
.site-job-apply {
  margin-top: 32px;
  background: #fff;
  border-radius: 10px;
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.site-job-apply > div {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}
.site-job-apply > div > .site-icon {
  width: 24px;
  height: 24px;
  color: var(--secondary);
  flex-shrink: 0;
  margin-top: 2px;
}
.site-job-apply strong {
  display: block;
  font-size: 15px;
  line-height: 24px;
  font-weight: 500;
  color: var(--primary);
  margin-bottom: 2px;
}
.site-job-apply p {
  font-size: 13px;
  line-height: 20px;
  color: #717973;
}
.site-job-apply .site-button {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.site-job-empty {
  background: var(--surface-low, #f6f3ed);
  border-radius: 12px;
  padding: 48px 32px;
  text-align: center;
}
.site-job-empty strong {
  display: block;
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
  color: var(--primary);
  margin-bottom: 8px;
}
.site-job-empty p {
  font-size: 14px;
  line-height: 22px;
  color: #717973;
}

.site-benefits {
  padding-top: 0;
}
.site-benefits-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 48px;
}
.site-benefits-header > div {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.site-benefits-header h2 {
  font-size: 40px;
  line-height: 1.35;
  font-weight: 300;
}
.site-benefits-header > p {
  max-width: 420px;
  font-size: 16px;
  line-height: 1.75;
  color: #717973;
}
.site-benefits-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}
.site-benefit-card {
  background: var(--surface-low, #f6f3ed);
  border-radius: 12px;
  padding: 28px;
  min-height: 224px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  transition: transform 0.2s;
}
.site-benefit-card:hover {
  transform: translateY(-4px);
}
.site-benefit-card > div:first-child {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.site-benefit-card > div:first-child .site-icon {
  width: 34px;
  height: 34px;
}
.site-benefit-card > div:first-child span {
  font-size: 12px;
  line-height: 18px;
  color: var(--secondary);
  font-family: inherit;
}
.site-benefit-card h3 {
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
  color: var(--primary);
  margin-bottom: 6px;
}
.site-benefit-card p {
  font-size: 13px;
  line-height: 20px;
  color: #717973;
}

.site-careers-contact {
  padding-top: 0;
}
.site-careers-contact-card {
  background: var(--surface-low, #f6f3ed);
  border-radius: 12px;
  padding: 40px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.site-careers-contact-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 720px;
}
.site-careers-contact-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--secondary);
}
.site-careers-contact-eyebrow .site-icon {
  width: 22px;
  height: 22px;
}
.site-careers-contact-body h2 {
  font-size: 28px;
  line-height: 1.35;
  font-weight: 400;
  color: var(--primary);
}
.site-careers-contact-body p {
  font-size: 15px;
  line-height: 1.75;
  color: #717973;
}
.site-careers-contact-address {
  flex-shrink: 0;
  background: #fff;
  border-radius: 8px;
  padding: 16px 20px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  line-height: 22px;
  color: #5a5a54;
}
.site-careers-contact-address .site-icon {
  width: 20px;
  height: 20px;
  color: var(--secondary);
}

@media (max-width: 1100px) {
  .site-about-hero h1 {
    font-size: 44px;
  }
  .site-about-overview-grid {
    gap: 48px;
  }
  .site-about-business-grid {
    flex-direction: column;
    gap: 56px;
  }
  .site-about-business-body {
    flex: 1 1 auto;
    width: 100%;
  }
  .site-about-business-map {
    width: 100%;
  }
  .site-about-capabilities-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .site-milestones-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .site-about-culture-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .site-about-compliance-card {
    grid-template-columns: 1fr;
  }
  .site-about-compliance-box {
    justify-content: flex-start;
    gap: 20px;
  }
  .site-careers-hero-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .site-careers-hero-main {
    padding-bottom: 0;
  }
  .site-careers-hero-info {
    padding-bottom: 0;
  }
  .site-careers-hero-main h1 {
    font-size: 48px;
  }
  .site-job-meta {
    grid-template-columns: repeat(2, 1fr);
  }
  .site-job-detail {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .site-benefits-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .site-benefits-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .site-careers-contact-card {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 700px) {
  .site-about-hero {
    padding-top: 40px;
    padding-bottom: 48px;
  }
  .site-about-hero-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    padding-bottom: 32px;
  }
  .site-about-hero h1 {
    font-size: 32px;
  }
  .site-about-hero-lead {
    font-size: 20px;
  }
  .site-about-hero-side {
    align-items: flex-start;
  }
  .site-about-overview {
    padding: 56px 0;
  }
  .site-about-overview-grid {
    grid-template-columns: 1fr;
  }
  .site-about-overview-badge {
    width: 80px;
    height: 80px;
    top: -12px;
    right: -8px;
  }
  .site-about-overview-badge strong {
    font-size: 16px;
  }
  .site-prose-title {
    font-size: 28px;
  }
  .site-about-overview-stats {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .site-about-business-body > h2,
  .site-about-capabilities-header h2,
  .site-milestones-header h2,
  .site-about-culture-intro h2,
  .site-about-compliance-body h2 {
    font-size: 28px;
  }
  .site-about-capabilities-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 40px;
  }
  .site-about-capabilities-header > p {
    text-align: left;
  }
  .site-about-capabilities-grid {
    grid-template-columns: 1fr;
  }
  .site-about-capability-image {
    height: auto;
  }
  .site-milestones-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 40px;
  }
  .site-milestones-grid {
    grid-template-columns: 1fr;
  }
  .site-about-culture-intro {
    margin-bottom: 40px;
  }
  .site-about-culture-media img {
    height: 320px;
  }
  .site-about-compliance-card {
    padding: 28px;
  }
  .site-about-compliance-prose p {
    font-size: 14px;
  }
  .site-careers-hero {
    padding-top: 40px;
  }
  .site-careers-hero-main h1 {
    font-size: 32px;
  }
  .site-careers-hero-lead {
    font-size: 18px;
  }
  .site-careers-hero-info-box {
    padding: 28px;
  }
  .site-job-notice {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .site-job-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  .site-job-tabs {
    width: 100%;
  }
  .site-job-tabs button {
    flex: 1 1 auto;
    text-align: center;
    padding: 10px 14px;
    font-size: 14px;
  }
  .site-job-header {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
  }
  .site-job-header-side {
    width: 100%;
    justify-content: space-between;
  }
  .site-job-location-compact {
    text-align: left;
  }
  .site-job-meta {
    grid-template-columns: 1fr;
  }
  .site-job-body {
    padding: 24px;
  }
  .site-job-apply {
    flex-direction: column;
    align-items: flex-start;
  }
  .site-benefits-header h2 {
    font-size: 28px;
  }
  .site-benefits-grid {
    grid-template-columns: 1fr;
  }
  .site-benefit-card {
    min-height: auto;
  }
  .site-careers-contact-card {
    padding: 28px;
  }
  .site-careers-contact-body h2 {
    font-size: 22px;
  }
}

.xht-site .site-inquiry-email-fallback { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; min-width: 0; font-size: 12px; line-height: 1.7; color: var(--primary); }
.xht-site .site-inquiry-email-fallback span { min-width: 0; overflow-wrap: anywhere; }
.xht-site .site-inquiry-email-fallback a { text-decoration: underline; }
.xht-site .site-inquiry-email-fallback button { border: 0; border-radius: 0; background: transparent; color: inherit; padding: 4px 0; font: inherit; text-decoration: underline; cursor: pointer; }
.xht-site [data-contact-email-submit]:disabled { opacity: .5; cursor: not-allowed; }
.xht-site [data-contact-copy]:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }

@media (max-width: 360px) {
  .site-about-hero h1 {
    font-size: 28px;
  }
  .site-about-hero-lead {
    font-size: 18px;
  }
  .site-prose-title {
    font-size: 24px;
  }
  .site-careers-hero-main h1 {
    font-size: 26px;
  }
  .site-careers-hero-info-box {
    padding: 22px;
  }
  .site-job-tabs button {
    padding: 10px 12px;
    font-size: 13px;
  }
}

.site-global-network { background: var(--surface); }
.site-global-network-heading { text-align: center; margin-bottom: 32px; }
.site-global-network-heading h2 { margin-top: 12px; color: var(--primary); }
.site-global-network-map { width: 100%; aspect-ratio: 1.9; }
.site-global-network-caption { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; color: #414943; font-size: 12px; }
.site-global-network-legend { display: grid; grid-template-columns: repeat(2, auto); gap: 10px 28px; list-style: none; padding: 0; margin: 0; }
.site-global-network-legend li { display: flex; align-items: center; gap: 9px; }
.site-global-network-legend li span { width: 9px; height: 9px; border-radius: 50%; }
@media (max-width: 700px) {
  .site-global-network .site-container { padding-inline: 16px; }
  .site-global-network-map { aspect-ratio: 1.55; }
  .site-global-network-caption { font-size: 12px; }
  .site-global-network-legend { gap: 7px 22px; }
}

.site-dot-globe{overflow:hidden;color:#1c1c18;background:var(--surface);padding:64px 0}
.dot-globe-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.45fr);align-items:center;gap:10px}
.dot-globe-copy{padding:30px 0 30px 16px;position:relative;z-index:1}
.dot-globe-eyebrow{font-size:11px;line-height:16px;font-weight:400;letter-spacing:.1em}
.dot-globe-copy h2{font-family:inherit;font-size:clamp(28px,3vw,40px);font-weight:300;line-height:1.4;letter-spacing:-.025em;white-space:pre-line;margin:24px 0}
.dot-globe-copy p{font-size:16px;line-height:2;font-weight:300;letter-spacing:.01em;color:#414943;margin:0}
.dot-globe-markets{list-style:none;display:flex;flex-wrap:wrap;gap:12px 20px;padding:0;margin:38px 0 0;max-width:330px;font-size:12px;color:#414943}
.dot-globe-markets li:first-child{width:100%;font-size:13px}
.dot-globe-markets li:first-child:before{content:'';display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%;margin:0 9px 2px 0}
.dot-globe-visual{position:relative;aspect-ratio:1;min-width:0;touch-action:pan-y;outline-offset:-12px}
.dot-globe-visual canvas,.dot-globe-fallback,.dot-globe-labels{position:absolute;inset:0;width:100%;height:100%}
.dot-globe-visual[data-ready=true] .dot-globe-fallback{visibility:hidden}
.dot-globe-visual canvas{cursor:grab}.dot-globe-visual canvas:active{cursor:grabbing}
.dot-globe-labels{pointer-events:none;overflow:hidden;z-index:1}
.dot-globe-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;stroke-width:.7;opacity:.5}
.dot-globe-label{position:absolute;font-family:inherit;font-size:11px;line-height:1.4;color:#414943;background:var(--surface-caption);padding:3px 6px;border-radius:2px;white-space:nowrap;pointer-events:auto;border:0}
.dot-globe-label[hidden]{display:none}.dot-globe-label:focus-visible{outline:1px solid currentColor}
@media(max-width:760px){.site-dot-globe{padding:48px 0 20px}.dot-globe-layout{grid-template-columns:1fr;gap:8px}.dot-globe-copy{padding:0 8px}.dot-globe-copy h2{font-size:30px;margin:18px 0}.dot-globe-markets{margin-top:24px;max-width:none;gap:10px 16px}.dot-globe-visual{margin:0 -16px}.dot-globe-label{font-size:10px;padding:2px 4px}}

/* Match the shared mobile navigation and homepage in edgeone-plan-a.
   Keep after the desktop rules so brand styles cannot override drawer labels. */
@media (max-width: 767px) {
  .site-header-inner {
    height: 80px;
    min-height: 80px;
    padding-inline: 24px;
  }
  .site-header-inner .site-brand {
    gap: 24px;
  }
  .site-header .site-logo {
    width: 64px;
    height: 32px;
    max-width: none;
    flex-shrink: 0;
  }
  .site-header-inner .site-brand-words strong {
    font-size: 22px;
    line-height: 22px;
  }
  .site-header-inner .site-brand-words small {
    font-size: 12px;
    line-height: 16px;
    transform: none;
    transform-origin: left center;
  }
  .site-menu-toggle {
    border-radius: 4px;
    border-color: #c1c8c180;
    background: var(--surface-low, #f6f3ed);
  }
  .xht-site:has(main > .site-banner:first-of-type) .site-header:not(.site-scrolled) .site-menu-toggle {
    border-color: #ffffff59;
    background: #0000001a;
    color: #fff;
  }
  .site-menu-toggle .site-icon,
  .site-menu-close .site-icon,
  .site-menu-drawer nav .site-icon {
    color: inherit;
  }
  .site-menu-overlay {
    height: 100dvh;
  }
  .site-header:has(.site-menu-open) {
    backdrop-filter: none !important;
  }
  .site-menu-drawer-header {
    flex: 0 0 80px;
    border-color: #e5e2dc;
  }
  .site-menu-drawer-header .site-brand {
    gap: 12px;
  }
  .site-menu-drawer-header .site-brand-words strong {
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    letter-spacing: 0.06em;
  }
  .site-menu-drawer-header .site-brand-words small {
    margin-top: 0;
    font-size: 12px;
    line-height: 16px;
    color: #76583f;
    opacity: 1;
  }
  .site-menu-close {
    color: #414943;
    border-radius: 4px;
  }
  .site-menu-drawer > nav {
    align-items: stretch;
    min-height: 0;
  }
  .site-menu-drawer > nav a {
    flex-shrink: 0;
    border-radius: 4px;
    color: #414943;
    line-height: 28px;
    letter-spacing: 0.01em;
  }
  .site-menu-drawer > nav a.site-menu-drawer-active {
    font-weight: 500;
    color: #fff;
  }
  .site-menu-drawer > nav a > .site-icon {
    width: 18px;
    height: 18px;
  }
  .site-menu-drawer-footer {
    flex-shrink: 0;
    border-color: #e5e2dc;
  }
  .site-menu-drawer-footer p {
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.05em;
    color: #717973;
  }
  .xht-site[data-page='home'] .site-hero-content {
    display: block;
    width: 100%;
    max-width: 768px;
  }
  .xht-site[data-page='home'] .site-banner .site-eyebrow {
    display: inline-flex;
  }
  .xht-site[data-page='home'] .site-banner h2 {
    text-shadow: 0 1px 2px #0000000d;
  }
  .xht-site[data-page='home'] .site-hero-description {
    margin-bottom: 40px;
  }
  .xht-site[data-page='home'] .site-banner .site-actions {
    margin-top: 0;
  }
}

/* Contact page: the same theme tokens serve preview and static exports. */
.xht-site[data-page='contact'] { --secondary: #76583f; line-height: 1.5; }
.site-contact-layout { padding-top: 56px; padding-bottom: 56px; row-gap: 0; align-items: start; }
.site-contact-heading { position: relative; padding-bottom: 56px; }
.site-contact-heading-status { position: absolute; right: 0; bottom: 56px; display: flex; align-items: center; gap: 16px; font-size: 12px; line-height: 20px; color: #76583fcc; }
.site-contact-heading-status:before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: color-mix(in srgb, var(--primary) 40%, transparent); }
.xht-site[data-page='contact'] .site-eyebrow { font-weight: 400; }
.xht-site[data-page='contact'] .site-header-inner .site-brand-words strong { color: var(--primary); }
.xht-site[data-page='contact'] .site-header-inner .site-brand-words small { color: var(--secondary); }
.site-contact-heading h2 { font-weight: 300; letter-spacing: -.02em; }
.site-contact-heading h2 span { color: #76583f99; }
.site-contact-heading > p:not(.site-eyebrow) { margin-top: 16px; font-size: 18px; line-height: 28px; color: #414943; }
.site-contact-layout .site-contact-cards,
.site-contact-layout:not(:has([data-section-type='location'])) .site-contact-cards { grid-column: span 7; }
.site-contact-right { grid-column: span 5; display: grid; gap: 24px; min-width: 0; }
.site-contact-cards { min-width: 0; }
.site-contact-cards article { display: flex; flex-direction: column; border-radius: 8px; }
.site-contact-cards .site-card-label { margin-bottom: 16px; }
.site-contact-company { position: relative; }
.site-contact-company .site-card-label { margin-bottom: 4px; padding-right: 56px; }
.site-contact-company .site-icon-badge { position: absolute; right: 32px; top: 32px; border-radius: 12px; }
.site-contact-company h3 { padding-right: 36px; }
.site-contact-cards h3, .site-contact-inquiry h3 { font-size: 22px; line-height: 32px; font-weight: 500; }
.site-contact-cards .site-contact-company h3 { font-size: 28px; line-height: 40px; font-weight: 400; }
.site-contact-address { margin-top: 24px; line-height: 28px; }
.site-contact-address .site-icon { flex-shrink: 0; }
.site-contact-address p { margin-top: 2px; }
.site-contact-location-note p { font-size: 14px; line-height: 23px; }
.site-contact-location-note .site-icon { color: var(--secondary); }
.xht-site .site-contact-card-subtitle { font-size: 14px; line-height: 24px; color: #414943; margin-top: 8px; }
.site-contact-detail { margin-top: 24px; }
.site-contact-detail + .site-contact-detail { margin-top: 20px; }
.site-contact-detail > span { letter-spacing: .025em; }
.site-contact-detail a { display: inline-block; margin-top: 2px; }
.site-contact-pending { display: inline-block; padding: 2px 8px; background: #ffdcc133; color: var(--secondary); font-size: 11px; line-height: 16px; border-radius: 4px; }
.site-contact-detail .site-contact-pending { margin-left: 8px; }
.site-contact-card-footnote { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--surface-container); font-size: 11px; line-height: 16px; color: var(--secondary); }
.site-contact-detail:last-of-type { margin-bottom: 32px; }
.site-contact-filing { padding: 16px; border-radius: 4px; background: var(--surface-container); color: var(--secondary); font-size: 14px; }
.site-contact-filing strong { font-weight: 500; }
.site-contact-note { grid-column: 1/-1; display: flex; align-items: start; gap: 16px; padding: 24px; background: color-mix(in srgb, var(--surface) 92%, #1c1c18); border-radius: 8px; }
.site-contact-note .site-icon { width: 22px; height: 22px; flex-shrink: 0; color: var(--secondary); }
.site-contact-note strong { color: var(--primary); font-weight: 500; }
.site-contact-note p { color: #414943; font-size: 14px; line-height: 23px; margin-top: 4px; }
.site-contact-map, .site-contact-inquiry { background: var(--surface-low); border-radius: 8px; padding: 24px; }
.site-contact-map-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.site-contact-map-heading strong { display: flex; align-items: center; gap: 8px; color: var(--primary); font-size: 14px; font-weight: 500; }
.site-contact-map-heading .site-icon { width: 18px; height: 18px; flex-shrink: 0; }
.site-contact-map-heading .site-eyebrow { white-space: nowrap; }
.site-contact-map-blank { aspect-ratio: 464 / 306; margin-top: 16px; border-radius: 4px; background: var(--surface-container); }
.site-contact-map-blank { overflow: hidden; }
.site-contact-map-blank > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.site-contact-map-address { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 24px; text-align: center; overflow-wrap: anywhere; }
.site-contact-map-address > .site-icon { width: 32px; height: 32px; color: var(--primary); }
.site-contact-map-address p { font-size: 13px; line-height: 1.7; color: var(--secondary); }
.site-contact-map-link { display: inline-block; margin-top: 16px; color: var(--primary); text-decoration: underline; text-underline-offset: 4px; }
.site-contact-map-link:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
.site-contact-map-caption { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; font-size: 11px; line-height: 16px; color: var(--secondary); }
.site-contact-map-caption > span:first-child:before { content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 6px; background: var(--primary); border-radius: 2px; }
.site-contact-inquiry { padding: 32px; }
.site-contact-inquiry .site-card-label { margin-bottom: 12px; }
.site-contact-inquiry form { display: grid; gap: 16px; margin-top: 24px; }
.site-contact-inquiry label { display: grid; gap: 6px; color: #414943; font-size: 12px; line-height: 20px; letter-spacing: .02em; }
.site-contact-inquiry input, .site-contact-inquiry select, .site-contact-inquiry textarea { width: 100%; min-width: 0; padding: 10px 16px; background: #fff; color: #1c1c18; border: 1px solid transparent; border-radius: 2px; font: inherit; font-size: 14px; line-height: 22px; letter-spacing: 0; }
.site-contact-inquiry input::placeholder, .site-contact-inquiry textarea::placeholder { color: #9ca3af; opacity: 1; }
.site-contact-inquiry textarea { resize: vertical; min-height: 92px; }
.site-contact-inquiry :is(input, select, textarea, button):focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.site-contact-inquiry button { font: inherit; cursor: pointer; }
.site-contact-inquiry [data-contact-email-submit] { display: flex; align-items: center; justify-content: center; gap: 16px; width: 100%; border: 0; border-radius: 2px; background: var(--primary); color: #fff; padding: 12px 24px; margin-top: 8px; font-size: 14px; line-height: 20px; font-weight: 500; }
.site-contact-inquiry [data-contact-email-submit]:hover { background: var(--primary); }
.site-contact-form-footer { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-top: 1px solid var(--surface-container); padding-top: 16px; margin-top: 24px; font-size: 11px; line-height: 18px; color: #717973; }
.site-contact-form-footer button { border: 0; background: none; color: inherit; padding: 0; flex-shrink: 0; }
.site-contact-inquiry [data-contact-email-feedback]:not([hidden]) { padding: 14px; font-size: 14px; color: var(--primary); background: color-mix(in srgb, var(--primary) 5.1%, transparent); }
.site-contact-closing { grid-column: 1/-1; display: flex; justify-content: space-between; align-items: baseline; gap: 24px; border-top: 1px solid var(--surface-container); margin-top: 56px; padding-top: 32px; }
.site-contact-closing h3 { margin-top: 4px; font-size: 22px; line-height: 32px; font-weight: 300; }
.site-contact-closing > p { max-width: 448px; color: #414943; font-size: 14px; line-height: 24px; }
/* A separately enabled location module remains available for existing projects. */
.site-contact-layout > .site-location { grid-column: 1/-1; margin-top: 24px; }
@media (max-width: 1023px) {
  .site-contact-layout { padding: 40px 24px; }
  .site-contact-layout .site-contact-cards,
  .site-contact-layout:not(:has([data-section-type='location'])) .site-contact-cards,
  .site-contact-right { grid-column: 1/-1; }
  .site-contact-right { margin-top: 24px; }
  .site-contact-heading h2 { font-size: 40px; line-height: 1.3; }
  .site-contact-heading { padding-bottom: 32px; }
  .site-contact-heading-status { position: static; margin-top: 16px; }
  .site-contact-closing { flex-direction: column; margin-top: 40px; }
}
@media (max-width: 767px) {
  .site-contact-layout { padding: 32px 18px 40px; }
  .site-contact-heading h2 { font-size: 36px; }
  .site-contact-heading h2 span { display: block; font-size: 30px; margin-top: 8px; }
.site-contact-heading > p:not(.site-eyebrow) { font-size: 16px; line-height: 26px; }
  .site-contact-cards { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .site-contact-cards article, .site-contact-cards .site-contact-company, .site-contact-inquiry { padding: 24px; }
  .site-contact-company .site-icon-badge { right: 24px; top: 24px; width: 32px; height: 32px; }
  .site-contact-company .site-card-label { min-height: 32px; }
  .site-contact-heading-status { position: static; margin-top: 16px; }
  .site-contact-cards .site-contact-company h3 { font-size: 22px; line-height: 32px; padding-right: 0; }
  .site-contact-address { gap: 10px; font-size: 14px; line-height: 24px; }
  .site-contact-map { padding: 20px; }
  .site-contact-map-heading { flex-wrap: wrap; gap: 6px; }
  .site-contact-map-caption { flex-wrap: wrap; gap: 8px; }
  .site-contact-inquiry input, .site-contact-inquiry select, .site-contact-inquiry textarea { font-size: 16px; }
  .site-contact-note { padding: 20px; gap: 12px; }
  .site-contact-closing h3 { font-size: 20px; }
  .site-contact-form-footer { gap: 8px; }
}

/* Delivered A recruitment layout; shared theme and editable content remain authoritative. */
/* Default markup is readable; only the initialized entrance targets are hidden. */
.xht-site[data-page='careers'] .site-benefit-card:hover { transform: none; }
.xht-site[data-page='careers'] .site-job-toggle-icon { transition: none; }
@media (prefers-reduced-motion: no-preference) {
  .xht-site[data-page='careers'] {
    & [data-careers-motion-pending] { opacity: 0; }
    & .site-job-toggle-icon .site-icon { transition: transform 180ms ease; }
    & .site-job-apply .site-button { transition: background-color 180ms ease; }
    & .site-job-apply .site-button span { display: inline-block; transition: transform 180ms ease; }
    & .site-job-apply .site-button:focus-visible span { transform: translateX(3px); }
  }
}
@media (hover: hover) and (pointer: fine) {
  .xht-site[data-page='careers'] .site-job-apply .site-button:hover {
    background-color: color-mix(in srgb, var(--primary) 86%, white);
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .xht-site[data-page='careers'] {
    & .site-benefit-card:hover { transform: translateY(-4px); }
    & .site-job-apply .site-button:hover span { transform: translateX(3px); }
  }
}
@media print {
  .xht-site[data-page='careers'] [data-careers-motion-pending] { opacity: 1; }
  .xht-site[data-page='careers'] .site-job-body[hidden] { display: block; }
}
.xht-site[data-page='careers'] .site-benefit-card {
  background: var(--primary);
  color: #fff;
}
.xht-site[data-page='careers'] .site-benefit-card :is(h3, p, span, .site-icon) { color: #fff; }
.xht-site[data-page='careers'] .site-benefit-card > div:first-child .site-icon { background: transparent; }
.xht-site[data-page='careers'] {
  --secondary: #76583f;
  --careers-container: color-mix(in srgb, var(--surface) 95%, #0c1d17);
  --careers-high: color-mix(in srgb, var(--surface) 93%, #080603);
  --careers-highest: color-mix(in srgb, var(--surface) 90%, #16130f);
  line-height: 1.5;
}
.xht-site[data-page='careers'] .site-eyebrow { font-weight: 400; }
.xht-site[data-page='careers'] .site-header-inner .site-brand-words strong { color: var(--primary); }
.xht-site[data-page='careers'] .site-header-inner .site-brand-words small { color: var(--secondary); }
.site-careers-hero { padding: 64px 0 80px; }
.site-careers-hero-inner { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 64px; align-items: baseline; }
.site-careers-hero-main { grid-column: span 7; }
.site-careers-hero-info { grid-column: span 5; }
.site-careers-hero-main, .site-careers-hero-info { padding-bottom: 0; }
.site-careers-hero-main .site-eyebrow-wrap { margin-bottom: 0; }
.site-careers-hero-main .site-eyebrow-line { height: 1px; }
.site-careers-mobile-info { display: none; }
.site-careers-hero-main h1 { margin: 0; font-size: 56px; line-height: 72px; letter-spacing: -.025em; }
.site-careers-hero-main .site-eyebrow { font-size: 12px; line-height: 18px; letter-spacing: .2em; }
.site-careers-hero-lead { font-size: 22px; line-height: 35.75px; letter-spacing: .01em; }
.site-careers-hero-info-box { background: var(--careers-container); border-radius: 8px; box-shadow: 0 1px 2px #0000000d; padding: 40px; }
.site-careers-hero-info-box > .site-eyebrow { margin-bottom: 16px; }
.site-careers-hero-info-list { gap: 16px; }
.site-careers-hero-info-list > div > div { gap: 0; }
.site-careers-hero-info-list > div > span { font-size: 12px; line-height: 18px; margin-top: 4px; letter-spacing: .08em; }
.site-careers-hero-info-list strong { line-height: 28px; letter-spacing: .01em; }
.site-careers-hero-info-list p { line-height: 24px; letter-spacing: .02em; color: #414943; }
.site-careers-hero-info-box > .site-icon { right: -24px; bottom: -24px; opacity: .05; color: var(--primary); }
.site-job-openings { padding: 64px 0; }
.site-job-notice { background: var(--careers-container); padding: 16px; border-radius: 4px; gap: 16px; margin-bottom: 40px; }
.site-job-notice > div { align-items: center; gap: 12px; }
.site-job-notice > div > .site-icon { width: 20px; height: 20px; flex-shrink: 0; margin-top: 0; }
.site-job-notice strong { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.site-job-notice p { color: var(--secondary); line-height: 24px; letter-spacing: .02em; }
.site-job-notice > span { background: var(--careers-highest); border-radius: 2px; padding: 4px 12px; font-weight: 400; letter-spacing: .1em; }
.site-job-toolbar { border-bottom: 0; padding-bottom: 24px; margin-bottom: 24px; }
.site-job-tabs { gap: 8px; }
.site-job-tabs button { font-size: 14px; line-height: 20px; letter-spacing: .06em; font-weight: 500; padding: 10px 24px; border-radius: 12px; color: #414943; }
.site-job-location { gap: 8px; font-size: 11px; line-height: 16px; letter-spacing: .05em; color: #717973; }
.site-job-card { border-radius: 8px; box-shadow: 0 1px 2px #0000000d; }
.site-job-header { padding: 32px; }
.site-job-header:hover { background: var(--careers-container); }
.site-job-tags { gap: 12px; }
.site-job-tags span { font-size: 11px; line-height: 16px; letter-spacing: .1em; font-weight: 400; padding: 4px 12px; border-radius: 2px; }
.site-job-department, .site-job-type { background: var(--careers-high); }
.site-job-department { color: var(--secondary); }
.site-job-type { color: #414943; }
.site-job-header-main h3 { font-size: 28px; line-height: 40px; letter-spacing: -.025em; }
.site-job-header-side { gap: 32px; }
.site-job-location-compact span:first-child { line-height: 28px; color: #1c1c18; letter-spacing: .01em; }
.site-job-location-compact span:last-child { font-size: 11px; line-height: 16px; color: #717973; letter-spacing: .1em; }
.site-job-toggle-icon { background: var(--careers-highest); border-radius: 12px; flex-shrink: 0; }
.site-job-card[data-job-open='true'] .site-job-toggle-icon .site-icon { transform: rotate(180deg); }
.site-job-body { border-color: var(--careers-container); padding: 32px 32px 40px; }
.site-job-meta { gap: 16px; padding-bottom: 32px; margin-bottom: 32px; border-color: var(--careers-container); }
.site-job-meta > div { padding: 16px; border-radius: 4px; background: var(--surface); gap: 4px; min-width: 0; }
.site-job-meta span { font-size: 11px; line-height: 16px; color: #717973; letter-spacing: .1em; }
.site-job-meta strong { font-size: 16px; line-height: 28px; letter-spacing: .01em; }
.site-job-detail { gap: 40px; }
.site-job-detail > .site-job-development { grid-column: 1 / -1; }
.site-job-detail-title { gap: 8px; }
.site-job-detail-title span { width: 6px; height: 16px; }
.site-job-detail-title h4 { margin: 0; font-size: 22px; line-height: 32px; letter-spacing: .01em; }
.site-job-detail li { gap: 12px; line-height: 24px; letter-spacing: .02em; color: #414943; }
.site-job-apply { margin-top: 40px; padding: 24px; border-radius: 8px; background: var(--surface); }
.site-job-apply > div { gap: 12px; }
.site-job-apply > div > .site-icon { width: 22px; height: 22px; }
.site-job-apply strong { font-size: 14px; line-height: 24px; margin-bottom: 0; letter-spacing: .02em; }
.site-job-apply p { font-size: 11px; line-height: 16px; letter-spacing: .1em; color: #414943; }
.site-job-apply .site-button { background: var(--primary); padding: 12px 32px; font-size: 14px; line-height: 20px; letter-spacing: .06em; border-radius: 2px; white-space: nowrap; }
.site-benefits { padding: 80px 0; }
.xht-site[data-page='careers'][data-site-font='template'] .site-benefits { font-family: var(--site-font); }
.site-benefits-header { gap: 24px; }
.site-benefits-header .site-eyebrow { font-size: 12px; line-height: 18px; letter-spacing: .2em; }
.site-benefits-header h2 { font-size: 40px; line-height: 56px; color: var(--primary); }
.site-benefits-header > p { max-width: 760px; line-height: 28px; letter-spacing: .01em; color: #414943; }
.site-benefits-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.site-benefit-card { padding: 32px; height: auto; min-height: 224px; border-radius: 8px; background: var(--careers-container); gap: 16px; }
.site-benefit-card > div { flex-shrink: 0; min-width: 0; }
.site-benefit-card > div:first-child .site-icon { width: 32px; height: 32px; }
.site-benefit-card > div:first-child span { font-family: ui-monospace, monospace; font-size: 11px; line-height: 16px; letter-spacing: .1em; }
.site-benefit-card h3 { font-size: 22px; line-height: 32px; font-weight: 500; letter-spacing: .01em; margin-bottom: 8px; }
.site-benefit-card p { min-height: 72px; font-size: 14px; line-height: 24px; font-weight: 400; letter-spacing: .02em; color: #414943; }
.site-careers-contact { padding: 0 0 96px; }
.site-careers-contact-card { padding: 48px; border-radius: 8px; background: var(--careers-container); }
.site-careers-contact-body { max-width: 672px; gap: 8px; }
.site-careers-contact-eyebrow { gap: 8px; }
.site-careers-contact-eyebrow .site-eyebrow { font-size: 14px; line-height: 20px; letter-spacing: .05em; font-weight: 500; }
.site-careers-contact-eyebrow .site-icon { width: 20px; height: 20px; }
.site-careers-contact-body h2 { font-size: 16px; line-height: 28px; letter-spacing: .01em; font-weight: 500; }
.site-careers-contact-body p { font-size: 14px; line-height: 22.75px; letter-spacing: .02em; color: #414943; }
.site-careers-contact-address { padding: 12px 20px; border-radius: 4px; background: var(--surface); gap: 12px; font-size: 12px; line-height: 18px; letter-spacing: .08em; color: #414943; }
.site-careers-contact-address .site-icon { width: 18px; height: 18px; flex-shrink: 0; }
@media (max-width: 1023px) {
  .site-careers-hero-inner { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .site-careers-hero-main, .site-careers-hero-info { padding-bottom: 0; }
  .site-careers-hero-main, .site-careers-hero-info { grid-column: 1/-1; }
  .site-careers-hero-info-box { padding: 32px; }
  .site-job-header { flex-direction: column; align-items: flex-start; }
  .site-job-header-side { width: 100%; justify-content: space-between; }
  .site-job-location-compact { text-align: left; }
  .site-job-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .site-job-detail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-benefits-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-careers-contact-card { flex-direction: row; padding: 32px; }
}
@media (max-width: 767px) {
  .xht-site[data-page='careers'] .site-container { padding-inline: 20px; }
  .xht-site[data-page='careers'] .site-header-inner { height: 64px; min-height: 64px; padding-inline: 20px; }
  .xht-site[data-page='careers'] .site-header-inner .site-brand { gap: 8px; }
  .xht-site[data-page='careers'] .site-header-inner .site-brand-words strong { font-size: 14px; line-height: 20px; font-weight: 500; }
  .xht-site[data-page='careers'] .site-header-inner .site-brand-words small { font-size: 10px; line-height: 16px; }
  .site-careers-hero { padding: 20px 0 32px; }
  .site-careers-hero-inner { gap: 18px; }
  .site-careers-hero-main { gap: 6px; }
  .site-careers-hero-main .site-eyebrow { font-size: 11px; line-height: 16px; letter-spacing: .1em; }
  .site-careers-hero-main .site-eyebrow-line { width: 12px; height: 10px; border-radius: 10px 0; }
  .site-careers-hero-main .site-eyebrow-wrap { gap: 6px; }
  .site-careers-hero-main h1 { font-size: 28px; line-height: 40px; font-weight: 400; }
  .site-careers-hero-lead { font-size: 16px; line-height: 28px; color: #414943; font-weight: 400; }
  .site-careers-hero-info-box { display: none; }
  .site-careers-mobile-info { display: flex; gap: 8px; align-items: center; padding: 12px; background: var(--careers-container); border-radius: 8px; box-shadow: 0 1px 2px #0000000d; }
  .site-careers-mobile-info > .site-icon { width: 32px; height: 32px; padding: 7px; background: var(--careers-highest); border-radius: 12px; flex-shrink: 0; }
  .site-careers-mobile-info > div { display: flex; flex-direction: column; }
  .site-careers-mobile-info strong { font-size: 12px; line-height: 18px; font-weight: 500; color: var(--primary); }
  .site-careers-mobile-info span { font-size: 11px; line-height: 16px; color: #414943; }
  .site-job-openings { padding: 0 0 32px; }
  .site-job-openings > .site-container { display: flex; flex-direction: column; }
  .site-job-toolbar { order: -1; margin: 0 0 12px; padding: 0; }
  .site-job-location { display: none; }
  .site-job-notice { flex-direction: column; align-items: flex-start; }
  .site-job-notice { padding: 8px 12px; background: var(--surface-low); gap: 6px; margin-bottom: 20px; }
  .site-job-notice > div { gap: 6px; }
  .site-job-notice > div > .site-icon { width: 14px; height: 14px; }
  .site-job-notice p { font-size: 11px; line-height: 16px; }
  .site-job-notice > span { padding: 0; background: none; align-self: flex-end; }
  .site-job-tabs { width: 100%; flex-wrap: wrap; gap: 6px; }
  .site-job-tabs button { flex: 0 1 auto; padding: 6px 12px; font-size: 12px; line-height: 18px; letter-spacing: .02em; background: var(--careers-container); }
  .site-job-list { gap: 20px; }
  .site-job-card { background: #fff; }
  .site-job-header { padding: 20px; gap: 12px; position: relative; }
  .site-job-header-main { gap: 12px; width: 100%; }
  .site-job-tags { gap: 6px; padding-right: 0; }
  .site-job-tags span { padding: 2px 8px; letter-spacing: .05em; }
  .site-job-status { display: none; }
  .site-job-header-main h3 { font-size: 22px; line-height: 32px; padding-right: 38px; }
  .site-job-header-side { gap: 8px; }
  .site-job-location-compact { min-width: 0; }
  .site-job-location-compact span:first-child { color: var(--secondary); font-size: 11px; line-height: 16px; }
  .site-job-location-compact span:last-child { display: none; }
  .site-job-toggle-icon { position: absolute; right: 20px; top: 64px; width: 32px; height: 32px; background: var(--careers-container); }
  .site-job-toggle-icon .site-icon { width: 20px; height: 20px; }
  .site-job-body { padding: 12px 20px 20px; }
  .site-job-meta { display: none; }
  .site-job-detail { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .site-job-detail > div { gap: 6px; }
  .site-job-detail-title { gap: 6px; }
  .site-job-detail-title span { width: 6px; height: 6px; }
  .site-job-detail > div:nth-child(2) .site-job-detail-title span { background: var(--secondary); }
  .site-job-detail-title h4 { font-size: 14px; line-height: 20px; letter-spacing: .06em; }
  .site-job-detail ul { counter-reset: duty; gap: 8px; padding-left: 12px; }
  .site-job-detail li { gap: 8px; }
  .site-job-detail li:before { counter-increment: duty; content: counter(duty, decimal-leading-zero); color: var(--secondary); font-size: 12px; line-height: 18px; flex-shrink: 0; padding-top: 3px; }
  .site-job-detail li .site-icon { display: none; }
  .site-job-apply { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 8px; margin-top: 28px; padding: 0; background: transparent; }
  .site-job-apply > div { padding: 8px; background: var(--surface-low); text-align: center; }
  .site-job-apply > div > .site-icon, .site-job-apply strong { display: none; }
  .site-job-apply .site-button { justify-content: center; padding: 12px 16px; white-space: normal; border-radius: 4px; }
  .site-benefits { padding: 24px 0 32px; }
  .site-benefits-header { flex-direction: column; align-items: flex-start; margin-bottom: 16px; }
  .site-benefits-header > div { gap: 0; }
  .site-benefits-header .site-eyebrow { font-size: 11px; line-height: 16px; letter-spacing: .1em; }
  .site-benefits-header > p { display: none; }
  .site-benefits-header h2 { font-size: 22px; line-height: 32px; font-weight: 500; }
  .site-benefits-grid { grid-template-columns: 1fr; gap: 24px; }
  .site-benefit-card { height: auto; min-height: 224px; padding: 32px; justify-content: space-between; gap: 16px; background: #fff; box-shadow: 0 1px 2px #0000000d; }
  .site-benefit-card > div:first-child .site-icon { width: 32px; height: 32px; padding: 0; background: var(--careers-container); border-radius: 4px; }
  .site-benefit-card > div:first-child span { display: block; }
  .site-benefit-card h3 { font-size: 22px; line-height: 32px; margin-bottom: 8px; letter-spacing: .01em; }
  .site-careers-contact { padding-bottom: 32px; }
  .site-careers-contact-card { flex-direction: column; align-items: flex-start; }
  .site-careers-contact-address { flex-shrink: 1; max-width: 100%; }
}

/* Final reference: 2500 × 8528; 69.2% content width. Shared by preview/export. */
.xht-site[data-page='home'] {
  --primary: #2c5742; --secondary: #7e9087; --home-sage: #eef0e9; --home-dark: var(--primary);
  --home-sans: var(--site-font); --home-serif: var(--site-font);
  /* Type follows the 2500px reference, capped with the 1384px container. */
  --home-heading: clamp(34px, 3.2vw, 64px);
  --home-body: clamp(14px, .96vw, 19.2px);
  --home-small: clamp(12px, .65vw, 14px);
  --home-label: clamp(10px, .64vw, 12.8px);
  --home-card-title: clamp(18px, 1.28vw, 25.6px);
  &[data-site-font='template'] {
    --home-sans: var(--site-font);
    --home-serif: 'Songti SC', SimSun, serif;
  }
  & > main { font-family: var(--home-sans); }
  color: var(--primary); line-height: 1.7;
  & .site-container { width: 69.2%; max-width: 1384px; padding-inline: 0; margin-inline: auto; }
  & .site-section { padding-block: 100px; scroll-margin-top: 70px; }
  & h2 { font-size: var(--home-heading); font-weight: 300; line-height: 1.22; letter-spacing: -.025em; }
  & .site-title-accent { /*color: #78a391;*/ font-weight: inherit; }
  & .site-eyebrow { display: flex; align-items: center; gap: 12px; color: #85928a; font-size: var(--home-label); font-weight: 500; letter-spacing: .16em; line-height: 1.6; }
  & .site-eyebrow::before { content: ''; width: 24px; height: 1px; background: currentColor; flex-shrink: 0; }
  & .site-eyebrow::after { content: none; }
  & .site-banner { height: auto; min-height: 0; aspect-ratio: 2500 / 1296; }
  & .site-hero-image { object-position: center; }
  /* & .site-hero-shade { background: linear-gradient(90deg, color-mix(in srgb, var(--primary) 70.2%, transparent) 0%, color-mix(in srgb, var(--primary) 40%, transparent) 40%, color-mix(in srgb, var(--primary) 3.9%, transparent) 85%), linear-gradient(0deg, color-mix(in srgb, var(--primary) 33.3%, transparent), transparent 50%); } */
  & .site-hero-copy { position: absolute; inset: 0; padding-block: 0; justify-content: center; padding-top: 70px; }
  & .site-hero-content { display: block; }
  & .site-banner .site-eyebrow { color: #e7ece6; margin-bottom: 22px; }
  & .site-banner h2 { font-size: clamp(56px, 5.12vw, 102.4px); line-height: 1.08; letter-spacing: -.04em; margin-bottom: 18px; font-weight: 300; }
  & .site-hero-rest { display: block; font-family: var(--home-serif); font-weight: 400; }
  & .site-hero-description { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(18px, 1.28vw, 25.6px); color: #efeee4; line-height: 1.5; }
  & .site-banner .site-actions { gap: 12px; margin-top: 20px; }
  & .site-banner .site-button { min-height: 0; padding: 11px 18px; border-radius: 30px; font-size: var(--home-small); line-height: 1.4; background: #fff; color: var(--primary); border: 1px solid #fff; }
  & .site-banner .site-button::after { content: '↗'; margin-left: 10px; }
  & .site-banner .site-button-secondary { background: transparent; border-color: #ffffff66; color: #fff; }
  & .site-intro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9.2%; align-items: start; }
  & .site-intro .site-eyebrow { margin-bottom: 24px; }
  & .site-intro h2 { margin-bottom: 22px; }
  & .site-prose { font-size: var(--home-body); line-height: 1.95; color: #63736b; font-weight: 400; }
  & .site-intro .site-prose { max-width: none; }
  & .site-intro .site-prose + .site-prose { margin-top: 14px; }
  & .site-intro figure { border-radius: 2px; box-shadow: none; }
  & .site-intro figure > img { height: auto; aspect-ratio: 1.15; object-fit: cover; }
  & .site-intro figcaption { left: 0; bottom: 0; right: auto; width: 72%; padding: 16px 20px; border: 0; border-radius: 0; background: #f8f7f1ed; box-shadow: none; }
  & .site-intro figcaption .site-icon { display: none; }
  & .site-intro figcaption strong { font-size: var(--home-small); font-weight: 500; }
  & .site-intro figcaption span { font-size: var(--home-small); line-height: 1.7; color: var(--primary); }
  & .site-brand-summary { margin-top: 32px; padding-top: 18px; border-color: #dde0d8; gap: 16px; }
  & .site-brand-summary > div { flex: 1; text-align: left; }
  & .site-brand-summary .site-eyebrow { display: block; font-size: var(--home-small); color: var(--primary); font-weight: 600; letter-spacing: 0; margin-bottom: 9px; }
  & .site-brand-summary .site-eyebrow::before { content: none; }
  & .site-brand-summary strong { font-size: var(--home-small); color: #88988e; font-weight: 400; line-height: 1.6; }
  & .site-capabilities { background: var(--home-sage); }
  & .site-capabilities-heading, & .site-living-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 52px; }
  & .site-capabilities-heading .site-eyebrow, & .site-living-heading .site-eyebrow { margin-bottom: 24px; }
  & .site-capabilities-heading > p, & .site-living-heading > p { max-width: clamp(300px, 30vw, 560px); font-size: var(--home-small); line-height: 1.9; color: #829086; font-weight: 400; }
  & .site-capabilities-heading .site-title-accent { color: inherit; font-family: var(--home-serif); font-weight: 400; }
  & .site-living-heading h2 { font-family: var(--home-serif); font-weight: 400; }
  & .site-capabilities-grid { gap: 0; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid #d8ded5; }
  & .site-capabilities-grid article { padding: clamp(32px, 2.8vw, 56px) clamp(26px, 1.8vw, 36px); border: 0; min-height: clamp(244px, 17.4vw, 348px); }
  & .site-capabilities-grid article + article { border-left: 1px solid #d8ded5; }
  & .site-card-label { margin-bottom: 22px; }
  & .site-card-label .site-icon, & .site-card-label .site-eyebrow::before { display: none; }
  & .site-card-label .site-eyebrow { font-size: var(--home-label); letter-spacing: .1em; }
  & .site-capabilities-grid h3 { font-size: var(--home-card-title); line-height: 1.5; margin-bottom: 12px; font-weight: 500; }
  & .site-capabilities-grid article > p { font-size: var(--home-small); line-height: 1.9; color: #7d8c81; font-weight: 400; }
  & .site-capability-caption { padding-top: 20px; font-size: var(--home-small); letter-spacing: 0; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: #c6d0c6; }
  & .site-living-grid { display: grid; grid-template-columns: 1.5fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; aspect-ratio: 2.18; }
  & .site-living-grid figure { position: relative; overflow: hidden; min-height: 0; }
  & .site-living-grid figure:first-child { grid-row: span 2; }
  & .site-living-grid img { width: 100%; height: 100%; object-fit: cover; }
  & .site-living-grid figure::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent,color-mix(in srgb, var(--primary) 46.7%, transparent)); pointer-events: none; }
  & .site-living-grid figcaption { position: absolute; z-index: 1; bottom: 18px; left: 18px; color: #fff; }
  & .site-living-grid figcaption span { font-size: var(--home-label); letter-spacing: .08em; }
  & .site-living-grid h3 { color: #fff; font-size: var(--home-card-title); line-height: 1.6; }
  & .site-culture-section { background: var(--home-dark); color: #edf0e6; }
  & .site-culture { width: 74%; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); column-gap: clamp(32px, 4vw, 64px); align-items: start; }
  & .site-culture > div { grid-column: 1; grid-row: 1; min-width: 0; margin: auto; }
  & .site-culture > figure { grid-column: 2; grid-row: 1; aspect-ratio: 1.3; box-shadow: none; border-radius: 0; }
  & .site-culture .culture-carousel-track { position: absolute; inset: 0; height: 100%; }
  & .site-culture figure img { height: 100%; aspect-ratio: auto; object-fit: cover; }
  & .site-culture-image-badge { position: absolute; z-index: 2; top: 18px; right: 18px; width: 52px; height: 52px; display: grid; place-content: center; border: 1px solid #ffffff88; border-radius: 50%; color: white; font: 11px/1.25 Arial,sans-serif; text-align: center; white-space: pre-line; }
  & .site-culture .site-eyebrow { color: #acc1b7; margin-bottom: 24px; }
  & .site-culture h2 { color: #edf0e6; white-space: normal; overflow-wrap: anywhere; font-size: clamp(30px, 3.2vw, 56px); font-weight: 500; margin-bottom: 22px; letter-spacing: .04em; }
  & .site-short-rule, & .site-lead:empty { display: none; }
  & .site-culture .site-short-rule { display: block; position: relative; width: 100%; height: 1px; background: #ffffff26; margin-bottom: 24px; }
  & .site-culture .site-short-rule::before { content: ''; position: absolute; top: -1px; left: 0; width: 22%; max-width: 112px; height: 3px; background: #d2c28a; }
  & .site-lead { color: #e0ebe2; font-size: 16px; }
  & .site-culture .site-lead { color: #93ae9d; font-size: clamp(18px, 1.66vw, 24px); line-height: 1.5; letter-spacing: .06em; }
  & .site-culture .site-prose { color: #bdcec2; font-size: var(--home-body); line-height: 3; }
  & .site-culture-values { display: block; margin-top: 28px; padding: 0; border-color: #ffffff20; }
  & .site-culture-values > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid #ffffff20; }
  & .site-culture-values h3 { color: #97b5a7; font-size: var(--home-small); font-weight: 400; }
  & .site-culture-values p { color: #ecf1e9; font-size: var(--home-small); font-weight: 600; text-align: right; }
  & .site-milestones { background: #e8e9e1; }
  & .site-milestones-header { margin-bottom: 48px; }
  & .site-milestones-header h2 { font-size: 34px; margin-top: 24px; }
  & .site-milestones-note:has(span:empty) { display: none; }
  & .site-milestones-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
  & .site-milestone-card { padding: 26px 20px; background: var(--surface); border: 0; border-radius: 0; min-height: 154px; box-shadow: none; transform: none; }
  & .site-milestone-meta { margin-bottom: 22px; }
  & .site-milestone-meta span:first-child { display: none; }
  & .site-milestone-meta span:last-child { color: #8b9b91; font-size: 12px; background: none; padding: 0; }
  & .site-milestone-card h3 { font-size: 15px; font-weight: 600; margin-bottom: 9px; }
  & .site-milestone-card p { font-size: 12px; line-height: 1.8; color: #839087; }
  & .site-milestone-featured { background: var(--primary); }
  & .site-milestone-featured h3 { color: #f6f7f1; }
  & .site-milestone-featured p, & .site-milestone-featured .site-milestone-meta span:last-child { color: #bccfc3; }
  & .site-inquiry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5.3%; align-items: start; }
  & .site-home-inquiry h2 { margin-top: 28px; margin-bottom: 28px; }
  & .site-inquiry-description { font-size: var(--home-body); line-height: 2; color: #75847a; }
  & .site-inquiry-details { margin: 38px 0 0; }
  & .site-inquiry-details > div { display: grid; grid-template-columns: 95px 1fr; gap: 8px; padding: 18px 0; border-top: 1px solid #d9ded5; font-size: var(--home-small); }
  & .site-inquiry-details > div:last-child { border-bottom: 1px solid #d9ded5; }
  & .site-inquiry-details dt { color: #8c9b91; }
  & .site-inquiry-details dd { margin: 0; font-weight: 600; }
  & .site-inquiry-panel { padding: 28px; background: var(--home-sage); }
  & .site-inquiry-panel h3 { font-size: clamp(22px, 1.44vw, 28.8px); margin-top: 12px; margin-bottom: 24px; font-weight: 400; }
  & .site-inquiry-panel form { display: grid; gap: 16px; }
  & .site-inquiry-panel label { display: grid; gap: 6px; color: #7d8c82; font-size: var(--home-small); }
  & .site-inquiry-panel :is(input,select,textarea) { width: 100%; min-width: 0; border: 1px solid #d9ded6; border-radius: 0; background: #fafaf6; color: var(--primary); padding: 12px; font: inherit; font-size: var(--home-small); line-height: 1.6; }
  & .site-inquiry-panel textarea { resize: vertical; min-height: 96px; }
  & .site-inquiry-panel [data-contact-email-submit] { border: 0; border-radius: 32px; background: var(--primary); color: white; padding: 12px 20px; font: inherit; font-size: var(--home-small); cursor: pointer; }
  & .site-inquiry-panel [data-contact-email-submit] span { margin-left: 16px; }
  & .site-inquiry-note { color: #8b9b90; font-size: var(--home-small); margin-top: 14px; }
  & .site-inquiry-panel [role='status'] { color: var(--primary); font-size: var(--home-small); }
  & :is(a,button,input,textarea,select):focus-visible { outline: 2px solid #84ad9b; outline-offset: 4px; }
}
/* Let the copy set the desktop image height, excluding the chapter label. */
@media (min-width: 701px) {
  .xht-site[data-page='home'] {
    & .site-intro { row-gap: 0; align-items: stretch; }
    & .site-intro > div { display: contents; }
    & .site-intro > div > .site-eyebrow { grid-column: 1; grid-row: 1; }
    & .site-intro-content { grid-column: 1; grid-row: 2; min-width: 0; }
    & .site-intro > figure { grid-column: 2; grid-row: 2; min-height: 0; }
    & .site-intro figure > img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
  }
}
/* Entrances are opt-in at runtime; static HTML stays readable without JavaScript. */
@media (prefers-reduced-motion: no-preference) {
  .xht-site[data-page='home'] {
    & [data-home-motion-pending] { opacity: 0; }
    & .site-header { transition: background-color 240ms ease, border-color 240ms ease, color 240ms ease; }
    & .site-header-inner > nav a { transition: opacity 180ms ease; }
    & .site-banner .site-button { transition: background-color 200ms ease, border-color 200ms ease; }
    & .site-banner .site-button::after { display: inline-block; transition: transform 220ms ease; }
    & .site-inquiry-panel :is(input, select, textarea) { transition: border-color 180ms ease; }
    & .site-inquiry-panel [data-contact-email-submit] { transition: background-color 200ms ease; }
    & .site-inquiry-panel [data-contact-email-submit] span { display: inline-block; transition: transform 220ms ease; }
    & .site-living-grid img { transition: transform 650ms cubic-bezier(.22, 1, .36, 1); }
    & .site-capabilities-grid article { transition: background-color 220ms ease; }
    & .site-banner .site-button:focus-visible::after { transform: translateX(3px); }
    & .site-inquiry-panel [data-contact-email-submit]:focus-visible span { transform: translate(3px, -2px); }
  }
}
.xht-site[data-page='home'] .site-inquiry-panel :is(input, select, textarea):focus { border-color: #719584; }
@media (hover: hover) and (pointer: fine) {
  .xht-site[data-page='home'] {
    & .site-header-inner > nav a:hover { opacity: .72; }
    & .site-banner .site-button:not(.site-button-secondary):hover { background-color: #eef0e9; border-color: #eef0e9; }
    & .site-banner .site-button-secondary:hover { background-color: #ffffff14; }
    & .site-inquiry-panel [data-contact-email-submit]:not(:disabled):hover { background-color: color-mix(in srgb, var(--primary) 86%, white); }
    & .site-capabilities-grid article:hover { background-color: #f8f9f480; }
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .xht-site[data-page='home'] {
    & .site-living-grid figure:hover img { transform: scale(1.025); }
    & .site-banner .site-button:hover::after { transform: translateX(3px); }
    & .site-inquiry-panel [data-contact-email-submit]:not(:disabled):hover span { transform: translate(3px, -2px); }
  }
}
@media print {
  .xht-site[data-page='home'] [data-home-motion-pending] { opacity: 1; }
}
@media(min-width:1800px) {
  .xht-site[data-page='home'] {
    & .site-section { padding-block: 140px; }
  }
}
@media(max-width:1100px) {
  .xht-site[data-page='home'] {
    & .site-container { width: 86%; }
    & .site-section { padding-block: 72px; }
    & h2 { font-size: 34px; }
    & .site-banner h2 { font-size: 56px; }
    & .site-intro { column-gap: 6%; }
    & .site-culture { width: 86%; column-gap: 6%; }
    & .site-capabilities-heading > p, & .site-living-heading > p { max-width: 210px; }
    & .site-inquiry-panel { padding: 24px; }
  }
}
@media(max-width:700px) {
  .xht-site[data-page='home'] {
    & .site-container { width: calc(100% - 40px); }
    & .site-section { padding-block: 56px; }
    & h2 { font-size: 32px; letter-spacing: -.035em; }
    & .site-banner { aspect-ratio: auto; height: 620px; max-height: 90svh; min-height: 480px; }
    & .site-hero-image { object-position: 58% center; }
    & .site-hero-copy { padding-top: 80px; }
    & .site-banner h2 { font-size: 52px; }
    & .site-hero-description { font-size: 16px; }
    & .site-intro, & .site-culture, & .site-inquiry-grid { grid-template-columns: 1fr; gap: 32px; }
    & .site-intro figure > img { aspect-ratio: 1.12; }
    & .site-intro figcaption { width: 86%; }
    & .site-culture > div { grid-column: 1; grid-row: 1; }
    & .site-culture { width: calc(100% - 40px); }
    & .site-culture h2 { font-size: 30px; letter-spacing: .02em; }
    & .site-culture > figure { grid-column: 1; grid-row: 2; }
    & .site-capabilities-heading, & .site-living-heading { display: block; margin-bottom: 30px; }
    & .site-capabilities-heading > p, & .site-living-heading > p { max-width: none; margin-top: 18px; font-size: 12px; }
    & .site-capabilities-grid { grid-template-columns: 1fr; }
    & .site-capabilities-grid article { min-height: 0; padding: 26px; }
    & .site-capabilities-grid article + article { border-left: 0; border-top: 1px solid #d8ded5; }
    & .site-living-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 300px 160px; aspect-ratio: auto; gap: 10px; }
    & .site-living-grid figure:first-child { grid-row: 1; grid-column: 1 / -1; }
    & .site-living-grid figcaption { bottom: 12px; left: 12px; }
    & .site-living-grid h3 { font-size: 15px; }
    & .site-milestones-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    & .site-milestone-card { padding: 20px 16px; }
    & .site-inquiry-panel { padding: 22px; }
  }
}

.xht-site .site-footer { background: var(--primary); color: #b4c6ba; padding-top: 52px; padding-bottom: 8px; }
.xht-site .site-footer-grid { display: grid; grid-template-columns: 1.8fr 1fr; gap: 100px; padding-bottom: 46px; }
.xht-site .site-footer-name { font-size: 14px; letter-spacing: .12em; color: #dbe7dc; }
/* Override the baseline important margin: group the two brand names, then pause. */
.xht-site .site-footer-brand { font-size: 12px; margin: 0 0 30px !important; text-transform: uppercase; }
.xht-site .site-footer-contact { gap: 0; margin: 0; }
.xht-site .site-footer-positioning { margin: 0; }
.xht-site .site-footer-contact .site-icon, .xht-site .site-footer h2, .xht-site .site-footer-phone { display: none; }
.xht-site .site-footer p { font-size: 12px; line-height: 24px; }
.xht-site .site-footer nav { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 30px; padding-top: 4px; font-size: 12px; }
.xht-site .site-footer-bottom { border-color: #ffffff18; padding-top: 18px; margin-top: 0; gap: 24px; }
.xht-site .site-footer-bottom :is(p,span,a) { font-size: 12px; color: #8ca69a; }
.xht-site .site-footer { line-height: 1.7; }
.xht-site .site-footer .site-container { width: 69.2%; max-width: 1384px; padding-inline: 0; margin-inline: auto; }
@media (max-width: 1100px) { .xht-site .site-footer .site-container { width: 86%; } }
@media (max-width: 700px) {
    .xht-site .site-footer-grid { grid-template-columns: 1fr; gap: 32px; }
    .xht-site .site-footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
  .xht-site .site-footer .site-container { width: calc(100% - 40px); }
}








.site-capabilities{background:var(--surface-low, #f6f3ed)}

.site-corporate-culture .corporate-culture-heading {
  text-align: center;
  color: var(--primary);
  margin-bottom: 48px;
}
.corporate-culture-heading::after {
  content: '';
  display: block;
  width: 64px;
  height: 3px;
  margin: 24px auto 0;
  background: var(--primary);
}
.corporate-culture-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 16px;
}
.corporate-culture-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  min-height: 320px;
  padding: 40px 28px;
  border: 0;
  border-radius: 8px;
  background: var(--surface-low, #f6f3ed);
  color: var(--primary);
  font: inherit;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
  transition: background-color 280ms ease, color 280ms ease;
}
.corporate-culture-number {
  display: block;
  padding-bottom: 20px;
  margin-bottom: 24px;
  border-bottom: 1px solid currentColor;
  font-size: 48px;
  font-weight: 300;
  line-height: 1.1;
}
.corporate-culture-title {
  font-size: 28px;
  font-weight: 400;
  line-height: 1.43;
  white-space: pre-wrap;
}
.corporate-culture-body {
  display: block;
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.8;
  white-space: pre-wrap;
  visibility: hidden;
  opacity: 0;
  transition: opacity 280ms ease, visibility 280ms;
}
.corporate-culture-card[aria-expanded='true'] {
  background: var(--primary);
  color: #fff;
}
.corporate-culture-card[aria-expanded='true'] .corporate-culture-body {
  visibility: visible;
  opacity: 1;
}
.corporate-culture-card:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 4px;
}
@media (max-width: 1023px) {
  .corporate-culture-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
  .corporate-culture-grid { grid-template-columns: minmax(0, 1fr); }
  .site-corporate-culture .corporate-culture-heading { font-size: 32px; margin-bottom: 32px; }
  .corporate-culture-card { min-height: 300px; padding: 32px 28px; }
  .corporate-culture-title { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .corporate-culture-card, .corporate-culture-body { transition: none; }
}

.site-section.site-business-footprint {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #fdfaf6;
  color: #0b423b;
}
.footprint-network { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
.site-business-footprint .footprint-eyebrow { margin: 0 0 16px; font-size: 11px; letter-spacing: .1em; color: #98633d; line-height: 1.5; }
.xht-site .site-business-footprint .footprint-heading { margin: 0 0 32px; color: #0b423b; font-size: 40px; font-weight: 300; line-height: 1.35; letter-spacing: -.01em; }
.footprint-heading::after { content: ''; display: block; width: 48px; height: 3px; margin-top: 20px; background: #d37653; border-radius: 1px; }
.footprint-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.footprint-card { display: flex; align-items: flex-start; gap: 20px; min-width: 0; padding: 28px; border: 1px solid #eeeae4; border-radius: 16px; background: rgb(255 253 249 / 72%); box-shadow: 0 8px 24px rgb(107 77 47 / 4%); }
.footprint-icon { display: grid; place-items: center; flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(145deg, #f3ece2, #f9f5ee); color: #a17149; }
.footprint-icon svg { width: 30px; height: 30px; }
.footprint-copy { min-width: 0; padding-top: 2px; }
.site-business-footprint .footprint-copy h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.4; font-weight: 500; color: #0b423b; }
.site-business-footprint .footprint-copy p { margin: 0; white-space: pre-line; font-size: 16px; line-height: 1.75; color: #4a5d5e; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .xht-site .site-business-footprint .footprint-heading { font-size: 28px; margin-bottom: 28px; }
  .footprint-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .footprint-card { padding: 24px 20px; gap: 16px; border-radius: 14px; }
  .footprint-icon { flex-basis: 44px; width: 44px; height: 44px; }
  .footprint-icon svg { width: 26px; height: 26px; }
  .site-business-footprint .footprint-copy h3 { font-size: 18px; }
}
@media (max-width: 360px) {
  .footprint-card { padding: 20px 16px; gap: 12px; }
  .footprint-icon { flex-basis: 36px; width: 36px; height: 36px; }
  .footprint-icon svg { width: 22px; height: 22px; }
}








.site-milestone-timeline {
  --timeline-ink: #17483f;
  --timeline-muted: #748984;
  --timeline-line: #9aada4;
  --timeline-reach: 60px;
  --timeline-expand: 24px;
  background: color-mix(in srgb, var(--surface) 72%, #cfd4c8);
  color: var(--timeline-ink);
}
.timeline-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 12px; }
.timeline-heading .site-eyebrow { display: flex; align-items: center; gap: 12px; color: var(--timeline-muted); font-size: 12px; letter-spacing: .16em; }
.timeline-heading .site-eyebrow::before { content: ''; width: 26px; height: 1px; background: var(--timeline-line); }
.timeline-heading h2 { margin-top: 20px; color: var(--timeline-ink); }
.timeline-note { color: var(--timeline-muted); font-size: 13px; }
.timeline-viewport { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--timeline-line) transparent; }
.timeline-viewport:focus-visible { outline: 2px solid var(--timeline-line); outline-offset: 4px; }
.timeline-track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: minmax(250px, auto) 32px minmax(250px, auto);
  column-gap: 36px; list-style: none; margin: 0; padding: 40px 24px 40px 0;
}
.timeline-axis { grid-column: 1 / -1; grid-row: 2; align-self: center; height: 1px; position: relative; pointer-events: none; }
.timeline-axis > span { position: absolute; inset: 0; background: var(--timeline-line); transform-origin: left center; }
.timeline-axis > span::after { content: ''; position: absolute; right: 1px; top: -6px; width: 12px; height: 12px; border-top: 1.5px solid var(--timeline-muted); border-right: 1.5px solid var(--timeline-muted); transform: rotate(45deg); }
.timeline-entry { position: relative; grid-column: var(--timeline-column); min-width: 0; align-content: end; outline: none; --timeline-direction: -1; }
.timeline-above { grid-row: 1 / 3; padding-bottom: calc(16px + var(--timeline-reach)); }
.timeline-below { grid-row: 2 / 4; padding-top: calc(16px + var(--timeline-reach)); align-content: start; --timeline-direction: 1; }
.timeline-copy { position: relative; transition: transform 400ms cubic-bezier(.2,.65,.3,1); }
/* Keep the path from the fixed dot to the moving copy continuous. */
.timeline-copy::after { content: ''; position: absolute; left: 0; right: 0; height: var(--timeline-expand); top: 100%; }
.timeline-below .timeline-copy::after { top: auto; bottom: 100%; }
.timeline-period { color: var(--timeline-muted); font-size: 15px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.xht-site .timeline-phase { margin-top: 8px; color: var(--timeline-ink); font-size: 23px; font-weight: 600; line-height: 1.45; transition: color 400ms ease-out; }
.xht-site .timeline-title { margin-top: 8px; color: var(--timeline-ink); font-size: 16px; line-height: 1.6; transition: color 400ms ease-out; }
.xht-site .timeline-description { margin-top: 8px; color: var(--timeline-muted); font-size: 15px; line-height: 1.85; white-space: pre-wrap; }
.timeline-dot-reveal { position: absolute; left: 28px; bottom: 16px; width: 20px; height: 20px; margin-left: -10px; margin-bottom: -10px; z-index: 1; }
.timeline-below .timeline-dot-reveal { bottom: auto; top: 16px; margin-bottom: 0; margin-top: -10px; }
.timeline-dot { display: block; width: 20px; height: 20px; border-radius: 50%; background: var(--primary); border: 5px solid #f4f5f0; box-shadow: 0 0 0 1px var(--timeline-line); transition: transform 400ms ease-out, box-shadow 400ms ease-out; }
.timeline-connector { position: absolute; left: 28px; bottom: 16px; width: 1px; height: var(--timeline-reach); transition: height 400ms cubic-bezier(.2,.65,.3,1); }
.timeline-connector::after { content: ''; position: absolute; inset: 0 -14px; }
.timeline-connector > span { display: block; height: 100%; border-left: 1px dashed var(--timeline-line); transform-origin: center bottom; }
.timeline-below .timeline-connector { bottom: auto; top: 16px; }
.timeline-below .timeline-connector > span { transform-origin: center top; }
.timeline-entry:focus-visible .timeline-copy { outline: 1px solid var(--timeline-line); outline-offset: 8px; }
.timeline-entry:focus-visible .timeline-copy { transform: translateY(calc(var(--timeline-direction) * var(--timeline-expand))); }
.timeline-entry:focus-visible .timeline-connector { height: calc(var(--timeline-reach) + var(--timeline-expand)); }
.timeline-entry:focus-visible .timeline-dot { transform: scale(1.15); box-shadow: 0 0 0 1px var(--timeline-line), 0 0 0 10px #8eae9124, 0 0 0 17px #8eae9110; }
.timeline-entry:focus-visible .timeline-phase, .timeline-entry:focus-visible .timeline-title { color: #082e25; }
@media (hover: hover) and (pointer: fine) {
  .timeline-entry:hover .timeline-copy { transform: translateY(calc(var(--timeline-direction) * var(--timeline-expand))); }
  .timeline-entry:hover .timeline-connector { height: calc(var(--timeline-reach) + var(--timeline-expand)); }
  .timeline-entry:hover .timeline-dot { transform: scale(1.15); box-shadow: 0 0 0 1px var(--timeline-line), 0 0 0 10px #8eae9124, 0 0 0 17px #8eae9110; }
  .timeline-entry:hover .timeline-phase, .timeline-entry:hover .timeline-title { color: #082e25; }
}
/* Content stays visible without JS; the shared runtime opts into entrance motion. */
.timeline-pending .timeline-axis > span { transform: scaleX(0); }
.timeline-pending .timeline-dot-reveal { opacity: 0; }
.timeline-pending .timeline-connector > span { transform: scaleY(0); }
.timeline-pending .timeline-reveal { opacity: 0; transform: translateY(calc(var(--timeline-direction) * -8px)); }
.timeline-revealed .timeline-axis > span { animation: timeline-line-in 1100ms cubic-bezier(.2,.65,.3,1) both; }
.timeline-revealed .timeline-dot-reveal { animation: timeline-dot-in 400ms ease-out var(--timeline-delay) both; }
.timeline-revealed .timeline-connector > span { animation: timeline-stem-in 500ms ease-out calc(var(--timeline-delay) + 100ms) both; }
.timeline-revealed .timeline-reveal { animation: timeline-copy-in 550ms ease-out calc(var(--timeline-delay) + 200ms) both; }
.timeline-revealed .timeline-phase { animation-delay: calc(var(--timeline-delay) + 260ms); }
.timeline-revealed .timeline-title { animation-delay: calc(var(--timeline-delay) + 310ms); }
.timeline-revealed .timeline-description { animation-delay: calc(var(--timeline-delay) + 360ms); }
@keyframes timeline-line-in { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes timeline-dot-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes timeline-stem-in { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes timeline-copy-in { from { opacity: 0; transform: translateY(calc(var(--timeline-direction) * -8px)); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1023px) {
  .timeline-track { min-width: 1000px; column-gap: 32px; }
  .timeline-heading { align-items: start; flex-direction: column; gap: 12px; }
  .timeline-heading h2 { font-size: 32px; }
}
@media (max-width: 767px) {
  .timeline-heading { margin-bottom: 28px; }
  .timeline-viewport { overflow: visible; }
  .timeline-track { position: relative; display: flex; flex-direction: column; gap: 36px; min-width: 0; padding: 24px 8px 32px 0; }
  .timeline-axis { position: absolute; align-self: stretch; top: 24px; bottom: 12px; left: 10px; width: 1px; height: auto; }
  .timeline-axis > span { transform-origin: center top; }
  .timeline-axis > span::after { top: auto; right: -5.5px; bottom: 1px; transform: rotate(135deg); }
  .timeline-entry { padding: 0 0 0 44px; align-content: start; --timeline-direction: 1; }
  .timeline-entry .timeline-dot-reveal { left: 10px; top: 11px; bottom: auto; margin-top: -10px; margin-bottom: 0; }
  .timeline-connector, .timeline-copy::after { display: none; }
  .timeline-entry:is(:hover, :focus-visible) .timeline-copy { transform: none; }
  .timeline-pending .timeline-axis > span { transform: scaleY(0); }
  .timeline-revealed .timeline-axis > span { animation-name: timeline-vertical-line-in; }
}
@keyframes timeline-vertical-line-in { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@media (prefers-reduced-motion: reduce) {
  .site-milestone-timeline *, .site-milestone-timeline *::after { animation: none !important; transition: none !important; }
  .timeline-pending .timeline-axis > span, .timeline-pending .timeline-connector > span, .timeline-pending .timeline-reveal { transform: none; }
  .timeline-pending .timeline-dot-reveal, .timeline-pending .timeline-reveal { opacity: 1; }
  .timeline-entry:is(:hover, :focus-visible) .timeline-copy { transform: none; }
  .timeline-entry:is(:hover, :focus-visible) .timeline-connector { height: var(--timeline-reach); }
}






