/* Quiet editorial composition. Uses the journal's light, dark and system tokens. */
.narrative{background:var(--bg,#f5f2eb);color:var(--ink,#302f2b);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7;min-width:0;isolation:isolate}
.narrative *{box-sizing:border-box}.narrative [hidden]{display:none!important}
.narrative h1,.narrative h2,.narrative h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em;line-height:1.15;overflow-wrap:anywhere}
.narrative h1{font-size:clamp(2.3rem,5vw,4.8rem);max-width:20ch;margin:.3em 0 .55em}.narrative h2{font-size:clamp(1.6rem,3vw,2.5rem)}.narrative h3{font-size:clamp(1.5rem,2vw,2rem)}
.narrative button{font:inherit;font-size:.9rem;min-height:46px;padding:.65rem 1rem;color:inherit;background:var(--paper,#fffcf6);border:1px solid var(--line,#dedbd1);border-radius:7px;cursor:pointer;white-space:normal;overflow-wrap:anywhere;max-width:100%;transition:background .12s}
.narrative button:hover{background:var(--soft,#e6ece2)}.narrative button:disabled{opacity:.5;cursor:default}.narrative :focus-visible{outline:3px solid var(--rose,#805348);outline-offset:4px}.narrative-main:focus{outline:none}
.narrative-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem clamp(1rem,3vw,3rem);border-bottom:1px solid var(--line,#dedbd1);background:var(--bg,#f5f2eb)}
.narrative-toolbar>div,.narrative-footer>div,.narrative-navigator nav{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.narrative-brand{font:1.3rem Georgia,serif;white-space:nowrap}
.narrative-shell{max-width:1280px;margin:auto;padding:2rem clamp(1rem,4vw,4rem) 0}.narrative-scope,.narrative-kicker,.narrative-date{font-size:.78rem;font-weight:600;letter-spacing:.1em;color:var(--muted,#65665b);margin:.6rem 0;text-transform:uppercase}.narrative-scope{letter-spacing:.04em;text-transform:none}
.narrative-modes{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:1px solid var(--line,#dedbd1);padding:0 0 1rem;margin-bottom:1rem}.narrative-modes button{border-color:transparent;background:transparent}.narrative-modes button[aria-pressed=true]{background:var(--accent,#455e50);color:var(--accent-text,#fffdf7)}
.narrative-intro{padding:3rem 0 2rem;max-width:780px}.narrative-intro>p:last-child{max-width:60ch;color:var(--muted,#65665b);font-size:1.05rem}.narrative-main{min-width:0}.narrative-main p{overflow-wrap:anywhere}
.narrative details{margin:1rem 0;border-block:1px solid var(--line,#dedbd1);padding:.25rem 0}.narrative summary{min-height:46px;cursor:pointer;padding:.6rem .2rem;color:var(--accent,#455e50)}.narrative-navigator select{font:inherit;width:100%;max-width:36rem;min-height:46px;background:var(--paper,#fffcf6);color:inherit;border:1px solid var(--line,#dedbd1);padding:.7rem}.narrative-navigator label{display:block;margin:1rem 0}.narrative-navigator nav:empty{display:none}
.narrative-context ul{list-style:none;padding:0;display:flex;gap:1.5rem;flex-wrap:wrap}.narrative-context li{max-width:28ch;overflow-wrap:anywhere}.narrative-context span{display:block;font-size:.85rem;color:var(--muted,#65665b)}
.narrative-atlas{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem;row-gap:1rem}.narrative-divider{grid-column:1/-1;border-top:1px solid var(--line,#dedbd1);margin:2.2rem 0 .2rem;padding-top:1rem}.narrative-divider h2{font-size:1.4rem;color:var(--muted,#65665b)}
.narrative-overview-item{padding:0 0 1.5rem;min-width:0;border-bottom:1px solid var(--line,#dedbd1)}.narrative-overview-item>button{display:grid;grid-template-columns:2.4rem 1fr;gap:.8rem;text-align:left;border:0;background:none;width:100%;padding:1rem .5rem;align-items:start}.narrative-overview-item>button>span{min-width:0}.narrative-overview-item.is-current>button{box-shadow:inset 3px 0 var(--accent,#455e50)}.narrative-number{font:1.05rem Georgia,serif;color:var(--muted,#65665b);padding-top:.4rem}.narrative-excerpt{display:block;font-size:.95rem;line-height:1.7;white-space:pre-wrap;color:var(--muted,#65665b);max-width:52ch}
.narrative-journey{list-style:none;margin:1rem 0 4rem;padding:0;max-width:850px}.narrative-journey>li{position:relative;display:grid;grid-template-columns:3rem 1fr;column-gap:1.3rem;border-left:1px solid var(--line,#dedbd1);padding:1.8rem 0 2.5rem 1.8rem}.narrative-journey>li:before{content:'';position:absolute;left:-5px;top:2.4rem;width:9px;height:9px;background:var(--accent,#455e50);border-radius:50%}.narrative-journey>li.is-current{background:var(--paper,#fffcf6)}.narrative-section{grid-column:1/-1;font-size:.85rem;letter-spacing:.06em;color:var(--muted,#65665b);border-bottom:1px solid var(--line,#dedbd1);padding-bottom:1rem}.narrative-journey .narrative-words{max-width:58ch}
.narrative-focus{max-width:850px;margin:clamp(2rem,5vw,5rem) auto 4rem}.narrative-focus header{padding-bottom:1rem;border-bottom:1px solid var(--line,#dedbd1);margin-bottom:2rem}.narrative-lead{font:clamp(1.35rem,2.3vw,1.9rem)/1.65 Georgia,serif;white-space:pre-wrap;max-width:42ch;margin:2.4rem 0!important}.narrative-words{font-size:1.12rem;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;max-width:66ch}.narrative-detail section{padding:.7rem 0}.narrative-detail h2{font:600 .85rem system-ui,sans-serif;letter-spacing:.04em;color:var(--muted,#65665b)}
.narrative-photo{margin:2.5rem 0;max-width:100%}.narrative-image-space{min-height:10rem;display:grid;place-items:center;background:var(--paper,#fffcf6);border:1px solid var(--line,#dedbd1);position:relative}.narrative-image-space>span{padding:2rem;color:var(--muted,#65665b);font-size:.85rem}.narrative-photo img{width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:0;display:block}.narrative-photo figcaption{font-size:.85rem;color:var(--muted,#65665b);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:.7rem}.narrative-thumbnail{margin:.5rem 0 0 3.7rem;max-width:21rem}.narrative-thumbnail .narrative-image-space{aspect-ratio:4/3}.narrative-thumbnail img{width:100%;height:100%;max-height:17rem;object-fit:cover}.narrative-thumbnail figcaption{font-size:.75rem}
.narrative-related{border-top:1px solid var(--line,#dedbd1);margin-top:3rem;padding-top:1.5rem}.narrative-related h2{font-size:1.5rem}.narrative-related>div{margin:1rem 0}.narrative-related p{color:var(--muted,#65665b)}
.narrative-covered,.narrative-gate{max-width:750px;margin:3rem auto;padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,3rem);text-align:center;background:var(--paper,#fffcf6)}.narrative-gate h1{margin-inline:auto}.narrative-gate button{margin:.3rem}.narrative-quiet{font-size:.85rem;color:var(--muted,#65665b)}
.narrative-footer{border-top:1px solid var(--line,#dedbd1);margin-top:3rem;padding:1.5rem 0 2rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.narrative-footer [role=status]{font-size:.85rem;padding:.25rem;white-space:nowrap}.narrative-footer>.narrative-quiet{width:100%;margin:0}.narrative:fullscreen{overflow:auto;width:100%;height:100%;background:var(--bg,#f5f2eb)}
@media(min-width:1800px){.narrative-shell{max-width:1400px}.narrative-focus{max-width:900px}.narrative-words{font-size:1.2rem}}
@media(max-width:700px){.narrative-atlas{grid-template-columns:minmax(0,1fr)}.narrative-toolbar{flex-wrap:wrap;padding:.6rem 1rem}.narrative-brand{font-size:1.1rem}.narrative-toolbar>div{gap:.3rem}.narrative-toolbar button{font-size:.8rem;padding:.55rem .7rem}.narrative-shell{padding-top:1rem}.narrative-intro{padding:1.5rem 0 .8rem}.narrative-modes button{font-size:.8rem;padding:.6rem .7rem}.narrative-focus{margin-top:2rem}.narrative-journey>li{grid-template-columns:1.8rem 1fr;padding-left:1rem;column-gap:.5rem}.narrative-footer{display:block}.narrative-footer>div{margin-bottom:.8rem}.narrative-thumbnail{max-width:calc(100% - 3.7rem)}.narrative-words{font-size:1.03rem}.narrative-covered,.narrative-gate{margin:1.5rem 0}}
@media(prefers-reduced-motion:reduce){.narrative *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Narrative pages never create a clinician export path. Owner print uses its
   separately authorized .print-document, never this DOM. */
@media print{.narrative{display:none!important}.print-event{overflow-wrap:anywhere}.print-event p,.print-event figcaption{white-space:pre-wrap}.print-event img{object-fit:contain}.print-event figure{break-inside:avoid}.screen-hidden .print-document{display:none!important}}
