:root {
  --site-light-surface: #f9fdfe;
  --shell-glass: rgb(8 8 8 / 27%);
  --shell-glass-hover: rgb(8 8 8 / 34%);
  --shell-card: rgb(0 0 0 / 27%);
  --shell-card-strong: rgb(0 0 0 / 37%);
  --shell-blur: 7px;
  --shell-blur-hover: 15px;
  --shell-scale: 1.04;
  --shell-top: 64px;
  --shell-font-size: 20.64px;
  --shell-center-x: 0px;
  --shell-center-nav-gap: 42px;
  --shell-center-action-gap: 54px;
  --shell-split-left-edge: 3vw;
  --shell-split-right-edge: 3vw;
  --shell-split-brand-y: 0px;
  --shell-split-brand-scale: 1;
  --shell-split-menu-y: 0px;
  --shell-split-menu-scale: 1;
  --shell-split-nav-gap: 32px;
  --shell-split-action-gap: 12px;
  --shell-text: #fff;
  --shell-text-muted: #fff;
  --landing-header-expand-duration: 1780ms;
}

/* Landing-aligned shared header */
@font-face {
  font-family: "TN Shell Asta";
  src: url("../assets/fonts/shore-scope/asta-sans-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "TN Shell Asta";
  src: url("../assets/fonts/shore-scope/asta-sans-700.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "TN Shell Oswald";
  src: url("../assets/fonts/shore-type-lab/oswald.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
}

body:not([data-route="landing"]) > .site-header[data-header] {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto;
  display: block;
  width: 100%;
  max-width: none;
  height: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
  font-family: "TN Shell Asta", sans-serif;
  font-size: 24px;
  pointer-events: none;
  transform: none;
  transform-origin: 50% 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body:not([data-route="landing"]) > .site-header[data-header] .brand {
  position: absolute;
  top: 80px;
  left: 93px;
  display: block;
  width: 494.453px;
  min-width: 0;
  height: 80px;
  padding: 0;
  color: #fff;
  outline: none;
  pointer-events: auto;
  transform: none;
}

body:not([data-route="landing"]) > .site-header[data-header] .brand::after {
  display: none;
}

body:not([data-route="landing"]) > .site-header[data-header] .brand-symbol {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: auto;
  height: 80px;
  filter: invert(1);
  object-fit: contain;
  opacity: 1;
  transform: none !important;
}

body:not([data-route="landing"]) > .site-header[data-header] .brand-name {
  position: absolute;
  top: 0;
  left: 120px;
  display: block;
  width: 374.453px;
  height: 80px;
  color: #fff;
  opacity: 1;
  transform: none !important;
}

body:not([data-route="landing"]) > .site-header[data-header]
  .header-navigation {
  position: absolute;
  top: 94px;
  right: 97px;
  display: flex;
  width: max-content;
  min-width: 0;
  height: 41.266px;
  align-items: center;
  gap: 34px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.32;
  pointer-events: auto;
  white-space: nowrap;
}

body:not([data-route="landing"]) > .site-header[data-header]
  .primary-navigation,
body:not([data-route="landing"]) > .site-header[data-header]
  .header-actions {
  position: static;
  display: flex;
  width: max-content;
  min-width: 0;
  height: auto;
  align-items: center;
  gap: 34px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body:not([data-route="landing"]) > .site-header[data-header]
  .header-actions {
  grid-template-columns: none;
}

body:not([data-route="landing"]) > .site-header[data-header]
  .header-actions::before {
  display: none;
}

body:not([data-route="landing"]) > .site-header[data-header]
  .header-navigation-divider {
  margin-right: 14px;
  margin-left: 14px;
  opacity: 0.56;
}

body:not([data-route="landing"]) > .site-header[data-header]
  .header-navigation
  .nav-link {
  position: relative;
  display: inline-flex;
  width: max-content;
  height: auto;
  min-height: 1.72em;
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  opacity: 1;
  outline: none;
  text-decoration: none;
  transform: none !important;
  transition: none;
  white-space: nowrap;
}

body:not([data-route="landing"]) > .site-header[data-header]
  .header-navigation
  .nav-link::before {
  display: none;
  content: none;
}

body:not([data-route="landing"]) > .site-header[data-header]
  .header-navigation
  .nav-link::after {
  position: absolute;
  right: 0;
  bottom: -0.18em;
  left: 0;
  display: block;
  width: auto;
  height: 1px;
  border: 0;
  border-radius: 0;
  background: currentColor;
  content: "";
  opacity: 1;
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: transform 220ms ease;
}

body:not([data-route="landing"]) > .site-header[data-header]
  .header-navigation
  .nav-link:is(:hover, :focus-visible, [aria-current="page"])::after {
  transform: scaleX(1);
}

body:not([data-route="landing"]) > .site-header[data-header]
  .header-navigation
  .nav-link[aria-current="page"] {
  font-weight: inherit;
  text-decoration: none;
}

body:not([data-route="landing"]) > .site-header[data-header]
  :is(.brand, .nav-link):focus-visible {
  outline: 2px solid rgb(255 255 255 / 82%);
  outline-offset: 5px;
}

html:has([data-page-transition])
  body:not([data-route="landing"])
  > .site-header[data-header] {
  transition:
    opacity 220ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.site-end-zone
  body:not([data-route="landing"])
  > .site-header[data-header] {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-100%);
}

@media (min-width: 60rem) and (max-width: 100rem) {
  body:not([data-route="landing"]) > .site-header[data-header] {
    height: 0;
  }

  body:not([data-route="landing"]) > .site-header[data-header] .brand {
    top: 34px;
    left: 48px;
    width: 329.194px;
    height: 52px;
  }

  body:not([data-route="landing"]) > .site-header[data-header]
    .brand-symbol {
    top: -1.533px;
    left: -1.533px;
    height: 55.067px;
  }

  body:not([data-route="landing"]) > .site-header[data-header]
    .brand-name {
    left: 85.8px;
    width: 243.394px;
    height: 52px;
  }

  body:not([data-route="landing"]) > .site-header[data-header]
    .header-navigation {
    top: 58px;
    right: 48px;
    height: 27.511px;
    gap: 22px;
    font-size: 16px;
  }

  body:not([data-route="landing"]) > .site-header[data-header]
    .primary-navigation,
  body:not([data-route="landing"]) > .site-header[data-header]
    .header-actions {
    gap: 22px;
  }

  body:not([data-route="landing"]) > .site-header[data-header]
    .header-navigation-divider {
    margin-right: 9px;
    margin-left: 9px;
  }
}

@media (max-width: 59.999rem) {
  body:not([data-route="landing"]) > .site-header[data-header] {
    inset: 0 0 auto;
    width: 100%;
    height: 0;
    padding: 0;
    border-radius: 0;
    transform: none;
  }

  body:not([data-route="landing"]) > .site-header[data-header] .brand {
    top: 24px;
    left: 22px;
    width: 171.058px;
    height: 28px;
  }

  body:not([data-route="landing"]) > .site-header[data-header]
    .brand-symbol {
    top: -0.825px;
    left: -0.825px;
    height: 29.651px;
  }

  body:not([data-route="landing"]) > .site-header[data-header]
    .brand-name {
    left: 40px;
    width: 131.058px;
    height: 28px;
  }

  body:not([data-route="landing"]) > .site-header[data-header]
    .header-navigation {
    display: none;
  }

  body:not([data-route="landing"]) > .site-header[data-header]
    .menu-toggle {
    position: absolute;
    top: 18px;
    right: 22px;
    display: block;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    pointer-events: auto;
  }

  .mobile-menu-panel {
    top: 76px;
    right: 0;
    left: 0;
    border-radius: 0 0 18px 18px;
    background: rgb(5 6 7 / 96%);
    color: #fff;
    font-family: "TN Shell Asta", sans-serif;
  }

  .mobile-menu-actions {
    display: block;
  }

  .mobile-menu-actions .nav-link-contact {
    position: relative;
    display: inline-flex;
    min-height: 2.5rem;
    align-items: center;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
  }

  .mobile-menu-actions .nav-link-contact[aria-current="page"] {
    text-decoration: underline;
    text-underline-offset: 8px;
  }
}

.site-header,
.site-header * {
  box-sizing: border-box;
}

.site-header:empty {
  visibility: hidden;
}

.site-header[data-shell-initializing="true"],
.site-header[data-shell-initializing="true"] * {
  transition: none !important;
}

.site-header {
  position: fixed;
  z-index: 1000;
  top: var(--shell-top);
  left: 50%;
  display: grid;
  width: max-content;
  max-width: calc(100% - 48px);
  height: 72px;
  grid-template-columns: auto auto auto;
  align-items: center;
  padding: 10px;
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  background: var(--shell-glass);
  box-shadow: none;
  color: var(--shell-text);
  font-size: var(--shell-font-size);
  font-family:
    Pretendard, SUIT, "Noto Sans KR", -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  pointer-events: auto;
  transform: translateX(calc(-50% + var(--shell-center-x))) scale(var(--shell-scale));
  transform-origin: 50% 0;
  -webkit-backdrop-filter: blur(var(--shell-blur)) saturate(128%);
  backdrop-filter: blur(var(--shell-blur)) saturate(128%);
}

.site-header a {
  color: inherit;
  text-decoration: none;
}

.site-header button {
  color: inherit;
  font: inherit;
}

.site-header .brand {
  display: inline-flex;
  width: max-content;
  min-width: 118px;
  height: 50px;
  align-items: center;
  gap: 9px;
  padding: 0 3px 0 17px;
  color: var(--shell-text);
  outline: none;
  grid-row: 1;
}

.site-header .brand-symbol {
  display: block;
  width: auto;
  height: 22px;
  flex: none;
  filter: invert(1);
  object-fit: contain;
}

.site-header .brand-name {
  position: relative;
  display: inline-block;
  color: inherit;
  font-size: 0.8125em;
  font-weight: 690;
  letter-spacing: 0.015em;
  line-height: 1;
  white-space: nowrap;
}

.site-header .brand-label {
  display: inline-block;
  color: inherit;
  transform-origin: 50% 50%;
}

.site-header .brand-fx {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  color: inherit;
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
}

.site-header .brand-char {
  display: inline-block;
  flex: none;
  transform-origin: 50% 54%;
}

.site-header .brand-char-space {
  width: 0.34em;
}

.site-header .brand-fx::before,
.site-header .brand-fx::after {
  position: absolute;
  inset: 0;
  color: inherit;
  content: "TN SILVER";
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
}

.site-header .primary-navigation {
  position: static;
  display: flex;
  width: max-content;
  height: 50px;
  grid-column: 2;
  grid-row: 1;
  align-items: center;
  justify-self: start;
  gap: var(--shell-center-nav-gap);
  margin-left: 56px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-header .primary-navigation:hover {
  box-shadow: none;
  transform: none;
}

.site-header .nav-link {
  position: relative;
  display: inline-flex;
  width: max-content;
  height: 50px;
  min-height: 0;
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--shell-text-muted);
  font-size: 0.8125em;
  font-weight: 530;
  letter-spacing: 0.02em;
  line-height: 1;
  outline: none;
  transform: none;
  transition: color 180ms ease;
  white-space: nowrap;
}

.site-header .nav-link::before,
.site-header .nav-link::after,
.site-header .nav-label::before,
.site-header .nav-label::after {
  display: none;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus-visible,
.site-header .nav-link[aria-current="page"] {
  background: transparent;
  color: var(--shell-text);
  transform: none;
}

.site-header .nav-link[aria-current="page"] {
  font-weight: 690;
  text-decoration-color: currentColor;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}

.site-header .brand[aria-current="page"] .brand-label,
.site-header .header-card[aria-current="page"] .header-card-label {
  text-decoration-color: currentColor;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}

.site-header .header-actions {
  display: grid;
  height: 50px;
  grid-column: 3;
  grid-row: 1;
  grid-template-columns: repeat(2, 110px);
  gap: 12px;
  margin-left: var(--shell-center-action-gap);
}

.site-header .header-card {
  position: relative;
  isolation: isolate;
  display: flex;
  width: 110px;
  height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 0;
  border-radius: 11px;
  background: var(--shell-card);
  box-shadow: none;
  color: var(--shell-text);
  font-size: 0.75em;
  font-weight: 650;
  letter-spacing: 0.035em;
  line-height: 1;
  outline: none;
  overflow: hidden;
  text-align: center;
  transition:
    background-color 180ms ease,
    transform 180ms ease;
  white-space: nowrap;
}

.site-header .header-card::before {
  position: absolute;
  z-index: 0;
  inset: 5px;
  border-radius: 7px;
  background:
    linear-gradient(#fff, #fff) left top / 16px 1px no-repeat,
    linear-gradient(#fff, #fff) left top / 1px 11px no-repeat,
    linear-gradient(#fff, #fff) right bottom / 16px 1px no-repeat,
    linear-gradient(#fff, #fff) right bottom / 1px 11px no-repeat;
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: scale(0.82);
  transition:
    opacity 140ms ease,
    transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.site-header .header-card::after {
  position: absolute;
  z-index: 0;
  top: 7px;
  bottom: 7px;
  left: -8%;
  width: 1px;
  background: #fff;
  box-shadow: 4px 0 10px rgb(255 255 255 / 34%);
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: skewX(-12deg);
}

.site-header .header-card-label {
  position: relative;
  z-index: 1;
  color: inherit;
  transform: translateY(0);
  transition:
    color 80ms ease,
    letter-spacing 220ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.site-header .header-card-label::before,
.site-header .header-card-label::after {
  position: absolute;
  inset: 0;
  color: #fff;
  content: attr(data-label);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 90ms ease,
    transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.site-header .header-card-label::before {
  clip-path: inset(0 0 48% 0);
}

.site-header .header-card-label::after {
  clip-path: inset(52% 0 0 0);
}

html[data-action-effect] .site-header .header-card:hover,
html[data-action-effect] .site-header .header-card:focus-visible {
  background: rgb(0 0 0 / 78%);
  transform: translateY(-2px) scale(1.025);
}

html[data-action-effect="split-cut"] .site-header .header-card:hover::before,
html[data-action-effect="split-cut"] .site-header .header-card:focus-visible::before {
  opacity: 0.88;
  transform: scale(1);
}

html[data-action-effect="split-cut"] .site-header .header-card:hover::after,
html[data-action-effect="split-cut"] .site-header .header-card:focus-visible::after {
  animation: header-card-scan 430ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

html[data-action-effect="split-cut"] .site-header .header-card:hover .header-card-label,
html[data-action-effect="split-cut"] .site-header .header-card:focus-visible .header-card-label {
  color: transparent;
  letter-spacing: 0.085em;
  transform: scaleX(1.035);
}

html[data-action-effect="split-cut"] .site-header .header-card:hover .header-card-label::before,
html[data-action-effect="split-cut"] .site-header .header-card:focus-visible .header-card-label::before {
  opacity: 1;
  transform: translate(-2px, -1px);
}

html[data-action-effect="split-cut"] .site-header .header-card:hover .header-card-label::after,
html[data-action-effect="split-cut"] .site-header .header-card:focus-visible .header-card-label::after {
  opacity: 1;
  transform: translate(2px, 1px);
}

html[data-action-effect="edge-trace"] .site-header .header-card::before {
  inset: 4px;
  border: 1px solid #fff;
  background: none;
  opacity: 0;
  transform: scale(0.88);
}

html[data-action-effect="edge-trace"] .site-header .header-card::after {
  top: 4px;
  right: 4px;
  bottom: auto;
  left: 4px;
  width: auto;
  height: 1px;
  box-shadow: none;
  transform: scaleX(0);
  transform-origin: 0 50%;
}

html[data-action-effect="edge-trace"] .site-header .header-card:is(:hover, :focus-visible)::before {
  opacity: 0.82;
  transform: scale(1);
}

html[data-action-effect="edge-trace"] .site-header .header-card:is(:hover, :focus-visible)::after {
  animation: header-edge-trace 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

html[data-action-effect="edge-trace"] .site-header .header-card:is(:hover, :focus-visible) .header-card-label {
  letter-spacing: 0.09em;
}

html[data-action-effect="twin-gate"] .site-header .header-card::before {
  inset: 7px 10px;
  background:
    linear-gradient(#fff, #fff) left center / 1px 100% no-repeat,
    linear-gradient(#fff, #fff) right center / 1px 100% no-repeat;
  opacity: 0;
  transform: scaleX(1.55) scaleY(0.55);
}

html[data-action-effect="twin-gate"] .site-header .header-card:is(:hover, :focus-visible)::before {
  opacity: 0.8;
  transform: scale(1);
}

html[data-action-effect="twin-gate"] .site-header .header-card:is(:hover, :focus-visible) .header-card-label {
  letter-spacing: 0.075em;
  transform: scaleX(0.94);
}

html[data-action-effect="diagonal-shear"] .site-header .header-card::before {
  inset: -18px;
  background: linear-gradient(106deg, transparent 47%, #fff 48%, #fff 48.8%, transparent 50%);
  opacity: 0;
  transform: translateX(-34%);
}

html[data-action-effect="diagonal-shear"] .site-header .header-card:is(:hover, :focus-visible)::before {
  opacity: 0.72;
  transform: translateX(14%);
}

html[data-action-effect="diagonal-shear"] .site-header .header-card:is(:hover, :focus-visible) .header-card-label {
  letter-spacing: 0.095em;
  transform: translateX(2px) skewX(-9deg);
}

html[data-action-effect="aperture-lock"] .site-header .header-card::before {
  inset: 5px;
  background:
    linear-gradient(#fff, #fff) left top / 13px 1px no-repeat,
    linear-gradient(#fff, #fff) left top / 1px 10px no-repeat,
    linear-gradient(#fff, #fff) right top / 13px 1px no-repeat,
    linear-gradient(#fff, #fff) right top / 1px 10px no-repeat,
    linear-gradient(#fff, #fff) left bottom / 13px 1px no-repeat,
    linear-gradient(#fff, #fff) left bottom / 1px 10px no-repeat,
    linear-gradient(#fff, #fff) right bottom / 13px 1px no-repeat,
    linear-gradient(#fff, #fff) right bottom / 1px 10px no-repeat;
  opacity: 0;
  transform: scale(1.26);
}

html[data-action-effect="aperture-lock"] .site-header .header-card::after {
  top: 50%;
  bottom: auto;
  left: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  box-shadow: 0 0 8px rgb(255 255 255 / 52%);
  transform: translate(-50%, -50%) scale(0);
}

html[data-action-effect="aperture-lock"] .site-header .header-card:is(:hover, :focus-visible)::before {
  opacity: 0.8;
  transform: scale(1);
}

html[data-action-effect="aperture-lock"] .site-header .header-card:is(:hover, :focus-visible)::after {
  opacity: 0.8;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 240ms 80ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-action-effect="signal-slot"] .site-header .header-card::before {
  inset: 50% 8px auto;
  height: 1px;
  border-radius: 0;
  background: #fff;
  box-shadow:
    0 -8px 0 rgb(255 255 255 / 20%),
    0 8px 0 rgb(255 255 255 / 20%);
  opacity: 0;
  transform: scaleX(0);
}

html[data-action-effect="signal-slot"] .site-header .header-card::after {
  top: 10px;
  right: 9px;
  bottom: 10px;
  left: auto;
  width: 1px;
  box-shadow: none;
  transform: scaleY(0);
}

html[data-action-effect="signal-slot"] .site-header .header-card:is(:hover, :focus-visible)::before {
  opacity: 0.62;
  transform: scaleX(1);
}

html[data-action-effect="signal-slot"] .site-header .header-card:is(:hover, :focus-visible)::after {
  opacity: 0.82;
  transform: scaleY(1);
  transition: transform 260ms 70ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-action-effect="signal-slot"] .site-header .header-card:is(:hover, :focus-visible) .header-card-label {
  letter-spacing: 0.085em;
  transform: translateY(-1px);
}

html[data-action-effect="label-shift"] .site-header .header-card-label::after {
  clip-path: inset(0);
  transform: translateY(8px);
}

html[data-action-effect="label-shift"] .site-header .header-card::before {
  inset: auto 31px 8px;
  height: 1px;
  border-radius: 0;
  background: #fff;
  opacity: 0;
  transform: scaleX(0);
}

html[data-action-effect="label-shift"] .site-header .header-card:is(:hover, :focus-visible)::before {
  opacity: 0.86;
  transform: scaleX(1);
}

html[data-action-effect="label-shift"] .site-header .header-card:is(:hover, :focus-visible) .header-card-label {
  color: transparent;
  transform: translateY(-8px);
}

html[data-action-effect="label-shift"] .site-header .header-card:is(:hover, :focus-visible) .header-card-label::after {
  opacity: 1;
  transform: translateY(8px);
}

html[data-action-effect="polarity-pulse"] .site-header .header-card::before {
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, #fff 48%, #fff 52%, transparent);
  opacity: 0;
  transform: scaleX(0);
}

html[data-action-effect="polarity-pulse"] .site-header .header-card:is(:hover, :focus-visible)::before {
  animation: header-polarity-pulse 560ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

html[data-action-effect="polarity-pulse"] .site-header .header-card:is(:hover, :focus-visible) .header-card-label {
  color: #fff;
  letter-spacing: 0.085em;
  mix-blend-mode: difference;
  transform: scaleX(1.045);
}

html[data-action-effect="micro-grid"] .site-header .header-card::before {
  inset: 4px;
  background:
    repeating-linear-gradient(90deg, rgb(255 255 255 / 34%) 0 1px, transparent 1px 11px),
    repeating-linear-gradient(0deg, rgb(255 255 255 / 24%) 0 1px, transparent 1px 10px);
  opacity: 0;
  transform: scale(0.92);
}

html[data-action-effect="micro-grid"] .site-header .header-card::after {
  top: 8px;
  bottom: auto;
  left: 8px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  box-shadow: 0 0 7px #fff;
  transform: none;
}

html[data-action-effect="micro-grid"] .site-header .header-card:is(:hover, :focus-visible)::before {
  opacity: 0.38;
  transform: scale(1);
}

html[data-action-effect="micro-grid"] .site-header .header-card:is(:hover, :focus-visible)::after {
  animation: header-grid-dot 900ms linear infinite;
}

html[data-action-effect="micro-grid"] .site-header .header-card:is(:hover, :focus-visible) .header-card-label {
  text-shadow: 0 1px 4px #000;
  transform: translateY(-1px);
}

html[data-action-effect="magnetic-frame"] .site-header .header-card::before {
  inset: 6px 10px;
  border: 1px solid #fff;
  background: none;
  opacity: 0;
  transform: scaleX(1.34) scaleY(0.72);
}

html[data-action-effect="magnetic-frame"] .site-header .header-card:is(:hover, :focus-visible)::before {
  opacity: 0.84;
  transform: scale(1);
}

html[data-action-effect="magnetic-frame"] .site-header .header-card:is(:hover, :focus-visible) .header-card-label {
  letter-spacing: 0.11em;
  transform: scaleX(1.08);
}

@keyframes header-card-scan {
  0% { left: -8%; opacity: 0; }
  20%, 72% { opacity: 0.82; }
  100% { left: 108%; opacity: 0; }
}

@keyframes header-edge-trace {
  0% { opacity: 0; transform: scaleX(0); }
  28%, 82% { opacity: 0.92; }
  100% { opacity: 0; transform: scaleX(1); }
}

@keyframes header-polarity-pulse {
  0%, 100% { opacity: 0; transform: scaleX(0); }
  38% { opacity: 0.9; transform: scaleX(1); }
  68% { opacity: 0.32; transform: scaleX(1.12); }
}

@keyframes header-grid-dot {
  0% { left: 8px; opacity: 0; }
  16%, 84% { opacity: 0.9; }
  100% { left: calc(100% - 11px); opacity: 0; }
}

.site-header .header-card[aria-current="page"] {
  background: var(--shell-card-strong);
  box-shadow: none;
}

.site-header .brand:focus-visible,
.site-header .nav-link:focus-visible,
.site-header .header-card:focus-visible,
.site-header .menu-toggle:focus-visible {
  outline: 2px solid rgb(255 255 255 / 78%);
  outline-offset: 3px;
}

.site-header .menu-toggle,
.mobile-menu {
  display: none;
}

html[data-shell-effect="float-lift"] .site-header,
html[data-shell-effect="composed"] .site-header {
  transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-shell-effect="float-lift"] .site-header:hover,
html[data-shell-effect="composed"] .site-header:hover {
  transform: translateX(calc(-50% + var(--shell-center-x))) translateY(-3px) scale(var(--shell-scale)) scale(1.006);
}

html[data-shell-effect="float-lift"] .site-header:active,
html[data-shell-effect="composed"] .site-header:active {
  transform: translateX(calc(-50% + var(--shell-center-x))) scale(var(--shell-scale)) scale(0.997);
}

html[data-shell-effect="frost-shift"] .site-header {
  transition:
    background-color 260ms ease,
    -webkit-backdrop-filter 320ms ease,
    backdrop-filter 320ms ease;
}

html[data-shell-effect="frost-shift"] .site-header:hover {
  background: var(--shell-glass-hover);
  -webkit-backdrop-filter: blur(var(--shell-blur-hover)) saturate(138%);
  backdrop-filter: blur(var(--shell-blur-hover)) saturate(138%);
}

html[data-shell-effect="quiet-focus"] .site-header .brand,
html[data-shell-effect="quiet-focus"] .site-header .nav-link,
html[data-shell-effect="quiet-focus"] .site-header .header-card,
html[data-shell-effect="composed"] .site-header .brand,
html[data-shell-effect="composed"] .site-header .nav-link,
html[data-shell-effect="composed"] .site-header .header-card {
  transition:
    opacity 200ms ease,
    color 200ms ease,
    transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-shell-effect="quiet-focus"] .site-header:hover .brand,
html[data-shell-effect="quiet-focus"] .site-header:hover .nav-link,
html[data-shell-effect="quiet-focus"] .site-header:hover .header-card,
html[data-shell-effect="composed"] .site-header:hover .brand,
html[data-shell-effect="composed"] .site-header:hover .nav-link,
html[data-shell-effect="composed"] .site-header:hover .header-card {
  opacity: 0.46;
}

html[data-shell-effect="quiet-focus"] .site-header .brand:hover,
html[data-shell-effect="quiet-focus"] .site-header .nav-link:hover,
html[data-shell-effect="quiet-focus"] .site-header .header-card:hover,
html[data-shell-effect="composed"] .site-header .brand:hover,
html[data-shell-effect="composed"] .site-header .nav-link:hover,
html[data-shell-effect="composed"] .site-header .header-card:hover {
  opacity: 1;
  transform: translateY(-2px);
}

html[data-shell-effect="quiet-focus"] .site-header .nav-link::after {
  position: absolute;
  bottom: 5px;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  opacity: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition:
    opacity 160ms ease,
    transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-shell-effect="quiet-focus"] .site-header .nav-link:hover::after,
html[data-shell-effect="quiet-focus"] .site-header .nav-link:focus-visible::after {
  opacity: 0.92;
  transform: scaleX(1);
}

html[data-shell-effect="signal-dot"] .site-header .nav-link::after,
html[data-shell-effect="composed"] .site-header .nav-link::after {
  position: absolute;
  bottom: 6px;
  left: 50%;
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  content: "";
  opacity: 0;
  transform: translate(-50%, 3px) scale(0.5);
  transition:
    opacity 180ms ease,
    transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-shell-effect="signal-dot"] .site-header .nav-link:hover::after,
html[data-shell-effect="signal-dot"] .site-header .nav-link:focus-visible::after,
html[data-shell-effect="signal-dot"] .site-header .nav-link[aria-current="page"]::after,
html[data-shell-effect="composed"] .site-header .nav-link:hover::after,
html[data-shell-effect="composed"] .site-header .nav-link:focus-visible::after,
html[data-shell-effect="composed"] .site-header .nav-link[aria-current="page"]::after {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

html[data-shell-effect="ink-tile"] .site-header .nav-link {
  isolation: isolate;
}

html[data-shell-effect="ink-tile"] .site-header .nav-link::before {
  position: absolute;
  z-index: -1;
  inset: 7px -11px;
  display: block;
  border-radius: 9px;
  background: rgb(0 0 0 / 18%);
  content: "";
  opacity: 0;
  transform: scale(0.82);
  transition:
    opacity 180ms ease,
    transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-shell-effect="ink-tile"] .site-header .nav-link:hover::before,
html[data-shell-effect="ink-tile"] .site-header .nav-link:focus-visible::before,
html[data-shell-effect="ink-tile"] .site-header .nav-link[aria-current="page"]::before {
  opacity: 1;
  transform: scale(1);
}

html[data-shell-effect="silver-bead"] .site-header::after {
  position: absolute;
  bottom: 5px;
  left: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #dfe3e2;
  box-shadow:
    0 0 0 3px rgb(0 0 0 / 11%),
    0 3px 8px rgb(0 0 0 / 24%);
  content: "";
  opacity: 0.58;
  transform: translateX(-50%) scale(0.82);
  transition:
    bottom 260ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 200ms ease,
    transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-shell-effect="silver-bead"] .site-header:hover::after {
  bottom: 8px;
  opacity: 0.92;
  transform: translateX(-50%) scale(1.15);
}

html[data-shell-effect="card-press"] .site-header .header-card,
html[data-shell-effect="composed"] .site-header .header-card {
  transition:
    background-color 180ms ease,
    transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-shell-effect="card-press"] .site-header .header-card:hover,
html[data-shell-effect="composed"] .site-header .header-card:hover {
  transform: translateY(-3px) scale(1.02);
}

html[data-shell-effect="card-press"] .site-header .header-card:active,
html[data-shell-effect="composed"] .site-header .header-card:active {
  transform: translateY(1px) scale(0.96);
}

html[data-shell-effect="logo-signal"] .site-header .brand-symbol,
html[data-shell-effect="logo-signal"] .site-header .brand-name {
  transition:
    letter-spacing 300ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-shell-effect="logo-signal"] .site-header .brand:hover .brand-symbol {
  transform: translateY(-2px) rotate(-7deg);
}

html[data-shell-effect="logo-signal"] .site-header .brand:hover .brand-name {
  letter-spacing: 0.065em;
  transform: translateX(2px);
}

html[data-shell-effect="logo-signal"] .site-header .brand:active .brand-symbol {
  transform: scale(0.9) rotate(4deg);
}

html[data-brand-effect="vector-assemble"] .site-header .brand:is(:hover, :focus-visible) .brand-label {
  opacity: 0;
}

html[data-brand-effect="vector-assemble"] .site-header .brand:is(:hover, :focus-visible) .brand-fx {
  opacity: 1;
}

html[data-brand-effect="vector-assemble"] .site-header .brand:is(:hover, :focus-visible) .brand-char {
  animation: brand-vector-assemble 420ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: calc(var(--brand-index) * 18ms);
}

html[data-brand-effect="vector-assemble"] .site-header .brand:is(:hover, :focus-visible) .brand-char:nth-child(even) {
  --brand-entry-x: 6px;
  --brand-entry-y: 12px;
  --brand-entry-rotate: 17deg;
  --brand-lock-x: -1px;
  --brand-lock-y: -1px;
  --brand-lock-rotate: -1.2deg;
}

html[data-brand-effect="vector-assemble"] .site-header .brand:is(:hover, :focus-visible) .brand-char:nth-child(odd) {
  --brand-entry-x: -6px;
  --brand-entry-y: -12px;
  --brand-entry-rotate: -17deg;
  --brand-lock-x: 1px;
  --brand-lock-y: 1px;
  --brand-lock-rotate: 1.2deg;
}

html[data-brand-effect="vector-assemble"] .site-header .brand:is(:hover, :focus-visible) .brand-fx::before {
  inset: 50% 0 auto;
  height: 1px;
  background: currentColor;
  content: "";
  animation: brand-vector-guide-x 430ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

html[data-brand-effect="vector-assemble"] .site-header .brand:is(:hover, :focus-visible) .brand-fx::after {
  inset: -4px auto -4px 50%;
  width: 1px;
  background: currentColor;
  content: "";
  animation: brand-vector-guide-y 430ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes brand-vector-assemble {
  0% {
    opacity: 0;
    clip-path: inset(0 48%);
    transform: translate(var(--brand-entry-x), var(--brand-entry-y)) rotate(var(--brand-entry-rotate)) scaleX(0.12);
  }
  42% { opacity: 1; }
  72% {
    clip-path: inset(0);
    transform: translate(var(--brand-lock-x), var(--brand-lock-y)) rotate(var(--brand-lock-rotate)) scaleX(1.04);
  }
  100% {
    opacity: 1;
    clip-path: inset(0);
    transform: none;
  }
}

@keyframes brand-vector-guide-x {
  0% { opacity: 0; transform: scaleX(0); }
  28% { opacity: 0.76; }
  100% { opacity: 0; transform: scaleX(1); }
}

@keyframes brand-vector-guide-y {
  0% { opacity: 0; transform: scaleY(0); }
  28% { opacity: 0.68; }
  100% { opacity: 0; transform: scaleY(1); }
}

.site-header .brand,
.site-header .header-actions {
  position: relative;
}

.site-header .brand::after {
  position: absolute;
  top: 8px;
  right: -24px;
  width: 1px;
  height: 34px;
  background: rgb(255 255 255 / 34%);
  content: "";
}

.site-header .header-actions::before {
  position: absolute;
  top: 8px;
  left: -23px;
  width: 1px;
  height: 34px;
  background: rgb(255 255 255 / 34%);
  content: "";
}

.mobile-menu a {
  color: inherit;
  text-decoration: none;
}

.shell-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.contact-panel-heading h1 {
  margin-top: 0.65rem;
  font-size: clamp(2.2rem, 3.4vw, 3.8rem);
  font-weight: 660;
  letter-spacing: -0.065em;
  line-height: 0.98;
}

body[data-route="contact"] .contact-field-label b,
body[data-route="contact"] .contact-reply-method legend b,
body[data-route="contact"] .contact-consent small b {
  color: #765344;
}

body[data-route="contact"] .contact-field-label em,
body[data-route="contact"] .contact-file-drop em {
  color: #626866;
}

body[data-route="contact"] .contact-segmented-control span,
body[data-route="contact"] .contact-file-drop small {
  color: #565c5a;
}

@media (max-width: 59.999rem) {
  html.site-menu-open,
  html.site-menu-open body {
    overflow: hidden;
  }

  .site-header {
    top: 16px;
    left: 16px;
    width: calc(100% - 32px);
    max-width: none;
    height: 64px;
    grid-template-columns: minmax(0, 1fr) 40px;
    padding: 7px 8px 7px 12px;
    border-radius: 15px;
    transform: none;
  }

  html[data-shell-effect="float-lift"] .site-header:hover,
  html[data-shell-effect="composed"] .site-header:hover {
    transform: translateY(-2px);
  }

  html[data-shell-effect="float-lift"] .site-header:active,
  html[data-shell-effect="composed"] .site-header:active {
    transform: scale(0.997);
  }

  .site-header .brand {
    width: max-content;
    min-width: 0;
    height: 48px;
    gap: 8px;
    padding: 0 8px;
  }

  .site-header .brand-symbol {
    height: 20px;
  }

  .site-header .brand-name {
    font-size: 12.5px;
  }

  .site-header .primary-navigation,
  .site-header > .header-actions {
    display: none;
    margin-left: 0;
  }

  .site-header .brand::after {
    display: none;
  }

  .site-header .menu-toggle {
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    min-height: 0;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: var(--shell-card);
    cursor: pointer;
    outline: none;
  }

  .site-header .menu-toggle-icon,
  .site-header .menu-toggle-icon::before {
    position: absolute;
    left: 10px;
    width: 18px;
    height: 1px;
    background: var(--shell-text);
    content: "";
    transition:
      top 220ms ease,
      transform 220ms ease,
      background-color 240ms ease;
  }

  .site-header .menu-toggle-icon {
    top: 14px;
  }

  .site-header .menu-toggle-icon::before {
    top: 9px;
  }

  .site-header[data-menu-open="true"] .menu-toggle-icon {
    top: 19px;
    transform: rotate(45deg);
  }

  .site-header[data-menu-open="true"] .menu-toggle-icon::before {
    top: 0;
    transform: rotate(-90deg);
  }

  .mobile-menu {
    position: fixed;
    z-index: 990;
    inset: 0;
    display: block;
    width: 100vw;
    height: 100dvh;
    opacity: 0;
    pointer-events: none;
    transition:
      opacity 220ms ease,
      visibility 0s linear 260ms;
    visibility: hidden;
  }

  .mobile-menu[data-open="true"] {
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
    visibility: visible;
  }

  .mobile-menu-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgb(0 0 0 / 22%);
    cursor: pointer;
  }

  .mobile-menu-panel {
    position: absolute;
    top: 92px;
    right: 16px;
    left: 16px;
    display: grid;
    gap: 30px;
    padding: 26px;
    border: 0;
    border-radius: 18px;
    background: rgb(8 8 8 / 62%);
    box-shadow: 0 28px 70px rgb(0 0 0 / 24%);
    opacity: 0;
    outline: none;
    transform: translateY(-10px) scale(0.985);
    transform-origin: 50% 0;
    transition:
      opacity 220ms ease,
      transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
    color: var(--shell-text);
    font-family:
      Pretendard, SUIT, "Noto Sans KR", -apple-system, BlinkMacSystemFont,
      "Segoe UI", sans-serif;
    -webkit-backdrop-filter: blur(var(--shell-blur)) saturate(128%);
    backdrop-filter: blur(var(--shell-blur)) saturate(128%);
  }

  .mobile-menu[data-open="true"] .mobile-menu-panel {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  .mobile-menu-items {
    display: grid;
    gap: 24px;
    padding: 4px 2px;
  }

  .mobile-menu-items .nav-link {
    display: inline-flex;
    width: max-content;
    height: auto;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--shell-text-muted);
    font-size: 16px;
    font-weight: 540;
    letter-spacing: 0.01em;
    line-height: 1.2;
    overflow: visible;
  }

  .mobile-menu-items .nav-link::before,
  .mobile-menu-items .nav-link::after {
    display: none;
    content: none;
  }

  .mobile-menu-items .nav-link:hover,
  .mobile-menu-items .nav-link:focus-visible,
  .mobile-menu-items .nav-link[aria-current="page"] {
    background: transparent;
    color: var(--shell-text);
  }

  .mobile-menu-items .nav-link[aria-current="page"] {
    font-weight: 690;
    text-decoration-color: currentColor;
    text-decoration-line: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
  }

  .mobile-menu-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .mobile-menu .header-card {
    display: flex;
    width: 100%;
    height: 52px;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 0;
    border-radius: 11px;
    background: var(--shell-card);
    box-shadow: none;
    color: var(--shell-text);
    font-size: 12px;
    font-weight: 650;
    letter-spacing: 0.035em;
    line-height: 1;
    outline: none;
    white-space: nowrap;
  }

  .mobile-menu .header-card[aria-current="page"] {
    background: var(--shell-card-strong);
  }

  .mobile-menu .header-card[aria-current="page"] .header-card-label {
    text-decoration-color: currentColor;
    text-decoration-line: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
  }

  .mobile-menu .nav-link:focus-visible,
  .mobile-menu .header-card:focus-visible {
    outline: 2px solid rgb(255 255 255 / 78%);
    outline-offset: 3px;
  }

  body[data-route="contact"] .contact-form-content {
    width: 100%;
  }

  body[data-route="contact"] .contact-panel-heading h1 {
    font-size: 2.55rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .site-header *,
  .site-header *::before,
  .site-header *::after,
  .site-page-transition *,
  .site-page-transition *::before,
  .site-page-transition *::after,
  .site-footer *,
  .site-footer *::before,
  .site-footer *::after {
    animation-duration: 0.01ms !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Shared end-of-page transition and footer */
.site-page-transition,
.site-page-transition *,
.site-footer,
.site-footer * {
  box-sizing: border-box;
}

.site-page-transition,
.site-footer {
  position: relative;
  z-index: 5;
  width: 100%;
  margin: 0;
  font-family:
    Pretendard, SUIT, "Noto Sans KR", -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  text-align: left;
}

.site-page-transition {
  border: 0;
  border-top: 1px solid rgb(15 16 16 / 14%);
  background: var(--site-light-surface);
  color: #151716;
}

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

.site-transition-inner,
.site-footer-inner {
  width: min(100% - clamp(2rem, 8vw, 9rem), 112rem);
  margin-inline: auto;
}

.site-transition-inner--index {
  padding-block: clamp(5.5rem, 10vw, 10rem) clamp(6rem, 11vw, 11rem);
}

.site-transition-heading {
  display: grid;
  margin: 0 0 clamp(3.5rem, 6vw, 6.5rem);
  gap: 0.9rem;
}

.site-transition-heading p,
.site-transition-kicker {
  margin: 0;
  color: #60635f;
  font-size: 0.65rem;
  font-weight: 720;
  letter-spacing: 0.22em;
  line-height: 1;
}

.site-transition-heading h2 {
  max-width: 12em;
  margin: 0;
  font-size: clamp(2.35rem, 4.5vw, 5.8rem);
  font-weight: 650;
  letter-spacing: -0.055em;
  line-height: 0.98;
  text-wrap: balance;
}

.site-destination-grid {
  display: grid;
  border-top: 1px solid #aaa9a4;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.site-destination {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: clamp(15rem, 21vw, 23rem);
  align-content: start;
  padding: 1.25rem clamp(1rem, 1.55vw, 1.75rem) 1.5rem;
  border-right: 1px solid #c2c1bc;
  color: #151716;
  gap: 0;
  outline: none;
  transition: background-color 260ms ease, color 260ms ease;
}

.site-destination:first-child {
  padding-left: 0;
}

.site-destination:last-child {
  padding-right: 0;
  border-right: 0;
}

.site-destination-number {
  margin-bottom: clamp(3.75rem, 6vw, 7rem);
  color: #60635f;
  font-size: 0.62rem;
  font-weight: 690;
  letter-spacing: 0.12em;
  line-height: 1;
}

.site-destination strong {
  display: block;
  font-size: clamp(1.35rem, 1.8vw, 2.1rem);
  font-weight: 630;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.site-destination p {
  max-width: 18rem;
  margin: 1rem 2.6rem 0 0;
  color: #60635f;
  font-size: clamp(0.78rem, 0.86vw, 0.98rem);
  font-weight: 430;
  letter-spacing: -0.018em;
  line-height: 1.65;
  word-break: keep-all;
}

.site-route-arrow {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
}

.site-route-arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.25;
}

.site-destination > .site-route-arrow {
  position: absolute;
  right: clamp(1rem, 1.55vw, 1.75rem);
  bottom: 1.25rem;
  opacity: 0.72;
  transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease;
}

.site-destination:last-child > .site-route-arrow {
  right: 0;
}

.site-destination:hover > .site-route-arrow,
.site-destination:focus-visible > .site-route-arrow {
  opacity: 1;
  transform: translateX(0.45rem);
}

.site-destination:focus-visible,
.site-next-route:focus-visible,
.site-footer a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}

.site-transition-inner--next {
  display: grid;
  min-height: clamp(25rem, 46vw, 42rem);
  align-content: center;
  padding-block: clamp(5rem, 9vw, 9rem);
}

.site-transition-kicker {
  margin-bottom: clamp(2rem, 3.5vw, 3.5rem);
}

.site-next-route {
  display: flex;
  align-items: end;
  justify-content: space-between;
  padding: 0 0 clamp(1.35rem, 2vw, 2.25rem);
  border-bottom: 1px solid #8f918d;
  gap: 2rem;
  outline: none;
}

.site-next-route > span:first-child {
  display: grid;
  gap: 1.25rem;
}

.site-next-route strong {
  font-size: clamp(3.25rem, 8.2vw, 10.5rem);
  font-weight: 610;
  letter-spacing: -0.07em;
  line-height: 0.86;
}

.site-next-route small {
  color: #5f625e;
  font-size: clamp(0.85rem, 1.05vw, 1.2rem);
  font-weight: 440;
  letter-spacing: -0.02em;
  line-height: 1.55;
  word-break: keep-all;
}

.site-next-route > .site-route-arrow {
  width: clamp(3rem, 5vw, 5.75rem);
  height: clamp(3rem, 5vw, 5.75rem);
  flex: none;
  margin-bottom: 0.2rem;
  transition: transform 340ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-next-route:hover > .site-route-arrow,
.site-next-route:focus-visible > .site-route-arrow {
  transform: translateX(0.7rem);
}

@font-face {
  font-family: "TN Footer Roboto";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAo.woff2") format("woff2");
}

.site-footer {
  overflow: hidden;
  background: #080909;
  color: #f4f5f2;
}

/* The contact workspace omits the shared colophon in both inquiry modes. */
body[data-route="contact"] [data-site-footer] {
  display: none;
}

.site-footer-inner {
  padding-block: clamp(4.5rem, 6vw, 6.5rem) clamp(2.5rem, 3.5vw, 4rem);
}

.site-footer-signature {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.site-footer-brand {
  display: block;
  width: 100%;
  overflow: hidden;
  outline: none;
}

.site-footer-brand span {
  display: block;
  width: 100%;
  font-family: "TN Footer Roboto", Roboto, Arial, sans-serif;
  font-size: 20.82vw;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.74;
  white-space: nowrap;
}

.site-footer-information {
  display: grid;
  margin-top: clamp(5.5rem, 7vw, 8rem);
  gap: clamp(3rem, 7vw, 8rem);
  grid-template-columns: minmax(12rem, 0.85fr) minmax(20rem, 1.45fr) minmax(12rem, 0.8fr);
}

.site-footer-company,
.site-footer-location,
.site-footer-contact,
.site-footer-information address {
  min-width: 0;
}

.site-footer-label {
  margin: 0 0 1.75rem;
  color: #8f938d;
  font-size: 0.68rem;
  font-weight: 720;
  letter-spacing: 0.2em;
  line-height: 1;
}

.site-footer-company-copy,
.site-footer-location address {
  display: grid;
  color: #b3b7b0;
  font-size: clamp(0.9rem, 1vw, 1.08rem);
  font-weight: 430;
  gap: 0.45rem;
  letter-spacing: -0.015em;
  line-height: 1.65;
}

.site-footer-company-copy strong {
  margin-bottom: 0.4rem;
  color: #eef0ec;
  font-size: clamp(1.05rem, 1.2vw, 1.3rem);
  font-weight: 590;
  letter-spacing: -0.025em;
}

.site-footer-location address {
  font-style: normal;
}

.site-footer-contact-links {
  display: grid;
  gap: 0.5rem;
}

.site-footer-contact a {
  width: max-content;
  max-width: 100%;
  color: #eef0ec;
  font-size: clamp(1rem, 1.2vw, 1.3rem);
  font-weight: 490;
  letter-spacing: -0.025em;
  line-height: 1.45;
  outline: none;
  transition: color 180ms ease;
}

.site-footer-contact a:hover,
.site-footer-contact a:focus-visible {
  color: #ffffff;
}

.site-footer a.site-footer-brand:focus-visible,
.site-footer .site-footer-contact a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}

.site-footer-bottom {
  margin-top: clamp(5rem, 7vw, 8rem);
}

.site-footer-bottom small {
  color: #858984;
  font-size: 0.72rem;
  font-weight: 520;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

body.knowledge-body:has([data-site-footer]) {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

body.knowledge-body:has([data-site-footer]) .knowledge-screen {
  position: relative;
  width: 100%;
  height: 100svh;
}

html:has(body.resources-body [data-site-footer]),
body.resources-body:has([data-site-footer]) {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

body.resources-body:has([data-site-footer]) .resources-page {
  width: 100%;
  height: 100svh;
}

body[data-route="about"] .site-header {
  --shell-glass: rgb(8 8 8 / 78%);
  --shell-glass-hover: rgb(8 8 8 / 86%);
  --shell-card: rgb(255 255 255 / 10%);
  --shell-card-strong: rgb(255 255 255 / 17%);
}

html:has([data-page-transition]) .site-header {
  transition:
    opacity 220ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 180ms ease,
    -webkit-backdrop-filter 180ms ease,
    backdrop-filter 180ms ease;
}

html.site-end-zone .site-header {
  opacity: 0;
  pointer-events: none;
  transform: translateX(calc(-50% + var(--shell-center-x))) translateY(calc(-100% - var(--shell-top))) scale(var(--shell-scale));
}

@media (max-width: 74rem) {
  .site-destination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-destination {
    min-height: 16rem;
    padding-right: 1.25rem;
    padding-left: 1.25rem;
    border-right: 1px solid #c2c1bc;
    border-bottom: 1px solid #c2c1bc;
  }

  .site-destination:nth-child(2n + 1) {
    padding-left: 0;
  }

  .site-destination:nth-child(2n) {
    padding-right: 0;
    border-right: 0;
  }

  .site-destination:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .site-destination:nth-child(2n) > .site-route-arrow,
  .site-destination:last-child > .site-route-arrow {
    right: 0;
  }

  .site-destination-number {
    margin-bottom: 4rem;
  }

  .site-footer-information {
    grid-template-columns: minmax(14rem, 0.8fr) minmax(20rem, 1.2fr);
  }

  .site-footer-contact {
    grid-column: 1 / -1;
  }
}

@media (max-width: 47.999rem) {
  .site-transition-inner,
  .site-footer-inner {
    width: calc(100% - 2rem);
  }

  .site-transition-inner--index {
    padding-block: 5rem 6rem;
  }

  .site-transition-heading {
    margin-bottom: 3.6rem;
  }

  .site-transition-heading h2 {
    font-size: clamp(2.35rem, 12vw, 3.65rem);
  }

  .site-destination-grid {
    grid-template-columns: 1fr;
  }

  .site-destination,
  .site-destination:first-child,
  .site-destination:nth-child(2n),
  .site-destination:nth-child(2n + 1),
  .site-destination:last-child {
    min-height: 12.5rem;
    padding: 1.2rem 0 1.3rem;
    border-right: 0;
    border-bottom: 1px solid #c2c1bc;
  }

  .site-destination:last-child {
    border-bottom: 0;
  }

  .site-destination-number {
    margin-bottom: 2.25rem;
  }

  .site-destination p {
    max-width: calc(100% - 3.6rem);
    margin-top: 0.7rem;
  }

  .site-destination > .site-route-arrow,
  .site-destination:nth-child(2n) > .site-route-arrow,
  .site-destination:last-child > .site-route-arrow {
    right: 0;
    bottom: 1.2rem;
  }

  .site-transition-inner--next {
    min-height: 28rem;
    padding-block: 5.5rem;
  }

  .site-next-route {
    align-items: center;
    gap: 1rem;
  }

  .site-next-route > span:first-child {
    min-width: 0;
    gap: 1rem;
  }

  .site-next-route strong {
    font-size: clamp(3.3rem, 17vw, 5.5rem);
  }

  .site-next-route small {
    max-width: 18rem;
  }

  .site-next-route > .site-route-arrow {
    width: 2.8rem;
    height: 2.8rem;
  }

  .site-footer-inner {
    padding-block: 3.75rem 1.75rem;
  }

  .site-footer-information {
    margin-top: 4.5rem;
    gap: 3rem;
    grid-template-columns: 1fr;
  }

  .site-footer-contact {
    grid-column: auto;
  }

  .site-footer-label {
    margin-bottom: 1.35rem;
  }

  .site-footer-company-copy,
  .site-footer-location address {
    font-size: 0.94rem;
  }

  .site-footer-company-copy strong,
  .site-footer-contact a {
    font-size: 1.05rem;
  }

  .site-footer-bottom {
    margin-top: 4.25rem;
  }

  .site-footer-bottom small {
    font-size: 0.68rem;
  }
}

/* Landing close: the final black field enters from below. */
.site-footer[data-footer-variant="landing-wordmark"] {
  z-index: 70;
  min-height: 100svh;
  isolation: isolate;
  background: #050606;
}

.site-footer[data-footer-variant="landing-wordmark"]::before {
  content: none;
}

.site-footer[data-footer-variant="landing-wordmark"] .site-footer-inner {
  position: relative;
  z-index: 1;
  display: grid;
  width: calc(100% - 8.6vw);
  min-height: 100svh;
  max-width: none;
  padding: 6.2vh 0 0;
  grid-template-rows: auto 1fr auto;
}

.site-footer[data-footer-variant="landing-wordmark"] .site-footer-information {
  display: grid;
  margin: 0;
  grid-template-columns: 1.45fr 0.72fr 1.18fr 0.88fr;
  gap: clamp(2.5rem, 5vw, 10rem);
}

.site-footer[data-footer-variant="landing-wordmark"] .site-footer-label {
  margin-bottom: clamp(1.4rem, 2vh, 2.5rem);
}

.site-footer-navigation nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(7rem, 1fr));
  gap: clamp(0.7rem, 0.78vh, 1rem) clamp(1.5rem, 2.4vw, 4.5rem);
}

.site-footer-navigation nav a {
  display: grid;
  width: max-content;
  grid-template-columns: 2.2em auto;
  align-items: baseline;
  color: #e9ebe7;
  font-size: clamp(0.92rem, 0.86vw, 1.55rem);
  font-weight: 520;
  letter-spacing: -0.025em;
  line-height: 1.35;
  outline: none;
  transition: color 180ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-footer-navigation nav a span {
  color: #747974;
  font-family: "Oswald Lab", "Arial Narrow", sans-serif;
  font-size: 0.62em;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.site-footer-navigation nav a strong {
  font: inherit;
}

.site-footer-navigation nav a:hover,
.site-footer-navigation nav a:focus-visible {
  color: #ffffff;
  transform: translateX(0.35rem);
}

.site-footer[data-footer-variant="landing-wordmark"] .site-footer-company-copy,
.site-footer[data-footer-variant="landing-wordmark"] .site-footer-location address {
  font-size: clamp(0.82rem, 0.74vw, 1.28rem);
}

.site-footer[data-footer-variant="landing-wordmark"] .site-footer-company-copy strong,
.site-footer[data-footer-variant="landing-wordmark"] .site-footer-contact a {
  font-size: clamp(0.9rem, 0.82vw, 1.42rem);
}

.site-footer[data-footer-variant="landing-wordmark"] .site-footer-inquiry {
  margin-top: clamp(1rem, 1.7vh, 2rem);
  padding-bottom: 0.22em;
  border-bottom: 1px solid rgb(238 240 236 / 58%);
  font-weight: 650;
}

.site-footer[data-footer-variant="landing-wordmark"] .site-footer-bottom {
  display: flex;
  align-self: end;
  justify-content: space-between;
  margin: 0 0 2.6vh;
  color: #858984;
  gap: 2rem;
}

.site-footer[data-footer-variant="landing-wordmark"] .site-footer-bottom a {
  color: inherit;
  font-size: 0.68rem;
  font-weight: 520;
  letter-spacing: 0.1em;
}

.site-footer[data-footer-variant="landing-wordmark"] .site-footer-signature {
  align-self: end;
  order: 3;
}

.site-footer[data-footer-variant="landing-wordmark"] .site-footer-brand span {
  color: #f5f6f3;
  font-size: 20.45vw;
  line-height: 0.72;
  text-align: center;
  transform: translateY(0.02em);
}

@media (max-width: 74rem) {
  .site-footer[data-footer-variant="landing-wordmark"] .site-footer-information {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 47.999rem) {
  .site-footer[data-footer-variant="landing-wordmark"] .site-footer-inner {
    width: calc(100% - 3rem);
    padding-top: 3rem;
  }

  .site-footer[data-footer-variant="landing-wordmark"] .site-footer-information {
    display: grid;
    margin: 0;
    grid-template-columns: 1fr;
    gap: 2.1rem;
  }

  .site-footer-navigation nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer[data-footer-variant="landing-wordmark"] .site-footer-company,
  .site-footer[data-footer-variant="landing-wordmark"] .site-footer-location {
    display: none;
  }

  .site-footer[data-footer-variant="landing-wordmark"] .site-footer-bottom {
    display: grid;
    margin-bottom: 2rem;
    gap: 0.5rem;
  }

  .site-footer[data-footer-variant="landing-wordmark"] .site-footer-brand span {
    font-size: 20.2vw;
  }
}

/* Compact colophon used by the six interior public routes. */
body[data-route]:not([data-route="landing"]) .site-footer-inner {
  display: grid;
  padding-block: clamp(3.25rem, 4vw, 4rem) 2rem;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

body[data-route]:not([data-route="landing"]) .site-footer-signature {
  width: auto;
  margin-left: 0;
  grid-column: 1 / 8;
  grid-row: 1;
}

body[data-route]:not([data-route="landing"]) .site-footer-brand {
  width: max-content;
  max-width: 100%;
  overflow: visible;
}

body[data-route]:not([data-route="landing"]) .site-footer-brand span {
  width: auto;
  font-size: clamp(4rem, 5.2vw, 5rem);
  line-height: 0.78;
}

body[data-route]:not([data-route="landing"]) .site-footer-information {
  display: contents;
}

body[data-route]:not([data-route="landing"]) .site-footer-label {
  display: none;
}

body[data-route]:not([data-route="landing"]) .site-footer-company {
  margin-top: clamp(3.5rem, 4.6vw, 4.75rem);
  grid-column: 1 / 4;
  grid-row: 2;
}

body[data-route]:not([data-route="landing"]) .site-footer-location {
  margin-top: clamp(3.5rem, 4.6vw, 4.75rem);
  grid-column: 5 / 10;
  grid-row: 2;
}

body[data-route]:not([data-route="landing"]) .site-footer-contact {
  align-self: center;
  grid-column: 10 / -1;
  grid-row: 1;
}

body[data-route]:not([data-route="landing"]) .site-footer-company-copy,
body[data-route]:not([data-route="landing"]) .site-footer-location address {
  color: #aeb2ac;
  font-size: clamp(0.9rem, 0.96vw, 1rem);
}

body[data-route]:not([data-route="landing"]) .site-footer-company-copy strong {
  font-size: clamp(1rem, 1.12vw, 1.16rem);
}

body[data-route]:not([data-route="landing"]) .site-footer-contact-links {
  gap: 0.35rem;
}

body[data-route]:not([data-route="landing"]) .site-footer-contact a {
  font-size: clamp(1.05rem, 1.22vw, 1.3rem);
}

body[data-route]:not([data-route="landing"]) .site-footer-bottom {
  margin-top: clamp(3.75rem, 4.6vw, 4.75rem);
  grid-column: 1 / -1;
  grid-row: 3;
}

@media (max-width: 47.999rem) {
  body[data-route]:not([data-route="landing"]) .site-footer-inner {
    display: block;
    padding-block: 3.25rem 1.75rem;
  }

  body[data-route]:not([data-route="landing"]) .site-footer-brand span {
    font-size: clamp(3.15rem, 14vw, 3.7rem);
  }

  body[data-route]:not([data-route="landing"]) .site-footer-information {
    display: flex;
    margin-top: 3rem;
    flex-direction: column;
    gap: 2.75rem;
  }

  body[data-route]:not([data-route="landing"]) .site-footer-company,
  body[data-route]:not([data-route="landing"]) .site-footer-location,
  body[data-route]:not([data-route="landing"]) .site-footer-contact {
    margin-top: 0;
  }

  body[data-route]:not([data-route="landing"]) .site-footer-contact {
    align-self: stretch;
    order: -1;
  }

  body[data-route]:not([data-route="landing"]) .site-footer-company-copy,
  body[data-route]:not([data-route="landing"]) .site-footer-location address {
    font-size: 0.94rem;
  }

  body[data-route]:not([data-route="landing"]) .site-footer-company-copy strong,
  body[data-route]:not([data-route="landing"]) .site-footer-contact a {
    font-size: 1.05rem;
  }

  body[data-route]:not([data-route="landing"]) .site-footer-bottom {
    margin-top: 3.5rem;
  }
}

/* The landing hero yields visual priority to its image and headline. */
body[data-route="landing"]
  .site-header
  .brand[aria-current="page"]
  .brand-label {
  text-decoration: none;
}

body[data-route="landing"]
  .site-header[data-landing-compact="true"]
  .brand {
  color: #000;
}

body[data-route="landing"] .site-header .brand-symbol {
  transition: filter 240ms ease;
}

body[data-route="landing"]
  .site-header[data-landing-compact="true"]
  .brand-symbol {
  filter: none;
}

body[data-route="landing"] .site-header .menu-toggle-icon,
body[data-route="landing"] .site-header .menu-toggle-icon::before {
  transition:
    top 220ms ease,
    transform 220ms ease,
    background-color 240ms ease;
}

body[data-route="landing"]
  .site-header[data-landing-compact="true"]
  .menu-toggle-icon,
body[data-route="landing"]
  .site-header[data-landing-compact="true"]
  .menu-toggle-icon::before {
  background-color: #000;
}

@media (min-width: 60rem) {
  body[data-route="landing"] .site-header[data-landing-compact="true"] {
    display: flex;
    width: max-content;
    height: 72px;
    align-items: center;
    padding: 10px 6px;
    border-radius: 14px;
    background: transparent;
    transform: translateX(calc(-50% + 20px + var(--shell-center-x))) scale(var(--shell-scale));
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition:
      height 380ms cubic-bezier(0.16, 1, 0.3, 1),
      padding 380ms cubic-bezier(0.16, 1, 0.3, 1),
      background-color 220ms ease,
      transform 420ms cubic-bezier(0.16, 1, 0.3, 1),
      -webkit-backdrop-filter 260ms ease,
      backdrop-filter 260ms ease;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .brand {
    flex: 0 0 auto;
    width: auto;
    min-width: 118px;
    height: 50px;
    padding: 0 10px;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle {
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    min-height: 0;
    flex: 0 0 40px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    cursor: pointer;
    outline: none;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon,
  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon::before {
    position: absolute;
    left: 11px;
    width: 17px;
    height: 1px;
    background: #000;
    content: "";
    transition:
      top 220ms ease,
      transform 220ms ease,
      background-color 240ms ease;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon {
    top: 14px;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon::before {
    left: 0;
    top: 9px;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-compact-open="true"]
    .menu-toggle-icon {
    top: 19px;
    transform: rotate(45deg);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-compact-open="true"]
    .menu-toggle-icon::before {
    top: 0;
    transform: rotate(-90deg);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .primary-navigation,
  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    > .header-actions {
    position: static;
    overflow: hidden;
    margin-left: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-10px);
    visibility: hidden;
    transition:
      max-width 420ms cubic-bezier(0.16, 1, 0.3, 1),
      margin-left 420ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 180ms ease,
      transform 340ms cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear 260ms;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .primary-navigation {
    display: flex;
    width: max-content;
    max-width: 0;
    flex: 0 1 auto;
    gap: clamp(20px, 2.2vw, 34px);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    > .header-actions {
    display: grid;
    width: 232px;
    max-width: 0;
    flex: 0 0 auto;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-compact-focus="true"],
  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-compact-hover="true"],
  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-compact-open="true"] {
    height: 72px;
    padding: 10px;
    background: var(--shell-glass);
    transform: translateX(calc(-50% + var(--shell-center-x))) scale(var(--shell-scale));
    -webkit-backdrop-filter: blur(var(--shell-blur)) saturate(128%);
    backdrop-filter: blur(var(--shell-blur)) saturate(128%);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is([data-compact-focus="true"], [data-compact-hover="true"], [data-compact-open="true"])
    .brand {
    color: #fff;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is([data-compact-focus="true"], [data-compact-hover="true"], [data-compact-open="true"])
    .brand-symbol {
    filter: invert(1);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is([data-compact-focus="true"], [data-compact-hover="true"], [data-compact-open="true"])
    .menu-toggle-icon,
  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is([data-compact-focus="true"], [data-compact-hover="true"], [data-compact-open="true"])
    .menu-toggle-icon::before {
    background-color: #fff;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is([data-compact-focus="true"], [data-compact-hover="true"], [data-compact-open="true"])
    .primary-navigation {
    max-width: 560px;
    margin-left: 24px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition-delay: 0s;
    visibility: visible;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is([data-compact-focus="true"], [data-compact-hover="true"], [data-compact-open="true"])
    > .header-actions {
    max-width: 232px;
    margin-left: 32px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition-delay: 0s;
    visibility: visible;
  }
}

@media (max-width: 59.999rem) {
  .site-header .menu-toggle-icon::before {
    left: 0;
  }

  body[data-route="landing"] .site-header[data-landing-compact="true"] {
    top: 16px;
    left: 50%;
    width: max-content;
    max-width: calc(100% - 24px);
    height: 56px;
    grid-template-columns: auto 40px;
    padding: 4px 5px;
    border-radius: 14px;
    background: transparent;
    transform: translateX(calc(-50% + 20px));
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .brand {
    min-width: 112px;
    height: 48px;
    padding: 0 8px;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle {
    background: transparent;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-menu-open="true"] {
    background: var(--shell-glass);
    -webkit-backdrop-filter: blur(var(--shell-blur)) saturate(128%);
    backdrop-filter: blur(var(--shell-blur)) saturate(128%);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-menu-open="true"]
    .brand {
    color: #fff;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-menu-open="true"]
    .brand-symbol {
    filter: invert(1);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-menu-open="true"]
    .menu-toggle-icon,
  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-menu-open="true"]
    .menu-toggle-icon::before {
    background-color: #fff;
  }
}

html.site-end-zone body[data-route="landing"] .site-header {
  opacity: 0;
  pointer-events: none;
  transform: translateX(calc(-50% + var(--shell-center-x))) translateY(calc(-100% - var(--shell-top))) scale(var(--shell-scale));
}

@media (max-width: 59.999rem) {
  html.site-end-zone body[data-route="landing"] .site-header {
    transform: translateX(-50%) translateY(-120%);
  }
}

/* Landing menu choreography: hamburger -> divider -> full shared header. */
@media (min-width: 60rem) {
  body[data-route="landing"] .site-header[data-landing-compact="true"] {
    transition:
      height calc(var(--landing-header-expand-duration) * 0.168539) calc(var(--landing-header-expand-duration) * 0.05618) cubic-bezier(0.22, 1, 0.36, 1),
      padding calc(var(--landing-header-expand-duration) * 0.168539) calc(var(--landing-header-expand-duration) * 0.05618) cubic-bezier(0.22, 1, 0.36, 1),
      background-color calc(var(--landing-header-expand-duration) * 0.123596) calc(var(--landing-header-expand-duration) * 0.05618) ease,
      transform calc(var(--landing-header-expand-duration) * 0.191011) calc(var(--landing-header-expand-duration) * 0.05618) cubic-bezier(0.22, 1, 0.36, 1),
      -webkit-backdrop-filter calc(var(--landing-header-expand-duration) * 0.123596) calc(var(--landing-header-expand-duration) * 0.05618) ease,
      backdrop-filter calc(var(--landing-header-expand-duration) * 0.123596) calc(var(--landing-header-expand-duration) * 0.05618) ease;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .brand {
    transition:
      color calc(var(--landing-header-expand-duration) * 0.11236) calc(var(--landing-header-expand-duration) * 0.08427) ease,
      opacity calc(var(--landing-header-expand-duration) * 0.101124) ease,
      transform calc(var(--landing-header-expand-duration) * 0.134831) cubic-bezier(0.16, 1, 0.3, 1);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .brand-symbol {
    transition: filter calc(var(--landing-header-expand-duration) * 0.123596) calc(var(--landing-header-expand-duration) * 0.08427) ease;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .brand::after {
    display: block;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: 50% 50%;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle {
    overflow: visible;
    flex: 0 0 40px;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon,
  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon::before,
  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon::after {
    position: absolute;
    left: 11px;
    width: 18px;
    height: 1px;
    background: #000;
    content: "";
    opacity: 1;
    transform-origin: 50% 50%;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon {
    top: 19px;
    transition:
      background-color calc(var(--landing-header-expand-duration) * 0.08427) calc(var(--landing-header-expand-duration) * 0.078652) ease,
      opacity calc(var(--landing-header-expand-duration) * 0.101124) calc(var(--landing-header-expand-duration) * 0.078652) ease;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon::before {
    top: -5px;
    left: 0;
    transition:
      background-color calc(var(--landing-header-expand-duration) * 0.08427) calc(var(--landing-header-expand-duration) * 0.078652) ease,
      opacity calc(var(--landing-header-expand-duration) * 0.101124) calc(var(--landing-header-expand-duration) * 0.078652) ease,
      transform calc(var(--landing-header-expand-duration) * 0.123596) calc(var(--landing-header-expand-duration) * 0.078652) cubic-bezier(0.22, 1, 0.36, 1);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon::after {
    top: 5px;
    left: 0;
    transition:
      background-color calc(var(--landing-header-expand-duration) * 0.08427) calc(var(--landing-header-expand-duration) * 0.078652) ease,
      opacity calc(var(--landing-header-expand-duration) * 0.101124) calc(var(--landing-header-expand-duration) * 0.078652) ease,
      transform calc(var(--landing-header-expand-duration) * 0.134831) calc(var(--landing-header-expand-duration) * 0.078652) cubic-bezier(0.22, 1, 0.36, 1);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .primary-navigation,
  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    > .header-actions {
    transition:
      max-width calc(var(--landing-header-expand-duration) * 0.168539) calc(var(--landing-header-expand-duration) * 0.044944) cubic-bezier(0.22, 1, 0.36, 1),
      margin-left calc(var(--landing-header-expand-duration) * 0.168539) calc(var(--landing-header-expand-duration) * 0.044944) cubic-bezier(0.22, 1, 0.36, 1),
      opacity calc(var(--landing-header-expand-duration) * 0.05618) ease,
      transform calc(var(--landing-header-expand-duration) * 0.089888) ease,
      visibility 0s linear calc(var(--landing-header-expand-duration) * 0.213483);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .primary-navigation {
    gap: var(--shell-center-nav-gap);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .nav-link {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transform: translateY(5px);
    transition:
      opacity calc(var(--landing-header-expand-duration) * 0.146067) ease,
      clip-path calc(var(--landing-header-expand-duration) * 0.191011) cubic-bezier(0.16, 1, 0.3, 1),
      transform calc(var(--landing-header-expand-duration) * 0.191011) cubic-bezier(0.16, 1, 0.3, 1),
      color calc(var(--landing-header-expand-duration) * 0.101124) ease;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .nav-link:nth-child(1) {
    --compact-nav-delay: calc(var(--landing-header-expand-duration) * 0.235955);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .nav-link:nth-child(2) {
    --compact-nav-delay: calc(var(--landing-header-expand-duration) * 0.314607);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .nav-link:nth-child(3) {
    --compact-nav-delay: calc(var(--landing-header-expand-duration) * 0.393258);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .nav-link:nth-child(4) {
    --compact-nav-delay: calc(var(--landing-header-expand-duration) * 0.47191);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .nav-link:nth-child(5) {
    --compact-nav-delay: calc(var(--landing-header-expand-duration) * 0.550562);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    > .header-actions
    .header-card {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transform: translateY(5px);
    transition:
      opacity calc(var(--landing-header-expand-duration) * 0.146067) ease,
      clip-path calc(var(--landing-header-expand-duration) * 0.191011) cubic-bezier(0.16, 1, 0.3, 1),
      transform calc(var(--landing-header-expand-duration) * 0.191011) cubic-bezier(0.16, 1, 0.3, 1),
      background-color calc(var(--landing-header-expand-duration) * 0.101124) ease;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    > .header-actions::before {
    opacity: 0;
    transform: scaleY(0);
    transform-origin: 50% 50%;
    transition:
      opacity calc(var(--landing-header-expand-duration) * 0.067416) ease,
      transform calc(var(--landing-header-expand-duration) * 0.101124) cubic-bezier(0.22, 1, 0.36, 1);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    ) {
    height: 72px;
    padding: 10px;
    background: var(--shell-glass);
    transform: translateX(calc(-50% + var(--shell-center-x))) scale(var(--shell-scale));
    -webkit-backdrop-filter: blur(var(--shell-blur)) saturate(128%);
    backdrop-filter: blur(var(--shell-blur)) saturate(128%);
    transition:
      height calc(var(--landing-header-expand-duration) * 0.235955) cubic-bezier(0.16, 1, 0.3, 1),
      padding calc(var(--landing-header-expand-duration) * 0.235955) cubic-bezier(0.16, 1, 0.3, 1),
      background-color calc(var(--landing-header-expand-duration) * 0.134831) ease,
      transform calc(var(--landing-header-expand-duration) * 0.258427) cubic-bezier(0.16, 1, 0.3, 1),
      -webkit-backdrop-filter calc(var(--landing-header-expand-duration) * 0.146067) ease,
      backdrop-filter calc(var(--landing-header-expand-duration) * 0.146067) ease;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    .brand {
    color: #fff;
    opacity: 1;
    transition-delay: calc(var(--landing-header-expand-duration) * 0.019663), 0ms, 0ms;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    .brand-symbol {
    filter: invert(1);
    transition-delay: calc(var(--landing-header-expand-duration) * 0.019663);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    .menu-toggle-icon {
    top: 19px;
    background-color: transparent;
    transform: none;
    transition-delay: calc(var(--landing-header-expand-duration) * 0.070225);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    .menu-toggle-icon::before {
    background-color: #fff;
    opacity: 0;
    transform: translateY(5px) scaleX(0);
    transition-delay: calc(var(--landing-header-expand-duration) * 0.061798);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    .menu-toggle-icon::after {
    background-color: #fff;
    opacity: 0.52;
    transform: translateY(-5px) rotate(90deg) scaleX(1.9);
    transition-delay: calc(var(--landing-header-expand-duration) * 0.070225);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    .primary-navigation {
    max-width: 560px;
    margin-left: 16px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
    transition:
      max-width calc(var(--landing-header-expand-duration) * 0.617978) calc(var(--landing-header-expand-duration) * 0.123596) cubic-bezier(0.16, 1, 0.3, 1),
      margin-left calc(var(--landing-header-expand-duration) * 0.258427) calc(var(--landing-header-expand-duration) * 0.101124) cubic-bezier(0.16, 1, 0.3, 1),
      opacity calc(var(--landing-header-expand-duration) * 0.123596) calc(var(--landing-header-expand-duration) * 0.168539) ease,
      transform calc(var(--landing-header-expand-duration) * 0.235955) calc(var(--landing-header-expand-duration) * 0.146067) cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    .nav-link {
    opacity: 1;
    clip-path: inset(0);
    transform: none;
    transition-delay:
      var(--compact-nav-delay),
      var(--compact-nav-delay),
      var(--compact-nav-delay),
      0ms;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    > .header-actions {
    max-width: 232px;
    margin-left: var(--shell-center-action-gap);
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
    transition:
      max-width calc(var(--landing-header-expand-duration) * 0.617978) calc(var(--landing-header-expand-duration) * 0.123596) cubic-bezier(0.16, 1, 0.3, 1),
      margin-left calc(var(--landing-header-expand-duration) * 0.258427) calc(var(--landing-header-expand-duration) * 0.101124) cubic-bezier(0.16, 1, 0.3, 1),
      opacity calc(var(--landing-header-expand-duration) * 0.123596) calc(var(--landing-header-expand-duration) * 0.168539) ease,
      transform calc(var(--landing-header-expand-duration) * 0.235955) calc(var(--landing-header-expand-duration) * 0.146067) cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0s linear;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    > .header-actions::before {
    opacity: 1;
    transform: scaleY(1);
    transition-delay: calc(var(--landing-header-expand-duration) * 0.606742);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    > .header-actions
    .header-card {
    opacity: 1;
    clip-path: inset(0);
    transform: none;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    > .header-actions
    .header-card:nth-child(1) {
    transition-delay:
      calc(var(--landing-header-expand-duration) * 0.629213),
      calc(var(--landing-header-expand-duration) * 0.629213),
      calc(var(--landing-header-expand-duration) * 0.629213),
      0ms;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    > .header-actions
    .header-card:nth-child(2) {
    transition-delay:
      calc(var(--landing-header-expand-duration) * 0.707865),
      calc(var(--landing-header-expand-duration) * 0.707865),
      calc(var(--landing-header-expand-duration) * 0.707865),
      0ms;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    :is(.nav-link, .header-card) {
    opacity: 1;
  }
}

@media (max-width: 59.999rem) {
  .site-header .menu-toggle-icon,
  .site-header .menu-toggle-icon::before,
  .site-header .menu-toggle-icon::after {
    position: absolute;
    left: 10px;
    width: 18px;
    height: 1px;
    background: var(--shell-text);
    content: "";
    opacity: 1;
    transform-origin: 50% 50%;
    transition:
      top 220ms ease,
      opacity 160ms ease,
      transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
      background-color 220ms ease;
  }

  .site-header .menu-toggle-icon {
    top: 19px;
  }

  .site-header .menu-toggle-icon::before {
    top: -5px;
    left: 0;
  }

  .site-header .menu-toggle-icon::after {
    top: 5px;
    left: 0;
  }

  .site-header[data-menu-open="true"] .menu-toggle-icon {
    top: 19px;
    transform: rotate(45deg);
  }

  .site-header[data-menu-open="true"] .menu-toggle-icon::before {
    top: 0;
    transform: rotate(-90deg);
  }

  .site-header[data-menu-open="true"] .menu-toggle-icon::after {
    top: 0;
    opacity: 0;
    transform: scaleX(0);
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon,
  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon::before,
  body[data-route="landing"]
    .site-header[data-landing-compact="true"]
    .menu-toggle-icon::after {
    background-color: #000;
  }

  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-menu-open="true"]
    .menu-toggle-icon,
  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-menu-open="true"]
    .menu-toggle-icon::before,
  body[data-route="landing"]
    .site-header[data-landing-compact="true"][data-menu-open="true"]
    .menu-toggle-icon::after {
    background-color: #fff;
  }
}

/* Landing header comparison: independent brand at left, menu cluster at right. */
@media (min-width: 60rem) {
  body[data-route="landing"]
    .site-header[data-header-layout="split"][data-landing-compact="true"] {
    top: var(--shell-top);
    right: 0;
    left: 0;
    display: grid;
    width: 100%;
    max-width: none;
    height: 72px;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    padding: 0 var(--shell-split-right-edge) 0 var(--shell-split-left-edge);
    overflow: visible;
    border-radius: 0;
    background: transparent;
    pointer-events: none;
    transform: none;
    transform-origin: 50% 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  body[data-route="landing"]
    .site-header[data-header-layout="split"][data-landing-compact="true"]
    .brand {
    grid-column: 1;
    width: max-content;
    min-width: 0;
    height: 72px;
    justify-self: start;
    padding: 0;
    pointer-events: auto;
    transform: translateY(var(--shell-split-brand-y)) scale(var(--shell-split-brand-scale));
    transform-origin: 0 50%;
  }

  body[data-route="landing"]
    .site-header[data-header-layout="split"][data-landing-compact="true"]
    .menu-toggle {
    grid-column: 2;
    width: 40px;
    height: 72px;
    justify-self: end;
    margin: 0;
    border-radius: 14px 0 0 14px;
    pointer-events: auto;
    transform: translateY(var(--shell-split-menu-y)) scale(var(--shell-split-menu-scale));
    transform-origin: 100% 50%;
  }

  body[data-route="landing"]
    .site-header[data-header-layout="split"][data-landing-compact="true"]
    .primary-navigation {
    grid-column: 3;
    height: 72px;
    justify-self: end;
    margin-left: 0;
    gap: var(--shell-split-nav-gap);
    padding: 0 24px;
    border-radius: 0;
    transform: translateY(var(--shell-split-menu-y)) scale(var(--shell-split-menu-scale));
    transform-origin: 100% 50%;
  }

  body[data-route="landing"]
    .site-header[data-header-layout="split"][data-landing-compact="true"]
    > .header-actions {
    height: 72px;
    grid-column: 4;
    align-items: center;
    justify-self: end;
    margin-left: var(--shell-split-action-gap);
    padding: 10px;
    border-radius: 0 14px 14px 0;
    transform: translateY(var(--shell-split-menu-y)) scale(var(--shell-split-menu-scale));
    transform-origin: 100% 50%;
  }

  body[data-route="landing"]
    .site-header[data-header-layout="split"][data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    ) {
    height: 72px;
    padding: 0 var(--shell-split-right-edge) 0 var(--shell-split-left-edge);
    background: transparent;
    transform: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  body[data-route="landing"]
    .site-header[data-header-layout="split"][data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    .menu-toggle,
  body[data-route="landing"]
    .site-header[data-header-layout="split"][data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    .primary-navigation,
  body[data-route="landing"]
    .site-header[data-header-layout="split"][data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    > .header-actions {
    background: var(--shell-glass);
    -webkit-backdrop-filter: blur(var(--shell-blur)) saturate(128%);
    backdrop-filter: blur(var(--shell-blur)) saturate(128%);
  }

  body[data-route="landing"]
    .site-header[data-header-layout="split"][data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    .primary-navigation,
  body[data-route="landing"]
    .site-header[data-header-layout="split"][data-landing-compact="true"]:is(
      [data-compact-hover="true"],
      [data-compact-focus="true"],
      [data-compact-open="true"]
    )
    > .header-actions {
    margin-left: var(--shell-split-action-gap);
  }

  html.site-end-zone
    body[data-route="landing"]
    .site-header[data-header-layout="split"] {
    transform: translateY(calc(-100% - var(--shell-top)));
  }
}

/* Keep the navigation available on the intentionally empty company page. */
html.site-end-zone
  body[data-route="about"]
  > .site-header[data-header] {
  opacity: 1;
  pointer-events: none;
  transform: none;
}

@media (max-width: 59.999rem) {
  body:not([data-route="landing"])
    > .mobile-menu
    .mobile-menu-panel {
    top: 76px;
    right: 0;
    left: 0;
    border-radius: 0 0 18px 18px;
    background: rgb(5 6 7 / 96%);
    color: #fff;
    font-family: "TN Shell Asta", sans-serif;
  }
}

/* Keep the foreground legible without adding a header surface. */
:is(
    body[data-route="about"],
    body[data-route="process"],
    body[data-route="contact"]
  )
  > .site-header[data-header] {
  color: #050607;
}

:is(
    body[data-route="about"],
    body[data-route="process"],
    body[data-route="contact"]
  )
  > .site-header[data-header]
  .brand-symbol {
  filter: none;
}

:is(
    body[data-route="about"],
    body[data-route="process"],
    body[data-route="contact"]
  )
  > .site-header[data-header]
  .brand-name {
  filter: invert(1);
}

:is(
    body[data-route="about"],
    body[data-route="process"],
    body[data-route="contact"]
  )
  > .site-header[data-header]
  :is(.header-navigation, .header-navigation .nav-link) {
  color: #050607;
}

:is(
    body[data-route="about"],
    body[data-route="process"],
    body[data-route="contact"]
  )
  > .site-header[data-header]
  :is(.brand, .nav-link):focus-visible {
  outline-color: rgb(5 6 7 / 82%);
}

/* A single cross-document wipe reveals the destination directly over the source page. */
@view-transition {
  navigation: auto;
}

::view-transition-group(root) {
  animation-duration: 920ms;
}

::view-transition-image-pair(root) {
  isolation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
  mix-blend-mode: normal;
}

::view-transition-old(root) {
  z-index: 1;
}

::view-transition-new(root) {
  z-index: 2;
  animation: site-page-direct-wipe-ltr 920ms cubic-bezier(0.72, 0, 0.12, 1) both;
  will-change: clip-path;
}

:root[data-page-wipe-direction="rtl"]::view-transition-new(root) {
  animation-name: site-page-direct-wipe-rtl;
}

@keyframes site-page-direct-wipe-ltr {
  from { clip-path: inset(0 100% 0 0); }
  to { clip-path: inset(0); }
}

@keyframes site-page-direct-wipe-rtl {
  from { clip-path: inset(0 0 0 100%); }
  to { clip-path: inset(0); }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(root) {
    animation-duration: 0.01ms;
  }
}
