/* Shared quiet editorial system. The approved homepage scenes are untouched. */
.editorial-page { background:#fbfcfa }
.editorial-page .site-header,.demo-page .site-header { position:sticky; top:0; z-index:20 }
.editorial-hero { padding:75px 0 65px; text-align:center; max-width:1100px; margin:auto }
.editorial-hero .eyebrow { font-size:11px; letter-spacing:.08em; margin-bottom:23px }
.editorial-hero h1 { font-size:clamp(48px,7.2vw,90px); line-height:1.04; letter-spacing:-.065em; font-weight:600; max-width:950px; margin:auto }
.editorial-hero h1 span { color:#52765f }
.editorial-hero .deck { max-width:510px; margin:27px auto 0; font:400 17px/1.65 system-ui,sans-serif; color:#59675e }
.editorial-hero .button { margin-top:28px }
.editorial-hero .paper-meta { justify-content:center; margin-top:28px; gap:12px 24px; font-size:11px }
.editorial-visual { width:100%; max-width:1070px; margin:0 auto 85px; border-radius:34px; background:#eaf0e6; overflow:hidden; position:relative; min-height:300px }
.editorial-visual img { width:100%; height:auto; aspect-ratio:2.4; object-fit:cover; object-position:center 47% }
.editorial-visual figcaption { position:absolute; bottom:28px; left:30px; background:#fbfcfaf0; border:1px solid #fff; border-radius:21px; padding:10px 18px; font-size:13px; font-weight:550 }
.chapter-index { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 25px; margin:0 auto 50px; padding:0 15px }
.chapter-index a { font-size:13px; color:#59675e; padding:12px 0; text-decoration:none; border-bottom:1px solid #c8d5c9 }
.chapter-index a:hover { color:#285c57; border-color:#285c57 }
.editorial-page .paper-layout { gap:60px; margin-top:40px; padding-bottom:65px }
.editorial-page .prose { max-width:740px }
.editorial-page .prose h2 { margin-top:90px; margin-bottom:28px; font-size:clamp(30px,3.3vw,43px); line-height:1.13 }
.editorial-page .prose h2:first-child { margin-top:0 }
.editorial-page .prose p { font-size:16px; line-height:1.85 }
.editorial-page .prose .callout { background:#eaf1e8; border:0; border-radius:23px; padding:25px 28px; margin:30px 0 }
.editorial-page .prose .callout p { font-size:16px }
.editorial-page .paper-nav { width:180px; font-size:12px }
.editorial-page .paper-nav a { font-size:12px; padding:9px 0 }
.editorial-page .principle { border-color:#dce4da; gap:19px; padding:25px 0; margin:0 }
.editorial-page .principle h3 { font-size:21px; margin:0 0 12px; font-weight:600; line-height:1.3 }
.editorial-page .principle .num { font:500 13px/1.5 system-ui,sans-serif; color:#52765f; padding-top:4px }
.principle-disclosure { border-top:1px solid #d4dfd3 }
.principle-disclosure summary { display:flex; align-items:center; gap:18px; cursor:pointer; list-style:none; min-height:80px; padding:20px 0 }
.principle-disclosure summary .num { font:500 12px/1.5 system-ui,sans-serif; color:#52765f; flex:none }
.principle-disclosure summary h3 { font-size:21px; font-weight:550; line-height:1.35; margin:0; letter-spacing:-.03em }
.principle-disclosure summary:after { content:'+'; margin-left:auto; font-size:28px; font-weight:300; color:#52765f }
.principle-disclosure[open] summary:after { content:'−' }
.principle-body { padding:0 6px 26px 34px }
.editorial-page .references { font-size:13px; line-height:1.8 }
.editorial-page .references li { margin-bottom:18px }
.editorial-page .revision { font-size:11px; line-height:1.7; border-color:#dce4da; margin-top:40px }
.editorial-page table { background:#f3f6ef; border-radius:20px; border-collapse:separate; border-spacing:0; padding:10px 20px; font-size:14px }
.editorial-page td,.editorial-page th { border-color:#d5dfd3 }
.editorial-page .print-button { font-size:11px; min-height:44px }
.chapter-intro { padding:65px 0; display:grid; grid-template-columns:.7fr 1fr; gap:70px; align-items:center; border-block:1px solid #dce4da; margin:0 auto 70px }
.chapter-intro h2 { font-size:clamp(33px,4vw,50px); line-height:1.09; font-weight:600; letter-spacing:-.05em }
.chapter-intro p { color:#59675e; font-size:17px; line-height:1.75; max-width:510px }
.chapter-intro p+p { margin-top:14px }
.editorial-icon { width:130px; height:130px; display:grid; place-items:center; background:#e7efdf; border-radius:50%; margin:0 auto 35px }
.editorial-icon svg { width:68px; height:68px; color:#426a53; stroke-width:1.2 }
.visual-sequence { display:grid; grid-template-columns:repeat(3,1fr); max-width:1100px; margin:10px auto 75px; gap:18px }
.visual-step { min-height:250px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:28px; background:#edf2e8; text-align:center; padding:35px 25px; position:relative }
.visual-step:nth-child(2) { background:#f6ebdc }
.visual-step:nth-child(3) { background:#eae5f1 }
.visual-step svg { width:90px; height:90px; margin-bottom:30px }
.visual-step strong { font-size:21px; font-weight:550; letter-spacing:-.04em }
.visual-step p { font-size:13px; color:#59675e; margin-top:10px; max-width:230px; line-height:1.6 }
.visual-step .step-no { font-size:11px; color:#59675e; position:absolute; top:20px; left:23px }
.question-guide { max-width:820px; margin:0 auto 90px }
.question-guide>h2 { font-size:39px; margin-bottom:34px }
.question-guide details { border-top:1px solid #d4dfd3 }
.question-guide details:last-child { border-bottom:1px solid #d4dfd3 }
.question-guide summary { display:flex; align-items:center; gap:24px; cursor:pointer; padding:25px 0; list-style:none; font-size:21px; font-weight:550; line-height:1.4; letter-spacing:-.03em }
.question-guide summary:after { content:'+'; margin-left:auto; font-weight:300; font-size:30px; color:#52765f }
.question-guide details[open] summary:after { content:'−' }
.question-guide summary .question-no { font-size:12px; font-weight:500; color:#52765f; letter-spacing:0 }
.question-guide .answer { padding:0 42px 30px; font-size:16px; color:#59675e; line-height:1.85 }
.question-guide .answer p+p { margin-top:16px }
.question-guide .answer strong { color:#293c38 }
.quiet-finish { text-align:center; margin:70px auto; padding:60px 25px; border-radius:30px; background:#eaf1e7 }
.quiet-finish h2 { font-size:clamp(33px,4.2vw,50px); line-height:1.1; font-weight:600; letter-spacing:-.05em }
.quiet-finish p { max-width:480px; font-size:15px; line-height:1.7; color:#59675e; margin:22px auto }
.quiet-finish .actions { justify-content:center }
.status-route { display:grid; grid-template-columns:repeat(3,1fr); gap:0; list-style:none; padding:0; max-width:1000px; margin:15px auto 80px }
.status-route li { border-top:1px solid #ccd8c9; padding:26px 24px 15px; position:relative }
.status-route li:before { content:''; position:absolute; top:-5px; left:24px; width:9px; height:9px; border-radius:50%; background:#ccd8c9 }
.status-route li[aria-current]:before { background:#416e52; box-shadow:0 0 0 5px #e7efe2 }
.status-route small { font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:#59675e }
.status-route strong { display:block; font-size:21px; font-weight:550; letter-spacing:-.03em; margin:9px 0 }
.status-route p { font-size:14px; line-height:1.7; color:#59675e }
.device-pairing { min-height:320px; display:flex; gap:75px; justify-content:center; align-items:center; background:#eaf0e5; border-radius:30px; margin-bottom:45px; position:relative; overflow:hidden }
.device-pairing>svg { width:125px; height:150px; color:#40694f; z-index:1 }
.device-pairing .pair-line { width:100px; height:1px; background:#89a78e; position:absolute; top:46%; left:calc(50% - 50px) }
.device-pairing .pair-phone { width:105px; height:200px; background:#fff8ef; border:5px solid #4e6856; border-radius:22px; display:flex; align-items:center; justify-content:center; z-index:1 }
.pair-phone img { width:47px; height:65px; object-fit:contain }
.device-pairing figcaption { position:absolute; bottom:27px; font-size:12px; color:#59675e }
.privacy-visual { display:flex; align-items:center; justify-content:center; gap:30px; padding:45px; margin:15px auto 75px; max-width:890px; border-block:1px solid #d6e0d2 }
.privacy-visual svg { width:44px; height:44px; color:#52765f; flex:none }
.privacy-visual p { max-width:570px; font-size:19px; line-height:1.5; letter-spacing:-.02em }
.privacy-sections { max-width:770px; margin:0 auto 80px }
.privacy-sections section { padding:35px 0; border-top:1px solid #d6e0d2; display:grid; grid-template-columns:50px 1fr; gap:16px }
.privacy-sections .privacy-no { font-size:11px; color:#52765f; margin-top:8px }
.privacy-sections h2 { font-size:28px; line-height:1.2; font-weight:550; margin:0 0 18px }
.privacy-sections p { font-size:15px; line-height:1.85; color:#59675e }
.privacy-sections a { color:#285c57 }
.privacy-shield { background:#f9e9e5 }
.privacy-shield svg { color:#cf2f32 }
.privacy-sections p+p { margin-top:14px }
.privacy-sections strong { color:#293c38 }
.privacy-sections .privacy-context { margin-top:18px; padding-left:15px; border-left:2px solid #8da58f; font-size:13px }
.privacy-sections .privacy-help { border-top:1px solid #d6e0d2; margin-top:22px; padding-top:5px }
.privacy-sections .privacy-help summary { font-size:15px; line-height:1.5; padding:7px 0 }
.privacy-sections .privacy-help>div { padding:19px 21px; background:#f0f5ed }
.privacy-sections .privacy-help>div p { font-size:14px }
.privacy-sections .privacy-help a { font-size:13px; line-height:1.6 }
.privacy-sections section[id] { scroll-margin-top:100px }
.lost-art { position:relative; width:220px; height:240px; margin:35px auto 0 }
.lost-art img { position:absolute; width:110px; height:auto; left:55px; bottom:15px; z-index:1 }
.lost-art:before { content:''; position:absolute; width:205px; height:205px; border:1px solid #adc3ad; border-radius:50%; top:10px; left:8px }
.lost-art svg { position:absolute; width:40px; height:40px; color:#c19b4c; right:0; top:25px }
@media(max-width:850px) {
  .editorial-page .paper-layout { display:block }
  .editorial-page .paper-nav { position:static; width:auto; margin-bottom:45px; display:flex; flex-wrap:wrap; gap:8px 18px }
  .editorial-page .reading-status { flex-basis:100% }
  .editorial-page .prose { max-width:740px; margin:auto }
  .chapter-intro { gap:40px }
}
@media(max-width:680px) {
  .editorial-hero { padding:45px 0 40px }
  .editorial-hero h1 { font-size:48px }
  .editorial-hero .deck { font-size:15px; max-width:330px; margin-top:22px }
  .editorial-hero .eyebrow { font-size:10px; margin-bottom:20px }
  .editorial-hero .paper-meta { gap:0 15px; font-size:10px; margin-top:20px }
  .editorial-visual { border-radius:23px; min-height:0; margin-bottom:45px }
  .editorial-visual img { aspect-ratio:1.3 }
  .editorial-visual figcaption { bottom:15px; left:15px; font-size:11px }
  .chapter-intro { display:block; padding:40px 0; margin-bottom:45px }
  .chapter-intro h2 { font-size:35px; margin-bottom:25px }
  .chapter-intro p { font-size:15px }
  .visual-sequence { grid-template-columns:1fr; gap:12px; margin-bottom:45px }
  .visual-step { min-height:175px; padding:25px 25px 25px 145px; align-items:flex-start; text-align:left }
  .visual-step svg { position:absolute; left:35px; top:52px; width:75px; height:75px; margin:0 }
  .visual-step strong { font-size:20px }
  .visual-step p { font-size:12px }
  .editorial-page .prose h2 { margin-top:60px; font-size:31px }
  .editorial-page .prose p { font-size:15px }
  .editorial-page .prose .callout { padding:22px }
  .editorial-page .principle { gap:13px }
  .editorial-page .principle h3 { font-size:20px }
  .editorial-page table { padding:6px 10px; font-size:12px }
  .question-guide { margin-bottom:50px }
  .question-guide summary { font-size:18px; gap:16px; padding:22px 0 }
  .question-guide .answer { padding:0 8px 25px 31px; font-size:15px }
  .question-guide>h2 { font-size:33px }
  .quiet-finish { margin-block:45px; padding:40px 24px }
  .quiet-finish p { font-size:14px }
  .status-route { grid-template-columns:1fr; margin-bottom:45px }
  .status-route li { margin-left:10px; border-top:0; border-left:1px solid #ccd8c9; padding:0 0 35px 26px }
  .status-route li:before { left:-5px; top:5px }
  .device-pairing { gap:40px; min-height:290px; margin-bottom:30px }
  .device-pairing>svg { width:90px }
  .privacy-visual { padding:30px 0; gap:18px; margin-bottom:35px }
  .privacy-visual p { font-size:17px }
  .privacy-visual svg { width:35px; height:35px }
  .privacy-sections section { grid-template-columns:20px 1fr; gap:10px; padding:28px 0 }
  .privacy-sections h2 { font-size:25px }
  .privacy-sections p { font-size:14px }
}
@media print {
  .editorial-page .site-header,.chapter-index,.quiet-finish .actions { display:none }
  .editorial-hero { padding:25px 0 }
  .editorial-hero h1 { font-size:44px }
  .editorial-visual { max-width:500px; margin-bottom:30px }
  .editorial-page .paper-layout,.chapter-intro { display:block }
  .editorial-page .paper-nav { display:none }
  .editorial-page .prose h2 { margin-top:30px }
  .question-guide details::details-content { content-visibility:visible; height:auto }
  .question-guide details>.answer { display:block!important }
  .question-guide details { break-inside:avoid }
  .principle-disclosure::details-content { content-visibility:visible; height:auto }
  .principle-body { display:block!important }
}
