/* KECB Live Intelligence R5 host integration bundle — R101 audit/QA closure */
/* integrated source: /assets/kecb-tokens.css */
@layer legacy, system, kecb;
/* KECB Design System — active runtime contract, DEPLOY-780.
   One token vocabulary owns the public visual system. Component selectors live
   in kecb-system.v20260901-780r88.css; legacy family styles consume these aliases. */
html:root {
  /* Type scale: 7 steps. No rendered text may migrate below meta (14px). */
  --kecb-type-meta: 0.875rem;
  --kecb-type-small: 0.9375rem;
  --kecb-type-body: 1rem;
  --kecb-type-h4: 1.125rem;
  --kecb-type-h3: clamp(1.28rem, 2vw, 1.5rem);
  --kecb-type-h2: clamp(1.7rem, 3vw, 2.35rem);
  --kecb-type-h1: clamp(2.1rem, 4vw, 3.5rem);

  /* Weight roles. */
  --kecb-weight-regular: 400;
  --kecb-weight-medium: 600;
  --kecb-weight-strong: 750;
  --kecb-weight-display: 850;

  /* Canonical palette: brand, neutral, data, and state colors. */
  --kecb-color-black: #0b0e10;
  --kecb-color-black-raised: #111518;
  --kecb-color-ink: #17191a;
  --kecb-color-ink-soft: #50565a;
  --kecb-color-paper: #fffdf9;
  --kecb-color-paper-warm: #f7f1e8;
  --kecb-color-paper-soft: #f2ece3;
  --kecb-color-line: #ded6ca;
  --kecb-color-line-strong: #c7b9a5;
  --kecb-color-brass: #b88a48;
  --kecb-color-brass-deep: #7f5c29;
  --kecb-color-oxblood: #7d3028;
  --kecb-color-slate: #485760;
  --kecb-color-data-navy: #203d54;
  --kecb-color-white: #ffffff;
  --kecb-color-copy-on-dark: #e5ddd2;
  --kecb-color-success: #356859;
  --kecb-color-warning: #8a5a15;
  --kecb-color-danger: #8b2f2f;
  --kecb-color-info: #315a78;

  /* Semantic color ownership. Components consume these, not raw hex. */
  --kecb-surface-page: var(--kecb-color-paper);
  --kecb-surface-warm: var(--kecb-color-paper-warm);
  --kecb-surface-soft: var(--kecb-color-paper-soft);
  --kecb-surface-dark: var(--kecb-color-black);
  --kecb-surface-dark-raised: var(--kecb-color-black-raised);
  --kecb-text-primary: var(--kecb-color-ink);
  --kecb-text-secondary: var(--kecb-color-ink-soft);
  --kecb-text-on-dark: var(--kecb-color-paper);
  --kecb-text-on-dark-secondary: var(--kecb-color-copy-on-dark);
  --kecb-text-on-action: #fff8ef;
  --kecb-text-on-action-secondary: #f3dfcf;
  --kecb-action-primary: var(--kecb-color-oxblood);
  --kecb-accent: var(--kecb-color-brass);
  --kecb-border: var(--kecb-color-line);
  --kecb-border-strong: var(--kecb-color-line-strong);

  /* Eyebrow/kicker role ownership. These aliases resolve the role once;
     runtime adoption remains blocked until family browser baselines exist. */
  --kecb-eyebrow-on-light: var(--kecb-color-brass-deep);
  --kecb-eyebrow-on-dark: var(--kecb-color-brass);

  /* Spacing scale. */
  --kecb-space-1: 0.375rem;
  --kecb-space-2: 0.75rem;
  --kecb-space-3: 1rem;
  --kecb-space-4: 1.25rem;
  --kecb-space-5: 2.25rem;
  --kecb-space-6: 3.5rem;
  --kecb-space-7: 4rem;

  /* Radius scale: maximum five values, including square and pill. */
  --kecb-radius-none: 0;
  --kecb-radius-sm: 3px;
  --kecb-radius-control: 4px;
  --kecb-radius-card: 5px;
  --kecb-radius-pill: 999px;

  /* Shadow scale: maximum five values. */
  --kecb-shadow-none: none;
  --kecb-shadow-low: 0 1px 2px rgba(11, 14, 16, 0.08);
  --kecb-shadow-card: 0 4px 14px rgba(11, 14, 16, 0.10);
  --kecb-shadow-float: 0 10px 30px rgba(11, 14, 16, 0.14);
  --kecb-shadow-modal: 0 18px 54px rgba(11, 14, 16, 0.18);

  /* Runtime layout roles. */
  --kecb-page-gutter: clamp(1.25rem, 4vw, 3rem);
  --kecb-page-gutter-compact: clamp(1rem, 4vw, 1.25rem);
  --kecb-content-max: 1180px;
  --kecb-reading-measure-narrow: 56ch;
  --kecb-reading-measure-wide: 76ch;
  --kecb-control-height: 2.5rem;
  --kecb-control-height-compact: 2.25rem;

  /* Compatibility aliases. They resolve old family names to this one contract. */
  --kecb-ink: var(--kecb-color-ink);
  --kecb-ink-soft: var(--kecb-color-ink-soft);
  --kecb-paper: var(--kecb-color-paper);
  --kecb-paper-strong: var(--kecb-color-white);
  --kecb-paper-warm: var(--kecb-color-paper-warm);
  --kecb-paper-soft: var(--kecb-color-paper-soft);
  --kecb-line: var(--kecb-color-line);
  --kecb-line-strong: var(--kecb-color-line-strong);
  --kecb-brass: var(--kecb-color-brass);
  --kecb-gold: var(--kecb-color-brass);
  --kecb-rust: var(--kecb-color-oxblood);
  --kecb-rust-deep: var(--kecb-color-oxblood);
  --kecb-navy: var(--kecb-color-black);
  --kecb-navy-deep: var(--kecb-color-black);
  --kecb-navy-data: var(--kecb-color-data-navy);
  --kecb-slate: var(--kecb-color-slate);
  --kecb-surface: var(--kecb-surface-page);
  --kecb-surface-raised: var(--kecb-color-white);
  --kecb-surface-paper: var(--kecb-surface-page);
  --kecb-group-surface: var(--kecb-surface-warm);
  --kecb-group-line: var(--kecb-border);
  --kecb-text-floor: var(--kecb-type-meta);
  --kecb-visible-text-floor: var(--kecb-type-meta);
  --kecb-chrome-floor: var(--kecb-type-meta);
  --kecb-reading: var(--kecb-reading-measure);
  --kecb-reading-width: var(--kecb-reading-measure);
  --kecb-wide-reading-width: var(--kecb-reading-measure-wide);
  --kecb-content: var(--kecb-content-max);
  --kecb-max: var(--kecb-content-max);
  --kecb-radius: var(--kecb-radius-card);
  --kecb-radius-lg: var(--kecb-radius-card);
  --kecb-shadow-sm: var(--kecb-shadow-low);
  --kecb-shadow-md: var(--kecb-shadow-card);
  --kecb-focus: var(--kecb-color-brass);

  /* Breakpoint reference tokens. CSS custom properties cannot be used inside
     @media conditions; migrations must use these exact literal values. */
  --kecb-breakpoint-1: 420px;
  --kecb-breakpoint-2: 560px;
  --kecb-breakpoint-3: 700px;
  --kecb-breakpoint-4: 760px;
  --kecb-breakpoint-5: 900px;
  --kecb-breakpoint-6: 1050px;
  --kecb-breakpoint-7: 1180px;
  --kecb-breakpoint-8: 1280px;

  /* Layout measures. */
  --kecb-reading-measure: 68ch;
  --kecb-working-width: 960px;
  --kecb-discovery-width: 1180px;
}


/* DEPLOY-780 responsive token resolution. Tokens are intentionally unlayered,
   so responsive ownership stays in the token contract rather than relying on a
   lower-priority component layer to redefine them. */
@media (max-width: 560px) {
  html:root { --kecb-page-gutter: var(--kecb-page-gutter-compact); }
}
/* integrated source: /assets/kecb-system.v20260901-780r88.css */
/* KECB systematic runtime visual contract — DEPLOY-780 */
@layer legacy, system;
@layer system {
  html { color-scheme: light; background: var(--kecb-surface-page); font-size: 16px; }
  body {
    margin: 0;
    background: var(--kecb-surface-page);
    color: var(--kecb-text-primary);
    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: var(--kecb-type-body);
    line-height: 1.55;
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%;
  }
  *, *::before, *::after { box-sizing: border-box; }
  img, svg, video, canvas { max-inline-size: 100%; }
  img, video { block-size: auto; }

  :where(h1,h2,h3,h4) { text-wrap: balance; }
  :where(h1) { font-size: var(--kecb-type-h1); }
  :where(h2) { font-size: var(--kecb-type-h2); }
  :where(h3) { font-size: var(--kecb-type-h3); }
  :where(h4) { font-size: var(--kecb-type-h4); }
  :where(p,li,dd,dt,label,small,figcaption,caption,th,td,summary) { line-height: 1.5; }
  :where(label,small,figcaption,caption) { font-size: var(--kecb-type-meta); }
  :where(main p, main dd, main blockquote) { max-inline-size: var(--kecb-reading-measure); }
  :where(main .lede,main .lead,main .deck,main [class*="-lead"],main [class*="-deck"]) { max-inline-size: var(--kecb-reading-measure-wide); }

  :where(.eyebrow,.kicker,.meta,.overline,[class*="eyebrow"],[class*="kicker"],[class*="-meta"],[class*="__meta"]) {
    font-size: var(--kecb-type-meta);
    line-height: 1.35;
  }
  :where(.surface-light,[class*="surface-light"],[class*="-light"]) :where(.eyebrow,.kicker,[class*="eyebrow"],[class*="kicker"]) { color: var(--kecb-eyebrow-on-light); }
  :where(.surface-dark,[class*="surface-dark"],[class*="-dark"]) :where(.eyebrow,.kicker,[class*="eyebrow"],[class*="kicker"]) { color: var(--kecb-eyebrow-on-dark); }

  :where(button,input,select,textarea) { font: inherit; }
  :where(button,input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea,
         .btn,.button,[class$="-button"],[class$="__button"],[class~="button"]) {
    min-block-size: var(--kecb-control-height);
    border-radius: var(--kecb-radius-control);
    font-size: var(--kecb-type-small);
  }
  :where(button,.btn,.button,[class$="-button"],[class$="__button"],[class~="button"]) {
    font-weight: var(--kecb-weight-medium);
  }
  :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea) {
    border-color: var(--kecb-border-strong);
    background: var(--kecb-color-white);
  }
  :where(button,a,input,select,textarea,summary):focus-visible {
    outline: 3px solid var(--kecb-focus);
    outline-offset: 2px;
  }

  :where(.card,[class$="-card"],[class$="__card"],[class~="card"],.panel,[class$="-panel"],[class$="__panel"]) {
    border-radius: var(--kecb-radius-card);
  }
  :where(dialog,[role="dialog"],.modal,[class*="modal"],.popover,[class*="popover"],.dropdown,[class*="dropdown"]) {
    border-radius: var(--kecb-radius-card);
    box-shadow: var(--kecb-shadow-float);
  }

  :where(table) { border-color: var(--kecb-border); }
  :where(hr) { border: 0; border-block-start: 1px solid var(--kecb-border); }

  /* Explicit layout primitives for all new and migrated markup. */
  .kecb-shell { inline-size: min(var(--kecb-content-max), calc(100% - 2 * var(--kecb-page-gutter))); margin-inline: auto; }
  .kecb-reading-column { inline-size: min(100%, var(--kecb-reading-measure)); }
  .kecb-reading-column--narrow { inline-size: min(100%, var(--kecb-reading-measure-narrow)); }
  .kecb-reading-column--wide { inline-size: min(100%, var(--kecb-reading-measure-wide)); }
  .kecb-fullbleed { inline-size: 100%; max-inline-size: none; }
  .kecb-inset { padding-inline: var(--kecb-page-gutter); }

  @media (max-width: 560px) {
    :root { --kecb-page-gutter: var(--kecb-page-gutter-compact); }
    :where(button,input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea) { min-block-size: 2.75rem; }
  }
}

@layer system {
  /* Shared header owns remaining horizontal space instead of forcing a 100% nav beside the brand. */
  .site-header-v3 > .main-nav-v3,
  .site-header > .main-nav-v3 {
    flex: 1 1 auto;
    inline-size: auto;
    min-inline-size: 0;
    max-inline-size: none;
  }
}

/* DEPLOY-780 systematic edge alignment */
@layer system {
  /*
    Outer-gutter contract: full-bleed section backgrounds remain full width, while
    their content wrappers share one safe alignment line. Existing family max-widths
    continue to win; this only guarantees that a wrapper cannot hug the viewport.
  */
  :where(
    .k2-wrap,.bar2-wrap,.vp-wrap,.spx-wrap,.speakeasy-wrap,.kitchen-wrap,
    .tool-suite-wrap,.edu-wrap,.upgrade-wrap,.system-wrap,.dt-wrap,
    .book-first-wrap,.tonight-wrap,.audience-hub-wrap,.dl-wrap,.artist-halls-wrap,
    .founder-page-wrap,.pulse-wrap,.emerging-wrap,.dir-wrap,.review-wrap,
    .front-door-wrap,.member-account-wrap,.tool-guides-wrap,.content-width,
    .path-start-summary,.path-resume-banner
  ) {
    width: calc(100% - (2 * var(--kecb-page-gutter)));
    margin-inline: auto;
  }

  /* Pages whose main element is itself the content wrapper. */
  :where(
    main.wrap,main.tool-page.wrap,main.tools-index.wrap,main.page-main,
    main.start-here-main,main.simple-help-main,main.calendar-guide,
    main.review-wrap,main.si-wrap,main.front-door-main,
    main.sh-shell,main.tool-guides-main
  ) {
    width: calc(100% - (2 * var(--kecb-page-gutter)));
    margin-inline: auto;
  }

  /* Book readers are a special two-column shell. Keep the rail, but give the
     whole reader breathing room instead of letting the rail/card sit on the edge. */
  main.chapter-layout {
    width: calc(100% - (2 * var(--kecb-page-gutter)));
    margin-inline: auto;
  }
  .chapter-main {
    padding-inline: clamp(1rem, 2.2vw, 2rem);
  }
  .chapter-main > :where(.breadcrumbs,.chapter-tools,.chapter-content,.chapter-pager),
  .chapter-main > article > :where(.chapter-connected-learning,.chapter-connect-cta,.chapter-work-panel,.kecb-semantic-related,.kecb-cross-craft-bridge) {
    margin-inline: auto;
  }

  /* Dense article/recipe families that historically relied on 0–16px outer
     offsets receive the same minimum edge protection without changing their
     reading measure or card widths. */
  :where(main.recipe-page,main.kitchen-article,main.fs-article,main.expansion-main,main.dt-tool-page) {
    width: calc(100% - (2 * var(--kecb-page-gutter)));
    margin-inline: auto;
  }

  @media (max-width: 760px) {
    main.chapter-layout { width: 100%; }
    .chapter-main { padding-inline: var(--kecb-page-gutter); }
  }
}

/* DEPLOY-780 off-canvas reader containment */
@layer system {
  @media (max-width: 1050px) {
    /* A closed table-of-contents rail must be visually and accessibly absent,
       not merely translated beyond the viewport. */
    .book-sidebar:not(.open) {
      visibility: hidden;
      pointer-events: none;
    }
    .book-sidebar.open {
      visibility: visible;
      pointer-events: auto;
    }
  }
}

/* DEPLOY-780 related-content alignment */
@layer system {
  main > :is(.kecb-related,.kecb-related-links,.tool-related-next,.kecb-semantic-related) {
    width: min(var(--kecb-content-max), calc(100% - (2 * var(--kecb-page-gutter))));
    margin-inline: auto;
  }
}


/* DEPLOY-780 final systematic composition closure */
@layer system {
  /* Component contrast owns its own surface. A dark action cannot inherit the
     generic light-surface eyebrow color from an ancestor. */
  .tonight-pr-menu > summary { color: var(--kecb-text-on-action); }
  .tonight-pr-menu > summary .tonight-pr-kicker { color: var(--kecb-text-on-action); }
  .tonight-pr-menu > summary .tonight-pr-prompt { color: var(--kecb-text-on-action-secondary); }
  .tonight-pr-menu > summary .tonight-pr-toggle { color: var(--kecb-text-on-action); }

  /* Pulse sections already contain .pulse-wrap. Keep a single gutter owner so
     the page aligns with the rest of the site instead of double-insetting. */
  main.pulse-main { width: 100%; margin-inline: 0; }

  /* The statewide explorer is a content surface, not a full-bleed background.
     Keep the map, heading, and explanatory copy on the shared content line. */
  main > .verified-texas-explorer {
    width: calc(100% - (2 * var(--kecb-page-gutter)));
    margin-inline: auto;
  }

  /* Injected cross-craft continuity belongs to the same reading shell as the
     content it follows; it may never sit on the viewport edge. */
  main > .kecb-cross-craft-bridge {
    width: min(var(--kecb-reading-measure), calc(100% - (2 * var(--kecb-page-gutter))));
    margin-inline: auto;
  }

  /* Method notes sit outside Booking Intelligence's older .bi-main wrapper.
     Give this direct child the same outer contract explicitly. */
  body.booking-intelligence-page main > [data-bi-method-notes] {
    width: min(var(--kecb-content-max), calc(100% - (2 * var(--kecb-page-gutter))));
    margin-inline: auto;
  }

  /* Large display type stays authoritative without becoming bulky. */
  main h1 { max-inline-size: 22ch; }
}


/* DEPLOY-780 nested mobile wrapper containment */
@layer system {
  @media (max-width: 760px) {
    /* Some legacy families already pad <main> on mobile. Their inner 92–94vw
       wrappers must size to that content box, not to the viewport again. */
    main > .fs-hero .fs-shell,
    main.expansion-main > .wrap,
    main.expansion-main > section > .wrap {
      width: 100%;
      max-inline-size: 100%;
      margin-inline: auto;
    }
    main.expansion-main { padding-inline: 0; }
    body.booking-intelligence-page main > [data-bi-method-notes] { width: 100%; }
  }
}

/* DEPLOY-780 shadow vocabulary closure */
@layer system {
  /* Depth communicates hierarchy only. Decorative inset lines/rings belong to
     borders and state color, not to a second shadow language. */
  :where(.tonight-hero,.sh-hero,.dir-hero,.visual-hero,.artist-halls-hero,.emerging-hero,.dl-hero,.vp-hero),
  :where(input,select,textarea),
  :where(button.is-active,.button.secondary,.spx-button.secondary),
  :where(.card-icon) {
    box-shadow: var(--kecb-shadow-none);
  }
  .pr-library-excerpt--feature { box-shadow: var(--kecb-shadow-card); }
}

/* DEPLOY-780 R88 — browser-measured contrast closure */
@layer system {
  /* Light education heroes must own light-surface text, not legacy on-dark text. */
  .edu-hero.surface-light h1 { color: var(--kecb-text-primary); }
  .edu-hero.surface-light .edu-facts dt { color: var(--kecb-eyebrow-on-light); }

  /* Academy reference/navigation controls sit on a light hero in the active runtime. */
  body.school-page .fs-hero.surface-light .fs-btn:not(.primary) {
    color: var(--kecb-text-primary);
    background: var(--kecb-color-white);
    border-color: var(--kecb-border-strong);
  }

  /* Selected Booking Intelligence mode is a dark action surface. */
  body.booking-intelligence-page .bi-action[aria-pressed="true"] {
    color: var(--kecb-text-on-action);
  }

  /* Expansion bands are light in the consolidated surface system. */
  .expansion-band > .wrap > .section-lead,
  .expansion-band > .wrap > .field-checklist li {
    color: var(--kecb-text-primary);
  }

  /* Number badges own a dark oxblood/red surface across the current system-step family. */
  .system-step > .step-number { color: var(--kecb-text-on-action); }
}

/* DEPLOY-780 R106 — keyboard bypass consistency */
@layer system {
  :where(.skip-link) {
    position: fixed;
    inset-block-start: .5rem;
    inset-inline-start: .5rem;
    z-index: 10000;
    transform: translateY(calc(-100% - 1.5rem));
    padding: .65rem .9rem;
    border: 2px solid var(--kecb-focus);
    border-radius: var(--kecb-radius-control);
    background: var(--kecb-color-white);
    color: var(--kecb-text-primary);
    font-size: var(--kecb-type-small);
    font-weight: var(--kecb-weight-bold, 700);
    text-decoration: none;
  }
  :where(.skip-link):focus,
  :where(.skip-link):focus-visible { transform: translateY(0); }
}

/* KECB R110 — Answer First / Depth on Demand global closures */
@layer system {
  .task-first-nav{gap:.12rem}
  .task-first-nav>.task-nav-link{white-space:nowrap}
  .task-more-menu .audience-tree-label{display:block;margin:.55rem .65rem .2rem;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
  .ux-breadcrumb{width:min(1180px,calc(100% - 2rem));margin:.7rem auto 0;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font:700 14px/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#655a52}
  .ux-breadcrumb a{color:#5f241d;text-underline-offset:3px}
  .ux-breadcrumb [aria-current="page"]{color:#4b4540}
  .tools-family-card>a:focus-visible{outline:0;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 5px var(--kecb-focus-ring,#9c4b2c);border-radius:inherit}
  .academy-full-details details>summary:focus-visible,.guide-full-details details>summary:focus-visible{outline:0;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 5px var(--kecb-focus-ring,#9c4b2c);border-radius:6px}
  body.edu-page .edu-hero.surface-dark :is(h1,h2,h3,strong){color:#fff4e2}
  body.edu-page .edu-hero.surface-dark :is(.edu-kicker,.edu-lead,p,li,dd,small){color:#f1e7dc}
  body.edu-page .edu-hero.surface-dark a{color:#fff4e2}
  .theme-speakeasy .spx-section:not(.spx-dark):not(.spx-rust) .spx-kicker,.page-speakeasy .spx-section:not(.spx-dark):not(.spx-rust) .spx-kicker{color:#6b2f21}
  body.kitchen-page .k2-section:not(.k2-dark)>.k2-wrap>.eyebrow,body.kitchen-page .k2-section:not(.k2-dark) .k2-kicker{color:#6b2f21}
  .kitchen-mark{color:#fff;background:#5f241d}
  body .role-field-centers a[href="/directory/"],body .field-center-strip a[href="/directory/"]{color:#5f241d}
  body.dance-halls-page span.section-number,body.dance-halls-page .section-number{color:#6b2f21}
  .vp-live-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:1rem}
  .vp-live-actions a{display:inline-flex;align-items:center;min-height:40px;padding:.48rem .68rem;border:1px solid currentColor;border-radius:var(--kecb-radius-card);color:inherit;text-decoration:none;font-weight:800}
}
@media(max-width:760px){
  @layer system {
    .task-first-nav{display:none}
    .audience-mobile-actions{display:none}
    .ux-breadcrumb{width:min(100% - 1.5rem,1180px);margin-top:.45rem;font-size:14px}
    .vp-live-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}
    .vp-live-actions a{min-height:42px;padding:.42rem .35rem;justify-content:center;text-align:center;font-size:14px}
  }
}
@layer system {
  .kecb-handoff-inner{position:relative}
  .kecb-handoff-dismiss{position:absolute;top:.35rem;right:.35rem;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(16,35,63,.18);border-radius:8px;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer}
  .kecb-handoff-dismiss:hover,.kecb-handoff-dismiss:focus-visible{background:rgba(16,35,63,.08)}
  .kecb-handoff[hidden]{display:none}
}
@layer system {
  body.edu-page .edu-facts-disclosure{max-width:1180px;margin:.7rem auto;padding:0 1rem}
  body.edu-page .edu-facts-disclosure>summary{display:flex;align-items:center;min-height:44px;padding:.55rem .75rem;border:1px solid rgba(16,35,63,.18);border-radius:var(--kecb-radius-card);background:#fffaf4;color:#10233f;cursor:pointer;font-weight:850;list-style:none}
  body.edu-page .edu-facts-disclosure>summary::-webkit-details-marker{display:none}
  body.edu-page .edu-facts-disclosure-body{margin-top:.5rem;padding:.75rem;border:1px solid rgba(16,35,63,.12);border-radius:var(--kecb-radius-card);background:#fff}
  body.edu-page .edu-facts-disclosure-body dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
}
@media(max-width:700px){@layer system{
  body.edu-page .edu-hero{padding-top:1rem;padding-bottom:1rem;min-height:0}
  body.edu-page .edu-facts-disclosure{margin:.5rem auto;padding:0 .75rem}
  body.edu-page .edu-facts-disclosure-body dl{grid-template-columns:1fr 1fr}
}}
/* KECB R110 — residual measured contrast closure */
@layer system {
  body.kitchen-page .k2-hero.surface-light .eyebrow { color:#6b2f21; }
  body.library-page .home-directory-callout a[href="/directory/"] { color:#5f241d; }
  body.heritage-page .heritage-trust-cards article>span { color:#6b2f21; }
}
/* KECB R110 — measured contrast/focus rules must remain unlayered so they can
   correct legacy unlayered family bundles without forceful override flags. */
body.theme-speakeasy .spx-kicker { color:#6b2f21; }
body.kitchen-page .k2-hero.surface-light .eyebrow { color:#6b2f21; }
body.library-page .home-directory-callout a[href="/directory/"] { color:#5f241d; }
body.kitchen-page .kitchen-mark { color:#fff; background:#5f241d; }
body .academy-full-details details>summary:focus-visible,
body .guide-full-details details>summary:focus-visible {
  outline:0;
  box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 5px var(--kecb-focus-ring,#9c4b2c);
  border-radius:6px;
}

/* KECB R111 SITEWIDE CONTAINMENT MERGE */
/* KECB DEPLOY-780 R111 — mobile containment and safe-edge closure */
/* Header More menu: anchor inward at the right edge and scroll inside the viewport. */
.site-header-v3 .nav-more{position:relative}
.site-header-v3 .nav-more-menu{inset-inline-start:auto;inset-inline-end:0;left:auto;right:0;max-inline-size:min(360px,calc(100vw - 1rem));max-block-size:calc(100dvh - 4.75rem);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}

:where(.kecb-handoff,.kecb-handoff-inner,.kecb-handoff nav,.vp-live-actions,.vp-related-nav,.vp-related-nav-links,.entity-profile-nav-wrap,.entity-profile-nav,.vad-controls,.vad-tabs,.ux-discovery-rail,.ux-more-actions,[role="tablist"]){box-sizing:border-box;min-inline-size:0;max-inline-size:100%}
.kecb-handoff{inline-size:100%;max-inline-size:100%;overflow:clip}
.kecb-handoff-inner{inline-size:min(1180px,100%);max-inline-size:100%;box-sizing:border-box}
.kecb-handoff p{min-inline-size:0;max-inline-size:100%}
.kecb-handoff p strong{min-inline-size:0;max-inline-size:100%}
.kecb-handoff nav{min-inline-size:0;max-inline-size:100%}
.kecb-handoff-quiet{background:color-mix(in srgb,#fff 99%,#d8c7a5 1%)}
.kecb-handoff-quiet .kecb-handoff-inner{padding-block:.42rem}
.vp-live-actions,.vp-related-nav-links{max-inline-size:100%}
.vp-live-actions a,.vp-related-nav-links a{min-inline-size:0;overflow-wrap:anywhere}
main :where(select,input:not([type="checkbox"]):not([type="radio"]),textarea){max-inline-size:100%;box-sizing:border-box}
@media(max-width:760px){
  .kecb-handoff-inner{inline-size:100%;max-inline-size:100%;padding-inline-start:max(.75rem,env(safe-area-inset-left));padding-inline-end:max(.75rem,env(safe-area-inset-right));margin-inline:0}
  .kecb-handoff p{inline-size:100%;max-inline-size:calc(100% - 2.4rem)}
  .kecb-handoff nav{inline-size:100%;max-inline-size:100%;margin-inline:0;padding:.04rem 1px .18rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-padding-inline:0;scrollbar-width:thin;justify-content:flex-start;flex-wrap:nowrap}
  .kecb-handoff nav>*{flex:0 0 auto;max-inline-size:none}
  .kecb-handoff-dismiss{inset-inline-end:max(.35rem,env(safe-area-inset-right))}
  .vp-live-actions{inline-size:100%;max-inline-size:100%;margin-inline:0}
  .vp-live-actions a{inline-size:auto;max-inline-size:100%}
  .vp-related-nav,.vp-related-nav-links,.entity-profile-nav-wrap,.entity-profile-nav,.vad-controls,.vad-tabs,.ux-discovery-rail,.ux-more-actions,[role="tablist"]{inline-size:100%;max-inline-size:100%;margin-inline-start:0;margin-inline-end:0}
  .entity-profile-nav,.vad-tabs,.ux-discovery-rail,[role="tablist"]{overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-padding-inline:.25rem}
  .entity-profile-nav>*:first-child,.vad-tabs>*:first-child,.ux-discovery-rail>*:first-child,[role="tablist"]>*:first-child{margin-inline-start:0}
  .ux-discovery-rail{padding-inline:max(.75rem,env(safe-area-inset-left)) max(.75rem,env(safe-area-inset-right))}
  main :where(nav,details,summary,[class*="switcher"],[class*="view-menu"],[class*="view-selector"]){max-inline-size:100%;box-sizing:border-box}
  main :is([class*="switcher"],[class*="view-menu"],[class*="view-selector"]){inline-size:min(100%,calc(100vw - 1.5rem));margin-inline-start:0;margin-inline-end:0}

  body.booking-intelligence-page .bi-tabs{inline-size:100%;max-inline-size:100%;margin-inline:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;flex-wrap:nowrap;justify-content:flex-start;scroll-padding-inline:.25rem}
  body.booking-intelligence-page .bi-tabs>*{flex:0 0 auto;max-inline-size:none}
  body.booking-intelligence-page .bi-tabs>*:first-child{margin-inline-start:0}
}
@media(max-width:420px){
  .vp-live-actions{grid-template-columns:1fr 1fr}
  .vp-live-actions a:last-child:nth-child(odd){grid-column:1/-1}
}

@media(max-width:820px){
  main :is([class*="switcher"],[class*="view-menu"],[class*="view-selector"]){inline-size:min(100%,calc(100vw - 1.5rem));max-inline-size:100%;box-sizing:border-box;margin-inline-start:0;margin-inline-end:0}
}
/* integrated source: /assets/kecb-mobile-dock-base.v20260902-r101.css */
/* KECB R101 — canonical mobile dock base component.
   This file exists separately from the global visual bundle so consolidated
   flagship pages cannot accidentally retain only the context-marker rules. */
body .ux-mobile-dock{display:none}
@media(max-width:720px){
  body:has(.ux-mobile-dock){padding-bottom:76px}
  body .ux-mobile-dock{
    position:fixed;z-index:180;left:max(.5rem,env(safe-area-inset-left));right:max(.5rem,env(safe-area-inset-right));bottom:max(.5rem,env(safe-area-inset-bottom));
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.2rem;padding:.28rem;border:1px solid rgba(23,25,26,.16);border-radius:var(--kecb-radius-card,.65rem);
    background:rgba(255,253,249,.97);box-shadow:var(--kecb-shadow-card,0 8px 20px rgba(23,25,26,.14));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
  }
  body .ux-mobile-dock a,body .ux-mobile-dock button{
    display:grid;place-items:center;gap:.15rem;min-height:52px;padding:.26rem .12rem;border:0;border-radius:var(--kecb-radius-card,.65rem);background:transparent;color:var(--kecb-ink);
    font-size:max(var(--kecb-type-meta,14px), 14px);font-weight:750;line-height:1.05;text-decoration:none
  }
  body .ux-mobile-dock a:hover,body .ux-mobile-dock a:focus-visible{background:var(--kecb-paper-soft,#f4efe7);color:var(--kecb-ink,#17202a)}
  body .ux-mobile-dock a[aria-current="page"]{background:var(--kecb-ink,#11151a);color:#fff}
  body .ux-mobile-dock .ux-dock-icon{font-size:max(var(--kecb-type-meta,14px), 1rem);line-height:1;color:inherit}
}
@media print{body .ux-mobile-dock{display:none}}
/* integrated source: /assets/kecb-mobile-dock-context.v20260829-768.css */
@layer legacy {
/* DEPLOY-768 — sighted context state without false aria-current semantics or new priority overrides. */
@media(max-width:720px){
  html:root body .ux-mobile-dock a.is-context-current{position:relative}
  html:root body .ux-mobile-dock a.is-context-current::after{
    content:"";position:absolute;left:50%;bottom:4px;width:5px;height:5px;
    transform:translateX(-50%);border-radius:var(--kecb-radius-pill);background:var(--kecb-oxblood)
  }
}
}
/* integrated source: /assets/kecb-live-intelligence.v20260902-r5.css */
/* KECB Live Intelligence flagship visual system R5 · KECB institutional palette */
:root{--li-bg:#faf7f0;--li-brick:#9c2b2b;--li-rust-gold:#c17f3e;--li-paper:#fffdf9;--li-ink:#182130;--li-muted:#5f6670;--li-line:#ded7cb;--li-line-strong:#bdb3a4;--li-accent:#9c2b2b;--li-accent-deep:#762020;--li-gold:#c17f3e;--li-green:#35624b;--li-amber:#8a6332;--li-red:#9c2b2b;--li-blue:#10233f;--li-navy:#10233f;--li-shadow:var(--kecb-shadow-card);--li-radius:var(--kecb-radius-card);--li-radius-sm:var(--kecb-radius-control);--li-max:1120px;--li-serif:Georgia,'Times New Roman',serif;--li-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fffdf9 0,#faf7f0 45%,#f4efe5 100%);color:var(--li-ink);font-family:var(--li-sans);line-height:1.55}.site-header{min-height:62px;background:var(--li-navy);color:#fff;display:flex;align-items:center;gap:1rem;padding:.55rem max(1rem,calc((100vw - var(--li-max))/2));border-bottom:1px solid rgba(255,255,255,.14);position:relative;z-index:30}.audience-brand{display:inline-flex;align-items:center;gap:.28rem;text-decoration:none;color:#fff;font-weight:900;letter-spacing:.055em;white-space:nowrap}.brand-star{color:var(--li-gold)}.audience-path-nav{margin-left:auto;display:flex;align-items:center;gap:.28rem}.audience-nav{position:relative}.audience-nav>summary,.audience-path-nav>a{list-style:none;cursor:pointer;color:#f6f7fa;text-decoration:none;border-radius:var(--kecb-radius-card);padding:.45rem .58rem;font-size:.875rem;font-weight:750}.audience-nav>summary::-webkit-details-marker{display:none}.audience-nav[open]>summary,.audience-nav>summary:hover,.audience-path-nav>a:hover{background:rgba(255,255,255,.1)}.audience-tree{position:absolute;right:0;top:calc(100% + .35rem);min-width:230px;display:grid;gap:.08rem;padding:.45rem;background:#fff;color:var(--li-ink);border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);box-shadow:var(--li-shadow);z-index:40}.audience-tree a{padding:.5rem .6rem;border-radius:var(--kecb-radius-card);text-decoration:none;font-size:.875rem}.audience-tree a:hover{background:#f6f1e8}.audience-tree-label{font-size:.875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--li-muted);padding:.5rem .6rem .2rem}.skip-link:focus{left:1rem;top:1rem}.li-page a{color:inherit}.li-skip{position:absolute;left:-9999px}.li-skip:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.7rem 1rem;border-radius:var(--kecb-radius-card)}
.li-topbar{background:#10233f;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.li-topbar-inner{max-width:var(--li-max);margin:auto;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.15rem}.li-brand{display:inline-flex;gap:.28rem;align-items:center;text-decoration:none;font-weight:900;letter-spacing:.055em}.li-brand-star{color:#d9ad5c}.li-topnav{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.li-topnav a{font-size:.88rem;text-decoration:none;color:#f3eee6;padding:.45rem .65rem;border-radius:var(--kecb-radius-pill)}.li-topnav a:hover,.li-topnav a:focus-visible{background:rgba(255,255,255,.1)}
.li-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--li-line)}.li-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 82% 14%,rgba(167,123,53,.12),transparent 28%),radial-gradient(circle at 8% 100%,rgba(124,77,36,.08),transparent 34%);pointer-events:none}.li-shell{max-width:var(--li-max);margin:auto;padding-inline:1.15rem}.li-hero-inner{position:relative;padding:clamp(2.2rem,5vw,4.8rem) 0 clamp(1.8rem,4vw,3.2rem)}.li-eyebrow,.li-kicker{margin:0 0 .45rem;text-transform:uppercase;letter-spacing:.12em;font-size:.875rem;font-weight:900;color:var(--li-accent)}.li-hero h1{max-width:900px;margin:0;font-family:var(--li-serif);font-size:clamp(2.4rem,5vw,3.5rem);line-height:.95;letter-spacing:-.045em}.li-hero-deck{max-width:760px;margin:1rem 0 0;font-size:clamp(1.05rem,2vw,1.28rem);color:var(--li-muted)}.li-promise{display:inline-flex;align-items:center;gap:.55rem;margin-top:1rem;font-weight:800;color:var(--li-accent-deep);font-size:.93rem}.li-promise span{width:7px;height:7px;border-radius:var(--kecb-radius-pill);background:var(--li-gold);box-shadow:var(--kecb-shadow-card)}
.li-ask-wrap{position:relative;margin-top:1.55rem;max-width:920px}.li-ask{display:grid;grid-template-columns:1fr auto;gap:.55rem;padding:.55rem;background:var(--li-paper);border:1px solid var(--li-line-strong);border-radius:var(--kecb-radius-card);box-shadow:var(--li-shadow)}.li-ask input{width:100%;min-width:0;min-height:58px;border:0;background:transparent;padding:.7rem .85rem;font:inherit;font-size:1.06rem;color:var(--li-ink);outline:0}.li-ask input::placeholder{color:#8d867c}.li-ask:focus-within{border-color:var(--li-accent);box-shadow:var(--kecb-shadow-card)}.li-ask button{min-height:58px;border:0;border-radius:var(--kecb-radius-card);background:var(--li-ink);color:#fff;padding:.7rem 1.15rem;font:inherit;font-weight:900;cursor:pointer}.li-ask button:hover{background:#2d3337}.li-ask button:disabled{opacity:.65;cursor:wait}.li-ask-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}.li-ask-actions button{border:1px solid var(--li-line);background:rgba(255,253,249,.72);border-radius:var(--kecb-radius-pill);padding:.42rem .7rem;font:inherit;font-size:.875rem;font-weight:750;color:#433c34;cursor:pointer}.li-ask-actions button:hover{border-color:var(--li-accent);background:#fff}.li-ask-actions .li-clear{margin-left:auto;color:var(--li-muted)}
.li-modebar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:1rem 0 0}.li-modebar span{font-size:.875rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--li-muted)}.li-modebar button{border:0;background:transparent;padding:.35rem .2rem;font:inherit;font-size:.9rem;font-weight:800;color:var(--li-blue);cursor:pointer;text-decoration:underline;text-decoration-color:rgba(49,76,102,.25);text-underline-offset:3px}.li-modebar button:hover{text-decoration-color:currentColor}
.li-main{padding:1.2rem 0 4rem}.li-system-strip{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.72rem .9rem;margin-bottom:1rem;border:1px solid var(--li-line);background:rgba(255,253,249,.58);border-radius:var(--kecb-radius-card);color:var(--li-muted);font-size:.875rem}.li-status[data-tone=ready]{color:var(--li-green)}.li-status[data-tone=error],.li-status[data-tone=limited]{color:var(--li-red)}.li-progress{margin:0 0 1rem;border:1px solid #d8cab6;background:#fff8ed;border-radius:var(--kecb-radius-card);padding:.8rem 1rem;overflow:hidden;position:relative}.li-progress:after{content:'';position:absolute;left:0;bottom:0;height:3px;width:35%;background:linear-gradient(90deg,transparent,var(--li-accent),transparent);animation:liSweep 1.15s linear infinite}.li-progress strong{display:block;font-size:.9rem}.li-progress span{color:var(--li-muted);font-size:.875rem}@keyframes liSweep{from{transform:translateX(-110%)}to{transform:translateX(330%)}}@media(prefers-reduced-motion:reduce){.li-progress:after{animation:none;width:100%;opacity:.35}}
#liResult{display:grid;gap:1rem;scroll-margin-top:1rem}.li-answer{position:relative;border:1px solid var(--li-line);border-radius:var(--li-radius);background:var(--li-paper);padding:clamp(1.2rem,2.7vw,2rem);box-shadow:var(--li-shadow);overflow:hidden}.li-answer:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--li-blue)}.li-answer.is-strong:before{background:var(--li-green)}.li-answer.is-good:before{background:var(--li-gold)}.li-answer.is-limited:before{background:var(--li-amber)}.li-answer-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}.li-answer h2{max-width:860px;margin:.05rem 0 .55rem;font-family:var(--li-serif);font-size:clamp(1.75rem,4vw,3.15rem);line-height:1.02;letter-spacing:-.025em}.li-answer-summary{max-width:850px;margin:0;color:#4e4a44;font-size:1.02rem}.li-answer-mark{font-size:1.25rem;color:var(--li-gold);background:#f8efe0;border:1px solid #e3d2b5;width:42px;height:42px;display:grid;place-items:center;border-radius:var(--kecb-radius-pill)}.li-signal-label{display:inline-flex;margin:.85rem 0 0;background:#f6efe5;border:1px solid #e4d4bd;border-radius:var(--kecb-radius-pill);padding:.35rem .62rem;font-weight:850;font-size:.875rem;color:var(--li-accent-deep)}.li-boundary{margin:.75rem 0 0;font-size:.875rem;line-height:1.5;color:#716b62}.li-boundary-primary{border-top:1px solid var(--li-line);padding-top:.75rem}
.li-panel,.li-evidence-stack{border:1px solid var(--li-line);border-radius:var(--li-radius-sm);background:rgba(255,253,249,.92);padding:1rem 1.1rem}.li-panel h3,.li-evidence-stack h3{margin:.05rem 0 .55rem;font-family:var(--li-serif);font-size:1.35rem;line-height:1.15}.li-panel h4{margin:1rem 0 .5rem}.li-section-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.li-mini-note{font-size:.875rem;font-weight:800;color:var(--li-muted);border:1px solid var(--li-line);border-radius:var(--kecb-radius-pill);padding:.3rem .55rem;background:#fff}.li-muted{color:var(--li-muted);margin:.45rem 0}.li-plain-list{margin:.45rem 0 0;padding-left:1.15rem}.li-plain-list li+li{margin-top:.36rem}.li-why{border-left:4px solid var(--li-green)}.li-caution{border-left:4px solid var(--li-amber);background:#fffaf0}.li-gaps{border-left:4px solid var(--li-blue)}
.li-readiness-badge{white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:var(--kecb-radius-pill);border:1px solid var(--li-line);font-size:.875rem;font-weight:900;background:#fff}.li-readiness-badge.is-strong{color:var(--li-green);border-color:#a9c2b5;background:#f3faf6}.li-readiness-badge.is-good{color:#74501c;border-color:#d6bf96;background:#fff9ed}.li-readiness-badge.is-limited{color:#815033;border-color:#dfb49f;background:#fff7f3}.li-readiness-badge.is-insufficient{color:#6d625c;background:#f4f1ed}.li-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.8rem}.li-evidence-dim{border-top:1px solid var(--li-line);padding-top:.6rem}.li-evidence-label{display:flex;justify-content:space-between;gap:.6rem;font-size:.875rem}.li-evidence-label span{color:var(--li-muted)}.li-evidence-track{height:5px;margin:.38rem 0 .35rem;background:#e8e2d9;border-radius:var(--kecb-radius-pill);overflow:hidden}.li-evidence-track span{display:block;height:100%;background:linear-gradient(90deg,var(--li-accent),var(--li-gold));border-radius:var(--kecb-radius-pill)}.li-evidence-dim small{display:block;color:var(--li-muted);font-size:.875rem}
.li-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.li-stat-grid>div,.li-change-grid>div{padding:.8rem;border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);background:#fff}.li-stat-grid strong,.li-change-grid strong{display:block;font-family:var(--li-serif);font-size:1.3rem}.li-stat-grid span,.li-change-grid span{display:block;margin-top:.15rem;color:var(--li-muted);font-size:.875rem}.li-dna{background:linear-gradient(135deg,#fffdf9,#f8f0e4)}
.li-trace-list{list-style:none;margin:1rem 0 0;padding:0}.li-trace-list li{position:relative;display:grid;grid-template-columns:24px 1fr;gap:.55rem;padding-bottom:.92rem}.li-trace-list li:not(:last-child):before{content:'';position:absolute;left:7px;top:16px;bottom:-2px;width:1px;background:#cbbda8}.li-trace-dot{width:15px;height:15px;margin-top:.18rem;border-radius:var(--kecb-radius-pill);border:3px solid #f7f0e4;background:var(--li-accent);box-shadow:var(--kecb-shadow-card)}.li-trace-list time{display:block;color:var(--li-muted);font-size:.875rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.li-trace-list strong{display:block;font-size:.98rem}.li-trace-list span,.li-trace-list small{display:block;color:var(--li-muted);font-size:.875rem}.li-change-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:.8rem}
.li-opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.75rem}.li-opportunity-grid article{border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);background:#fff;padding:.8rem}.li-opportunity-grid strong,.li-opportunity-grid span,.li-opportunity-grid small{display:block}.li-opportunity-grid span{margin-top:.2rem;color:#514c45;font-size:.875rem}.li-opportunity-grid small{margin-top:.35rem;color:var(--li-muted);font-size:.875rem}
.li-route-legs{display:grid;gap:.5rem;margin:.75rem 0}.li-route-legs>div{display:flex;justify-content:space-between;gap:.8rem;border-bottom:1px solid var(--li-line);padding:.55rem 0}.li-route-legs span{color:var(--li-muted);font-size:.875rem}.li-room-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.li-room-chips>span{border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);background:#fff;padding:.65rem}.li-room-chips strong,.li-room-chips small{display:block}.li-room-chips small{margin-top:.18rem;color:var(--li-muted)}
.li-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.li-compare-side{border:1px solid var(--li-line);border-radius:var(--li-radius);background:#fffdf9;padding:1rem}.li-compare-side>h3{margin:0 0 .5rem;font-family:var(--li-serif);font-size:1.55rem}.li-compare-side .li-dna{border:0;padding:.8rem 0 0;background:transparent}.li-compare-side .li-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.li-evidence-drawer{border:1px solid var(--li-line-strong);border-radius:var(--li-radius-sm);background:#f9f4eb;overflow:hidden}.li-evidence-drawer summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1rem}.li-evidence-drawer summary::-webkit-details-marker{display:none}.li-evidence-drawer summary strong,.li-evidence-drawer summary small{display:block}.li-evidence-drawer summary small{margin-top:.15rem;color:var(--li-muted)}.li-evidence-body{border-top:1px solid var(--li-line);padding:1rem;background:#fffdf9}.li-evidence-table{display:grid;gap:.25rem}.li-evidence-table article{display:grid;grid-template-columns:110px 1fr auto;gap:.7rem;align-items:start;padding:.65rem 0;border-bottom:1px solid #ece5db}.li-evidence-table time{font-size:.875rem;font-weight:800;color:var(--li-muted)}.li-evidence-table strong,.li-evidence-table span,.li-evidence-table small{display:block}.li-evidence-table span,.li-evidence-table small{color:var(--li-muted);font-size:.875rem}.li-evidence-table a{font-size:.875rem;font-weight:850;color:var(--li-blue)}
.li-next{padding:1rem 0 .25rem}.li-next>div{display:flex;flex-wrap:wrap;gap:.45rem}.li-next button,.li-resolution-grid button{border:1px solid var(--li-line-strong);background:#fff;border-radius:var(--kecb-radius-card);padding:.55rem .7rem;font:inherit;font-weight:800;color:#2d3f51;cursor:pointer}.li-next button:hover,.li-resolution-grid button:hover{border-color:var(--li-blue);background:#f8fbfd}.li-resolution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.li-resolution-grid button{text-align:left}.li-resolution-grid strong,.li-resolution-grid span{display:block}.li-resolution-grid span{margin-top:.15rem;color:var(--li-muted);font-size:.875rem}
.site-footer{border-top:1px solid var(--li-line);background:#171a1d;color:#ece7de;padding:1rem max(1rem,calc((100vw - var(--li-max))/2));display:flex;justify-content:space-between;gap:1.25rem;align-items:center;font-size:.875rem}.footer-compact-brand strong{display:block}.footer-compact-brand p{margin:.15rem 0 0;color:#c8c1b7;max-width:620px}.footer-compact-nav nav{display:flex;gap:.7rem;flex-wrap:wrap}.footer-compact-nav a{color:#ece7de;text-decoration:none;font-weight:750}.footer-compact-nav a:hover,.footer-compact-nav a:focus-visible{text-decoration:underline;text-underline-offset:3px}.bottom-safe-space{height:env(safe-area-inset-bottom,0)}
@media(max-width:820px){.li-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.li-room-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.li-opportunity-grid{grid-template-columns:1fr}.li-change-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.li-evidence-grid{grid-template-columns:1fr}.li-compare-grid{grid-template-columns:1fr}.li-topnav a:nth-child(n+4){display:none}}
@media(max-width:620px){.li-topbar-inner{min-height:56px;padding-inline:.8rem}.li-topnav{gap:.15rem}.li-topnav a{padding:.35rem .45rem;font-size:.875rem}.li-shell{padding-inline:.8rem}.li-hero-inner{padding-top:1.7rem}.li-hero h1{font-size:clamp(2.35rem,10vw,3.4rem)}.li-ask{grid-template-columns:1fr}.li-ask button{min-height:48px}.li-ask input{min-height:50px;padding:.55rem .6rem}.li-ask-actions .li-clear{margin-left:0}.li-system-strip{align-items:flex-start;flex-direction:column}.li-answer-top{grid-template-columns:1fr}.li-answer-mark{display:none}.li-answer{padding:1rem}.li-section-head{align-items:flex-start}.li-stat-grid,.li-change-grid,.li-room-chips,.li-resolution-grid{grid-template-columns:1fr}.li-route-legs>div{flex-direction:column;gap:.1rem}.li-evidence-table article{grid-template-columns:1fr;gap:.2rem}.site-footer{align-items:flex-start;flex-direction:column}.footer-compact-nav nav{gap:.55rem}}
@media print{.li-topbar,.li-ask-wrap,.li-modebar,.li-system-strip,.li-progress,.li-next,.site-footer,.bottom-safe-space{display:none}body{background:#fff}.li-answer,.li-panel,.li-evidence-stack,.li-evidence-drawer{box-shadow:none;break-inside:avoid}.li-shell{max-width:none}}
.li-answer-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.li-answer-actions button{border:1px solid var(--li-line);background:#fff;border-radius:var(--kecb-radius-card);padding:.4rem .62rem;font:inherit;font-size:.875rem;font-weight:850;color:#4a443c;cursor:pointer}.li-answer-actions button:hover{border-color:var(--li-accent);color:var(--li-accent-deep)}@media print{.li-answer-actions{display:none}}
/* R5 evidence-transparency extensions */
.li-page button:focus-visible,.li-page a:focus-visible,.li-page input:focus-visible,.li-evidence-drawer summary:focus-visible{outline:3px solid rgba(49,76,102,.28);outline-offset:3px}
.li-answer-scope{display:flex;flex-wrap:wrap;gap:.45rem .85rem;margin:-.35rem 0 0;padding:.1rem .2rem;color:var(--li-muted);font-size:.875rem}.li-answer-scope span{display:inline-flex;gap:.25rem}.li-answer-scope strong{color:#4c4740}
.li-claim-ledger{background:linear-gradient(135deg,#fffdf9,#f7f2ea)}.li-claim-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-top:.75rem}.li-claim-grid article{min-width:0;border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);background:#fff;padding:.78rem}.li-claim-grid article>small{display:block;margin:.18rem 0 .55rem;color:var(--li-muted);font-size:.875rem;line-height:1.35}.li-claim-grid ul{margin:0;padding-left:1rem;font-size:.875rem}.li-claim-grid li+li{margin-top:.28rem}.li-claim-grid p{margin:.2rem 0 0;color:var(--li-muted);font-size:.875rem}.li-claim-type{display:inline-flex;border:1px solid var(--li-line-strong);border-radius:var(--kecb-radius-pill);padding:.2rem .45rem;font-size:.875rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:#f9f5ef}
.li-comparability-note{margin:.65rem 0 0;font-weight:750;font-size:.875rem;color:#4f4a43}.li-small-list{margin:.4rem 0 0;padding-left:1.1rem;color:var(--li-muted);font-size:.875rem}.li-small-list li+li{margin-top:.2rem}
.li-passport-intro{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;border-bottom:1px solid var(--li-line);padding:0 0 .65rem;margin-bottom:.35rem}.li-passport-intro strong{font-family:var(--li-serif);font-size:1.08rem}.li-passport-intro span{max-width:680px;color:var(--li-muted);font-size:.875rem;text-align:right}.li-passport-meta{margin-top:.18rem;color:#756e65}
@media(max-width:820px){.li-claim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.li-claim-grid{grid-template-columns:1fr}.li-passport-intro{align-items:flex-start;flex-direction:column;gap:.2rem}.li-passport-intro span{text-align:left}.li-answer-scope{display:grid}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.li-page *{scroll-behavior:auto;transition:none}}
@media print{.li-answer-scope{display:none}.li-claim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* R5 flagship intelligence depth */
.li-dna-deep{background:linear-gradient(145deg,#fffdf9,#f5eee2)}.li-dna-descriptors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.8rem 0}.li-dna-descriptors article{border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);background:rgba(255,255,255,.82);padding:.72rem}.li-dna-descriptors small{display:block;color:var(--li-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.06em}.li-dna-descriptors strong{display:block;margin-top:.2rem;font-size:.9rem;line-height:1.25}.li-dna-dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.li-dna-dimensions article{border-top:1px solid var(--li-line);padding:.65rem .1rem .1rem}.li-dna-dimensions strong{display:block;font:700 1.35rem/1 var(--li-serif)}.li-dna-dimensions span{display:block;margin-top:.25rem;font-weight:850;font-size:.875rem}.li-dna-dimensions small{display:block;margin-top:.2rem;color:var(--li-muted);font-size:.875rem;line-height:1.35}.li-dna-foot{margin:.8rem 0 0;font-size:.875rem;color:#4f4a43}
.li-why-now{border-left:4px solid var(--li-gold);background:linear-gradient(135deg,#fffaf0,#fffdf9)}.li-inline-chips{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.75rem}.li-inline-chips>strong{font-size:.875rem;margin-right:.15rem}.li-inline-chips>span{border:1px solid #dfd2bd;background:#fff;border-radius:var(--kecb-radius-pill);padding:.28rem .5rem;font-size:.875rem;font-weight:750}
.li-observed-corridor{overflow:hidden}.li-corridor-sequence{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin:.85rem 0;padding:.8rem;border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);background:#fbf7f0}.li-corridor-sequence strong{font:700 .95rem/1.1 var(--li-serif)}.li-corridor-sequence span{color:var(--li-gold)}.li-transition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.li-transition-grid article{border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);padding:.65rem;background:#fff}.li-transition-grid strong,.li-transition-grid span,.li-transition-grid small{display:block}.li-transition-grid span{margin-top:.18rem;font-size:.875rem}.li-transition-grid small{margin-top:.18rem;color:var(--li-muted);font-size:.875rem}
.li-movement{background:linear-gradient(145deg,#fffdf9,#f7f3ec)}.li-movement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.8rem}.li-movement-grid article{border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);background:#fff;padding:.75rem}.li-movement-grid h4{margin:0 0 .5rem;font:700 1rem/1.15 var(--li-serif)}.li-movement-grid ul{list-style:none;margin:0;padding:0}.li-movement-grid li{padding:.38rem 0;border-top:1px solid #eee7dd}.li-movement-grid li:first-child{border-top:0}.li-movement-grid li strong,.li-movement-grid li span{display:block}.li-movement-grid li strong{font-size:.875rem}.li-movement-grid li span{color:var(--li-muted);font-size:.875rem}.li-movement-grid p{font-size:.875rem;color:var(--li-muted)}
@media(max-width:820px){.li-dna-descriptors,.li-dna-dimensions,.li-transition-grid,.li-movement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.li-dna-descriptors,.li-dna-dimensions,.li-transition-grid,.li-movement-grid{grid-template-columns:1fr}.li-corridor-sequence{gap:.25rem}.li-corridor-sequence strong{font-size:.88rem}}
.li-decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.li-decision-grid article{border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);background:#fff;padding:.9rem}.li-decision-grid h3{margin:.05rem 0 .55rem;font:700 1.05rem/1.15 var(--li-serif)}.li-decision-grid ul{margin:0;padding-left:1rem;font-size:.875rem}.li-decision-grid li+li{margin-top:.3rem}.li-decision-grid p{margin:.2rem 0;color:var(--li-muted);font-size:.875rem}.li-decision-why{border-top:4px solid var(--li-green)}.li-decision-caution{border-top:4px solid var(--li-amber);background:#fffaf2}.li-decision-unknown{border-top:4px solid var(--li-blue)}
.li-research-depth{border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);background:rgba(255,253,249,.88);overflow:hidden}.li-research-depth>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;cursor:pointer}.li-research-depth>summary::-webkit-details-marker{display:none}.li-research-depth>summary strong,.li-research-depth>summary small{display:block}.li-research-depth>summary small{margin-top:.1rem;color:var(--li-muted);font-size:.875rem}.li-research-depth[open]>summary{border-bottom:1px solid var(--li-line);background:#faf6ef}.li-research-depth-body{display:grid;gap:.8rem;padding:.85rem}.li-research-depth .li-panel,.li-research-depth .li-evidence-drawer{box-shadow:none}
@media(max-width:760px){.li-decision-grid{grid-template-columns:1fr}}
@media print{.li-research-depth{display:block}.li-research-depth>summary{display:none}.li-research-depth-body{padding:0}.li-decision-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.li-compare-table{margin-top:.8rem;border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);overflow:hidden}.li-compare-row{display:grid;grid-template-columns:minmax(170px,1.25fr) repeat(2,minmax(110px,1fr));gap:.5rem;padding:.62rem .75rem;border-top:1px solid var(--li-line);align-items:center}.li-compare-row:first-child{border-top:0}.li-compare-row>strong:not(:first-child){font-family:var(--li-serif);font-size:1.02rem}.li-compare-head{background:#f7f2ea;font-size:.875rem;text-transform:uppercase;letter-spacing:.04em}.li-compare-row span{font-size:.875rem;color:#4f4a43}@media(max-width:620px){.li-compare-row{grid-template-columns:1fr repeat(2,minmax(75px,.7fr));font-size:.875rem}.li-compare-head strong:first-child{font-size:0}.li-compare-head strong:first-child:after{content:'Dimension';font-size:.875rem}}
.li-uncertainty{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);background:#fff;padding:.75rem .9rem}.li-uncertainty .li-kicker{margin:0}.li-uncertainty>div>strong{display:block;font:700 1.1rem/1.1 var(--li-serif)}.li-uncertainty p:last-child{margin:0;color:var(--li-muted);font-size:.875rem}.li-uncertainty.is-good{border-left:4px solid var(--li-green)}.li-uncertainty.is-limited{border-left:4px solid var(--li-amber);background:#fffaf2}@media(max-width:620px){.li-uncertainty{grid-template-columns:1fr;gap:.35rem}}

/* R5 Network Lens — restrained graph summary, not a spider chart. */
.li-network-lens{overflow:hidden}.li-network-core{display:inline-flex;align-items:center;gap:.6rem;margin:.25rem 0 .9rem;padding:.55rem .72rem;border:1px solid var(--li-line,#d8d0c1);border-radius:var(--kecb-radius-pill);background:rgba(255,255,255,.72)}.li-network-core span{font:800 .67rem/1 ui-sans-serif,system-ui;letter-spacing:.08em;text-transform:uppercase;opacity:.62}.li-network-core strong{font:800 .84rem/1.1 ui-sans-serif,system-ui}.li-network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.li-network-grid article{padding:.78rem;border:1px solid var(--li-line,#d8d0c1);border-radius:var(--kecb-radius-card);background:rgba(255,255,255,.58)}.li-network-grid h4{margin:0 0 .55rem;font:800 .76rem/1.3 ui-sans-serif,system-ui;letter-spacing:.025em}.li-network-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.48rem}.li-network-grid li{display:grid;gap:.1rem;padding-bottom:.42rem;border-bottom:1px solid rgba(43,42,37,.08)}.li-network-grid li:last-child{border-bottom:0;padding-bottom:0}.li-network-grid li strong{font:750 .79rem/1.25 ui-sans-serif,system-ui}.li-network-grid li span,.li-network-grid p{font:600 .69rem/1.35 ui-sans-serif,system-ui;opacity:.64;margin:0}
@media(max-width:760px){.li-network-grid{grid-template-columns:1fr}}

.li-static-guide{margin-top:2rem;padding:1.25rem;border-top:1px solid var(--li-line)}.li-static-guide h2{margin:.1rem 0 1rem;font:700 clamp(1.6rem,3vw,2.3rem)/1.05 var(--li-serif)}.li-guide-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.li-guide-grid article,.li-truth-grid article,.li-noscript{background:rgba(255,253,249,.82);border:1px solid var(--li-line);border-radius:var(--kecb-radius-card);padding:.8rem}.li-guide-grid h3{margin:0 0 .35rem;font:700 1.05rem/1.1 var(--li-serif)}.li-guide-grid p{margin:0;color:var(--li-muted);font-size:.875rem}.li-truth-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-top:.8rem}.li-truth-grid strong,.li-truth-grid span{display:block}.li-truth-grid strong{color:var(--li-navy)}.li-truth-grid span{margin-top:.2rem;color:var(--li-muted);font-size:.875rem}.li-corridor-block+.li-corridor-block{margin-top:.75rem}.li-corridor-block h4,.li-trace-group h4{margin:.2rem 0 .4rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--li-muted)}.li-trace-group+.li-trace-group{margin-top:1rem}
@media(max-width:900px){.audience-nav{display:none}.li-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.li-truth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.li-guide-grid,.li-truth-grid{grid-template-columns:1fr}.site-header{padding-inline:1rem}.audience-path-nav{gap:.1rem}.audience-path-nav>a{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto;animation-duration:.001ms;animation-iteration-count:1}}

/* R100 host readability/alignment closure */
@media(max-width:600px){body.booking-intelligence-page .li-hero-inner{padding-left:1rem;padding-right:1rem}}

/* R110 task-first mobile closure: the fixed dock owns primary navigation below tablet width. */
@media(max-width:900px){body.li-page .task-first-nav{display:none}}

/* KECB Mobile 2.0 Live Intelligence host slice */
@media(max-width:760px){:root{--kecb-radius-screen:24px;--m2-bg:#f3f0ea;--m2-card:#fff;--m2-ink:#171717;--m2-muted:#625d56;--m2-line:#d9d2c8;--m2-red:#962f20;--m2-radius:var(--kecb-radius-screen);--m2-shadow:var(--kecb-shadow-card);--m2-pad:clamp(1.1rem,4.8vw,1.45rem);--m2-screen:min(44rem,max(28rem,calc(100dvh - 9.2rem - env(safe-area-inset-bottom))))}body[data-mobile2]{background:var(--m2-bg);color:var(--m2-ink)}body[data-mobile2] .li-main{padding-inline:.7rem;padding-bottom:max(5.75rem,calc(4.6rem + env(safe-area-inset-bottom)))}body[data-mobile2] :is(button,input,select,textarea){min-height:48px}body[data-mobile2] :is(input,select,textarea){font-size:16px}body[data-mobile2] .li-hero{margin:.7rem 0;padding:var(--m2-pad);border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow)}body[data-mobile2] .li-hero h1{font-size:clamp(2.7rem,12vw,3.9rem);line-height:.92;letter-spacing:-.05em}body[data-mobile2] :is(.li-ask,.li-static-guide,.li-system-strip,.li-card,.li-panel,.bi-card,.bi-panel,.bi-section,.bi-ux-answer){min-block-size:var(--m2-screen);padding:var(--m2-pad);margin-block:.85rem;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow)}body[data-mobile2] :is(.li-ask,.li-static-guide,.li-card,.li-panel,.bi-card,.bi-panel,.bi-section,.bi-ux-answer) :is(h2,h3,h4){font-size:clamp(2.2rem,10vw,3.25rem);line-height:.96;letter-spacing:-.04em}body[data-mobile2] :is(.li-guide-grid,.li-truth-grid){grid-template-columns:1fr}body[data-mobile2] :is(canvas,svg,.chart,.bi-chart,.li-chart){max-block-size:42dvh}}
@media(max-width:760px) and (orientation:landscape){:root{--m2-screen:auto}body[data-mobile2] :is(.li-ask,.li-static-guide,.li-system-strip,.li-card,.li-panel,.bi-card,.bi-panel,.bi-section,.bi-ux-answer){min-block-size:auto}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){body[data-mobile2] *,body[data-mobile2] *:before,body[data-mobile2] *:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}
