/* The only semantic labels are the real, selectable word spans. The optional
   art occupies an independent em-based window; it never sizes the text. */
[data-carved-navigation] { --carving-enhancement-ready: 1; }
.navigation-load-status { display: none; }
/* Readiness controls the swap; the six-second animation is only a recovery
   deadline if the enhancement script itself is missing or stops executing. */
html.nav-preparing [data-carved-navigation][data-mode="pending"] {
  visibility: hidden;
  animation: nav-pending-recovery 0s linear 6s forwards;
}
html.nav-preparing [data-carved-navigation][data-mode="pending"][data-reason="not-visible"] { animation: none; }
html.nav-preparing [data-carved-navigation][data-mode="pending"] ~ .navigation-load-status {
  /* Keep the live status available to assistive technology without painting
     a loading sign. Readiness and semantic navigation recovery stay intact. */
  display: block; position: absolute; width: 1px; height: 1px;
  margin: -1px; padding: 0; overflow: hidden; white-space: nowrap;
  clip: rect(0, 0, 0, 0); clip-path: inset(50%); border: 0;
  animation: nav-status-recovery 0s linear 6s forwards;
}
html.nav-preparing [data-carved-navigation][data-mode="pending"][data-reason="not-visible"] ~ .navigation-load-status { display: none; }
@media (max-width: 1535px) {
  html.nav-preparing [data-carved-navigation][data-mode="pending"] ~ .navigation-load-status { left: 50%; top: 2rem; max-width: calc(100% - 2rem); transform: translateX(-50%); }
}
html.nav-preparing .force-compact [data-carved-navigation][data-mode="pending"] ~ .navigation-load-status { left: 50%; top: 2rem; max-width: calc(100% - 2rem); transform: translateX(-50%); }
@keyframes nav-pending-recovery { to { visibility: visible; } }
@keyframes nav-status-recovery { to { visibility: hidden; } }
[data-carving-board] { display: none !important; pointer-events: none; }
.site-header.material-header .header-panel nav .wood-lettering.carved-label {
  font-family: "NM Carved Roman", Georgia, serif;
  font-weight: 700;
  font-style: normal;
  font-synthesis: none;
  color: #21160e;
  -webkit-text-fill-color: currentColor;
  -webkit-text-stroke: 0;
  text-shadow: none;
  /* The legacy controller reapplies an inline SVG filter on layout changes.
     Suppress it for these nav labels only, including the no-JS text fallback. */
  filter: none !important;
}
.carved-word {
  position: relative;
  display: inline-block;
  white-space: nowrap;
}
.carved-live-word { position: relative; }
.carved-word-art {
  position: absolute;
  display: block;
  left: calc(50% + var(--carving-optical-x, 0em));
  top: calc(50% + var(--carving-optical-y, 0em));
  inline-size: var(--carving-width);
  block-size: var(--carving-height);
  max-inline-size: none;
  max-width: none;
  transform: translate(-50%, -50%);
  visibility: hidden;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.carved-word-art[hidden] { display: none; }
[data-carved-link][data-mode="carved"] .carved-live-word {
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 0;
  text-shadow: none;
}
[data-carved-link][data-mode="carved"] .carved-word-art { visibility: visible; }

/* New labels use the verified Roman face directly, never a bitmap spelling
   the previous label. The semantic text is shared by every navigation mode. */
[data-carved-link][data-mode="carved"] [data-carved-text]:where([data-carved-word="Caravan"]) .carved-live-word {
  color: #e3cfaa;
  -webkit-text-fill-color: currentColor;
  -webkit-text-stroke: .012em rgba(90,55,27,.7);
  paint-order: stroke fill;
  text-shadow: 0 -.035em .012em rgba(12,7,3,.9), 0 .025em 0 rgba(242,229,201,.35);
}

/* These overrides also act synchronously, before JS handles preference events. */
@media (forced-colors: active), (prefers-reduced-data: reduce) {
  [data-carved-link][data-mode="carved"] [data-carved-text]:where([data-carved-word="Caravan"]) .carved-live-word {
    color: inherit;
    -webkit-text-stroke: 0;
    text-shadow: none;
  }
  [data-carved-link][data-mode="carved"] .carved-live-word {
    color: inherit;
    -webkit-text-fill-color: currentColor;
  }
  [data-carved-link] .carved-word-art { visibility: hidden !important; }
}
@media (forced-colors: active) {
  .site-header.material-header .header-panel nav .wood-lettering.carved-label { color: LinkText !important; }
}
@media print {
  [data-carved-link][data-mode="carved"] [data-carved-text]:where([data-carved-word="Caravan"]) .carved-live-word {
    color: #000;
    -webkit-text-fill-color: #000;
    -webkit-text-stroke: 0;
    text-shadow: none;
  }
  [data-carved-link][data-mode="carved"] .carved-live-word { color: #000; -webkit-text-fill-color: #000; }
  [data-carved-link] .carved-word-art { display: none; }
}

/* Resilient text-mode wood rails: CSS grain, brass edges and cream Roman ink
   belong to the surrounding frame without requiring any decorative image.
   Preserve flowing labels, control geometry and system accessibility colors. */
.site-header.material-header[data-compact-fluid="full"] .header-panel
nav[data-carved-navigation]:not([data-mode="carved"]) a {
  color: #f2e5c9;
  background-color: #3c2717;
  background-image: repeating-linear-gradient(3deg, rgba(203,170,113,.045) 0 1px, transparent 1px 5px, rgba(12,7,3,.12) 5px 6px, transparent 6px 13px), linear-gradient(180deg, #553822, #3c2717 38%, #24170e);
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px #a58a54, inset 0 2px 1px rgba(236,204,139,.2), inset 0 -3px 3px rgba(12,7,3,.45), 0 2px 3px rgba(12,7,3,.35);
  text-shadow: 0 -.6px 0 #160d07, 0 .6px 0 rgba(242,229,201,.12);
  align-self: center;
  text-decoration-color: currentColor;
  text-underline-offset: .2em;
}
.site-header.material-header[data-compact-fluid="full"] .header-panel
nav[data-carved-navigation]:not([data-mode="carved"]) a::before,
.site-header.material-header[data-compact-fluid="full"] .header-panel
nav[data-carved-navigation]:not([data-mode="carved"]) a::after {
  display: none !important;
}
.site-header.material-header[data-compact-fluid="full"] .header-panel
nav[data-carved-navigation]:not([data-mode="carved"]) .wood-lettering.carved-label {
  color: inherit;
  background: transparent;
  box-shadow: none;
}
.site-header.material-header[data-compact-fluid="full"] .header-panel
nav[data-carved-navigation]:not([data-mode="carved"]) a:hover {
  background-color: #49301d;
  background-image: repeating-linear-gradient(3deg, rgba(203,170,113,.045) 0 1px, transparent 1px 5px, rgba(12,7,3,.12) 5px 6px, transparent 6px 13px), linear-gradient(180deg, #66472c, #49301d 38%, #302014);
}
.site-header.material-header[data-compact-fluid="full"] .header-panel
nav[data-carved-navigation]:not([data-mode="carved"]) a:focus-visible {
  outline: 3px solid #f2e5c9;
  outline-offset: 2px;
  box-shadow: inset 0 0 0 1px #c4a86f, 0 0 0 6px #24170e;
}
/* Text-mode rails share one baseline; the rich planks retain their native axes. */
@media (min-width: 1536px) {
  .site-header.material-header:not(.force-compact)[data-compact-fluid="full"] .header-panel
  nav[data-carved-navigation]:not([data-mode="carved"]) > a:nth-of-type(n) { top: 0; }
}
/* System high-contrast choices take precedence over the decorative palette. */
@media (forced-colors: active) {
  .site-header.material-header[data-compact-fluid="full"] .header-panel
  nav[data-carved-navigation]:not([data-mode="carved"]) a {
    color: LinkText;
    background: Canvas;
    outline: 1px solid ButtonText;
    outline-offset: -1px;
    box-shadow: none;
    text-shadow: none;
  }
  .site-header.material-header[data-compact-fluid="full"] .header-panel
  nav[data-carved-navigation]:not([data-mode="carved"]) .wood-lettering.carved-label {
    color: LinkText !important;
    background: transparent !important;
    box-shadow: none;
  }
  .site-header.material-header[data-compact-fluid="full"] .header-panel
  nav[data-carved-navigation]:not([data-mode="carved"]) a:focus-visible {
    outline-color: Highlight;
    box-shadow: none;
  }
}
@media print {
  .site-header.material-header[data-compact-fluid="full"] .header-panel
  nav[data-carved-navigation]:not([data-mode="carved"]) a,
  .site-header.material-header[data-compact-fluid="full"] .header-panel
  nav[data-carved-navigation]:not([data-mode="carved"]) .wood-lettering.carved-label {
    color: #000 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
  }
}
