@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap");

:root {
    color-scheme: light;
    --paper: #f6f4ee;
    --ink: #191b1f;
    --muted: #5e5e57;
    --line: #dbd8cf;
    --surface: #fffefb;
    --yellow: #ffc52f;
    --ochre: #805000;
    --display: "Bricolage Grotesque", system-ui, sans-serif;
    font-family: Inter, system-ui, sans-serif;
    color: var(--ink);
    background: var(--paper);
}
* { box-sizing: border-box; }
body { margin: 0; }
h1, h2, h3 { font-family: var(--display); line-height: 1.04; letter-spacing: -.04em; margin: 0 0 .6em; }
h1 { font-size: clamp(1.85rem, 4vw, 2.7rem); font-weight: 800; }
h2 { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; }
h3 { font-size: 1.34rem; font-weight: 800; }
p { line-height: 1.55; margin: 0 0 .9rem; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--ochre); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
    outline: 2px solid #956000; outline-offset: 3px;
}
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button, summary { cursor: pointer; }
textarea { resize: vertical; }
input:not([type=checkbox]), textarea, select {
    width: 100%; min-width: 0; padding: .65rem .75rem; border: 1px solid #aaa89d;
    background: var(--surface); color: var(--ink); border-radius: .4rem;
}
.wrap { width: min(1220px, calc(100% - 42px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }
.skip-link { position: absolute; z-index: 2; top: .6rem; left: .6rem; transform: translateY(-200%); padding: .75rem 1rem; background: var(--yellow); font-weight: 700; border-radius: .45rem; }
.skip-link:focus { transform: translateY(0); }
.site-header { background: var(--surface); border-bottom: 1px solid var(--line); padding-bottom: .8rem; }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand img { width: 166px; height: auto; }
.brandbar { min-height: 90px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: clamp(.8rem, 3vw, 2.4rem); align-items: center; }
.brandbar .brand img { width: 150px; height: 80px; object-fit: cover; }
.header-actions, .search, .form-actions { display: flex; align-items: center; gap: .7rem; }
.search { justify-self: stretch; max-width: 620px; gap: 0; border: 1px solid #bdbab0; border-radius: .55rem; background: var(--paper); }
.search:focus-within { outline: 2px solid #956000; outline-offset: 2px; }
.search input[type=search] { flex: 1; border: 0; background: transparent; padding-inline: .9rem; }
.search input:focus-visible { outline: none; }
.search button { border-left: 1px solid var(--line); border-radius: 0 .5rem .5rem 0; }
.header-actions { gap: clamp(.6rem, 2vw, 1.25rem); min-width: 0; }
.header-account { display: inline-flex; align-items: center; min-height: 44px; font-size: .88rem; font-weight: 700; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .38rem; padding: .63rem .9rem; line-height: 1.25; border: 1px solid #aaa89d; border-radius: .42rem; font-weight: 700; font-size: .88rem; color: var(--ink); background: var(--surface); }
.button:hover { background: #f0eadc; color: var(--ink); }
.button.primary { background: var(--yellow); border-color: var(--yellow); }
.button.primary:hover { background: #ffb600; }
.button.plain { background: transparent; border-color: transparent; }
.search .button:hover { background: #eee8db; }
.text-link { color: var(--ochre); font-weight: 700; }
.text-link:hover { text-decoration: underline; }
.portal { display: grid; grid-template-columns: minmax(0, 1fr) clamp(260px, 28%, 342px); align-items: start; gap: clamp(1.1rem, 2.5vw, 2rem); margin-block: 1.25rem 3rem; }
.portal-main, .reading { min-width: 0; overflow-wrap: anywhere; }
.eyebrow { display: inline-block; font-size: .72rem; font-weight: 800; color: var(--ochre); letter-spacing: .045em; text-transform: uppercase; }
a.eyebrow:hover { text-decoration: underline; }
.meta { color: var(--muted); font-size: .82rem; line-height: 1.45; }
.stories-empty { background: var(--surface); border: 1px solid var(--line); padding: 1.15rem; border-radius: .6rem; }
.stories-empty p { margin: 0; }
.stories-empty a { display: inline-block; margin-top: .6rem; }
.right-rail { display: grid; gap: .95rem; min-width: 0; border-left: 1px solid var(--line); padding-left: clamp(.9rem, 2vw, 1.45rem); overflow-wrap: anywhere; }
.rail-card { min-width: 0; border: 1px solid var(--line); border-radius: .7rem; padding: .9rem; background: var(--surface); }
.rail-card h2 { margin-bottom: .62rem; font-size: clamp(1.3rem, 2.1vw, 1.65rem); }
.rail-card p { font-size: .9rem; }
.rail-list { list-style: none; padding: 0; margin: 0; }
.rail-list li { border-top: 1px solid var(--line); }
.rail-list a { display: flex; align-items: center; gap: .6rem; min-height: 44px; padding: .52rem 0; font-size: .87rem; line-height: 1.3; }
.rail-list a[aria-current] { color: var(--ochre); }
.rail-list img { flex: 0 0 auto; object-fit: cover; border-radius: .32rem; }
.rail-list strong { flex: 1; }
.rail-arrow { margin-left: auto; color: var(--ochre); }
.rail-more { display: inline-block; margin-top: .5rem; padding: .35rem 0; font-size: .88rem; }
.ad-slot { display: grid; place-items: center; border: 1px dashed #a2916d; border-radius: .55rem; background: #f0e9da; color: #62563e; text-align: center; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .065em; scroll-margin-top: 1rem; }
.ad-sidebar { width: min(100%, 300px); aspect-ratio: 6 / 5; justify-self: center; }
.ad-banner { width: 100%; block-size: 90px; margin: 1.2rem 0; }
.reading { background: var(--surface); border: 1px solid var(--line); border-radius: .8rem; padding: clamp(1rem, 3vw, 2rem); }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 0 1rem; font-size: .8rem; color: var(--muted); }
.breadcrumbs a:last-child { color: var(--ochre); font-weight: 700; }
.breadcrumbs a:hover { text-decoration: underline; }
.byline { display: flex; align-items: center; gap: .6rem; margin: 1rem 0 1.15rem; font-size: .91rem; }
.author-mark { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; flex: 0 0 auto; background: var(--yellow); border-radius: 50%; font: 800 1.12rem var(--display); }
.article-copy { overflow-wrap: anywhere; }
.article-copy :is(p, div, li, h2, h3) { white-space: pre-wrap; }
.article-copy :is(ul, ol) { margin: .6em 0 1em; padding-left: 1.6em; }
.article-copy h2, .article-copy h3 { margin: 1em 0 .35em; }
.article-copy h2:first-child, .article-copy h3:first-child { margin-top: 0; }
.article-copy blockquote { border-left: 4px solid var(--yellow); margin: 1em 0; padding: .55em .85em; background: #fff5d8; }
.article-copy blockquote > :last-child { margin-bottom: 0; }
.article-copy a { color: var(--ochre); text-decoration: underline; text-underline-offset: .15em; }
.portal.article-preview { grid-template-columns: minmax(0, 846px); }
.site-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .55rem 1.2rem; border-top: 1px solid var(--line); padding: .5rem 0 1rem; color: var(--muted); font-size: .88rem; }
.site-footer .brand img { width: 112px; }
.site-footer nav { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 1rem; }
.site-footer nav a { display: inline-block; padding-block: .65rem; }
.account { display: grid; place-items: center; margin-block: 2.5rem; }
.form-card { background: var(--surface); border: 1px solid var(--line); padding: 1.5rem; border-radius: .7rem; width: min(100%, 460px); }
.form-card > p { margin-top: .9rem; }
.workspace { margin-block: 2rem 3rem; max-width: 850px; }
.author-form { border: 1px solid var(--line); border-radius: .75rem; background: var(--surface); padding: clamp(.85rem, 2.5vw, 1.55rem); }
.field-label { display: block; font-size: .9rem; font-weight: 700; margin-bottom: .35rem; }
.editor-shell { border: 1px solid #aaa89d; border-radius: .55rem; }
.editor-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; padding: .42rem; border-bottom: 1px solid var(--line); border-radius: .5rem .5rem 0 0; background: var(--paper); }
.editor-tools select { width: auto; padding: .5rem .45rem; font-size: .83rem; }
.editor-tool-group { display: inline-flex; gap: .15rem; }
.editor-tools button { min-height: 38px; min-width: 38px; padding: .32rem .5rem; border: 1px solid transparent; border-radius: .35rem; background: transparent; color: var(--ink); font-size: .83rem; }
.editor-tools button:not(:disabled):hover, .editor-tools button[aria-pressed="true"] { background: #fff0c9; border-color: #e4ce90; }
.editor-tools button:disabled { opacity: .5; cursor: default; }
.editor-tools button.editor-preview { margin-left: auto; border-color: #aaa89d; background: var(--surface); font-weight: 700; }
.editor-content { min-height: 16rem; max-height: 50vh; overflow: auto; padding: clamp(.65rem, 2vw, 1rem); line-height: 1.64; }
.editor-content:focus { outline: 2px solid #956000; outline-offset: -2px; }
.editor-content[aria-invalid="true"] { outline: 2px solid #9a3528; outline-offset: -2px; }
.editor-content.editor-readonly { background: #fbf9f2; border-radius: .5rem; }
.editor-readonly:not([contenteditable]) { min-height: auto; }
.editor-error { margin: 0; padding: .5rem .75rem; color: #8a3126; font-size: .88rem; }
.editor-link-dialog { width: min(420px, calc(100% - 30px)); border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); color: var(--ink); }
.editor-link-dialog::backdrop { background: rgb(25 27 31 / .5); }
.editor-link-dialog h2 { margin: 0; }
.fields { border: 0; min-width: 0; margin: 0; padding: 0; display: grid; gap: .85rem; }
.fields > label { display: grid; gap: .32rem; font-weight: 700; font-size: .9rem; }
.fields input, .fields textarea, .fields select { font-weight: 400; }
.fields > .checkbox { display: flex; align-items: center; }
.checkbox input { accent-color: var(--yellow); width: 1rem; height: 1rem; }
.fields > button { justify-self: start; }
.form-actions { flex-wrap: wrap; }
.notice, .errors, .empty { background: #fcf1d1; border-left: 3px solid #db9c10; padding: .7rem .9rem; margin: .7rem 0; overflow-wrap: anywhere; }
.notice p { margin: .35rem 0 0; }
.errors { border-color: #9a3528; background: #ffefe9; padding-left: 1.6rem; }
.empty { border-color: var(--line); background: #f0ece4; }
.section-heading { display: flex; gap: .7rem; align-items: center; justify-content: space-between; margin: .5rem 0 .9rem; flex-wrap: wrap; }
.section-heading h1, .section-heading h2 { margin: 0; }
.item-row { display: flex; justify-content: space-between; align-items: center; gap: .8rem; min-height: 49px; padding: .6rem .35rem; border-bottom: 1px solid var(--line); }
.status { display: inline-block; width: fit-content; padding: .24rem .5rem; border-radius: 5px; background: #edebe7; font-size: .75rem; font-weight: 700; white-space: nowrap; }
.status.submitted, .status.changes_requested { background: #ffe6aa; color: #573400; }
.status.published, .status.scheduled { background: #dcefd6; color: #2c5a29; }
.pagination { display: flex; align-items: center; justify-content: center; gap: .7rem; padding: .8rem 0; }
.desk-page { background: #faf9f5; }
.desk { min-height: 100vh; display: grid; grid-template-columns: minmax(170px, 17%) minmax(0, 1fr); }
.desk-nav { display: flex; flex-direction: column; gap: .3rem; align-items: stretch; background: #1b1d20; color: #fff; padding: 1.1rem .8rem; }
.desk-nav .brand { justify-content: center; background: var(--surface); border-radius: 6px; margin: .1rem 0 1rem; }
.desk-nav h2 { text-transform: uppercase; color: #dedad0; font: 800 .75rem Inter, sans-serif; letter-spacing: .07em; margin: .75rem .45rem .3rem; }
.desk-nav > a:not(.brand) { padding: .7rem .45rem; border-left: 3px solid transparent; font-size: .92rem; border-radius: 4px; }
.desk-nav a[aria-current] { color: white; background: #353536; border-color: var(--yellow); }
.desk-nav > a:hover { color: var(--yellow); }
.desk-user { border-top: 1px solid #525252; margin-top: 1rem; padding: .8rem .45rem .25rem; font-weight: 700; }
.desk-nav button { color: white; }
.desk-nav button:hover { color: var(--yellow); background: transparent; }
.desk-main { padding: 0 1.15rem 1.4rem; }
.desk-breadcrumb { border-bottom: 1px solid var(--line); padding: .95rem 0; font-size: .87rem; font-weight: 650; }
.desk-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: 1rem; margin-top: .7rem; }
.desk-grid h1 { font-size: clamp(1.6rem, 3vw, 2.15rem); }
.desk-grid h2 { font-size: 1.45rem; }
.desk-tabs { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0 .8rem; border-bottom: 1px solid var(--line); font-size: .8rem; }
.desk-tabs a { padding: .7rem .2rem .55rem; border-bottom: 3px solid transparent; }
.desk-tabs a[aria-current] { border-color: var(--yellow); font-weight: 800; }
.desk-item { display: grid; grid-template-columns: 66px minmax(0,1fr) auto; gap: .65rem; align-items: center; border-bottom: 1px solid var(--line); border-left: 4px solid transparent; padding: .45rem; font-size: .88rem; overflow-wrap: anywhere; }
.desk-item[aria-current] { background: #f8efd9; border-left-color: var(--yellow); }
.desk-item img, .paper-mark { width: 66px; aspect-ratio: 1.6; object-fit: cover; border-radius: 4px; }
.paper-mark { background: #f0ebe0; display: grid; place-items: center; color: var(--ochre); }
.desk-item small { display: block; margin-top: .2rem; color: var(--muted); }
.desk-card { padding: .85rem; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); margin-top: .65rem; }
.schedule .item-row { font-size: .85rem; }
.editor-cover { width: 100%; max-height: 260px; object-fit: cover; border-radius: 5px; margin-block: .65rem; }
.dock h3 { margin: .3rem 0 .4rem; overflow-wrap: anywhere; }
.dock-lead { margin-top: .55rem; }
.dock summary { font-size: .87rem; font-weight: 700; }
.preview-text { margin-top: .55rem; max-height: 250px; overflow: auto; font-size: .9rem; line-height: 1.55; }
.review-form { margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--line); }
.editorial-heading { margin: 1.05rem 0; }
.editorial-heading h1 { font-size: clamp(1.65rem, 3vw, 2.25rem); }
.editorial-grid { grid-template-columns: minmax(0, 1.13fr) minmax(0, 1fr); margin-top: 0; gap: 1rem; }
.editorial-list, .editorial-detail { min-width: 0; scroll-margin-top: .8rem; }
.desk-table { overflow: hidden; border: 1px solid var(--line); border-radius: .6rem; background: var(--surface); }
.editorial-tabs { gap: 0 .55rem; padding: 0 .8rem; }
.editorial-tabs a { min-height: 42px; padding-inline: .22rem; }
.editorial-tabs strong { margin-left: .15rem; }
.desk-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .72fr) auto; align-items: center; gap: .55rem; padding: .8rem; font-size: .86rem; }
.desk-filters .text-link { justify-self: start; }
.editorial-columns { display: grid; grid-template-columns: minmax(0, 1fr) 6.7rem 5.15rem; gap: .65rem; padding: .35rem .75rem .5rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .75rem; font-weight: 700; }
.editorial-item { grid-template-columns: 60px minmax(0, 1fr) 6.7rem 5.15rem; align-items: center; min-height: 60px; padding: .5rem .75rem .5rem .5rem; }
.editorial-item img, .editorial-item .paper-mark { width: 60px; height: auto; }
.editorial-item-date { font-size: .76rem; color: var(--muted); white-space: nowrap; }
.desk-empty { padding: .75rem; color: var(--muted); }
.editorial-grid .schedule { margin-top: .85rem; }
.editorial-grid .schedule .item-row { justify-content: start; align-items: baseline; overflow-wrap: anywhere; }
.schedule time { flex: none; font-variant-numeric: tabular-nums; color: var(--muted); }
.editorial-detail { margin-top: 0; padding: 1rem; }
.editorial-back { display: none; }
.material-heading { overflow-wrap: anywhere; }
.material-heading h2 { margin: .32rem 0 .35rem; font-size: clamp(1.55rem, 2.7vw, 2rem); }
.material-heading p { margin-bottom: .6rem; }
.material-status { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: .4rem; }
.material-nav { display: flex; gap: .9rem; flex-wrap: wrap; border-bottom: 1px solid var(--line); }
.material-nav a { display: inline-block; padding: .55rem .1rem; font-size: .87rem; font-weight: 700; }
.material-nav a:hover { text-decoration: underline; }
.material-section { scroll-margin-top: .8rem; padding-block: .85rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.material-section:last-child { border-bottom: 0; padding-bottom: 0; }
.material-section .editor-cover { margin-top: 0; }
.material-preview { display: inline-block; margin-top: .55rem; }
.material-section .review-form { border: 0; padding-top: 0; margin-top: .65rem; }
.material-return { padding: .65rem .75rem; border: 1px solid var(--line); border-radius: .4rem; }
.material-return label { display: block; margin-top: .65rem; font-size: .86rem; font-weight: 700; }
.material-return textarea { display: block; margin: .3rem 0 .45rem; }
.material-history { display: grid; gap: .65rem; list-style: none; padding: 0; margin: .6rem 0 0; }
.material-history li { display: grid; gap: .16rem; border-left: 2px solid var(--line); padding-left: .6rem; font-size: .87rem; }
.material-history p { margin: 0; white-space: pre-wrap; }
@media (max-width: 1170px) {
    .editorial-item { grid-template-columns: 50px minmax(0, 1fr) 6.2rem; }
    .editorial-item img, .editorial-item .paper-mark { width: 50px; }
    .editorial-item-date { grid-column: 2; }
    .editorial-item-date:has(> span) { display: none; }
    .editorial-columns { grid-template-columns: minmax(0, 1fr) 6.2rem; }
    .editorial-columns > :last-child { display: none; }
}
@media (max-width: 950px) {
    .desk-grid { grid-template-columns: 1fr; }
    .editorial-grid:not(.editorial-selected) .editorial-detail, .editorial-selected .editorial-list { display: none; }
    .editorial-back { display: inline-block; margin-bottom: .85rem; }
    .portal { grid-template-columns: minmax(0, 1fr) 235px; gap: .95rem; }
    .right-rail { padding-left: .75rem; }
}
@media (max-width: 720px) {
    .wrap { width: calc(100% - 26px); }
    .site-header { padding-bottom: .6rem; }
    .brandbar { grid-template-columns: auto minmax(0, 1fr); gap: 0 .45rem; margin-bottom: .58rem; }
    .brandbar .brand img { width: 117px; height: 64px; }
    .search { grid-column: 1 / -1; grid-row: 2; max-width: none; }
    .search input { font-size: 1rem; }
    .header-actions { justify-content: end; flex-wrap: wrap; gap: 0 .55rem; padding-block: .3rem; }
    .header-actions .button, .header-account { font-size: .79rem; }
    .header-actions .button { min-height: 42px; padding: .45rem .5rem; }
    .portal { grid-template-columns: 1fr; margin-top: 1rem; }
    .right-rail { border-left: 0; border-top: 1px solid var(--line); padding: .85rem 0 0; }
    .ad-sidebar { display: none; }
    .ad-banner { block-size: 100px; }
    .reading { padding: 1rem; }
    .desk { grid-template-columns: 1fr; }
    .desk-nav { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; }
    .desk-nav .brand { margin: 0; }
    .desk-nav h2 { display: none; }
    .desk-user { border: 0; padding: .35rem; margin: 0; }
    .desk-main { padding-inline: .73rem; }
}
@media (max-width: 430px) {
    .desk-filters { grid-template-columns: minmax(0, 1fr) auto; }
    .desk-filters label:first-of-type { grid-column: 1 / -1; }
    .editorial-item .status { white-space: normal; }
    .editor-tools button { min-height: 44px; }
    .desk-item { grid-template-columns: 46px minmax(0,1fr) auto; }
    .desk-item img, .paper-mark { width: 46px; }
}

.video-page { margin-block: 1.35rem 3rem; }
.video-page h1 { overflow-wrap: anywhere; }
.video-intro { color: var(--muted); }
.video-tabs { display: flex; flex-wrap: wrap; gap: 0 1rem; margin-bottom: 1rem; border-bottom: 1px solid var(--line); }
.video-tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem .15rem; border-bottom: 3px solid transparent; font-size: .9rem; font-weight: 700; }
.video-tabs a[aria-current] { color: var(--ochre); border-color: var(--yellow); }
.video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.video-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); }
.video-card-link { display: block; }
.video-card-link:focus-visible { outline-offset: -3px; }
.video-card h3 { margin: .7rem .75rem .35rem; font-size: 1.22rem; overflow-wrap: anywhere; }
.video-card .meta { margin-inline: .75rem; }
.video-card-image, .video-player { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #222025; }
.video-card-image img, .video-player img, .video-player iframe { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }
.video-card-image span, .video-play span { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--yellow); color: var(--ink); font-size: 1.1rem; padding-left: .15rem; }
.video-card-image span { position: absolute; bottom: .6rem; left: .6rem; width: 2.15rem; height: 2.15rem; font-size: .8rem; }
.video-player { min-height: 200px; border-radius: .55rem; }
.video-play { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; border: 0; background: rgb(0 0 0 / .18); }
.video-play:hover { background: rgb(0 0 0 / .3); }
.video-play:focus-visible { outline-color: var(--yellow); outline-offset: -4px; }
.video-source { margin: .45rem 0 .8rem; font-size: .84rem; }
.video-description { white-space: pre-wrap; overflow-wrap: anywhere; }
.video-voting { margin-top: 1.15rem; padding-top: 1rem; border-top: 1px solid var(--line); scroll-margin-top: 1rem; }
.video-voting h2 { display: flex; align-items: center; gap: .55rem; font-size: 1.4rem; }
.vote-count { display: inline-block; background: var(--yellow); padding: .25rem .55rem; border-radius: 1rem; font-size: .9rem; letter-spacing: normal; }
.video-page .rail-list small { display: block; margin-top: .25rem; font-weight: 500; }
.video-page .rail-list img { aspect-ratio: 3 / 2; height: auto; }
.video-url { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }
.video-submission > .text-link { display: inline-block; margin: .4rem 0 .8rem; }
.status.waiting { background: #ffe6aa; color: #573400; }
.status.rejected { background: #ffebe5; color: #842c1e; }
.home-videos { margin-top: 1.5rem; }
@media (max-width: 900px) {
    .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .video-grid, .video-url { grid-template-columns: minmax(0, 1fr); }
    .video-url .button { justify-self: start; }
}

.discussion { margin-top: 1.45rem; padding-top: 1rem; border-top: 1px solid var(--line); scroll-margin-top: 1rem; }
.discussion h2 { display: flex; align-items: center; gap: .55rem; }
.comment-form { scroll-margin-top: 1rem; }
.comment-list { margin-top: .8rem; }
.reader-comment { padding-block: .8rem; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.comment-byline { display: flex; align-items: center; gap: .55rem; font-size: .91rem; }
.comment-byline .author-mark { width: 2rem; height: 2rem; font-size: 1rem; }
.comment-copy { white-space: pre-wrap; margin: .55rem 0; }
.comment-report summary { width: fit-content; padding: .4rem 0; font-size: .8rem; color: var(--ochre); font-weight: 700; }
.comment-report form { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: .4rem; }
.comment-report select { width: min(100%, 210px); font-size: .86rem; }
.moderation-filters { display: flex; align-items: center; gap: .6rem; padding: .75rem; }
.moderation-filters select { width: min(100%, 250px); font-size: .88rem; }
.moderation-columns { display: flex; justify-content: space-between; gap: .55rem; padding: .45rem .8rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .75rem; font-weight: 700; }
.moderation-item { min-height: 65px; }
.moderation-quote { white-space: pre-wrap; margin: .55rem 0; padding: .75rem .85rem; border: 1px solid var(--line); border-radius: .4rem; background: var(--paper); line-height: 1.55; }
.dock .moderation-reasons-title { margin-top: 1.05rem; }
.moderation-reasons { display: flex; gap: .45rem .8rem; flex-wrap: wrap; list-style: none; padding: 0; margin: .6rem 0 0; font-size: .87rem; }
.moderation-reasons .status { margin-left: .25rem; }

.gallery-fields { display: grid; gap: .8rem; margin-top: .8rem; }
.gallery-fields > div { display: grid; gap: .8rem; }
.editor-content > [data-gallery] { display: block; margin: .7rem 0; padding: .6rem .85rem; border: 1px dashed #b79a59; border-radius: .45rem; background: #fff3d5; color: var(--ochre); font-size: .88rem; font-weight: 700; cursor: pointer; }
.editor-content > [data-gallery]::before { content: attr(data-gallery-label); }
.editor-tools [data-add-gallery] { border-color: #dfb148; background: #fff3d5; font-weight: 700; }
.editor-gallery { padding: .8rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--paper); }
.editor-gallery h3 { margin: 0; }
.editor-gallery-photos { display: grid; gap: .65rem; list-style: none; margin: .65rem 0; padding: 0; }
.editor-gallery-photo { display: grid; grid-template-columns: 80px minmax(0, 1fr); align-items: start; gap: .7rem; padding-top: .65rem; border-top: 1px solid var(--line); }
.editor-gallery-photo img { width: 80px; height: 60px; object-fit: cover; border-radius: .3rem; }
.editor-gallery-description { display: grid; gap: .45rem; grid-column: 2; }
.editor-gallery-description label, .editor-gallery-upload { display: grid; gap: .25rem; font-size: .85rem; font-weight: 700; }
.editor-gallery .meta { margin: .4rem 0 0; }
.editor-gallery .button:disabled { opacity: .45; cursor: default; }
.article-gallery { margin-block: 1.1rem; }
.article-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.article-copy .article-gallery, .article-copy .article-gallery-grid { white-space: normal; }
.article-gallery figure { min-width: 0; margin: 0; }
.article-gallery figure:only-child { grid-column: 1 / -1; }
.article-gallery a { display: block; overflow: hidden; border-radius: .45rem; background: var(--paper); }
.article-gallery img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.article-gallery figcaption { margin-top: .3rem; color: var(--muted); font-size: .82rem; line-height: 1.4; }
.gallery-viewer { width: min(940px, calc(100% - 1.4rem)); max-height: 95dvh; padding: .7rem; border: 1px solid #434343; border-radius: .65rem; background: #201e21; color: #fff; }
.gallery-viewer::backdrop { background: rgb(0 0 0 / .8); }
.gallery-viewer img { display: block; width: 100%; height: min(64dvh, 720px); margin: .55rem 0; object-fit: contain; touch-action: pan-y; }
.gallery-viewer-caption { margin: .45rem 0; text-align: center; }
.gallery-controls { display: flex; justify-content: center; flex-wrap: wrap; gap: .55rem; }
.gallery-viewer .button { min-height: 44px; }
@media (max-width: 480px) {
    .editor-gallery-photo { grid-template-columns: 1fr; }
    .editor-gallery-description { grid-column: 1; }
    .article-gallery-grid { grid-template-columns: 1fr; }
}

.editor-content > [data-poll] { display: block; margin: .7rem 0; padding: .6rem .85rem; border: 1px dashed #92837a; border-radius: .45rem; background: var(--surface); color: var(--ink); font-size: .88rem; font-weight: 700; cursor: pointer; }
.editor-content > [data-poll]::before { content: attr(data-poll-label); }
.editor-poll label { display: grid; gap: .2rem; min-width: 0; font-size: .86rem; font-weight: 700; }
.editor-poll-option { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .55rem; margin-block: .55rem; }
.editor-poll-option .button { min-height: 40px; }
.article-poll { margin-block: 1.2rem; padding: clamp(.85rem, 3vw, 1.25rem); border: 1px solid var(--line); border-top: 3px solid var(--yellow); border-radius: .65rem; background: var(--paper); scroll-margin-top: 1rem; }
.article-poll h3 { margin: .35rem 0 .75rem; }
.article-poll .eyebrow { margin: 0; }
.article-poll .meta { margin: .65rem 0 0; }
.poll-vote fieldset { display: grid; gap: .45rem; min-width: 0; margin: 0 0 .75rem; padding: 0; border: 0; }
.poll-vote label { display: flex; gap: .6rem; min-height: 44px; align-items: center; padding: .45rem .65rem; border: 1px solid var(--line); border-radius: .45rem; background: var(--surface); cursor: pointer; }
.poll-vote label:has(:checked) { border-color: var(--ochre); background: #fff3d5; }
.poll-vote input[type=radio] { width: 1rem; flex: 0 0 1rem; margin: 0; padding: 0; accent-color: var(--ochre); }
.poll-results { display: grid; gap: .55rem; padding: 0 !important; list-style: none; }
.poll-results li > div { display: flex; align-items: baseline; gap: .75rem; justify-content: space-between; white-space: normal; }
.poll-results small { color: var(--ochre); font-weight: 700; }
.poll-results meter { display: block; width: 100%; height: .7rem; }
.poll-results meter::-webkit-meter-bar { background: #e1dacf; border: 0; }
.poll-results meter::-webkit-meter-optimum-value { background: #c48413; }
.poll-results meter::-moz-meter-bar { background: #c48413; }

.editor-content > [data-quiz] { display: block; margin: .7rem 0; padding: .6rem .85rem; border: 1px dashed #92837a; border-radius: .45rem; background: var(--surface); color: var(--ink); font-size: .88rem; font-weight: 700; cursor: pointer; }
.editor-content > [data-quiz]::before { content: attr(data-quiz-label); }
.editor-quiz-question { display: grid; gap: .6rem; min-width: 0; margin: .85rem 0; padding: .65rem; border: 1px solid var(--line); border-radius: .45rem; }
.editor-quiz-question legend { padding-inline: .35rem; font-weight: 700; }
.editor-quiz button { justify-self: start; }
.article-quiz { margin-block: 1.2rem; padding: clamp(.85rem, 3vw, 1.25rem); border: 1px solid var(--line); border-top: 3px solid var(--yellow); border-radius: .65rem; background: var(--paper); scroll-margin-top: 1rem; }
.article-quiz .eyebrow { margin: 0; }
.article-quiz h3 { margin: .35rem 0 1rem; }
.quiz-form fieldset + fieldset { margin-top: 1.05rem; padding-top: .4rem; }
.quiz-form legend { margin-bottom: .35rem; font-weight: 700; }
.quiz-form legend .meta { display: block; }
.quiz-score { font-size: 1.25rem; }
.quiz-score strong { margin-left: .4rem; padding: .2rem .5rem; border-radius: .35rem; background: var(--yellow); }
.quiz-review { display: grid; gap: .7rem; }
.quiz-review li { white-space: normal; }
.quiz-review h4 { margin: 0 0 .35rem; line-height: 1.35; }
.quiz-review p { margin: 0 0 .35rem; }
.quiz-review .quiz-correct { color: #345936; }
.quiz-error { color: #8a3126; }

.stats-period { margin: .25rem 0 0; }
.stats-ranges { gap: .6rem; }
.stats-ranges a { padding-inline: .5rem; }
.stats-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; font-size: .88rem; }
.stats-filter label { display: flex; align-items: center; gap: .35rem; }
.stats-filter input { width: auto; accent-color: var(--ochre); }
.stats-summary, .stats-panels { display: grid; gap: .85rem; margin: 0; }
.stats-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stats-panels { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.stats-summary dt { color: var(--muted); font-size: .85rem; }
.stats-summary dd { margin: .3rem 0 0; font-size: clamp(1.45rem, 3vw, 2.3rem); font-weight: 800; line-height: 1.12; }
.stats-card h2 { margin: 0 0 .55rem; font-size: 1.22rem; }
.stats-card p { margin: .4rem 0; }
.stats-chart { display: flex; gap: 2px; height: 8rem; padding: 0; margin: 1.1rem 0 .35rem; border-bottom: 1px solid var(--line); list-style: none; }
.stats-chart li { display: flex; align-items: end; min-width: 0; flex: 1; }
.stats-bar { width: 100%; height: var(--bar); border-radius: .2rem .2rem 0 0; background: #b77912; }
.stats-chart-axis { display: flex; justify-content: space-between; font-size: .75rem; color: var(--muted); }
.stats-sources { margin: 0; }
.stats-sources div { display: flex; justify-content: space-between; gap: .5rem; padding: .45rem 0; border-bottom: 1px solid var(--line); font-size: .85rem; }
.stats-sources div:last-child { border: 0; }
.stats-sources dd { margin: 0; font-weight: 750; }
.stats-ranking { width: 100%; border-collapse: collapse; text-align: left; font-size: .85rem; }
.stats-ranking th, .stats-ranking td { padding: .6rem .3rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.stats-ranking thead { color: var(--muted); font-size: .75rem; }
.stats-ranking :is(th, td):not(:first-child) { text-align: right; }
.stats-ranking small { display: block; margin-top: .18rem; font-weight: 400; }
.stats-ranking a:hover { text-decoration: underline; }
.stats-ranking th:first-child { overflow-wrap: anywhere; }
.stats-ranking tbody tr:last-child > * { border-bottom: 0; }

@media (max-width: 650px) {
    .stats-panels { grid-template-columns: 1fr; }
}

.ad-settings { max-width: 68rem; }
.ad-setting { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; scroll-margin-top: 1rem; }
.ad-setting h2 { margin: 0; font-size: 1rem; }
.ad-setting p { margin: .25rem 0 0; }
.ad-setting-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .85rem; }
.ad-setting-actions .text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: .88rem; }
.ad-setting-actions .button { min-height: 44px; }

/* Nawigacja publiczna */
.site-header { padding-bottom: .7rem; }
.brandbar { min-height: 74px; }
.brandbar .brand img { width: 142px; height: 68px; }
.public-nav { display: flex; align-items: center; gap: .25rem; padding-inline: .45rem; background: var(--ink); color: #fff; border-radius: .5rem; }
.public-nav > a, .public-tools summary {
    min-height: 44px; display: flex; align-items: center; padding: .1rem .75rem 0;
    border-bottom: 3px solid transparent; font-size: .85rem; font-weight: 700; white-space: nowrap;
}
.public-nav > a:hover, .public-tools summary:hover, .public-nav > a[aria-current] { color: var(--yellow); }
.public-nav > a[aria-current] { border-color: var(--yellow); }
.public-nav > a:focus-visible, .public-tools summary:focus-visible { outline-color: var(--yellow); outline-offset: -4px; }
.public-tools { position: relative; margin-left: auto; }
.public-tools summary { list-style: none; gap: .35rem; }
.public-tools summary::-webkit-details-marker { display: none; }
.public-tools summary::after { content: '▾'; font-size: .8em; }
.public-tools > div {
    position: absolute; z-index: 5; top: calc(100% + .25rem); right: 0; min-width: 10rem;
    padding: .3rem; border: 1px solid var(--line); border-radius: .5rem;
    background: var(--surface); color: var(--ink); box-shadow: 0 6px 18px rgb(25 27 31 / .12);
}
.public-tools a { display: block; padding: .75rem; border-radius: .3rem; font-size: .85rem; font-weight: 650; }
.public-tools a:hover { background: #f3eee2; }
.account-short { display: none; }

/* Strona główna oraz lista artykułów */
.home-page {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(245px, 27%);
    grid-template-areas: "feature rail" "feed rail" "more rail"; align-items: start;
    column-gap: clamp(1.15rem, 2.25vw, 2rem); row-gap: 1.6rem; margin-block: 1.45rem 3rem;
}
.home-feature { grid-area: feature; }
.home-feature:empty { display: none; }
.home-page:not(:has(.feature)) { grid-template-areas: "feed rail" "more rail"; }
.home-feed { grid-area: feed; }
.home-rail { grid-area: rail; display: grid; gap: .85rem; align-content: start; }
.home-more { grid-area: more; display: grid; gap: 1.6rem; }
.home-page :is(.home-feature, .home-feed, .home-rail, .home-more) { min-width: 0; }
.front-label {
    display: flex; align-items: center; gap: .55rem; margin: 0 0 .7rem;
    color: var(--ink); font-size: .8rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase;
}
.front-label::before { content: ''; inline-size: .55rem; block-size: .55rem; border-radius: 50%; background: var(--yellow); }
.hero {
    display: grid; position: relative; isolation: isolate; grid-template-columns: minmax(0, .98fr) minmax(0, 1fr);
    min-height: 300px; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface);
}
.hero-media { position: relative; overflow: hidden; border-radius: .75rem 0 0 .75rem; background: #eae3d4; }
.hero-photo { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.hero-copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(1.1rem, 2vw, 1.65rem); }
.hero h1 { margin: .36rem 0 .65rem; font-size: clamp(1.75rem, 3.05vw, 2.65rem); line-height: 1.07; overflow-wrap: anywhere; }
.hero-copy p { margin: 0 0 .9rem; font-size: .94rem; color: #454641; }
.hero-bottom { display: flex; gap: .5rem; justify-content: space-between; align-items: center; }
.hero-arrow, .next-story-arrow {
    display: grid; place-items: center; flex: 0 0 auto; width: 2.45rem; height: 2.45rem;
    border-radius: 50%; color: var(--ink); background: var(--yellow); font-size: 1.2rem; font-weight: 700;
}
.hero h1 a::after, .story :is(h2, h3) a::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.hero:has(h1 a:focus-visible), .story:has(:is(h2, h3) a:focus-visible) { outline: 2px solid var(--ochre); outline-offset: 3px; }
.hero h1 a:focus-visible, .story :is(h2, h3) a:focus-visible { outline: none; }
.hero:hover h1 a, .story:hover :is(h2, h3) a { color: var(--ochre); }
.story-labels { display: flex; align-items: baseline; flex-wrap: wrap; gap: .25rem .55rem; }
.story-labels a { position: relative; z-index: 2; }
.demo-label { display: inline-block; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.front-heading { margin: 0 0 .85rem; }
.front-heading h2 { font-size: clamp(1.42rem, 2.65vw, 2rem); }
.front-heading .text-link { display: inline-flex; align-items: center; min-height: 42px; font-size: .84rem; }
.story {
    display: grid; position: relative; grid-template-columns: minmax(0, 26%) minmax(0, 1fr);
    align-items: center; gap: 1rem; padding: .75rem 0; border-top: 1px solid var(--line);
}
.story:last-of-type { border-bottom: 1px solid var(--line); }
.story-photo { width: 100%; height: auto; aspect-ratio: 1.62; object-fit: cover; border-radius: .5rem; background: #eae3d4; }
.story h3, .story h2 { font-size: clamp(1.13rem, 1.85vw, 1.46rem); line-height: 1.15; margin: .22rem 0 .35rem; overflow-wrap: anywhere; }
.story p { margin: 0 0 .38rem; color: #454641; font-size: .9rem; }
.home-rail .rail-card { padding: 1rem; }
.home-rail h2, .article-rail h2 { font-size: 1.42rem; }
.home-picks { border-top: 3px solid var(--yellow); }
.home-activities { background: #fff8e6; border-color: #e5d5aa; }
.home-activities a {
    display: flex; align-items: center; justify-content: space-between; gap: .5rem;
    min-height: 44px; padding: .6rem 0; border-top: 1px solid #e5d5aa; font-size: .87rem; overflow-wrap: anywhere;
}
.home-activities a:last-child { padding-bottom: .15rem; }
.home-activities a strong { display: block; margin-top: .18rem; }
.home-waiting p { margin-bottom: .45rem; }
.home-waiting .rail-list small { display: block; margin-top: .25rem; font-weight: 500; }
.home-waiting > .text-link { display: inline-flex; align-items: center; min-height: 42px; font-size: .88rem; }
.home-rail .ad-sidebar { margin-top: .15rem; }
.rail-story-copy { display: grid; gap: .18rem; min-width: 0; }
.rail-story-copy small { font-weight: 400; font-size: .74rem; }
.rail-list:has(.rail-story-copy) img { width: 72px; height: 54px; }
.home-video-empty { margin: 0; padding: .85rem 1rem; border: 1px solid var(--line); border-radius: .5rem; font-size: .9rem; color: var(--muted); background: var(--surface); }
.topic-section { scroll-margin-top: 1rem; }
.topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.topic {
    min-width: 0; display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: .55rem; align-items: center;
    padding: .45rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--surface);
    font: 750 .94rem/1.2 var(--display); overflow-wrap: anywhere;
}
.topic:hover { background: #fff5dc; }
.topic img { width: 56px; height: 48px; object-fit: cover; border-radius: .3rem; }
.topic-arrow { margin-right: .2rem; color: var(--ochre); }
.home-archive { max-width: 900px; margin-block: 1.65rem 3rem; }
.search-summary { color: var(--muted); font-size: .95rem; }
.search-summary a { margin-left: .35rem; }

/* Czytanie artykułu */
.article-page { column-gap: clamp(1rem, 2.4vw, 2.25rem); grid-template-columns: minmax(0, 1fr) minmax(240px, 26%); }
.article-page .reading { padding: clamp(1rem, 2.7vw, 2.25rem); }
.article-inner { max-width: 44rem; margin-inline: auto; }
.article-page .breadcrumbs { margin-bottom: .7rem; }
.article-header h1 { margin: .2rem 0 .55rem; font-size: clamp(1.95rem, 4vw, 3.4rem); line-height: 1.06; text-wrap: balance; }
.article-lead { margin-bottom: 1rem; font-size: clamp(1.05rem, 1.7vw, 1.23rem); line-height: 1.55; color: #454641; }
.article-meta-tools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem 1rem; }
.article-meta-tools .byline { margin: 0; }
.reader-tools { display: flex; flex-wrap: wrap; gap: .45rem; }
.reader-tools .button { min-height: 44px; padding: .45rem .6rem; font-size: .81rem; }
.reader-tools .button span { color: var(--ochre); }
.article-cover-frame { margin: 1rem 0 0; width: 100%; aspect-ratio: 2.08; overflow: hidden; border-radius: .55rem; background: #eee9dd; }
.article-cover { width: 100%; height: 100%; object-fit: cover; }
.uploaded-cover .article-cover { object-fit: contain; }
.prose { margin: 1.2rem 0 0; font-size: clamp(1.05rem, 1.5vw, 1.13rem); line-height: 1.74; }
.prose > :where(p, div:not([class])) { line-height: inherit; margin-bottom: 1.05rem; }
.article-end { display: grid; gap: .7rem; border-top: 1px solid var(--line); padding-top: 1.05rem; margin-top: 1.45rem; }
.article-end h2 { margin: 0; font-size: clamp(1.35rem, 2.5vw, 1.7rem); }
.next-story {
    display: grid; align-items: center; grid-template-columns: minmax(64px, 18%) minmax(0, 1fr) auto;
    gap: .65rem; padding: .55rem; border: 1px solid #e4ce90; border-radius: .55rem; background: #fff7e1;
}
.next-story:hover { background: #fff0c5; }
.next-story img { width: 100%; height: auto; aspect-ratio: 1.48; object-fit: cover; border-radius: .3rem; }
.next-story strong { display: block; margin-top: .12rem; font: 800 clamp(1.08rem, 2vw, 1.42rem)/1.15 var(--display); }
.next-story-arrow { width: 2.15rem; height: 2.15rem; }
.article-discover { display: flex; flex-wrap: wrap; gap: 0 1rem; font-size: .86rem; }
.article-discover a { display: inline-flex; align-items: center; min-height: 44px; }
.article-topics { display: flex; flex-wrap: wrap; gap: .4rem; }
.article-topics h2 { flex-basis: 100%; }
.article-topics a {
    display: inline-flex; align-items: center; min-height: 38px; padding: .35rem .55rem;
    border: 1px solid var(--line); border-radius: .35rem; font-size: .8rem; font-weight: 650;
}
.article-rail { padding-left: 0; border-left: 0; }

@media (max-width: 950px) {
    .home-page { grid-template-columns: minmax(0, 1fr); grid-template-areas: "feature" "feed" "rail" "more"; }
    .home-page:not(:has(.feature)) { grid-template-areas: "feed" "rail" "more"; }
    .home-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-rail .ad-sidebar { display: none; }
    .article-page:not(.article-preview) { grid-template-columns: minmax(0, 1fr); }
    .article-rail { display: none; }
}
@media (max-width: 720px) {
    .site-header { padding-bottom: .52rem; }
    .brandbar { min-height: 0; margin-bottom: .48rem; }
    .brandbar .brand img { width: 106px; height: 56px; }
    .public-nav { gap: 0; padding-inline: .22rem; }
    .public-nav > a, .public-tools summary { font-size: .76rem; padding-inline: clamp(.36rem, 1.7vw, .66rem); }
    .home-page { margin-block: 1rem 2.4rem; row-gap: 1.15rem; }
    .hero { grid-template-columns: minmax(0, 1fr); min-height: auto; }
    .hero-media { aspect-ratio: 2.16; border-radius: .75rem .75rem 0 0; }
    .hero-photo { object-position: center 29%; }
    .hero-copy { padding: .85rem .95rem .8rem; }
    .hero h1 { font-size: clamp(1.48rem, 6.15vw, 2.1rem); margin-bottom: .42rem; }
    .hero-copy p { margin-bottom: .5rem; font-size: .88rem; }
    .hero-arrow { width: 2.05rem; height: 2.05rem; }
    .story { grid-template-columns: minmax(80px, 27%) minmax(0, 1fr); gap: .65rem; align-items: start; }
    .story-photo { aspect-ratio: 1.25; }
    .story p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: .83rem; }
    .topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .topic { grid-template-columns: 40px minmax(0, 1fr) auto; font-size: .86rem; }
    .topic img { width: 40px; height: 42px; }
    .article-page .reading { padding: .92rem; }
    .article-header h1 { text-wrap: wrap; }
    .article-cover-frame { aspect-ratio: 1.92; }
}
@media (max-width: 500px) {
    .home-rail { grid-template-columns: minmax(0, 1fr); }
    .home-rail .rail-card { padding: .85rem; }
    .article-meta-tools { display: grid; }
    .reader-tools { gap: .35rem; }
    .article-page .prose { line-height: 1.68; font-size: 1.06rem; }
}
@media (max-width: 360px) {
    .public-nav > a, .public-tools summary { padding-inline: .26rem; font-size: .71rem; }
    .brandbar .brand img { width: 92px; height: 50px; }
    .account-short { display: inline; }
    .account-full, .home-feed .front-heading .text-link { display: none; }
}
