/* ===== site.css ===== */

:root {
  --ink: #251d19;
  --muted: #6f6259;
  --paper: #f7f0e4;
  --paper-2: #efe2cf;
  --wood: #2b1712;
  --wood-2: #48271d;
  --rust: #9d3f25;
  --gold: #c79a4a;
  --line: rgba(49, 30, 21, .18);
  --white: #fffdf8;
  --shadow: 0 16px 50px rgba(40, 22, 15, .12);
  --radius: 18px;
  --max: 1220px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Georgia, 'Times New Roman', serif; line-height: 1.65; }
a { color: inherit; }
button, input { font: inherit; }
img, svg { max-width: 100%; }
.skip-link { position: fixed; left: 1rem; top: -10rem; z-index: 1000; background: var(--white); padding: .7rem 1rem; border-radius: 8px; }
.skip-link:focus { top: 1rem; }
.site-header { position: sticky; top: 0; z-index: 100; min-height: 76px; padding: 0 max(1rem, calc((100vw - var(--max))/2)); display: flex; align-items: center; justify-content: space-between; gap: 2rem; background: rgba(43, 23, 18, .97); color: var(--white); border-bottom: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(12px); }
.brand { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; line-height: 1.05; }
.brand-mark { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: var(--gold); font: 700 .74rem/1 Arial, sans-serif; letter-spacing: .12em; }
.brand strong { display: block; font-size: 1.04rem; }
.brand small { display: block; margin-top: .3rem; color: #dccdbd; font: .72rem/1.2 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: .3rem; font: 600 .82rem/1 Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.main-nav a, .main-nav button { color: var(--white); background: transparent; border: 0; text-decoration: none; padding: .8rem .9rem; border-radius: 999px; cursor: pointer; }
.main-nav a:hover, .main-nav button:hover, .main-nav .active { background: rgba(255,255,255,.1); color: #ffe1a8; }
.wrap { width: min(var(--max), calc(100% - 2rem)); margin-inline: auto; }
.narrow { max-width: 900px; }
.eyebrow { margin: 0 0 .6rem; font: 800 .75rem/1.3 Arial, sans-serif; text-transform: uppercase; letter-spacing: .14em; color: var(--rust); }
.button-row { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 2rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .75rem 1.1rem; border: 1px solid transparent; border-radius: 999px; text-decoration: none; cursor: pointer; font: 700 .84rem/1 Arial, sans-serif; letter-spacing: .04em; }
.button.primary { color: var(--white); background: var(--rust); }
.button.primary:hover { background: #7f2f1c; }
.button.secondary { color: var(--ink); background: transparent; border-color: currentColor; }
.home-hero { min-height: 680px; display: grid; align-content: center; background:
radial-gradient(circle at 80% 20%, rgba(199,154,74,.16), transparent 25%),
linear-gradient(135deg, rgba(43,23,18,.97), rgba(72,39,29,.94)),
repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 80px);
color: var(--white); padding: 7rem max(1rem, calc((100vw - var(--max))/2)); }
.home-hero-inner { max-width: 860px; }
.home-hero .eyebrow { color: #e7bd72; }
.home-hero h1 { margin: 0; max-width: 900px; font-size: clamp(3.2rem, 7.4vw, 7rem); line-height: .96; letter-spacing: -.055em; }
.hero-lede { max-width: 720px; font-size: clamp(1.15rem, 2vw, 1.45rem); color: #eadfd6; }
.home-hero .button.secondary { color: var(--white); background: transparent; }
.hero-stats { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 4rem; }
.hero-stats div { min-width: 140px; padding: 1rem 1.2rem; border-left: 1px solid rgba(255,255,255,.25); }
.hero-stats strong { display: block; font-size: 1.7rem; color: #f3c97e; }
.hero-stats span { font: .76rem/1 Arial, sans-serif; text-transform: uppercase; letter-spacing: .12em; color: #d4c4b6; }
.mission-band { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding: 5rem max(1rem, calc((100vw - var(--max))/2)); background: var(--paper-2); border-block: 1px solid var(--line); }
.mission-band h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.05; }
.mission-band > p { font-size: 1.2rem; }
.volumes, .reader-paths { padding-block: 5rem; }
.section-intro { max-width: 780px; margin-bottom: 2rem; }
.section-intro h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.05; }
.volume-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.volume-card { min-height: 350px; padding: 2rem; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,253,248,.7); box-shadow: var(--shadow); position: relative; overflow: hidden; }
.volume-card::after { content: ''; position: absolute; inset: auto -30px -40px auto; width: 160px; height: 160px; border: 24px solid rgba(157,63,37,.07); border-radius: 50%; }
.volume-card-top, .volume-meta, .card-actions { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font: 700 .72rem/1.3 Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.volume-card h2 { margin: 2.5rem 0 .6rem; font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1; }
.volume-card > p { max-width: 650px; }
.volume-meta { margin-top: auto; padding-top: 2rem; }
.card-actions { margin-top: 1rem; justify-content: flex-start; }
.card-actions a { color: var(--rust); }
.volume-grid .volume-5 { grid-column: 1 / -1; }
.path-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: .8rem; }
.path-grid a { min-height: 220px; padding: 1.2rem; display: flex; flex-direction: column; justify-content: end; text-decoration: none; border: 1px solid var(--line); background: var(--white); border-radius: 14px; }
.path-grid a:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.path-grid strong { font-size: 1.2rem; line-height: 1.15; }
.path-grid span { color: var(--muted); font-size: .94rem; }
.page-main { padding-block: 5rem; min-height: 65vh; }
.page-header { max-width: 900px; margin-bottom: 3rem; }
.page-header h1 { margin: 0; font-size: clamp(3rem, 6vw, 5.8rem); line-height: .98; letter-spacing: -.04em; }
.page-header > p:last-child { font-size: 1.2rem; color: var(--muted); }
.library-list { display: grid; gap: 1rem; }
.library-book { display: grid; grid-template-columns: 90px 1fr auto; gap: 1.5rem; align-items: center; padding: 1.5rem; border: 1px solid var(--line); background: var(--white); border-radius: var(--radius); }
.library-book-number { font-size: 4rem; line-height: 1; color: rgba(157,63,37,.28); }
.library-book h2 { margin: 0; font-size: 2rem; }
.library-book h2 a { text-decoration: none; }
.library-book p { margin: .35rem 0; color: var(--muted); }
.library-book small { font-family: Arial, sans-serif; }
.book-hero { min-height: 570px; padding: 5rem max(1rem, calc((100vw - var(--max))/2)); display: grid; grid-template-columns: 1fr 260px; gap: 4rem; align-items: center; background: linear-gradient(135deg, var(--wood), var(--wood-2)); color: var(--white); }
.book-hero .breadcrumbs { color: #d8c8bb; }
.book-hero .eyebrow { color: #e7bd72; }
.book-hero h1 { margin: 0; font-size: clamp(3.5rem, 7vw, 7rem); line-height: .95; letter-spacing: -.05em; }
.book-subtitle { max-width: 850px; font-size: clamp(1.2rem, 2.2vw, 1.55rem); color: #eadfd6; }
.book-audience { color: #cdbdaf; }
.book-hero .button.secondary { color: var(--white); }
.book-stat-card { padding: 2rem; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); border-radius: var(--radius); }
.book-stat-card span, .book-stat-card p, .book-stat-card small { display: block; font-family: Arial, sans-serif; color: #dacbbd; }
.book-stat-card strong { display: block; margin-top: 1rem; font-size: 3rem; color: #f0c77e; line-height: 1; }
.book-stat-card p { margin: .1rem 0; text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; }
.book-stat-card small { margin-top: 1.5rem; }
.book-contents { padding-block: 5rem; }
.book-part { margin-top: 4rem; }
.part-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: .7rem; border-bottom: 2px solid var(--ink); }
.part-heading h2 { margin: 0; font-size: 1.65rem; }
.part-heading span { font: .75rem/1 Arial, sans-serif; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.chapter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; margin-top: 1rem; }
.chapter-card { min-height: 250px; display: flex; flex-direction: column; padding: 1.25rem; border: 1px solid var(--line); border-radius: 14px; background: var(--white); text-decoration: none; }
.chapter-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); border-color: rgba(157,63,37,.45); }
.chapter-card h3 { margin: 0 0 .5rem; font-size: 1.35rem; line-height: 1.1; }
.chapter-card p { color: var(--muted); font-size: .93rem; }
.chapter-card small { margin-top: auto; padding-top: 1rem; font-family: Arial, sans-serif; color: var(--muted); }
.breadcrumbs { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; font: .76rem/1.3 Arial, sans-serif; color: var(--muted); }
.breadcrumbs a { text-decoration: none; }
.chapter-layout { max-width: 1500px; margin: 0 auto; display: grid; grid-template-columns: 340px minmax(0, 1fr); min-height: calc(100vh - 76px); }
.book-sidebar { position: sticky; top: 76px; height: calc(100vh - 76px); border-right: 1px solid var(--line); background: var(--paper-2); overflow: hidden; }
.sidebar-head { padding: 1.2rem; border-bottom: 1px solid var(--line); }
.sidebar-head h2 { margin: 0; font-size: 1.35rem; line-height: 1.1; }
.sidebar-head h2 a { text-decoration: none; }
.sidebar-head [data-toc-close] { display: none; }
.sidebar-scroll { height: calc(100% - 100px); overflow-y: auto; padding: 1rem 1.2rem 4rem; }
.toc-group h3 { margin: 1.3rem 0 .4rem; font: 800 .72rem/1.3 Arial, sans-serif; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.toc-group ol { margin: 0; padding: 0; list-style: none; }
.toc-group li { margin: .15rem 0; }
.toc-group a { display: grid; gap: .1rem; padding: .55rem .65rem; border-radius: 8px; text-decoration: none; font-size: .9rem; line-height: 1.25; }
.toc-group a:hover, .toc-group a.current { background: var(--white); box-shadow: 0 3px 10px rgba(40,22,15,.06); }
.toc-group a span { font: 700 .65rem/1.2 Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: var(--rust); }
.chapter-main { min-width: 0; padding: 2rem clamp(1rem, 5vw, 5rem) 5rem; }
.chapter-main > .breadcrumbs, .chapter-tools, .chapter-content, .chapter-pager { max-width: 850px; margin-inline: auto; }
.chapter-tools { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-top: 1rem; padding: .65rem 0; border-block: 1px solid var(--line); color: var(--muted); font: .72rem/1.3 Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.chapter-tools button { display: none; background: transparent; border: 1px solid var(--line); border-radius: 999px; padding: .45rem .75rem; }
.chapter-content { padding-top: 2.5rem; font-size: 1.08rem; }
.chapter-content h1.chapter-title { margin: .2rem 0 1rem; font-size: clamp(2.6rem, 5.5vw, 5rem); line-height: .98; letter-spacing: -.045em; }
.chapter-content > .section-label + h1.chapter-title { margin-top: .25rem; }
.chapter-subtitle { margin: 0 0 2.5rem; color: var(--muted); font-size: 1.22rem; font-style: italic; }
.chapter-content h2 { margin: 3.2rem 0 .7rem; font-size: 1.9rem; line-height: 1.15; }
.chapter-content h3 { margin: 2.4rem 0 .55rem; font-size: 1.35rem; line-height: 1.2; }
.chapter-content p { margin: 0 0 1.15rem; }
.chapter-content .section-label, .chapter-content .part-marker { color: var(--rust); font: 800 .74rem/1.3 Arial, sans-serif; text-transform: uppercase; letter-spacing: .14em; }
.chapter-content .part-marker { padding: .7rem; border-block: 1px solid var(--line); }
.chapter-content .small-caps { font-family: Arial, sans-serif; font-size: .82rem; font-weight: 800; letter-spacing: .08em; }
.chapter-content .list-item { position: relative; padding-left: 1.4rem; }
.chapter-content .list-item::before { content: '•'; position: absolute; left: .25rem; color: var(--rust); }
.table-wrap { max-width: 100%; overflow-x: auto; margin: 1.5rem 0 2rem; }
.content-table { width: 100%; border-collapse: collapse; background: var(--white); font-size: .96rem; }
.content-table th, .content-table td { vertical-align: top; padding: .8rem; border: 1px solid var(--line); }
.content-table th { text-align: left; background: var(--paper-2); font-family: Arial, sans-serif; }
.content-table p:last-child { margin-bottom: 0; }
.content-table.callout { border-collapse: separate; border: 0; border-left: 5px solid var(--gold); border-radius: 10px; box-shadow: 0 8px 28px rgba(40,22,15,.08); }
.content-table.callout td { border: 0; padding: 1.2rem 1.35rem; }
.tactic-callout { border-left-color: var(--rust) !important; background: #fff7e9; }
.real-talk-callout { border-left-color: #6d4b88 !important; background: #faf5ff; }
.heads-up-callout { border-left-color: #b86f13 !important; background: #fff8e8; }
.case-study-callout { border-left-color: #46745d !important; background: #f2faf5; }
.discussion-callout { border-left-color: #3b6f8e !important; background: #f0f8fc; }
.callout-label { margin-top: 2rem !important; padding: .7rem 1rem; border-left: 4px solid var(--gold); background: var(--white); font-weight: 700; }
.chapter-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 5rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.pager-link { min-height: 110px; display: flex; flex-direction: column; justify-content: center; padding: 1rem; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; background: var(--white); }
.pager-link.next { text-align: right; }
.pager-link small { font: 700 .68rem/1 Arial, sans-serif; text-transform: uppercase; letter-spacing: .1em; color: var(--rust); }
.pager-link strong { margin-top: .4rem; line-height: 1.2; }
.prose-section h2 { margin-top: 2.5rem; font-size: 2rem; }
.prose-section p { font-size: 1.12rem; }
.notice { margin-top: 2rem; padding: 1.2rem; border-left: 5px solid var(--gold); background: var(--white); }
.search-overlay[hidden] { display: none; }
.search-overlay { position: fixed; inset: 0; z-index: 500; padding: 4vh 1rem; background: rgba(24,13,10,.84); overflow-y: auto; }
.search-panel { width: min(900px, 100%); margin: 0 auto; padding: 1.5rem; border-radius: var(--radius); background: var(--paper); box-shadow: 0 30px 100px rgba(0,0,0,.35); }
.search-panel-head { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.search-panel-head h2 { margin: 0; font-size: 2.2rem; }
.icon-button { border: 0; background: transparent; font-size: 2rem; cursor: pointer; }
.search-label { display: block; margin: 1.5rem 0 .5rem; font: 700 .8rem/1.3 Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.search-input { width: 100%; padding: .95rem 1rem; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--ink); font-size: 1.1rem; }
.search-status { color: var(--muted); font-family: Arial, sans-serif; font-size: .85rem; }
.search-results { display: grid; gap: .6rem; }
.search-result { display: block; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 10px; background: var(--white); text-decoration: none; }
.search-result:hover { border-color: var(--rust); }
.search-result small { font: 700 .67rem/1.2 Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: var(--rust); }
.search-result strong { display: block; margin: .2rem 0; font-size: 1.08rem; }
.search-result span { color: var(--muted); font-size: .9rem; }
.search-help { text-align: right; font-family: Arial, sans-serif; font-size: .8rem; }
.search-page-box { padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.site-footer { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 2rem; padding: 3.5rem max(1rem, calc((100vw - var(--max))/2)); background: var(--wood); color: #e8ddd3; font-size: .9rem; }
.site-footer p { margin: .25rem 0; }
.site-footer a { display: block; margin-bottom: .4rem; color: #f0c77e; }
@media (max-width: 1050px) {
  .path-grid { grid-template-columns: repeat(2, 1fr); }
  .chapter-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .chapter-layout { display: block; }
  .book-sidebar { position: fixed; inset: 76px auto 0 0; z-index: 200; width: min(390px, 88vw); height: auto; transform: translateX(-105%); transition: transform .2s ease; box-shadow: var(--shadow); }
  .book-sidebar.open { transform: translateX(0); }
  .sidebar-head [data-toc-close] { display: block; position: absolute; right: 1rem; top: 1rem; border: 0; background: transparent; font-size: 1.5rem; }
  .chapter-tools button { display: inline-block; }
}
@media (max-width: 760px) {
  .site-header { min-height: 66px; }
  .brand small { display: none; }
  .brand-mark { width: 40px; height: 40px; }
  .main-nav a:nth-child(1), .main-nav a:nth-child(3) { display: none; }
  .home-hero { min-height: 620px; padding-top: 5rem; }
  .mission-band { grid-template-columns: 1fr; gap: 1rem; }
  .volume-grid, .chapter-grid { grid-template-columns: 1fr; }
  .volume-grid .volume-5 { grid-column: auto; }
  .path-grid { grid-template-columns: 1fr; }
  .library-book { grid-template-columns: 48px 1fr; }
  .library-book > .button { grid-column: 1 / -1; }
  .library-book-number { font-size: 2.7rem; }
  .book-hero { grid-template-columns: 1fr; padding-block: 4rem; }
  .book-stat-card { display: grid; grid-template-columns: repeat(2, 1fr); }
  .book-stat-card span, .book-stat-card small { grid-column: 1 / -1; }
  .chapter-main { padding-inline: 1rem; }
  .chapter-content { font-size: 1rem; }
  .chapter-pager { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; }
}
@media print {
  .site-header, .book-sidebar, .chapter-tools, .chapter-pager, .site-footer, .search-overlay { display: none !important; }
  body { background: white; }
  .chapter-main { padding: 0; }
  .chapter-content { max-width: none; font-size: 11pt; }
  .chapter-content a { text-decoration: none; }
}


/* Contact page */
.contact-page { padding-block: 4rem 6rem; }
.contact-header { max-width: 900px; margin-bottom: 2.5rem; }
.contact-header h1 { max-width: 780px; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: 1.5rem; align-items: start; }
.contact-panel, .contact-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 10px 35px rgba(40,22,15,.06); }
.contact-panel { padding: clamp(1.25rem, 4vw, 2.4rem); }
.contact-panel h2 { margin-top: 0; }
.contact-aside { display: grid; gap: 1rem; }
.contact-card { padding: 1.35rem; }
.contact-card h2, .contact-card h3 { margin-top: 0; }
.muted-card { background: var(--paper-2); box-shadow: none; }
.contact-form { display: grid; gap: 1.1rem; margin-top: 1.5rem; }
.form-grid { display: grid; gap: 1rem; }
.form-grid.two-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-form label > span { display: block; margin-bottom: .45rem; font: 800 .76rem/1.3 Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: var(--ink); }
.contact-form label small { color: var(--muted); font-weight: 600; }
.contact-form input[type="text"], .contact-form input[type="email"], .contact-form select, .contact-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: .85rem .9rem; background: #fffdf9; color: var(--ink); }
.contact-form textarea { resize: vertical; min-height: 180px; line-height: 1.5; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: 3px solid rgba(157,63,37,.16); border-color: var(--rust); }
.consent-row { display: flex; gap: .7rem; align-items: flex-start; padding: .9rem; border-radius: 10px; background: var(--paper-2); }
.consent-row input { margin-top: .2rem; }
.consent-row span { margin: 0 !important; text-transform: none !important; letter-spacing: 0 !important; font: .9rem/1.45 Arial, sans-serif !important; color: var(--muted) !important; }
.form-actions { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.form-status { flex: 1 1 280px; margin: 0; color: var(--muted); font: .83rem/1.45 Arial, sans-serif; }
.form-status.success { color: #3f6f58; font-weight: 700; }
.form-status.error { color: #8d2e20; font-weight: 700; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 860px) {
  .contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .brand > span:last-child { display: none; }
  .main-nav { gap: 0; }
  .main-nav a, .main-nav button { padding-inline: .65rem; font-size: .74rem; }
  .form-grid.two-column { grid-template-columns: 1fr; }
  .contact-page { padding-top: 2.5rem; }
}


/* Visual website and book headers */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.visual-banner { overflow: hidden; background: #160c08; border-bottom: 1px solid rgba(255,255,255,.1); }
.visual-banner picture { display: block; width: min(2048px, 100%); margin-inline: auto; }
.visual-banner img { display: block; width: 100%; height: auto; }
.home-hero-actions { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: 3rem; align-items: center; padding: 3rem max(1rem, calc((100vw - var(--max))/2)); background: linear-gradient(135deg, var(--wood), var(--wood-2)); color: var(--white); }
.home-hero-actions-copy { max-width: 820px; }
.home-hero-actions .eyebrow { color: #e7bd72; }
.home-hero-actions h2 { margin: 0; font-size: clamp(2rem, 4.4vw, 4rem); line-height: 1; letter-spacing: -.035em; }
.home-hero-actions .hero-lede { margin-bottom: 0; }
.home-hero-actions .button.secondary { color: var(--white); }
.home-hero-actions .hero-stats { margin-top: 0; justify-content: flex-end; }
.book-intro-strip { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 4rem; align-items: center; padding: 2.25rem max(1rem, calc((100vw - var(--max))/2)); background: linear-gradient(135deg, var(--wood), var(--wood-2)); color: var(--white); }
.book-intro-main { max-width: 900px; }
.book-intro-strip .breadcrumbs { color: #d8c8bb; }
.book-intro-strip .book-audience { margin: 1rem 0 0; color: #eadfd6; font-size: 1.1rem; }
.book-intro-strip .button-row { margin-top: 1.25rem; }
.book-intro-strip .button.secondary { color: var(--white); }
.book-intro-strip .book-stat-card { padding: 1.4rem 1.6rem; }
@media (max-width: 900px) {
  .home-hero-actions, .book-intro-strip { grid-template-columns: 1fr; gap: 1.5rem; }
  .home-hero-actions .hero-stats { justify-content: flex-start; }
  .book-intro-strip .book-stat-card { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .2rem 1rem; }
  .book-intro-strip .book-stat-card span, .book-intro-strip .book-stat-card small { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .home-hero-actions { padding-block: 2rem 2.5rem; }
  .home-hero-actions h2 { font-size: 2.15rem; }
  .home-hero-actions .hero-stats { gap: .35rem; }
  .home-hero-actions .hero-stats div { min-width: 95px; padding-inline: .8rem; }
  .book-intro-strip { padding-block: 1.5rem 2rem; }
  .book-intro-strip .book-audience { font-size: 1rem; }
}
@media print {
  .visual-banner, .home-hero-actions, .book-intro-strip { display: none !important; }
}

/* Contact portrait and social profiles */
.profile-card { padding: 0; overflow: hidden; }
.contact-portrait-wrap { display: block; background: #d8d3ca; }
.contact-portrait { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.profile-card-body { padding: 1.35rem; }
.profile-card-body h2 { margin-bottom: .8rem; font-size: clamp(1.55rem, 2.6vw, 2rem); line-height: 1.08; }
.profile-card-body > p:not(.eyebrow) { color: var(--muted); }
.social-links { display: grid; gap: .65rem; margin-top: 1.2rem; }
.social-link { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .8rem .9rem; border: 1px solid var(--line); border-radius: 10px; background: #fffdf9; text-decoration: none; font-family: Arial, sans-serif; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.social-link span { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.social-link strong { color: var(--rust); font-size: .86rem; text-align: right; }
.social-link:hover, .social-link:focus-visible { border-color: var(--rust); transform: translateY(-1px); box-shadow: 0 8px 22px rgba(40,22,15,.08); }
@media (max-width: 860px) and (min-width: 621px) {
  .profile-card { display: grid; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); align-items: stretch; }
  .contact-portrait { height: 100%; min-height: 320px; }
  .profile-card-body { align-self: center; padding: 2rem; }
}
@media (max-width: 400px) {
  .social-link { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .social-link strong { text-align: left; }
}


/* Free online access and sitewide social connection */
.main-nav .free-nav { background: var(--gold); color: var(--wood); }
.main-nav .free-nav:hover, .main-nav .free-nav.active { background: #f0c978; color: var(--wood); }
.free-access-strip { position: relative; z-index: 80; background: #f1c66f; color: var(--wood); border-bottom: 1px solid rgba(43,23,18,.2); font-family: Arial, sans-serif; }
.free-access-inner { width: min(var(--max), calc(100% - 2rem)); min-height: 54px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.free-access-message { display: flex; align-items: center; gap: .8rem; text-decoration: none; line-height: 1.3; }
.free-access-message:hover strong, .free-access-message:focus-visible strong { text-decoration: underline; }
.free-access-badge { flex: 0 0 auto; padding: .38rem .58rem; border-radius: 999px; background: var(--wood); color: #fff5df; font-size: .67rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.free-access-message strong { font-size: .9rem; }
.free-access-message span:last-child { font-size: .82rem; }
.quick-social-links { display: flex; align-items: center; gap: .35rem; flex: 0 0 auto; }
.quick-social-label { margin-right: .2rem; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.quick-social-links a { padding: .4rem .62rem; border: 1px solid rgba(43,23,18,.28); border-radius: 999px; background: rgba(255,255,255,.3); text-decoration: none; font-size: .72rem; font-weight: 800; }
.quick-social-links a:hover, .quick-social-links a:focus-visible { background: var(--wood); color: var(--white); border-color: var(--wood); }
.free-access-note { margin: 1.1rem 0 0; color: #f3dbc1; font: .88rem/1.5 Arial, sans-serif; }
.connect-band { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.6fr); gap: 2.5rem; align-items: center; padding: 4.5rem max(1rem, calc((100vw - var(--max))/2)); background: #fffaf1; border-bottom: 1px solid var(--line); }
.connect-band-copy h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.04; }
.connect-band-copy > p:last-child { color: var(--muted); font-size: 1.06rem; }
.connect-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.connect-grid a { min-height: 170px; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.2rem; border: 1px solid var(--line); border-radius: 14px; background: var(--wood); color: var(--white); text-decoration: none; box-shadow: 0 12px 30px rgba(40,22,15,.08); transition: transform .15s ease, background .15s ease; }
.connect-grid a:hover, .connect-grid a:focus-visible { transform: translateY(-3px); background: var(--wood-2); }
.connect-grid span { color: #e7bd72; font: 800 .7rem/1.2 Arial, sans-serif; text-transform: uppercase; letter-spacing: .12em; }
.connect-grid strong { margin-top: .45rem; font-size: 1.18rem; }
.connect-grid small { margin-top: .35rem; color: #dfd1c4; font: .8rem/1.35 Arial, sans-serif; }
.free-library-callout { display: grid; gap: .2rem; margin-top: 1.35rem; padding: 1rem 1.1rem; border-left: 5px solid var(--rust); border-radius: 0 10px 10px 0; background: var(--paper-2); }
.free-library-callout strong { font-size: 1.05rem; }
.free-library-callout span { color: var(--muted); font: .9rem/1.45 Arial, sans-serif; }
.site-footer { grid-template-columns: 1.3fr 1fr .75fr 1.1fr; }
.site-footer > div > strong { display: block; margin-bottom: .45rem; color: var(--white); font-size: 1rem; }
.footer-free { padding-right: 1rem; }
.footer-free > strong { color: #f2c879 !important; font-size: 1.18rem !important; }
.footer-cta { display: inline-block !important; margin-top: .65rem; padding: .55rem .75rem; border: 1px solid #f0c77e; border-radius: 999px; text-decoration: none; font: 800 .75rem/1 Arial, sans-serif; text-transform: uppercase; letter-spacing: .06em; }
.footer-cta:hover, .footer-cta:focus-visible { background: #f0c77e; color: var(--wood); }
.footer-links strong, .footer-social strong { font-family: Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; font-size: .76rem !important; }
.footer-social p { margin-top: 1rem; color: #c9b8aa; font-size: .78rem; }
@media (max-width: 1050px) {
  .free-access-inner { align-items: flex-start; flex-direction: column; padding-block: .7rem; gap: .65rem; }
  .free-access-message { align-items: flex-start; }
  .quick-social-links { width: 100%; }
  .connect-band { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .free-access-inner { width: min(100% - 1rem, var(--max)); }
  .free-access-message { display: grid; grid-template-columns: auto 1fr; gap: .55rem; }
  .free-access-message span:last-child { font-size: .77rem; }
  .free-access-badge { grid-row: 1 / span 2; align-self: start; }
  .quick-social-links { overflow-x: auto; padding-bottom: .1rem; }
  .quick-social-label { display: none; }
  .quick-social-links a { flex: 1 0 auto; text-align: center; }
  .connect-band { padding-block: 3rem; }
  .connect-grid { grid-template-columns: 1fr; }
  .connect-grid a { min-height: 125px; }
  .site-footer { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .free-access-message { grid-template-columns: 1fr; }
  .free-access-badge { grid-row: auto; width: max-content; }
}
@media print {
  .free-access-strip, .connect-band { display: none !important; }
}


/* REVISION 2: discovery, policy, media, reader tools, and performance */
.free-access-inner { position: relative; }
.free-policy-link { flex: 0 0 auto; color: #f2c879; font: 700 .7rem/1 Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.main-nav { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.main-nav::-webkit-scrollbar { display: none; }
.main-nav a, .main-nav button { white-space: nowrap; }
.muted { color: var(--muted); }
.start-path, .topic-section { padding-block: 3.5rem; border-top: 1px solid var(--line); }
.start-path:first-of-type { margin-top: 3rem; }
.start-path-intro, .topic-heading { max-width: 820px; margin-bottom: 1.3rem; }
.start-path h2, .topic-heading h2 { margin: 0; font-size: clamp(2rem,4vw,3.3rem); line-height: 1.03; }
.recommend-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; }
.recommend-grid.compact { grid-template-columns: repeat(3,minmax(0,1fr)); }
.recommend-card { min-height: 135px; display: flex; flex-direction: column; justify-content: flex-end; padding: 1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--white); text-decoration: none; }
.recommend-card:hover { border-color: var(--rust); transform: translateY(-2px); box-shadow: var(--shadow); }
.recommend-card span { margin-bottom: .45rem; color: var(--rust); font: 800 .67rem/1.25 Arial,sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.recommend-card strong { line-height: 1.15; }
.reader-dashboard { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); gap: 2rem; align-items: center; margin-bottom: 3rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(135deg,#fffdf8,#f0e2ce); box-shadow: var(--shadow); }
.reader-dashboard h2 { margin: 0; font-size: 2rem; }
.reader-dashboard-content { display: grid; gap: .65rem; }
.reader-dashboard-card { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .9rem 1rem; background: var(--white); border: 1px solid var(--line); border-radius: 10px; text-decoration: none; }
.reader-dashboard-card strong { display: block; line-height: 1.15; }
.reader-dashboard-card span { color: var(--muted); font: .72rem/1.3 Arial,sans-serif; }
.reader-dashboard-card button { flex: 0 0 auto; border: 1px solid var(--line); background: transparent; border-radius: 999px; padding: .4rem .6rem; cursor: pointer; }
.decision-band { display: flex; justify-content: space-between; gap: 2rem; align-items: center; margin-top: 4rem; padding: 2rem; border-radius: var(--radius); background: var(--wood); color: var(--white); }
.decision-band h2 { margin: 0; font-size: clamp(1.8rem,3vw,2.8rem); }
.decision-band p:last-child { margin-bottom: 0; color: #dfd0c3; }
.topic-jump { display: flex; gap: .45rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.topic-jump a { padding: .55rem .75rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); text-decoration: none; font: 700 .72rem/1.1 Arial,sans-serif; }
.mission-principles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.mission-principles article { min-height: 300px; padding: 1.6rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.mission-principles article > span { font: 800 3.2rem/1 Arial,sans-serif; color: rgba(157,63,37,.25); }
.mission-principles h2 { margin: 1.8rem 0 .5rem; font-size: 2rem; line-height: 1.05; }
.preservation-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-block: 4rem; padding: 3rem; background: var(--paper-2); border-radius: var(--radius); }
.preservation-actions h2 { margin: 0; font-size: clamp(2rem,4vw,3.4rem); line-height: 1.02; }
.action-list p { padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.related-reading { padding-block: 3rem; }
.faq-list { display: grid; gap: .7rem; }
.faq-item { border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.faq-item summary { cursor: pointer; padding: 1rem 1.2rem; font-weight: 700; font-size: 1.08rem; }
.faq-item div { padding: 0 1.2rem 1.1rem; color: var(--muted); }
.policy-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-block: 2rem 4rem; }
.policy-summary > div { padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.policy-summary strong { font-size: 1.5rem; }
.policy-summary li { margin-bottom: .65rem; }
.media-profile { display: grid; grid-template-columns: minmax(280px,430px) minmax(0,1fr); gap: 3rem; align-items: center; margin-bottom: 4rem; }
.media-profile picture, .media-profile img { display: block; width: 100%; }
.media-profile img { border-radius: var(--radius); box-shadow: var(--shadow); }
.media-profile h2 { margin: 0; font-size: clamp(2.2rem,4vw,4rem); line-height: 1; }
.bio-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.bio-grid article { padding: 1.7rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.bio-grid h2 { margin: 0; font-size: 2rem; }
.media-facts { display: grid; grid-template-columns: repeat(4,1fr); gap: .7rem; margin-block: 3rem; }
.media-facts div { padding: 1.3rem; border-left: 3px solid var(--gold); background: var(--paper-2); }
.media-facts strong { display: block; font-size: 2.4rem; }
.media-facts span { font: 700 .72rem/1.2 Arial,sans-serif; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.media-connect { margin-inline: calc(50% - 50vw); }
.library-guides, .about-links-grid, .utility-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; margin-bottom: 3rem; }
.library-guides { grid-template-columns: repeat(3,minmax(0,1fr)); }
.library-guides a, .about-links-grid a, .utility-links a { display: flex; flex-direction: column; padding: 1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--white); text-decoration: none; }
.library-guides span, .about-links-grid span, .utility-links span { color: var(--muted); font-size: .86rem; }
.home-utility-band { padding-block: 4rem; }
.error-page { min-height: 62vh; display: grid; align-content: center; max-width: 850px; }
.error-page h1 { margin: 0; font-size: clamp(3rem,8vw,7rem); line-height: .92; }
.error-page > p { font-size: 1.2rem; }
.error-help { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.contact-privacy-link { text-align: center; font: .8rem/1.4 Arial,sans-serif; }
.reading-progress { position: sticky; top: 76px; z-index: 99; height: 4px; background: rgba(199,154,74,.18); }
.reading-progress span { display: block; width: 0; height: 100%; background: var(--rust); }
.chapter-tools { flex-wrap: wrap; }
.reader-controls { display: flex; gap: .35rem; margin-left: auto; }
.chapter-tools .reader-controls button { display: inline-flex; align-items: center; justify-content: center; padding: .42rem .65rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink); font: 700 .68rem/1 Arial,sans-serif; cursor: pointer; }
.chapter-tools .reader-controls button.is-bookmarked { background: var(--gold); border-color: var(--gold); }
body.reader-large .chapter-content { font-size: 1.22rem; max-width: 900px; }
body.reader-larger .chapter-content { font-size: 1.34rem; max-width: 940px; }
.free-access-strip { z-index: 98; }
.site-footer { grid-template-columns: 1.2fr 1fr 1fr; }
.site-footer .footer-cta { display: inline-flex; margin-top: .8rem; padding: .6rem .8rem; border: 1px solid #f0c77e; border-radius: 999px; text-decoration: none; }
@media (max-width: 1080px) {
  .recommend-grid, .recommend-grid.compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .main-nav { max-width: 68vw; }
}
@media (max-width: 760px) {
  .site-header { align-items: center; gap: .5rem; padding-right: .5rem; }
  .main-nav { max-width: calc(100vw - 70px); }
  .main-nav a:nth-child(1), .main-nav a:nth-child(3) { display: inline-block; }
  .main-nav a, .main-nav button { padding-inline: .62rem; font-size: .68rem; }
  .brand > span:last-child { display: none; }
  .free-policy-link { display: none; }
  .reader-dashboard, .media-profile, .preservation-actions { grid-template-columns: 1fr; }
  .recommend-grid, .recommend-grid.compact, .mission-principles, .policy-summary, .bio-grid, .library-guides, .about-links-grid, .utility-links { grid-template-columns: 1fr; }
  .media-facts { grid-template-columns: repeat(2,1fr); }
  .decision-band { align-items: flex-start; flex-direction: column; }
  .reading-progress { top: 66px; }
  .reader-controls { width: 100%; margin-left: 0; }
}
@media (max-width: 480px) {
  .quick-social-links { overflow-x: auto; flex-wrap: nowrap; }
  .quick-social-links a { white-space: nowrap; }
  .media-facts { grid-template-columns: 1fr 1fr; }
  .recommend-card { min-height: 110px; }
}
@media print {
  .reading-progress, .reader-controls, .free-access-strip { display: none !important; }
}

/* End-of-chapter sharing and social connection */
.chapter-connect-cta{margin:2rem 0 0;padding:1.4rem;border:1px solid rgba(199,154,74,.45);border-radius:18px;background:linear-gradient(135deg,rgba(43,23,18,.98),rgba(82,43,28,.96));color:#f7f0e4;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center}.chapter-connect-cta h2{margin:.2rem 0 .45rem;font-size:clamp(1.25rem,2vw,1.8rem);color:#fff}.chapter-connect-cta p{margin:.25rem 0;color:#eadfce}.chapter-connect-cta nav{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;align-items:center}.chapter-connect-cta nav a{display:inline-flex;align-items:center;min-height:42px;padding:.55rem .75rem;border:1px solid rgba(247,240,228,.35);border-radius:999px;color:#fff;text-decoration:none;font-weight:700}.chapter-connect-cta nav a:hover,.chapter-connect-cta nav a:focus-visible{background:#f7f0e4;color:#2b1712}.chapter-connect-cta .button{white-space:nowrap}@media(max-width:800px){.chapter-connect-cta{grid-template-columns:1fr}.chapter-connect-cta nav{justify-content:flex-start}.chapter-connect-cta nav a,.chapter-connect-cta nav button{flex:1 1 auto;justify-content:center}}


/* Launch-priority additions */
.newsletter-band{margin-top:2.5rem;margin-bottom:2.5rem;padding:clamp(1.25rem,3vw,2.4rem);display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);gap:clamp(1.4rem,4vw,3rem);align-items:center;background:linear-gradient(135deg,#f3e6cf,#fffaf1);border:1px solid rgba(86,48,29,.2);border-radius:1.25rem;box-shadow:0 16px 38px rgba(49,28,19,.08)}
.newsletter-band-copy h2{margin:.25rem 0 .7rem}.newsletter-band-copy p{max-width:42rem}.newsletter-compact,.newsletter-form{display:grid;gap:1rem}.newsletter-compact label>span,.newsletter-form label>span{display:block;font-weight:700;margin-bottom:.35rem}.newsletter-compact input[type=email],.newsletter-form input[type=email],.newsletter-form input[type=text]{width:100%;padding:.85rem .95rem;border:1px solid rgba(67,42,30,.35);border-radius:.55rem;background:#fff;font:inherit}.newsletter-compact .consent-row{font-size:.88rem}.updates-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:2rem;align-items:start}.updates-panel{padding:clamp(1.25rem,3vw,2.25rem);border:1px solid rgba(86,48,29,.2);border-radius:1rem;background:#fffaf3;box-shadow:0 14px 34px rgba(49,28,19,.07)}.updates-aside{display:grid;gap:1rem}.interest-fieldset{display:grid;gap:.65rem;border:1px solid rgba(86,48,29,.22);border-radius:.7rem;padding:1rem}.interest-fieldset legend{font-weight:800;padding:0 .35rem}.interest-fieldset label{display:flex;gap:.55rem;align-items:flex-start}.success-page{min-height:58vh;display:grid;place-items:center}.success-card{max-width:760px;padding:clamp(1.5rem,5vw,3.5rem);text-align:center;background:#fffaf3;border:1px solid rgba(86,48,29,.2);border-radius:1.25rem;box-shadow:0 18px 45px rgba(49,28,19,.09)}.success-card .button-row{justify-content:center}.form-status.success{color:#285f3b;font-weight:700}button:disabled{opacity:.65;cursor:wait}
@media(max-width:860px){.newsletter-band,.updates-layout{grid-template-columns:1fr}.newsletter-band{margin-left:1rem;margin-right:1rem}}

.free-tools-home{display:grid;grid-template-columns:1.6fr .7fr;gap:1.4rem;align-items:center;margin-top:2rem;margin-bottom:2rem;padding:clamp(1.4rem,4vw,2.5rem);background:linear-gradient(135deg,#2d1711,#5b2d1d);color:white;border-radius:22px}.free-tools-home h2{color:white;margin:.2rem 0 .7rem}.free-tools-home p{color:#f2dfcf}.tools-home-stat{display:grid;place-items:center;text-align:center;padding:1.2rem;border:1px solid rgba(255,255,255,.24);border-radius:18px}.tools-home-stat strong{font-size:4rem;line-height:1;color:#f7c98e}.tools-home-stat span{font-weight:800}.tools-home-stat small{margin-top:.5rem;color:#e9d7c9}@media(max-width:760px){.free-tools-home{grid-template-columns:1fr}.tools-home-stat strong{font-size:3rem}}

.tools-inline-promo{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;margin:1.5rem auto;padding:1.25rem 1.4rem;border:1px solid rgba(64,37,27,.15);border-radius:16px;background:#fff8ef}.tools-inline-promo h2{margin:.15rem 0}.tools-inline-promo p{margin:.2rem 0}@media(max-width:700px){.tools-inline-promo{display:block}.tools-inline-promo .button{margin-top:.8rem}}


/* Legal and risk-reduction layer */
.site-legal-notice{padding:.58rem 1rem;background:#160c09;color:#f5e8dc;text-align:center;font-size:.82rem;line-height:1.45;border-top:1px solid rgba(255,255,255,.08)}
.site-legal-notice a{color:#ffd5a8;font-weight:800}
.footer-legal{display:flex;flex-direction:column;gap:.38rem}
.footer-legal a{color:inherit}
.legal-page{max-width:1000px}
.legal-header{max-width:880px}
.legal-effective{font-size:.9rem;color:#70584a}
.legal-alert{margin:1.4rem 0 2rem;padding:1.35rem 1.5rem;background:#fff4df;border:1px solid #e4c89d;border-left:7px solid #9d3b2b;border-radius:14px}
.legal-alert h2{margin:.1rem 0 .55rem}
.legal-toc{margin:1.5rem 0 2.2rem;padding:1.4rem;background:#f8f1e9;border:1px solid rgba(64,37,27,.14);border-radius:16px}
.legal-toc h2{margin-top:0}
.legal-toc ol{columns:2;column-gap:2.2rem}
.legal-toc li{break-inside:avoid;margin:.28rem 0}
.legal-section{padding:1.25rem 0;border-top:1px solid rgba(64,37,27,.14)}
.legal-section h2{font-size:1.55rem;margin:.15rem 0 .75rem}
.legal-section h3{font-size:1.08rem;margin:1.2rem 0 .35rem}
.legal-section p,.legal-section li{line-height:1.7}
.legal-section ul{padding-left:1.3rem}
.legal-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}
.legal-card{display:flex;flex-direction:column;gap:.5rem;padding:1.3rem;background:#fff;border:1px solid rgba(64,37,27,.14);border-radius:16px;text-decoration:none;color:inherit;box-shadow:0 10px 28px rgba(45,25,18,.06)}
.legal-card strong{font-size:1.2rem;color:#351f17}
.legal-card span{color:#655044}
.sensitive-data-warning{padding:.8rem 1rem;background:#fff4df;border-left:4px solid #9d3b2b;border-radius:8px}
.tool-legal-ack{margin:1.25rem 0;padding:1.2rem 1.3rem;background:#fff4df;border:2px solid #b04a34;border-radius:14px}
.tool-legal-ack h2{margin:.05rem 0 .65rem;font-size:1.15rem}
.tool-legal-ack label{display:grid;grid-template-columns:1.35rem 1fr;gap:.75rem;align-items:start}
.tool-legal-ack input{width:1.2rem;height:1.2rem;margin-top:.2rem}
button[disabled]{opacity:.48;cursor:not-allowed}
@media(max-width:760px){
  .legal-toc ol{columns:1}
  .legal-card-grid{grid-template-columns:1fr}
}
@media print{
  .site-legal-notice,.tool-legal-ack{display:none!important}
}


/* Expanded tools navigation repair */
.site-header,
.site-header .header-inner,
.site-header .wrap {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.site-header .main-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: .38rem;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}
.site-header .main-nav a {
  flex: 0 0 auto;
  white-space: nowrap;
  padding: .5rem .58rem;
  font-size: clamp(.76rem,.72vw,.9rem);
  line-height: 1.1;
}
@media(max-width:900px){
  .site-header .header-inner,
  .site-header .wrap {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.7rem;
    align-items:center;
  }
  .site-header .main-nav {
    grid-column:1/-1;
    width:100%;
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    padding:.25rem 0 .45rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .site-header .main-nav a {
    font-size:.8rem;
    padding:.5rem .62rem;
  }
}


/* Manager Pack final navigation repair */
.site-header {
  flex-wrap: wrap !important;
  height: auto !important;
  min-height: 76px;
  max-height: none !important;
  overflow: visible !important;
}
.site-header .brand {
  flex: 0 1 auto;
  min-width: 0;
}
.site-header .main-nav {
  display: flex;
  flex: 1 1 680px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .34rem;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}
.site-header .main-nav a,
.site-header .main-nav button {
  flex: 0 0 auto;
  white-space: nowrap;
  padding: .5rem .58rem;
  font-size: clamp(.72rem,.67vw,.84rem);
  line-height: 1.1;
}
@media (max-width: 1280px) and (min-width: 901px) {
  .site-header .brand {
    flex: 1 1 auto;
  }
  .site-header .main-nav {
    flex: 1 0 100%;
    justify-content: center;
    padding: .1rem 0 .55rem;
  }
}
@media (max-width: 900px) {
  .site-header {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: .65rem;
    padding-top: .45rem;
    padding-bottom: .25rem;
  }
  .site-header .main-nav {
    grid-column: 1 / -1;
    width: 100%;
    flex: none;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    padding: .2rem 0 .5rem;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
  }
  .site-header .main-nav a,
  .site-header .main-nav button {
    font-size: .76rem;
    padding: .5rem .62rem;
  }
}

/* Kitchen navigation capacity repair */
.site-header{height:auto!important;max-height:none!important;overflow:visible!important;flex-wrap:wrap!important}.site-header .main-nav{display:flex!important;flex-wrap:wrap!important;min-width:0;max-width:100%;height:auto!important;overflow:visible!important;gap:.32rem}.site-header .main-nav a,.site-header .main-nav button{flex:0 0 auto;white-space:nowrap;font-size:clamp(.7rem,.64vw,.82rem);padding:.48rem .54rem}@media(max-width:1280px) and (min-width:901px){.site-header .main-nav{flex:1 0 100%;justify-content:center;padding-bottom:.45rem}}@media(max-width:900px){.site-header .main-nav{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;justify-content:flex-start!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.site-header .main-nav a,.site-header .main-nav button{font-size:.75rem;padding:.5rem .6rem}}

/* ===== kecb-global.v20260724-3.css ===== */
/* --- redesign.css --- */
:root{
  --library-ink:#28170f;
  --library-dark:#1f110c;
  --library-brown:#5e301c;
  --library-rust:#a85932;
  --library-gold:#e0a85c;
  --library-cream:#f6efe6;
  --library-paper:#fffdf9;
  --library-muted:#70594c;
  --library-rule:rgba(72,38,22,.16);
}
.site-header-v3{
  min-height:76px!important;height:auto!important;max-height:none!important;overflow:visible!important;
  display:grid!important;grid-template-columns:minmax(250px,1fr) auto!important;align-items:center!important;
  gap:.9rem!important;padding:.65rem max(1rem,calc((100vw - var(--max))/2))!important;
}
.site-header-v3 .brand{min-width:0}
.site-header-v3 .brand small{max-width:420px;white-space:normal;line-height:1.18}
.nav-menu-toggle{display:none;align-items:center;gap:.42rem;padding:.6rem .75rem;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(255,255,255,.06);color:#fff;font-weight:850;cursor:pointer}
.main-nav-v3{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:.22rem!important;overflow:visible!important;max-width:none!important}
.main-nav-v3>a,.main-nav-v3>button,.main-nav-v3 summary{font-size:.7rem!important;padding:.55rem .58rem!important;white-space:nowrap;text-transform:uppercase;letter-spacing:.065em;border-radius:999px}
.nav-more{position:relative}
.nav-more summary{list-style:none;cursor:pointer;color:#fff;font-weight:700}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more[open] summary,.nav-more summary:hover{background:rgba(255,255,255,.1);color:#ffe1a8}
.nav-more-menu{position:absolute;right:0;top:calc(100% + .55rem);z-index:200;width:245px;padding:.55rem;background:#2b1712;border:1px solid rgba(255,255,255,.15);border-radius:14px;box-shadow:0 18px 38px rgba(0,0,0,.3)}
.nav-more-menu a{display:block;padding:.72rem .8rem;border-radius:9px;color:#fff;text-decoration:none;text-transform:none;letter-spacing:0;font-size:.86rem}
.nav-more-menu a:hover,.nav-more-menu a.active{background:rgba(255,255,255,.1);color:#ffe1a8}
.main-nav-v3 .active{background:rgba(255,255,255,.13);color:#ffe1a8}
.main-nav-v3 .free-nav{background:var(--gold);color:var(--wood)}
.main-nav-v3 .speakeasy-nav{background:#7e1e17;color:#fff}
.main-nav-v3 .kitchen-nav{background:#6b371e;color:#fff}
.site-footer-v3{grid-template-columns:1.15fr repeat(4,minmax(155px,.72fr))}
.free-access-strip .free-access-message strong{max-width:820px}
.library-page{background:var(--library-cream)}
.visual-hero{position:relative;isolation:isolate;min-height:610px;display:grid;align-items:end;padding:clamp(4.5rem,10vw,8rem) max(1rem,calc((100vw - var(--max))/2)) 4.2rem;color:#fff;background-position:center;background-size:cover}
.visual-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(22,10,6,.9) 0%,rgba(22,10,6,.7) 42%,rgba(22,10,6,.22) 100%),linear-gradient(0deg,rgba(18,8,5,.82),transparent 55%)}
.visual-hero-content{max-width:880px}
.visual-hero h1{margin:.2rem 0 .9rem;font:800 clamp(3.2rem,7.5vw,7.1rem)/.91 Georgia,'Times New Roman',serif;letter-spacing:-.045em}
.visual-hero p{max-width:770px;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.65;color:#f0dfd1}
.visual-hero .eyebrow{color:#efbd75}
.visual-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.2rem}
.visual-hero .button.secondary{color:#fff;background:rgba(20,10,7,.24);border-color:rgba(255,255,255,.35)}
.library-stats{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}
.library-stats div{padding:.8rem 1rem;border-left:2px solid rgba(239,189,117,.6)}
.library-stats strong{display:block;font-size:1.4rem;color:#efbd75}
.library-stats span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#dacabc}
.discovery-section{padding:3rem 0}
.discovery-section h2{font:700 clamp(2.1rem,4.5vw,3.8rem)/1 Georgia,'Times New Roman',serif;margin:.25rem 0 .8rem}
.discovery-intro{max-width:900px;color:var(--library-muted);font-size:1.05rem;line-height:1.72}
.path-card-grid,.section-image-grid,.quick-grid,.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.2rem}
.path-card,.section-image-card,.quick-card,.collection-card{position:relative;display:flex;flex-direction:column;min-height:260px;padding:1.2rem;border:1px solid var(--library-rule);border-radius:18px;background:#fff;text-decoration:none;color:inherit;overflow:hidden;box-shadow:0 10px 28px rgba(42,22,13,.06)}
.path-card .path-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#5e301c;color:#fff;font-weight:900}
.path-card strong,.quick-card strong,.collection-card strong{font:700 1.35rem/1.15 Georgia,'Times New Roman',serif;color:#352016;margin-top:.75rem}
.path-card span,.quick-card span,.collection-card span{color:#6e584b;line-height:1.55;margin:.55rem 0 1rem}
.path-card small,.quick-card small,.collection-card small{margin-top:auto;color:#94502e;font-weight:850}
.section-image-card{min-height:360px;padding:0;background:#24130e}
.section-image-card picture,.section-image-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.section-image-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,11,7,.93),rgba(25,11,7,.08) 70%)}
.section-image-card-content{position:relative;z-index:1;margin-top:auto;padding:1.2rem;color:#fff}
.section-image-card-content strong{font:700 1.45rem/1.15 Georgia,'Times New Roman',serif}
.section-image-card-content span{display:block;color:#ead9cb;margin:.45rem 0 .8rem;line-height:1.5}
.section-image-card-content small{color:#f0bd75;font-weight:850}
.track-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:1rem;margin-top:1rem}
.track-summary,.track-steps{padding:1.3rem;background:#fff;border:1px solid var(--library-rule);border-radius:16px}
.track-summary h2,.track-steps h2{font-family:Georgia,'Times New Roman',serif}
.track-step{display:grid;grid-template-columns:44px 1fr;gap:.8rem;padding:.85rem 0;border-bottom:1px solid var(--library-rule)}
.track-step:last-child{border-bottom:0}
.track-step b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#6b371e;color:#fff}
.track-step strong{display:block;color:#412719}.track-step span{display:block;color:#6d574b;margin-top:.22rem}
.quick-card{min-height:220px}
.quick-card .time{display:inline-flex;align-self:flex-start;padding:.3rem .5rem;border-radius:999px;background:#f0dfcf;color:#6e3b25;font-size:.75rem;font-weight:850}
.discovery-band{padding:2.6rem max(1rem,calc((100vw - var(--max))/2));background:linear-gradient(135deg,#2a1710,#68371f);color:#fff}
.discovery-band h2{font:700 clamp(2.2rem,4.7vw,4rem)/1 Georgia,'Times New Roman',serif;margin:.2rem 0 .7rem}
.discovery-band p{max-width:850px;color:#ead8ca;line-height:1.65}
.topic-cluster{padding:1.15rem;background:#fff;border:1px solid var(--library-rule);border-radius:14px}
.topic-cluster h3{font-family:Georgia,'Times New Roman',serif;margin:.1rem 0 .55rem}
.topic-cluster a{display:block;padding:.38rem 0}
.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.glossary-entry{padding:1rem;background:#fff;border:1px solid var(--library-rule);border-radius:12px}
.glossary-entry dt{font:700 1.15rem Georgia,'Times New Roman',serif;color:#42271a}
.glossary-entry dd{margin:.35rem 0 0;color:#6c5549;line-height:1.55}
.section-visual-hero{position:relative;isolation:isolate;min-height:420px;display:grid;align-content:end;padding:4rem max(1rem,calc((100vw - var(--max))/2));color:#fff;background-position:center;background-size:cover}
.section-visual-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(25,12,7,.88),rgba(25,12,7,.35)),linear-gradient(0deg,rgba(25,12,7,.8),transparent)}
.section-visual-hero h1{font:800 clamp(3rem,7vw,6rem)/.94 Georgia,'Times New Roman',serif;margin:.2rem 0 .6rem}
.section-visual-hero p{max-width:800px;color:#eadbd0;line-height:1.65;font-size:1.08rem}
@media(max-width:1180px){
 .site-header-v3{grid-template-columns:minmax(220px,1fr) auto!important}
 .nav-menu-toggle{display:inline-flex}
 .main-nav-v3{display:none!important;grid-column:1/-1!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:.65rem;border-top:1px solid rgba(255,255,255,.1)}
 .main-nav-v3.is-open{display:flex!important}
 .main-nav-v3>a,.main-nav-v3>button,.main-nav-v3 summary{width:100%;text-align:left;border-radius:9px;font-size:.82rem!important;padding:.75rem .8rem!important}
 .nav-more-menu{position:static;width:auto;margin:.35rem 0 0;box-shadow:none}
 .site-footer-v3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
 .path-card-grid,.section-image-grid,.quick-grid,.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .track-layout{grid-template-columns:1fr}
 .visual-hero{min-height:580px}
}
@media(max-width:600px){
 .site-header-v3 .brand small{font-size:.63rem}
 .path-card-grid,.section-image-grid,.quick-grid,.collection-grid,.glossary-grid{grid-template-columns:1fr}
 .site-footer-v3{grid-template-columns:1fr}
 .visual-hero{min-height:560px;padding-bottom:3rem}
 .visual-hero h1{font-size:clamp(2.8rem,14vw,4.7rem)}
}
@media print{.nav-menu-toggle,.section-image-grid{display:none!important}}
/* --- visual-polish.css --- */
:root{
  --accent:#9b5734;--accent-deep:#5e301c;--accent-soft:#ecd8c6;--accent-glow:rgba(224,168,92,.24);
  --page-paper:#fffdf8;--page-wash:#f4ece2;--page-ink:#2d1b13;--page-muted:#6c574b;--page-rule:rgba(72,38,22,.15);
  --shadow-soft:0 12px 32px rgba(40,19,10,.08);--shadow-lift:0 20px 45px rgba(40,19,10,.14)
}
body.theme-books{--accent:#8f4b34;--accent-deep:#4d281d;--accent-soft:#ead8c8;--page-wash:#f4ede4}
body.theme-tools{--accent:#3f6370;--accent-deep:#243e47;--accent-soft:#dce8eb;--page-wash:#edf3f4}
body.theme-speakeasy{--accent:#a33a31;--accent-deep:#4b1714;--accent-soft:#ecd3cf;--page-wash:#f2e8e4}
body.theme-kitchen{--accent:#a35d31;--accent-deep:#5e321c;--accent-soft:#ead5c2;--page-wash:#f4ebe1}
body.theme-pit{--accent:#c66332;--accent-deep:#32231c;--accent-soft:#e7d8cb;--page-wash:#eee8e1}
body.theme-dance{--accent:#a36d37;--accent-deep:#583a21;--accent-soft:#ead9bd;--page-wash:#f5eee1}
body.theme-preservation{--accent:#596345;--accent-deep:#303927;--accent-soft:#dfe5d4;--page-wash:#eef0e8}
body.theme-music{--accent:#8d3f53;--accent-deep:#48212c;--accent-soft:#ead4da;--page-wash:#f2e9ec}
body.theme-library{--accent:#9b5734;--accent-deep:#5e301c;--accent-soft:#ecd8c6;--page-wash:#f4ece2}
body{background-color:var(--page-wash);background-image:radial-gradient(circle at 20% 5%,rgba(255,255,255,.9),transparent 28%),linear-gradient(115deg,rgba(255,255,255,.2),transparent 40%)}
body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}
.honky-icon{width:1.35em;height:1.35em;display:inline-block;fill:none;flex:0 0 auto}
.card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);margin-bottom:.75rem;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}
.card-icon .honky-icon{width:25px;height:25px}
.reading-progress{position:fixed;left:0;right:0;top:0;height:4px;z-index:10000;background:rgba(255,255,255,.08);pointer-events:none}
.reading-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),#edba68);box-shadow:0 0 12px var(--accent-glow);transition:width .08s linear}
.mobile-dock{display:none}
.visual-hero,.section-visual-hero,.kitchen-hero,.speakeasy-hero,.tool-suite-hero{box-shadow:inset 0 -1px rgba(255,255,255,.09)}
.visual-hero:after,.section-visual-hero:after{content:"";position:absolute;inset:auto 0 0;height:100px;background:linear-gradient(transparent,var(--page-wash));z-index:-1}
.path-card,.quick-card,.collection-card,.kitchen-card,.new-tool-card,.tool-role-card,.topic-cluster{border-color:var(--page-rule)!important;box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;background-color:rgba(255,253,248,.94)!important}
.path-card:hover,.quick-card:hover,.collection-card:hover,.kitchen-card:hover,.new-tool-card:hover,.tool-role-card:hover,.topic-cluster:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:color-mix(in srgb,var(--accent) 45%,transparent)!important}
.path-card .path-icon{display:none!important}
.path-card strong,.quick-card strong,.collection-card strong,.kitchen-card strong,.new-tool-card strong{color:var(--accent-deep)!important}
.path-card small,.quick-card small,.collection-card small,.kitchen-card small,.new-tool-card small{color:var(--accent)!important}
.section-image-card{box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease}
.section-image-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
.section-image-card img{transition:transform .45s ease,filter .45s ease}
.section-image-card:hover img{transform:scale(1.035);filter:saturate(1.08)}
.section-image-card .card-icon{position:absolute;z-index:2;top:1rem;left:1rem;background:rgba(26,13,8,.68);color:#ffe4b1;backdrop-filter:blur(8px)}
.polish-eyebrow{display:inline-flex;align-items:center;gap:.42rem;color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.73rem}
.editorial-grid{display:grid;grid-template-columns:minmax(210px,.31fr) minmax(0,1fr);gap:1.35rem;align-items:start;margin-top:1.35rem}
.editorial-rail{position:sticky;top:98px;padding:1rem;background:rgba(255,253,248,.92);border:1px solid var(--page-rule);border-radius:16px;box-shadow:var(--shadow-soft);max-height:calc(100vh - 120px);overflow:auto}
.editorial-rail h2{font:700 1.1rem/1.2 Georgia,'Times New Roman',serif;margin:.15rem 0 .7rem;color:var(--accent-deep)}
.editorial-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin:.6rem 0 .85rem}
.editorial-meta span{display:inline-flex;align-items:center;gap:.3rem;padding:.34rem .52rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:.72rem;font-weight:850}
.editorial-toc{display:grid;gap:.18rem}
.editorial-toc a{display:block;padding:.47rem .55rem;border-radius:8px;color:var(--page-muted);text-decoration:none;font-size:.82rem;line-height:1.3;border-left:3px solid transparent}
.editorial-toc a:hover,.editorial-toc a.is-active{color:var(--accent-deep);background:var(--accent-soft);border-left-color:var(--accent)}
.editorial-rail-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.8rem}
.editorial-rail button{padding:.55rem;border:1px solid var(--page-rule);border-radius:8px;background:#fff;color:var(--accent-deep);font-weight:800;cursor:pointer}
.editorial-flow{min-width:0}
.editorial-flow>.kitchen-panel,.editorial-flow>.prose-section,.editorial-flow>section{scroll-margin-top:110px}
.kitchen-longform,.prose-section,.chapter-section{position:relative;background:rgba(255,253,248,.96)!important;box-shadow:var(--shadow-soft)!important;border-color:var(--page-rule)!important}
.kitchen-longform h2,.kitchen-panel h2,.chapter-main h2{color:var(--accent-deep)}
.kitchen-longform h2:after,.chapter-main h2:after{content:"";display:block;width:62px;height:3px;margin-top:.55rem;border-radius:3px;background:linear-gradient(90deg,var(--accent),transparent)}
.kitchen-longform p,.chapter-main p{line-height:1.76}
.article-callout{display:grid;grid-template-columns:auto 1fr;gap:.75rem;margin:1rem 0;padding:1rem 1.05rem;border-radius:13px;border:1px solid var(--page-rule);background:var(--accent-soft);color:var(--page-ink)}
.article-callout .honky-icon{width:28px;height:28px;color:var(--accent-deep)}
.article-callout strong{display:block;color:var(--accent-deep);margin-bottom:.2rem}
.visual-diagram{margin:1.4rem 0;padding:.75rem;border-radius:18px;background:#fff;border:1px solid var(--page-rule);box-shadow:var(--shadow-soft)}
.visual-diagram img{display:block;width:100%;height:auto;border-radius:12px}
.visual-diagram figcaption{padding:.7rem .5rem .25rem;color:var(--page-muted);font-size:.84rem;line-height:1.5}
.chapter-main{background:rgba(255,253,248,.95);border-radius:18px;box-shadow:var(--shadow-soft);padding:clamp(1.15rem,3vw,2.2rem)}
.chapter-visual-kicker{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-.25rem 0 1rem;padding:.8rem 1rem;border-radius:12px;background:linear-gradient(120deg,var(--accent-soft),rgba(255,255,255,.8));border:1px solid var(--page-rule)}
.chapter-visual-kicker>span{display:flex;align-items:center;gap:.55rem;color:var(--accent-deep);font-weight:900}
.chapter-visual-kicker small{color:var(--page-muted)}
.recipe-visual-card{position:relative;overflow:hidden;display:grid;grid-template-columns:170px 1fr;gap:1.2rem;align-items:center;margin:1rem 0 1.3rem;padding:1.15rem;border-radius:18px;background:linear-gradient(120deg,var(--accent-deep),color-mix(in srgb,var(--accent) 80%,#1b100a));color:#fff;box-shadow:var(--shadow-lift)}
.recipe-visual-card:after{content:"";position:absolute;inset:0;opacity:.13;background-image:repeating-radial-gradient(circle at 20% 50%,transparent 0 12px,#fff 13px 14px)}
.recipe-visual-art,.recipe-visual-copy{position:relative;z-index:1}
.recipe-visual-art{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08)}
.recipe-visual-art .honky-icon{width:82px;height:82px;color:#ffd48f}
.recipe-visual-copy h2{font:700 clamp(1.8rem,4vw,3.1rem)/1 Georgia,'Times New Roman',serif;margin:.15rem 0 .4rem;color:#fff}
.recipe-visual-copy p{color:#f2dfd1;line-height:1.55;margin:.2rem 0}
.service-fit{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.75rem}
.service-fit span{padding:.34rem .55rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:.73rem;font-weight:850}
.recipe-layout,.recipe-content-grid{gap:1.15rem!important}
.recipe-ingredients,.recipe-method,.recipe-panel,.recipe-safety,.recipe-safety-summary{box-shadow:var(--shadow-soft)!important;border-color:var(--page-rule)!important}
.recipe-meta div,.recipe-fact{background:rgba(255,253,248,.95)!important;border-color:var(--page-rule)!important;box-shadow:0 7px 18px rgba(42,22,13,.05)}
.recipe-visual img{border-radius:18px;box-shadow:var(--shadow-lift);object-fit:cover}
.recipe-mobile-actions{display:none}
.wood-profile-dashboard{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);gap:1rem;margin:1rem 0 1.35rem}
.wood-swatch{position:relative;display:grid;place-items:center;min-height:300px;border-radius:20px;overflow:hidden;color:#fff;box-shadow:var(--shadow-lift);background:linear-gradient(120deg,#4a2717,#a06035 55%,#5d321d)}
.wood-swatch:before{content:"";position:absolute;inset:-20%;background:repeating-radial-gradient(ellipse at 20% 50%,transparent 0 22px,rgba(255,255,255,.13) 23px 25px);transform:rotate(-8deg)}
.wood-swatch .honky-icon{position:relative;width:105px;height:105px;color:#ffd69b}
.wood-swatch strong{position:absolute;bottom:1rem;left:1rem;right:1rem;text-align:center;font:700 1.5rem Georgia,'Times New Roman',serif}
.wood-metrics{padding:1.1rem;background:rgba(255,253,248,.95);border:1px solid var(--page-rule);border-radius:18px;box-shadow:var(--shadow-soft)}
.wood-meter{display:grid;grid-template-columns:135px 1fr 36px;gap:.65rem;align-items:center;margin:.65rem 0}
.wood-meter label{font-weight:850;color:var(--accent-deep);font-size:.86rem}
.wood-meter-track{height:12px;border-radius:999px;background:#e7ddd2;overflow:hidden}
.wood-meter-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#e7a65b)}
.wood-meter b{text-align:right;color:var(--page-muted)}
.wood-comparison{overflow:auto;margin-top:1rem;border-radius:16px;box-shadow:var(--shadow-soft)}
.wood-comparison table{min-width:940px;width:100%;border-collapse:collapse;background:#fff}
.wood-comparison th,.wood-comparison td{padding:.7rem;border:1px solid var(--page-rule);text-align:left;vertical-align:middle}
.wood-comparison thead th{position:sticky;top:0;background:var(--accent-deep);color:#fff}
.mini-meter{width:100px;height:8px;border-radius:99px;background:#eadfd5;overflow:hidden}.mini-meter span{display:block;height:100%;background:var(--accent)}
.tool-utility-drawer{margin:1rem auto;padding:.15rem;border:1px solid var(--page-rule);border-radius:14px;background:rgba(255,253,248,.94);box-shadow:var(--shadow-soft)}
.tool-utility-drawer>summary{cursor:pointer;padding:.85rem 1rem;font-weight:900;color:var(--accent-deep);list-style:none;display:flex;align-items:center;justify-content:space-between}
.tool-utility-drawer>summary:after{content:"+";font-size:1.3rem}.tool-utility-drawer[open]>summary:after{content:"−"}
.tool-utility-drawer>summary::-webkit-details-marker{display:none}.tool-utility-drawer-inner{padding:0 1rem 1rem}
.tool-use-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.tool-use-step{display:grid;grid-template-columns:36px 1fr;gap:.55rem;padding:.8rem;border:1px solid var(--page-rule);border-radius:12px;background:rgba(255,253,248,.92)}
.tool-use-step b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff}.tool-use-step span{font-size:.83rem;line-height:1.45;color:var(--page-muted)}
.tool-app{align-items:start}.tool-form,.tool-output{box-shadow:var(--shadow-soft)!important;border-color:var(--page-rule)!important}.tool-output{position:sticky;top:100px}
.tool-suite-hero{background:radial-gradient(circle at 85% 20%,var(--accent-glow),transparent 28%),linear-gradient(115deg,var(--accent-deep),color-mix(in srgb,var(--accent) 72%,#1d100b))!important}
.tool-suite-hero:after{content:"";display:block;position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(135deg,transparent 0 34px,rgba(255,255,255,.025) 35px 36px)}
.tool-suite-hero{position:relative;overflow:hidden}.tool-suite-hero>*{position:relative;z-index:1}
.tool-result-explanation{background:var(--accent-soft)!important;border-left-color:var(--accent)!important}
.site-header-v3{box-shadow:0 8px 22px rgba(18,8,5,.18)}
.bottom-safe-space{height:0}
.ecosystem-figure{margin:0 auto 2rem;max-width:1100px}
.ecosystem-figure img{width:100%;height:auto;border-radius:20px;box-shadow:var(--shadow-soft)}
.polish-section-intro{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;margin:1rem 0 1.3rem;padding:1rem;border-radius:14px;background:rgba(255,253,248,.85);border:1px solid var(--page-rule)}
.polish-section-intro .card-icon{margin:0}
@media(max-width:1050px){.editorial-grid{grid-template-columns:1fr}.editorial-rail{position:relative;top:auto;max-height:none}.editorial-toc{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-output{position:relative;top:auto}}
@media(max-width:760px){
  body{padding-bottom:66px}.bottom-safe-space{height:66px}
  .mobile-dock{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:.65rem;right:.65rem;bottom:.6rem;z-index:9500;padding:.42rem;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(30,16,11,.94);box-shadow:0 14px 36px rgba(0,0,0,.3);backdrop-filter:blur(16px)}
  .mobile-dock a,.mobile-dock button{display:grid;place-items:center;gap:.15rem;min-height:48px;border:0;background:transparent;color:#f8e8da;text-decoration:none;font-size:.65rem;font-weight:850}.mobile-dock .honky-icon{width:20px;height:20px}
  .path-card-grid,.quick-grid,.collection-grid,.new-tools-grid,.kitchen-card-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:.8rem;padding:.2rem 1rem 1rem;margin-left:-1rem;margin-right:-1rem;scrollbar-width:thin}
  .path-card-grid>* ,.quick-grid>* ,.collection-grid>* ,.new-tools-grid>* ,.kitchen-card-grid>*{flex:0 0 min(83vw,340px);scroll-snap-align:start}
  .editorial-toc{grid-template-columns:1fr}.editorial-rail{padding:.8rem}.editorial-rail-actions{grid-template-columns:1fr 1fr}
  .recipe-visual-card{grid-template-columns:90px 1fr;padding:.85rem}.recipe-visual-art{width:82px;height:82px}.recipe-visual-art .honky-icon{width:46px;height:46px}.recipe-visual-copy h2{font-size:1.75rem}
  .recipe-mobile-actions{position:sticky;bottom:76px;z-index:80;display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin:1rem 0;padding:.45rem;border-radius:13px;background:rgba(36,19,13,.94);box-shadow:0 10px 28px rgba(0,0,0,.25);backdrop-filter:blur(12px)}
  .recipe-mobile-actions a,.recipe-mobile-actions button{min-height:43px;border:0;border-radius:8px;background:rgba(255,255,255,.09);color:#fff;font-size:.7rem;font-weight:850;text-decoration:none;display:grid;place-items:center}
  .wood-profile-dashboard{grid-template-columns:1fr}.wood-swatch{min-height:220px}.tool-use-steps{grid-template-columns:1fr}.tool-app{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reading-progress span{transition:none!important}}
@media print{.reading-progress,.mobile-dock,.editorial-rail,.recipe-mobile-actions,.tool-use-steps{display:none!important}.editorial-grid{display:block}.chapter-main,.kitchen-longform{box-shadow:none!important}}
/* --- consultant-positioning.css --- */
/* Riley Epperson educator and consultant positioning */
.educator-consultant-strip{
  position:relative;
  z-index:98;
  background:
    linear-gradient(90deg,rgba(255,255,255,.58),transparent 34%),
    #f4ede4!important;
  color:#2f1b12!important;
  border-top:3px solid #a85b35!important;
  border-bottom:1px solid rgba(72,38,22,.18)!important;
  box-shadow:0 8px 22px rgba(34,17,10,.08);
  font-family:Arial,sans-serif;
}
.educator-consultant-inner{
  width:min(var(--max),calc(100% - 2rem));
  min-height:66px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem 2rem;
  padding:.55rem 0;
}
.educator-consultant-identity{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.educator-monogram{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(145deg,#71361e,#a85b35);
  color:#fff7ec;
  border:1px solid rgba(255,255,255,.36);
  box-shadow:0 5px 14px rgba(70,33,18,.18);
  font:800 .82rem/1 Georgia,"Times New Roman",serif;
  letter-spacing:.08em;
}
.educator-identity-copy{
  display:grid;
  gap:.13rem;
  min-width:0;
}
.educator-name{
  color:#8d492b;
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1;
  text-transform:uppercase;
}
.educator-identity-copy strong{
  max-width:720px;
  color:#342016;
  font:700 clamp(.78rem,1vw,.94rem)/1.32 Georgia,"Times New Roman",serif;
}
.educator-consultant-identity:hover strong,
.educator-consultant-identity:focus-visible strong{color:#8c4729}
.educator-consultant-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.55rem;
  flex:0 0 auto;
}
.educator-hire-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.62rem .9rem;
  border-radius:999px;
  background:#63321e;
  color:#fff!important;
  border:1px solid #63321e;
  box-shadow:0 6px 14px rgba(68,31,17,.14);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none;
  white-space:nowrap;
}
.educator-hire-button:hover,.educator-hire-button:focus-visible{
  background:#8d492b;
  border-color:#8d492b;
  transform:translateY(-1px);
}
.educator-follow-label{
  color:#755d50;
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  white-space:nowrap;
}
.educator-social-links{
  display:flex;
  align-items:center;
  gap:.28rem;
}
.educator-social-links a{
  display:inline-flex;
  align-items:center;
  gap:.32rem;
  min-height:36px;
  padding:.42rem .54rem;
  border:1px solid rgba(72,38,22,.18);
  border-radius:999px;
  background:rgba(255,255,255,.63);
  color:#4b3023;
  text-decoration:none;
  font-size:.68rem;
  font-weight:850;
  white-space:nowrap;
}
.educator-social-links a span{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#e9d7c5;
  color:#6b371f;
  font-size:.72rem;
  font-weight:900;
}
.educator-social-links a:hover,.educator-social-links a:focus-visible{
  background:#fff;
  border-color:#a85b35;
  color:#7e3f25;
}
.consultant-nav-link{
  background:#e0a85c!important;
  color:#321b10!important;
}
.consultant-nav-link:hover,.consultant-nav-link:focus-visible{
  background:#f1c981!important;
}
.consultant-home-band{
  width:min(var(--max),calc(100% - 2rem));
  margin:3rem auto;
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  gap:clamp(1.2rem,3vw,2.5rem);
  align-items:center;
  padding:clamp(1.25rem,3vw,2.2rem);
  border:1px solid rgba(72,38,22,.17);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 10%,rgba(224,168,92,.22),transparent 32%),
    linear-gradient(135deg,#fffdf9,#f2e4d6);
  box-shadow:0 18px 45px rgba(46,23,13,.09);
}
.consultant-home-portrait{
  position:relative;
  overflow:hidden;
  min-height:280px;
  border-radius:18px;
  background:#2c1710;
}
.consultant-home-portrait img{
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
  display:block;
}
.consultant-home-copy h2{
  margin:.15rem 0 .65rem;
  font:700 clamp(2.2rem,4.3vw,4rem)/.98 Georgia,"Times New Roman",serif;
  color:#342016;
}
.consultant-home-copy>p{
  max-width:820px;
  color:#6b5549;
  font-size:1.04rem;
  line-height:1.7;
}
.consultant-action-row,.follow-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  align-items:center;
  margin-top:1rem;
}
.follow-action-row{margin-top:.8rem}
.social-follow-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
  margin-top:1.15rem;
}
.social-follow-card{
  display:flex;
  flex-direction:column;
  gap:.28rem;
  padding:1rem;
  border:1px solid rgba(72,38,22,.15);
  border-radius:14px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(46,23,13,.05);
}
.social-follow-card span{
  color:#8d492b;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.social-follow-card strong{
  color:#392219;
  font:700 1.05rem/1.2 Georgia,"Times New Roman",serif;
}
.social-follow-card small{
  color:#70594c;
  line-height:1.45;
}
.social-follow-card:hover,.social-follow-card:focus-visible{
  border-color:#a85b35;
  transform:translateY(-2px);
}
.consulting-hero{
  position:relative;
  isolation:isolate;
  min-height:560px;
  display:grid;
  align-items:end;
  padding:clamp(4rem,9vw,7.5rem) max(1rem,calc((100vw - var(--max))/2)) 4rem;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(27,12,7,.93),rgba(27,12,7,.68) 50%,rgba(27,12,7,.25)),
    url("/assets/images/redesign/hero-about-1800.jpg") center/cover;
}
.consulting-hero-content{max-width:900px}
.consulting-hero h1{
  margin:.2rem 0 .8rem;
  font:800 clamp(3.1rem,7vw,6.6rem)/.91 Georgia,"Times New Roman",serif;
  letter-spacing:-.04em;
}
.consulting-hero p{
  max-width:780px;
  color:#efded1;
  font-size:clamp(1.05rem,2vw,1.32rem);
  line-height:1.65;
}
.consulting-overview{
  width:min(var(--max),calc(100% - 2rem));
  margin:0 auto;
  padding:3rem 0;
}
.consulting-profile-grid{
  display:grid;
  grid-template-columns:minmax(230px,.62fr) minmax(0,1.38fr);
  gap:1.3rem;
}
.consulting-profile-card,.consulting-copy-card{
  padding:1.25rem;
  background:#fff;
  border:1px solid rgba(72,38,22,.16);
  border-radius:18px;
}
.consulting-profile-card img{
  width:100%;
  border-radius:13px;
  aspect-ratio:1/1;
  object-fit:cover;
}
.consulting-profile-card h2,.consulting-copy-card h2,.consulting-section h2{
  font-family:Georgia,"Times New Roman",serif;
}
.consulting-profile-card h2{margin:.8rem 0 .35rem}
.consulting-profile-card p,.consulting-copy-card p{color:#6b5549;line-height:1.66}
.consulting-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.15rem;
}
.consulting-service-card{
  min-height:235px;
  padding:1.15rem;
  border:1px solid rgba(72,38,22,.15);
  border-radius:16px;
  background:#fff;
}
.consulting-service-card b{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#6b371f;
  color:#fff;
  font-size:.75rem;
}
.consulting-service-card h3{
  margin:.75rem 0 .45rem;
  color:#382117;
  font:700 1.3rem/1.16 Georgia,"Times New Roman",serif;
}
.consulting-service-card p{color:#6c5549;line-height:1.58}
.engagement-format-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
  margin-top:1rem;
}
.engagement-format{
  padding:1rem;
  border-left:4px solid #a85b35;
  border-radius:10px;
  background:#f7eee5;
}
.engagement-format strong{display:block;color:#43281b}
.engagement-format span{display:block;margin-top:.3rem;color:#70594c;line-height:1.48}
.consulting-form-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:1rem;
  align-items:start;
}
.consulting-form-panel,.consulting-side-panel{
  padding:1.25rem;
  border:1px solid rgba(72,38,22,.16);
  border-radius:18px;
  background:#fff;
}
.consulting-form-panel h2,.consulting-side-panel h2{
  font-family:Georgia,"Times New Roman",serif;
}
.consulting-side-panel{position:sticky;top:100px}
.consulting-scope-note{
  padding:1rem;
  border-left:5px solid #9c5633;
  border-radius:10px;
  background:#f5e8dc;
  color:#5f493d;
  line-height:1.58;
  font-size:.9rem;
}
.footer-social .footer-work-link{
  display:inline-flex;
  justify-content:center;
  margin:.2rem 0 .45rem;
  padding:.58rem .7rem;
  border-radius:9px;
  background:#e0a85c;
  color:#2d190e!important;
  font-weight:900;
}
.footer-social .footer-follow-intro{
  color:#dfcdbf;
  font-size:.84rem;
  line-height:1.48;
}
@media(max-width:1100px){
  .educator-consultant-inner{align-items:flex-start;flex-direction:column;gap:.55rem;padding:.65rem 0}
  .educator-consultant-actions{width:100%;justify-content:flex-start}
  .educator-identity-copy strong{max-width:none}
}
@media(max-width:820px){
  .consultant-home-band,.consulting-profile-grid,.consulting-form-layout{grid-template-columns:1fr}
  .consultant-home-portrait{min-height:360px}
  .consulting-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .engagement-format-grid,.social-follow-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consulting-side-panel{position:static}
}
@media(max-width:620px){
  .educator-consultant-inner{width:min(100% - 1rem,var(--max))}
  .educator-consultant-actions{display:grid;grid-template-columns:1fr auto;width:100%}
  .educator-hire-button{grid-column:1/-1;width:100%}
  .educator-follow-label{align-self:center}
  .educator-social-links{overflow-x:auto;padding-bottom:.12rem}
  .educator-social-links a b{display:none}
  .educator-social-links a{padding:.4rem}
  .educator-social-links a span{width:24px;height:24px}
  .consulting-service-grid,.engagement-format-grid,.social-follow-card-grid{grid-template-columns:1fr}
  .consulting-hero{min-height:520px}
}
@media print{
  .educator-consultant-strip,.consultant-home-band,.social-follow-card-grid{display:none!important}
}
/* --- whats-new.css --- */
/* What's New */
.whats-new-page{background:#f8f1e9}
.whats-new-hero{
  position:relative;
  isolation:isolate;
  min-height:470px;
  display:grid;
  align-items:end;
  padding:clamp(4rem,9vw,7rem) max(1rem,calc((100vw - var(--max))/2)) 3.5rem;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(26,11,6,.94),rgba(26,11,6,.66) 55%,rgba(26,11,6,.25)),
    url("/assets/images/redesign/hero-home-1800.jpg") center/cover;
}
.whats-new-hero-content{max-width:920px}
.whats-new-hero h1{
  margin:.15rem 0 .7rem;
  font:800 clamp(3.3rem,7vw,6.6rem)/.92 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}
.whats-new-hero p{
  max-width:780px;
  color:#efded1;
  font-size:clamp(1.03rem,2vw,1.28rem);
  line-height:1.65;
}
.whats-new-section{
  width:min(var(--max),calc(100% - 2rem));
  margin:0 auto;
  padding:3rem 0;
}
.whats-new-section h2,
.home-whats-new h2{
  margin:.14rem 0 .6rem;
  color:#342016;
  font:700 clamp(2.25rem,4.5vw,4rem)/1 Georgia,"Times New Roman",serif;
}
.whats-new-intro{
  max-width:860px;
  color:#6b5549;
  font-size:1.02rem;
  line-height:1.68;
}
.whats-new-feature{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);
  gap:1rem;
  padding:1.25rem;
  border:1px solid rgba(91,48,29,.18);
  border-radius:20px;
  background:
    radial-gradient(circle at 90% 10%,rgba(225,168,91,.22),transparent 34%),
    linear-gradient(135deg,#fffdf9,#f1e2d3);
  box-shadow:0 18px 42px rgba(45,23,13,.08);
}
.whats-new-feature-copy h2{
  margin:.15rem 0 .55rem;
  font:700 clamp(2.2rem,4vw,3.7rem)/.98 Georgia,"Times New Roman",serif;
}
.whats-new-feature-copy p{
  color:#6a5448;
  line-height:1.65;
}
.whats-new-feature-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-bottom:.55rem;
}
.whats-new-badge,
.whats-new-section-badge,
.whats-new-date{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:.32rem .48rem;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.whats-new-badge{background:#733c24;color:#fff}
.whats-new-section-badge{background:#e7d2bd;color:#653822}
.whats-new-date{background:#fff;color:#745d50;border:1px solid rgba(91,48,29,.15)}
.whats-new-feature-side{
  display:grid;
  align-content:center;
  gap:.65rem;
  padding:1rem;
  border-radius:15px;
  background:#3c2117;
  color:#fff;
}
.whats-new-feature-side strong{
  color:#efbd78;
  font:700 1.25rem/1.2 Georgia,"Times New Roman",serif;
}
.whats-new-feature-side span{
  color:#e2d0c4;
  line-height:1.52;
}
.whats-new-grid,
.home-whats-new-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
  margin-top:1.15rem;
}
.whats-new-card{
  display:flex;
  flex-direction:column;
  min-height:250px;
  padding:1rem;
  border:1px solid rgba(91,48,29,.16);
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 10px 27px rgba(44,22,12,.055);
}
.whats-new-card:hover,
.whats-new-card:focus-visible{
  transform:translateY(-2px);
  border-color:#a45834;
}
.whats-new-card h3{
  margin:.72rem 0 .42rem;
  color:#3b2318;
  font:700 1.32rem/1.15 Georgia,"Times New Roman",serif;
}
.whats-new-card p{
  margin:0;
  color:#6f594d;
  line-height:1.54;
}
.whats-new-card small{
  margin-top:auto;
  padding-top:.85rem;
  color:#964c2d;
  font-weight:900;
}
.whats-new-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
}
.whats-new-group{
  margin-top:2rem;
}
.whats-new-group-header{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:end;
  padding-bottom:.7rem;
  border-bottom:1px solid rgba(91,48,29,.17);
}
.whats-new-group-header h2{font-size:clamp(1.8rem,3.5vw,2.8rem)}
.whats-new-group-header time{
  color:#765f52;
  font-size:.78rem;
  font-weight:850;
}
.whats-new-purpose{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);
  gap:1rem;
  padding:1.1rem;
  border:1px solid rgba(91,48,29,.15);
  border-radius:17px;
  background:#fff;
}
.whats-new-purpose h2{
  font-size:clamp(1.8rem,3.5vw,2.7rem);
}
.whats-new-purpose p,
.whats-new-purpose li{
  color:#6c5549;
  line-height:1.6;
}
.whats-new-follow{
  padding:1rem;
  border-radius:13px;
  background:#f0e1d3;
}
.whats-new-follow strong{
  display:block;
  color:#43271b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.08rem;
}
.whats-new-follow p{
  margin:.4rem 0 .8rem;
  font-size:.86rem;
}
.home-whats-new{
  width:min(var(--max),calc(100% - 2rem));
  margin:3rem auto;
  padding:clamp(1.2rem,3vw,2rem);
  border:1px solid rgba(91,48,29,.17);
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 8%,rgba(224,168,92,.2),transparent 31%),
    linear-gradient(135deg,#fffdf9,#f4e8dc);
  box-shadow:0 17px 40px rgba(44,22,12,.07);
}
.home-whats-new-header{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1rem;
}
.home-whats-new-header p{
  max-width:700px;
  margin:.3rem 0 0;
  color:#6b5549;
  line-height:1.58;
}
.home-whats-new .whats-new-card{
  min-height:225px;
}
.whats-new-nav-link{
  position:relative;
}
.whats-new-nav-link:after{
  content:"New";
  display:inline-flex;
  margin-left:.35rem;
  padding:.17rem .3rem;
  border-radius:999px;
  background:#e1a85c;
  color:#321a0f;
  font-size:.54rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  vertical-align:middle;
}
@media(max-width:930px){
  .whats-new-feature,
  .whats-new-purpose{grid-template-columns:1fr}
  .whats-new-grid,
  .home-whats-new-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .whats-new-hero{min-height:430px}
  .whats-new-grid,
  .home-whats-new-grid{grid-template-columns:1fr}
  .home-whats-new-header,
  .whats-new-group-header{align-items:flex-start;flex-direction:column}
}
@media print{
  .home-whats-new,
  .whats-new-hero .visual-hero-actions{display:none!important}
}
/* --- mobile-experience.css --- */
/* Sitewide mobile experience and overflow protection */
html{
  max-width:100%;
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  max-width:100%;
  overflow-x:clip;
}
main,header,footer,section,article,aside,nav,form,fieldset,div{
  min-width:0;
}
img,video,canvas,iframe{
  max-width:100%;
  height:auto;
}
input,textarea,select,button{
  max-width:100%;
}
textarea{resize:vertical}
pre,code,.code-block{
  max-width:100%;
  overflow-x:auto;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
a,button,summary,input,select,textarea{
  -webkit-tap-highlight-color:rgba(154,80,48,.16);
}
:where(a,button,summary,input,select,textarea):focus-visible{
  outline:3px solid rgba(154,80,48,.34);
  outline-offset:2px;
}
.mobile-table-scroll{
  width:100%;
  max-width:100%;
  margin:1rem 0;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  border-radius:11px;
}
.mobile-table-scroll>table{
  margin:0;
}
.mobile-table-scroll:focus-visible{
  outline:3px solid rgba(154,80,48,.28);
  outline-offset:2px;
}
@media(max-width:900px){
  .site-header-v3{
    grid-template-columns:minmax(0,1fr) auto!important;
    padding-inline:max(.75rem,env(safe-area-inset-left)) max(.75rem,env(safe-area-inset-right))!important;
  }
  .site-header-v3 .brand{
    min-width:0;
    max-width:100%;
  }
  .site-header-v3 .brand>span:last-child{
    min-width:0;
  }
  .site-header-v3 .brand strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .main-nav-v3.is-open{
    max-height:calc(100dvh - 70px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-bottom:max(.85rem,env(safe-area-inset-bottom));
  }
  .nav-menu-toggle,
  .main-nav-v3>a,
  .main-nav-v3>button,
  .main-nav-v3 summary{
    min-height:44px;
  }
  .home-hero,.visual-hero,.section-visual-hero,.food-truck-hero,.whats-new-hero,.speakeasy-hero,.tool-suite-hero{
    min-height:auto!important;
  }
  .section-visual-hero,.food-truck-hero,.whats-new-hero{
    padding-top:clamp(3rem,10vw,5rem)!important;
    padding-bottom:clamp(2.5rem,9vw,4rem)!important;
  }
  .home-hero{
    padding-top:clamp(4rem,12vw,6rem)!important;
    padding-bottom:clamp(3rem,10vw,5rem)!important;
  }
  .food-truck-roadmap{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  body{
    padding-bottom:max(72px,calc(64px + env(safe-area-inset-bottom)))!important;
  }
  .bottom-safe-space{
    height:max(72px,calc(64px + env(safe-area-inset-bottom)))!important;
  }
  .mobile-dock{
    left:max(.45rem,env(safe-area-inset-left))!important;
    right:max(.45rem,env(safe-area-inset-right))!important;
    bottom:max(.4rem,env(safe-area-inset-bottom))!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .mobile-dock a,.mobile-dock button{
    min-width:0;
    min-height:48px!important;
    padding:.3rem!important;
  }
  .site-header-v3{
    min-height:62px!important;
  }
  .site-header-v3 .brand-mark{
    width:38px!important;
    height:38px!important;
    flex:0 0 auto;
  }
  .site-header-v3 .brand strong{
    font-size:.84rem!important;
    line-height:1.05!important;
    white-space:nowrap;
  }
  .site-header-v3 .brand small{
    display:none!important;
  }
  .nav-menu-toggle{
    padding:.55rem .65rem!important;
    white-space:nowrap;
  }
  .educator-consultant-inner{
    width:100%!important;
    padding-inline:.75rem!important;
  }
  .educator-consultant-identity{
    min-width:0;
  }
  .educator-name{
    font-size:.68rem!important;
  }
  .educator-identity-copy strong{
    font-size:.78rem!important;
    line-height:1.28!important;
  }
  .educator-consultant-actions{
    width:100%;
  }
  .educator-hire-button{
    min-height:44px;
  }
  .wrap,.kitchen-wrap,.speakeasy-wrap,.tool-suite-wrap,
  .food-truck-section,.whats-new-section,.home-whats-new{
    width:calc(100% - 1rem)!important;
  }
  .page-main,.discovery-section,.book-contents,.reader-paths,.volumes{
    padding-top:2.4rem!important;
    padding-bottom:2.4rem!important;
  }
  h1,.home-hero h1,.visual-hero h1,.section-visual-hero h1,
  .food-truck-hero h1,.whats-new-hero h1,.speakeasy-hero h1,
  .tool-suite-hero h1,.book-hero h1,.page-header h1{
    font-size:clamp(2.35rem,12vw,4.15rem)!important;
    line-height:.96!important;
    overflow-wrap:normal;
    hyphens:auto;
  }
  h2,.discovery-section h2,.food-truck-section h2,.home-whats-new h2{
    overflow-wrap:normal;
    hyphens:auto;
  }
  .hero-lede,.visual-hero p,.section-visual-hero p,.food-truck-hero p,
  .whats-new-hero p,.speakeasy-hero p{
    font-size:1rem!important;
    line-height:1.58!important;
  }
  .button-row,.visual-hero-actions,.kitchen-actions,.speakeasy-actions,
  .consultant-hero-actions,.consultant-cta-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.55rem!important;
  }
  .button-row .button,.visual-hero-actions .button,.kitchen-actions .kitchen-button,
  .speakeasy-actions .speakeasy-button,.consultant-hero-actions .button,
  .consultant-cta-actions .button{
    width:100%;
    min-height:46px;
  }
  .path-card-grid,.quick-grid,.collection-grid,.new-tools-grid,.kitchen-card-grid,
  .whats-new-grid,.home-whats-new-grid,.section-image-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .path-card-grid>*,.quick-grid>*,.collection-grid>*,.new-tools-grid>*,
  .kitchen-card-grid>*,.whats-new-grid>*,.home-whats-new-grid>*,
  .section-image-grid>*{
    width:auto!important;
    max-width:none!important;
    flex:auto!important;
  }
  .chapter-layout{
    min-height:auto!important;
  }
  .book-sidebar{
    top:62px!important;
    height:calc(100dvh - 62px)!important;
    width:min(92vw,390px)!important;
  }
  .chapter-main{
    padding-inline:.75rem!important;
  }
  .chapter-content{
    font-size:1rem!important;
  }
  .chapter-content h1.chapter-title{
    font-size:clamp(2.25rem,11vw,3.8rem)!important;
  }
  .chapter-content h2{
    font-size:1.65rem!important;
    margin-top:2.35rem!important;
  }
  .chapter-content h3{
    font-size:1.25rem!important;
  }
  .editorial-rail{
    max-height:none!important;
    padding:.75rem!important;
  }
  .editorial-toc{
    max-height:250px;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-right:.25rem;
  }
  .editorial-rail-actions{
    grid-template-columns:1fr 1fr!important;
  }
  .tool-suite-hero{
    padding:2.5rem .75rem!important;
  }
  .tool-use-steps{
    grid-template-columns:1fr!important;
  }
  .tool-app{
    grid-template-columns:1fr!important;
  }
  .tool-form,.tool-workspace{
    padding:0!important;
  }
  .tool-form label,.tool-field{
    min-width:0;
  }
  .tool-form input,.tool-form textarea,.tool-form select,
  .tool-field input,.tool-field textarea,.tool-grid input,.tool-grid textarea,.tool-grid select,
  .speakeasy-filter-grid input,.speakeasy-filter-grid select,
  .calc-card input,.calc-card select,
  .search-input,.contact-form input,.contact-form textarea,.contact-form select{
    width:100%!important;
    min-height:44px;
    font-size:16px!important;
  }
  .tool-form textarea,.tool-field textarea,.contact-form textarea{
    min-height:110px;
  }
  .tool-form .tool-form-actions,.tool-bottom-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .tool-form .tool-form-actions button,.tool-bottom-actions button,.tool-bottom-actions .button{
    width:100%;
    min-height:46px;
  }
  .tool-output{
    width:100%;
    overflow:hidden;
  }
  .tool-output table,.calc-output table,.reference-table,.wood-comparison table{
    min-width:620px;
  }
  .tool-directory-controls{
    grid-template-columns:1fr!important;
  }
  .tool-directory-controls input{
    grid-column:auto!important;
  }
  .tool-directory-grid,.tool-related-next-grid{
    grid-template-columns:1fr!important;
  }
  .tool-directory-card>a{
    padding-right:0!important;
  }
  .speakeasy-filter-panel{
    margin-top:.75rem!important;
    padding:.85rem!important;
  }
  .speakeasy-filter-grid{
    grid-template-columns:1fr!important;
  }
  .speakeasy-filter-footer{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .speakeasy-card-grid,.speakeasy-category-grid,.bartender-tool-grid,
  .recipe-related-grid,.recipe-spec-grid,.recipe-content-grid,.calc-layout{
    grid-template-columns:1fr!important;
  }
  .recipe-layout{
    gap:1rem!important;
  }
  .recipe-header h1{
    font-size:clamp(2.45rem,12vw,4rem)!important;
  }
  .ingredient-list li{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.2rem!important;
  }
  .recipe-mobile-actions{
    bottom:max(76px,calc(66px + env(safe-area-inset-bottom)))!important;
  }
  .food-truck-snapshot,.food-truck-feature,.food-truck-purpose,
  .whats-new-feature,.whats-new-purpose,.consultant-home-grid{
    grid-template-columns:1fr!important;
  }
  .food-truck-roadmap,.food-truck-license-grid,.food-truck-path-grid,
  .food-truck-chapter-grid,.food-truck-tool-grid,.food-truck-model-grid{
    grid-template-columns:1fr!important;
  }
  .bartender-station-heading-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .bartender-station-heading-actions .speakeasy-button{
    width:100%!important;
  }
  .site-footer-v3{
    grid-template-columns:1fr!important;
    gap:1.4rem!important;
    padding-inline:1rem!important;
    padding-bottom:calc(3rem + env(safe-area-inset-bottom))!important;
  }
  .search-overlay{
    padding:.5rem!important;
  }
  .search-panel{
    min-height:calc(100dvh - 1rem);
    padding:1rem!important;
    border-radius:14px!important;
  }
  .search-panel-head h2{
    font-size:1.75rem!important;
  }
  .tool-disclaimer-dialog{
    width:calc(100% - .5rem)!important;
    max-height:94dvh!important;
  }
  .tool-disclaimer-dialog-shell{
    max-height:94dvh!important;
  }
}
@media(max-width:420px){
  .site-header-v3 .brand strong{
    max-width:168px;
  }
  .educator-monogram{
    display:none!important;
  }
  .educator-social-links b{
    display:none!important;
  }
  .hero-stats,.speakeasy-hero-stats,.book-stat-card{
    grid-template-columns:1fr!important;
  }
  .editorial-rail-actions{
    grid-template-columns:1fr!important;
  }
}
@media(hover:none){
  .path-card:hover,.quick-card:hover,.collection-card:hover,.tool-directory-card:hover,
  .kitchen-card:hover,.whats-new-card:hover,.bartender-tool-card:hover{
    transform:none!important;
  }
}
@media print{
  body{padding-bottom:0!important}
  .mobile-dock,.bottom-safe-space{display:none!important}
  .mobile-table-scroll{overflow:visible!important}
}

@media(max-width:760px){
  .tool-disclaimer-open{min-height:44px!important}
  .tool-completion-panel{scroll-margin-top:80px;scroll-margin-bottom:90px}
  [data-clear-tool],[data-reset]{min-height:44px!important;padding:.65rem .85rem!important}
}


/* EDITORIAL VISUAL PASS — 2026-07-23 */
:root{
  --ui-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

/* Refined institutional mark: still compact, but more intentional than a plain circle. */
.brand-mark{
  position:relative;
  border-radius:12px 12px 16px 16px!important;
  border-color:rgba(239,189,117,.55)!important;
  background:linear-gradient(155deg,rgba(255,255,255,.09),rgba(224,168,92,.04));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 5px 16px rgba(0,0,0,.18);
}
.brand-mark:after{
  content:"";
  position:absolute;
  left:22%;right:22%;bottom:7px;
  height:1px;
  background:rgba(239,189,117,.65);
}

/* Distinct homepage pacing without changing the core Texas palette. */
.home-editorial-pass .discovery-section,
.home-editorial-pass .consultant-home-band,
.home-editorial-pass .home-whats-new,
.home-editorial-pass .newsletter-band{
  position:relative;
  isolation:isolate;
}
.home-editorial-pass .home-role-band:before,
.home-editorial-pass .home-quick-band:before,
.home-editorial-pass .home-library-band:before,
.home-editorial-pass .home-books-band:before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
}
.home-editorial-pass .home-role-band{padding-block:clamp(3.2rem,6vw,5.6rem)}
.home-editorial-pass .home-role-band:before{background:#fffaf3;border-block:1px solid rgba(72,38,22,.10)}
.home-editorial-pass .home-quick-band{padding-block:clamp(3.2rem,6vw,5.4rem)}
.home-editorial-pass .home-quick-band:before{
  background:
    radial-gradient(circle at 88% 14%,rgba(224,168,92,.23),transparent 28%),
    linear-gradient(135deg,#ead5c3,#f4e6d8 58%,#e8cfbb);
  border-block:1px solid rgba(112,63,38,.16);
}
.home-editorial-pass .home-library-band{padding-block:clamp(3.8rem,7vw,6.2rem)}
.home-editorial-pass .home-library-band:before{background:#f8f1e7}
.home-editorial-pass .home-books-band{padding-block:clamp(3.8rem,7vw,6rem);color:#fff}
.home-editorial-pass .home-books-band:before{
  background:
    radial-gradient(circle at 88% 16%,rgba(224,168,92,.20),transparent 30%),
    repeating-linear-gradient(135deg,transparent 0 42px,rgba(255,255,255,.018) 43px 44px),
    linear-gradient(135deg,#23120d,#4b281b 68%,#2c1710);
}
.home-editorial-pass .home-books-band .eyebrow{color:#efbd75}
.home-editorial-pass .home-books-band h2{color:#fff}
.home-editorial-pass .home-books-band .discovery-intro{color:#ead8ca}
.home-editorial-pass .home-books-band .collection-card{
  min-height:235px;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,253,249,.96);
  box-shadow:0 18px 40px rgba(0,0,0,.16);
}
.home-editorial-pass .home-consulting-band{margin-block:clamp(3.8rem,7vw,6rem)}
.home-editorial-pass .home-updates-band{margin-block:0 clamp(3.5rem,7vw,5.5rem)}

/* Faster, cleaner cards: editorial display type for sections, sans-serif for operational choices. */
.visual-editorial-pass .path-card strong,
.visual-editorial-pass .quick-card strong,
.visual-editorial-pass .collection-card strong,
.visual-editorial-pass .role-entry-card>strong,
.visual-editorial-pass .role-quick-card strong{
  font-family:var(--ui-sans)!important;
  font-weight:800!important;
  letter-spacing:-.018em;
}
.visual-editorial-pass .path-card span,
.visual-editorial-pass .quick-card span,
.visual-editorial-pass .collection-card span,
.visual-editorial-pass .role-entry-card small,
.visual-editorial-pass .role-quick-card small{
  font-family:var(--ui-sans);
}
.visual-editorial-pass .path-card,
.visual-editorial-pass .quick-card,
.visual-editorial-pass .collection-card{
  border-radius:15px;
  box-shadow:0 9px 24px rgba(42,22,13,.065);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.visual-editorial-pass .path-card:hover,
.visual-editorial-pass .quick-card:hover,
.visual-editorial-pass .collection-card:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 34px rgba(42,22,13,.11);
}

/* Eight restrained role cues: one system, faster recognition. */
.home-role-band .path-card{--role-accent:#70452f;--role-soft:#efe2d5;border-top:4px solid var(--role-accent)}
.home-role-band .path-card[data-role-visual="owner"]{--role-accent:#82472f;--role-soft:#f0ddd0}
.home-role-band .path-card[data-role-visual="manager"]{--role-accent:#536a65;--role-soft:#dfe9e5}
.home-role-band .path-card[data-role-visual="bartender"]{--role-accent:#7d2f2b;--role-soft:#ecd8d5}
.home-role-band .path-card[data-role-visual="music"]{--role-accent:#6a4d73;--role-soft:#e7deea}
.home-role-band .path-card[data-role-visual="dance"]{--role-accent:#9a6634;--role-soft:#f0e2d2}
.home-role-band .path-card[data-role-visual="visitor"]{--role-accent:#496a7c;--role-soft:#dae7ed}
.home-role-band .path-card[data-role-visual="food"]{--role-accent:#8b4b27;--role-soft:#f0dcca}
.home-role-band .path-card[data-role-visual="preservation"]{--role-accent:#52613b;--role-soft:#e0e6d5}
.home-role-band .path-card .card-icon{
  width:54px;height:54px;
  margin-bottom:.85rem;
  background:var(--role-soft)!important;
  color:var(--role-accent)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--role-accent) 24%,transparent)!important;
}
.home-role-band .path-card small{color:var(--role-accent)}

/* Mission now uses real visual storytelling instead of another text stripe. */
.home-mission-band{
  display:grid!important;
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)!important;
  gap:clamp(1.4rem,4vw,4.5rem)!important;
  align-items:stretch!important;
  padding-block:clamp(4rem,8vw,7rem)!important;
  background:#e9ddcc!important;
}
.mission-visual{
  position:relative;
  min-height:390px;
  margin:0;
  overflow:hidden;
  border-radius:22px;
  box-shadow:0 22px 50px rgba(48,25,15,.17);
}
.mission-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(31,16,11,.34),transparent 55%)}
.mission-visual picture,.mission-visual img{display:block;width:100%;height:100%}
.mission-visual img{object-fit:cover;filter:saturate(.82) sepia(.08)}
.mission-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.mission-copy h2{max-width:760px}
.mission-copy>p:not(.eyebrow){max-width:720px;font-size:clamp(1.05rem,1.8vw,1.25rem);line-height:1.7;color:#594438}
.mission-action{margin-top:1.1rem}

/* Role pages: selected role first, consultant support after the role introduction. */
.role-visual-pass .role-inline-consultant{
  z-index:auto;
  width:min(var(--max),calc(100% - 2rem));
  margin:1.25rem auto 2.25rem;
  overflow:hidden;
  border:1px solid rgba(72,38,22,.16)!important;
  border-top:1px solid rgba(72,38,22,.16)!important;
  border-radius:16px;
  box-shadow:0 12px 28px rgba(46,23,13,.07);
}
.role-visual-pass .role-inline-consultant .educator-consultant-inner{width:calc(100% - 1.4rem)}
.role-visual-pass .editorial-role-entry{border-top:4px solid var(--role-page-accent,#8d472b)}
.role-visual-pass[data-role-theme="owner"]{--role-page-accent:#82472f}
.role-visual-pass[data-role-theme="manager"]{--role-page-accent:#536a65}
.role-visual-pass[data-role-theme="bartender"]{--role-page-accent:#7d2f2b}
.role-visual-pass[data-role-theme="music"]{--role-page-accent:#6a4d73}
.role-visual-pass[data-role-theme="dance"]{--role-page-accent:#9a6634}
.role-visual-pass[data-role-theme="visitor"]{--role-page-accent:#496a7c}
.role-visual-pass[data-role-theme="food"]{--role-page-accent:#8b4b27}
.role-visual-pass[data-role-theme="preservation"]{--role-page-accent:#52613b}
.role-visual-pass .role-entry-card.is-recommended{border-color:var(--role-page-accent,#8d472b)}
.role-visual-pass .role-entry-card.is-recommended:before{background:var(--role-page-accent,#6d3924)}

/* Mobile hero: one dominant action, two compact secondary actions. */
@media(max-width:760px){
  .home-editorial-pass .editorial-home-hero{
    padding-top:3.1rem!important;
    padding-bottom:2.1rem!important;
  }
  .home-editorial-pass .editorial-home-hero h1{
    font-size:clamp(2.45rem,11.4vw,3.55rem)!important;
    line-height:.94!important;
    letter-spacing:-.043em;
  }
  .home-editorial-pass .editorial-home-hero p:not(.eyebrow){font-size:.94rem!important;line-height:1.5!important}
  .home-editorial-pass .editorial-home-hero .visual-hero-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.55rem!important;
    margin-top:1rem!important;
  }
  .home-editorial-pass .editorial-home-hero .visual-hero-actions .button{
    width:100%!important;
    min-height:44px!important;
    padding:.62rem .62rem!important;
    font-size:.72rem!important;
  }
  .home-editorial-pass .editorial-home-hero .visual-hero-actions .primary{grid-column:1/-1}
  .home-editorial-pass .editorial-home-hero .library-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:1.25rem}
  .home-editorial-pass .editorial-home-hero .library-stats div{min-width:0;padding:.55rem .45rem}
  .home-editorial-pass .editorial-home-hero .library-stats strong{font-size:1.08rem}
  .home-editorial-pass .editorial-home-hero .library-stats span{font-size:.55rem;letter-spacing:.055em}
  .home-editorial-pass .home-role-band,
  .home-editorial-pass .home-quick-band,
  .home-editorial-pass .home-library-band,
  .home-editorial-pass .home-books-band{padding-block:2.75rem!important}
  .home-role-band .path-card .card-icon{width:48px;height:48px}
  .home-mission-band{grid-template-columns:1fr!important;gap:1.25rem!important;padding-block:3rem!important}
  .mission-visual{min-height:260px;border-radius:16px}
  .mission-copy>p:not(.eyebrow){font-size:1rem}
  .role-visual-pass .role-inline-consultant{width:calc(100% - 1rem);margin:1rem auto 1.7rem}
  .role-visual-pass .role-inline-consultant .educator-consultant-inner{width:calc(100% - 1rem)}
}

/* A lighter bottom utility bar that appears after the visitor starts scrolling. */
@media(max-width:760px){
  body{padding-bottom:max(62px,calc(56px + env(safe-area-inset-bottom)))!important}
  .bottom-safe-space{height:max(62px,calc(56px + env(safe-area-inset-bottom)))!important}
  .mobile-dock{
    left:0!important;right:0!important;bottom:0!important;
    padding:.2rem max(.35rem,env(safe-area-inset-right)) max(.2rem,env(safe-area-inset-bottom)) max(.35rem,env(safe-area-inset-left))!important;
    border:0!important;
    border-top:1px solid rgba(239,189,117,.24)!important;
    border-radius:0!important;
    background:rgba(31,16,11,.91)!important;
    box-shadow:0 -8px 24px rgba(0,0,0,.18)!important;
    backdrop-filter:blur(14px)!important;
    transition:transform .22s ease,opacity .22s ease!important;
  }
  .mobile-dock a,.mobile-dock button{min-height:43px!important;padding:.2rem!important;font-size:.59rem!important}
  .mobile-dock .honky-icon{width:18px!important;height:18px!important}
  body.mobile-dock-at-top .mobile-dock{transform:translateY(calc(100% + 8px));opacity:0;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.mobile-dock{transition:none!important}}
/* --- role-quickbar.css --- */
.role-quickbar{position:relative;z-index:180;width:100%;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.13);background:linear-gradient(90deg,#351c12,#4c2818 52%,#351c12);box-shadow:0 7px 18px rgba(20,9,5,.16)}
.role-quickbar-inner{width:min(var(--max),calc(100% - 2rem));margin:0 auto;display:grid;grid-template-columns:minmax(145px,auto) minmax(0,1fr);align-items:center;gap:.72rem;padding:.48rem 0}
.role-quickbar-heading{display:flex;align-items:center;padding-right:.72rem;border-right:1px solid rgba(255,255,255,.14);white-space:normal}.role-quickbar-heading strong{display:block;color:#f2c47f;font:800 .78rem/1.18 Georgia,"Times New Roman",serif;text-align:left}
.role-quickbar-track{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.3rem;min-width:0}.role-quickbar-link{display:flex;align-items:center;justify-content:center;min-width:0;min-height:43px;padding:.42rem .38rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.045);color:#fff;text-align:center;text-decoration:none;font-size:clamp(.61rem,.6vw,.69rem);font-weight:900;line-height:1.14;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}.role-quickbar-link span{max-width:100%}.role-quickbar-link:hover,.role-quickbar-link:focus-visible{border-color:rgba(239,189,117,.62);background:rgba(255,255,255,.11);color:#ffe0a8}.role-quickbar-link.active{border-color:#efbd75;background:#e0a85c;color:#2d180e;box-shadow:0 0 0 2px rgba(239,189,117,.15)}.role-label-mobile{display:none}
@media(max-width:1240px){.role-quickbar-inner{width:calc(100% - 1rem);grid-template-columns:1fr;gap:.38rem;padding:.44rem 0 .5rem}.role-quickbar-heading{justify-content:flex-start;padding-right:0;border-right:0}.role-quickbar-heading strong{font-size:.76rem}.role-quickbar-track{grid-template-columns:repeat(4,minmax(0,1fr));gap:.34rem}.role-quickbar-link{min-height:44px;padding:.48rem .35rem;font-size:.7rem}}
@media(max-width:620px){.role-quickbar-inner{width:calc(100% - .7rem);padding:.4rem 0 .46rem}.role-quickbar-heading strong{font-size:.72rem}.role-quickbar-link .role-label-desktop{display:none}.role-quickbar-link .role-label-mobile{display:inline}.role-quickbar-link{min-height:46px;padding:.45rem .2rem;font-size:.7rem}}
@media(max-width:350px){.role-quickbar-track{grid-template-columns:repeat(2,minmax(0,1fr))}.role-quickbar-link{min-height:43px;font-size:.73rem}}
@media print{.role-quickbar{display:none!important}}
/* --- navigation-fit.css --- */
.site-header-v3,
.site-header-v3 .brand,
.site-header-v3 .brand>span:last-child,
.main-nav-v3{min-width:0}

/* Keep every primary-navigation label intact inside its button. */
.main-nav-v3>a,
.main-nav-v3>button,
.main-nav-v3 summary{
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

@media(min-width:1181px){
  .site-header-v3{
    grid-template-columns:minmax(230px,.82fr) minmax(0,1.55fr)!important;
    gap:.55rem!important;
  }
  .main-nav-v3{
    flex-wrap:nowrap!important;
    gap:.13rem!important;
  }
  .main-nav-v3>a,
  .main-nav-v3>button,
  .main-nav-v3 summary{
    flex:0 1 auto;
    min-width:max-content;
    padding:.5rem clamp(.42rem,.52vw,.57rem)!important;
    font-size:clamp(.59rem,.58vw,.69rem)!important;
    line-height:1.12;
    letter-spacing:.045em!important;
    text-align:center;
    white-space:nowrap!important;
  }
}

.nav-more-menu a{
  max-width:100%;
  white-space:normal!important;
  overflow-wrap:normal;
  word-break:normal;
  line-height:1.35;
}

.button,
.kitchen-button,
.speakeasy-button,
.educator-hire-button,
.mobile-dock a,
.mobile-dock button{
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
}

.button,
.kitchen-button,
.speakeasy-button{
  white-space:normal!important;
  text-align:center;
  line-height:1.22;
}

@media(max-width:1180px){
  .main-nav-v3>a,
  .main-nav-v3>button,
  .main-nav-v3 summary{
    white-space:normal!important;
    overflow-wrap:normal;
    word-break:normal;
    line-height:1.25;
  }
}

@media(max-width:760px){
  .nav-menu-toggle{
    white-space:normal!important;
    line-height:1.15;
  }
  .mobile-dock a,
  .mobile-dock button{
    font-size:.64rem!important;
    line-height:1.05!important;
  }
}

/* Override older header rules so the mobile menu is closed until the Menu button is used. */
@media(max-width:1180px){
  .site-header-v3 .main-nav-v3{display:none!important}
  .site-header-v3 .main-nav-v3.is-open{display:flex!important}
}

/* Mobile disclosure-menu containment repair.
   Older site rules enabled horizontal scrolling on the primary nav. On a
   narrow screen that could preserve a sideways scroll offset and move the
   expanded More panel outside the viewport. */
@media(max-width:1180px){
  .site-header-v3 .main-nav-v3,
  .site-header-v3 .main-nav-v3.is-open{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    flex-wrap:nowrap!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-x:none!important;
  }
  .site-header-v3 .main-nav-v3>.nav-more{
    position:static!important;
    display:block!important;
    align-self:stretch!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .site-header-v3 .main-nav-v3>.nav-more>summary{
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }
  .site-header-v3 .nav-more-menu{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:.35rem 0 0!important;
    overflow:visible!important;
  }
  .site-header-v3 .nav-more-menu a{
    display:flex!important;
    align-items:center!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:44px!important;
    margin:0!important;
  }
}
/* --- efficiency.css --- */
/* Efficiency and usability layer */
.search-controls-efficient{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:.65rem;align-items:end;margin:.65rem 0 1rem}.search-controls-efficient label{display:grid;gap:.28rem;color:#654a3c;font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.search-controls-efficient select{min-height:43px;padding:.58rem .7rem;border:1px solid rgba(78,42,25,.24);border-radius:10px;background:#fff;color:#352219}.search-depth-toggle{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;min-height:43px;padding:.55rem .7rem;border:1px solid rgba(78,42,25,.18);border-radius:10px;background:#fff;text-transform:none!important;letter-spacing:0!important}.search-depth-toggle input{width:18px;height:18px}.search-result-group{margin:1rem 0}.search-result-group h3{display:flex;justify-content:space-between;gap:1rem;margin:.4rem 0;padding:.45rem 0;border-bottom:1px solid rgba(78,42,25,.18);font:700 1rem/1.2 Georgia,serif}.search-result-group h3 span{font-family:Arial,sans-serif;font-size:.72rem}
.role-library-loader{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;margin:1.2rem 0;padding:1rem;border:1px solid rgba(78,42,25,.18);border-radius:15px;background:#fff}.role-library-loader p{margin:.2rem 0 0;color:#70594c}.role-loader-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#6d3924;color:#fff;font-size:1.3rem}.role-library-loader.is-loading .role-loader-mark{animation:kecbPulse 1s infinite alternate}.role-library-browser[hidden]{display:none!important}.directory-more{display:flex;justify-content:center;margin:1rem 0 2rem}.directory-more button{min-height:46px;padding:.65rem 1rem;border:1px solid rgba(78,42,25,.24);border-radius:999px;background:#fff;color:#6e3c26;font-weight:900;cursor:pointer}.directory-more button:hover,.directory-more button:focus-visible{background:#f3e5d7;border-color:#91482c}.role-family-nav button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.48rem .68rem;border:1px solid rgba(78,42,25,.18);border-radius:999px;background:#fff;color:#6f3e27;font-size:.72rem;font-weight:900;cursor:pointer}.role-family-nav button:hover,.role-family-nav button:focus-visible{border-color:#91482c;background:#f4e6da}.role-filter-panel,.speakeasy-filter-panel,.tool-directory-filter-panel,.tool-directory-controls,.tools-filter-panel{position:sticky;top:72px;z-index:9;box-shadow:0 12px 28px rgba(35,17,10,.12)}
.tool-autosave-bar{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin:.7rem 0;padding:.65rem .75rem;border:1px solid rgba(78,42,25,.17);border-radius:10px;background:#f8f1e9;color:#644d40;font-size:.76rem}.tool-autosave-bar button{min-height:38px;padding:.45rem .68rem;border:1px solid rgba(78,42,25,.22);border-radius:999px;background:#fff;color:#713e27;font-weight:850;cursor:pointer}
.recent-activity-efficient{width:min(var(--max),calc(100% - 2rem));margin:1.5rem auto 2.5rem}.recent-activity-efficient h2{margin:.15rem 0 .75rem;font:700 clamp(1.9rem,4vw,3rem)/1 Georgia,serif;color:#382217}.recent-activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.recent-activity-card{display:flex;flex-direction:column;min-height:125px;padding:.9rem;border:1px solid rgba(78,42,25,.16);border-radius:13px;background:#fff;color:inherit;text-decoration:none}.recent-activity-card small{color:#91482c;font-size:.67rem;font-weight:900;text-transform:uppercase}.recent-activity-card strong{margin:.45rem 0;color:#392419;font:700 1rem/1.25 Georgia,serif}.recent-activity-card span{margin-top:auto;color:#91482c;font-size:.72rem;font-weight:900}
.next-steps-efficient{width:min(var(--max),calc(100% - 2rem));margin:2.2rem auto;padding:1.15rem;border-radius:17px;background:linear-gradient(135deg,#2c1811,#6b3923);color:#fff}.next-steps-efficient h2{margin:.15rem 0 .8rem;font:700 clamp(1.8rem,4vw,2.8rem)/1 Georgia,serif}.next-steps-efficient>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.next-steps-efficient a{display:flex;flex-direction:column;min-height:110px;padding:.8rem;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none}.next-steps-efficient small{color:#efbd75;font-weight:900;text-transform:uppercase}.next-steps-efficient strong{margin:.35rem 0}.next-steps-efficient span{margin-top:auto;color:#f5d39e;font-size:.72rem;font-weight:900}
.site-footer-v3.footer-efficient{grid-template-columns:1.2fr .8fr .8fr 1fr}.footer-efficient .footer-bottom{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.45rem 1rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.15)}.footer-efficient .footer-bottom a{color:#e8d6c9;font-size:.72rem}.footer-efficient .footer-bottom p{margin-left:auto;color:#cbb4a5;font-size:.7rem}
@keyframes kecbPulse{to{transform:scale(1.08);background:#9a5030}}
@media(max-width:900px){.recent-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer-v3.footer-efficient{grid-template-columns:1fr 1fr}.footer-efficient .footer-free,.footer-efficient .footer-bottom{grid-column:1/-1}.role-filter-panel,.speakeasy-filter-panel,.tool-directory-filter-panel,.tool-directory-controls,.tools-filter-panel{top:60px}}
@media(max-width:650px){.search-controls-efficient{grid-template-columns:1fr}.role-library-loader{grid-template-columns:auto 1fr}.role-library-loader .button{grid-column:1/-1;width:100%}.recent-activity-grid,.next-steps-efficient>div{grid-template-columns:1fr}.tool-autosave-bar{align-items:flex-start;flex-direction:column}.tool-autosave-bar button{width:100%}.site-footer-v3.footer-efficient{grid-template-columns:1fr}.footer-efficient .footer-bottom{display:grid}.footer-efficient .footer-bottom p{margin-left:0}.role-filter-panel,.speakeasy-filter-panel,.tool-directory-filter-panel,.tool-directory-controls,.tools-filter-panel{position:relative;top:auto}}
@media print{.role-library-loader,.directory-more,.tool-autosave-bar,.recent-activity-efficient,.next-steps-efficient{display:none!important}}


/* library help desk */
.library-help-strip{background:#f4eadc;border-bottom:1px solid rgba(91,48,29,.18);color:#321d14}
.library-help-inner{width:min(100% - 2rem,1200px);margin:0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0}
.library-help-identity{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none;min-width:0}
.library-help-mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#8e3f26;color:#fff;font:800 1.05rem/1 system-ui,sans-serif;box-shadow:0 4px 12px rgba(50,29,20,.14)}
.library-help-copy{display:grid;gap:.08rem;min-width:0}
.library-help-copy>span{font:700 .7rem/1.2 system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#8e3f26}
.library-help-copy strong{font:700 clamp(.8rem,1.2vw,.96rem)/1.3 system-ui,sans-serif;white-space:normal}
.library-help-actions{display:flex;align-items:center;gap:.7rem;flex:0 0 auto}
.library-help-actions small{font:700 .68rem/1.2 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#755342}
.library-help-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.55rem .9rem;border-radius:999px;background:#8e3f26;color:#fff!important;text-decoration:none;font:800 .78rem/1 system-ui,sans-serif;white-space:nowrap}
.library-help-button:hover,.library-help-button:focus-visible{background:#6f2f1d;transform:translateY(-1px)}
.context-help-card{width:min(100% - 2rem,1100px);margin:2.75rem auto 0;padding:1.15rem 1.25rem;border:1px solid rgba(142,63,38,.26);border-radius:18px;background:linear-gradient(135deg,#fffaf2,#f2e2cf);box-shadow:0 12px 32px rgba(50,29,20,.08);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.context-help-card>div{min-width:0}.context-help-card small{display:block;color:#8e3f26;font:800 .68rem/1.2 system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.25rem}.context-help-card strong{display:block;font:700 clamp(1rem,2vw,1.24rem)/1.2 Georgia,serif;color:#321d14}.context-help-card p{margin:.3rem 0 0;color:#684a3a;font-size:.9rem}.context-help-card a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border-radius:10px;background:#8e3f26;color:#fff;text-decoration:none;font-weight:800}.context-help-card a:hover,.context-help-card a:focus-visible{background:#6f2f1d}
.help-nav-link{font-weight:800!important}
@media(max-width:760px){.library-help-inner{width:min(100% - 1rem,1200px);min-height:52px;padding:.45rem 0}.library-help-copy strong{font-size:.76rem}.library-help-actions small{display:none}.library-help-button{min-height:36px;padding:.5rem .72rem;font-size:.72rem}.library-help-mark{width:30px;height:30px}.context-help-card{width:min(100% - 1rem,1100px);margin-top:2rem;align-items:stretch;flex-direction:column}.context-help-card a{width:100%}}
@media(max-width:420px){.library-help-copy>span{font-size:.62rem}.library-help-copy strong{font-size:.7rem}.library-help-button{padding:.48rem .6rem}.library-help-identity{gap:.5rem}}


/* --- ask-riley-interaction.v20260724-3 --- */
.ask-riley-launcher{
  position:fixed;
  right:clamp(.8rem,2vw,1.35rem);
  bottom:clamp(.8rem,2vw,1.35rem);
  z-index:9400;
  display:flex;
  align-items:center;
  gap:.68rem;
  min-height:58px;
  max-width:min(360px,calc(100vw - 1.5rem));
  padding:.62rem 1rem .62rem .68rem;
  border:1px solid rgba(255,226,178,.48);
  border-radius:999px;
  background:linear-gradient(135deg,#9b452a,#6f2e1d);
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 16px 38px rgba(43,19,11,.35),0 0 0 4px rgba(155,69,42,.12);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  transform:translateZ(0);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.ask-riley-launcher:hover,.ask-riley-launcher:focus-visible{
  transform:translateY(-3px);
  background:linear-gradient(135deg,#ad5130,#78331f);
  box-shadow:0 20px 46px rgba(43,19,11,.42),0 0 0 5px rgba(155,69,42,.16);
}
.ask-riley-launcher:focus-visible{outline:3px solid #f2c47f;outline-offset:3px}
.ask-riley-launcher-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  background:#fff4df;
  color:#7b321f;
  box-shadow:inset 0 0 0 1px rgba(83,35,20,.12);
}
.ask-riley-launcher-icon svg{width:23px;height:23px;fill:currentColor}
.ask-riley-launcher-copy{display:grid;gap:.06rem;min-width:0}
.ask-riley-launcher-copy small{
  color:#f4d6ae;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.075em;
  line-height:1.1;
  text-transform:uppercase;
}
.ask-riley-launcher-copy strong{
  color:#fff;
  font-size:.91rem;
  font-weight:900;
  line-height:1.2;
  white-space:normal;
}
.ask-riley-launcher::after{
  content:"";
  position:absolute;
  inset:-5px;
  z-index:-1;
  border:2px solid rgba(239,189,117,.34);
  border-radius:inherit;
  animation:askRileyAttention 3.2s ease-out 1.2s 2;
}
@keyframes askRileyAttention{
  0%{opacity:0;transform:scale(.96)}
  18%{opacity:1}
  70%,100%{opacity:0;transform:scale(1.08)}
}
.page-help-invite{
  width:min(1100px,calc(100% - 2rem));
  margin:clamp(2.5rem,6vw,5rem) auto 2.25rem;
  padding:clamp(1.25rem,3vw,2rem);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:1rem 1.25rem;
  border:1px solid rgba(126,61,37,.24);
  border-radius:20px;
  background:linear-gradient(135deg,#fffaf2,#f2e1ce);
  box-shadow:0 16px 34px rgba(53,27,17,.11);
}
.page-help-invite-mark{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:16px;
  background:#8e3f26;
  color:#fff;
  font:900 1.3rem/1 system-ui,sans-serif;
}
.page-help-invite-copy{min-width:0}
.page-help-invite-copy p{margin:.22rem 0 0;color:#694b3c;line-height:1.55}
.page-help-invite-copy strong{display:block;color:#3a2016;font:800 clamp(1.08rem,2vw,1.32rem)/1.25 Georgia,"Times New Roman",serif}
.page-help-invite a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:.72rem 1rem;
  border-radius:999px;
  background:#8e3f26;
  color:#fff!important;
  text-decoration:none;
  font:850 .82rem/1.15 system-ui,sans-serif;
  text-align:center;
  white-space:normal;
}
.page-help-invite a:hover,.page-help-invite a:focus-visible{background:#6f2f1d;transform:translateY(-1px)}
.library-help-strip .library-help-copy>span{letter-spacing:.075em}
.library-help-strip .library-help-button{box-shadow:0 5px 14px rgba(76,31,17,.18)}
@media(max-width:760px){
  .ask-riley-launcher{
    right:.65rem;
    bottom:calc(max(62px,calc(56px + env(safe-area-inset-bottom))) + .65rem);
    min-height:52px;
    max-width:calc(100vw - 1.3rem);
    padding:.5rem .78rem .5rem .52rem;
    gap:.52rem;
  }
  .ask-riley-launcher-icon{width:38px;height:38px;flex-basis:38px}
  .ask-riley-launcher-icon svg{width:21px;height:21px}
  .ask-riley-launcher-copy small{font-size:.59rem}
  .ask-riley-launcher-copy strong{font-size:.8rem}
  body.has-recipe-mobile-actions .ask-riley-launcher{bottom:calc(max(124px,calc(116px + env(safe-area-inset-bottom))) + .65rem)}
  .page-help-invite{width:calc(100% - 1rem);grid-template-columns:auto minmax(0,1fr);padding:1.15rem;gap:.8rem;margin-top:2.5rem}
  .page-help-invite-mark{width:46px;height:46px;border-radius:14px}
  .page-help-invite a{grid-column:1 / -1;width:100%}
}
@media(max-width:390px){
  .ask-riley-launcher-copy small{display:none}
  .ask-riley-launcher-copy strong{font-size:.77rem}
}
@media(prefers-reduced-motion:reduce){
  .ask-riley-launcher,.ask-riley-launcher::after,.page-help-invite a{animation:none!important;transition:none!important}
}
@media print{
  .ask-riley-launcher,.page-help-invite{display:none!important}
}

/* ===== book-first.css ===== */

:root{--book-ink:#2b1712;--book-paper:#fff8ed;--book-line:#d8c2a6;--book-gold:#b57036;--book-muted:#6d5145}
.book-first-gateway,.role-book-route,.book-source-banner{box-sizing:border-box}
.book-first-gateway{padding-top:3.4rem;padding-bottom:3.4rem}
.book-first-heading{max-width:850px;margin-bottom:1.4rem}.book-first-heading h2{margin:.2rem 0 .65rem;font-size:clamp(1.9rem,4vw,3.4rem);line-height:1.02}.book-first-heading p:last-child{font-size:1.05rem;color:var(--book-muted)}
.book-first-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.book-first-card{display:flex;flex-direction:column;min-height:285px;padding:1.25rem;border:1px solid var(--book-line);border-top:7px solid var(--book-gold);border-radius:16px;background:linear-gradient(180deg,#fffaf2,#f5e6d2);box-shadow:0 10px 30px rgba(43,23,18,.08)}.book-first-card p{margin:0 0 .65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#7a4529}.book-first-card h3{margin:0 0 .65rem;font-size:1.35rem;line-height:1.05}.book-first-card span{flex:1;color:#674d42;font-size:.93rem}.book-first-card div{display:grid;gap:.45rem;margin-top:1rem}.book-first-card a{font-weight:850;text-decoration:none}.book-first-card a:first-child{color:#fff;background:var(--book-ink);padding:.62rem .75rem;border-radius:9px}.book-first-card a:last-child{color:var(--book-ink)}
.book-first-volume-2{border-top-color:#884930}.book-first-volume-3{border-top-color:#664a30}.book-first-volume-4{border-top-color:#765c35}.book-first-volume-5{border-top-color:#863e30}
.book-source-banner{margin:1.2rem auto 2rem;padding:0 1rem;max-width:1240px}.book-source-inner{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;padding:1.2rem 1.3rem;border:1px solid var(--book-line);border-left:8px solid var(--book-gold);border-radius:14px;background:var(--book-paper)}.book-source-volume{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--book-ink);color:white;font-weight:950;text-align:center}.book-source-copy h2{margin:.15rem 0 .25rem;font-size:1.45rem}.book-source-copy p{margin:.2rem 0}.book-source-actions{display:flex;gap:.55rem;flex-wrap:wrap}.book-source-actions a{white-space:nowrap}
.role-book-route{padding-top:2.3rem;padding-bottom:2.3rem}.role-book-route-heading{max-width:820px}.role-book-route-heading h2{margin:.15rem 0 .5rem}.role-book-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1rem}.role-book-route-card{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:1px solid var(--book-line);border-radius:12px;background:#fffaf2;text-decoration:none;color:var(--book-ink)}.role-book-route-card>span{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#8a4f2d}.role-book-route-card small{color:#6e554a}

.book-resources-simple-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 4vw;background:#24140f;color:white}.book-resources-simple-header>a{color:#fff;font-weight:950;text-decoration:none}.book-resources-simple-header nav{display:flex;gap:1rem;flex-wrap:wrap}.book-resources-simple-header nav a{color:#f2dfc7;text-decoration:none;font-weight:800}.book-resources-hero{padding:5rem 5vw;background:linear-gradient(120deg,#24140f,#563121);color:white}.book-resources-hero>div{max-width:950px}.book-resources-hero h1{font-size:clamp(2.6rem,6vw,5.6rem);line-height:.95;margin:.25rem 0 1rem}.book-resource-volume-nav{position:sticky;top:0;z-index:10;display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap;padding:.7rem;background:#fff8ed;border-bottom:1px solid #d8c2a6}.book-resource-volume-nav a{padding:.55rem .8rem;border-radius:999px;background:#2b1712;color:white;text-decoration:none;font-weight:850}.book-resources-wrap{max-width:1250px;margin:auto;padding:2rem 1rem 5rem}.book-resource-volume{scroll-margin-top:80px;padding:2.5rem 0;border-bottom:2px solid #e3d1b9}.book-resource-volume>header{max-width:900px}.book-resource-volume h2{font-size:clamp(2rem,4vw,3.3rem);margin:.2rem 0}.book-resource-volume-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:1rem 0 1.5rem}.book-resource-group{margin:.8rem 0;border:1px solid #d8c2a6;border-radius:12px;background:#fffaf2;overflow:hidden}.book-resource-group summary{display:flex;justify-content:space-between;padding:1rem 1.1rem;font-weight:900;cursor:pointer}.book-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding:0 1rem 1rem}.book-resource-card{display:flex;flex-direction:column;min-height:135px;padding:.85rem;border:1px solid #e2d0b8;border-radius:9px;background:white;color:#2b1712;text-decoration:none}.book-resource-card span{flex:1;margin:.4rem 0;color:#6e554a;font-size:.88rem}.book-resource-card small{font-weight:850}.book-resources-simple-footer{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap;padding:2rem;background:#24140f;color:#f2dfc7}.book-resources-simple-footer a{color:white;font-weight:850}
@media(max-width:1100px){.book-first-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.book-first-grid,.role-book-route-grid,.book-resource-grid{grid-template-columns:1fr}.book-source-inner{grid-template-columns:1fr}.book-source-volume{width:64px;height:64px}.book-source-actions{display:grid}.book-resources-simple-header{align-items:flex-start;flex-direction:column}.book-resources-simple-header nav{gap:.65rem}.book-first-card{min-height:230px}}
@media print{.book-resource-volume-nav{display:none!important}.book-source-banner{break-inside:avoid}.book-source-actions{display:none}}

/* ===== library-upgrades.v20260725-1.css ===== */

:root{--upgrade-gold:#d7a947;--upgrade-cream:#fff8ed;--upgrade-ink:#2b1712;--upgrade-rust:#8a3f28;--upgrade-border:#ddc9b4;--upgrade-green:#2f6753}
.search-controls-efficient{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr));gap:.65rem;margin:.8rem 0 1rem;padding:.8rem;border:1px solid var(--upgrade-border);border-radius:14px;background:#fffaf3}.search-controls-efficient label{display:grid;gap:.28rem;font-size:.76rem;font-weight:800;color:#573327}.search-controls-efficient select{width:100%;min-height:42px;border:1px solid #cdb49e;border-radius:9px;background:white;padding:.48rem .55rem;color:#2b1712}.search-depth-toggle{display:flex!important;align-items:center;gap:.45rem}.search-depth-toggle input{width:18px;height:18px}.search-results-toolbar{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin:.25rem 0 .65rem;font-size:.8rem}.search-clear-filters{border:0;background:none;color:#7b351f;text-decoration:underline;font-weight:800;cursor:pointer}.search-result{position:relative}.search-result-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.35rem}.search-result-badges b{font-size:.61rem;line-height:1;padding:.3rem .42rem;border-radius:999px;background:#f1e3d4;color:#60351f;text-transform:uppercase;letter-spacing:.04em}.search-match-reason{display:block!important;margin-top:.3rem!important;color:#765647!important;font-size:.73rem!important}.search-result-group h3 span{font-size:.7rem}.search-no-results{padding:1rem;border:1px dashed var(--upgrade-border);border-radius:12px;background:#fffaf3}.search-no-results a{font-weight:800}.search-page-box{max-width:1100px}.search-browse-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:1rem;margin:0 0 1rem}.search-browse-card{padding:1rem;border-radius:14px;background:#2c1812;color:white}.search-browse-card a{color:#f3cf72;font-weight:800}.search-browse-card.light{background:#f5eadc;color:#2b1712}.search-browse-card.light a{color:#77351f}
.upgrade-hero{padding:4rem 1rem;background:linear-gradient(135deg,#24120e,#4b2418 65%,#7a3a22);color:white}.upgrade-wrap{width:min(1180px,calc(100% - 2rem));margin:0 auto}.upgrade-hero h1{max-width:900px;margin:.2rem 0 1rem;font-size:clamp(2.2rem,5vw,4.6rem);line-height:.96}.upgrade-hero p{max-width:820px;font-size:1.08rem;color:#f5e8dd}.upgrade-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.3rem}.upgrade-actions a{display:inline-flex;padding:.75rem 1rem;border-radius:999px;font-weight:900;text-decoration:none}.upgrade-actions .primary{background:#e5b756;color:#25130e}.upgrade-actions .secondary{border:1px solid #b9784f;color:#6f321f}.upgrade-hero .upgrade-actions .secondary{border-color:#e8c991;color:#fff}.upgrade-section{padding:2.5rem 0}.upgrade-section.alt{background:#f8efe4}.upgrade-heading{max-width:820px;margin-bottom:1.2rem}.upgrade-heading h2{font-size:clamp(1.7rem,3.2vw,2.8rem);margin:.25rem 0}.learning-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.learning-path-card{display:flex;flex-direction:column;min-height:290px;padding:1.15rem;border:1px solid var(--upgrade-border);border-radius:16px;background:white;color:#2b1712;text-decoration:none;box-shadow:0 8px 28px rgba(52,26,17,.07)}.learning-path-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(52,26,17,.12)}.learning-path-card h3{font-size:1.35rem;margin:.45rem 0}.learning-path-card p{flex:1;color:#674a3c}.learning-path-card>strong{color:#79371f}.learning-path-volume{align-self:flex-start;padding:.3rem .48rem;border-radius:999px;background:#f0dfc7;color:#63361e;font-size:.68rem;font-weight:900;text-transform:uppercase}.learning-path-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0}.learning-path-meta span{padding:.3rem .42rem;border-radius:7px;background:#f7efe6;font-size:.7rem;font-weight:800}.learning-path-card.compact{min-height:220px}.role-guided-paths{margin:1.5rem auto;padding:1.25rem;border:1px solid #d8b98e;border-radius:18px;background:#fff8ec}.role-guided-paths header{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1rem}.role-guided-paths h2{margin:.2rem 0}.role-guided-paths .learning-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-guided-paths .learning-path-card{min-height:210px}.role-guided-paths .all-paths-link{font-weight:900;color:#74341f;white-space:nowrap}
.path-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.25rem;align-items:start}.path-progress-card{position:sticky;top:1rem;padding:1rem;border-radius:16px;background:#2c1812;color:white}.path-progress-card progress{width:100%;height:16px}.path-progress-card button{width:100%;margin-top:.55rem}.learning-step-list{display:grid;gap:1rem}.learning-step{display:grid;grid-template-columns:auto 1fr;gap:.8rem;padding:1.15rem;border:1px solid var(--upgrade-border);border-radius:16px;background:white}.learning-step.completed{border-color:#79a38f;background:#f2faf5}.learning-step-number{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#ead7bd;font-weight:900}.learning-step h2{font-size:1.35rem;margin:0 0 .35rem}.learning-step-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.learning-step-actions a{display:inline-flex;padding:.58rem .75rem;border-radius:9px;background:#6f321f;color:white;font-weight:900;text-decoration:none}.learning-step-check{display:flex;gap:.45rem;align-items:center;margin-top:.7rem;font-weight:800}.learning-step-check input{width:20px;height:20px}.path-outcome{padding:1rem;border-left:5px solid var(--upgrade-gold);background:#fff4df;border-radius:0 12px 12px 0}.path-next{margin-top:1rem;padding:1rem;border-radius:14px;background:#f4e6d7}.path-next a{font-weight:900}
.directory-toolbar{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:.65rem;padding:1rem;border:1px solid var(--upgrade-border);border-radius:16px;background:white}.directory-toolbar label{display:grid;gap:.25rem;font-size:.74rem;font-weight:900}.directory-toolbar input,.directory-toolbar select{min-height:44px;padding:.5rem;border:1px solid #cdb6a1;border-radius:9px;background:white}.directory-status{display:flex;justify-content:space-between;gap:1rem;margin:1rem 0;font-weight:800}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.directory-card{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--upgrade-border);border-radius:16px;background:white;scroll-margin-top:90px}.directory-card[hidden]{display:none}.directory-card h2{font-size:1.35rem;margin:.35rem 0}.directory-card p{color:#674a3c}.directory-card-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.55rem 0}.directory-card-tags span{padding:.28rem .4rem;border-radius:999px;background:#f4e7d9;font-size:.68rem;font-weight:800}.directory-card-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.74rem;font-weight:900}.directory-card-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto;padding-top:.8rem}.directory-card-actions a{padding:.55rem .7rem;border-radius:8px;text-decoration:none;font-weight:900}.directory-card-actions .official{background:#6e321f;color:white}.directory-card-actions .update{background:#efe0cf;color:#5d2c1c}.directory-note{padding:1rem;border:1px solid #d6b67f;border-radius:14px;background:#fff5df}.directory-empty{padding:1rem;text-align:center;border:1px dashed var(--upgrade-border);border-radius:12px}
.contribute-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.contribute-card{padding:1rem;border:1px solid var(--upgrade-border);border-radius:16px;background:white}.contribute-card h2{margin:.2rem 0}.submission-form{display:grid;gap:.85rem;margin-top:1rem}.submission-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.submission-form label{display:grid;gap:.28rem;font-weight:800}.submission-form input,.submission-form select,.submission-form textarea{width:100%;padding:.62rem;border:1px solid #cdb49e;border-radius:9px;background:white}.submission-form fieldset{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--upgrade-border);border-radius:12px}.submission-form legend{font-weight:900;padding:0 .35rem}.submission-form .honeypot{position:absolute;left:-9999px}.submission-guidelines{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.submission-guidelines article{padding:1rem;border-radius:14px;background:#f7eadc}.moderation-steps{counter-reset:mod;display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.moderation-steps div{padding:1rem;border-top:4px solid var(--upgrade-gold);background:white;border-radius:10px}.moderation-steps strong{display:block}
.home-directory-callout{margin:2rem auto;padding:1.2rem;border-radius:18px;background:#2d1812;color:white}.home-directory-callout a{color:#f0c96e;font-weight:900}.footer-links a[href="/directory/"],.footer-links a[href="/learning-paths.html"],.footer-links a[href="/contribute.html"]{font-weight:800}
@media(max-width:900px){.learning-path-grid,.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.path-layout{grid-template-columns:1fr}.path-progress-card{position:static}.search-controls-efficient{grid-template-columns:repeat(2,minmax(0,1fr))}.search-browse-intro{grid-template-columns:1fr}.directory-toolbar{grid-template-columns:1fr 1fr}.submission-guidelines,.moderation-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.learning-path-grid,.directory-grid,.role-guided-paths .learning-path-grid,.contribute-grid,.submission-form .form-grid,.submission-guidelines,.moderation-steps{grid-template-columns:1fr}.directory-toolbar,.search-controls-efficient{grid-template-columns:1fr}.upgrade-wrap{width:min(100% - 1rem,1180px)}.upgrade-hero{padding:3rem .5rem}.directory-status,.role-guided-paths header{align-items:flex-start;flex-direction:column}.learning-step{grid-template-columns:1fr}.learning-step-number{width:36px;height:36px}}
@media print{.site-header,.role-quickbar,.library-help-strip,.site-legal-notice,.site-footer,.mobile-dock,.search-overlay,.path-progress-card button,.upgrade-actions,.directory-toolbar{display:none!important}.path-layout{display:block}.learning-step{break-inside:avoid}.upgrade-hero{background:white!important;color:black!important;padding:1rem 0}.upgrade-hero p{color:black!important}}

/* ===== site-refinement.v20260725-1.css ===== */

/* Keep 'Em Coming Back usability refinement — 2026-07-25 */
:root{--ref-ink:#2b1712;--ref-rust:#74341f;--ref-gold:#d8a84a;--ref-cream:#fff8ee;--ref-border:#dbc7b2;--ref-green:#2f6753}
.main-nav-v3{gap:.28rem}.main-nav-v3>a,.main-nav-v3>button,.main-nav-v3>details>summary{white-space:nowrap}.main-nav-v3 .nav-primary-search{background:#f3dfbd;color:#3b2118;border-radius:999px}.main-nav-v3 [aria-current="page"]{text-decoration-thickness:3px;text-underline-offset:5px}
.compact-site-help{position:fixed;right:1rem;bottom:1rem;z-index:40;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem .85rem;border:1px solid #cda26e;border-radius:999px;background:#fff8ed;color:#5f2c1c;font-weight:900;text-decoration:none;box-shadow:0 8px 28px rgba(43,23,18,.18)}
.home-featured-paths{padding:2.5rem 0;background:#f8efe4}.home-featured-paths .learning-path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.resource-browser{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr)) auto;gap:.65rem;align-items:end;margin:1rem auto 1.4rem;padding:1rem;border:1px solid var(--ref-border);border-radius:16px;background:rgba(255,250,243,.97);box-shadow:0 8px 24px rgba(43,23,18,.08);backdrop-filter:blur(8px)}.resource-browser label{display:grid;gap:.3rem;font-size:.75rem;font-weight:900;color:#573327}.resource-browser input,.resource-browser select{min-height:44px;padding:.55rem .65rem;border:1px solid #cbb39d;border-radius:9px;background:#fff;color:var(--ref-ink)}.resource-browser button{min-height:44px}.resource-browser-status{grid-column:1/-1;margin:0;font-size:.78rem;color:#705044}.book-resource-card[hidden],.book-resource-group[hidden],.book-resource-volume[hidden]{display:none!important}.book-resource-card{content-visibility:auto;contain-intrinsic-size:180px}.resource-show-more{display:block;margin:1.2rem auto 2rem}.book-resource-group:not([open])>.book-resource-grid{display:none}.book-resource-group summary{cursor:pointer}.book-resource-empty{padding:1rem;border:1px dashed var(--ref-border);border-radius:12px;background:#fffaf3;text-align:center}
.search-curated-result{border:2px solid #d6a852!important;background:#fff7df!important}.search-curated-result::before{content:'Best starting point';display:block;margin-bottom:.35rem;font-size:.64rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#7a451c}.search-spelling-note{margin:.5rem 0;padding:.65rem .8rem;border-left:4px solid var(--ref-gold);background:#fff6e4}.search-controls-efficient{grid-template-columns:repeat(3,minmax(145px,1fr))}.search-result{content-visibility:auto;contain-intrinsic-size:150px}
.directory-toolbar.refined{grid-template-columns:minmax(260px,1fr);gap:.8rem}.directory-toggle-row,.directory-region-chips{display:flex;flex-wrap:wrap;gap:.45rem}.directory-filter-button{min-height:40px;padding:.48rem .7rem;border:1px solid #cbb39d;border-radius:999px;background:#fff;color:#5e301f;font-weight:900;cursor:pointer}.directory-filter-button.is-active{background:#6e321f;color:#fff;border-color:#6e321f}.directory-toolbar .visually-hidden-select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.directory-card-actions .profile{background:#6e321f;color:#fff}.directory-card-actions .official{background:#efe0cf;color:#5d2c1c}.directory-profile{padding:2.5rem 0}.directory-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.25rem;align-items:start}.directory-profile-card{padding:1.2rem;border:1px solid var(--ref-border);border-radius:16px;background:#fff}.directory-profile-card dl{display:grid;grid-template-columns:130px 1fr;gap:.55rem}.directory-profile-card dt{font-weight:900}.directory-profile-actions{display:grid;gap:.55rem}.directory-profile-actions a{display:block;padding:.7rem .8rem;border-radius:9px;text-align:center;font-weight:900;text-decoration:none}.directory-profile-actions .official{background:#6e321f;color:#fff}.directory-profile-actions .update{background:#f0e1d0;color:#5e2f1f}
.path-start-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}.path-start-summary article{padding:1rem;border:1px solid var(--ref-border);border-radius:14px;background:#fff}.path-start-summary h2,.path-start-summary h3{margin:.1rem 0 .35rem;font-size:1rem}.path-start-summary p{margin:0;color:#694b3e}.path-resume-banner{display:none;margin:0 0 1rem;padding:1rem;border:1px solid #8ead9d;border-radius:14px;background:#f0faf4}.path-resume-banner.is-visible{display:flex;justify-content:space-between;align-items:center;gap:1rem}.path-resume-banner a{font-weight:900}.progress-dashboard{display:grid;gap:1rem}.progress-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.progress-dashboard-card{padding:1rem;border:1px solid var(--ref-border);border-radius:16px;background:#fff}.progress-dashboard-card progress{width:100%;height:16px}.progress-dashboard-card a{font-weight:900}.progress-empty{padding:1rem;border:1px dashed var(--ref-border);border-radius:14px;background:#fffaf3}
.submission-type-chooser{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}.submission-type-button{display:flex;flex-direction:column;align-items:flex-start;min-height:150px;padding:1rem;border:1px solid var(--ref-border);border-radius:14px;background:#fff;text-align:left;color:var(--ref-ink);cursor:pointer}.submission-type-button strong{font-size:1.05rem}.submission-type-button span{margin-top:.4rem;color:#6c4b3d}.submission-type-button:hover,.submission-type-button:focus-visible{border-color:#9c5b37;box-shadow:0 8px 22px rgba(43,23,18,.1)}.submission-form.submission-awaiting-choice{display:none}.submission-form.is-ready{display:grid}.submission-change-type{display:none;margin:.3rem 0}.submission-change-type.is-visible{display:inline-flex}
.site-footer-v3 .footer-social .footer-follow-intro{max-width:35ch}.site-footer-v3 .footer-social a[href*="facebook"],.site-footer-v3 .footer-social a[href*="instagram"],.site-footer-v3 .footer-social a[href*="tiktok"]{display:none!important}
body.refined-content-page .role-quickbar{display:none!important}body.refined-content-page .compact-site-help{display:none}.site-header-v3{position:relative}.site-header-v3+.role-quickbar{border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:1180px){.main-nav-v3{max-height:calc(100vh - 72px);overflow:auto}.main-nav-v3>a,.main-nav-v3>button,.main-nav-v3>details{width:100%}.main-nav-v3 .nav-more-menu{position:static;box-shadow:none}.compact-site-help{bottom:5.2rem}}
@media(max-width:900px){.home-featured-paths .learning-path-grid,.path-start-summary,.progress-dashboard-grid,.submission-type-chooser{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-browser{position:relative;grid-template-columns:1fr 1fr}.directory-profile-grid{grid-template-columns:1fr}.search-controls-efficient{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.site-header-v3{min-height:62px}.site-header-v3 .brand small{display:none}.role-quickbar{display:none!important}.home-featured-paths .learning-path-grid,.path-start-summary,.progress-dashboard-grid,.submission-type-chooser,.resource-browser,.search-controls-efficient{grid-template-columns:1fr}.resource-browser{padding:.75rem}.compact-site-help{right:.55rem;bottom:4.8rem}.book-first-hero,.upgrade-hero,.tools-book-first-hero{padding-top:2.4rem!important;padding-bottom:2.4rem!important}.directory-toggle-row,.directory-region-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem}.directory-filter-button{flex:0 0 auto}.path-resume-banner.is-visible{align-items:flex-start;flex-direction:column}.directory-profile-card dl{grid-template-columns:1fr}.directory-profile-card dd{margin:0 0 .5rem}}
@media print{.compact-site-help,.resource-browser,.resource-show-more,.submission-type-chooser,.submission-change-type{display:none!important}}

/* ===== operating-discovery-system.v20260725-2.css ===== */
/* Complete Texas Honky-Tonk Operating & Discovery System */
:root{--sys-ink:#291711;--sys-rust:#71341f;--sys-rust2:#552417;--sys-gold:#d7a549;--sys-cream:#fff9ef;--sys-sand:#f2e3cf;--sys-green:#27614e;--sys-blue:#315f78;--sys-border:#d9c1a8;--sys-shadow:0 12px 34px rgba(43,23,18,.12)}
.system-mode-switch{display:flex;gap:.35rem;align-items:center;margin-left:auto}.system-mode-switch a{display:inline-flex;min-height:38px;align-items:center;padding:.45rem .7rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;text-decoration:none;font-size:.78rem;font-weight:900}.system-mode-switch a[data-mode="work"]{background:#7a3823}.system-mode-switch a[data-mode="visit"]{background:#315f78}.system-mode-switch a[aria-current="page"]{box-shadow:0 0 0 3px rgba(240,201,110,.35)}
.system-hero{padding:clamp(3rem,7vw,6rem) 1rem;background:linear-gradient(135deg,#10233f,#1a3358);color:#fff}.system-hero-inner{max-width:1180px;margin:auto}.dir-banner{width:100%;height:auto;border-radius:16px;display:block;margin-bottom:1.4rem;box-shadow:0 18px 40px -20px rgba(0,0,0,.4)}.system-hero h1{max-width:900px;margin:.2rem 0 1rem;font-size:clamp(2.25rem,5vw,5rem);line-height:.98}.system-hero p{max-width:780px;font-size:clamp(1.05rem,1.7vw,1.35rem);color:#f6e7d5}.system-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.system-entry{display:flex;flex-direction:column;min-height:265px;padding:1.4rem;border:1px solid rgba(255,255,255,.25);border-radius:22px;background:rgba(255,255,255,.09);backdrop-filter:blur(7px);color:#fff;text-decoration:none}.system-entry:hover,.system-entry:focus-visible{transform:translateY(-3px);background:rgba(255,255,255,.15)}.system-entry small{font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#f0c96e}.system-entry strong{margin:.5rem 0;font-size:clamp(1.45rem,3vw,2.3rem)}.system-entry span{max-width:46ch;color:#f4e7dc}.system-entry b{margin-top:auto;padding-top:1rem}.system-entry.visit small{color:#a9d6ea}
.system-section{padding:clamp(2.5rem,6vw,5rem) 1rem}.system-wrap{max-width:1180px;margin:auto}.system-kicker{margin:0 0 .45rem;color:var(--sys-rust);font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.system-lead{max-width:760px;color:#65483b;font-size:1.08rem}.system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.system-card{display:flex;flex-direction:column;padding:1.15rem;border:1px solid var(--sys-border);border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(43,23,18,.06)}.system-card h2,.system-card h3{margin:.15rem 0 .5rem}.system-card p{color:#684b3e}.system-card .system-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto;padding-top:.8rem}.system-actions a,.system-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem .75rem;border-radius:9px;background:var(--sys-rust);color:#fff;font-weight:900;text-decoration:none}.system-actions a.secondary,.system-button.secondary{background:#efe0cf;color:#572c1e}.system-actions a.visit,.system-button.visit{background:var(--sys-blue)}
.system-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.system-stage{padding:1.25rem;border-left:5px solid var(--sys-gold);border-radius:12px;background:#fff;border-top:1px solid var(--sys-border);border-right:1px solid var(--sys-border);border-bottom:1px solid var(--sys-border)}.system-stage ol{margin:.7rem 0 0;padding-left:1.2rem}.system-stage li{margin:.35rem 0}
.role-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.role-system-card{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:1rem;border:1px solid var(--sys-border);border-radius:14px;background:#fff;text-decoration:none;color:var(--sys-ink)}.role-system-card span:first-child{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#f1dfc9;font-weight:950}.role-system-card b{color:var(--sys-rust)}
.problem-finder{padding:1rem;border:1px solid var(--sys-border);border-radius:18px;background:#fff}.problem-finder input,.problem-finder select{width:100%;min-height:46px;padding:.65rem;border:1px solid #c6ae97;border-radius:9px;background:#fff}.problem-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.problem-result{padding:1rem;border:1px solid var(--sys-border);border-radius:12px;background:var(--sys-cream)}
.shift-desk{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem}.shift-panel{padding:1rem;border:1px solid var(--sys-border);border-radius:16px;background:#fff}.shift-checklist{display:grid;gap:.55rem}.shift-checklist label{display:flex;gap:.65rem;align-items:flex-start;padding:.65rem;border:1px solid #ead9c5;border-radius:10px}.shift-checklist input{width:20px;height:20px;flex:none}.shift-panel textarea,.shift-panel input,.shift-panel select{width:100%;min-height:44px;padding:.6rem;border:1px solid #c7af98;border-radius:8px}.shift-panel textarea{min-height:130px}.shift-status{padding:.75rem;border-radius:10px;background:#f3e7d6}
.discovery-toolbar{display:grid;grid-template-columns:2fr repeat(2,1fr);gap:.7rem;padding:1rem;border:1px solid var(--sys-border);border-radius:16px;background:#fff}.discovery-toolbar input,.discovery-toolbar select{width:100%;min-height:46px;padding:.6rem;border:1px solid #c6ae97;border-radius:8px}.discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.discovery-card{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--sys-border);border-radius:16px;background:#fff}.discovery-card .tags{display:flex;flex-wrap:wrap;gap:.3rem}.discovery-card .tags span{padding:.25rem .4rem;border-radius:999px;background:#f2e5d3;font-size:.7rem}.discovery-card .save-row{display:flex;gap:.45rem;margin-top:auto;padding-top:.8rem}.save-venue,.compare-venue{min-height:40px;padding:.5rem .65rem;border:1px solid #b78e6d;border-radius:8px;background:#fff;color:#5b2d1f;font-weight:900;cursor:pointer}.save-venue.is-saved{background:var(--sys-green);color:#fff}.compare-venue.is-selected{background:var(--sys-blue);color:#fff}.distance-note{font-size:.78rem;color:#735549}
.trip-list{display:grid;gap:.65rem}.trip-item{display:grid;grid-template-columns:1fr auto;gap:.7rem;padding:.8rem;border:1px solid var(--sys-border);border-radius:12px;background:#fff}.trip-empty{padding:1rem;border:1px dashed var(--sys-border);border-radius:12px;background:#fffaf2}.compare-table{width:100%;border-collapse:collapse}.compare-table th,.compare-table td{padding:.65rem;border:1px solid var(--sys-border);vertical-align:top}.compare-table th{background:#f1e2cf;text-align:left}.compare-table td:first-child{font-weight:900}
.directory-system-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}.directory-system-actions a{padding:.6rem .75rem;border-radius:9px;background:#63301f;color:#fff;text-decoration:none;font-weight:900}.directory-system-actions a:nth-child(2){background:#315f78}.directory-system-actions a:nth-child(3){background:#2f6753}.directory-dynamic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.directory-dynamic-card{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--sys-border);border-radius:16px;background:#fff}.directory-dynamic-card h2{font-size:1.16rem}.directory-dynamic-card .meta{font-size:.8rem;color:#765647}.directory-dynamic-card .actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.directory-load-more{display:block;margin:1.2rem auto}.verification-badge{display:inline-flex;padding:.3rem .5rem;border-radius:999px;background:#e4f2ea;color:#23563f;font-size:.72rem;font-weight:900}
.resource-system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.resource-system-card{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--sys-border);border-radius:14px;background:#fff;text-decoration:none;color:var(--sys-ink)}.resource-system-card small{color:#7a5849}.resource-system-card span{margin-top:.35rem;color:#694c3e}.resource-system-card b{margin-top:auto;padding-top:.55rem;color:var(--sys-rust)}.system-pagination{display:flex;justify-content:center;gap:.6rem;margin:1rem}.system-pagination button{min-height:42px;padding:.5rem .8rem;border:1px solid #b9987c;border-radius:8px;background:#fff;font-weight:900}
.path-system-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.path-system-card{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--sys-border);border-radius:16px;background:#fff}.path-system-card small{font-weight:900;color:var(--sys-rust)}.path-system-card a{margin-top:auto;font-weight:900}.path-category{grid-column:1/-1;margin:1.4rem 0 .1rem}.progress-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.profile-planner-panel{margin:1rem 0;padding:1rem;border:1px solid var(--sys-border);border-radius:16px;background:#fff9ee}.profile-planner-panel dl{display:grid;grid-template-columns:180px 1fr;gap:.45rem}.profile-planner-panel dt{font-weight:900}.profile-planner-actions{display:flex;flex-wrap:wrap;gap:.45rem}.profile-planner-actions a,.profile-planner-actions button{min-height:42px;padding:.55rem .7rem;border:1px solid #b58f70;border-radius:8px;background:#fff;color:#5d2e1f;font-weight:900;text-decoration:none;cursor:pointer}
.system-toast{position:fixed;left:50%;bottom:5.5rem;z-index:999;transform:translateX(-50%);padding:.7rem 1rem;border-radius:999px;background:#271610;color:#fff;box-shadow:var(--sys-shadow);font-weight:900}.system-metrics-note{padding:.8rem;border-left:4px solid var(--sys-green);background:#eef8f2}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1000px){.system-grid,.discovery-grid,.directory-dynamic-grid,.path-system-index,.resource-system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-desk{grid-template-columns:1fr}.system-mode-switch{display:none}.main-nav-v3{gap:.2rem}.progress-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.system-entry-grid,.system-stage-grid,.role-system-grid,.system-grid,.discovery-grid,.directory-dynamic-grid,.path-system-index,.resource-system-grid,.problem-result-grid,.progress-dashboard-grid{grid-template-columns:1fr!important}.discovery-toolbar{grid-template-columns:1fr}.system-hero{padding-top:2.7rem}.system-entry{min-height:220px}.role-system-card{grid-template-columns:auto 1fr}.role-system-card b{grid-column:2}.profile-planner-panel dl{grid-template-columns:1fr}.mobile-dock{grid-template-columns:repeat(4,1fr)}}
@media print{.site-header,.site-footer,.mobile-dock,.compact-site-help,.system-mode-switch,.directory-system-actions,.save-row,.system-no-print{display:none!important}.system-section{padding:1rem 0}.shift-desk{display:block}.shift-panel{break-inside:avoid}}


/* Functionality and responsive repair — 2026-07-25 */
.system-wrap,.system-grid>*,.system-card,.shift-desk>*,.shift-panel{min-width:0}
.shift-desk{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start}
.shift-panel{overflow:visible}
.shift-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:.5rem 0 1rem}
.shift-field{display:grid;gap:.38rem;min-width:0;margin:.75rem 0;font-weight:850;line-height:1.35}
.shift-panel input:not([type="checkbox"]),.shift-panel textarea,.shift-panel select{display:block;width:100%;max-width:100%;box-sizing:border-box;font:inherit;color:inherit;background:#fff}
.shift-panel textarea{resize:vertical}
.shift-checklist label{min-width:0;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.shift-checklist span{min-width:0}
.shift-record-panel{position:sticky;top:1rem}
.shift-status{min-height:48px;display:flex;align-items:center;font-weight:800}
.shift-panel .system-actions{display:flex;flex-wrap:wrap;gap:.55rem}
.shift-panel .system-actions .system-button{border:0;cursor:pointer;font:inherit}
.shift-panel a{overflow-wrap:anywhere}
@media(max-width:1000px){.shift-record-panel{position:static}}
@media(max-width:700px){
 .shift-setup-grid{grid-template-columns:1fr}
 .shift-desk{gap:.8rem}
 .shift-panel{padding:.85rem}
 .shift-panel .system-actions{display:grid;grid-template-columns:1fr}
 .shift-panel .system-actions .system-button{width:100%}
}
/* Broad safeguards for generated pages and interactive controls. */
main,main section,main article,main aside,main form{min-width:0}
main img,main svg,main video,main canvas{max-width:100%;height:auto}
main input:not([type="checkbox"]):not([type="radio"]),main select,main textarea{max-width:100%;box-sizing:border-box}
main pre{max-width:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
main table{max-width:100%}
.system-load-error{padding:1rem;border:1px solid #b65a45;border-radius:12px;background:#fff3ef;color:#602719}
