:root{
  --navy:#02314d;--teal:#095f6d;--sage:#86ac85;--mist:#c4d4ce;
  --color-bg:#e7ebe5;--color-text:#20362f;--color-primary:#095f6d;--paper:#faf9f3;--paper-alt:#eff0e6;
  --muted:#57665e;--rule:#263f3429;--button-bg:#203f37;--inverse:#faf9f3;--focus:#64947a;
  --font-display:'Zodiak',Georgia,serif;--font-body:'Satoshi',Arial,sans-serif;
  --text-xs: .75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;
  --text-xl:clamp(1.75rem,2.45vw,2.25rem);--text-2xl:clamp(2.75rem,4.25vw,3.5rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
  --radius-sm:3px;--radius-md:6px;--transition-interactive:160ms ease;--page-height:770px;--turn-time:1050ms;
}
[data-theme=dark]{--color-bg:#102923;--color-text:#e3eae2;--color-primary:#a7cfc2;--paper:#213b34;--paper-alt:#2a453b;--muted:#b7c6bc;--rule:#d9e4d52c;--button-bg:#c4d4ce;--inverse:#142d25}
body{transition:background .25s,color .25s}
[hidden]{display:none!important}
a{color:inherit;text-underline-offset:3px}
button,a{-webkit-tap-highlight-color:transparent}
button:disabled{opacity:.35;cursor:default}
.skip{position:fixed;z-index:100;top:var(--space-3);left:var(--space-4);padding:var(--space-3);background:var(--paper);opacity:0;pointer-events:none}
.skip:focus{opacity:1;pointer-events:auto}
.app-header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-4) var(--space-10);border-bottom:1px solid var(--rule);min-height:90px}
.brand{width:162px;display:block;flex-shrink:0}
.brand img{width:100%;height:auto}
.brand .logo-dark{display:none}
[data-theme=dark] .brand{width:56px}
[data-theme=dark] .brand .logo-light{display:none}
[data-theme=dark] .brand .logo-dark{display:block}
.publication{text-align:center}
.publication strong{font-family:var(--font-display);font-weight:500;font-size:1.5rem;display:block;line-height:1.3}
.publication span{font-size:var(--text-xs);letter-spacing:.13em}
.header-tools{display:flex;align-items:center;gap:var(--space-4)}
.text-button,.prototype{font-size:var(--text-sm);min-height:44px;padding:var(--space-2);white-space:nowrap}
.prototype{font-size:var(--text-xs);letter-spacing:.08em;border-bottom:1px solid var(--rule)}
.text-button:hover,.prototype:hover{background:var(--rule)}
.issue-heading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);font-size:var(--text-xs);letter-spacing:.16em;padding:var(--space-6) var(--space-4) var(--space-5)}
.issue-line{width:32px;height:1px;background:var(--muted)}
.reader-toolbar{position:sticky;top:0;z-index:30;background:var(--color-bg);max-width:1120px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:0 auto;padding:var(--space-1) var(--space-6);font-size:var(--text-sm)}
.contents-button{display:flex;align-items:center;gap:var(--space-3);min-height:44px}
.menu-symbol{font-size:var(--text-lg);line-height:1}
.mode-switch{display:flex;background:color-mix(in srgb,var(--paper) 60%,transparent);padding:var(--space-1);border:1px solid var(--rule);border-radius:var(--radius-md)}
.mode-switch button{padding:var(--space-2) var(--space-4);min-height:38px;border-radius:var(--radius-sm)}
.mode-switch [aria-pressed=true]{background:var(--button-bg);color:var(--inverse)}
.turn-controls{display:flex;align-items:center;gap:var(--space-3)}
.arrow{font-size:var(--text-lg);width:44px;height:44px;border:1px solid var(--rule);border-radius:50%}
.arrow:hover:not(:disabled){background:var(--button-bg);color:var(--inverse)}
#page-count{min-width:85px;text-align:center;font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.09em}
.book-stage{perspective:2400px;padding:var(--space-8) var(--space-6) var(--space-4);max-width:1160px;margin:auto}
.book{width:100%;max-width:1040px;height:var(--page-height);position:relative;margin:auto;transform-style:preserve-3d;transition:transform var(--turn-time) cubic-bezier(.25,.65,.25,1)}
.book.at-cover{transform:translateX(-25%)}
.book.at-back{transform:translateX(25%)}
.sheet{position:absolute;left:50%;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;transition:transform var(--turn-time) cubic-bezier(.25,.65,.25,1)}
.sheet.turned{transform:rotateY(-180deg)}
.sheet .page{position:absolute;inset:0;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.sheet .back{transform:rotateY(180deg)}
.sheet .front{border-radius:0 4px 4px 0}
.sheet .back{border-radius:4px 0 0 4px}
.sheet .front::after,.sheet .back::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.5}
.sheet .front::after{background:linear-gradient(90deg,#00000012,transparent 5%)}
.sheet .back::after{background:linear-gradient(270deg,#00000015,transparent 5%)}
.book.no-motion,.book.no-motion .sheet{transition:none}
.page{background:var(--paper);color:var(--color-text);position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-9);box-shadow:0 12px 26px #15281d22,0 1px 2px #15281d22;font-size:var(--text-base);line-height:1.5;overflow:hidden}
.page>*{flex-shrink:0}
.page h1,.page h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.04em}
.page h2{font-size:var(--text-xl);line-height:1.16}
.page h3{font-size:var(--text-base);font-weight:700;line-height:1.35}
.eyebrow{font-size:var(--text-xs);letter-spacing:.13em;font-weight:700;line-height:1.45}
.page .eyebrow{color:var(--color-primary)}
.page p{margin:0}
.lead{font-size:var(--text-lg);line-height:1.5;color:var(--muted)}
.small,.margin-note,.colophon{font-size:var(--text-xs);line-height:1.55;color:var(--muted)}
.citation{font-size:var(--text-xs);font-weight:700;white-space:nowrap;color:var(--color-primary)}
.folio{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);font-size:var(--text-xs);letter-spacing:.11em;border-top:1px solid var(--rule);padding-top:var(--space-3);margin-top:auto;color:var(--muted)}
.folio span:first-child{font-size:var(--text-xs)}
.cover{color:#fffef5;background:#193e2c url('./assets/holiday-cover.webp') center center/cover;isolation:isolate;gap:var(--space-3)}
.cover::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b261ec9 0%,#0b261e7a 44%,#0b261e14 64%,#081c13d9 100%);z-index:-1}
.cover-top{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);letter-spacing:.11em;border-bottom:1px solid #f7f7e84d;padding-bottom:var(--space-3)}
.cover-brand img{width:78px;height:auto;margin-top:var(--space-3)}
.cover-story{margin-top:var(--space-4)}
.cover .eyebrow{color:#d2e5d4;font-size:var(--text-xs);letter-spacing:.1em;margin-bottom:var(--space-3)}
.cover h1{font-size:var(--text-2xl);line-height:1.04;color:#fffdf2;margin-bottom:var(--space-5)}
.cover-story>p:last-child{font-size:var(--text-base);line-height:1.5;color:#f1f3e7}
.cover-open{align-self:flex-start;display:flex;align-items:center;gap:var(--space-8);border:1px solid #f1f3e78c;padding:var(--space-3) var(--space-4);margin-top:auto;font-size:var(--text-sm);backdrop-filter:blur(6px);background:#12352570}
.cover-open:hover{background:#f1f3e7;color:#143528}
.cover-bottom{margin-top:var(--space-5);display:flex;justify-content:space-between;align-items:end;gap:var(--space-6);font-size:var(--text-xs);letter-spacing:.11em;line-height:1.5}
.cover-bottom span:last-child{text-align:right;max-width:140px}
.editor-signoff{display:flex;align-items:center;gap:var(--space-4);padding-block:var(--space-2)}
.editor-signoff img{width:52px;height:58px;object-fit:cover}
.editor-signoff strong{display:block;font-size:var(--text-sm)}
.editor-signoff span{display:block;font-size:var(--text-xs);line-height:1.45;color:var(--muted)}
.in-this-issue{margin-top:var(--space-2)}
.in-this-issue h3{margin-bottom:var(--space-2)}
.in-this-issue button{display:flex;justify-content:space-between;gap:var(--space-4);width:100%;text-align:left;font-size:var(--text-sm);min-height:36px;padding:var(--space-2) 0;border-bottom:1px solid var(--rule)}
.in-this-issue button:hover{color:var(--color-primary);padding-left:var(--space-2)}
.in-this-issue button span:last-child{font-size:var(--text-xs);font-variant-numeric:tabular-nums}
.notice-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.notice-grid>div{padding:var(--space-3) var(--space-2)}
.notice-grid>div:nth-child(2n){border-left:1px solid var(--rule);padding-left:var(--space-4)}
.notice-grid>div:nth-child(-n+2){border-bottom:1px solid var(--rule)}
.notice-grid span{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;color:var(--color-primary)}
.notice-grid p{font-size:var(--text-sm);margin-top:var(--space-2)}
.pull-quote{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.2;letter-spacing:-.03em;padding:var(--space-3) 0 var(--space-3) var(--space-5);border-left:2px solid var(--sage)}
.photo-band{margin:calc(-1 * var(--space-9)) calc(-1 * var(--space-9)) var(--space-2);height:185px}
.photo-band img{width:100%;height:100%;object-fit:cover;object-position:center 56%}
.prompt-list{list-style:none;display:grid;gap:var(--space-4)}
.prompt-list li{display:flex;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--rule)}
.prompt-list li>span{font-size:var(--text-xs);font-weight:700;color:var(--color-primary);padding-top:var(--space-1)}
.prompt-list p{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-1)}
.margin-note{padding-top:var(--space-2)}
.perspective{background:var(--paper-alt)}
.large-quote{padding:var(--space-4) 0}
.large-quote>span{font-family:var(--font-display);font-size:var(--text-2xl);line-height:.65;color:var(--color-primary);display:block}
.large-quote p{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.25;letter-spacing:-.03em}
.paired-notes{border-block:1px solid var(--rule);padding:var(--space-4) 0;display:grid;gap:var(--space-4)}
.paired-notes h3{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-2)}
.paired-notes p{font-size:var(--text-base)}
.bottom-line{font-size:var(--text-lg);color:var(--color-primary);border-left:2px solid var(--sage);padding-left:var(--space-4);margin-top:var(--space-2)}
.community{background:#174435;color:#eef5e9}
.community .eyebrow,.community .small,.community .folio{color:#c9dfca}
.community .folio{border-color:#c9dfca40}
.community h2{font-size:var(--text-xl)}
.community-intro{color:#c9dfca}
.community-quote{margin:var(--space-3) calc(-1 * var(--space-9));padding:var(--space-8) var(--space-9);background:linear-gradient(90deg,#0c2b20ef,#0c2b20a6),url('./assets/holiday-cover.webp') center 65%/cover}
.community-quote p{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.3;letter-spacing:-.025em}
.community-principles{display:grid;gap:var(--space-2);padding-block:var(--space-3);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;border-block:1px solid #c9dfca40}
.prep-list{display:grid;gap:var(--space-4)}
.prep-list>div{display:flex;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--rule)}
.prep-list>div>span{font-size:var(--text-xs);font-weight:700;color:var(--color-primary);padding-top:var(--space-1)}
.prep-list p{font-size:var(--text-sm);line-height:1.55}
.resource-note{padding:var(--space-4);background:var(--paper-alt)}
.resource-note p{font-size:var(--text-sm);margin-top:var(--space-2)}
.text-link{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;font-size:var(--text-sm);font-weight:700;min-height:40px;text-underline-offset:5px}
.primary-link{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:var(--button-bg);color:var(--inverse);text-decoration:none;font-size:var(--text-sm)}
.primary-link:hover{opacity:.85}
.contact-details{display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--space-1)}
.contact-details strong{font-size:var(--text-base)}
.urgent-help{border-block:1px solid var(--rule);padding-block:var(--space-4)}
.urgent-help p{font-size:var(--text-sm);line-height:1.55;margin-top:var(--space-2)}
.urgent-help a:not(.citation){font-weight:700}
.colophon{display:grid;gap:var(--space-2)}
.restart{text-align:left;padding:0;align-self:stretch}
.single-stage{perspective:1800px;max-width:560px;padding:var(--space-6) var(--space-4);margin:auto;scroll-margin-top:130px}
.single-stage .page{min-height:var(--page-height);height:auto;transform-origin:left center}
.reading{max-width:800px;margin:var(--space-8) auto;padding:0 var(--space-4);display:grid;gap:var(--space-8)}
.reading .page{padding:var(--space-10);min-height:initial;overflow:visible;scroll-margin-top:70px}
.reading .cover{min-height:850px}
.reading .cover-story{margin-top:var(--space-8)}
.reading .cover h1{font-size:var(--text-2xl)}
.reading .folio{margin-top:var(--space-6)}
.reading .photo-band{margin:calc(-1 * var(--space-10)) calc(-1 * var(--space-10)) var(--space-3);height:300px}
.reading .community-quote{margin-inline:calc(-1 * var(--space-10));padding-inline:var(--space-10)}
.reading .cover-open{display:none}
.reading .in-this-issue button{min-height:44px}
.reader-bottom{max-width:1040px;margin:var(--space-6) auto var(--space-8);text-align:center;padding:0 var(--space-4)}
.page-dots{display:flex;justify-content:center;gap:var(--space-2)}
.page-dots button{min-width:32px;min-height:36px;font-size:var(--text-xs);border-top:3px solid var(--rule);color:var(--muted)}
.page-dots button[aria-current=true]{border-top-color:var(--color-primary);color:var(--color-text)}
.page-dots button:hover{background:var(--rule)}
#reader-hint{font-size:var(--text-xs);color:var(--muted);margin:var(--space-3) auto 0}
.reading-mode .turn-controls{visibility:hidden}
.reading-mode .reader-bottom{display:none}
.app-footer{max-width:1360px;margin:auto;border-top:1px solid var(--rule);padding:var(--space-5) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);color:var(--muted)}
.app-footer>span:first-child{letter-spacing:.1em}
.app-footer button{font-size:var(--text-xs);min-height:44px;text-decoration:underline;text-underline-offset:4px}
dialog{border:1px solid var(--rule);background:var(--paper);color:var(--color-text);border-radius:var(--radius-md);width:min(600px,calc(100% - 32px));max-height:85dvh;padding:var(--space-8);margin:auto;box-shadow:0 30px 100px #0005;overflow:auto}
dialog::backdrop{background:#09251eb8;backdrop-filter:blur(5px)}
dialog p{margin-top:var(--space-4)}
dialog h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);margin-bottom:var(--space-6)}
dialog h3{font-size:var(--text-base);margin-top:var(--space-5)}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}
.dialog-header p{margin:0;color:var(--muted)}
.close{font-size:var(--text-xl);width:44px;height:44px;flex-shrink:0}
#contents-list button{display:flex;width:100%;align-items:center;text-align:left;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--rule)}
#contents-list button:hover{color:var(--color-primary)}
#contents-list .contents-number{font-size:var(--text-xs);color:var(--muted)}
#contents-list .contents-arrow{margin-left:auto}
.no-script{padding:var(--space-6)}
@media(max-width:1100px){:root{--page-height:820px}.page{padding:var(--space-6)}.photo-band{margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) var(--space-2)}.community-quote{margin-inline:calc(-1 * var(--space-6));padding-inline:var(--space-6)}.book-stage{padding-inline:var(--space-4)}}
@media(max-width:900px){
  .app-header{padding:var(--space-3) var(--space-6)}
  .publication{display:none}.brand{width:154px}
  .reader-toolbar{padding:0 var(--space-4);flex-wrap:wrap;gap:var(--space-3)}
  .contents-button{order:1}.mode-switch{order:2}.turn-controls{order:3;width:100%;justify-content:center;margin-top:var(--space-2)}
  .reading-mode .turn-controls{display:none}
  .single-stage .cover{min-height:740px}
  .single-stage .page:not(.cover){min-height:740px}
  .single-stage .page h2,.reading .page h2{font-size:2rem}
  .reading{margin-top:var(--space-6)}
  .reading .page{padding:var(--space-8)}
  .reading .photo-band{margin:calc(-1 * var(--space-8)) calc(-1 * var(--space-8)) var(--space-2);height:230px}
  .reading .community-quote{margin-inline:calc(-1 * var(--space-8));padding-inline:var(--space-8)}
  .app-footer{flex-wrap:wrap}.app-footer>span:nth-child(2){display:none}
}
@media(max-width:480px){
  .app-header{padding:var(--space-3) var(--space-4);gap:var(--space-3)}
  .brand{width:120px}.header-tools{gap:var(--space-1)}.prototype{font-size:var(--text-xs)}
  .issue-heading{padding-top:var(--space-5)}
  .mode-switch button{padding-inline:var(--space-3);font-size:var(--text-sm)}
  .contents-button{font-size:var(--text-sm);gap:var(--space-2)}
  .page{padding:var(--space-6)}
  .cover h1{font-size:2.75rem}
  .cover-brand img{width:68px}
  .cover-top{font-size:var(--text-xs);gap:var(--space-3)}
  .reading .page{padding:var(--space-6)}
  .reading .cover{min-height:760px}
  .reading .cover h1{font-size:2.75rem}
  .reading .photo-band{margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) var(--space-2);height:190px}
  .reading .community-quote{margin-inline:calc(-1 * var(--space-6));padding-inline:var(--space-6)}
  .folio{letter-spacing:.05em}
  .page h2{font-size:1.875rem}
  .large-quote p,.community-quote p{font-size:1.875rem}
  .cover-bottom{gap:var(--space-3);letter-spacing:.06em}
  .cover-bottom span:last-child{max-width:100px}
  dialog{padding:var(--space-6)}
}
@media(prefers-reduced-motion:reduce){.book,.sheet{transition:none!important}}
@media(max-width:360px){
  .app-header{padding-inline:var(--space-3);gap:var(--space-2)}
  .brand{width:96px}.header-tools{gap:0}
  .header-tools .text-button{font-size:var(--text-xs);padding-inline:var(--space-2)}
  .prototype{font-size:.625rem;padding-inline:var(--space-1)}
  .mode-switch button{font-size:var(--text-xs);padding-inline:var(--space-2)}
  .cover h1,.reading .cover h1{font-size:2.375rem}
}
@media print{
  .app-header,.reader-toolbar,.issue-heading,.book-stage,.single-stage,.reader-bottom,.app-footer,dialog{display:none!important}
  .reading{display:block!important;margin:0;padding:0}.reading .page{break-after:page;min-height:0;box-shadow:none;margin:0;padding:24px}.reading .page:last-child{break-after:auto}
  .cover-open,.restart{display:none!important}
}
.cover-features{display:grid;gap:var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.09em;line-height:1.5;margin-top:var(--space-4);color:#e0e9d8}
.sheet .page{font-size:15px;gap:14px}
.sheet .cover{font-size:var(--text-base)}
.article-link{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;min-height:44px;border-top:1px solid var(--rule);color:var(--color-primary);font-weight:700;font-size:var(--text-sm);text-align:left}
.article-link:hover{text-decoration:underline;text-underline-offset:4px}
.clinical-note{border-left:2px solid var(--sage);padding:var(--space-3) var(--space-4);background:var(--paper-alt)}
.clinical-note h3{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-2)}
.clinical-note p{font-size:var(--text-sm);line-height:1.5}
.family .article-link,.family .citation{color:#d6e9d6}
.family .article-link{border-color:#d6e9d655}
.family .community-quote{padding-block:var(--space-5);margin-block:0}
.family .community-quote p{font-size:1.875rem}
.grief .photo-band{height:140px}
.grief .resource-note{padding:var(--space-3)}
.modal-open{overflow:hidden}
.article-reader{width:min(860px,calc(100% - 32px));max-height:92dvh;padding:0;overscroll-behavior:contain}
.article-topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-8);position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--rule);z-index:1}
.article-topbar>span{font-size:var(--text-xs);letter-spacing:.12em;color:var(--muted)}
:is(#article-body,.long-article){padding:var(--space-10) var(--space-12);font-size:var(--text-lg);line-height:1.7}
:is(#article-body,.long-article) h2{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:-.035em;margin-block:var(--space-4)}
:is(#article-body,.long-article) h3{font-size:1.375rem;margin-top:var(--space-10);line-height:1.3;scroll-margin-top:90px}
:is(#article-body,.long-article) p{margin-top:var(--space-4)}
:is(#article-body,.long-article) p.eyebrow{margin-top:0}
.article-deck{font-size:1.25rem;color:var(--muted);line-height:1.5}
.article-byline{font-size:var(--text-xs);letter-spacing:.03em;color:var(--muted);padding-bottom:var(--space-6);border-bottom:1px solid var(--rule)}
:is(#article-body,.long-article) a{color:var(--color-primary);font-size:.85em;text-underline-offset:3px}
.reader-tool{padding:var(--space-6);background:var(--paper-alt);margin-top:var(--space-8)}
:is(#article-body,.long-article) .reader-tool h3,:is(#article-body,.long-article) .clinical-note h3{margin-top:0}
.reader-tool ul{padding-left:var(--space-5);margin-top:var(--space-4)}
.reader-tool li{margin-bottom:var(--space-3)}
:is(#article-body,.long-article) .clinical-note{margin-top:var(--space-8);padding:var(--space-6)}
:is(#article-body,.long-article) .clinical-note h3{font-size:var(--text-sm)}
:is(#article-body,.long-article) .clinical-note p{font-size:var(--text-base);line-height:1.7}
.article-end{border-top:1px solid var(--rule);padding:var(--space-6) var(--space-12);font-size:var(--text-sm);color:var(--muted)}
.article-end p{margin:0}
.article-end button{padding:var(--space-3) 0;margin-top:var(--space-3);font-weight:700;color:var(--color-primary)}
@media(max-width:600px){
  :is(#article-body,.long-article){padding:var(--space-6);font-size:var(--text-base)}
  .article-topbar{padding-inline:var(--space-4)}
  .article-deck{font-size:var(--text-lg)}
  .article-end{padding:var(--space-6)}
  .reader-tool,:is(#article-body,.long-article) .clinical-note{padding:var(--space-4)}
  .grief .photo-band{height:150px}
  .prototype{font-size:.625rem;padding-inline:var(--space-1)}
}
.long-reading{max-width:860px}
.long-article{background:var(--paper);color:var(--color-text);box-shadow:0 6px 24px #15281d16;scroll-margin-top:70px}
.story-meta{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}
.letter-signature{display:flex;flex-direction:column;gap:var(--space-1);border-top:1px solid var(--rule);margin-top:var(--space-8);padding-top:var(--space-6);font-size:var(--text-base)}
.letter-signature span{color:var(--muted)}
.article-link-label small{display:block;font-size:var(--text-xs);color:var(--muted);font-weight:400;margin-top:var(--space-1)}
.family .article-link-label small{color:#c9dfca}
.story-nav{margin-top:var(--space-6);border-block:1px solid var(--rule);font-size:var(--text-sm)}
.story-nav summary{padding:var(--space-4) 0;cursor:pointer;font-weight:700}
.story-nav>div{display:grid;gap:var(--space-1);padding:0 0 var(--space-4)}
.story-nav button{text-align:left;min-height:40px;padding:var(--space-2) var(--space-3);color:var(--color-primary);border-left:2px solid var(--rule);line-height:1.45}
.story-nav button:hover{background:var(--paper-alt);border-color:var(--sage)}
#article-progress-label{margin-left:auto;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--muted)}
.article-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--rule)}
.article-progress span{display:block;height:100%;width:0;background:var(--sage)}
@media print{
  #reading{display:none!important}
  .long-reading[hidden]{display:block!important}
  .long-article{break-before:page;box-shadow:none;padding:20px}
  .story-nav{display:none}
}
.seek-list{padding-left:var(--space-5);display:grid;gap:var(--space-2)}
.seek-list li{font-size:var(--text-sm);line-height:1.5}
.qr-callout{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-4);background:var(--paper-alt);border-left:2px solid var(--sage)}
.qr-callout img{flex:0 0 auto;width:112px;height:112px;background:#fff;padding:6px;border-radius:4px}
.qr-callout h3{font-size:var(--text-sm);margin-bottom:var(--space-1)}
.qr-callout p{font-size:var(--text-sm);line-height:1.5}
.qr-callout p+p{margin-top:var(--space-2)}
.qr-callout a{font-weight:700}
:is(#article-body,.long-article) .qr-callout{margin-top:var(--space-8);padding:var(--space-6)}
:is(#article-body,.long-article) .qr-callout img{width:150px;height:150px}
:is(#article-body,.long-article) .qr-callout h3{margin-top:0;font-size:var(--text-base)}
:is(#article-body,.long-article) .urgent-help{margin-top:var(--space-6)}
@media (max-width:520px){.qr-callout{flex-direction:column;align-items:flex-start}}
.page-dots{flex-wrap:wrap}
@media (max-width:520px){.page-dots{gap:var(--space-1)}.page-dots button{min-width:28px}}
