/* Progressive enhancement for independent pages; approved design stays intact. */
.build-notice{padding:6px 20px;background:#f0f3f2;color:#53655e;border-bottom:1px solid #d9e2de;font-size:.65rem;line-height:1.5}
.journal-empty{padding:32px 0 12px;border-top:1px solid var(--line);color:var(--muted)}
.journal-empty p{font:1.5rem/1.6 var(--serif-cn);color:var(--ink);margin-bottom:16px}
.article-source a{overflow-wrap:anywhere}
.article-body h3{font-family:var(--serif-cn);font-size:1.35rem;margin:32px 0 16px}
.article-body ul{padding-left:24px;margin:0 0 32px}
.article-body a{color:var(--teal);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.article-body a.button{color:#fff}
.article-body .article-figure{margin:40px 0;max-width:100%;min-width:0}
.article-body .article-image-link{display:block;max-width:100%;width:fit-content;margin-inline:auto;text-decoration:none;line-height:0}
.article-body .article-image-link:focus-visible{outline:2px solid var(--teal);outline-offset:5px}
.article-body .article-figure img{display:block;max-width:100%;height:auto;margin:0 auto;background:#f7f9f8;border:1px solid var(--line);box-sizing:border-box}
.article-body .article-figure figcaption{margin-top:12px;color:var(--muted);font-family:var(--sans);font-size:.82rem;line-height:1.7;overflow-wrap:anywhere}
.article-body .article-image-caption,.article-body .article-image-source{display:block}
.article-body .article-image-source{margin-top:4px;font-size:.75rem}
.legal-document{padding-block:48px 72px;overflow-wrap:anywhere}
.legal-document h1{font-family:var(--serif-cn);font-weight:400;font-size:2rem;line-height:1.4;margin-bottom:10px}
.legal-document .legal-meta{color:var(--muted);font-size:.82rem;margin-bottom:32px}
.legal-document h2{font-family:var(--serif-cn);font-weight:500;font-size:1.25rem;margin:40px 0 14px;padding-top:18px;border-top:1px solid var(--line)}
.legal-document h3{font-size:1rem;margin:22px 0 8px}
.legal-document p,.legal-document li{font-size:.95rem;line-height:1.95}
.legal-document ol,.legal-document ul{padding-left:22px;margin:0 0 18px}
.legal-document li{margin-bottom:6px}
.legal-document .highlight-box{margin:16px 0;padding:14px 18px;border-left:2px solid var(--teal);background:#f2f5f3;font-size:.92rem;line-height:1.85}
.legal-document .legal-document-back{margin-top:40px}
.legal-document .legal-table-wrap{overflow-x:auto;margin:16px 0 24px}
.legal-document table{border-collapse:collapse;min-width:520px;width:100%;font-size:.88rem;line-height:1.75}
.legal-document th,.legal-document td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.legal-document th{background:#f2f5f3;font-weight:500}
.footer-legal{display:flex;flex-wrap:wrap;gap:0 18px}
.article-page .article-body .article-editor-note{margin:0 0 36px;padding:14px 18px;border-left:2px solid var(--teal);background:#f2f5f3;color:var(--muted);font-family:var(--sans);font-size:.88rem;line-height:1.8}
.masthead-word{font-size:clamp(30px,8.2vw,100px)}
.contact-channels{display:grid;gap:20px;min-width:0}
.member-support{padding-bottom:70px}
.contact-channel{padding:24px;border:1px solid var(--line);background:#f2f5f3;min-width:0}
.contact-channel h2{font-family:var(--sans);font-size:1.4rem;margin:12px 0}
.contact-channel p{overflow-wrap:anywhere}
.contact-channel .button{margin-top:20px;max-width:100%;overflow-wrap:anywhere;white-space:normal}
.contact-qr{display:block;width:min(280px,100%);height:auto;object-fit:contain;margin:22px auto 16px;background:#fff;padding:10px}
.contact-channel .caption{line-height:1.8;font-size:.8rem}
.contact-channel.is-paused{background:#f8f9f8;color:var(--muted)}
.operator-details:not(:empty){margin:26px 0;overflow-wrap:anywhere}
.footer-operator{min-width:0;overflow-wrap:anywhere}
.footer-operator .text-link{font-size:inherit;text-underline-offset:4px}
/* Without scripts all navigation and example content remains available. */
html:not(.js) .menu-toggle,html:not(.js) .nav-trigger{display:none}
html:not(.js) .primary-nav{display:flex;flex-direction:column;width:100%}
html:not(.js) .nav-panel[hidden]{display:block!important;position:static;margin-block:8px}
html:not(.js) .nav-group{width:100%}
@media(min-width:760px){.masthead-word{font-size:clamp(32px,4.5vw,68px)}}
@media(min-width:1080px){html:not(.js) .header-inner{flex-wrap:wrap}}
