:root {
  --paper: #f4f1ea;
  --paper-deep: #e8e4dc;
  --ink: #11171d;
  --ink-deep: #090d10;
  --ink-soft: #25303a;
  --muted: #566068;
  --line: #c9c6bf;
  --accent: #e43d3d;
  --accent-soft: #ef7777;
  --warm: #f26b3a;
  --white: #fff;
  --sans: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --serif: "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif;
  --mono: "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; color: var(--ink); background: #d2cdc4; font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body { padding: 72px 0 24px; }
h1, h2, h3, p, dl, dd { margin: 0; }
a { color: inherit; }
img { max-width: 100%; }

.deck-toolbar {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 20;
  min-height: 54px;
  padding: 8px max(20px, calc((100vw - 210mm) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #dfe5e8;
  background: rgba(8, 13, 17, .94);
  border-bottom: 1px solid #374047;
  backdrop-filter: blur(16px);
  font: 600 11px/1.4 var(--mono);
  letter-spacing: .05em;
}
.deck-toolbar > div { display: flex; gap: 8px; }
.deck-toolbar a { min-height: 34px; padding: 8px 14px; display: inline-flex; align-items: center; border: 1px solid rgba(244,241,234,.42); color: var(--white); text-decoration: none; transition: background .2s ease; }
.deck-toolbar a:hover { background: rgba(244,241,234,.1); }
.deck-toolbar a:last-child { color: var(--ink-deep); border-color: var(--accent); background: var(--accent); }
.deck-toolbar a:last-child:hover { background: var(--accent-soft); }
.deck-toolbar a:focus-visible { outline: 3px solid var(--accent-soft); outline-offset: 3px; }

.flyer { width: 100%; }
.sheet {
  position: relative;
  width: 210mm;
  height: 297mm;
  margin: 0 auto 24px;
  padding: 13mm 15mm 10mm;
  display: flex;
  flex-direction: column;
  color: var(--ink);
  background: var(--paper);
  box-shadow: 0 18px 52px rgba(17, 23, 29, .2);
}
.sheet-head {
  min-height: 13mm;
  padding-bottom: 4mm;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8mm;
  border-bottom: 1px solid var(--ink);
}
.sheet-head > div { display: flex; align-items: baseline; gap: 4mm; }
.sheet-head span, .sheet-head em { color: var(--accent); font: 650 7.5pt/1.35 var(--mono); letter-spacing: .11em; }
.sheet-head b { font-size: 9.5pt; line-height: 1.4; }
.sheet-head em { color: var(--muted); font-style: normal; }
.sheet-foot {
  min-height: 9mm;
  margin-top: auto;
  padding-top: 3.5mm;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8mm;
  color: var(--muted);
  border-top: 1px solid var(--line);
  font: 550 7pt/1.4 var(--mono);
  letter-spacing: .04em;
}
.section-code { margin-bottom: 3mm; display: flex; align-items: center; gap: 2.2mm; color: var(--accent); font: 600 7.5pt/1.4 var(--mono); letter-spacing: .14em; }
.section-code::before { content: ""; width: 1.9mm; height: 1.9mm; flex: 0 0 auto; background: currentColor; box-shadow: 0 0 0 1.4mm rgba(228,61,61,.13); }
.section-code-light { color: var(--accent-soft); }

.sheet-cover { padding: 13mm 15mm 11mm; overflow: clip; color: var(--white); background: var(--ink-deep); isolation: isolate; }
.sheet-cover::before { content: ""; position: absolute; z-index: -2; width: 185mm; height: 185mm; top: -55mm; right: -71mm; border: 1px solid rgba(255, 255, 255, .14); border-radius: 50%; box-shadow: 0 0 0 28mm rgba(255, 255, 255, .025), 0 0 0 56mm rgba(216, 59, 56, .025); }
.sheet-cover::after { content: ""; position: absolute; z-index: -3; inset: 0; background: radial-gradient(circle at 78% 39%, rgba(216, 59, 56, .24), transparent 28%), linear-gradient(145deg, #080d11 12%, #141b20 68%, #211518 100%); }
.cover-grid { position: absolute; z-index: -1; inset: 0; opacity: .5; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 12mm 12mm; mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.cover-top, .cover-bottom { display: flex; justify-content: space-between; gap: 10mm; color: #9fabb1; font: 600 7.5pt/1.4 var(--mono); letter-spacing: .12em; }
.cover-top { padding-bottom: 4mm; border-bottom: 1px solid #465159; }
.cover-top span { color: #e2e7e9; }
.cover-top b { color: var(--accent-soft); }
.cover-content { width: 100%; margin: auto 0; padding: 12mm 0 18mm; }
.cover-content h1 { max-width: 168mm; }
.cover-brand { margin-bottom: 16mm; display: flex; flex-direction: column; align-items: flex-start; gap: 4mm; }
.flyer-brand-logo { display: block; width: 112mm; height: auto; filter: invert(1); }
.cover-brand b { color: #f2f4f5; font: 720 23pt/1.1 var(--sans); letter-spacing: -.04em; }
.cover-content h1 > strong { display: block; color: var(--white); font: 760 42pt/1.14 var(--serif); letter-spacing: -.06em; }
.cover-content > p { max-width: 150mm; color: #d4dadd; font-size: 12pt; line-height: 1.85; }
.cover-content > p + p { max-width: 160mm; margin-top: 3mm; color: #9facb2; font-size: 10pt; }
.cover-bottom { padding-top: 4mm; border-top: 1px solid #465159; }

.organization-intro { padding: 12mm 0 8mm; display: grid; grid-template-columns: 1fr 1.05fr; gap: 10mm; align-items: end; }
.organization-intro .section-code { grid-column: 1 / -1; margin-bottom: -5mm; }
.organization-intro h2 { font: 760 23pt/1.26 var(--serif); letter-spacing: -.045em; }
.organization-intro > p:last-child { color: var(--muted); font-size: 10pt; line-height: 1.85; }
.research-panel { min-height: 95mm; padding: 7mm; display: grid; grid-template-columns: 55mm 1fr; align-items: center; gap: 10mm; color: var(--white); background: radial-gradient(circle at 88% 12%, rgba(228,61,61,.26), transparent 40%), linear-gradient(135deg, var(--ink-deep), #10161c 75%); border-radius: 1mm; }
.research-panel > img { width: 55mm; height: 82.4mm; object-fit: cover; box-shadow: 0 4mm 9mm rgba(0, 0, 0, .28); }
.research-panel h3 { margin-bottom: 3mm; font: 700 21pt/1.3 var(--serif); }
.research-panel > div > p:not(.section-code) { color: #afbdc5; font-size: 8.8pt; line-height: 1.75; }
.research-panel a { margin-top: 7mm; padding: 4mm 0; display: grid; gap: 1.5mm; border-top: 1px solid #526877; border-bottom: 1px solid #526877; text-decoration: none; }
.research-panel a small { color: #78c6e9; font: 600 7pt/1.4 var(--mono); letter-spacing: .08em; }
.research-panel a strong { font-size: 12.5pt; line-height: 1.5; }
.research-panel a span { color: #afbdc5; font: 600 7pt/1.4 var(--mono); }
.organization-services { margin-top: 7mm; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3mm; }
.organization-services article { min-height: 34mm; padding: 5mm; border: 1px solid var(--line); border-radius: 1mm; background: var(--white); }
.organization-services b { color: var(--accent); font: 700 7pt/1 var(--mono); }
.organization-services h3 { margin: 5mm 0 1.5mm; font-size: 12pt; }
.organization-services p { color: var(--muted); font-size: 8.4pt; line-height: 1.6; }

.definition-copy { padding: 12mm 0 8mm; display: grid; grid-template-columns: 1fr 1fr; gap: 11mm; }
.definition-copy .section-code { grid-column: 1 / -1; margin-bottom: -5mm; }
.definition-copy h2 { font: 760 25pt/1.25 var(--serif); letter-spacing: -.045em; }
.definition-copy > p:last-child { color: var(--muted); font-size: 10pt; line-height: 1.9; }
.responsibility-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.responsibility-grid article { min-height: 45mm; padding: 5mm 4mm; border-right: 1px solid var(--line); }
.responsibility-grid article:last-child { border-right: 0; }
.responsibility-grid b { color: var(--accent); font: 700 7pt/1 var(--mono); }
.responsibility-grid h3 { margin: 8mm 0 2mm; font-size: 11pt; }
.responsibility-grid p { color: var(--muted); font-size: 7.5pt; line-height: 1.65; }
.method-panel { margin-top: 9mm; min-height: 88mm; padding: 9mm; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 12mm; color: var(--white); background: radial-gradient(circle at 92% 8%, rgba(228,61,61,.2), transparent 38%), var(--ink); border-radius: 1mm; }
.method-panel h2 { font: 720 25pt/1.2 var(--serif); letter-spacing: -.045em; }
.method-panel h2 em { color: var(--accent-soft); font-style: normal; }
.method-panel ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid #48545b; }
.method-panel li { padding: 3.5mm 0; display: grid; grid-template-columns: 11mm 1fr; border-bottom: 1px solid #354047; }
.method-panel li b { color: var(--accent-soft); font: 650 7.5pt/1.5 var(--mono); }
.method-panel li span { color: #d9e0e3; font-size: 9pt; }

.service-hero { padding: 12mm 0 7mm; display: flex; justify-content: space-between; align-items: end; gap: 12mm; }
.service-hero h2 { font: 760 30pt/1.18 var(--serif); letter-spacing: -.055em; }
.service-price { min-width: 56mm; padding: 5mm 0 4mm; border-top: 2px solid var(--accent); border-bottom: 1px solid var(--line); }
.service-price strong { display: block; margin-bottom: 2mm; color: var(--accent); font: 750 22pt/1.15 var(--serif); letter-spacing: -.04em; }
.service-price span { color: var(--muted); font: 550 7pt/1.45 var(--mono); }
.service-summary { max-width: 161mm; margin-bottom: 7mm; color: var(--muted); font-size: 10.5pt; line-height: 1.85; }
.service-columns { min-height: 151mm; display: grid; grid-template-columns: .92fr 1.08fr; gap: 7mm; }
.service-delivery { padding: 7mm; border: 1px solid var(--line); border-radius: 1mm; background: var(--white); }
.service-delivery ol { margin: 0; padding: 0; list-style: none; }
.service-delivery li { padding: 5mm 0; display: grid; grid-template-columns: 10mm 1fr; gap: 1mm; border-top: 1px solid #c2bbb0; }
.service-delivery li:first-child { border-top-color: var(--ink); }
.service-delivery li > b { color: var(--accent); font: 700 7pt/1.55 var(--mono); }
.service-delivery li span { color: var(--muted); font-size: 8.2pt; line-height: 1.7; }
.service-delivery li strong { display: block; margin-bottom: 1mm; color: var(--ink); font-size: 10.5pt; }
.case-card { min-width: 0; padding: 8mm; display: flex; flex-direction: column; color: var(--white); background: var(--ink); border-radius: 1mm; }
.case-card h3 { margin-bottom: 5mm; font: 700 18pt/1.35 var(--serif); }
.case-card > p:not(.section-code) { color: #bdc7cc; font-size: 9pt; line-height: 1.85; }
.case-card > div:not(.case-flow) { margin-top: auto; padding: 6mm 0; display: flex; align-items: center; justify-content: space-between; gap: 2mm; color: #dce2e4; border-top: 1px solid #465159; border-bottom: 1px solid #465159; font: 650 7.5pt/1.4 var(--mono); }
.case-card > div b { color: var(--accent-soft); }
.case-card small, .case-strip small { margin-top: 5mm; color: #8f9da3; font-size: 6.8pt; line-height: 1.6; }
.case-strip-visual,
.case-card-visual { position: relative; isolation: isolate; overflow: hidden; }
.case-strip-visual > :not(.case-visual),
.case-card-visual > :not(.case-visual) { position: relative; z-index: 1; }
.case-visual { position: absolute; inset: 0; z-index: 0; margin: 0; pointer-events: none; }
.case-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 13, 16, .94) 0%, rgba(8, 13, 16, .83) 48%, rgba(8, 13, 16, .52) 100%); }
.case-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.05); }
.case-visual figcaption { position: absolute; top: 5mm; right: 5mm; z-index: 1; padding: 1.5mm 2.5mm; color: #eef2f3; border: 1px solid rgba(255,255,255,.46); background: rgba(8,13,16,.62); font: 650 6.3pt/1.2 var(--mono); letter-spacing: .08em; }

.service-sheet-training, .service-sheet-onsite, .service-sheet-system { --service-tone: var(--accent); }
.service-price { border-top: 1.6mm solid var(--accent); }
.schedule-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; }
.schedule-grid article { min-height: 26mm; padding: 4mm 5mm; border: 1px solid var(--line); border-top: 1.2mm solid var(--service-tone); border-radius: 1mm; background: var(--white); }
.schedule-grid b { color: var(--service-tone); font: 700 7pt/1.4 var(--mono); }
.schedule-grid h3 { margin: 2.5mm 0 1.5mm; font: 700 12pt/1.25 var(--serif); }
.schedule-grid p { color: var(--muted); font-size: 8.6pt; line-height: 1.65; }
.case-strip { min-height: 66mm; margin-top: 7mm; padding: 7mm; display: grid; grid-template-columns: .9fr 1.1fr; gap: 9mm; color: var(--white); background: var(--ink); border-radius: 1mm; }
.case-strip h3 { font: 700 15pt/1.4 var(--serif); }
.case-strip > p { padding-top: 8mm; color: #bdc7cc; font-size: 8.8pt; line-height: 1.8; }
.case-strip small { grid-column: 1 / -1; margin-top: 0; padding-top: 3mm; border-top: 1px solid #465159; }

.system-map { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; }
.system-map article { min-height: 53mm; padding: 5mm 4mm; border: 1px solid var(--line); border-radius: 1mm; background: var(--white); }
.system-map b { color: var(--accent); font: 700 7pt/1 var(--mono); }
.system-map h3 { margin: 8mm 0 2mm; font-size: 11pt; }
.system-map p { color: var(--muted); font-size: 8pt; line-height: 1.65; }
.case-card-wide { min-height: 92mm; margin-top: 8mm; display: grid; grid-template-columns: 1fr 1.1fr; gap: 8mm; }
.case-card-wide > div:first-child { margin: 0; padding: 0; display: block; border: 0; }
.case-card-wide .section-code { display: block; }
.case-card-wide .section-code::before { display: inline-block; margin-right: 2.2mm; vertical-align: 1px; }
.case-card-wide > p { align-self: center; }
.case-card-wide .case-flow { grid-column: 1 / -1; margin: 0; padding: 4mm 0; display: flex; justify-content: space-between; gap: 3mm; color: #dce2e4; border-top: 1px solid #465159; border-bottom: 1px solid #465159; font: 650 7.2pt/1.4 var(--mono); }
.case-card-wide .case-flow b { color: var(--accent-soft); }
.case-card-wide small { grid-column: 1 / -1; margin: 0; }

.sheet-model { color: var(--white); background: var(--ink-deep); }
.sheet-model::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 80% 18%, rgba(216,59,56,.2), transparent 25%); }
.sheet-model > * { position: relative; }
.sheet-head-light { border-bottom-color: #485159; }
.sheet-head-light b { color: var(--white); }
.sheet-head-light em { color: #89969c; }
.model-intro { padding: 11mm 0 7mm; display: grid; grid-template-columns: 1fr 1fr; gap: 9mm; }
.model-intro .section-code { grid-column: 1 / -1; margin-bottom: -5mm; }
.model-intro h2 { font: 720 24pt/1.3 var(--serif); letter-spacing: -.045em; }
.model-intro > p:last-child { color: #aeb8bd; font-size: 9.5pt; line-height: 1.85; }
.model-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3mm; }
.model-grid article { min-height: 91mm; padding: 6mm 5mm; border: 1px solid #465159; background: rgba(22, 30, 36, .82); }
.model-grid article:nth-child(2) { border-top-color: #c39a50; }
.model-grid article:nth-child(3) { border-top-color: var(--accent); }
.model-grid article > span { color: var(--accent-soft); font: 650 7pt/1.4 var(--mono); letter-spacing: .1em; }
.model-grid h3 { margin: 8mm 0 3mm; font: 700 14pt/1.3 var(--serif); }
.model-grid p { min-height: 35mm; color: #b7c1c5; font-size: 8pt; line-height: 1.72; }
.model-grid dl { border-top: 1px solid #465159; }
.model-grid dl > div { padding: 2.5mm 0; display: flex; justify-content: space-between; gap: 3mm; border-bottom: 1px solid #333c42; }
.model-grid dt { color: #849198; font-size: 7pt; }
.model-grid dd { color: #e2e7e9; font-size: 7pt; text-align: right; }
.closing-contact { min-height: 78mm; margin-top: 7mm; padding: 7mm 8mm; display: flex; align-items: center; justify-content: space-between; gap: 10mm; border: 1px solid #465159; border-radius: 1mm; background: rgba(228, 61, 61, .08); }
.closing-contact h2 { margin-bottom: 2mm; font: 700 18pt/1.35 var(--serif); }
.closing-contact p:not(.section-code) { color: #aeb8bd; font-size: 9pt; }
.closing-contact strong { display: block; margin-top: 5mm; font-size: 13pt; }
.closing-contact small { display: block; margin-top: 1mm; color: #8f9da3; font-size: 7pt; }
.closing-contact img { width: 40mm; height: 40mm; flex: 0 0 auto; object-fit: contain; background: var(--white); }
.sheet-foot-light { color: #849198; border-top-color: #3c464c; }

@media screen and (max-width: 820px) {
  body { padding: 56px 0 0; background: var(--paper); }
  .deck-toolbar { min-height: 50px; padding: 7px 12px; }
  .deck-toolbar > span { display: none; }
  .deck-toolbar > div { width: 100%; justify-content: space-between; }
  .sheet { width: 100%; height: auto; min-height: 100svh; margin: 0 0 14px; padding: 28px 22px 22px; box-shadow: none; }
  .sheet-head { min-height: 0; padding-bottom: 14px; }
  .sheet-head > div { display: block; }
  .sheet-head b { display: block; margin-top: 5px; font-size: 14px; }
  .sheet-head span, .sheet-head em, .section-code { font-size: 11px; }
  .sheet-foot { margin-top: 32px; padding-top: 14px; font-size: 10px; }
  .cover-content { padding: 80px 0; }
  .flyer-brand-logo { width: min(100%, 440px); }
  .cover-brand b { font-size: 34px; }
  .cover-content h1 > strong { font-size: clamp(46px, 14vw, 68px); }
  .cover-content > p, .cover-content > p + p { font-size: 16px; }
  .organization-intro, .definition-copy, .model-intro { padding: 48px 0 32px; grid-template-columns: 1fr; gap: 20px; }
  .organization-intro .section-code, .definition-copy .section-code, .model-intro .section-code { grid-column: auto; margin-bottom: 0; }
  .organization-intro h2, .definition-copy h2, .model-intro h2 { font-size: 34px; }
  .organization-intro > p:last-child, .definition-copy > p:last-child, .model-intro > p:last-child { font-size: 16px; }
  .research-panel { padding: 22px; grid-template-columns: 110px 1fr; gap: 20px; }
  .research-panel > img { width: 110px; height: 165px; }
  .research-panel h3 { font-size: 25px; }
  .research-panel > div > p:not(.section-code), .research-panel a strong { font-size: 14px; }
  .organization-services, .responsibility-grid, .system-map { grid-template-columns: 1fr 1fr; }
  .organization-services article, .responsibility-grid article, .system-map article { min-height: 160px; padding: 20px; }
  .organization-services h3, .responsibility-grid h3, .system-map h3 { font-size: 20px; }
  .organization-services p, .responsibility-grid p, .system-map p { font-size: 14px; }
  .method-panel { padding: 28px 22px; grid-template-columns: 1fr; gap: 28px; }
  .method-panel h2 { font-size: 36px; }
  .method-panel li span { font-size: 15px; }
  .service-hero { padding: 48px 0 28px; display: block; }
  .service-hero h2 { font-size: 42px; }
  .service-price { margin-top: 28px; }
  .service-price strong { font-size: 34px; }
  .service-price span { font-size: 12px; }
  .service-summary { margin-bottom: 28px; font-size: 16px; }
  .service-columns, .case-strip, .case-card-wide { min-height: 0; grid-template-columns: 1fr; }
  .service-delivery, .case-card, .case-strip { padding: 24px; }
  .service-delivery li span, .case-card > p:not(.section-code), .case-strip > p { font-size: 15px; }
  .case-card h3, .case-strip h3 { font-size: 25px; }
  .schedule-grid { grid-template-columns: 1fr; }
  .schedule-grid article { min-height: 0; padding: 24px; }
  .schedule-grid h3 { margin: 22px 0 8px; font-size: 23px; }
  .schedule-grid p { font-size: 15px; }
  .case-strip { margin-top: 24px; gap: 20px; }
  .case-strip small, .case-card small { grid-column: auto; font-size: 12px; }
  .case-visual figcaption { top: 16px; right: 16px; padding: 5px 8px; font-size: 10px; }
  .case-card-wide .case-flow { grid-column: auto; flex-wrap: wrap; gap: 10px; font-size: 12px; }
  .model-grid { grid-template-columns: 1fr; gap: 14px; }
  .model-grid article { min-height: 0; padding: 24px; }
  .model-grid h3 { margin: 24px 0 10px; font-size: 25px; }
  .model-grid p { min-height: 0; font-size: 15px; }
  .model-grid dt, .model-grid dd { font-size: 13px; }
  .closing-contact { margin-top: 24px; padding: 24px; align-items: flex-start; }
  .closing-contact h2 { font-size: 23px; }
  .closing-contact p:not(.section-code) { font-size: 14px; }
  .closing-contact img { width: 112px; height: 112px; }
}

@media screen and (max-width: 520px) {
  .cover-bottom { display: grid; gap: 8px; }
  .research-panel { grid-template-columns: 1fr; }
  .research-panel > img { width: min(56vw, 230px); height: auto; }
  .organization-services, .responsibility-grid, .system-map { grid-template-columns: 1fr; }
  .closing-contact { display: grid; }
}

@media print {
  @page { size: A4 portrait; margin: 0; }
  html, body { width: 210mm; margin: 0; padding: 0; background: var(--paper); }
  .deck-toolbar { display: none; }
  .sheet { margin: 0; box-shadow: none; break-after: page; page-break-after: always; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .sheet:last-child { break-after: auto; page-break-after: auto; }
}

/* 2026-09-07 Minutes v4: dominant report cover and the corrected point-line-plane curve. */
.cover-brand b { font-size: 31pt; letter-spacing: -.055em; }
.research-panel {
  position: relative;
  min-height: 112mm;
  padding: 7mm 8mm 6mm;
  grid-template-columns: 68mm 1fr;
  align-items: center;
  gap: 9mm;
  justify-items: stretch;
  color: var(--white);
  text-decoration: none;
}
.sheet-organization .organization-intro { padding: 8mm 0 5mm; }
.sheet-organization .organization-services { min-height: 30mm; margin-top: 5mm; }
.sheet-organization .organization-services article { min-height: 30mm; padding-block: 4mm; }
.research-panel > img { width: 68mm; height: 96mm; align-self: center; justify-self: center; object-fit: cover; box-shadow: 0 4mm 11mm rgba(0, 0, 0, .34); }
.research-panel-copy > .section-code { margin: 0; color: var(--accent-soft); }
.research-panel-desc { margin-top: 4mm; color: #d4dadd; font-size: 10.5pt; line-height: 1.85; }
.research-panel-action { display: block; margin-top: 6mm; color: #afbdc5; font: 600 6.5pt/1.4 var(--mono); letter-spacing: .06em; }
.research-panel:focus-visible { outline: 2px solid var(--accent-soft); outline-offset: 2mm; }

.definition-copy-compact {
  padding: 14mm 0 9mm;
  display: block;
}
.definition-copy-compact .section-code { margin-bottom: 4mm; }
.definition-copy-compact h2 {
  max-width: 166mm;
  font: 720 23pt/1.46 var(--serif);
}
.responsibility-line {
  position: relative;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
}
.responsibility-line::before {
  content: "";
  position: absolute;
  top: 4.3mm;
  right: 10%;
  left: 10%;
  height: 1px;
  background: var(--ink);
}
.responsibility-line li { position: relative; min-height: 24mm; padding-top: 10mm; text-align: center; }
.responsibility-line li::before { content: ""; position: absolute; top: 3mm; left: 50%; width: 3mm; height: 3mm; border: 1px solid var(--accent); border-radius: 50%; background: var(--paper); transform: translateX(-50%); }
.responsibility-line b { display: block; color: var(--accent); font: 700 6.5pt/1.4 var(--mono); }
.responsibility-line span { font-size: 10pt; font-weight: 700; }
.sheet-definition .method-panel { margin-top: 5mm; min-height: 104mm; flex: 1; }

.transformation-chart {
  position: relative;
  height: 86mm;
  margin: 0;
  padding: 5mm 6mm 4mm 12mm;
  border: 1px solid #465159;
  background: rgba(22, 30, 36, .78);
}
.transformation-chart figcaption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.transformation-chart > p { display: none; }
.transformation-chart svg { display: block; width: 100%; height: 62mm; overflow: visible; }
.chart-grid path { fill: none; stroke: #465159; stroke-width: 1; }
.chart-grid path:first-child { stroke: #7c898f; stroke-width: 1.5; }
.chart-area { fill: url(#chart-fill); }
.chart-curve { fill: none; stroke: var(--accent-soft); stroke-width: 5; stroke-linecap: round; }
.chart-points circle { fill: var(--ink-deep); stroke: var(--accent-soft); stroke-width: 4; }
.chart-axis { position: absolute; color: #8e9ba1; font: 600 6.4pt/1.3 var(--mono); letter-spacing: .06em; }
.chart-axis-y { top: 42%; left: -16mm; transform: rotate(-90deg); }
.chart-axis-x { right: 6mm; bottom: 4mm; }
.chart-stages { position: absolute; right: 8mm; bottom: 6mm; left: 18mm; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3mm; align-items: end; }
.chart-stages span { color: #aeb8bd; font-size: 6.5pt; }
.chart-stages b { display: block; margin-bottom: .8mm; color: #f0f2f3; font: 700 7pt/1.3 var(--mono); }
.sheet-model .closing-contact { min-height: 54mm; margin-top: 6mm; padding: 5mm 7mm; flex: 1; }
.sheet-model .closing-contact h2 { font-size: 16pt; }
.sheet-model .closing-contact strong { margin-top: 3mm; }
.sheet-model .closing-contact img { width: 34mm; height: 34mm; }

@media screen and (max-width: 820px) {
  .research-panel { min-height: 0; padding: 24px; grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 18px; }
  .research-panel > img { width: min(62vw, 300px); height: auto; }
  .research-panel-action { font-size: 12px; text-align: center; }
  .definition-copy-compact h2 { font-size: 27px; }
  .responsibility-line { margin: 18px 0; }
  .responsibility-line li { min-height: 70px; padding-top: 30px; }
  .responsibility-line::before { top: 13px; }
  .responsibility-line li::before { top: 8px; width: 10px; height: 10px; }
  .transformation-chart { height: 390px; padding: 20px 14px 18px 34px; }
  .transformation-chart svg { height: 290px; }
  .chart-axis-y { left: -61px; }
  .chart-axis-x { right: 14px; bottom: 11px; }
  .chart-stages { right: 18px; bottom: 22px; left: 54px; gap: 8px; }
  .chart-stages span { font-size: 10px; }
  .chart-stages b { font-size: 10px; }
}

@media screen and (max-width: 520px) {
  .responsibility-line { grid-template-columns: repeat(4, minmax(0, 1fr)); overflow-x: visible; }
  .responsibility-line b { font-size: 9px; }
  .responsibility-line span { white-space: nowrap; font-size: 11px; }
  .transformation-chart { height: 330px; }
  .transformation-chart svg { height: 235px; }
  .chart-stages span { font-size: 9px; }
  .chart-stages strong { font-size: 10px; }
}

/* September 9 review: readable before/after cases and one coordinate system. */
.service-price strong { font-size: 23pt; white-space: nowrap; }
.service-summary { margin-bottom: 6mm; font-size: 10pt; line-height: 1.8; }
.service-columns { min-height: 0; display: block; }
.service-delivery { padding: 4mm 5mm; }
.service-delivery ol { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 5mm; }
.service-delivery li { padding: 2mm 0; gap: 2mm; border: 0; }
.service-delivery li strong { font-size: 10pt; }
.service-delivery li span { font-size: 8pt; }
.schedule-grid article { min-height: 32mm; }
.case-study { margin-top: 6mm; border: 1px solid var(--line); border-radius: 1.5mm; overflow: hidden; background: white; }
.case-study-head { padding: 5mm 6mm 4mm; color: white; background: var(--ink); }
.case-study-head .section-code { margin-bottom: 2mm; }
.case-study-head h3 { font: 700 16pt/1.4 var(--serif); }
.case-comparison { display: grid; grid-template-columns: .86fr 1.14fr; }
.case-before, .case-now { position: relative; min-width: 0; padding: 5mm 6mm; }
.case-before { background: #eeeade; color: var(--muted); }
.case-period { position: relative; z-index: 1; display: block; margin-bottom: 2mm; font-size: 9pt; color: var(--accent-soft); }
.case-before .case-period { color: #8a8378; }
.case-before p, .case-now p { position: relative; z-index: 1; font-size: 9pt; line-height: 1.85; }
.case-now { background: #f9f6ef; }
.case-now .case-period { color: var(--accent); }
.case-now strong { position: relative; z-index: 1; display: block; margin-top: 3mm; font-size: 9pt; line-height: 1.65; }
.case-now .case-visual { overflow: hidden; }
.case-now .case-visual::after { background: rgba(255,253,246,.87); }
.case-now .case-visual img { object-position: right; filter: none; }
.case-steps { margin: 0; padding: 4mm 5mm; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 3mm; list-style: none; background: #ece8df; }
.case-steps li { min-width: 0; font-size: 8pt; line-height: 1.6; }
.case-steps b { display: block; margin-bottom: 1mm; color: var(--accent); font: 700 8pt/1.4 var(--mono); }
.case-study > small { display: block; padding: 3mm 5mm; font-size: 7pt; line-height: 1.65; color: var(--muted); }
.transformation-chart { height: auto; padding: 6mm; }
.transformation-chart .aligned-chart { width: 100%; height: auto; font-family: var(--sans); }
.aligned-chart .stage-labels { font-family: var(--serif); }
.sheet-model .closing-contact { flex: 0; }
@media screen and (max-width:820px) {
  .service-price strong { font-size: 27px; }
  .service-summary { font-size: 16px; margin-bottom: 24px; }
  .service-delivery { padding: 20px; }
  .service-delivery ol { grid-template-columns: 1fr; gap: 12px; }
  .service-delivery li strong { font-size: 18px; }
  .service-delivery li span { font-size: 15px; }
  .case-study { margin-top: 24px; }
  .case-study-head, .case-before, .case-now { padding: 22px; }
  .case-study-head h3 { font-size: 24px; }
  .case-comparison { grid-template-columns: 1fr; }
  .case-before p, .case-now p { font-size: 15px; }
  .case-period, .case-now strong { font-size: 14px; }
  .case-steps { padding: 20px; grid-template-columns: 1fr 1fr; gap: 16px; }
  .case-steps li, .case-steps b { font-size: 13px; }
  .case-study > small { padding: 15px 20px; font-size: 12px; }
  .transformation-chart { height: auto; padding: 12px; }
  .transformation-chart .aligned-chart { height: auto; }
}

/* Contact editions share the reviewed guide content. */
.closing-contact .contact-email { display: block; margin-top: 3mm; color: #f4f1ea; font: 600 10pt/1.5 var(--sans); text-decoration: none; white-space: nowrap; }
.cover-edition { margin-top: 8mm; color: #aeb8bd; font: 500 11pt/1.5 var(--sans); }
.partner-qr { position: relative; width: 40mm; height: 40mm; flex: 0 0 40mm; overflow: hidden; background: white; }
.sheet-model .closing-contact .partner-qr img { position: absolute; width: 53.494mm; height: 68.133mm; max-width: none; left: -6.747mm; top: -16.867mm; object-fit: fill; }
.contact-blank { width: 40mm; height: 40mm; flex: 0 0 40mm; border: 1px solid #718087; background: white; }

.partner-contact { flex: 0 0 40mm; text-align: center; }
.closing-contact .partner-contact .partner-label { display: block; margin: 0 0 2mm; color: #f4f1ea; font-size: 11pt; font-weight: 600; }
.closing-contact .partner-contact small { margin-top: 2mm; font-size: 7pt; color: #c4c9cd; }

/* 2026-10-13 combo package: the one-month follow-up spans the 2×2 schedule as a fifth band. */
.schedule-grid article { min-height: 24mm; padding-block: 3.4mm; }
.schedule-grid h3 { margin-top: 1.8mm; }
.service-sheet .service-summary { margin-bottom: 5mm; }
.schedule-grid .schedule-followup { grid-column: 1 / -1; min-height: 0; display: grid; grid-template-columns: 26mm 22mm 1fr; align-items: baseline; gap: 3mm; padding-block: 3.2mm; border-top-style: dashed; background: #fbf8f1; }
.schedule-grid .schedule-followup h3 { margin: 0; }
@media screen and (max-width:820px) {
  .schedule-grid .schedule-followup { grid-template-columns: 1fr; gap: 0; padding-block: 24px; }
  .schedule-grid .schedule-followup h3 { margin: 22px 0 8px; }
}
