/* Mythic Frontier — shared identity, opt-in for the public site only.
   Classical art belongs to section openings; data owns clean opaque surfaces.
   The preserved private class snapshot deliberately does not opt in. */
html.mythic-site, html.frontier-site.mythic-site {
  --mythic-blue: #1012c8;
  --mythic-ink: #151515;
  --mythic-muted: #484850;
  --mythic-rule: #cbccd5;
  --mythic-gutter: clamp(24px, 4vw, 90px);
  --sans: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --serif: 'Playfair Display', Georgia, serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
  --slate-dark: #151515; --slate-medium: #3f3f49; --slate-light: #484850;
  --ivory-light: #fff; --ivory-medium: #f4f4fa; --ivory-dark: #e8e8f1; --oat: #e8e8f1;
  --cloud-medium: #6b6b78; --cloud-light: #cbccd5; --cloud-dark: #484850;
  --clay: #1012c8; --clay-strong: #1012c8; --ember: #484850; --olive: #737aa9;
  --lab-action: #1012c8; --lab-button: #1012c8; --lab-stage: #1012c8;
  --max-w: 2400px;
  --bb-chart-starter: #484850; --bb-chart-builder: #1012c8;
  --bb-chart-reload: #737aa9; --bb-chart-leakage: #cbccd5;
  --bb-chart-outline: #484850; --bb-chart-divider: #fff; --bb-chart-no-floor: #484850;
  color-scheme: light;
}
html.mythic-site body { background: #fff; font-family: var(--sans); }
html.mythic-site .wrap { max-width: 2400px; padding-inline: var(--mythic-gutter); }
html.mythic-site ::selection { background: #1012c8; color: #fff; }
html.mythic-site :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid #1012c8; outline-offset: 4px; }
html.mythic-site :is(section[id], article[id], h2[id], .toc-part[id]) { scroll-margin-top: 110px; }
html.mythic-site .frontier-page :is(h1,h2,h3,.h2,.h3,.display) { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; }
html.mythic-site .frontier-page :is(h1,h2,h3,.h2,.h3,.display) :is(em,.u) { font: inherit; color: inherit; text-decoration: none; }
html.mythic-site .frontier-page :is(.eyebrow,.kicker) { font: 400 11px/1.8 var(--mono); letter-spacing: .07em; }
html.mythic-site .nav { background: #1012c8; border-bottom: 1px solid #7475e5; backdrop-filter: none; }
html.mythic-site .nav__row { height: 96px; min-height: 96px; }
/* One native Wing master supplies every public signature. Text remains real
   text; the decorative silhouette is colourable without duplicating its paths. */
html.mythic-site .wordmark { display: inline-flex; align-items: center; flex-shrink: 0; color: #fff; font: 400 26px/1.1 var(--serif); letter-spacing: -.035em; gap: 11px; white-space: nowrap; text-decoration: none; }
html.mythic-site .wordmark__name { color: inherit; word-spacing: .04em; }
html.mythic-site .wordmark sup { font: 7px/1 var(--sans); align-self: flex-start; margin: 9px 0 0 -7px; letter-spacing: 0; }
html.mythic-site .logomark--wing { display: inline-block; flex: none; width: 26px; height: 46px; background-color: currentColor; -webkit-mask: url('/assets/wing-mark.svg') center / contain no-repeat; mask: url('/assets/wing-mark.svg') center / contain no-repeat; animation: none; transition: none; pointer-events: none; }
html.mythic-site .nav__links { gap: clamp(12px, 1.8vw, 30px); border-radius: 0; }
html.mythic-site .nav__link { color: #fff; font: 11px/1.5 var(--mono); letter-spacing: .025em; text-transform: uppercase; border-radius: 0; padding: 13px 0; }
html.mythic-site .nav__link:hover { background: transparent; color: #fff; text-decoration: underline; text-underline-offset: 5px; }
html.mythic-site .nav__links .btn { min-height: 44px; border-radius: 0; background: #fff; border-color: #fff; color: #1012c8; font: 11px/1.5 var(--mono); text-transform: uppercase; padding: 12px 17px; box-shadow: none; }
html.mythic-site .nav__links .btn:hover { background: transparent; color: #fff; }
html.mythic-site .nav :is(a,input):focus-visible { outline-color: #fff; }
html.mythic-site .nav__burger { border-radius: 0; color: #fff; margin-right: 0; }
html.mythic-site .nav__burger span { background: #fff; }
html.mythic-site .frontier-page .btn { border-radius: 0; box-shadow: none; min-height: 48px; font: 12px/1.5 var(--mono); }
html.mythic-site .frontier-page .btn--accent { background: #1012c8; border-color: #1012c8; color: #fff; }
html.mythic-site .frontier-page .btn--accent:hover { background: #080a8b; border-color: #080a8b; color: #fff; }
html.mythic-site .frontier-page .nav__links .btn { background: #fff; border-color: #fff; color: #1012c8; }
html.mythic-site .frontier-page .nav__links .btn:hover { background: transparent; border-color: #fff; color: #fff; }
html.mythic-site .frontier-page :is(.card,.callout,.callout-box,.pillars,.feature,.code,.rd-screen,.close-cta,.banner--proto) { border-radius: 0; box-shadow: none; }
html.mythic-site .mythic-engraving { mix-blend-mode: screen; filter: contrast(1.18) brightness(1.22); pointer-events: none; }
html.mythic-site .footer { background: #fff; color: #151515; border-top: 1px solid #151515; border-radius: 0; padding-top: 44px; }
html.mythic-site .footer :is(p,a,span,.wordmark) { color: #484850; }
html.mythic-site .footer a:hover { color: #1012c8; }
html.mythic-site .footer .wordmark { font: 400 24px/1.1 var(--serif); color: #1012c8; }
html.mythic-site .footer .wordmark :is(.logomark, .wordmark__name, sup) { color: inherit; }
html.mythic-site .footer .logomark--wing { width: 24px; height: 42px; }
@media (max-width: 1100px) {
  html.mythic-site .nav__links { gap: 16px; }
  html.mythic-site .nav__link { font-size: 10px; }
}
@media (max-width: 960px) {
  html.mythic-site .nav__row { height: 76px; min-height: 76px; }
  html.mythic-site .nav__links { display: none; top: 100%; left: 0; right: 0; background: #1012c8; border-color: #7475e5; padding: 18px 22px; max-height: calc(100dvh - 100px); overflow-y: auto; backdrop-filter: none; }
  html.mythic-site .nav__toggle:checked ~ .nav__links { display: flex; flex-direction: column; align-items: stretch; padding-block: 18px; }
  html.mythic-site .nav__toggle { top: 50%; transform: translateY(-50%); right: 0; }
  html.mythic-site .nav__toggle:focus-visible + .nav__burger { outline: 2px solid #fff; outline-offset: 3px; }
  html.mythic-site .nav__link { font-size: 12px; min-height: 44px; }
  html.mythic-site .nav__links .btn { margin: 8px 0 0; font-size: 11px; }
}
@media (max-width: 760px) {
  html.mythic-site .nav__row { height: 68px; min-height: 68px; }
  html.mythic-site .wordmark { font-size: 22px; gap: 9px; }
  html.mythic-site .logomark--wing { width: 22px; height: 38px; }
  html.mythic-site .wordmark sup { margin-top: 7px; margin-left: -6px; }
  html.mythic-site :is(section[id], article[id], h2[id], .toc-part[id]) { scroll-margin-top: 86px; }
  html.mythic-site .mobile-booking { background: #fff; border-color: #cbccd5; box-shadow: none; }
  html.mythic-site .mobile-booking a { border-radius: 0; background: #1012c8; color: #fff; font: 11px/1.5 var(--mono); }
}
/* Hero and instructor signal tears: the base engraving never moves. Two matching
   clipped copies replace narrow horizontal bands for 320ms, then disappear.
   Custom properties coordinate cuts/copies without animating the image crop. */
html.mythic-site :is(.mythic-art, .mythic-publication-art, .mythic-lesson-art, .mythic-instructor-portrait).mythic-signal-active {
  animation: mythic-signal 320ms steps(1, end) 1;
}
html.mythic-site .mythic-signal-ready > img:not(.mythic-signal-slice) {
  mask-image: var(--mythic-signal-cut, linear-gradient(#000, #000));
}
html.mythic-site .mythic-signal-ready > .mythic-signal-slice,
html.mythic-site .mythic-signal-ready > .mythic-signal-noise {
  display: none !important;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  pointer-events: none;
  z-index: 1;
}
html.mythic-site .mythic-signal-active > .mythic-signal-slice,
html.mythic-site .mythic-signal-active > .mythic-signal-noise { display: block !important; }
html.mythic-site .mythic-signal-slice--a {
  clip-path: inset(var(--mythic-signal-top-a, 50%) 0 var(--mythic-signal-bottom-a, 50%) 0);
  translate: var(--mythic-signal-shift-a, 0px) 0;
}
html.mythic-site .mythic-signal-slice--b {
  clip-path: inset(var(--mythic-signal-top-b, 50%) 0 var(--mythic-signal-bottom-b, 50%) 0);
  translate: var(--mythic-signal-shift-b, 0px) 0;
}
html.mythic-site .mythic-signal-noise {
  background: repeating-linear-gradient(90deg, #ffffff88 0 1px, transparent 1px 4px),
    repeating-linear-gradient(0deg, #ffffff55 0 1px, transparent 1px 3px);
  clip-path: inset(var(--mythic-signal-noise-top, 50%) 0 var(--mythic-signal-noise-bottom, 50%) 0);
  opacity: .32;
}
@keyframes mythic-signal {
  0%, 80%, 100% {
    --mythic-signal-cut: linear-gradient(#000, #000);
    --mythic-signal-top-a: 50%; --mythic-signal-bottom-a: 50%;
    --mythic-signal-top-b: 50%; --mythic-signal-bottom-b: 50%;
    --mythic-signal-shift-a: 0px; --mythic-signal-shift-b: 0px;
    --mythic-signal-noise-top: 50%; --mythic-signal-noise-bottom: 50%;
  }
  8% {
    --mythic-signal-cut: linear-gradient(to bottom, #000 24%, transparent 24% 28%, #000 28% 61%, transparent 61% 66%, #000 66%);
    --mythic-signal-top-a: 24%; --mythic-signal-bottom-a: 72%;
    --mythic-signal-top-b: 61%; --mythic-signal-bottom-b: 34%;
    --mythic-signal-shift-a: -12px; --mythic-signal-shift-b: 8px;
    --mythic-signal-noise-top: 27%; --mythic-signal-noise-bottom: 72.5%;
  }
  45% {
    --mythic-signal-cut: linear-gradient(to bottom, #000 39%, transparent 39% 43%, #000 43% 78%, transparent 78% 81%, #000 81%);
    --mythic-signal-top-a: 39%; --mythic-signal-bottom-a: 57%;
    --mythic-signal-top-b: 78%; --mythic-signal-bottom-b: 19%;
    --mythic-signal-shift-a: 14px; --mythic-signal-shift-b: -9px;
    --mythic-signal-noise-top: 42%; --mythic-signal-noise-bottom: 57.5%;
  }
}
html.mythic-site .mythic-signal-toggle {
  position: absolute;
  right: 16px;
  top: 14px;
  z-index: 2;
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid #8586e8;
  border-radius: 0;
  background: #1012c8;
  color: #fff;
  font: 10px/1.5 var(--mono);
  cursor: pointer;
}
html.mythic-site .mythic-signal-toggle:hover { background: #2528d6; }
html.mythic-site .mythic-signal-toggle:focus-visible { outline-color: #fff; }
html.mythic-site .mythic-signal-toggle[hidden] { display: none !important; }
@media (max-width: 760px) {
  html.mythic-site .mythic-signal-toggle { min-height: 44px; right: 8px; top: auto; bottom: 4px; }
}
@media print, (prefers-reduced-motion: reduce) {
  html.mythic-site .mythic-signal-ready { animation: none !important; }
  html.mythic-site .mythic-signal-ready > img:not(.mythic-signal-slice) { mask-image: none !important; }
  html.mythic-site .mythic-signal-ready > .mythic-signal-slice,
  html.mythic-site .mythic-signal-ready > .mythic-signal-noise,
  html.mythic-site .mythic-signal-toggle { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  html.mythic-site *, html.mythic-site *::before, html.mythic-site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  html.mythic-site :is(.nav, .mythic-engraving, .mobile-booking) { display: none !important; }
}
