:root {
  --paper: #fbfaf7;
  --paper-deep: #f4f6fa;
  --ink: #1f2937;
  --muted: #64748b;
  --red: #1e3aba;
  --gold: #e85b32;
  --blue: #006bff;
  --line: #dfe5ee;
  --white: #ffffff;
  --serif: "Noto Serif SC", "Songti SC", "STSong", serif;
  --sans: "IBM Plex Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; line-break: strict; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.78;
  font-synthesis: none;
}
a { color: inherit; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
.rail { width: min(1220px, calc(100% - 48px)); margin-inline: auto; }
.skip { position: fixed; left: 16px; top: -60px; z-index: 100; color: white; background: var(--ink); padding: 10px 14px; }
.skip:focus { top: 12px; }

.site-header { position: relative; z-index: 20; border-bottom: 1px solid var(--line); background: color-mix(in oklch, var(--paper) 93%, transparent); backdrop-filter: blur(14px); }
.site-header .rail { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand img { width: 104px; height: 48px; object-fit: contain; }
.brand span { padding-left: 12px; border-left: 1px solid var(--line); color: var(--muted); font-size: 13px; letter-spacing: .08em; }
.nav-links { display: flex; gap: 26px; align-items: center; }
.nav-links a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; font-size: 14px; font-weight: 600; }
.nav-links a:hover, .nav-links a:focus-visible { color: var(--red); }

.eyebrow { margin: 0 0 16px; color: var(--red); font-size: 12px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
h1, h2, h3 { margin-top: 0; font-family: var(--serif); text-wrap: balance; }
h1 { font-size: clamp(46px, 7.4vw, 108px); line-height: 1.06; letter-spacing: -.015em; }
h2 { font-size: clamp(34px, 4.5vw, 62px); line-height: 1.16; }
h3 { font-size: clamp(23px, 2.2vw, 32px); line-height: 1.3; }
p { text-wrap: pretty; }
.lead { max-width: 35em; color: var(--muted); font-size: clamp(17px, 1.6vw, 21px); }

.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--ink); padding: 0 21px; color: var(--ink); background: transparent; text-decoration: none; font-size: 15px; font-weight: 700; transition: background .18s ease, color .18s ease, transform .18s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { color: white; background: var(--ink); }
.button.disabled { cursor: not-allowed; color: var(--muted); border-color: var(--line); background: var(--paper-deep); transform: none; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

.series-hero { position: relative; overflow: hidden; padding: clamp(74px, 10vw, 142px) 0 90px; }
.series-hero::after { content: "BOOKS"; position: absolute; right: -2vw; bottom: -7vw; color: transparent; -webkit-text-stroke: 1px var(--line); font-family: var(--serif); font-size: clamp(120px, 25vw, 360px); line-height: .8; pointer-events: none; }
.series-hero .copy { position: relative; z-index: 2; max-width: 850px; }
.series-hero h1 { margin-bottom: 28px; }

.section { padding: clamp(72px, 9vw, 124px) 0; border-top: 1px solid var(--line); }
.section-head { display: grid; grid-template-columns: 145px 1fr; gap: 32px; margin-bottom: 56px; }
.section-no { color: var(--red); font-size: 13px; font-variant-numeric: tabular-nums; }
.section-head h2 { max-width: 820px; margin-bottom: 0; }

.book-feature { display: grid; grid-template-columns: minmax(240px, 360px) 1fr; gap: clamp(50px, 9vw, 130px); align-items: center; }
#book-list { display: grid; gap: 90px; }
#book-list .book-feature + .book-feature { padding-top: 90px; border-top: 1px solid var(--line); }
.book-cover { position: relative; }
.book-cover::before { content: ""; position: absolute; inset: 20px -22px -22px 22px; background: var(--paper-deep); border: 1px solid var(--gold); z-index: -1; }
.book-cover img { width: 100%; box-shadow: 0 24px 60px rgba(36, 27, 19, .14); }
.book-meta { color: var(--red); font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.book-feature h2 { margin: 14px 0 4px; }
.book-subtitle { margin: 0 0 24px; font-family: var(--serif); font-size: 25px; color: var(--muted); }
.book-description { max-width: 38em; color: var(--muted); }

.principles { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); }
.principles article { padding: 30px 30px 0 0; }
.principles article + article { border-left: 1px solid var(--line); padding-left: 30px; }
.principles strong { display: block; margin-bottom: 8px; font-family: var(--serif); font-size: 22px; }
.principles p { margin: 0; color: var(--muted); font-size: 15px; }

.future-note { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 50px; }
.future-note p { max-width: 34em; color: var(--muted); }
.shelf-line { height: 110px; display: flex; align-items: end; gap: 10px; border-bottom: 2px solid var(--ink); }
.shelf-line span { display: block; width: 24px; border: 1px solid var(--line); border-bottom: 0; background: var(--paper-deep); }
.shelf-line span:nth-child(1) { height: 82px; border-color: var(--red); background: var(--red); }
.shelf-line span:nth-child(2) { height: 68px; }
.shelf-line span:nth-child(3) { height: 94px; }
.shelf-line span:nth-child(4) { height: 74px; }

.book-hero { padding: clamp(66px, 9vw, 120px) 0; }
.book-hero-grid { display: grid; grid-template-columns: 1fr minmax(250px, 380px); gap: clamp(48px, 8vw, 110px); align-items: center; }
.book-hero h1 { font-size: clamp(44px, 6.4vw, 88px); margin: 14px 0 10px; }
.book-hero .subtitle { margin: 0 0 28px; color: var(--red); font-family: var(--serif); font-size: clamp(24px, 2.6vw, 38px); }
.book-hero .book-cover { width: min(100%, 330px); justify-self: center; }

.audience { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink); }
.audience article { padding: 34px 6vw 0 0; }
.audience article + article { padding-left: 6vw; border-left: 1px solid var(--line); }
.audience ul { margin: 0; padding-left: 1.2em; color: var(--muted); }
.audience li + li { margin-top: 10px; }

.two-maps { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 6vw, 80px); }
.map-block { border-top: 2px solid var(--ink); padding-top: 24px; }
.map-block .map-label { color: var(--red); font-size: 12px; font-weight: 750; letter-spacing: .12em; }
.map-block ol { padding-left: 1.35em; columns: 2; column-gap: 30px; }
.map-block li { break-inside: avoid; margin-bottom: 8px; font-size: 15px; }

.compass { position: relative; width: min(100%, 740px); aspect-ratio: 1; margin: 10px auto 0; border: 1px solid var(--gold); border-radius: 50%; background: radial-gradient(circle, var(--white) 0 34%, transparent 34.4%), linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: auto, 42px 42px, 42px 42px; }
.axis { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; gap: 7px; z-index: 2; }
.axis-x { width: 78%; grid-template-columns: repeat(5, 1fr); }
.axis-y { height: 64%; grid-template-rows: repeat(4, 1fr); }
.axis-item { min-width: 0; display: flex; align-items: center; justify-content: center; padding: 7px 5px; border: 1px solid var(--gold); background: var(--paper); color: var(--ink); font-size: clamp(11px, 1.5vw, 14px); text-align: center; }
.axis-y .axis-item { width: 92px; justify-self: center; border-color: var(--red); }
.axis-x .axis-item:nth-child(3) { color: white; background: var(--ink); border-color: var(--ink); }
.outer-label { position: absolute; transform: translate(-50%, -50%); padding: 2px 6px; background: var(--paper); font-size: clamp(10px, 1.25vw, 13px); white-space: nowrap; }
.outer-label.strategy { color: var(--red); }
.outer-label.management { color: var(--blue); }
.outer-label.relationship { color: #6f562f; }

.chapter-list { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--ink); }
.chapter-list a { display: grid; grid-template-columns: 52px 1fr; gap: 12px; padding: 20px 20px 20px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.chapter-list a:nth-child(even) { padding-left: 20px; border-left: 1px solid var(--line); }
.chapter-list a:hover strong { color: var(--red); }
.chapter-list span { color: var(--red); font-variant-numeric: tabular-nums; }
.chapter-list strong { font-family: var(--serif); font-weight: 650; }

.site-footer { padding: 50px 0; color: white; background: var(--ink); }
.site-footer .rail { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.site-footer p { margin: 0; color: #d7d2ca; font-size: 14px; }
.site-footer a { text-underline-offset: 4px; }

/* Static, distraction-free book reading pages */
.reading-page { background: #fcfbf8; }
.reading-header { position: sticky; top: 0; }
.reading-main { padding: clamp(56px, 9vw, 108px) 0; }
.reading-shell { width: min(760px, calc(100% - 40px)); margin-inline: auto; }
.reading-kicker { margin: 0 0 16px; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.reading-shell > h1 { margin-bottom: 18px; font-size: clamp(42px, 6vw, 72px); }
.reading-intro { max-width: 37em; color: var(--muted); font-size: 19px; }
.reading-start { display: flex; flex-wrap: wrap; gap: 12px; margin: 34px 0 70px; }
.reading-content { font-size: 18px; line-height: 1.95; }
.reading-content > h1 { margin: 0 0 38px; padding-bottom: 28px; border-bottom: 2px solid var(--ink); font-size: clamp(36px, 5.1vw, 58px); }
.reading-content h2 { margin: 58px 0 18px; font-size: clamp(27px, 3.2vw, 38px); }
.reading-content h3 { margin: 40px 0 14px; font-size: 24px; }
.reading-content p, .reading-content ul, .reading-content ol { margin: 0 0 22px; }
.reading-content li + li { margin-top: 8px; }
.reading-content a, .reading-back a, .reading-source a { color: var(--red); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.reading-content blockquote { margin: 28px 0; padding: 18px 24px; border-left: 3px solid var(--gold); background: #fff7f2; color: #4b5563; }
.reading-content table { width: 100%; margin: 28px 0; border-collapse: collapse; font-size: 15px; }
.reading-content th, .reading-content td { padding: 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.reading-content th { background: var(--paper-deep); font-weight: 750; }
.reading-source { margin-top: 62px; padding: 18px 20px; border: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.6; }
.reading-back { margin-top: 32px; font-weight: 700; }
.reading-toc { margin-top: 24px; padding-top: 42px; border-top: 2px solid var(--ink); }
.reading-toc h2, .reading-appendices h2 { margin: 0 0 22px; font-size: 30px; }
.reading-toc ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); counter-reset: chapter; }
.reading-toc li { counter-increment: chapter; border-bottom: 1px solid var(--line); }
.reading-toc a { display: flex; align-items: center; gap: 16px; padding: 16px 0; text-decoration: none; font: 650 20px/1.4 var(--serif); }
.reading-toc a::before { content: counter(chapter, decimal-leading-zero); color: var(--gold); font: 700 13px/1 var(--sans); }
.reading-toc a:hover { color: var(--red); }
.reading-appendices { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 24px; margin-top: 62px; padding-top: 42px; border-top: 1px solid var(--line); }
.reading-appendices h2 { grid-column: 1 / -1; }
.reading-appendices a { padding: 14px 0; border-top: 1px solid var(--line); color: var(--red); font-weight: 700; text-decoration: none; }

@media (max-width: 820px) {
  .rail { width: min(100% - 30px, 1220px); }
  .brand span { display: none; }
  .nav-links { gap: 14px; }
  .nav-links a { font-size: 13px; }
  .section-head, .book-feature, .future-note, .book-hero-grid, .two-maps { grid-template-columns: 1fr; }
  #book-list { gap: 64px; }
  #book-list .book-feature + .book-feature { padding-top: 64px; }
  .section-head { gap: 8px; }
  .book-cover { width: min(280px, 78%); margin-inline: auto; }
  .principles, .audience, .chapter-list { grid-template-columns: 1fr; }
  .principles article, .principles article + article, .audience article, .audience article + article { padding: 26px 0; border-left: 0; }
  .principles article + article, .audience article + article { border-top: 1px solid var(--line); }
  .chapter-list a:nth-child(even) { padding-left: 0; border-left: 0; }
  .map-block ol { columns: 1; }
  .compass { width: 100%; }
  .axis-y .axis-item { width: 72px; }
  .outer-label { white-space: normal; max-width: 70px; text-align: center; line-height: 1.25; }
  .site-footer .rail { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}

/* Rich first-book landing page */
.landing-page { --night: #101a36; --soft-red: #1e3aba; --deep-blue: #006bff; overflow-x: hidden; }
.landing-header { position: sticky; top: 0; }
.landing-header .nav-main-site { padding: 0 15px; color: white; background: #1e3aba; }
.fde-hero { position: relative; overflow: hidden; min-height: calc(100svh - 78px); display: flex; align-items: center; padding: clamp(64px, 7vw, 96px) 0; }
.fde-hero::before { content: "FDE"; position: absolute; right: -2vw; bottom: -3vw; color: transparent; -webkit-text-stroke: 1px #e2e5eb; font: 900 clamp(170px, 27vw, 430px)/.75 var(--sans); letter-spacing: -.08em; pointer-events: none; }
.fde-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(260px, .58fr); gap: clamp(64px, 10vw, 150px); align-items: center; }
.fde-hero-copy { max-width: 760px; }
.hero-status { width: fit-content; display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 8px 14px; border: 1px solid rgba(30,58,186,.24); border-radius: 999px; color: #1e3aba; background: rgba(255,255,255,.72); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.hero-status span { width: 7px; height: 7px; border-radius: 50%; background: #1e3aba; box-shadow: 0 0 0 5px rgba(30,58,186,.09); }
.fde-hero-copy h1 { margin: 13px 0 0; font-size: clamp(62px, 7.5vw, 108px); line-height: .91; letter-spacing: -.055em; text-wrap: balance; }
.fde-hero-copy h1 span { color: #1e3aba; background: linear-gradient(90deg, #1e3aba, #006bff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.fde-hero-copy h1 em { color: var(--ink); font-style: normal; }
.hero-question { margin: 22px 0 22px; font: 650 clamp(25px, 2.6vw, 36px)/1.2 var(--serif); }
.hero-deck { max-width: 610px; margin: 0; color: var(--muted); font-size: clamp(17px, 1.35vw, 20px); text-wrap: pretty; }
.hero-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 34px; }
.hero-action { position: relative; min-width: 0; min-height: 142px; display: flex; flex-direction: column; justify-content: flex-end; padding: 18px 42px 18px 18px; border: 1px solid #cfd7e6; color: var(--ink); background: rgba(255,255,255,.78); text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.hero-action:hover, .hero-action:focus-visible { z-index: 1; transform: translateY(-4px); border-color: #1e3aba; box-shadow: 0 18px 36px rgba(30,58,186,.12); outline: none; }
.hero-action-index { position: absolute; left: 18px; top: 15px; color: #667085; font-size: 9px; font-weight: 850; letter-spacing: .1em; white-space: nowrap; }
.hero-action strong { display: block; font: 750 clamp(17px, 1.35vw, 21px)/1.25 var(--serif); }
.hero-action small { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.hero-action b { position: absolute; right: 17px; bottom: 20px; color: #1e3aba; font: 500 21px/1 var(--sans); }
.hero-action-reading { color: white; border-color: #1e3aba; background: #1e3aba; box-shadow: 0 18px 38px rgba(30,58,186,.2); }
.hero-action-reading:hover, .hero-action-reading:focus-visible { border-color: #006bff; background: #006bff; box-shadow: 0 22px 42px rgba(0,107,255,.22); }
.hero-action-reading .hero-action-index, .hero-action-reading small { color: rgba(255,255,255,.72); }
.hero-action-reading b { color: white; }
.hero-action-course { border-color: rgba(232,91,50,.38); background: #fff8f4; }
.hero-action-course:hover, .hero-action-course:focus-visible { border-color: #e85b32; box-shadow: 0 18px 36px rgba(232,91,50,.13); }
.hero-action-course .hero-action-index, .hero-action-course b { color: #c44725; }
.hero-cover { position: relative; width: min(100%, 330px); margin: 0; justify-self: center; }
.hero-cover img { position: relative; z-index: 2; width: 100%; box-shadow: 0 35px 80px rgba(32, 22, 15, .22); transform: rotate(1.4deg); }
.cover-backdrop { position: absolute; inset: 22px -24px -26px 25px; z-index: 1; border: 1px solid rgba(30,58,186,.28); background: #eef2ff; transform: rotate(-2deg); }
.hero-cover figcaption { position: relative; z-index: 3; margin-top: 24px; color: var(--muted); font-size: 12px; letter-spacing: .08em; text-align: center; }
.landing-page .eyebrow { color: #e85b32; }
.landing-page .button.primary { color: white; border-color: #1e3aba; background: #1e3aba; }
.landing-page .button.primary:hover { background: #006bff; border-color: #006bff; }
.lineage-section { border-block: 1px solid var(--line); background: rgba(255,255,255,.72); }
.lineage-path { min-height: 124px; display: grid; grid-template-columns: 100px 1fr minmax(150px, .7fr) 1fr; align-items: center; gap: clamp(22px, 4vw, 58px); }
.lineage-label { margin: 0; color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: .14em; }
.lineage-path article { min-width: 0; }
.lineage-path article span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.lineage-path article strong { display: block; margin-top: 8px; font: 750 clamp(21px, 2vw, 28px)/1.2 var(--serif); }
.lineage-current strong { color: #1e3aba; }
.lineage-current span { color: #e85b32 !important; }
.lineage-arrow { display: flex; align-items: center; justify-content: center; gap: 14px; color: #1e3aba; }
.lineage-arrow span { color: var(--muted); font-size: 12px; white-space: nowrap; }
.lineage-arrow b { font-size: 24px; font-weight: 500; }

.section-kicker { display: flex; justify-content: space-between; gap: 30px; margin-bottom: 48px; padding-bottom: 12px; border-bottom: 1px solid var(--ink); color: #1e3aba; font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.section-kicker.light { color: #ffb295; border-color: rgba(255,255,255,.25); }
.statement-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(50px, 9vw, 130px); align-items: start; }
.statement-grid h2 { margin: 0; font-size: clamp(40px, 5.4vw, 72px); }
.statement-copy { color: var(--muted); font-size: 18px; }
.statement-copy p:first-child { margin-top: 0; }
.statement-copy strong { color: var(--ink); }
.gap-cards { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 80px; border-top: 2px solid var(--ink); }
.gap-cards article { padding: 28px 32px 4px 0; }
.gap-cards article + article { padding-left: 32px; border-left: 1px solid var(--line); }
.gap-cards span, .map-index, .part-title { color: #e85b32; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.gap-cards h3 { margin: 24px 0 10px; font-size: 25px; }
.gap-cards p { margin: 0; color: var(--muted); font-size: 15px; }

.maps-intro { background: var(--white); }
.rich-head { margin-bottom: 64px; }
.map-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.map-summary { position: relative; overflow: hidden; min-height: 330px; padding: clamp(34px, 5vw, 66px); color: white; }
.map-summary::after { content: ""; position: absolute; right: -70px; bottom: -100px; width: 280px; height: 280px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 28px rgba(255,255,255,.05), 0 0 0 56px rgba(255,255,255,.04); }
.map-summary-red { background: linear-gradient(135deg, #1e3aba, #142873); }
.map-summary-gold { background: linear-gradient(135deg, #e85b32, #b74122); }
.map-summary .map-index { color: rgba(255,255,255,.72); }
.map-summary h3 { margin: 48px 0 16px; font-size: clamp(34px, 4vw, 52px); }
.map-summary p { position: relative; z-index: 1; max-width: 31em; color: rgba(255,255,255,.78); }
.map-summary a { position: relative; z-index: 1; display: inline-block; margin-top: 18px; font-weight: 750; text-underline-offset: 5px; }

.dual-compass-section { overflow: hidden; color: white; background: var(--night); }
.wide-rail { width: min(1420px, calc(100% - 48px)); }
.compass-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; margin-bottom: 58px; }
.compass-heading h2 { margin: 0; font-size: clamp(44px, 6vw, 82px); }
.compass-heading p { color: #c7c0b7; }
.compass-reading-rule { padding-top: 16px; border-top: 1px solid rgba(255,255,255,.2); color: #dec5a1 !important; font-weight: 700; }
.dual-compass-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.compass-card { min-width: 0; padding: clamp(20px, 3.5vw, 54px) clamp(12px, 2.7vw, 42px) 28px; border: 1px solid rgba(255,255,255,.13); border-radius: 22px; background: #f8f6f1; color: var(--ink); box-shadow: 0 24px 70px rgba(0,0,0,.23); }
.classic-compass { --compass-size: min(41vw, 570px); --node-size: clamp(58px, 5.6vw, 76px); --radius: calc(var(--compass-size) * .405); position: relative; width: var(--compass-size); height: var(--compass-size); margin: 0 auto; display: grid; place-items: center; }
.classic-compass .compass-dial { position: absolute; inset: 4%; border: 2px solid var(--gold); border-radius: 50%; background: radial-gradient(circle, #f1eee7 0, #fff 70%); box-shadow: inset 0 0 0 10px #fff, inset 0 0 0 11px rgba(184,151,106,.4); }
.classic-compass .compass-dial-red { border-color: var(--red); box-shadow: inset 0 0 0 10px #fff, inset 0 0 0 11px rgba(139,38,53,.35); }
.classic-compass .pointer-container { position: absolute; inset: 0; z-index: 6; pointer-events: none; transition: transform .55s cubic-bezier(.34,1.2,.64,1); }
.pointer-arrow { position: absolute; top: -7px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; }
.ptr-gold { border-bottom: 24px solid var(--gold); }
.ptr-red { border-bottom: 24px solid var(--red); }
.compass-node { position: absolute; left: 50%; top: 50%; z-index: 10; width: var(--node-size); height: var(--node-size); padding: 5px; border: 1px solid #e1ddd6; border-radius: 50%; color: var(--ink); background: white; box-shadow: 0 5px 14px rgba(0,0,0,.08); font-family: var(--sans); cursor: pointer; transform: translate(-50%,-50%) rotate(var(--angle)) translateX(var(--radius)) rotate(calc(-1 * var(--angle))); transition: border-color .2s, box-shadow .2s, scale .2s; }
.compass-node:hover, .compass-node:focus-visible, .compass-node.is-active { z-index: 15; border-color: var(--node-color); box-shadow: 0 8px 24px color-mix(in srgb, var(--node-color) 30%, transparent); scale: 1.09; outline: none; }
.compass-node span { display: block; font-size: clamp(9px, .86vw, 12px); line-height: 1.17; }
.lead-node strong { display: block; font: 700 clamp(12px, 1.2vw, 17px)/1.1 var(--serif); }
.lead-node span { margin-top: 3px; color: var(--muted); }
.center-cross-v3 { position: relative; z-index: 8; width: 46%; height: 46%; display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: repeat(5, 1fr); gap: 5px; }
.mini-box { min-width: 0; padding: 2px; border: 1px solid rgba(184,151,106,.4); border-radius: 7px; color: #605d58; background: rgba(250,248,243,.96); font: 650 clamp(8px, .8vw, 12px)/1.05 var(--sans); cursor: default; }
.mini-box:hover, .mini-box:focus-visible { border-color: var(--gold); background: #f1e9dc; outline: none; }
.mini-core { border: 2px solid var(--gold); color: #795d36; background: #eee2cf; }
.rank-center { position: relative; z-index: 8; display: flex; flex-direction: column; align-items: center; pointer-events: none; }
.rank-center strong { font: 750 clamp(30px, 3.6vw, 50px)/1 var(--serif); }
.rank-center span { margin-top: 8px; color: var(--red); font-size: clamp(12px, 1.2vw, 17px); font-weight: 700; }
.compass-card-caption { margin-top: 24px; padding-top: 20px; border-top: 1px solid #ddd8d0; text-align: center; }
.compass-card-caption .active-label { margin: 0; color: var(--red); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.compass-card-scene .active-label { color: #8b6a3e; }
.compass-card-caption h3 { margin: 7px 0 2px; font-size: 25px; }
.compass-card-caption p:last-child { margin: 0; color: var(--muted); font-size: 13px; }
.compass-legend { display: flex; flex-wrap: wrap; gap: 14px 34px; margin-top: 34px; color: #bfb7ad; font-size: 13px; }
.compass-legend span { display: inline-flex; align-items: center; gap: 9px; }
.compass-legend i { width: 9px; height: 9px; border-radius: 50%; }
.legend-red { background: var(--soft-red); }.legend-blue { background: var(--deep-blue); }.legend-gold { background: #9a7540; }

.level-path { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 2px solid var(--ink); border-left: 1px solid var(--line); }
.level-path article { min-height: 210px; padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.level-path span { color: var(--red); font-size: 12px; font-weight: 800; }
.level-path strong { display: block; margin: 40px 0 12px; font: 700 25px/1.2 var(--serif); }
.level-path p { margin: 0; color: var(--muted); font-size: 14px; }
.level-path article:nth-child(7), .level-path article:nth-child(8), .level-path article:nth-child(9) { background: var(--paper-deep); }
.level-path article:last-child { color: white; background: var(--red); }
.level-path article:last-child span, .level-path article:last-child p { color: rgba(255,255,255,.75); }

.fieldwork-section { background: #f4f6fa; }
.fieldwork-head { margin-bottom: 70px; }
.fieldwork-flow { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.fieldwork-flow li { display: grid; grid-template-columns: 84px 1fr; gap: 20px; align-items: start; padding: 23px 0; border-bottom: 1px solid #d7deea; }
.fieldwork-flow li > span { color: var(--red); font-weight: 800; }
.fieldwork-flow strong { font: 700 24px/1.2 var(--serif); }
.fieldwork-flow p { margin: 4px 0 0; color: var(--muted); }

.contents-section { background: white; }
.contents-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.part-title { padding-bottom: 14px; border-bottom: 2px solid var(--ink); }
.chapter-list.single-column { grid-template-columns: 1fr; border-top: 0; }
.chapter-list.single-column a, .chapter-list.single-column a:nth-child(even) { padding: 15px 0; border-left: 0; }
.chapter-list a[aria-disabled="true"] { cursor: default; }
.reading-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 70px; background: var(--line); border: 1px solid var(--line); }
.reading-paths article { padding: 28px; background: var(--paper); }
.reading-paths span { display: block; color: var(--red); font-size: 12px; font-weight: 800; }
.reading-paths strong { display: block; margin-top: 24px; font: 700 23px/1.2 var(--serif); }
.reading-paths p { margin-bottom: 0; color: var(--muted); font-size: 14px; }

.toolkit-section { color: white; background: linear-gradient(135deg, #1e3aba, #142873); }
.toolkit-section .section-no { color: #ffb295; }
.toolkit-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.55); }
.toolkit-grid article { padding: 30px 28px 10px 0; }
.toolkit-grid article + article { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.22); }
.toolkit-grid span { color: #ffb295; font-weight: 800; }
.toolkit-grid h3 { margin: 42px 0 14px; font-size: 27px; }
.toolkit-grid p, .toolkit-note { color: rgba(255,255,255,.7); font-size: 14px; }
.toolkit-note { margin: 48px 0 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.22); }

.open-section { color: white; background: #101a36; }
.open-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: center; }
.open-grid h2 { font-size: clamp(38px, 5vw, 66px); }
.open-grid p { max-width: 44em; color: #bbb5ad; }
.open-actions { display: flex; flex-direction: column; gap: 13px; }
.open-actions .button { width: 100%; }
.open-actions .button.primary { color: var(--ink); background: white; border-color: white; }
.open-actions .button.disabled { color: #8f8a84; background: transparent; border-color: #595651; }
.text-link { margin-top: 13px; color: #8ab4f8; text-align: center; text-underline-offset: 5px; }

.series-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.current-book, .future-book { min-height: 330px; padding: 38px; border: 1px solid var(--line); background: white; }
.current-book { display: grid; grid-template-columns: 150px 1fr; gap: 35px; align-items: center; }
.current-book img { width: 150px; box-shadow: 0 16px 30px rgba(0,0,0,.14); }
.series-grid span { color: var(--red); font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.series-grid h3 { margin: 22px 0 5px; font-size: 32px; }
.series-grid p { color: var(--muted); }
.future-book { display: flex; flex-direction: column; }
.future-book .shelf-line { margin-top: auto; }
.future-book .shelf-line i { display: block; width: 24px; border: 1px solid var(--line); border-bottom: 0; }
.future-book .shelf-line i:nth-child(1){height:54px}.future-book .shelf-line i:nth-child(2){height:75px}.future-book .shelf-line i:nth-child(3){height:62px}.future-book .shelf-line i:nth-child(4){height:88px}
.series-intro { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(40px, 8vw, 110px); align-items: end; margin-bottom: 64px; }
.series-intro h2 { margin: 0; }
.series-intro p { margin: 0; color: var(--muted); font-size: 17px; }
.series-roadmap { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 2px solid var(--ink); border-left: 1px solid var(--line); }
.series-roadmap article { position: relative; min-height: 250px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; }
.series-roadmap article:nth-child(1), .series-roadmap article:nth-child(2) { grid-column: span 3; }
.series-roadmap article:nth-child(n+3) { grid-column: span 2; }
.series-roadmap article::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--edition-color, #cbd5e1); }
.series-roadmap span { color: var(--edition-color, #64748b); font-size: 11px; font-weight: 850; letter-spacing: .1em; }
.series-roadmap h3 { margin: 48px 0 14px; font-size: clamp(24px, 2.4vw, 34px); }
.series-roadmap p { margin: 0; color: var(--muted); font-size: 14px; }
.series-foundation { --edition-color: #64748b; }
.series-enterprise { --edition-color: #ff6b35; background: #fff8f4 !important; }
.series-enterprise h3 { color: #1e3aba; }
.series-government { --edition-color: #8b5cf6; }
.series-university { --edition-color: #006bff; }
.series-youth { --edition-color: #10b981; }

.faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 100px; }
.faq-grid h2 { font-size: clamp(42px, 5vw, 68px); }
.faq-list { border-top: 2px solid var(--ink); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 25px 38px 25px 0; font: 700 20px/1.4 var(--serif); cursor: pointer; }
.faq-list p { margin: -5px 0 24px; color: var(--muted); }
.final-cta { padding: clamp(90px, 12vw, 170px) 0; color: white; background: var(--red); text-align: center; }
.final-cta h2 { margin-bottom: 25px; font-size: clamp(45px, 7vw, 94px); }
.final-cta p:not(.eyebrow) { color: rgba(255,255,255,.76); font-size: 19px; }
.final-cta .eyebrow { color: #ffb295; }
.final-cta .button-row { justify-content: center; }
.final-cta .button.primary { color: var(--red); background: white; border-color: white; }
.light-button { color: white; border-color: rgba(255,255,255,.55); }
.site-footer div > div { display: flex; gap: 28px; }
.landing-page .site-footer { background: #101a36; }

@media (max-width: 1080px) {
  .landing-header .nav-links a:nth-child(3), .landing-header .nav-links a:nth-child(4), .landing-header .nav-links a:nth-child(5) { display: none; }
  .fde-hero-grid { grid-template-columns: 1fr 280px; gap: 64px; }
  .hero-action { min-height: 134px; padding-inline: 15px 34px; }
  .hero-action-index { left: 15px; }
  .classic-compass { --compass-size: min(43vw, 500px); }
  .toolkit-grid { grid-template-columns: 1fr 1fr; }
  .toolkit-grid article:nth-child(3) { border-left: 0; }
}

@media (max-width: 820px) {
  .landing-header .nav-links a:not(.nav-main-site) { display: none; }
  .landing-header .site-header .rail { min-height: 66px; }
  .fde-hero { min-height: 0; }
  .fde-hero-grid, .statement-grid, .compass-heading, .contents-columns, .open-grid, .faq-grid { grid-template-columns: 1fr; }
  .hero-cover { width: min(64vw, 290px); margin-top: 42px; }
  .hero-actions { grid-template-columns: 1fr; gap: 9px; }
  .hero-action { min-height: 104px; padding: 44px 52px 15px 17px; }
  .hero-action-index { left: 17px; top: 13px; }
  .hero-action strong { font-size: 21px; }
  .hero-action b { right: 18px; bottom: 20px; }
  .gap-cards, .map-summary-grid, .dual-compass-grid, .series-grid { grid-template-columns: 1fr; }
  .gap-cards article, .gap-cards article + article { padding: 25px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .map-summary { min-height: 290px; }
  .wide-rail { width: min(100% - 20px, 1420px); }
  .classic-compass { --compass-size: min(88vw, 560px); --node-size: clamp(52px, 12vw, 70px); }
  .compass-card { padding-inline: 7px; }
  .compass-node span { font-size: clamp(8px, 2.4vw, 11px); }
  .lead-node strong { font-size: clamp(11px, 3vw, 16px); }
  .mini-box { font-size: clamp(7px, 2.1vw, 11px); }
  .compass-legend { padding-inline: 12px; }
  .level-path { grid-template-columns: 1fr 1fr; }
  .level-path article { min-height: 185px; }
  .reading-paths { grid-template-columns: 1fr; }
  .toolkit-grid { grid-template-columns: 1fr; }
  .toolkit-grid article, .toolkit-grid article + article { padding: 25px 0; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .current-book { grid-template-columns: 100px 1fr; gap: 24px; }
  .current-book img { width: 100px; }
}

@media (max-width: 520px) {
  .fde-hero-copy h1 { font-size: clamp(58px, 19vw, 84px); }
  .hero-status { font-size: 10px; letter-spacing: .05em; }
  .statement-grid h2, .compass-heading h2 { font-size: 42px; }
  .section-kicker { margin-bottom: 35px; }
  .level-path { grid-template-columns: 1fr; }
  .level-path article { min-height: 150px; }
  .level-path strong { margin-top: 24px; }
  .fieldwork-flow li { grid-template-columns: 48px 1fr; }
  .current-book { grid-template-columns: 1fr; }
  .current-book img { width: 130px; }
  .final-cta h2 { font-size: 42px; }
}

/* Dual compass aligned with products/enterprise/9dan10steps-ge.html */
.landing-page .dual-compass-section {
  color: #1f2937;
  background-color: #f4f6fa;
  background-image: linear-gradient(rgba(30,58,186,.042) 1px, transparent 1px), linear-gradient(90deg, rgba(30,58,186,.042) 1px, transparent 1px);
  background-size: 48px 48px;
}
.landing-page .dual-compass-section .section-kicker { color: #1e3aba; border-color: rgba(30,58,186,.24); }
.landing-page .compass-heading p { color: #64748b; }
.landing-page .compass-reading-rule { color: #e85b32 !important; border-color: rgba(232,91,50,.24); }
.landing-page .dual-compass-grid { gap: clamp(20px, 4vw, 56px); }
.landing-page .compass-card { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.landing-page .compass-card-title { margin: 0 0 25px; font-family: var(--sans); font-size: clamp(21px, 2.2vw, 30px); font-weight: 900; letter-spacing: .04em; text-align: center; }
.landing-page .compass-card-lead .compass-card-title { color: #1e3aba; }
.landing-page .compass-card-scene .compass-card-title { color: #e85b32; }
.landing-page .classic-compass { --compass-size: min(42vw, 570px); --node-size: clamp(72px, 7vw, 102px); --radius: calc(var(--compass-size) * .405); }
.landing-page .classic-compass .compass-dial { inset: 0; border: 1.5px solid rgba(30,58,186,.2); background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.96), rgba(240,243,255,.72)); box-shadow: inset 0 0 30px rgba(0,0,0,.02), 0 10px 25px rgba(15,23,42,.08); }
.landing-page .classic-compass .compass-dial::after { content: ""; position: absolute; inset: 8%; border: 1.5px dashed rgba(30,58,186,.28); border-radius: 50%; }
.landing-page .classic-compass .compass-dial-scene::after { border-color: rgba(232,91,50,.72); }
.landing-page .classic-compass .pointer-container { z-index: 12; }
.landing-page .pointer-shaft { position: absolute; bottom: 50%; left: 50%; width: 5px; height: calc(var(--compass-size) * .29); border-radius: 3px; transform: translateX(-50%); background: linear-gradient(to top, rgba(255,255,255,.7), currentColor 85%); box-shadow: 0 0 12px currentColor; }
.landing-page .pointer-shaft::after { content: ""; position: absolute; top: -10px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 18px solid currentColor; }
.landing-page .ptr-cyan-shaft { color: #006bff; }
.landing-page .ptr-orange-shaft { color: #ff6b35; }
.landing-page .compass-node { border-width: 2px; color: var(--node-color); background: rgba(255,255,255,.94); backdrop-filter: blur(4px); box-shadow: 0 8px 16px -6px rgba(0,40,60,.14); }
.landing-page .compass-node span { color: inherit; font-size: clamp(10px, 1vw, 14px); font-weight: 800; }
.landing-page .lead-node { --node-color: #1e3aba !important; }
.landing-page .lead-node strong { color: #1e3aba; font-family: var(--sans); font-size: clamp(15px, 1.45vw, 20px); font-weight: 900; }
.landing-page .lead-node span { margin-top: 3px; color: #263446; font-size: clamp(9px, .9vw, 12px); }
.landing-page .node-deep { color: #e85b32; }
.landing-page .node-light { color: #ff6b35; }
.landing-page .rank-center { --ring: #006bff; width: clamp(112px, 12vw, 165px); aspect-ratio: 1; justify-content: center; border: 10px solid #e9eef3; border-radius: 50%; background: white; box-shadow: 0 0 0 1px rgba(30,58,186,.1); }
.landing-page .rank-center::before { content: ""; position: absolute; inset: -10px; z-index: -1; border-radius: 50%; background: conic-gradient(var(--ring) var(--rank-progress, 40deg), #e9eef3 0); mask: radial-gradient(farthest-side, transparent calc(100% - 10px), #000 0); }
.landing-page .rank-center strong { color: #1f2937; font-family: var(--sans); font-weight: 900; }
.landing-page .rank-center span { color: #1e3aba; }
.landing-page .center-cross-v3 { width: 44%; height: 44%; }
.landing-page .mini-box { border-color: rgba(30,58,186,.22); border-radius: 10px; color: #334155; background: rgba(255,255,255,.86); }
.landing-page .mini-core { border: 2.5px solid #ff6b35; color: #e85b32; background: #fff3ed; }
.landing-page .compass-card-caption { min-height: 83px; margin-top: 20px; padding-top: 14px; border-color: rgba(30,58,186,.14); }
.landing-page .compass-card-caption .active-label { color: #1e3aba; }
.landing-page .compass-card-scene .active-label { color: #e85b32; }
.landing-page .compass-card-caption strong { display: block; margin: 5px 0 0; font: 800 22px/1.2 var(--serif); }
.landing-page .compass-card-caption p:last-child { color: #64748b; }
.landing-page .compass-legend { justify-content: center; color: #475569; }
.landing-page .legend-deep { background: #e85b32; }
.landing-page .legend-light { background: #ff6b35; }

@media (max-width: 820px) {
  .landing-page .classic-compass { --compass-size: min(91vw, 560px); --node-size: clamp(60px, 18vw, 94px); }
  .landing-page .compass-card-title { margin-bottom: 19px; }
  .landing-page .dual-compass-grid { gap: 60px; }
  .landing-page .rank-center { width: clamp(102px, 33vw, 150px); }
  .landing-page .compass-node span { font-size: clamp(9px, 3vw, 13px); }
  .landing-page .lead-node strong { font-size: clamp(14px, 4.3vw, 19px); }
  .landing-page .lead-node span { font-size: clamp(8px, 2.7vw, 11px); }
  .lineage-path { min-height: 0; grid-template-columns: 1fr; gap: 0; padding-block: 28px; }
  .lineage-label { margin-bottom: 22px; }
  .lineage-path article { padding: 0; }
  .lineage-arrow { min-height: 58px; justify-content: flex-start; }
  .lineage-arrow b { transform: rotate(90deg); }
  .series-intro { grid-template-columns: 1fr; }
  .series-roadmap { grid-template-columns: 1fr; }
  .series-roadmap article:nth-child(n) { grid-column: auto; min-height: 210px; }
}

/* Power of Trust — an editorial system distinct from the FDE edition */
.trust-page { --trust-red: #e43d18; --trust-blue: #18459b; --trust-ink: #171713; --trust-paper: #f7f2e8; overflow-x: hidden; background: var(--trust-paper); }
.trust-header { border-color: rgba(23,23,19,.14); background: rgba(247,242,232,.94); }
.trust-hero { position: relative; padding: clamp(70px, 9vw, 130px) 0 clamp(76px, 9vw, 126px); overflow: hidden; }
.trust-hero::before { content: "TRUST"; position: absolute; right: -2vw; bottom: -5vw; color: transparent; -webkit-text-stroke: 1px rgba(23,23,19,.1); font: 900 clamp(140px, 27vw, 390px)/.72 var(--sans); letter-spacing: -.08em; }
.trust-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 430px); gap: clamp(48px, 8vw, 120px); align-items: center; }
.trust-status { display: flex; align-items: center; gap: 9px; margin: 0 0 30px; color: #6b6256; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.trust-status span { width: 8px; height: 8px; border-radius: 50%; background: var(--trust-red); box-shadow: 0 0 0 6px rgba(228,61,24,.1); }
.trust-hero h1 { margin: 15px 0 0; color: var(--trust-ink); font-family: var(--sans); font-size: clamp(82px, 12vw, 174px); font-weight: 950; letter-spacing: -.1em; line-height: .9; }
.trust-subtitle { margin: 28px 0 0; color: var(--trust-red); font: 700 clamp(22px, 2.5vw, 34px)/1.35 var(--serif); }
.trust-lead { max-width: 39em; margin: 28px 0 0; color: #514b43; font-size: clamp(17px, 1.6vw, 21px); line-height: 1.8; }
.trust-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 42px; border: 1px solid rgba(23,23,19,.18); background: rgba(23,23,19,.18); }
.trust-action { position: relative; min-height: 162px; padding: 24px 22px; color: var(--trust-ink); background: rgba(255,255,255,.68); text-decoration: none; transition: transform .2s, background .2s; }
.trust-action:hover { z-index: 1; transform: translateY(-4px); background: white; }
.trust-action span { display: block; color: var(--trust-red); font-size: 10px; font-weight: 900; letter-spacing: .09em; }
.trust-action strong { display: block; margin-top: 34px; font: 750 19px/1.25 var(--serif); }
.trust-action small { display: block; margin-top: 9px; color: #777067; font-size: 12px; line-height: 1.45; }
.trust-action-primary { color: white; background: var(--trust-ink); }
.trust-action-primary:hover { background: #2c2b26; }
.trust-action-primary small { color: rgba(255,255,255,.68); }
.trust-cover { margin: 0; transform: rotate(1.5deg); }
.trust-cover img { width: 100%; border: 1px solid rgba(23,23,19,.14); box-shadow: 0 34px 70px rgba(55,43,25,.18); }
.trust-cover figcaption { margin-top: 16px; color: #6b6256; font-size: 12px; text-align: center; letter-spacing: .08em; }
.trust-statement { color: white; background: var(--trust-ink); }
.trust-statement .rail { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(40px, 8vw, 120px); align-items: end; padding-block: clamp(70px, 9vw, 120px); }
.trust-statement p { margin: 0; }
.trust-statement .trust-quote { font: 700 clamp(40px, 5.6vw, 76px)/1.14 var(--serif); letter-spacing: -.04em; }
.trust-statement .trust-quote + p { color: rgba(255,255,255,.66); font-size: 18px; line-height: 1.85; }
.trust-chain-section h2 { max-width: 10em; margin-bottom: 64px; font-size: clamp(46px, 6.5vw, 88px); }
.trust-chain { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; border-top: 2px solid var(--trust-ink); list-style: none; }
.trust-chain li { position: relative; min-height: 290px; padding: 28px 24px; border-right: 1px solid rgba(23,23,19,.18); }
.trust-chain li:first-child { border-left: 1px solid rgba(23,23,19,.18); }
.trust-chain li::after { content: "→"; position: absolute; right: -15px; top: 55%; z-index: 2; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--trust-red); font-weight: 900; }
.trust-chain li:last-child::after { content: none; }
.trust-chain span { color: var(--trust-red); font-size: 12px; font-weight: 900; }
.trust-chain strong { display: block; margin-top: 94px; font: 750 clamp(25px, 2.5vw, 36px)/1.2 var(--serif); }
.trust-chain p { color: #6f685f; font-size: 14px; line-height: 1.7; }
.trust-dual-chain { margin-top: 44px; border-top: 1px solid rgba(23,23,19,.18); }
.trust-dual-chain p { display: grid; grid-template-columns: 150px 1fr; gap: 18px; margin: 0; padding: 20px 0; border-bottom: 1px solid rgba(23,23,19,.18); font-weight: 700; letter-spacing: .03em; }
.trust-dual-chain span { color: var(--trust-red); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.trust-architecture-section { color: white; background: var(--trust-blue); }
.trust-architecture { width: min(850px, 100%); margin-inline: auto; }
.trust-architecture article { display: grid; grid-template-columns: 145px 1fr; align-items: center; gap: 24px; min-height: 108px; padding: 22px 34px; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.06); }
.trust-architecture article.featured { color: var(--trust-ink); border-color: white; background: white; }
.trust-architecture article span { font-size: 11px; font-weight: 900; letter-spacing: .1em; opacity: .7; }
.trust-architecture article strong { font: 750 clamp(24px, 3vw, 40px)/1.2 var(--serif); }
.trust-architecture i { display: block; height: 36px; font-style: normal; font-weight: 900; text-align: center; line-height: 36px; }
.trust-contents-head { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(44px, 8vw, 120px); align-items: end; margin-bottom: 70px; }
.trust-contents-head h2 { margin: 0; }
.trust-contents-head p { color: #6b6256; font-size: 17px; line-height: 1.8; }
.trust-contents-head .button { margin-top: 18px; }
.trust-final-cta { padding: clamp(80px, 11vw, 150px) 0; color: var(--trust-ink); background: #fff; }
.trust-final-cta h2 { max-width: 11em; font-size: clamp(52px, 8vw, 105px); }
.trust-final-cta .button-row { justify-content: flex-start; }
.version-notice { margin: 44px 0 56px; padding: 22px 24px; border-left: 4px solid var(--trust-red); background: #fff5ef; }
.version-notice strong { color: var(--trust-red); }
.version-notice p { margin: 8px 0 0; color: var(--muted); }
.trust-reading-toc h2 { margin-bottom: 24px; }
.trust-reading-toc ol { margin: 0; padding: 0; border-top: 2px solid var(--ink); list-style: none; }
.trust-reading-toc li { border-bottom: 1px solid var(--line); }
.trust-reading-toc a { display: grid; grid-template-columns: 54px 1fr; gap: 16px; align-items: center; padding: 17px 0; color: var(--ink); text-decoration: none; }
.trust-reading-toc a:hover strong { color: var(--trust-red); }
.trust-reading-toc span { color: var(--trust-red); font-size: 12px; font-weight: 900; }
.trust-reading-toc strong { font: 700 20px/1.35 var(--serif); }
.reading-pagination { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 58px; padding-top: 30px; border-top: 1px solid var(--line); }
.reading-pagination a { color: var(--trust-red, var(--red)); font-weight: 800; text-decoration: none; }
.reading-pagination a:last-child { text-align: right; }
.trust-reading-page .reading-content img { display: block; width: min(100%, 760px); height: auto; margin: 32px auto; }

@media (max-width: 980px) {
  .trust-hero-grid { grid-template-columns: 1fr minmax(240px, 34vw); gap: 45px; }
  .trust-actions { grid-template-columns: 1fr; }
  .trust-action { min-height: 112px; }
  .trust-action strong { margin-top: 20px; }
  .trust-chain { grid-template-columns: 1fr; border-left: 1px solid rgba(23,23,19,.18); border-right: 1px solid rgba(23,23,19,.18); }
  .trust-chain li, .trust-chain li:first-child { min-height: 0; padding: 24px; border-left: 0; border-right: 0; border-bottom: 1px solid rgba(23,23,19,.18); }
  .trust-chain li::after { content: "↓"; right: auto; left: 50%; top: auto; bottom: -15px; transform: translateX(-50%); }
  .trust-chain strong { margin-top: 28px; }
}

@media (max-width: 720px) {
  .trust-hero-grid, .trust-statement .rail, .trust-contents-head { grid-template-columns: 1fr; }
  .trust-cover { width: min(76vw, 360px); margin-inline: auto; }
  .trust-statement .rail { align-items: start; }
  .trust-dual-chain p { grid-template-columns: 1fr; gap: 8px; }
  .trust-architecture article { grid-template-columns: 1fr; gap: 8px; padding: 22px; }
  .trust-architecture article strong { font-size: 23px; }
  .reading-pagination { grid-template-columns: 1fr; }
  .reading-pagination a:last-child { text-align: left; }
}
