/* Practical proposal/lifecycle guides. Deliberately independent of every CG stage. */
body:is([data-page="planning"], [data-page="continuity"]) {
  --pg-ink:#243d36;
  --pg-paper:#f4f1e9;
  --pg-line:#b4beb2;
  --pg-accent:#46694d;
  --pg-muted:#526157;
  --font-serif:var(--serif);
}
body[data-page="continuity"] { --pg-paper:#f1f0e8; --pg-accent:#486477; }
.pg-hero { position:relative; padding:28px max(6vw,24px) 64px; background:var(--pg-paper); color:var(--pg-ink); overflow:clip; }
.pg-hero .breadcrumbs { position:relative; inset:auto; margin:0 0 44px; color:var(--pg-muted); }
.pg-hero-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); align-items:center; gap:clamp(32px,7vw,120px); max-width:1320px; margin:auto; }
.pg-hero-copy { min-width:0; padding:22px 0; }
.pg-hero h1 { margin:22px 0 28px; font-family:var(--font-serif,'Noto Serif JP',serif); font-size:clamp(39px,5.45vw,82px); line-height:1.38; letter-spacing:.025em; color:var(--pg-ink); overflow-wrap:anywhere; }
.pg-lead { max-width:38em; color:var(--pg-ink); font-size:clamp(15px,1.15vw,17px); line-height:2.08; }
.pg-hero .hero-actions { margin-top:30px; flex-wrap:wrap; }
.pg-hero .eyebrow { color:var(--pg-accent); }
.pg-ledger,.pg-lifecycle { position:relative; margin:0; background:#e8e9dd; border:1px solid var(--pg-line); color:var(--pg-ink); min-width:0; }
.pg-ledger figcaption,.pg-lifecycle figcaption { position:relative; z-index:1; padding:24px; display:flex; flex-direction:column; gap:9px; border-bottom:1px solid var(--pg-line); }
.pg-ledger figcaption span,.pg-lifecycle figcaption span { font-size:15px; font-weight:600; }
.pg-ledger figcaption small,.pg-lifecycle figcaption small { color:var(--pg-muted); font-size:10px; letter-spacing:.15em; }
.pg-ledger-lines { position:absolute; inset:90px 0 0; display:flex; justify-content:space-evenly; pointer-events:none; overflow:hidden; }
.pg-ledger-lines i { width:1px; background:#61786618; transform:rotate(22deg) scaleY(2); }
.pg-ledger ol { position:relative; list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; }
.pg-ledger li { padding:25px 23px; display:grid; grid-template-columns:24px 1fr; gap:8px 9px; align-items:center; border-bottom:1px solid var(--pg-line); }
.pg-ledger li:nth-child(odd) { border-right:1px solid var(--pg-line); }
.pg-ledger li>span { font-size:11px; color:var(--pg-muted); align-self:start; padding-top:8px; }
.pg-ledger li strong { font-family:var(--font-serif,'Noto Serif JP',serif); font-size:clamp(29px,3.3vw,46px); font-weight:400; }
.pg-ledger li small { grid-column:2; font-size:11px; color:var(--pg-muted); }
.pg-ledger>p { position:relative; margin:0; padding:26px; font-family:var(--font-serif,'Noto Serif JP',serif); font-size:20px; line-height:1.8; }
.pg-lifecycle { background:#e2e8e5; }
.pg-lifecycle ol { list-style:none; margin:0; padding:10px 24px; }
.pg-lifecycle li+li { border-top:1px solid var(--pg-line); }
.pg-lifecycle li a { display:grid; grid-template-columns:30px minmax(0,1fr) 16px; gap:12px; align-items:center; min-height:66px; color:var(--pg-ink); text-decoration:none; }
.pg-lifecycle li a:hover strong { text-decoration:underline; text-underline-offset:5px; }
.pg-lifecycle li a>span { font-size:11px; color:var(--pg-muted); }
.pg-lifecycle li strong { font-size:clamp(13px,1.2vw,16px); font-weight:500; }
.pg-lifecycle li i { font-style:normal; }
.pg-lifecycle-key { display:flex; flex-wrap:wrap; gap:10px 24px; padding:17px 24px; background:#f3f3eb; border-top:1px solid var(--pg-line); font-size:12px; color:var(--pg-muted); }
.pg-content { color:var(--pg-ink); }
.pg-content .content-section { max-width:1320px; }
.pg-jump { display:flex; justify-content:center; flex-wrap:wrap; gap:0 28px; padding:16px 24px; border-bottom:1px solid #d3d8cc; }
.pg-jump a { display:flex; align-items:center; min-height:44px; color:var(--pg-ink); font-size:13px; text-underline-offset:5px; }
.pg-axis-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--pg-line); border-left:1px solid var(--pg-line); }
.pg-axis-grid article { min-width:0; padding:28px 23px; border-right:1px solid var(--pg-line); border-bottom:1px solid var(--pg-line); }
.pg-index { font-size:10px; letter-spacing:.14em; color:var(--pg-accent); }
.pg-axis-grid h3 { font-size:18px; line-height:1.65; margin:22px 0 17px; }
.pg-axis-grid p { font-size:14px; line-height:1.95; color:var(--pg-muted); }
.pg-axis-grid .pg-question { padding-top:18px; margin-top:23px; border-top:1px solid #b4beb277; color:var(--pg-ink); font-size:13px; font-weight:600; }
.pg-paper-section { position:relative; background:var(--pg-paper); border:1px solid #d2d6c9; }
.pg-question-stack { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:22px; }
.pg-questions { min-width:0; border-top:1px solid var(--pg-line); border-bottom:1px solid var(--pg-line); }
.pg-questions summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:94px; padding:20px 4px; cursor:pointer; list-style:none; font-size:18px; line-height:1.7; font-weight:600; }
.pg-questions summary::-webkit-details-marker { display:none; }
.pg-questions summary small { display:block; margin-bottom:9px; font-size:10px; color:var(--pg-muted); letter-spacing:.14em; font-weight:400; }
.pg-questions summary b { font-size:24px; font-weight:400; flex:none; transition:transform .2s ease; }
.pg-questions[open] summary b { transform:rotate(45deg); }
.pg-questions dl { margin:0; border-top:1px solid #b4beb266; }
.pg-questions dl>div { display:grid; grid-template-columns:minmax(78px,.32fr) minmax(0,1fr); gap:14px; padding:20px 2px; }
.pg-questions dl>div+div { border-top:1px solid #b4beb266; }
.pg-questions dt { font-size:13px; font-weight:600; line-height:1.9; }
.pg-questions dd { margin:0; color:var(--pg-muted); font-size:13px; line-height:2; }
.pg-note { max-width:60em; color:var(--pg-muted); font-size:12px; line-height:1.95; margin-top:24px; }
.pg-input-help { max-width:62em; color:var(--pg-muted); font-size:13px; line-height:2; margin:0 0 28px; }
.pg-compare-sheet { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.pg-proposal { min-width:0; margin:0; padding:24px; border:1px solid var(--pg-line); background:#faf9f3; }
.pg-proposal legend { padding:0 13px; color:var(--pg-ink); font-family:var(--font-serif,'Noto Serif JP',serif); font-size:25px; }
.pg-field { display:block; min-width:0; }
.pg-field+.pg-field { margin-top:24px; }
.pg-comparison-note { margin-top:28px; padding-top:24px; border-top:1px solid var(--pg-line); }
.pg-field>span { display:block; font-size:14px; font-weight:600; line-height:1.8; }
.pg-field small { display:block; margin-top:6px; color:var(--pg-muted); font-size:11px; line-height:1.8; }
.pg-field :is(input,textarea) { display:block; width:100%; min-width:0; border:1px solid #9fab9d; border-radius:0; background:#fffef9; color:#243d36; font:inherit; font-size:14px; line-height:1.8; padding:12px; margin-top:12px; box-sizing:border-box; }
.pg-field input { min-height:46px; }
.pg-field textarea { resize:vertical; min-height:105px; }
.pg-field :is(input,textarea)::placeholder { color:#6d766e; opacity:1; }
.pg-sheet-end { margin-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
.pg-sheet-end p { font-family:var(--font-serif,'Noto Serif JP',serif); font-size:18px; line-height:1.9; }
.pg-sheet-end [hidden],.pg-handover-memo [hidden] { display:none; }
.pg-milestones { display:grid; gap:32px; counter-reset:milestone; }
.pg-milestone { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:0 38px; padding:36px; border:1px solid #bcc7c1; background:#f9f9f1; scroll-margin-top:110px; }
.pg-milestone:nth-child(2n) { background:#edf1e9; }
.pg-milestone-title { min-width:0; grid-row:span 3; }
.pg-milestone-title>span { display:block; color:#7b9186; font-family:var(--font-serif,'Noto Serif JP',serif); font-size:45px; line-height:1; margin-bottom:23px; }
.pg-milestone-title>p { font-size:12px; color:var(--pg-accent); line-height:1.8; margin:0 0 13px; }
.pg-milestone h3 { font-family:var(--font-serif,'Noto Serif JP',serif); font-size:clamp(20px,2.1vw,28px); line-height:1.75; margin:0; font-weight:500; }
.pg-lanes { display:grid; grid-template-columns:1fr 1fr; gap:24px; min-width:0; }
.pg-lanes>div { min-width:0; }
.pg-lanes h4 { font-size:13px; margin:0 0 12px; line-height:1.9; }
.pg-lanes h4>span { color:var(--pg-accent); margin-right:7px; }
.pg-lanes p { font-size:14px; line-height:2; color:var(--pg-muted); margin:0; }
.pg-milestone-record { padding:18px 0; margin-top:22px; border-top:1px solid #a9b5aa88; border-bottom:1px solid #a9b5aa88; }
.pg-milestone-record strong { display:block; font-size:11px; color:var(--pg-accent); line-height:1.8; }
.pg-milestone-record p { font-size:13px; line-height:1.9; margin:8px 0 0; }
.pg-stage-links { display:flex; flex-wrap:wrap; gap:0 24px; padding-top:13px; }
.pg-stage-links a { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:12px; }
.pg-handover { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.pg-record-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--pg-line); }
.pg-record-list li { border-bottom:1px solid var(--pg-line); }
.pg-record-list label { display:flex; gap:15px; align-items:flex-start; min-height:44px; padding:18px 0; cursor:pointer; font-size:13px; line-height:1.9; color:var(--pg-muted); }
.pg-record-list input { flex:none; margin:5px 0 0; width:21px; height:21px; accent-color:#345d4c; }
.pg-record-list strong { display:block; color:var(--pg-ink); font-size:14px; margin-bottom:3px; }
.pg-handover-memo textarea { min-height:260px; }
.pg-handover-memo .pg-note { margin:18px 0; }
.pg-next { display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:center; }
.pg-next h2 { margin:18px 0 24px; }
.pg-next>div>p:last-child { max-width:32em; color:var(--pg-muted); font-size:14px; line-height:2; }
.pg-next-links { border-top:1px solid var(--pg-line); }
.pg-next-links a { display:flex; justify-content:space-between; align-items:center; min-height:72px; gap:22px; padding:15px 0; border-bottom:1px solid var(--pg-line); font-size:14px; line-height:1.8; color:var(--pg-ink); text-decoration:none; }
.pg-next-links a:hover span { text-decoration:underline; text-underline-offset:5px; }
.pg-next-links b { font-weight:400; flex:none; }
.pg-sources { border-top:1px solid #cbd2c5; padding-top:32px!important; padding-bottom:40px!important; }
.pg-content .pg-sources h2 { font-family:inherit; font-size:16px; line-height:1.8; margin:0 0 14px; }
.pg-sources p { max-width:65em; color:var(--pg-muted); font-size:12px; line-height:2; }
.pg-sources ul { display:flex; flex-wrap:wrap; gap:0 28px; list-style:none; margin:15px 0 0; padding:0; }
.pg-sources a { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:12px; line-height:1.8; }
.pg-content :is(h2,[id]) { scroll-margin-top:110px; }
.pg-content :is(input,textarea,a,button,summary):focus-visible,.pg-hero a:focus-visible { outline:3px solid #a26c25; outline-offset:5px; }

@media (min-width:1440px) { .pg-hero { padding-top:36px; padding-bottom:82px; } }
@media (max-width:1000px) {
  .pg-hero-grid { gap:32px; grid-template-columns:1.1fr .9fr; }
  .pg-hero h1 { font-size:clamp(37px,5.5vw,56px); }
  .pg-axis-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pg-milestone { padding:28px; grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr); gap:0 25px; }
  .pg-lanes { grid-template-columns:1fr; gap:20px; }
}
@media (max-width:700px) {
  .pg-hero { padding:20px 24px 40px; }
  .pg-hero .breadcrumbs { margin-bottom:24px; font-size:10px; }
  .pg-hero-grid { grid-template-columns:1fr; gap:26px; }
  .pg-hero-copy { padding:8px 0; }
  .pg-hero h1 { font-size:clamp(35px,7.8vw,54px); margin-top:18px; margin-bottom:22px; line-height:1.45; }
  .pg-lead { font-size:14px; line-height:2.05; }
  .pg-hero .hero-actions { margin-top:24px; }
  .pg-ledger { max-width:500px; width:100%; margin:auto; }
  .pg-ledger figcaption,.pg-lifecycle figcaption { padding:20px; }
  .pg-ledger li { padding:18px 20px; }
  .pg-ledger li strong { font-size:33px; }
  .pg-ledger>p { padding:20px; font-size:18px; }
  .pg-lifecycle { max-width:500px; width:100%; margin:auto; }
  .pg-lifecycle ol { padding:2px 20px; }
  .pg-lifecycle li a { min-height:57px; }
  .pg-lifecycle-key { padding:16px 20px; }
  .pg-jump { justify-content:flex-start; gap:0 20px; padding:10px 24px; }
  .pg-jump a { font-size:12px; }
  .pg-axis-grid article { padding:22px 18px; }
  .pg-axis-grid h3 { font-size:16px; }
  .pg-axis-grid p { font-size:13px; }
  .pg-question-stack,.pg-compare-sheet,.pg-handover,.pg-next { grid-template-columns:1fr; gap:28px; }
  .pg-proposal { padding:20px; }
  .pg-field :is(input,textarea) { font-size:16px; }
  .pg-questions summary { font-size:17px; min-height:86px; }
  .pg-questions dl>div { grid-template-columns:78px minmax(0,1fr); }
  .pg-sheet-end p { font-size:16px; }
  .pg-milestone { grid-template-columns:1fr; gap:24px; padding:24px 20px; }
  .pg-milestone-title { grid-row:auto; }
  .pg-milestone-title>span { font-size:32px; margin-bottom:16px; }
  .pg-milestone h3 { font-size:22px; }
  .pg-lanes { gap:20px; }
  .pg-milestone-record { margin:0; padding:16px 0; }
  .pg-stage-links { padding:0; gap:0 20px; }
  .pg-stages-section .section-lead br,.pg-sheet-section .section-lead br { display:none; }
  .pg-sources ul { display:block; }
}
@media (max-width:380px) {
  .pg-hero { padding-right:20px; padding-left:20px; }
  .pg-hero h1 { font-size:34px; letter-spacing:0; }
  .pg-axis-grid { grid-template-columns:1fr; }
  .pg-axis-grid h3 { margin-top:14px; }
  .pg-axis-grid .pg-question { margin-top:15px; padding-top:12px; }
  .pg-ledger li { padding:18px 13px; grid-template-columns:19px 1fr; gap:7px; }
  .pg-ledger li strong { font-size:29px; }
  .pg-ledger li small { font-size:10px; }
  .pg-questions dl>div { grid-template-columns:1fr; gap:7px; }
}
@media (prefers-reduced-motion:reduce) { .pg-questions summary b { transition:none; } }
html.quiet .pg-questions summary b,body.quiet .pg-questions summary b { transition:none; }
@media print {
  body:is([data-page="planning"],[data-page="continuity"]) { background:#fff; color:#000; }
  .pg-hero { padding:0 0 14mm; background:#fff; border-bottom:1px solid #999; }
  .pg-hero-grid { display:block; }
  .pg-hero h1 { font-size:28pt; margin:8mm 0; line-height:1.5; }
  .pg-hero .breadcrumbs,.pg-hero .hero-actions,.pg-ledger,.pg-lifecycle,.pg-jump,.pg-next,.pg-sources,.pg-sheet-end button,.pg-handover-memo button { display:none!important; }
  .pg-content .content-section { width:100%; max-width:none; padding:9mm 0!important; margin:0; background:#fff; border:0; break-inside:auto; }
  .pg-content h2 { font-size:20pt; }
  .pg-content .section-lead { font-size:10pt; }
  .pg-axis-grid { grid-template-columns:1fr 1fr; }
  .pg-axis-grid article { padding:5mm; }
  .pg-question-stack { display:block; }
  .pg-questions { break-inside:avoid; margin-bottom:5mm; }
  .pg-questions>dl { display:block!important; }
  .pg-questions summary b { display:none; }
  .pg-compare-sheet { display:grid; grid-template-columns:1fr 1fr; gap:6mm; }
  .pg-proposal { background:#fff; padding:5mm; }
  .pg-field :is(input,textarea) { background:#fff; color:#000; font-size:10pt; border-color:#888; }
  .pg-field textarea { resize:none; min-height:24mm; }
  .pg-field :is(input,textarea)::placeholder { color:transparent; }
  .pg-field { break-inside:avoid; }
  .pg-milestones { gap:5mm; }
  .pg-milestone { padding:6mm; gap:5mm; grid-template-columns:1fr; break-inside:avoid; background:#fff!important; }
  .pg-milestone-title { grid-row:auto; }
  .pg-milestone-title>span { display:none; }
  .pg-lanes { grid-template-columns:1fr 1fr; gap:6mm; }
  .pg-milestone h3 { font-size:15pt; }
  .pg-stage-links { display:none; }
  .pg-handover { grid-template-columns:1fr 1fr; gap:6mm; }
  .pg-record-list label { padding:4mm 0; }
  .pg-handover-memo textarea { min-height:65mm; }
  .pg-note,.pg-input-help { font-size:9pt; }
}
