/* ==========================================================================
   DWR Africa — editorial design system
   Loaded after Bootstrap, Varient's style-3.1 and the legacy dwr.css.

   Typography: two families, both served locally by Varient (Admin › Font Settings):
     · Sans  — "primary" font (Inter): navigation, body, labels, metadata, buttons, section headings
     · Serif — "secondary" font (Noto Serif): article headlines only (hero, article title, listing titles)
   No decorative italics: italic is reserved for quotations and foreign-language phrases inside articles.
   One scale (below); labels are sentence case except the small section eyebrow.

   1 Tokens  2 Base  3 Components  4 Header  5 Hero  6 Sections  7 Issue  8 Lists & cards
   9 People  10 Article  11 Pages  12 Footer  13 Utilities  14 Motion  15 Responsive
   ========================================================================== */

/* Inter 500 (Varient registers 400/600/700 from Font Settings; the medium weight ships in assets/fonts/inter) */
@font-face { font-family: "Inter"; src: url("../../../fonts/inter/inter-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }

/* 1. Tokens ------------------------------------------------------------------ */
:root {
    --dwr-forest: #1d3328;
    --dwr-forest-2: #27443a;
    --dwr-green: #3f5a4d;          /* brand green, darkened for text (7:1 on ivory) */
    --dwr-sage: #6a8476;          /* icons and arrows: 3.6:1 on ivory */
    --dwr-sage-soft: #d3ded6;
    --dwr-mist: #eaefea;
    --dwr-ivory: #fbf9f4;
    --dwr-paper: #f4f0e6;
    --dwr-gold: #a8844a;           /* antique gold: rules, borders, focus — not text */
    --dwr-gold-soft: #dcc9a0;
    --dwr-gold-text: #7a5c28;      /* gold for small text (5.8:1) */
    --dwr-ink: #161a17;
    --dwr-ink-2: #3a403b;
    --dwr-muted: #5d655e;
    --dwr-rule: #e4dfd3;
    --dwr-rule-strong: #cfc8b8;
    --dwr-card: #ffffff;
    --dwr-on-dark: #f4f1e8;
    --dwr-on-dark-muted: #b9c6bd;

    /* Fonts come from Admin › Font Settings (Varient's --vr-font-*), with safe fallbacks */
    /* Fixed, explicit stacks: Inter and Noto Serif are bundled with the theme; if they are slow or blocked on a phone the
       fallbacks are plain sans and serif faces, never the device's system-ui font */
    --dwr-f-sans: "Inter", Roboto, "Helvetica Neue", Arial, sans-serif;
    --dwr-f-serif: "Noto Serif", Georgia, "Times New Roman", serif;
    --dwr-f-display: var(--dwr-f-serif);   /* legacy alias */
    --dwr-f-text: var(--dwr-f-sans);       /* legacy alias: body text is sans */
    --dwr-font-display: var(--dwr-f-serif);/* legacy dwr.css variables, so Varient's shared views match */
    --dwr-font-ui: var(--dwr-f-sans);
    --dwr-font-text: var(--dwr-f-sans);

    /* Type scale */
    --fs-display: clamp(2.125rem, 1.55rem + 2.3vw, 3.375rem);  /* 34 → 54 */
    --fs-h1: clamp(2rem, 1.6rem + 1.6vw, 2.875rem);            /* 32 → 46 */
    --fs-h2: clamp(1.625rem, 1.35rem + 1vw, 2.125rem);         /* 26 → 34 */
    --fs-h3: 1.3125rem;                                        /* 21 */
    --fs-h4: 1.125rem;                                         /* 18 */
    --fs-lead: clamp(1.125rem, 1.05rem + .3vw, 1.25rem);       /* 18 → 20 */
    --fs-prose: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);     /* 17 → 19 */
    --fs-body: 1rem;                                           /* 16 */
    --fs-small: .9375rem;                                      /* 15 */
    --fs-meta: .875rem;                                        /* 14 */
    --fs-label: .8125rem;                                      /* 13 */

    --dwr-wrap: 1200px;
    --dwr-gutter: clamp(16px, 4vw, 40px);
    --dwr-space: clamp(56px, 7vw, 104px);
    --dwr-radius: 6px;

    --dwr-ease: cubic-bezier(.22, .61, .36, 1);
    --dwr-ease-out: cubic-bezier(.16, 1, .3, 1);
    --dwr-t-fast: .2s;
    --dwr-t: .45s;
    --dwr-shadow: 0 1px 2px rgba(22, 26, 23, .05), 0 6px 20px -12px rgba(22, 26, 23, .18);
    --dwr-shadow-lift: 0 2px 6px rgba(22, 26, 23, .06), 0 18px 40px -20px rgba(22, 26, 23, .3);
}

[data-bs-theme="dark"] {
    --dwr-ivory: #121815;
    --dwr-paper: #18201c;
    --dwr-card: #1b2420;
    --dwr-ink: #ece8de;
    --dwr-ink-2: #cdd3cc;
    --dwr-muted: #a3aea6;
    --dwr-green: #9fbbab;
    --dwr-rule: #2c3832;
    --dwr-rule-strong: #3b4a42;
    --dwr-mist: #1f2a25;
    --dwr-sage-soft: #34463d;
    --dwr-gold: #c9a86c;
    --dwr-gold-text: #d8bd84;
}

/* 2. Base -------------------------------------------------------------------- */
html[data-theme] body.dwr-site {
    background: var(--dwr-ivory);
    color: var(--dwr-ink);
    font: 400 var(--fs-body)/1.6 var(--dwr-f-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "kern", "liga", "calt";
    overflow-x: clip;
}
.dwr-site *, .dwr-site *::before, .dwr-site *::after { box-sizing: border-box; }
.dwr-site img { max-width: 100%; height: auto; display: block; }
.dwr-site a { color: inherit; text-decoration: none; }
.dwr-site :focus-visible { outline: 2px solid var(--dwr-gold); outline-offset: 3px; border-radius: 2px; }
/* Headings: sans, firm, tight — individual components switch to the serif where it is an article headline */
html[data-theme] .dwr-site :is(h1, h2, h3, h4, h5, h6) { font-family: var(--dwr-f-sans); font-weight: 700; letter-spacing: -.015em; color: var(--dwr-ink); font-style: normal; }
.dwr-site em, .dwr-site i, .dwr-site cite { font-style: italic; }   /* genuine emphasis only, inside content */

.dwr-wrap { width: 100%; max-width: var(--dwr-wrap); margin-inline: auto; padding-inline: var(--dwr-gutter); }
.dwr-section { padding-block: var(--dwr-space); }
.dwr-section + .dwr-section { padding-top: 0; }
.dwr-section--paper { background: var(--dwr-paper); }
.dwr-section--paper + .dwr-section, .dwr-section + .dwr-section--paper { padding-top: var(--dwr-space); }
.dwr-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dwr-skip { position: absolute; left: 16px; top: -60px; z-index: 1100; background: var(--dwr-forest); color: #fff !important; padding: 10px 16px; border-radius: var(--dwr-radius); font-weight: 600; transition: top var(--dwr-t-fast); }
.dwr-skip:focus { top: 12px; }

/* 3. Components ---------------------------------------------------------------- */
/* Section eyebrow: the only uppercase label */
.dwr-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; font: 600 .75rem/1.2 var(--dwr-f-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--dwr-green); }
.dwr-kicker::before { content: ""; width: 14px; height: 2px; border-radius: 2px; background: var(--dwr-gold); }
.dwr-kicker--plain::before { display: none; }

.dwr-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; font: 400 var(--fs-meta)/1.5 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-meta > * + *::before { content: "·"; margin: 0 .55em; color: var(--dwr-rule-strong); }
.dwr-meta strong { color: var(--dwr-ink-2); font-weight: 600; }
.dwr-site .dwr-meta a { color: var(--dwr-forest); }
.dwr-site .dwr-meta a:hover { text-decoration: underline; text-underline-offset: 3px; }

.dwr-btn {
    --b: var(--dwr-forest);
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px;
    padding: 0 20px; border: 1px solid var(--b); border-radius: var(--dwr-radius);
    font: 600 var(--fs-small)/1 var(--dwr-f-sans); letter-spacing: 0; text-transform: none;
    color: #fff !important; background: var(--b); box-shadow: none; text-decoration: none;
    transition: background var(--dwr-t-fast), border-color var(--dwr-t-fast), color var(--dwr-t-fast);
}
.dwr-btn:hover { --b: var(--dwr-forest-2); }
.dwr-btn svg { transition: transform var(--dwr-t-fast) var(--dwr-ease); }
.dwr-btn:hover svg { transform: translateX(3px); }
.dwr-btn--ghost { background: transparent; color: var(--dwr-forest) !important; border-color: var(--dwr-rule-strong); }
.dwr-btn--ghost:hover { background: var(--dwr-card); border-color: var(--dwr-forest); }
.dwr-btn--light { --b: var(--dwr-on-dark); color: var(--dwr-forest) !important; }
.dwr-btn--outline-light { background: transparent; border-color: rgba(244, 241, 232, .45); color: var(--dwr-on-dark) !important; }

/* Text link with arrow */
.dwr-link { display: inline-flex; align-items: center; gap: 6px; font: 600 var(--fs-small)/1.3 var(--dwr-f-sans); color: var(--dwr-forest); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; text-decoration-thickness: 1px; transition: text-decoration-color var(--dwr-t-fast), color var(--dwr-t-fast); }
.dwr-link:hover { text-decoration-color: currentColor; }
.dwr-link svg { transition: transform var(--dwr-t-fast) var(--dwr-ease); }
.dwr-link:hover svg { transform: translateX(3px); }
[data-bs-theme="dark"] .dwr-link { color: var(--dwr-gold-soft); }

/* Headline hover underline */
.dwr-hl { background: linear-gradient(currentColor, currentColor) left 96% / 0 1px no-repeat; transition: background-size .4s var(--dwr-ease-out), color var(--dwr-t-fast); }
a:hover .dwr-hl, a:focus-visible .dwr-hl { background-size: 100% 1px; }

.dwr-chip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border: 1px solid var(--dwr-rule-strong); border-radius: 999px; font: 500 var(--fs-label)/1 var(--dwr-f-sans); letter-spacing: 0; color: var(--dwr-ink-2) !important; background: var(--dwr-card); transition: border-color var(--dwr-t-fast), background var(--dwr-t-fast), color var(--dwr-t-fast); }
a.dwr-chip:hover, button.dwr-chip:hover { border-color: var(--dwr-forest); color: var(--dwr-forest) !important; }
.dwr-chip[aria-current], .dwr-chip[aria-pressed="true"] { background: var(--dwr-forest); border-color: var(--dwr-forest); color: #fff !important; }
.dwr-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 12px 0 0; padding: 0; }

.dwr-avatar { position: relative; flex: none; width: 48px; height: 48px; border-radius: 50%; overflow: hidden; background: var(--dwr-mist); }
.dwr-avatar img { width: 100%; height: 100%; object-fit: cover; }

.dwr-portrait { position: relative; overflow: hidden; display: grid; place-items: center; background: linear-gradient(160deg, var(--dwr-mist), var(--dwr-sage-soft)); border-radius: 4px; }
.dwr-portrait img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--dwr-ease-out); }
.dwr-portrait:hover img { transform: scale(1.03); }
.dwr-portrait .dwr-initials { font: 600 clamp(3rem, 6vw, 5.5rem)/1 var(--dwr-f-sans); letter-spacing: -.02em; color: var(--dwr-green); opacity: .85; }
.dwr-portrait-note { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 14px; background: rgba(29, 51, 40, .85); color: var(--dwr-on-dark); font: 500 var(--fs-label)/1.4 var(--dwr-f-sans); }

/* 4. Header -------------------------------------------------------------------- */
.dwr-announce { background: var(--dwr-forest); color: var(--dwr-on-dark); font: 400 var(--fs-meta)/1.45 var(--dwr-f-sans); }
.dwr-announce .dwr-wrap { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 42px; padding-block: 8px; text-align: center; }
.dwr-announce-tag { flex: none; padding: 3px 8px; border-radius: 4px; background: rgba(220, 201, 160, .16); color: var(--dwr-gold-soft); font: 600 .75rem/1.3 var(--dwr-f-sans); }
.dwr-announce a { color: #fff; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(220, 201, 160, .6); text-underline-offset: 3px; }
.dwr-announce a:hover { text-decoration-color: #fff; }

.dwr-mast { background: var(--dwr-ivory); }
.dwr-mast-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; border-bottom: 1px solid var(--dwr-rule); font: 400 var(--fs-label)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-langs { display: flex; align-items: center; gap: 12px; }
.dwr-langs-label { font-size: var(--fs-label); color: var(--dwr-muted); }
.dwr-mast-account { padding-left: 14px; border-left: 1px solid var(--dwr-rule); font: 600 var(--fs-label)/1 var(--dwr-f-sans); color: var(--dwr-forest) !important; }
.dwr-mast-account:hover { text-decoration: underline; text-underline-offset: 3px; }

.dwr-mast-main { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding-block: clamp(20px, 2.6vw, 32px); }
.dwr-mast-brand, .dwr-mast-brand:hover { grid-column: 2; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; color: inherit; }
.dwr-mast-emblem { width: clamp(56px, 6vw, 72px); height: auto; }
html[data-theme] .dwr-site .dwr-mast-name { display: block; margin: 4px 0 0; font: 600 clamp(1.625rem, 1.1rem + 2vw, 2.5rem)/1.1 var(--dwr-f-serif); letter-spacing: -.01em; color: var(--dwr-forest); }
[data-bs-theme="dark"] .dwr-site .dwr-mast-name { color: var(--dwr-ink); }
.dwr-mast-sub { display: block; font: 500 var(--fs-meta)/1.3 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-mast-theme { display: block; margin-top: 2px; font: 400 var(--fs-small)/1.4 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-mast-theme span { margin-right: 6px; font-weight: 600; color: var(--dwr-gold-text); }
.dwr-mast-theme span::after { content: ":"; }
.dwr-mast-side { display: flex; flex-direction: column; gap: 4px; font: 400 var(--fs-meta)/1.45 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-mast-side strong { font: 600 var(--fs-label)/1.3 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-mast-side--end { align-items: flex-end; text-align: right; }

.dwr-search-btn {
    display: inline-flex; align-items: center; gap: 10px; min-width: 220px; min-height: 44px; padding: 0 12px 0 14px;
    background: var(--dwr-card); border: 1px solid var(--dwr-rule-strong); border-radius: var(--dwr-radius);
    font: 400 var(--fs-small)/1 var(--dwr-f-sans); color: var(--dwr-muted); cursor: pointer;
    transition: border-color var(--dwr-t-fast), box-shadow var(--dwr-t-fast);
}
.dwr-search-btn:hover { border-color: var(--dwr-forest); box-shadow: var(--dwr-shadow); }
.dwr-search-btn kbd { margin-left: auto; padding: 2px 7px; border: 1px solid var(--dwr-rule-strong); border-radius: 4px; background: var(--dwr-paper); font: 500 .75rem/1.3 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-search-btn svg { color: var(--dwr-forest); flex: none; }

.dwr-nav { position: sticky; top: 0; z-index: 1000; background: color-mix(in srgb, var(--dwr-ivory) 94%, transparent); backdrop-filter: saturate(1.3) blur(10px); -webkit-backdrop-filter: saturate(1.3) blur(10px); border-block: 1px solid var(--dwr-rule); transition: box-shadow var(--dwr-t) var(--dwr-ease); }
.dwr-nav.is-stuck { box-shadow: 0 8px 24px -20px rgba(22, 26, 23, .5); }
.dwr-nav .dwr-wrap { display: flex; align-items: center; gap: 16px; min-height: 58px; }
.dwr-nav-mini { display: flex; align-items: center; gap: 8px; opacity: 0; width: 0; overflow: hidden; transition: opacity var(--dwr-t) var(--dwr-ease), width var(--dwr-t) var(--dwr-ease); }
.dwr-nav.is-stuck .dwr-nav-mini { opacity: 1; width: 140px; }
.dwr-nav-mini img { width: 28px; height: auto; }
.dwr-nav-mini span { font: 700 var(--fs-small)/1 var(--dwr-f-sans); color: var(--dwr-forest); white-space: nowrap; }
.dwr-menu { display: flex; justify-content: center; flex: 1; gap: clamp(2px, 1vw, 12px); list-style: none; margin: 0; padding: 0; }
.dwr-menu > li { position: relative; }
.dwr-menu > li > a, .dwr-menu > li > button {
    position: relative; display: inline-flex; align-items: center; gap: 4px; height: 58px; padding: 0 10px;
    font: 500 var(--fs-small)/1 var(--dwr-f-sans); letter-spacing: 0; text-transform: none; color: var(--dwr-ink-2);
    background: none; border: 0; cursor: pointer; transition: color var(--dwr-t-fast);
}
.dwr-menu > li > a::after, .dwr-menu > li > button::after {
    content: ""; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 2px; border-radius: 2px; background: var(--dwr-forest);
    transform: scaleX(0); transition: transform .3s var(--dwr-ease-out);
}
.dwr-menu > li:hover > a, .dwr-menu > li:hover > button, .dwr-menu > li > [aria-current="page"] { color: var(--dwr-ink); }
.dwr-menu > li > [aria-current="page"] { font-weight: 600; }
.dwr-menu > li:hover > a::after, .dwr-menu > li:hover > button::after, .dwr-menu > li > [aria-current="page"]::after, .dwr-menu > li > :focus-visible::after { transform: scaleX(1); }
.dwr-menu > li > [aria-current="page"]::after { background: var(--dwr-gold); }
.dwr-menu svg.dwr-caret { transition: transform var(--dwr-t-fast) var(--dwr-ease); }
.dwr-menu > li:hover svg.dwr-caret, .dwr-menu > li.is-open svg.dwr-caret { transform: rotate(180deg); }

.dwr-dropdown {
    position: absolute; top: calc(100% + 1px); left: 0; min-width: 280px; padding: 8px; margin: 0; list-style: none;
    background: var(--dwr-card); border: 1px solid var(--dwr-rule); border-radius: 8px; box-shadow: var(--dwr-shadow-lift);
    opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s var(--dwr-ease), transform .25s var(--dwr-ease-out), visibility 0s .25s;
    display: grid; gap: 2px;
}
.dwr-menu > li:hover .dwr-dropdown, .dwr-menu > li:focus-within .dwr-dropdown, .dwr-menu > li.is-open .dwr-dropdown { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.dwr-dropdown a { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 10px 12px; border-radius: 6px; font: 500 var(--fs-small)/1.3 var(--dwr-f-sans); color: var(--dwr-ink); transition: background var(--dwr-t-fast); }
.dwr-dropdown a:hover { background: var(--dwr-mist); }
.dwr-dropdown a small { font: 400 var(--fs-label)/1.3 var(--dwr-f-sans); color: var(--dwr-muted); white-space: nowrap; }

.dwr-nav-tools { display: flex; align-items: center; gap: 6px; }
.dwr-icon-btn { display: inline-grid; place-items: center; width: 44px; height: 44px; background: none; border: 1px solid transparent; border-radius: 50%; color: var(--dwr-forest); cursor: pointer; transition: border-color var(--dwr-t-fast), background var(--dwr-t-fast); }
.dwr-icon-btn:hover { border-color: var(--dwr-rule-strong); background: var(--dwr-card); }
[data-bs-theme="dark"] .dwr-icon-btn { color: var(--dwr-ink); }

/* Language selector: a clear segmented control */
.dwr-langnav ul { display: inline-flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 3px; border: 1px solid var(--dwr-rule-strong); border-radius: 999px; background: var(--dwr-card); }
.dwr-langnav a, .dwr-langnav span { display: inline-grid; place-items: center; min-width: 38px; min-height: 30px; padding: 0 8px; border-radius: 999px; font: 600 .75rem/1 var(--dwr-f-sans); letter-spacing: .02em; color: var(--dwr-ink-2); transition: background var(--dwr-t-fast), color var(--dwr-t-fast); }
.dwr-langnav a:hover { background: var(--dwr-mist); color: var(--dwr-forest); }
.dwr-langnav [aria-current] { background: var(--dwr-forest); color: #fff; }
.dwr-langnav--compact { display: none; }
.dwr-nav.is-stuck .dwr-langnav--compact { display: block; }

/* Mobile bar + drawer */
.dwr-mbar { display: none; }
.dwr-drawer { position: fixed; inset: 0; z-index: 1200; visibility: hidden; }
.dwr-drawer-scrim { position: absolute; inset: 0; background: rgba(17, 28, 22, .45); opacity: 0; transition: opacity .3s var(--dwr-ease); }
.dwr-drawer-panel { position: absolute; inset: 0 0 0 auto; width: min(400px, 90vw); background: var(--dwr-ivory); display: flex; flex-direction: column; transform: translateX(100%); transition: transform .4s var(--dwr-ease-out); overflow-y: auto; overscroll-behavior: contain; }
.dwr-drawer.is-open { visibility: visible; }
.dwr-drawer.is-open .dwr-drawer-scrim { opacity: 1; }
.dwr-drawer.is-open .dwr-drawer-panel { transform: none; }
.dwr-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px 12px 20px; border-bottom: 1px solid var(--dwr-rule); }
.dwr-drawer-nav { list-style: none; margin: 0; padding: 8px 20px; }
.dwr-drawer-nav > li { border-bottom: 1px solid var(--dwr-rule); }
.dwr-drawer-nav a { display: flex; justify-content: space-between; align-items: center; min-height: 54px; font: 600 1.0625rem/1.25 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-drawer-nav a[aria-current="page"] { color: var(--dwr-forest); }
.dwr-drawer-nav a small { font: 400 var(--fs-label)/1 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-drawer-foot { margin-top: auto; padding: 20px; background: var(--dwr-paper); font: 400 var(--fs-meta)/1.6 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-drawer-foot a { color: var(--dwr-forest); font-weight: 600; }
.dwr-drawer-foot .dwr-langnav { margin-bottom: 14px; }

/* 5. Hero ---------------------------------------------------------------------- */
.dwr-hero { padding-block: clamp(28px, 4vw, 56px) var(--dwr-space); }
.dwr-hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.dwr-hero-left { min-width: 0; }
.dwr-hero-media { margin: 0; }
.dwr-hero-frame { display: block; position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 4px; background: var(--dwr-mist); }
.dwr-hero-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transform: scale(1.05); transition: transform 1.1s var(--dwr-ease-out); }
.dwr-hero-badge { position: absolute; left: 14px; bottom: 14px; display: flex; gap: 10px; align-items: center; padding: 8px 12px; border-radius: 4px; background: rgba(29, 51, 40, .9); color: var(--dwr-on-dark); font: 500 var(--fs-label)/1.2 var(--dwr-f-sans); }
.dwr-hero-badge b { font: 700 var(--fs-small)/1 var(--dwr-f-sans); color: var(--dwr-gold-soft); }
.dwr-hero-cap { margin-top: 10px; font: 400 var(--fs-label)/1.5 var(--dwr-f-sans); color: var(--dwr-muted); }

.dwr-hero-body { padding-top: 4px; }
html[data-theme] .dwr-site .dwr-hero-title { margin: 14px 0 0; font: 600 var(--fs-display)/1.1 var(--dwr-f-serif); letter-spacing: -.015em; color: var(--dwr-ink); text-wrap: balance; }
.dwr-hero-title a:hover { color: var(--dwr-forest); }
.dwr-hero-title .dwr-line { display: block; overflow: hidden; padding-bottom: .08em; }
.dwr-hero-title .dwr-line > span { display: inline-block; transform: translateY(102%); transition: transform .9s var(--dwr-ease-out); }
.dwr-hero-sub { margin: 12px 0 0; font: 500 clamp(1.125rem, 1rem + .5vw, 1.375rem)/1.35 var(--dwr-f-sans); color: var(--dwr-green); }
.dwr-hero-excerpt { margin: 16px 0 0; max-width: 54ch; font: 400 1.125rem/1.6 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-byline { display: flex; align-items: center; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--dwr-rule); }
.dwr-byline a.dwr-avatar { display: block; }
.dwr-byline-name { font: 600 var(--fs-small)/1.3 var(--dwr-f-sans); color: var(--dwr-ink) !important; }
.dwr-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 26px; }
.dwr-hero-langs { display: inline-flex; flex-wrap: wrap; gap: 16px; }

.dwr-hero-side { margin-top: 24px; border-top: 1px solid var(--dwr-rule-strong); }
.dwr-mini { display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--dwr-rule); }
.dwr-mini-num { font: 700 var(--fs-small)/1.6 var(--dwr-f-sans); color: var(--dwr-gold-text); min-width: 22px; }
html[data-theme] .dwr-site .dwr-mini :is(h2, h3) { margin: 6px 0 4px; font: 600 var(--fs-h4)/1.35 var(--dwr-f-serif); letter-spacing: -.005em; }
.dwr-mini p { margin: 0; font: 400 var(--fs-meta)/1.55 var(--dwr-f-sans); color: var(--dwr-muted); }

.dwr-ready .dwr-hero-frame img { transform: scale(1); }
.dwr-ready .dwr-hero-title .dwr-line > span { transform: none; }

/* 6. Section heads, versions, topics, feature, about, CTA ------------------------- */
.dwr-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(24px, 3vw, 40px); }
html[data-theme] .dwr-site .dwr-head h2 { margin: 10px 0 0; font: 700 var(--fs-h2)/1.15 var(--dwr-f-sans); letter-spacing: -.02em; }
.dwr-head p { margin: 10px 0 0; max-width: 60ch; font: 400 var(--fs-body)/1.6 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-rule { height: 1px; background: var(--dwr-rule); margin-bottom: clamp(24px, 3vw, 36px); }

/* One article, three languages */
.dwr-versions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.dwr-version { display: flex; flex-direction: column; padding: 24px; background: var(--dwr-card); border: 1px solid var(--dwr-rule); border-radius: 8px; transition: border-color var(--dwr-t-fast), box-shadow var(--dwr-t); }
.dwr-version:hover { border-color: var(--dwr-rule-strong); box-shadow: var(--dwr-shadow); }
.dwr-version-lang { display: flex; align-items: center; gap: 8px; font: 600 var(--fs-label)/1 var(--dwr-f-sans); color: var(--dwr-green); }
.dwr-version-lang b { order: -1; display: inline-grid; place-items: center; min-width: 30px; height: 22px; padding: 0 6px; border-radius: 4px; background: var(--dwr-mist); font: 700 .6875rem/1 var(--dwr-f-sans); letter-spacing: .04em; color: var(--dwr-forest); }
html[data-theme] .dwr-site .dwr-version h3 { margin: 14px 0 8px; font: 600 var(--fs-h4)/1.35 var(--dwr-f-serif); letter-spacing: -.005em; }
.dwr-version p { flex: 1; margin: 0 0 16px; font: 400 var(--fs-small)/1.6 var(--dwr-f-sans); color: var(--dwr-ink-2); }

/* Topics */
.dwr-topics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; }
.dwr-topic { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; min-height: 140px; padding: 22px; background: var(--dwr-card); border: 1px solid var(--dwr-rule); border-radius: 8px; transition: border-color var(--dwr-t-fast), box-shadow var(--dwr-t), transform var(--dwr-t) var(--dwr-ease-out); }
.dwr-topic:hover, .dwr-topic:focus-visible { border-color: var(--dwr-forest); box-shadow: var(--dwr-shadow); transform: translateY(-2px); }
.dwr-topic-num { font: 500 var(--fs-label)/1.3 var(--dwr-f-sans); color: var(--dwr-muted); }
html[data-theme] .dwr-site .dwr-topic h3 { margin: 0; font: 700 1.25rem/1.25 var(--dwr-f-sans); letter-spacing: -.015em; padding-right: 28px; }
.dwr-topic-arrow { position: absolute; top: 20px; right: 20px; color: var(--dwr-sage); transition: transform .3s var(--dwr-ease-out), color var(--dwr-t-fast); }
.dwr-topic:hover .dwr-topic-arrow { transform: translate(3px, -3px); color: var(--dwr-forest); }

/* Church document feature */
.dwr-feature { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
html[data-theme] .dwr-site .dwr-feature-q { margin: 12px 0 0; font: 600 var(--fs-h2)/1.2 var(--dwr-f-serif); letter-spacing: -.01em; text-wrap: balance; }
.dwr-feature-q a { color: inherit; } .dwr-feature-q a:hover { color: var(--dwr-forest); }
.dwr-feature-src { margin: 14px 0 0; font: 400 var(--fs-small)/1.6 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-degrees { list-style: none; margin: 0; padding: 0; counter-reset: deg; display: grid; gap: 12px; }
.dwr-degrees li { counter-increment: deg; display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 20px 22px; background: var(--dwr-card); border: 1px solid var(--dwr-rule); border-radius: 8px; }
.dwr-degrees li::before { content: counter(deg); display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--dwr-mist); font: 700 var(--fs-small)/1 var(--dwr-f-sans); color: var(--dwr-forest); }
html[data-theme] .dwr-site .dwr-degrees h3 { margin: 6px 0 6px; font: 700 var(--fs-body)/1.35 var(--dwr-f-sans); letter-spacing: -.005em; }
.dwr-degrees p { margin: 0; font: 400 var(--fs-small)/1.65 var(--dwr-f-sans); color: var(--dwr-ink-2); }

/* About */
.dwr-about { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(28px, 6vw, 88px); align-items: center; }
.dwr-about-mark { display: grid; place-items: center; aspect-ratio: 1; max-width: 300px; width: 100%; margin-inline: auto; border-radius: 50%; background: var(--dwr-card); border: 1px solid var(--dwr-rule); }
.dwr-about-mark img { width: 62%; }
.dwr-about-lead { margin: 14px 0 0; max-width: 62ch; font: 400 clamp(1.125rem, 1rem + .6vw, 1.4375rem)/1.6 var(--dwr-f-sans); color: var(--dwr-ink); }

/* Contribute + reader updates */
.dwr-cta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(16px, 2vw, 24px); }
.dwr-cta > div { padding: clamp(24px, 3.5vw, 44px); background: var(--dwr-card); border: 1px solid var(--dwr-rule); border-radius: 8px; }
.dwr-cta--single { grid-template-columns: 1fr; }
html[data-theme] .dwr-site .dwr-cta h2 { margin: 10px 0 0; font: 700 1.5rem/1.25 var(--dwr-f-sans); letter-spacing: -.015em; }
.dwr-cta p { margin: 10px 0 0; font: 400 var(--fs-body)/1.65 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-form { display: flex; gap: 8px; margin-top: 20px; }
.dwr-form input { flex: 1; min-width: 0; min-height: 46px; padding: 0 14px; border: 1px solid var(--dwr-rule-strong); border-radius: var(--dwr-radius); background: var(--dwr-ivory); font: 400 var(--fs-body)/1 var(--dwr-f-sans); color: var(--dwr-ink); transition: border-color var(--dwr-t-fast), box-shadow var(--dwr-t-fast); }
.dwr-form input:focus { outline: none; border-color: var(--dwr-forest); box-shadow: 0 0 0 3px color-mix(in srgb, var(--dwr-forest) 18%, transparent); }
.dwr-form-note { margin-top: 10px !important; font: 400 var(--fs-label)/1.5 var(--dwr-f-sans) !important; color: var(--dwr-muted) !important; }
.dwr-mail { display: inline-block; margin-top: 16px; font: 600 clamp(1.0625rem, 1rem + .4vw, 1.25rem)/1.35 var(--dwr-f-sans); color: var(--dwr-forest); text-decoration: underline; text-decoration-color: var(--dwr-gold); text-underline-offset: 4px; word-break: break-word; }
.dwr-mail:hover { text-decoration-color: currentColor; }
[data-bs-theme="dark"] .dwr-mail { color: var(--dwr-gold-soft); }
.dwr-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* Empty states */
.dwr-empty { padding-block: 40px; max-width: 760px; }
.dwr-empty-state { padding: 48px 0; text-align: center; color: var(--dwr-muted); font: 400 var(--fs-body)/1.6 var(--dwr-f-sans); }
.dwr-empty-state b { display: block; margin-bottom: 6px; font: 700 1.25rem/1.3 var(--dwr-f-sans); color: var(--dwr-ink); }

/* 7. Issue spotlight / issue page — light, organised ------------------------------ */
.dwr-issue { background: var(--dwr-paper); color: var(--dwr-ink); border-block: 1px solid var(--dwr-rule); }
.dwr-section + .dwr-issue { padding-top: var(--dwr-space); }
.dwr-issue + .dwr-section { padding-top: var(--dwr-space); }
.dwr-issue-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.dwr-issue .dwr-kicker { color: var(--dwr-green); }
html[data-theme] .dwr-site .dwr-issue :is(h1, h2) { margin: 10px 0 0; font: 700 var(--fs-h1)/1.1 var(--dwr-f-sans); letter-spacing: -.025em; color: var(--dwr-ink); }
.dwr-issue-theme { margin: 8px 0 0; font: 500 var(--fs-lead)/1.45 var(--dwr-f-sans); color: var(--dwr-ink-2); }
/* Compact metadata: Year 2026 · 2 pieces · EN FR PT */
.dwr-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; }
.dwr-facts div { display: inline-flex; align-items: baseline; gap: 6px; padding: 7px 12px; border: 1px solid var(--dwr-rule-strong); border-radius: 999px; background: var(--dwr-card); }
.dwr-facts dt { font: 500 var(--fs-label)/1 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-facts dd { margin: 0; font: 600 var(--fs-label)/1 var(--dwr-f-sans); color: var(--dwr-ink); }
/* Contents: numbered, scannable */
.dwr-site .dwr-toc { display: block; list-style: none; margin: 26px 0 0; padding: 0; counter-reset: toc; border-top: 1px solid var(--dwr-rule-strong); columns: auto; grid-template-columns: none; }
.dwr-site .dwr-toc li { display: block; margin: 0; padding: 0; background: none; }
.dwr-toc li { counter-increment: toc; border-bottom: 1px solid var(--dwr-rule); }
.dwr-toc a { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: start; gap: 14px; padding: 16px 4px 16px 0; border-radius: 6px; transition: background var(--dwr-t-fast); }
.dwr-toc a::before { content: counter(toc, decimal-leading-zero); padding-top: 3px; font: 600 var(--fs-label)/1.3 var(--dwr-f-sans); color: var(--dwr-gold-text); font-variant-numeric: tabular-nums; }
.dwr-toc a:hover { background: color-mix(in srgb, var(--dwr-card) 70%, transparent); }
.dwr-toc-title { font: 600 var(--fs-h4)/1.35 var(--dwr-f-serif); color: var(--dwr-ink); letter-spacing: -.005em; }
.dwr-toc a:hover .dwr-toc-title { color: var(--dwr-forest); }
.dwr-toc-title small { display: block; margin-top: 5px; font: 400 var(--fs-meta)/1.45 var(--dwr-f-sans); color: var(--dwr-muted); letter-spacing: 0; }
.dwr-toc-page { padding-top: 4px; color: var(--dwr-sage); transition: transform var(--dwr-t-fast) var(--dwr-ease), color var(--dwr-t-fast); }
.dwr-toc a:hover .dwr-toc-page { color: var(--dwr-forest); transform: translateX(3px); }
.dwr-issue-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.dwr-issue-langs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 16px 0 0; font: 400 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-issue-langs a { color: var(--dwr-forest); font-weight: 600; text-decoration: underline; text-decoration-color: var(--dwr-gold-soft); text-underline-offset: 3px; }
.dwr-issue--page { padding-block: clamp(36px, 5vw, 72px); }
.dwr-crumbs--dark { justify-content: flex-start; margin-bottom: 14px; }

/* Cover built from the issue's own image and masthead */
.dwr-cover-stage { perspective: 1400px; display: grid; place-items: center; padding: 8px 0; }
.dwr-cover {
    position: relative; width: min(100%, 340px); aspect-ratio: 210 / 297; background: #fbfaf5; color: var(--dwr-forest);
    border-radius: 3px; box-shadow: 0 30px 60px -30px rgba(22, 26, 23, .45), 0 10px 24px -16px rgba(22, 26, 23, .35);
    transform: rotateY(-8deg) rotateX(2deg); transform-style: preserve-3d; transition: transform .8s var(--dwr-ease-out);
    display: flex; flex-direction: column; padding: 7% 7% 6%;
}
.dwr-cover-stage:hover .dwr-cover { transform: rotateY(-2deg) translateY(-4px); }
.dwr-cover-head { display: flex; align-items: center; gap: 8%; }
.dwr-cover-head img { width: 26%; }
.dwr-cover-head > span { min-width: 0; }
.dwr-cover-head b { display: block; font: 800 clamp(.95rem, 1.6vw, 1.45rem)/.95 var(--dwr-f-sans); letter-spacing: 0; white-space: nowrap; color: var(--dwr-green); }
.dwr-cover-head small { display: block; margin-top: 4px; font: 700 clamp(6px, .6vw, 8px)/1.2 var(--dwr-f-serif); letter-spacing: .03em; color: var(--dwr-forest); }
.dwr-cover-strip { display: flex; justify-content: space-between; gap: 6px; margin: 5% 0 4%; padding: 2% 3%; background: var(--dwr-mist); font: 600 clamp(6px, .55vw, 8px)/1.2 var(--dwr-f-sans); color: var(--dwr-forest); }
.dwr-cover-photo { flex: 1; min-height: 0; overflow: hidden; }
.dwr-cover-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 40% 30%; }
.dwr-cover-foot { margin-top: 5%; text-align: center; font: 600 clamp(.6rem, 1vw, .85rem)/1.25 var(--dwr-f-serif); color: var(--dwr-forest); }

/* 8. Lists & cards ------------------------------------------------------------------ */
.dwr-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(28px, 3vw, 40px) clamp(20px, 2.4vw, 32px); }
.dwr-card { grid-column: span 4; display: flex; flex-direction: column; }
.dwr-card--wide { grid-column: span 8; }
.dwr-card--half { grid-column: span 6; }
.dwr-card-media { display: block; overflow: hidden; aspect-ratio: 3 / 2; border-radius: 4px; background: var(--dwr-mist); margin-bottom: 16px; }
.dwr-card--wide .dwr-card-media { aspect-ratio: 16 / 9; }
.dwr-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--dwr-ease-out); }
.dwr-card:hover .dwr-card-media img { transform: scale(1.03); }
html[data-theme] .dwr-site .dwr-card h3 { margin: 8px 0 0; font: 600 1.25rem/1.3 var(--dwr-f-serif); letter-spacing: -.005em; text-wrap: balance; }
html[data-theme] .dwr-site .dwr-card--wide h3 { font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); line-height: 1.2; }
.dwr-card p { margin: 10px 0 0; font: 400 var(--fs-small)/1.6 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-card .dwr-meta { margin-top: 12px; }
.dwr-card--text { padding: 24px; background: var(--dwr-card); border: 1px solid var(--dwr-rule); border-radius: 8px; }

/* Editorial listing rows (latest, topics, search, issue contents, profile) */
.dwr-list { list-style: none; margin: 0; padding: 0; }
.dwr-row { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: clamp(18px, 2.6vw, 32px); align-items: start; padding: 24px 0; border-bottom: 1px solid var(--dwr-rule); }
.dwr-row:first-child { padding-top: 4px; }
.dwr-row--text { grid-template-columns: minmax(0, 1fr); }
.dwr-row-media { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 4px; background: var(--dwr-mist); }
.dwr-row-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--dwr-ease-out); }
.dwr-row:hover .dwr-row-media img { transform: scale(1.03); }
.dwr-row .dwr-kicker { font-size: .6875rem; }
html[data-theme] .dwr-site .dwr-row :is(h2, h3) { margin: 6px 0 0; max-width: 40ch; font: 600 clamp(1.1875rem, 1.1rem + .4vw, 1.375rem)/1.32 var(--dwr-f-serif); letter-spacing: -.005em; text-wrap: pretty; }
.dwr-row :is(h2, h3) a { color: var(--dwr-ink); }
.dwr-row :is(h2, h3) a:hover { color: var(--dwr-forest); }
.dwr-row p { margin: 8px 0 0; max-width: 72ch; font: 400 var(--fs-small)/1.6 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-row .dwr-meta { margin-top: 10px; }
.dwr-row-langs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.dwr-row-langs .dwr-chip { min-height: 28px; padding: 0 10px; font-size: .75rem; }
.dwr-list > li.dwr-ad:empty { display: none; }

/* Archive cards */
.dwr-issue-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 24px; }
.dwr-issue-card { display: grid; grid-template-rows: auto 1fr; background: var(--dwr-card); border: 1px solid var(--dwr-rule); border-radius: 8px; overflow: hidden; transition: box-shadow var(--dwr-t), transform var(--dwr-t) var(--dwr-ease-out), border-color var(--dwr-t-fast); }
.dwr-issue-card:hover { box-shadow: var(--dwr-shadow-lift); transform: translateY(-3px); border-color: var(--dwr-rule-strong); }
.dwr-issue-card-cover { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--dwr-forest); }
.dwr-issue-card-cover img { width: 100%; height: 100%; object-fit: cover; }
.dwr-issue-card-cover b { position: absolute; left: 14px; bottom: 12px; padding: 4px 10px; border-radius: 4px; background: rgba(29, 51, 40, .88); font: 700 var(--fs-label)/1.3 var(--dwr-f-sans); color: #fff; }
.dwr-issue-card-body { padding: 18px 20px 20px; }
html[data-theme] .dwr-site :is(.dwr-issue-card h2, .dwr-issue-card-title) { margin: 6px 0 0; font: 700 1.25rem/1.25 var(--dwr-f-sans); letter-spacing: -.015em; }
.dwr-issue-card :is(h2, h3) a { color: var(--dwr-ink); }
.dwr-issue-card p { margin: 4px 0 0; font: 400 var(--fs-small)/1.5 var(--dwr-f-sans); color: var(--dwr-ink-2); }

/* 9. People ----------------------------------------------------------------------- */
.dwr-director { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(28px, 6vw, 80px); align-items: center; }
.dwr-director-photo { position: relative; aspect-ratio: 4 / 5; width: 100%; max-width: 440px; }
.dwr-director-photo .dwr-portrait { height: 100%; border-radius: 6px; }
html[data-theme] .dwr-site .dwr-director-name { margin: 12px 0 0; font: 700 var(--fs-h1)/1.1 var(--dwr-f-sans); letter-spacing: -.025em; }
.dwr-director-role { margin: 8px 0 0; font: 500 var(--fs-lead)/1.45 var(--dwr-f-sans); color: var(--dwr-green); }
.dwr-director-facts { list-style: none; margin: 24px 0 0; padding: 0; border-top: 1px solid var(--dwr-rule-strong); }
.dwr-director-facts li { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--dwr-rule); font: 400 var(--fs-body)/1.5 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-director-facts li b { font: 500 var(--fs-meta)/1.5 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-director-facts .dwr-mail { margin: 0 !important; font-size: var(--fs-body) !important; }

.dwr-board-section + .dwr-board-section { margin-top: clamp(36px, 5vw, 56px); }
html[data-theme] .dwr-site .dwr-board-title { display: flex; align-items: baseline; gap: 10px; margin: 0 0 20px; padding-bottom: 12px; border-bottom: 1px solid var(--dwr-rule-strong); font: 700 1.125rem/1.3 var(--dwr-f-sans); letter-spacing: -.01em; text-transform: none; color: var(--dwr-ink); }
.dwr-board-title span { font: 500 var(--fs-meta)/1 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 28px 24px; list-style: none; margin: 0; padding: 0; }
.dwr-cards--wide { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.dwr-pcard .dwr-portrait { aspect-ratio: 4 / 5; }
.dwr-pcard .dwr-initials { font-size: clamp(2.75rem, 4.5vw, 3.75rem); }
.dwr-pcard b { display: block; margin-top: 12px; font: 600 var(--fs-body)/1.35 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-pcard span { display: block; margin-top: 3px; font: 400 var(--fs-meta)/1.45 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-pcard small { display: block; margin-top: 2px; font: 400 var(--fs-label)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-pcard--lead { grid-column: span 2; grid-row: span 2; display: flex; flex-direction: column; }
.dwr-pcard--lead .dwr-portrait { flex: 1; min-height: 320px; }
.dwr-pcard--lead .dwr-initials { font-size: clamp(4.5rem, 8vw, 6.5rem); }
.dwr-pcard--lead b { font-size: 1.25rem; }
.dwr-pcard--lead span { color: var(--dwr-green); font-weight: 600; }

.dwr-contrib { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 20px; align-items: start; max-width: 760px; padding: 20px; background: var(--dwr-card); border: 1px solid var(--dwr-rule); border-radius: 8px; }
.dwr-contrib .dwr-portrait { aspect-ratio: 4 / 5; }
.dwr-contrib .dwr-initials { font-size: 2rem; }
html[data-theme] .dwr-site .dwr-contrib h3 { margin: 0; font: 700 var(--fs-h4)/1.3 var(--dwr-f-sans); }
.dwr-contrib h3 a { color: var(--dwr-ink); }
.dwr-contrib p { margin: 6px 0 0; font: 400 var(--fs-small)/1.6 var(--dwr-f-sans); color: var(--dwr-ink-2); }

/* 10. Article ------------------------------------------------------------------------ */
.dwr-article-head { padding-block: clamp(24px, 4vw, 48px) clamp(24px, 3vw, 36px); text-align: center; }
.dwr-crumbs { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; font: 400 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-crumbs a { color: var(--dwr-muted); } .dwr-crumbs a:hover { color: var(--dwr-forest); text-decoration: underline; text-underline-offset: 3px; }
.dwr-article-kickers { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
html[data-theme] .dwr-site .dwr-article-title { margin: 14px auto 0; max-width: 22ch; font: 600 var(--fs-display)/1.12 var(--dwr-f-serif); letter-spacing: -.015em; text-wrap: balance; }
.dwr-article-sub { margin: 12px auto 0; max-width: 40ch; font: 500 clamp(1.125rem, 1rem + .6vw, 1.4375rem)/1.4 var(--dwr-f-sans); color: var(--dwr-green); }
.dwr-standfirst { margin: 20px auto 0; max-width: 62ch; font: 400 var(--fs-lead)/1.65 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-article-byline { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin: 26px auto 0; padding-top: 22px; max-width: 720px; border-top: 1px solid var(--dwr-rule); }
.dwr-byline-by { font: 400 var(--fs-meta)/1 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-article-byline .dwr-byline-name { font-size: var(--fs-body); }
.dwr-langswitch { display: inline-flex; flex-wrap: wrap; justify-content: center; margin-top: 20px; padding: 3px; border: 1px solid var(--dwr-rule-strong); border-radius: 999px; background: var(--dwr-card); }
.dwr-langswitch a, .dwr-langswitch span { display: inline-grid; place-items: center; min-height: 36px; padding: 0 16px; border-radius: 999px; font: 600 var(--fs-meta)/1 var(--dwr-f-sans); color: var(--dwr-ink-2); transition: background var(--dwr-t-fast), color var(--dwr-t-fast); }
.dwr-langswitch a:hover { background: var(--dwr-mist); color: var(--dwr-forest); }
.dwr-langswitch [aria-current] { background: var(--dwr-forest); color: #fff; }

.dwr-article-media { margin-bottom: clamp(28px, 4vw, 48px); }
.dwr-article-media img { width: 100%; max-height: 600px; object-fit: cover; border-radius: 4px; }
.dwr-article-media figcaption, .dwr-article-media .post-image-description { margin-top: 10px; font: 400 var(--fs-label)/1.5 var(--dwr-f-sans); color: var(--dwr-muted); text-align: center; }

.dwr-article-grid { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: clamp(32px, 5vw, 72px); justify-content: center; max-width: 1040px; margin-inline: auto; padding-bottom: var(--dwr-space); }
.dwr-article-main { min-width: 0; max-width: 68ch; }
.dwr-prose { font: 400 var(--fs-prose)/1.75 var(--dwr-f-sans); color: #232823; }
[data-bs-theme="dark"] .dwr-prose { color: var(--dwr-ink); }
.dwr-prose p { margin: 0 0 1.2em; }
html[data-theme] .dwr-site .dwr-prose h2 { margin: 2em 0 .6em; font: 700 clamp(1.3125rem, 1.2rem + .5vw, 1.5625rem)/1.3 var(--dwr-f-sans); letter-spacing: -.015em; }
html[data-theme] .dwr-site .dwr-prose h3 { margin: 1.7em 0 .5em; font: 700 1.1875rem/1.35 var(--dwr-f-sans); }
html[data-theme] .dwr-site .dwr-prose h4 { margin: 1.5em 0 .35em; font: 700 1.0625rem/1.4 var(--dwr-f-sans); color: var(--dwr-forest); }
.dwr-prose blockquote { margin: 1.6em 0; padding: 2px 0 2px 1.1em; border-left: 3px solid var(--dwr-gold); font-style: italic; color: var(--dwr-ink-2); }
.dwr-prose a { color: var(--dwr-forest); text-decoration: underline; text-decoration-color: var(--dwr-gold); text-underline-offset: 3px; }
.dwr-prose .dwr-source { padding: 16px 18px; background: var(--dwr-paper); border-left: 3px solid var(--dwr-gold); border-radius: 0 6px 6px 0; font-size: .92em; line-height: 1.6; }
.dwr-prose .dwr-source em { font-style: normal; }
.dwr-article-cta { margin: 28px 0; }

.dwr-article-rail { min-width: 0; }
.dwr-rail-sticky { position: sticky; top: 90px; display: grid; }
.dwr-rail-block { padding: 18px 0; border-bottom: 1px solid var(--dwr-rule); }
.dwr-rail-block:first-child { padding-top: 0; }
.dwr-rail-block .dwr-kicker { font-size: .6875rem; }
.dwr-rail-issue-title { display: block; margin-top: 8px; font: 700 var(--fs-h4)/1.3 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-rail-issue-title:hover { color: var(--dwr-forest); }
.dwr-rail-issue p, p.dwr-rail-issue { margin: 4px 0 0; font: 400 var(--fs-small)/1.5 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-rail-actions { display: grid; gap: 10px; justify-items: start; margin-top: 14px; }
.dwr-share .post-share-buttons, .dwr-share ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.dwr-share a, .dwr-share button { display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--dwr-rule-strong) !important; border-radius: 50% !important; background: var(--dwr-card) !important; color: var(--dwr-forest) !important; transition: border-color var(--dwr-t-fast); }
.dwr-share a:hover, .dwr-share button:hover { border-color: var(--dwr-forest) !important; }
.dwr-share a span, .dwr-share .share-text { display: none; }

.dwr-authorbox { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 22px; margin: 44px 0; padding: 24px; background: var(--dwr-paper); border-radius: 8px; }
.dwr-authorbox .dwr-portrait { aspect-ratio: 4 / 5; }
.dwr-authorbox .dwr-initials { font-size: 2rem; }
html[data-theme] .dwr-site .dwr-authorbox h2 { margin: 8px 0 0; font: 700 1.25rem/1.3 var(--dwr-f-sans); }
.dwr-authorbox h2 a { color: var(--dwr-ink); }
.dwr-authorbox p { margin: 8px 0 12px; font: 400 var(--fs-small)/1.65 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-attachments:empty { display: none; }
.dwr-adjacent, .dwr-comments, .dwr-reactions { margin-top: 40px; }

/* 11. Pages: page heads, filters, about, contact, profile ------------------------------ */
.dwr-page-head { padding-block: clamp(28px, 4.5vw, 60px) clamp(24px, 3vw, 36px); border-bottom: 1px solid var(--dwr-rule); }
.dwr-page-head .dwr-crumbs { justify-content: flex-start; }
.dwr-page-head .dwr-kicker { margin-top: 20px; }
html[data-theme] .dwr-site .dwr-page-title { margin: 10px 0 0; font: 700 var(--fs-h1)/1.1 var(--dwr-f-sans); letter-spacing: -.025em; text-wrap: balance; }
.dwr-page-lead { margin: 12px 0 0; max-width: 64ch; font: 400 var(--fs-lead)/1.6 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-page-theme { margin: 10px 0 0; font: 500 var(--fs-lead)/1.45 var(--dwr-f-sans); color: var(--dwr-green); }
.dwr-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 22px; }
.dwr-filters input[type="search"] { flex: 1 1 280px; min-width: 0; min-height: 46px; padding: 0 14px; border: 1px solid var(--dwr-rule-strong); border-radius: var(--dwr-radius); background: var(--dwr-card); font: 400 var(--fs-body)/1.2 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-filters input[type="search"]:focus { outline: none; border-color: var(--dwr-forest); box-shadow: 0 0 0 3px color-mix(in srgb, var(--dwr-forest) 18%, transparent); }
.dwr-filters button.dwr-chip { cursor: pointer; min-height: 36px; }
.dwr-archive-langs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 0; font: 400 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-pager { display: flex; justify-content: center; margin-top: 36px; }
.dwr-pager .pagination { gap: 6px; }
.dwr-pager .page-link { min-width: 40px; text-align: center; border-radius: 999px !important; border-color: var(--dwr-rule-strong); color: var(--dwr-forest); background: var(--dwr-card); font-weight: 600; }
.dwr-pager .active > .page-link { background: var(--dwr-forest); border-color: var(--dwr-forest); color: #fff; }

.dwr-page-body { padding-block: clamp(32px, 4.5vw, 60px) var(--dwr-space); }
.dwr-page-head + .dwr-section { padding-top: clamp(28px, 4vw, 48px); }
.dwr-page-body .dwr-prose { max-width: 68ch; }
.dwr-two { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.dwr-prose--lead > p:first-child { font: 400 var(--fs-lead)/1.65 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-contact-card { padding: clamp(22px, 3vw, 36px); background: var(--dwr-card); border: 1px solid var(--dwr-rule); border-radius: 8px; }
.dwr-contact-card .form-control, .dwr-contact-card textarea { min-height: 46px; border-radius: var(--dwr-radius); border-color: var(--dwr-rule-strong); background: var(--dwr-ivory); font: 400 var(--fs-body)/1.45 var(--dwr-f-sans); padding: 10px 14px; }
.dwr-contact-card .form-control:focus { border-color: var(--dwr-forest); box-shadow: 0 0 0 3px color-mix(in srgb, var(--dwr-forest) 18%, transparent); }
.dwr-contact-card .form-label { margin-bottom: 6px; font: 600 var(--fs-meta)/1.3 var(--dwr-f-sans); letter-spacing: 0; text-transform: none; color: var(--dwr-ink-2); }
.dwr-profile-head { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: end; }
.dwr-profile-head .dwr-portrait { aspect-ratio: 4 / 5; }
.dwr-profile-head .dwr-initials { font-size: 4rem; }
.dwr-profile-head .dwr-share { padding: 0; }
.dwr-author-row { grid-template-columns: 132px minmax(0, 1fr); }
.dwr-author-row .dwr-portrait { aspect-ratio: 4 / 5; }
.dwr-author-row .dwr-initials { font-size: 2.5rem; }
html[data-theme] .dwr-site .dwr-author-row h2 { font: 700 1.25rem/1.3 var(--dwr-f-sans); letter-spacing: -.015em; }

/* 12. Footer ----------------------------------------------------------------------------- */
.dwr-footer { background: var(--dwr-forest); color: var(--dwr-on-dark-muted); font: 400 var(--fs-small)/1.65 var(--dwr-f-sans); }
.dwr-footer-top { display: grid; grid-template-columns: minmax(0, 4fr) repeat(3, minmax(0, 2fr)); gap: clamp(28px, 4vw, 56px); padding-block: clamp(48px, 6vw, 80px) 40px; }
.dwr-footer-brand, .dwr-footer-brand:hover { display: flex; align-items: center; gap: 14px; color: inherit; }
.dwr-footer-brand img { width: 56px; }
.dwr-footer-brand b { display: block; font: 600 1.25rem/1.2 var(--dwr-f-serif); color: #fff; }
.dwr-footer-brand small { display: block; margin-top: 4px; font: 400 var(--fs-meta)/1.3 var(--dwr-f-sans); color: var(--dwr-on-dark-muted); }
.dwr-footer p { margin: 18px 0 0; max-width: 44ch; }
html[data-theme] .dwr-site .dwr-footer-h { margin: 4px 0 14px; font: 600 var(--fs-small)/1.3 var(--dwr-f-sans); letter-spacing: 0; text-transform: none; color: #fff; }
.dwr-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.dwr-footer a { color: var(--dwr-on-dark); transition: color var(--dwr-t-fast); }
.dwr-footer a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--dwr-gold-soft); text-underline-offset: 3px; }
.dwr-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; padding-block: 20px; border-top: 1px solid rgba(244, 241, 232, .14); font-size: var(--fs-label); }

/* 13. Utilities --------------------------------------------------------------------------- */
.dwr-search { position: fixed; inset: 0; z-index: 1300; display: grid; align-items: start; padding-top: 14vh; background: color-mix(in srgb, var(--dwr-ivory) 97%, transparent); backdrop-filter: blur(6px); visibility: hidden; opacity: 0; transition: opacity .25s var(--dwr-ease), visibility 0s .25s; }
.dwr-search.is-open { visibility: visible; opacity: 1; transition-delay: 0s; }
.dwr-search form { width: min(720px, calc(100% - 32px)); margin-inline: auto; transform: translateY(10px); transition: transform .35s var(--dwr-ease-out); }
.dwr-search.is-open form { transform: none; }
.dwr-search label { font: 600 var(--fs-meta)/1 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-search input { width: 100%; margin-top: 12px; padding: 14px 0; border: 0; border-bottom: 2px solid var(--dwr-ink); background: transparent; font: 600 clamp(1.5rem, 1.1rem + 2vw, 2.25rem)/1.2 var(--dwr-f-sans); letter-spacing: -.015em; color: var(--dwr-ink); outline: none; }
.dwr-search input:focus { border-color: var(--dwr-forest); }
.dwr-search-close { position: absolute; top: 18px; right: 18px; }
.dwr-search-hint { margin-top: 12px; font: 400 var(--fs-meta)/1.5 var(--dwr-f-sans); color: var(--dwr-muted); }

.dwr-totop { position: fixed; right: 18px; bottom: 18px; z-index: 900; width: 46px; height: 46px; display: grid; place-items: center; background: var(--dwr-forest); color: #fff; border: 0; border-radius: 50%; cursor: pointer; box-shadow: var(--dwr-shadow-lift); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .3s var(--dwr-ease), transform .35s var(--dwr-ease-out), visibility 0s .3s, background var(--dwr-t-fast); }
.dwr-totop.is-shown { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.dwr-totop:hover { background: var(--dwr-forest-2); }
.dwr-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 1100; background: var(--dwr-gold); transform: scaleX(var(--p, 0)); transform-origin: left; }

/* Legacy dwr.css resets for reused class names */
.dwr-site .dwr-langswitch [aria-current] { background: var(--dwr-forest); color: #fff; }
.dwr-site .dwr-byline-by { font: 400 var(--fs-meta)/1 var(--dwr-f-sans); letter-spacing: 0; text-transform: none; color: var(--dwr-muted); }
.dwr-site .dwr-article-byline .dwr-avatar, .dwr-site .dwr-byline .dwr-avatar { box-shadow: none; border: 0; }
.dwr-site .dwr-about, .dwr-site .dwr-board, .dwr-site .dwr-issue, .dwr-site .dwr-toc { box-shadow: none; }
.dwr-site .dwr-kicker { padding: 0; background: none; border: 0; }

/* 14. Motion — short, quiet, never in the way of reading ------------------------------------ */
@keyframes dwr-fade-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.dwr-js .dwr-mast-brand { animation: dwr-fade-up .7s var(--dwr-ease-out) both; }
.dwr-js .dwr-mast-side { animation: dwr-fade-up .7s var(--dwr-ease-out) .1s both; }
.dwr-js [data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .6s var(--dwr-ease), transform .7s var(--dwr-ease-out); transition-delay: calc(var(--i, 0) * 60ms); }
.dwr-js [data-reveal="fade"], .dwr-js [data-reveal="scale"] { transform: none; }
.dwr-js [data-reveal].is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    .dwr-site *, .dwr-site *::before, .dwr-site *::after { animation-duration: .01ms !important; animation-delay: 0s !important; transition-duration: .01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
    .dwr-js [data-reveal] { opacity: 1; transform: none; }
    .dwr-hero-frame img, .dwr-hero-title .dwr-line > span, .dwr-cover { transform: none; }
}

/* 15. Responsive ----------------------------------------------------------------------- */
@media (max-width: 1100px) {
    .dwr-mast-side:not(.dwr-mast-side--end) { display: none; }
    .dwr-mast-main { grid-template-columns: 1fr auto; }
    .dwr-mast-brand { grid-column: 1; align-items: flex-start; text-align: left; }
    .dwr-footer-top { grid-template-columns: 1fr 1fr 1fr; }
    .dwr-footer-top > :first-child { grid-column: 1 / -1; }
    .dwr-menu > li > a, .dwr-menu > li > button { padding: 0 7px; }
}
@media (max-width: 991.98px) {
    .dwr-mast-top, .dwr-mast, .dwr-nav { display: none; }
    .dwr-mbar { display: flex; position: sticky; top: 0; z-index: 1000; align-items: center; justify-content: space-between; gap: 8px; min-height: 60px; padding: 8px 8px 8px 16px; background: color-mix(in srgb, var(--dwr-ivory) 95%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--dwr-rule); }
    .dwr-mbar-brand { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1 1 auto; overflow: hidden; }
    .dwr-mbar-brand > span { min-width: 0; overflow: hidden; }
    .dwr-mbar .dwr-nav-tools { flex: none; }
    .dwr-issue-grid > .dwr-cover-stage { order: 2; }
    .dwr-cover { width: min(100%, 220px); }
    .dwr-mbar-brand img { width: 36px; flex: none; }
    .dwr-mbar-brand b { display: block; font: 700 1rem/1.15 var(--dwr-f-sans); color: var(--dwr-forest); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dwr-mbar-brand small { display: block; font: 400 .75rem/1.2 var(--dwr-f-sans); color: var(--dwr-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dwr-mbar .dwr-langnav--compact { display: block; }
    .dwr-mbar .dwr-langnav a, .dwr-mbar .dwr-langnav span { min-width: 32px; padding: 0 5px; font-size: .6875rem; }
    .dwr-hero-grid, .dwr-issue-grid, .dwr-feature, .dwr-about, .dwr-director, .dwr-two, .dwr-profile-head, .dwr-article-grid { grid-template-columns: 1fr; }
    .dwr-hero-grid { display: flex; flex-direction: column; gap: 24px; }
    .dwr-hero-left { display: contents; }
    .dwr-hero-media { order: 1; }
    .dwr-hero-body { order: 2; }
    .dwr-hero-side { order: 3; margin-top: 0; }
    .dwr-cover-stage { justify-items: start; }
    .dwr-cover { width: min(100%, 260px); }
    .dwr-card, .dwr-card--wide, .dwr-card--half { grid-column: span 12; }
    .dwr-versions, .dwr-cta { grid-template-columns: 1fr; }
    .dwr-director-photo { max-width: 360px; }
    .dwr-director-facts li { grid-template-columns: 1fr; gap: 2px; }
    .dwr-about-mark { max-width: 200px; margin-inline: 0; }
    .dwr-rail-sticky { position: static; }
    .dwr-row { grid-template-columns: 140px minmax(0, 1fr); }
    .dwr-profile-head .dwr-portrait { max-width: 220px; }
}
@media (min-width: 640px) and (max-width: 991.98px) {
    .dwr-card--half, .dwr-card { grid-column: span 6; }
    .dwr-card--wide { grid-column: span 12; }
}
@media (max-width: 430px) {
    .dwr-mbar-brand small { display: none; }
    .dwr-mbar-brand b { overflow: visible; text-overflow: clip; }
    .dwr-mbar-brand img { width: 32px; }
    .dwr-mbar .dwr-icon-btn { width: 40px; }
}
@media (max-width: 640px) {
    .dwr-announce .dwr-wrap { gap: 8px; text-align: left; justify-content: flex-start; }
    .dwr-head { flex-direction: column; align-items: flex-start; gap: 12px; }
    .dwr-row { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 18px 0; }
    .dwr-row p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
    html[data-theme] .dwr-site .dwr-row :is(h2, h3) { font-size: 1.0625rem; margin-top: 4px; }
    .dwr-row .dwr-kicker { display: none; }
    .dwr-author-row { grid-template-columns: 88px minmax(0, 1fr); }
    .dwr-toc a { grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px; }
    .dwr-footer-top { grid-template-columns: 1fr 1fr; }
    .dwr-form { flex-direction: column; }
    .dwr-cards { grid-template-columns: 1fr 1fr; gap: 22px 14px; }
    .dwr-pcard--lead { grid-column: 1 / -1; }
    .dwr-pcard--lead .dwr-portrait { aspect-ratio: 4 / 5; flex: none; min-height: 0; max-height: 64vh; }
    .dwr-contrib, .dwr-authorbox { grid-template-columns: 80px minmax(0, 1fr); gap: 14px; padding: 16px; }
    .dwr-langswitch { border-radius: 14px; }
}

/* ==========================================================================
   16. Art direction layer — compact masthead, layered hero, 3D publication, story sections
   ========================================================================== */

/* Compact masthead: brand left; current issue, search, languages, account right */
.dwr-mast { border-bottom: 1px solid var(--dwr-rule); }
.dwr-mast-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 92px; padding-block: 12px; }
.dwr-mast-brand, .dwr-mast-brand:hover { grid-column: auto; display: flex; flex-direction: row; align-items: center; gap: 14px; text-align: left; color: inherit; min-width: 0; }
.dwr-mast-emblem { width: 60px; height: 60px; flex: none; }
.dwr-mast-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
html[data-theme] .dwr-site .dwr-mast-name { margin: 0; font: 600 clamp(1.375rem, 1rem + 1.1vw, 2rem)/1.1 var(--dwr-f-serif); letter-spacing: -.01em; color: var(--dwr-forest); white-space: nowrap; }
.dwr-mast-sub { display: block; font: 400 var(--fs-label)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dwr-mast-sub .dwr-mast-theme { display: inline; margin: 0; font: inherit; color: var(--dwr-ink-2); }
.dwr-mast-tools { display: flex; align-items: center; gap: 14px; flex: none; }
.dwr-mast-issue { display: flex; flex-direction: column; gap: 2px; padding-right: 14px; border-right: 1px solid var(--dwr-rule); line-height: 1.2; }
.dwr-mast-issue small { font: 500 .75rem/1.2 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-mast-issue b { font: 600 var(--fs-label)/1.2 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-mast-issue:hover b { color: var(--dwr-forest); text-decoration: underline; text-underline-offset: 3px; }
.dwr-mast-tools .dwr-search-btn { min-width: 190px; }
.dwr-mast-account { padding-left: 0; border-left: 0; }
@media (max-width: 1240px) { .dwr-mast-issue { display: none; } }
@media (max-width: 1120px) { .dwr-mast-tools .dwr-search-btn { min-width: 0; } .dwr-mast-tools .dwr-search-btn span, .dwr-mast-tools .dwr-search-btn kbd { display: none; } .dwr-mast-sub .dwr-mast-theme { display: none; } }

/* Hero: see "First screen" at the end of this file */

.dwr-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.dwr-w > span { display: inline-block; }
.dwr-btn--lg { min-height: 52px; padding: 0 26px; font-size: 1rem; }



/* The publication as a 3D object */
.dwr-book-stage { --w: 340px; --t: 14px; --ry: -24deg; --rx: 7deg; --sx: 120%; position: relative; display: block; width: var(--w); padding: 4% 0 16%; perspective: 1800px; perspective-origin: 50% 35%; color: inherit; }
.dwr-book-stage--lg { --w: clamp(240px, 27vw, 380px); --t: 16px; }
.dwr-book-stage--md { --w: 150px; --t: 9px; --ry: -20deg; --rx: 5deg; }
.dwr-book-stage--sm { --w: clamp(108px, 10.5vw, 150px); --t: 8px; --ry: -26deg; --rx: 8deg; padding-bottom: 18%; }
.dwr-book { position: relative; display: block; width: 100%; aspect-ratio: 210 / 297; transform-style: preserve-3d; transform: rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .8s var(--dwr-ease-out), opacity .8s var(--dwr-ease); }
.dwr-book-face { position: absolute; display: block; }
.dwr-book-front { inset: 0; overflow: hidden; background: #fbfaf5; border-radius: 1px 3px 3px 1px; transform: translateZ(calc(var(--t) / 2)); box-shadow: 0 0 0 1px rgba(0, 0, 0, .04); }
.dwr-book-front > img { width: 100%; height: 100%; object-fit: cover; }
.dwr-book-front::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(0, 0, 0, .22) 0, rgba(255, 255, 255, .18) 1.6%, rgba(0, 0, 0, .06) 3.2%, transparent 7%), linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 30%, rgba(0, 0, 0, .06)); }
.dwr-book-sheen { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(112deg, transparent 38%, rgba(255, 255, 255, .32) 50%, transparent 62%); background-size: 260% 100%; background-position: var(--sx) 0; mix-blend-mode: soft-light; transition: background-position .9s var(--dwr-ease-out); }
.dwr-book-spine { top: 0; left: 0; width: var(--t); height: 100%; transform-origin: left center; transform: translateZ(calc(var(--t) / -2)) rotateY(-90deg); background: linear-gradient(90deg, #0f1f17, #23402f 45%, #142a1f); display: grid; place-items: center; overflow: hidden; }
.dwr-book-spine span { writing-mode: vertical-rl; transform: rotate(180deg); font: 600 calc(var(--t) * .5)/1 var(--dwr-f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--dwr-gold-soft); white-space: nowrap; }
.dwr-book-stage--sm .dwr-book-spine span, .dwr-book-stage--md .dwr-book-spine span { display: none; }
.dwr-book-edge { top: 1.2%; right: 0; width: var(--t); height: 97.6%; transform-origin: right center; transform: translateZ(calc(var(--t) / -2)) rotateY(90deg); background: repeating-linear-gradient(90deg, #f7f2e6 0 1.2px, #d9cfba 1.2px 2.2px); box-shadow: inset 0 0 8px rgba(0, 0, 0, .18); }
.dwr-book-top { top: 0; left: 1%; width: 98%; height: var(--t); transform-origin: top center; transform: translateZ(calc(var(--t) / -2)) rotateX(90deg); background: repeating-linear-gradient(0deg, #f7f2e6 0 1.2px, #d9cfba 1.2px 2.2px); }
.dwr-book-back { inset: 0; transform: translateZ(calc(var(--t) / -2)) rotateY(180deg); background: #e6dfcd; border-radius: 3px 1px 1px 3px; }
.dwr-book-floor { position: absolute; left: 10%; right: -6%; bottom: 7%; height: 9%; border-radius: 50%; background: radial-gradient(closest-side, rgba(8, 16, 11, .55), transparent); filter: blur(10px); transform: translateX(calc(var(--fx, 0) * 1px)); transition: transform .8s var(--dwr-ease-out), opacity .8s; }
a.dwr-book-stage:hover, .dwr-book-stage[data-tilt]:hover { --ry: -14deg; --rx: 4deg; --sx: -20%; }
a.dwr-book-stage:focus-visible { outline: 2px solid var(--dwr-gold); outline-offset: 6px; }

/* Newsletter spotlight: the issue on a lit forest stage */
.dwr-spot { position: relative; padding-block: clamp(64px, 8vw, 120px); background: radial-gradient(ellipse 55% 75% at 26% 45%, #2b4a3c 0%, var(--dwr-forest) 58%, #12231a 100%); color: var(--dwr-on-dark); overflow: hidden; }
.dwr-spot::before { content: ""; position: absolute; inset: clamp(14px, 2vw, 24px); border: 1px solid rgba(220, 201, 160, .14); pointer-events: none; }
.dwr-spot-grid { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.dwr-spot-stage { display: grid; place-items: center; }
.dwr-spot .dwr-kicker { color: var(--dwr-gold-soft); }
html[data-theme] .dwr-site .dwr-spot-title { margin: 12px 0 0; font: 700 clamp(2.25rem, 1.5rem + 2.8vw, 3.75rem)/1.05 var(--dwr-f-sans); letter-spacing: -.03em; color: #fff; }
.dwr-spot-theme { margin: 12px 0 0; font: 500 clamp(1.125rem, 1rem + .5vw, 1.375rem)/1.4 var(--dwr-f-sans); color: #ebe5d5; }
.dwr-spot-facts { display: flex; flex-wrap: wrap; margin: 26px 0 0; padding: 0; }
.dwr-spot-facts div { padding: 2px 22px; border-left: 1px solid rgba(244, 241, 232, .2); }
.dwr-spot-facts div:first-child { padding-left: 0; border-left: 0; }
.dwr-spot-facts dt { font: 500 .75rem/1.2 var(--dwr-f-sans); color: var(--dwr-on-dark-muted); }
.dwr-spot-facts dd { margin: 4px 0 0; font: 600 1.0625rem/1.2 var(--dwr-f-sans); color: #fff; }
.dwr-spot-toc { list-style: none; counter-reset: st; margin: 28px 0 0; padding: 0; border-top: 1px solid rgba(244, 241, 232, .22); }
.dwr-spot-toc li { counter-increment: st; border-bottom: 1px solid rgba(244, 241, 232, .12); }
.dwr-spot-toc a { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 4px 12px; padding: 16px 0; color: #fff; }
.dwr-spot-toc a::before { content: counter(st, decimal-leading-zero); grid-row: 1 / span 2; padding-top: 3px; font: 600 var(--fs-label)/1.3 var(--dwr-f-sans); color: var(--dwr-gold-soft); }
.dwr-spot-toc-t { font: 600 1.125rem/1.35 var(--dwr-f-serif); transition: color var(--dwr-t-fast); }
.dwr-spot-toc a:hover .dwr-spot-toc-t { color: var(--dwr-gold-soft); }
.dwr-spot-toc-m { font: 400 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-on-dark-muted); }
.dwr-spot-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 30px; }
.dwr-btn--light { --b: #f4f1e8; color: var(--dwr-forest) !important; }
.dwr-btn--light:hover { --b: #fff; }
.dwr-btn--outline-light:hover { background: rgba(244, 241, 232, .08); border-color: #f4f1e8; }
.dwr-link--light { color: var(--dwr-gold-soft); }
.dwr-spot .dwr-issue-langs { color: var(--dwr-on-dark-muted); }
.dwr-spot .dwr-issue-langs a { color: #fff; text-decoration-color: var(--dwr-gold-soft); }
.dwr-spot .dwr-crumbs--dark, .dwr-spot .dwr-crumbs--dark a { color: var(--dwr-on-dark-muted); }
.dwr-spot--page { padding-block: clamp(40px, 6vw, 88px); }

/* Supporting feature on ivory */
.dwr-feature-sec { padding-top: clamp(48px, 6vw, 88px); }

/* Latest Articles: open lead + numbered list */
.dwr-latest-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.dwr-latest-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 3px; background: var(--dwr-mist); }
.dwr-latest-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--dwr-ease-out); }
.dwr-latest-lead:hover .dwr-latest-media img { transform: scale(1.04); }
.dwr-latest-lead-body { margin-top: 18px; }
html[data-theme] .dwr-site .dwr-latest-lead h3 { margin: 8px 0 0; font: 600 clamp(1.5rem, 1.2rem + 1.1vw, 2.125rem)/1.18 var(--dwr-f-serif); letter-spacing: -.01em; text-wrap: balance; }
.dwr-latest-lead h3 a, .dwr-latest-list h3 a { color: var(--dwr-ink); }
.dwr-latest-lead p { margin: 12px 0 0; max-width: 60ch; font: 400 var(--fs-body)/1.65 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-latest-lead .dwr-meta { margin-top: 14px; }
.dwr-latest-grid--single { grid-template-columns: 1fr; }
.dwr-latest-grid--single .dwr-latest-lead { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.dwr-latest-grid--single .dwr-latest-lead-body { margin-top: 0; }
.dwr-latest-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--dwr-ink); }
.dwr-latest-list li { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 14px; padding: 20px 0; border-bottom: 1px solid var(--dwr-rule); }
.dwr-latest-num { font: 700 1.375rem/1.1 var(--dwr-f-sans); letter-spacing: -.02em; color: var(--dwr-gold-text); font-variant-numeric: tabular-nums; }
html[data-theme] .dwr-site .dwr-latest-list h3 { margin: 6px 0 0; font: 600 1.1875rem/1.32 var(--dwr-f-serif); letter-spacing: -.005em; }
.dwr-latest-list p { margin: 6px 0 0; font: 400 var(--fs-meta)/1.55 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-latest-list .dwr-meta { margin-top: 8px; }

/* Authors: portrait beside biography */
.dwr-authors-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: clamp(28px, 4vw, 48px); }
.dwr-author { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 26px; align-items: start; max-width: 760px; }
.dwr-author-photo { display: block; }
.dwr-author-photo .dwr-portrait { aspect-ratio: 4 / 5; }
.dwr-author-photo .dwr-initials { font-size: 3rem; }
html[data-theme] .dwr-site .dwr-author h3 { margin: 4px 0 0; font: 700 1.5rem/1.2 var(--dwr-f-sans); letter-spacing: -.02em; }
.dwr-author h3 a { color: var(--dwr-ink); }
.dwr-author p { margin: 10px 0 14px; font: 400 var(--fs-small)/1.65 var(--dwr-f-sans); color: var(--dwr-ink-2); }

/* Editorial board with the Director/Editor first */
.dwr-boardsec .dwr-director { margin-bottom: clamp(44px, 6vw, 72px); }
.dwr-boardsec .dwr-director-photo { max-width: 380px; }
html[data-theme] .dwr-site .dwr-boardsec .dwr-director-name { margin: 12px 0 0; font: 700 var(--fs-h1)/1.1 var(--dwr-f-sans); letter-spacing: -.025em; }
.dwr-director-contact { margin: 18px 0 0; font: 400 var(--fs-small)/1.6 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-director-contact .dwr-mail { display: inline; margin: 0; font-size: var(--fs-small); }

/* Archive shelf */
.dwr-shelfsec { background: linear-gradient(180deg, var(--dwr-ivory), var(--dwr-paper)); padding-top: var(--dwr-space); }
.dwr-shelf-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
html[data-theme] .dwr-site .dwr-shelf-head h2 { margin: 10px 0 0; font: 700 var(--fs-h2)/1.15 var(--dwr-f-sans); letter-spacing: -.02em; }
.dwr-shelf-head p { margin: 6px 0 0; font: 400 var(--fs-small)/1.5 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-shelf { list-style: none; display: flex; gap: clamp(28px, 4vw, 56px); margin: 0; padding: 8px 6px 0; overflow-x: auto; scroll-snap-type: x proximity; border-bottom: 1px solid var(--dwr-rule-strong); }
.dwr-shelf li { flex: none; width: 180px; display: flex; flex-direction: column; align-items: center; text-align: center; scroll-snap-align: start; padding-bottom: 22px; }
.dwr-shelf-label { display: flex; flex-direction: column; gap: 2px; margin-top: -4px; }
.dwr-shelf-label b { font: 700 var(--fs-small)/1.3 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-shelf-label small { font: 400 var(--fs-label)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-shelf-label:hover b { color: var(--dwr-forest); }

/* Motion — entrances (only when JS is running; everything is visible without it) */
.dwr-js .dwr-w > span { transform: translateY(108%); transition: transform .95s var(--dwr-ease-out) calc(.18s + var(--w, 0) * .07s); }
.dwr-js .dwr-enter { opacity: 0; transform: translateY(14px); transition: opacity .8s var(--dwr-ease) var(--d, 0s), transform .9s var(--dwr-ease-out) var(--d, 0s); }
.dwr-ready .dwr-w > span, .dwr-ready .dwr-enter { opacity: 1; transform: none; }

/* Book entrance on scroll: swings into place */
.dwr-js [data-reveal="book"] { opacity: 1; transform: none; }
.dwr-js [data-reveal="book"]:not(.is-in) .dwr-book { opacity: 0; transform: rotateX(16deg) rotateY(-64deg) translateY(30px); }
.dwr-js [data-reveal="book"] .dwr-book { transition: transform 1.5s var(--dwr-ease-out), opacity .9s var(--dwr-ease); }
.dwr-js [data-reveal="book"]:not(.is-in) .dwr-book-floor { opacity: 0; }

/* Accent lines draw in with their section */
.dwr-js [data-reveal] .dwr-kicker::before { transform: scaleX(0); transform-origin: left; transition: transform .8s var(--dwr-ease-out) .25s; }
.dwr-js [data-reveal].is-in .dwr-kicker::before { transform: scaleX(1); }

@media (prefers-reduced-motion: reduce) {
    .dwr-js .dwr-w > span, .dwr-js .dwr-enter, .dwr-js .dwr-story-frame img { transform: none !important; opacity: 1 !important; }
    .dwr-js .dwr-story-frame { clip-path: none !important; }
    .dwr-js [data-reveal="book"]:not(.is-in) .dwr-book { opacity: 1; transform: rotateX(var(--rx)) rotateY(var(--ry)); }
    .dwr-book-stage:hover { --ry: -24deg; --rx: 7deg; }
}

/* Responsive */
@media (max-width: 991.98px) {
    .dwr-spot-grid { grid-template-columns: 1fr; }
    .dwr-spot-stage { order: 0; }
    .dwr-book-stage--lg { --w: clamp(200px, 52vw, 280px); }
    .dwr-latest-grid, .dwr-latest-grid--single .dwr-latest-lead { grid-template-columns: 1fr; }
    .dwr-latest-grid--single .dwr-latest-lead-body { margin-top: 18px; }
    .dwr-author { grid-template-columns: 130px minmax(0, 1fr); gap: 18px; }
}
@media (max-width: 640px) {
    .dwr-book-stage--sm { --w: 92px; --t: 6px; }
    .dwr-spot-facts div { padding: 2px 14px; }
    .dwr-author { grid-template-columns: 96px minmax(0, 1fr); }
    .dwr-author-photo .dwr-initials { font-size: 2rem; }
    .dwr-shelf-head { flex-direction: column; align-items: flex-start; }
    .dwr-shelf li { width: 150px; }
}

/* Review fixes */
html[data-theme] .dwr-site .dwr-spot .dwr-kicker { color: var(--dwr-gold-soft) !important; } /* beats the legacy dwr.css .dwr-kicker !important */
.dwr-spot .dwr-btn--outline-light { border-color: rgba(244, 241, 232, .7); color: #fff !important; }
.dwr-cards--compact { grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); gap: 24px 18px; }
.dwr-cards--compact .dwr-portrait { aspect-ratio: 1; }
.dwr-cards--compact .dwr-initials { font-size: 2.25rem; }
.dwr-cards--compact b { font-size: var(--fs-small); }
/* Issue page: breadcrumb aligns with the edition title (the generic .dwr-crumbs rule centres it) */
.dwr-spot .dwr-crumbs.dwr-crumbs--dark { justify-content: flex-start; }
@media (max-width: 575.98px) { .dwr-boardsec .dwr-director-photo { max-width: 260px; } }

/* Newsletters archive: each edition card shows its printed cover as the shared 3D booklet */
.dwr-issue-card-book { display: grid; place-items: center; padding: 28px 16px 0; background: radial-gradient(120% 90% at 50% 20%, var(--dwr-paper) 0%, var(--dwr-mist) 100%); border-bottom: 1px solid var(--dwr-rule); }
.dwr-issue-card-book .dwr-book-stage--md { --w: 132px; }

/* Director/Editor with his photograph: a square portrait in a gold-ruled frame (the supplied photo is 200 px square,
   so the frame stays modest rather than enlarging it), biography, his own articles and a link to the full profile */
.dwr-director.dwr-director--photo { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); align-items: start; }
.dwr-director--photo .dwr-director-photo { margin: 0; aspect-ratio: 1; max-width: 300px; padding: 0 14px 14px 0; }
.dwr-director--photo .dwr-director-photo::before { content: ""; position: absolute; inset: 14px 0 0 14px; border: 1px solid var(--dwr-gold); border-radius: 6px; }
.dwr-director--photo .dwr-director-photo .dwr-portrait { position: relative; height: 100%; border-radius: 6px; box-shadow: 0 18px 40px -22px rgba(29, 51, 40, .55); }
html[data-theme] .dwr-site .dwr-boardsec .dwr-director--photo .dwr-director-name { font-size: clamp(1.75rem, 3.2vw, 2.6rem); line-height: 1.12; }
.dwr-director-name a { color: inherit; text-decoration: none; }
.dwr-director-name a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.dwr-director-bio { max-width: 62ch; margin: 18px 0 0; font: 400 var(--fs-body)/1.7 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-director-works { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--dwr-rule-strong); max-width: 62ch; }
.dwr-director-works ul { list-style: none; margin: 10px 0 0; padding: 0; }
.dwr-director-works li { padding: 10px 0; border-bottom: 1px solid var(--dwr-rule); }
.dwr-director-works li a { display: block; font: 600 var(--fs-lead)/1.35 var(--dwr-f-serif, var(--dwr-f-sans)); color: var(--dwr-ink); }
.dwr-director-works li a:hover { color: var(--dwr-forest); text-decoration: underline; text-underline-offset: 3px; }
.dwr-director-works small { display: block; margin-top: 4px; font: 400 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-director-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 24px; }
.dwr-director-actions .dwr-director-contact { margin: 0; }
@media (max-width: 991.98px) {
    .dwr-director.dwr-director--photo { grid-template-columns: 1fr; }
    .dwr-director--photo .dwr-director-photo { max-width: 240px; }
}
.dwr-latest-by { margin: 10px 0 0; font: 600 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-latest-by + .dwr-meta { margin-top: 4px; }

/* ==========================================================================================================
   First screen (homepage): lead story on ivory + issue band in forest
   One composition: headline and photograph side by side on the page colour (ink on ivory, never on green);
   below, a full-width forest band carrying the current issue (3D cover) and the Director/Editor.
   ========================================================================================================== */
.dwr-story { padding-top: clamp(28px, 3.6vw, 52px); }
.dwr-story-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 4.5vw, 72px); align-items: center; padding-bottom: clamp(36px, 4.2vw, 60px); }
.dwr-story-grid--cover { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.dwr-story-copy { min-width: 0; }
.dwr-story-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; margin: 0; font: 600 .75rem/1.4 var(--dwr-f-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--dwr-green); }
.dwr-story-kicker > span:first-child { display: inline-flex; align-items: center; gap: 10px; }
.dwr-story-kicker > span:first-child::before { content: ""; width: 28px; height: 1px; background: var(--dwr-gold); }
html[data-theme] .dwr-site .dwr-story-title { margin: 16px 0 0; max-width: 16ch; font: 600 clamp(2.375rem, 1.25rem + 2.9vw, 4rem)/1.04 var(--dwr-f-serif); letter-spacing: -.02em; color: var(--dwr-ink); text-wrap: balance; overflow-wrap: break-word; }
.dwr-story-title a { color: inherit; text-decoration: none; }
.dwr-story-title a:hover { color: var(--dwr-forest); }
.dwr-story-sub { margin: 16px 0 0; max-width: 34ch; font: 500 clamp(1.125rem, 1rem + .45vw, 1.375rem)/1.35 var(--dwr-f-sans); color: var(--dwr-green); }
.dwr-story-excerpt { margin: 16px 0 0; max-width: 46ch; font: 400 1.0625rem/1.65 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-story-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--dwr-rule); font: 400 var(--fs-small)/1.4 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-story-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.dwr-story-by { color: var(--dwr-muted); }
.dwr-story-byline a { font-weight: 600; color: var(--dwr-ink); }
.dwr-story-byline a:hover { color: var(--dwr-forest); text-decoration: underline; text-underline-offset: 3px; }
.dwr-story-byline .dwr-meta { margin: 0; }
.dwr-story-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 24px; }
.dwr-story-langs { display: inline-flex; flex-wrap: wrap; gap: 4px 12px; font: 400 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-story-langs a { font-weight: 600; color: var(--dwr-forest); text-decoration: underline; text-decoration-color: var(--dwr-gold); text-underline-offset: 4px; }
.dwr-story-visual { min-width: 0; }
.dwr-story-photo { margin: 0; }
.dwr-story-frame { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; background: var(--dwr-mist); box-shadow: 0 30px 60px -36px rgba(16, 30, 22, .55); }
.dwr-story-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transition: transform 1.4s var(--dwr-ease-out); }
.dwr-story-frame:hover img { transform: scale(1.025); }
.dwr-story-photo figcaption { display: flex; align-items: center; gap: 10px; margin-top: 12px; font: 400 var(--fs-label)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-story-photo figcaption::before { content: ""; width: 18px; height: 1px; background: var(--dwr-gold); flex: none; }
.dwr-story-cover { display: grid; place-items: center; }

.dwr-issuebar { background: var(--dwr-forest); color: var(--dwr-on-dark); }
.dwr-issuebar-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: 0; padding-block: 22px; }
.dwr-issuebar-grid--one { grid-template-columns: 1fr; }
.dwr-issuebar-issue { display: flex; align-items: center; gap: 22px; padding-right: clamp(24px, 3vw, 44px); min-width: 0; }
.dwr-issuebar-book { flex: none; }
.dwr-issuebar-book .dwr-book-stage--sm { --w: 84px; --t: 6px; padding: 2% 0 14%; margin-bottom: -10px; }
.dwr-issuebar-text, .dwr-issuebar-director > div { min-width: 0; }
.dwr-issuebar-k { margin: 0; font: 600 .75rem/1.4 var(--dwr-f-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--dwr-gold-soft); }
.dwr-issuebar-title { margin: 6px 0 0; font: 600 1.25rem/1.3 var(--dwr-f-serif); color: var(--dwr-on-dark); }
.dwr-issuebar-title a { color: inherit; }
.dwr-issuebar-title span { font: 400 1rem/1.4 var(--dwr-f-sans); color: var(--dwr-on-dark-muted); }
.dwr-issuebar-name { margin: 4px 0 0; font: 600 1.1875rem/1.3 var(--dwr-f-serif); color: var(--dwr-on-dark); }
.dwr-issuebar-name a { color: inherit; }
.dwr-issuebar-title a:hover, .dwr-issuebar-name a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.dwr-issuebar-actions { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 10px 0 0; }
.dwr-issuebar-actions a { display: inline-flex; align-items: center; gap: 6px; font: 600 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-on-dark); }
.dwr-issuebar-actions a:hover { color: var(--dwr-gold-soft); }
.dwr-issuebar-director { display: flex; align-items: center; gap: 18px; padding-left: clamp(24px, 3vw, 44px); border-left: 1px solid rgba(244, 241, 232, .16); }
.dwr-issuebar-portrait { flex: none; width: 76px; height: 76px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--dwr-forest), 0 0 0 3px var(--dwr-gold-soft); }
.dwr-issuebar :focus-visible { outline: 2px solid var(--dwr-gold-soft); outline-offset: 3px; }

/* Entrance (restrained): the photograph opens from the left edge, the headline rises word by word */
.dwr-js .dwr-story-frame { clip-path: inset(0 100% 0 0); transition: clip-path 1.1s var(--dwr-ease-out) .15s; }
.dwr-js .dwr-story-frame img { transform: scale(1.06); transition: transform 1.6s var(--dwr-ease-out) .15s; }
.dwr-ready .dwr-story-frame { clip-path: inset(0 0 0 0); }
.dwr-ready .dwr-story-frame img { transform: none; }
@media (prefers-reduced-motion: reduce) {
    .dwr-js .dwr-story-frame { clip-path: none !important; }
    .dwr-js .dwr-story-frame img { transform: none !important; }
}

@media (max-width: 991.98px) {
    .dwr-story-grid, .dwr-story-grid--cover { grid-template-columns: 1fr; gap: 26px; }
    .dwr-story-visual { order: -1; }
    .dwr-story-frame { aspect-ratio: 16 / 10; }
    html[data-theme] .dwr-site .dwr-story-title { max-width: 20ch; }
    .dwr-issuebar-grid { grid-template-columns: 1fr; padding-block: 18px; }
    .dwr-issuebar-issue { padding: 0 0 16px; }
    .dwr-issuebar-director { padding: 16px 0 0; border-left: 0; border-top: 1px solid rgba(244, 241, 232, .16); }
}
@media (max-width: 575.98px) {
    .dwr-story { padding-top: 16px; }
    html[data-theme] .dwr-site .dwr-story-title { font-size: clamp(2rem, 1.3rem + 3.6vw, 2.5rem); }
    .dwr-story-excerpt { font-size: 1rem; }
    .dwr-issuebar-issue { gap: 16px; }
    .dwr-issuebar-book .dwr-book-stage--sm { --w: 66px; --t: 5px; }
    .dwr-issuebar-portrait { width: 64px; height: 64px; }
    .dwr-issuebar-title { font-size: 1.125rem; }
}

/* First screen fits a laptop viewport: a slimmer masthead, a 3:2 photograph and a measured headline, so the lead
   story, its actions and the issue band are visible together at 1280×800 and above */
.dwr-mast-row { min-height: 78px; padding-block: 8px; }
.dwr-mast-emblem { width: 52px; height: 52px; }
.dwr-story { padding-top: clamp(22px, 2.6vw, 38px); }
.dwr-story-grid { padding-bottom: clamp(28px, 3vw, 44px); }
html[data-theme] .dwr-site .dwr-story-title { margin-top: 12px; font-size: clamp(2.25rem, 1.15rem + 2.35vw, 3.5rem); }
.dwr-story-sub { margin-top: 12px; }
.dwr-story-excerpt { margin-top: 12px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dwr-story-byline { margin-top: 18px; padding-top: 14px; }
.dwr-story-actions { margin-top: 18px; }
.dwr-story-frame { aspect-ratio: 3 / 2; }
@media (max-width: 991.98px) { .dwr-story-frame { aspect-ratio: 16 / 10; } .dwr-story-excerpt { -webkit-line-clamp: 4; } }
html[data-theme] .dwr-site .dwr-story-grid--cover .dwr-story-title { max-width: 20ch; }
@media (max-width: 575.98px) {
    .dwr-announce { font-size: .8125rem; }
    .dwr-announce .dwr-announce-tag { display: none; }
    .dwr-announce .dwr-wrap { padding-block: 7px; }
}

/* Q&A lists printed with their own markers ("1.", "•"): keep the printed markers only */
.dwr-site .dwr-prose ul.dwr-qa-list, .dwr-site ul.dwr-qa-list { list-style: none; padding-left: 0; }
.dwr-site ul.dwr-qa-list li { margin: 6px 0; }

/* ==========================================================================================================
   Newsletters: flat printed covers, archive rows, issue pages (Father's feedback: large readable covers with
   a summary, not small cards)
   ========================================================================================================== */
.dwr-flatcover { --cw: 300px; position: relative; display: block; width: 100%; max-width: var(--cw); aspect-ratio: 210 / 297; background: #fff; border-radius: 2px 4px 4px 2px; color: inherit;
    box-shadow: 1px 0 0 #e7e2d3, 2px 1px 0 #f5f1e6, 3px 2px 0 #dfd9c6, 0 2px 4px rgba(16, 30, 22, .12), 0 22px 38px -16px rgba(16, 30, 22, .45), 0 46px 70px -46px rgba(16, 30, 22, .5);
    transition: transform .5s var(--dwr-ease-out), box-shadow .5s var(--dwr-ease-out); }
.dwr-flatcover--lg { --cw: 380px; }
.dwr-flatcover img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.dwr-flatcover::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 6%; border-radius: 2px 0 0 2px; pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .22), rgba(255, 255, 255, .22) 42%, transparent); }
a.dwr-flatcover:hover { transform: translateY(-5px); box-shadow: 1px 0 0 #e7e2d3, 2px 1px 0 #f5f1e6, 3px 2px 0 #dfd9c6, 0 4px 8px rgba(16, 30, 22, .14), 0 30px 46px -16px rgba(16, 30, 22, .5), 0 56px 80px -46px rgba(16, 30, 22, .5); }

/* Archive: one row per edition */
.dwr-editions { display: grid; }
.dwr-edition { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: clamp(28px, 5vw, 76px); align-items: start; padding: clamp(36px, 5vw, 64px) 0; border-top: 1px solid var(--dwr-rule-strong); }
.dwr-edition[hidden] { display: none; }
.dwr-edition:first-child { padding-top: 0; border-top: 0; }
.dwr-edition--latest { grid-template-columns: minmax(260px, 380px) minmax(0, 1fr); }
.dwr-edition-cover { padding: 0 6px 8px 0; }
.dwr-edition-k { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0; font: 600 .75rem/1.4 var(--dwr-f-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--dwr-green); }
.dwr-edition-tag { padding: 3px 9px; border-radius: 3px; background: var(--dwr-forest); color: var(--dwr-gold-soft); font: 600 .6875rem/1.3 var(--dwr-f-sans); letter-spacing: .08em; }
html[data-theme] .dwr-site .dwr-edition-title { margin: 10px 0 0; font: 600 clamp(1.75rem, 1.2rem + 1.7vw, 2.5rem)/1.1 var(--dwr-f-serif); letter-spacing: -.015em; color: var(--dwr-ink); }
html[data-theme] .dwr-site .dwr-edition--latest .dwr-edition-title { font-size: clamp(2.125rem, 1.4rem + 2.4vw, 3.25rem); }
.dwr-edition-title a { color: inherit; text-decoration: none; }
.dwr-edition-title a:hover { color: var(--dwr-forest); }
.dwr-edition-theme { margin: 10px 0 0; font: 500 clamp(1.0625rem, 1rem + .3vw, 1.25rem)/1.4 var(--dwr-f-sans); color: var(--dwr-green); }
.dwr-edition-summary { margin: 14px 0 0; max-width: 62ch; font: 400 1.0625rem/1.7 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-edition-toc { list-style: none; margin: 22px 0 0; padding: 0; max-width: 62ch; border-top: 1px solid var(--dwr-rule); }
.dwr-edition-toc li { border-bottom: 1px solid var(--dwr-rule); }
.dwr-edition-toc a { display: grid; gap: 2px; padding: 11px 0; color: var(--dwr-ink); }
.dwr-edition-toc-t { font: 600 1rem/1.35 var(--dwr-f-sans); }
.dwr-edition-toc-a { font: 400 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-edition-toc a:hover .dwr-edition-toc-t { color: var(--dwr-forest); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--dwr-gold); }
.dwr-edition-meta { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 18px 0 0; font: 500 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-edition-actions { display: flex; flex-wrap: wrap; gap: 12px 14px; margin-top: 22px; }
@media (max-width: 767.98px) {
    .dwr-edition, .dwr-edition--latest { grid-template-columns: 1fr; gap: 26px; }
    .dwr-edition-cover { display: grid; place-items: center; padding: 0 0 6px; }
    .dwr-flatcover, .dwr-flatcover--lg { --cw: min(78vw, 300px); }
    .dwr-edition-actions .dwr-btn { flex: 1 1 180px; justify-content: center; }
}

/* Homepage: earlier editions */
.dwr-shelf2 { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: clamp(28px, 3.4vw, 48px); margin: 0; padding: 0; }
.dwr-shelf2 > li { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.dwr-shelf2 .dwr-flatcover { --cw: 260px; }
.dwr-shelf2-body { display: grid; gap: 6px; }
.dwr-shelf2-k { margin: 0; font: 600 .75rem/1.4 var(--dwr-f-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--dwr-green); }
html[data-theme] .dwr-site .dwr-shelf2 h3 { margin: 0; font: 600 1.375rem/1.2 var(--dwr-f-serif); }
.dwr-shelf2 h3 a { color: var(--dwr-ink); }
.dwr-shelf2 h3 a:hover { color: var(--dwr-forest); }
.dwr-shelf2-theme { margin: 0; font: 400 var(--fs-small)/1.5 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-shelf2-links { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 8px 0 0; }
.dwr-shelf2-links a { display: inline-flex; align-items: center; gap: 6px; font: 600 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-forest); }
.dwr-shelf2-links a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--dwr-gold); }
@media (max-width: 575.98px) { .dwr-shelf2 { grid-template-columns: 1fr; } .dwr-shelf2 > li { flex-direction: row; align-items: flex-start; gap: 18px; } .dwr-shelf2 .dwr-flatcover { --cw: 118px; flex: none; } }

/* Issue page */
.dwr-spot--page .dwr-flatcover--lg { --cw: 400px; }
.dwr-spot-summary { margin: 16px 0 0; max-width: 56ch; font: 400 1.0625rem/1.7 var(--dwr-f-sans); color: #e3e7e1; }
.dwr-head-lead { margin: 12px 0 0; max-width: 60ch; font: 400 1.0625rem/1.6 var(--dwr-f-sans); color: var(--dwr-ink-2); }
@media (max-width: 767.98px) { .dwr-spot--page .dwr-flatcover--lg { --cw: min(70vw, 300px); } }

/* Board preview: Consultants and Liturgical Committee as named lists (names and roles exactly as printed) */
.dwr-board-more { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(28px, 4vw, 64px); margin-top: clamp(40px, 5vw, 64px); padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid var(--dwr-rule-strong); }
.dwr-board-more .dwr-board-title { margin-top: 0; }
.dwr-board-names { list-style: none; margin: 14px 0 0; padding: 0; }
.dwr-board-names li { display: grid; gap: 1px; padding: 11px 0; border-bottom: 1px solid var(--dwr-rule); }
.dwr-board-names b { font: 600 1.0625rem/1.35 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-board-names span { font: 400 var(--fs-small)/1.45 var(--dwr-f-sans); color: var(--dwr-muted); }
/* Archive rows share one cover column, so every title and summary starts on the same line */
.dwr-edition, .dwr-edition--latest { grid-template-columns: minmax(220px, 340px) minmax(0, 1fr); }
.dwr-edition .dwr-flatcover, .dwr-edition .dwr-flatcover--lg { --cw: 340px; }
@media (max-width: 767.98px) { .dwr-edition, .dwr-edition--latest { grid-template-columns: 1fr; } .dwr-edition .dwr-flatcover, .dwr-edition .dwr-flatcover--lg { --cw: min(78vw, 300px); } }

/* Board preview lists and earlier editions: override legacy list/uppercase styles and use the full row */
html[data-theme] .dwr-site .dwr-board-more .dwr-board-names { column-count: 1; columns: auto; }
html[data-theme] .dwr-site .dwr-board-more .dwr-board-names li { display: grid; gap: 1px; break-inside: avoid; text-transform: none; letter-spacing: 0; }
html[data-theme] .dwr-site .dwr-board-more .dwr-board-names b { font: 600 1.0625rem/1.35 var(--dwr-f-sans); text-transform: none; letter-spacing: 0; }
html[data-theme] .dwr-site .dwr-board-more .dwr-board-names span { font: 400 var(--fs-small)/1.45 var(--dwr-f-sans); text-transform: none; letter-spacing: 0; }
.dwr-board-more { align-items: start; }
.dwr-shelf2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.dwr-shelf2 .dwr-flatcover { --cw: 300px; }
@media (max-width: 575.98px) {
    .dwr-shelf2 { grid-template-columns: minmax(0, 1fr); }
    .dwr-shelf2 > li { flex-direction: row; align-items: flex-start; gap: 18px; }
    .dwr-shelf2 .dwr-flatcover { --cw: 118px; flex: none; width: 118px; }
    .dwr-shelf2-body { min-width: 0; }
}

/* ==========================================================================================================
   Father's feedback, second round: flat covers only (no 3D mock-up), image-first archive cards, expanded
   full-width covers on phones, a directory of people that works with or without photographs
   ========================================================================================================== */
.dwr-flatcover--sm { --cw: 78px; border-radius: 1px 3px 3px 1px; box-shadow: 1px 0 0 #e7e2d3, 0 8px 16px -6px rgba(0, 0, 0, .55); }
.dwr-flatcover--sm::before { width: 8%; }
.dwr-flatcover--composed { display: block; background: linear-gradient(165deg, var(--dwr-forest-2), var(--dwr-forest)); color: var(--dwr-on-dark); }
.dwr-composed { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6%; padding: 12% 10%; text-align: center; }
.dwr-composed-emblem { width: 26%; height: auto; }
.dwr-composed b { font: 700 clamp(.8rem, 2.4vw, 1.4rem)/1.1 var(--dwr-f-sans); letter-spacing: .14em; }
.dwr-composed small { font: 500 clamp(.5rem, 1.3vw, .75rem)/1.3 var(--dwr-f-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--dwr-gold-soft); }
.dwr-composed-issue { font: 600 clamp(.75rem, 2vw, 1.15rem)/1.2 var(--dwr-f-serif); }
.dwr-composed-date { font: 500 clamp(.6rem, 1.4vw, .85rem)/1.2 var(--dwr-f-sans); color: var(--dwr-gold-soft); }
.dwr-flatcover--sm .dwr-composed { padding: 8%; gap: 4%; }
.dwr-flatcover--sm .dwr-composed small, .dwr-flatcover--sm .dwr-composed-date { display: none; }

/* Archive: the latest edition large, then every earlier edition as an image-first card */
.dwr-editions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(36px, 4vw, 56px) clamp(24px, 3vw, 44px); align-items: start; }
.dwr-edition--latest { grid-column: 1 / -1; padding: 0 0 clamp(36px, 4vw, 56px); border-top: 0; border-bottom: 1px solid var(--dwr-rule-strong); }
.dwr-edition--card { display: flex; flex-direction: column; gap: 22px; padding: 0; border: 0; }
.dwr-edition--card .dwr-edition-cover { padding: 0; }
.dwr-edition--card .dwr-flatcover { --cw: 100%; max-width: 100%; }
.dwr-edition--card .dwr-edition-toc { display: none; }
html[data-theme] .dwr-site .dwr-edition--card .dwr-edition-title { font-size: clamp(1.5rem, 1.2rem + .8vw, 1.875rem); }
.dwr-edition--card .dwr-edition-summary { font-size: 1rem; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.dwr-edition--card .dwr-edition-actions { margin-top: 18px; }
.dwr-edition--card .dwr-edition-actions .dwr-btn { min-height: 42px; padding: 0 16px; font-size: .9375rem; }
@media (max-width: 991.98px) { .dwr-editions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
    .dwr-editions { grid-template-columns: minmax(0, 1fr); gap: 48px; }
    .dwr-edition--latest { grid-template-columns: 1fr; padding-bottom: 48px; }
    .dwr-edition--card { gap: 20px; }
    /* expanded fully: the cover spans the width of the page, like the lead story */
    .dwr-edition .dwr-edition-cover { display: block; }
    .dwr-edition .dwr-flatcover, .dwr-edition .dwr-flatcover--lg, .dwr-edition--card .dwr-flatcover { --cw: 100%; max-width: 100%; }
    .dwr-edition--card .dwr-edition-summary { -webkit-line-clamp: unset; display: block; }
}

/* Flat covers in the homepage spotlight and the hero band */
.dwr-spot .dwr-flatcover--lg { --cw: 360px; }
.dwr-issuebar-book .dwr-flatcover { margin-bottom: 0; }
.dwr-issuebar-book { padding: 4px 4px 4px 0; }
.dwr-issuebar-issue, .dwr-issuebar-band { align-items: center; }
@media (max-width: 767.98px) { .dwr-spot .dwr-flatcover--lg { --cw: min(100%, 360px); } .dwr-spot-stage { justify-items: center; } }

/* People directory: editorial board, consultants, liturgical committee (portrait or monogram, name, role as printed) */
.dwr-people { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 6px clamp(20px, 3vw, 40px); margin: 0; padding: 0; }
.dwr-person { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--dwr-rule); min-width: 0; }
.dwr-person-photo { flex: none; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: linear-gradient(160deg, var(--dwr-mist), var(--dwr-sage-soft)); box-shadow: 0 0 0 1px var(--dwr-rule-strong); }
.dwr-person-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.dwr-person-mono { font: 600 1.125rem/1 var(--dwr-f-sans); letter-spacing: .02em; color: var(--dwr-green); }
.dwr-person-text { display: grid; gap: 2px; min-width: 0; }
.dwr-person-text b { font: 600 1.0625rem/1.3 var(--dwr-f-sans); color: var(--dwr-ink); overflow-wrap: anywhere; }
.dwr-person-text b a { color: inherit; }
.dwr-person-text b a:hover { color: var(--dwr-forest); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--dwr-gold); }
.dwr-person-role { font: 400 var(--fs-small)/1.45 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-people--lg { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.dwr-people--lg .dwr-person { gap: 20px; padding: 18px 0; }
.dwr-people--lg .dwr-person-photo { width: 96px; height: 96px; }
.dwr-people--lg .dwr-person-mono { font-size: 1.5rem; }
.dwr-people--lg .dwr-person-text b { font-size: 1.1875rem; }
.dwr-person--lead { grid-column: 1 / -1; padding: 22px 0; }
.dwr-person--lead .dwr-person-photo { width: 112px; height: 112px; }
.dwr-person--lead .dwr-person-text b { font: 600 1.375rem/1.25 var(--dwr-f-serif); }
.dwr-person-bio { margin-top: 6px; max-width: 64ch; font: 400 var(--fs-small)/1.6 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-board-more .dwr-board-group { min-width: 0; }
@media (max-width: 575.98px) { .dwr-people, .dwr-people--lg { grid-template-columns: minmax(0, 1fr); } .dwr-people--lg .dwr-person-photo { width: 80px; height: 80px; } }

/* Compact, sharper homepage details */
.dwr-about-mark { max-width: 220px; }
@media (max-width: 767.98px) {
    .dwr-about-mark { max-width: 96px; margin-bottom: 4px; }
    .dwr-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .dwr-topic { min-height: 96px; padding: 16px; gap: 14px; }
    .dwr-director--photo .dwr-director-photo { max-width: 200px; }
}
.dwr-director--photo .dwr-director-photo { max-width: 260px; }

/* Names in the directory are plain sentence-case text (overrides legacy uppercase list styles) */
html[data-theme] .dwr-site .dwr-person-text b, html[data-theme] .dwr-site .dwr-person-role, html[data-theme] .dwr-site .dwr-person-bio { text-transform: none; letter-spacing: 0; }

/* Phone: the earlier editions are a swipeable row of large covers (never small thumbnails) */
@media (max-width: 575.98px) {
    .dwr-shelf2 { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: -16px; padding: 4px 16px 18px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .dwr-shelf2::-webkit-scrollbar { display: none; }
    .dwr-shelf2 > li { flex: 0 0 78%; flex-direction: column; align-items: stretch; gap: 18px; scroll-snap-align: start; }
    .dwr-shelf2 .dwr-flatcover { --cw: 100%; width: 100%; max-width: 100%; flex: none; }
}
.dwr-topics { grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }
@media (max-width: 767.98px) { .dwr-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ==========================================================================================================
   Issue reader: the whole newsletter on one page — contents bar, every article in full, the original PDF inline
   ========================================================================================================== */
.dwr-reader { scroll-margin-top: 90px; }
.dwr-reader-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 32px; margin-bottom: clamp(22px, 3vw, 36px); }
.dwr-reader-head h2 { margin: 10px 0 0; font: 700 var(--fs-h2)/1.15 var(--dwr-f-sans); letter-spacing: -.02em; }
.dwr-reader-toc { position: sticky; top: 0; z-index: 20; margin: 0 0 clamp(36px, 5vw, 64px); padding: 12px 0; background: color-mix(in srgb, var(--dwr-ivory) 94%, transparent); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-block: 1px solid var(--dwr-rule-strong); }
.dwr-reader-toc ol { display: flex; flex-wrap: wrap; gap: 8px 10px; list-style: none; margin: 0; padding: 0; }
.dwr-reader-toc a { display: inline-flex; align-items: baseline; gap: 8px; max-width: 100%; padding: 8px 14px; border: 1px solid var(--dwr-rule-strong); border-radius: 999px; font: 600 var(--fs-meta)/1.3 var(--dwr-f-sans); color: var(--dwr-ink); background: var(--dwr-card); transition: background var(--dwr-t-fast), border-color var(--dwr-t-fast), color var(--dwr-t-fast); }
.dwr-reader-toc a:hover { border-color: var(--dwr-forest); background: var(--dwr-forest); color: #fff; }
.dwr-reader-toc-n { color: var(--dwr-gold-text); font-weight: 700; }
.dwr-reader-toc a:hover .dwr-reader-toc-n { color: var(--dwr-gold-soft); }
.dwr-reader-toc-t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 34ch; }
.dwr-reader-toc-a { display: none; }
.dwr-reader-article { max-width: 760px; margin: 0 auto clamp(48px, 7vw, 96px); scroll-margin-top: 80px; }
.dwr-reader-article + .dwr-reader-article { padding-top: clamp(36px, 5vw, 64px); border-top: 1px solid var(--dwr-rule-strong); }
.dwr-reader-article-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px 22px; align-items: start; margin-bottom: clamp(20px, 3vw, 32px); }
.dwr-reader-num { font: 700 1.125rem/1.6 var(--dwr-f-sans); color: var(--dwr-gold-text); letter-spacing: .04em; }
html[data-theme] .dwr-site .dwr-reader-article-head h3 { margin: 0; font: 600 clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem)/1.12 var(--dwr-f-serif); letter-spacing: -.015em; color: var(--dwr-ink); text-wrap: balance; }
.dwr-reader-sub { margin: 10px 0 0; font: 500 clamp(1.0625rem, 1rem + .35vw, 1.3125rem)/1.4 var(--dwr-f-sans); color: var(--dwr-green); }
.dwr-reader-by { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 12px 0 0; font: 400 var(--fs-small)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-reader-by a { font-weight: 600; color: var(--dwr-ink); }
.dwr-reader-by a:hover { color: var(--dwr-forest); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--dwr-gold); }
.dwr-reader-article .dwr-prose { max-width: none; }
.dwr-reader-article-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--dwr-rule); }
.dwr-reader-langs { display: inline-flex; flex-wrap: wrap; gap: 4px 12px; font: 400 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-reader-langs a { font-weight: 600; color: var(--dwr-forest); text-decoration: underline; text-decoration-color: var(--dwr-gold); text-underline-offset: 4px; }
.dwr-reader-article-foot .dwr-link:last-child { margin-left: auto; }
.dwr-reader-pdf { max-width: 760px; margin: 0 auto; border: 1px solid var(--dwr-rule-strong); border-radius: 8px; background: var(--dwr-card); overflow: hidden; }
.dwr-reader-pdf summary { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; padding: 18px 22px; cursor: pointer; list-style: none; font: 600 1.0625rem/1.3 var(--dwr-f-sans); color: var(--dwr-ink); }
.dwr-reader-pdf summary::-webkit-details-marker { display: none; }
.dwr-reader-pdf summary span { display: inline-flex; align-items: center; gap: 10px; }
.dwr-reader-pdf summary small { font: 400 var(--fs-meta)/1.4 var(--dwr-f-sans); color: var(--dwr-muted); }
.dwr-reader-pdf[open] summary { border-bottom: 1px solid var(--dwr-rule); }
.dwr-reader-pdf object { display: block; width: 100%; height: min(86vh, 1100px); }
.dwr-reader-pdf object p { padding: 22px; margin: 0; }
@media (max-width: 767.98px) {
    .dwr-reader-toc { margin-inline: -16px; padding: 10px 16px; overflow-x: auto; }
    .dwr-reader-toc ol { flex-wrap: nowrap; }
    .dwr-reader-toc a { flex: none; }
    .dwr-reader-article-head { grid-template-columns: 1fr; gap: 6px; }
    .dwr-reader-article-foot .dwr-link:last-child { margin-left: 0; }
    .dwr-reader-pdf object { height: 70vh; }
}

/* Calmer homepage: more air between the fewer sections, quieter rules */
.dwr-site .dwr-section { padding-block: clamp(56px, 7vw, 104px); }
.dwr-latest-list li { padding-block: 22px; }
.dwr-boardsec .dwr-board-more { border-top: 0; margin-top: clamp(28px, 4vw, 48px); padding-top: 0; }
.dwr-boardsec .dwr-board-more { grid-template-columns: minmax(0, 1fr); }
.dwr-spot-facts { margin-top: 22px; }

/* Footer on phones: everything left-aligned in one column of clear groups, the two link lists side by side */
@media (max-width: 767.98px) {
    html[data-theme] .dwr-site .dwr-footer, html[data-theme] .dwr-site .dwr-footer-top, html[data-theme] .dwr-site .dwr-footer-top > div { text-align: left; }
    .dwr-footer-top { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding-block: 44px 28px; }
    .dwr-footer-top > :first-child, .dwr-footer-top > :last-child { grid-column: 1 / -1; }
    .dwr-footer-top > :first-child { padding-bottom: 24px; border-bottom: 1px solid rgba(244, 241, 232, .14); }
    .dwr-footer-top > :last-child { padding-top: 24px; border-top: 1px solid rgba(244, 241, 232, .14); }
    .dwr-footer-brand { justify-content: flex-start; }
    .dwr-footer p { margin-inline: 0; }
    .dwr-footer ul { gap: 10px; justify-items: start; }
    html[data-theme] .dwr-site .dwr-footer-h { margin-bottom: 12px; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--dwr-gold-soft); }
    .dwr-footer-bottom { flex-direction: column; gap: 4px; }
}
@media (max-width: 767.98px) {
    html[data-theme] .dwr-site .dwr-footer-brand { flex-direction: row; align-items: center; justify-content: flex-start; text-align: left; }
    html[data-theme] .dwr-site .dwr-footer-brand img { width: 44px; margin: 0; }
    html[data-theme] .dwr-site .dwr-footer-top > :first-child p { text-align: left; }
}
@media (max-width: 767.98px) {
    .dwr-footer-top { align-items: start; }
    html[data-theme] .dwr-site .dwr-footer-top .dwr-footer-h { margin-top: 0; }
    html[data-theme] .dwr-site .dwr-footer-top > :last-child .dwr-footer-h[style] { margin-top: 20px !important; }
    html[data-theme] .dwr-site .dwr-footer-bottom { align-items: flex-start; text-align: left; }
}

/* End of the issue reading: the original newsletter to download, once read */
.dwr-reader-end { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 28px; max-width: 760px; margin: 0 auto; padding: 26px 28px; border-radius: 8px; background: var(--dwr-forest); color: var(--dwr-on-dark); }
.dwr-reader-end .dwr-kicker { color: var(--dwr-gold-soft); }
.dwr-reader-end p { margin: 8px 0 0; font: 500 1.0625rem/1.4 var(--dwr-f-sans); color: var(--dwr-on-dark); }
.dwr-reader-end .dwr-btn { background: var(--dwr-ivory); color: var(--dwr-forest); border-color: var(--dwr-ivory); }
.dwr-reader-end .dwr-btn:hover { background: #fff; color: var(--dwr-forest); }
html[data-theme] .dwr-site .dwr-reader-end .dwr-kicker { color: var(--dwr-gold-soft) !important; }
html[data-theme] .dwr-site .dwr-reader-end .dwr-btn, html[data-theme] .dwr-site .dwr-reader-end .dwr-btn:hover { color: var(--dwr-forest) !important; }
/* One clear, boxed action per newsletter */
.dwr-shelf2-links { margin-top: 14px; }
.dwr-shelf2-links .dwr-btn { min-height: 44px; padding: 0 20px; color: #fff; }
html[data-theme] .dwr-site .dwr-shelf2-links .dwr-btn { color: #fff; text-decoration: none; }

/* Newsletters archive: a heading for each year */
html[data-theme] .dwr-site .dwr-editions-year { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 14px; margin: clamp(8px, 2vw, 20px) 0 -8px; padding-bottom: 12px; border-bottom: 1px solid var(--dwr-rule-strong); font: 600 clamp(1.75rem, 1.4rem + 1vw, 2.25rem)/1 var(--dwr-f-serif); color: var(--dwr-ink); letter-spacing: -.01em; }
.dwr-editions-year small { font: 500 var(--fs-meta)/1 var(--dwr-f-sans); color: var(--dwr-muted); letter-spacing: 0; }
.dwr-editions-year[hidden] { display: none; }

/* Navigation between 992 and 1240 px: one line per item, tighter spacing, nothing wraps mid-word */
.dwr-menu > li > a, .dwr-menu > li > button { white-space: nowrap; }
@media (max-width: 1240px) {
    .dwr-menu { gap: 0; }
    .dwr-menu > li > a, .dwr-menu > li > button { padding: 0 8px; font-size: .875rem; }
    .dwr-nav.is-stuck .dwr-nav-mini { width: 34px; }
    .dwr-nav-mini span { display: none; }
}
@media (max-width: 1080px) {
    .dwr-menu > li > a, .dwr-menu > li > button { padding: 0 6px; font-size: .8125rem; }
    .dwr-nav .dwr-langnav--compact a, .dwr-nav .dwr-langnav--compact span { padding-inline: 8px; }
}

/* ==========================================================================================================
   Polish pass: one editorial voice for headings, cleaner panels, aligned edges
   ========================================================================================================== */
/* Section headings in the same serif as the article titles (journal voice); kickers and UI stay sans */
html[data-theme] .dwr-site :is(.dwr-head h2, .dwr-shelf-head h2, .dwr-reader-head h2) { font: 600 clamp(1.875rem, 1.4rem + 1.5vw, 2.625rem)/1.12 var(--dwr-f-serif); letter-spacing: -.015em; }
html[data-theme] .dwr-site .dwr-spot-title { font: 600 clamp(2.25rem, 1.5rem + 2.6vw, 3.5rem)/1.06 var(--dwr-f-serif); letter-spacing: -.02em; }
html[data-theme] .dwr-site .dwr-boardsec .dwr-director-name,
html[data-theme] .dwr-site .dwr-boardsec .dwr-director--photo .dwr-director-name { font: 600 clamp(1.75rem, 1.25rem + 1.6vw, 2.5rem)/1.15 var(--dwr-f-serif); letter-spacing: -.012em; }
html[data-theme] .dwr-site .dwr-page-title { font-family: var(--dwr-f-serif); font-weight: 600; letter-spacing: -.015em; }
html[data-theme] .dwr-site .dwr-cta h2, html[data-theme] .dwr-site .dwr-cta h3 { font-family: var(--dwr-f-serif); font-weight: 600; letter-spacing: -.01em; }

/* Newsletter panel: no inner frame line */
.dwr-spot::before { display: none; }

/* Earlier editions: buttons line up whatever the length of the theme line */
.dwr-shelf2 > li { height: 100%; }
.dwr-shelf2-body { flex: 1; display: flex; flex-direction: column; }
.dwr-shelf2-links { margin-top: auto; padding-top: 14px; }

/* Consultants preview aligned with the rest of the section */
.dwr-boardsec .dwr-board-more { margin-left: 0; margin-right: 0; }

/* Footer: one rule above the copyright line, not two */
.dwr-footer-top { border-bottom: 0; margin-bottom: 0; }

/* Less empty space around the closing invitation */
html[data-theme] .dwr-site #contribute.dwr-section { padding-block: clamp(48px, 5vw, 72px); }

/* Footer social icons: quiet outlined circles, gold on hover */
.dwr-footer .dwr-social, .dwr-social { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 22px 0 0; padding: 0; }
.dwr-social a, .dwr-social-soon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(244, 241, 232, .28); color: var(--dwr-on-dark); transition: background var(--dwr-t-fast), border-color var(--dwr-t-fast), color var(--dwr-t-fast), transform var(--dwr-t-fast); }
.dwr-social a:hover, .dwr-social a:focus-visible { background: var(--dwr-gold-soft); border-color: var(--dwr-gold-soft); color: var(--dwr-forest); text-decoration: none; transform: translateY(-2px); }
.dwr-social svg { width: 16px; height: 16px; }
.dwr-social-soon { cursor: default; }

/* Newsletter covers: a soft paper tone with the emblem while the printed cover loads (no blank white boxes) */
.dwr-flatcover:not(.dwr-flatcover--composed) { background: #efe9da url("../img/dwr-icon.png") center / 22% no-repeat; }

/* Larger portraits on the Editorial Board, Consultants and Liturgical Council (Father's request) */
.dwr-people { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.dwr-person { gap: 20px; padding: 16px 0; }
.dwr-person-photo { width: 92px; height: 92px; }
.dwr-person-mono { font-size: 1.4rem; }
.dwr-people--lg { grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr)); }
.dwr-people--lg .dwr-person { gap: 24px; padding: 20px 0; }
.dwr-people--lg .dwr-person-photo { width: 132px; height: 132px; }
.dwr-people--lg .dwr-person-mono { font-size: 1.9rem; }
.dwr-person--lead .dwr-person-photo { width: 150px; height: 150px; }
@media (max-width: 575.98px) {
  .dwr-person-photo { width: 76px; height: 76px; }
  .dwr-people--lg .dwr-person-photo { width: 104px; height: 104px; }
  .dwr-person--lead .dwr-person-photo { width: 116px; height: 116px; }
}

/* Light/dark switch in the header: moon in light mode, sun in dark mode */
.dwr-mode-btn .dwr-mode-sun { display: none; }
[data-bs-theme="dark"] .dwr-mode-btn .dwr-mode-sun { display: block; }
[data-bs-theme="dark"] .dwr-mode-btn .dwr-mode-moon { display: none; }
.dwr-mast-tools .dwr-mode-btn { width: 40px; height: 40px; border: 1px solid var(--dwr-rule-strong); border-radius: 50%; color: var(--dwr-green); }
/* Dark mode finishing: the theme's dark green page and readable masthead, account link and outline buttons */
[data-bs-theme="dark"] body { background-color: var(--dwr-ivory) !important; color: var(--dwr-ink); }
[data-bs-theme="dark"] :is(.dwr-mast-name, .dwr-mast-account, .dwr-nav-mini span, .dwr-mbar-brand b) { color: var(--dwr-ink) !important; }
[data-bs-theme="dark"] .dwr-mast-sub, [data-bs-theme="dark"] .dwr-mbar-brand small { color: var(--dwr-muted) !important; }
[data-bs-theme="dark"] .dwr-btn--ghost { color: var(--dwr-ink) !important; border-color: var(--dwr-rule-strong) !important; }
[data-bs-theme="dark"] .dwr-btn--ghost:hover { background: var(--dwr-mist) !important; }
[data-bs-theme="dark"] .dwr-mast-tools .dwr-mode-btn { color: var(--dwr-gold-soft); }
[data-bs-theme="dark"] .dwr-reader-end .dwr-btn { background: var(--dwr-gold-soft) !important; color: #1d3328 !important; border-color: var(--dwr-gold-soft) !important; }
[data-bs-theme="dark"] .btn-post-comment { background-color: #3f5a4d !important; border-color: #3f5a4d !important; color: #fff !important; }

/* Built-in cover (an edition without its printed cover): watermark green from the emblem, dark green lettering */
.dwr-flatcover--composed { background: linear-gradient(170deg, #eef6f0 0%, #d0e6d8 55%, #b9d9c4 100%); color: var(--dwr-forest); border: 1px solid #b5d3bf; }
.dwr-flatcover--composed .dwr-composed small, .dwr-flatcover--composed .dwr-composed-date { color: #3f5a4d; }
.dwr-flatcover--composed .dwr-composed-emblem { width: 34%; filter: drop-shadow(0 6px 14px rgba(29, 51, 40, .18)); }
.dwr-flatcover--composed img.dwr-composed-emblem { width: 62% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 0; }
.dwr-flatcover--composed :is(.dwr-composed b, .dwr-composed-issue) { color: #1d3328 !important; }
.dwr-flatcover--composed :is(.dwr-composed small, .dwr-composed-date) { color: #3f5a4d !important; }
/* Small logo cover (the "Current issue" band): fixed size, logo only, no lettering */
.dwr-flatcover--sm.dwr-flatcover--composed { width: 78px; min-width: 78px; flex: none; }
.dwr-flatcover--sm .dwr-composed { padding: 10%; justify-content: center; }
.dwr-flatcover--sm .dwr-composed :is(b, small, .dwr-composed-issue, .dwr-composed-date) { display: none !important; }
.dwr-flatcover--sm.dwr-flatcover--composed img.dwr-composed-emblem { width: 80% !important; }
/* Phones: the light/dark switch moves into the menu drawer so "DWR Africa" keeps its room in the top bar */
.dwr-drawer-head-tools { display: inline-flex; align-items: center; gap: 4px; }
@media (max-width: 520px) { .dwr-mbar .dwr-mode-btn { display: none; } }
@media (min-width: 521px) { .dwr-drawer-head-tools .dwr-mode-btn { display: none; } }
@media (max-width: 420px) {
  .dwr-mbar { gap: 4px; padding-left: 12px; }
  .dwr-mbar-brand { gap: 7px; }
  .dwr-mbar-brand img { width: 30px; }
  .dwr-mbar .dwr-langnav a, .dwr-mbar .dwr-langnav span { min-width: 27px; padding: 0 3px; }
  .dwr-mbar .dwr-icon-btn { width: 36px; }
}

/* ================================================================================================================
 * Sunday Reflection — Special Jubilee Year of St. Francis of Assisi (partials/_dwr_sunday.php, post/post.php).
 * Franciscan brown and gold from the Jubilee emblem, blended into the site's cream and sage.
 * ================================================================================================================ */
:root { --sun-brown: #5e3820; --sun-brown-2: #84522c; --sun-gold: #c79b4f; --sun-cream: #fbf3e6; --sun-cream-2: #f3e5cd; }

/* Ribbon, as on the Jubilee flyer */
.dwr-sunday-ribbon { display: inline-block; margin: 0 0 18px; padding: 8px 22px; border-radius: 999px; background: linear-gradient(180deg, var(--sun-brown-2), var(--sun-brown)); color: #fbf3e6; font: 700 .78rem/1.3 var(--dwr-f-sans); letter-spacing: .1em; text-transform: uppercase; box-shadow: 0 6px 16px -8px rgba(94, 56, 32, .7), inset 0 1px 0 rgba(255, 255, 255, .18); }

/* Section page: heading */
.dwr-sunday-hero { position: relative; overflow: hidden; padding: clamp(28px, 4vw, 48px) 0 clamp(36px, 5vw, 64px);
    background: radial-gradient(60% 90% at 78% 45%, rgba(255, 246, 226, .95), transparent 70%), linear-gradient(115deg, var(--sun-cream) 0%, var(--sun-cream-2) 38%, var(--dwr-ivory) 100%);
    border-bottom: 1px solid rgba(132, 82, 44, .18); }
.dwr-sunday-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--sun-brown-2), var(--sun-gold), #79b791, var(--sun-gold), var(--sun-brown-2)); }
.dwr-sunday-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.dwr-sunday-hero .dwr-crumbs { margin-bottom: 18px; }
.dwr-sunday-title { margin: 0; font: italic 600 clamp(2.8rem, 7vw, 5.2rem)/1 var(--dwr-f-serif); letter-spacing: -.01em;
    background: linear-gradient(100deg, var(--sun-brown) 0%, var(--sun-brown-2) 45%, var(--sun-gold) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .08em; }
.dwr-sunday-lead { margin: 16px 0 0; max-width: 34em; font: 400 1.125rem/1.6 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-sunday-line { display: flex; align-items: center; gap: 12px; margin: 22px 0 0; color: var(--sun-brown-2); font: 700 .9rem/1.3 var(--dwr-f-sans); }
.dwr-sunday-line::before, .dwr-sunday-line::after { content: ""; flex: 0 1 46px; height: 2px; background: currentColor; border-radius: 2px; box-shadow: 0 0 0 0 currentColor; }
.dwr-sunday-line span { white-space: nowrap; }
.dwr-sunday-line::before { background: radial-gradient(circle at left center, currentColor 5px, transparent 5.5px) left / 12px 12px no-repeat, linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat; height: 12px; }
.dwr-sunday-line::after { background: radial-gradient(circle at right center, currentColor 5px, transparent 5.5px) right / 12px 12px no-repeat, linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat; height: 12px; }
.dwr-sunday-motto { margin: 16px 0 0; font: italic 500 1.05rem/1.5 var(--dwr-f-serif); color: #2f5a3f; }
.dwr-sunday-emblem { margin: 0; justify-self: center; width: min(100%, 400px); }
.dwr-sunday-emblem img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; filter: drop-shadow(0 18px 26px rgba(94, 56, 32, .18)); }

/* Section page: latest reflection and earlier ones */
.dwr-sunday-list .dwr-kicker { color: var(--sun-brown-2); }
.dwr-sunday-lead-card { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 0; margin-top: 18px; background: var(--dwr-card); border: 1px solid rgba(132, 82, 44, .16); border-radius: 14px; overflow: hidden; box-shadow: 0 2px 6px rgba(94, 56, 32, .06), 0 26px 50px -30px rgba(94, 56, 32, .45); }
.dwr-sunday-lead-media { position: relative; display: block; min-height: 280px; background: var(--sun-cream-2); overflow: hidden; }
.dwr-sunday-lead-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.16, 1, .3, 1); }
.dwr-sunday-lead-card:hover .dwr-sunday-lead-media img { transform: scale(1.04); }
.dwr-sunday-date { position: absolute; left: 18px; top: 18px; display: grid; place-items: center; min-width: 74px; padding: 10px 12px 9px; border-radius: 10px; background: linear-gradient(180deg, var(--sun-brown-2), var(--sun-brown)); color: #fbf3e6; text-align: center; box-shadow: 0 10px 20px -10px rgba(94, 56, 32, .8); }
.dwr-sunday-date b { font: 600 2rem/1 var(--dwr-f-serif); }
.dwr-sunday-date small { margin-top: 4px; font: 700 .68rem/1 var(--dwr-f-sans); letter-spacing: .1em; text-transform: uppercase; color: #ecd7ad; }
.dwr-sunday-lead-body { padding: clamp(24px, 3.4vw, 44px); display: flex; flex-direction: column; }
.dwr-sunday-occasion { margin: 0 0 10px; color: var(--sun-brown-2); font: 700 .8rem/1.4 var(--dwr-f-sans); letter-spacing: .08em; text-transform: uppercase; }
.dwr-sunday-lead-body h2 { margin: 0; font: 600 clamp(1.7rem, 3vw, 2.4rem)/1.15 var(--dwr-f-serif); }
.dwr-sunday-lead-body h2 a, .dwr-sunday-earlier h3 a { color: var(--dwr-ink); text-decoration: none; }
.dwr-sunday-lead-body h2 a:hover, .dwr-sunday-earlier h3 a:hover { color: var(--sun-brown-2); }
.dwr-sunday-summary { margin: 14px 0 0; color: var(--dwr-ink-2); font: 400 1.05rem/1.65 var(--dwr-f-sans); }
.dwr-sunday-foot { margin-top: auto; padding-top: 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.dwr-sunday-foot .dwr-btn { background: linear-gradient(180deg, var(--sun-brown-2), var(--sun-brown)); border-color: var(--sun-brown); color: #fbf3e6; }
.dwr-sunday-by { display: inline-flex; align-items: center; gap: 10px; color: var(--dwr-ink); font: 600 .95rem/1.3 var(--dwr-f-sans); }
.dwr-sunday-by img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--dwr-card), 0 0 0 3px var(--sun-gold); }
.dwr-sunday-h { margin: clamp(40px, 5vw, 64px) 0 16px; font: 600 1.6rem/1.2 var(--dwr-f-serif); color: var(--dwr-ink); }
.dwr-sunday-earlier { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.dwr-sunday-earlier li { display: flex; gap: 18px; align-items: center; padding: 16px; background: var(--dwr-card); border: 1px solid rgba(132, 82, 44, .14); border-radius: 12px; }
.dwr-sunday-earlier .dwr-sunday-date { position: static; }
.dwr-sunday-earlier h3 { margin: 0 0 6px; font: 600 1.25rem/1.25 var(--dwr-f-serif); }
@media (max-width: 860px) {
    .dwr-sunday-hero-grid { grid-template-columns: minmax(0, 1fr); }
    .dwr-sunday-emblem { order: -1; width: min(70%, 280px); }
    .dwr-sunday-lead-card { grid-template-columns: minmax(0, 1fr); }
    .dwr-sunday-lead-media { min-height: 220px; aspect-ratio: 16 / 9; }
}
@media (max-width: 480px) { .dwr-sunday-line { font-size: .78rem; gap: 8px; } .dwr-sunday-line::before, .dwr-sunday-line::after { flex-basis: 22px; } .dwr-sunday-ribbon { font-size: .68rem; padding: 7px 14px; } }

/* A reflection's own page */
.dwr-article--sunday .dwr-article-head { background: radial-gradient(70% 100% at 50% 0%, rgba(255, 246, 226, .95), transparent 70%), linear-gradient(180deg, var(--sun-cream) 0%, var(--dwr-ivory) 100%); border-bottom: 1px solid rgba(132, 82, 44, .16); }
.dwr-sunday-mark { display: flex; flex-direction: column; align-items: center; margin: 4px auto 6px; text-align: center; }
.dwr-sunday-mark img { width: clamp(150px, 22vw, 220px); height: auto; mix-blend-mode: multiply; filter: drop-shadow(0 12px 18px rgba(94, 56, 32, .16)); margin-bottom: 14px; }
.dwr-article--sunday .dwr-article-head .dwr-wrap { text-align: center; }
.dwr-article--sunday .dwr-article-kickers, .dwr-article--sunday .dwr-article-byline { justify-content: center; }
.dwr-article--sunday .dwr-article-kickers .dwr-kicker { color: var(--sun-brown-2); }
.dwr-article--sunday .dwr-article-title { font-style: italic; color: var(--sun-brown); max-width: 18em; margin-inline: auto; }
.dwr-article--sunday .dwr-standfirst { margin-inline: auto; }
.dwr-article--sunday .dwr-prose .dwr-reflection-meta { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0 0 1.6em; padding: 16px 12px; text-align: center; color: var(--sun-brown-2); font: 500 .85rem/1.5 var(--dwr-f-sans); border-top: 2px solid var(--sun-gold); border-bottom: 2px solid var(--sun-gold); }
.dwr-article--sunday .dwr-prose .dwr-reflection-meta strong { font: 700 1.05rem/1.4 var(--dwr-f-serif); color: var(--sun-brown); }
.dwr-article--sunday .dwr-prose .dwr-reflection-meta + p::first-letter { float: left; margin: .06em .12em 0 0; font: 600 4.2em/.8 var(--dwr-f-serif); color: var(--sun-brown-2); }
.dwr-article--sunday .dwr-prose p { font-size: 1.12rem; line-height: 1.85; }
.dwr-article--sunday .dwr-prose .dwr-reflection-sign { margin-top: 2em; text-align: right; font: 400 1rem/1.4 var(--dwr-f-sans); color: var(--dwr-ink-2); }
.dwr-article--sunday .dwr-prose .dwr-reflection-sign strong { display: inline-block; font: italic 600 1.35rem/1.2 var(--dwr-f-serif); color: var(--sun-brown); }
.dwr-article--sunday .dwr-prose .dwr-reflection-sign::before { content: ""; display: block; width: 120px; height: 2px; margin: 0 0 14px auto; background: linear-gradient(90deg, transparent, var(--sun-gold)); }

/* Dark mode: warm brown night instead of cream; the emblem keeps its white paper on a soft round card */
[data-bs-theme="dark"] .dwr-sunday-hero { background: radial-gradient(60% 90% at 78% 45%, rgba(132, 82, 44, .35), transparent 70%), linear-gradient(115deg, #2a1d14 0%, #1f1a14 40%, var(--dwr-ivory) 100%); }
[data-bs-theme="dark"] .dwr-sunday-title { background: linear-gradient(100deg, #f0d9b0, var(--sun-gold)); -webkit-background-clip: text; background-clip: text; }
[data-bs-theme="dark"] .dwr-sunday-motto { color: #a9cfb6; }
[data-bs-theme="dark"] .dwr-sunday-line, [data-bs-theme="dark"] .dwr-sunday-occasion, [data-bs-theme="dark"] .dwr-sunday-list .dwr-kicker { color: #e2c28b; }
[data-bs-theme="dark"] :is(.dwr-sunday-emblem img, .dwr-sunday-mark img) { mix-blend-mode: normal; background: #fff; border-radius: 24px; padding: 10px; }
[data-bs-theme="dark"] .dwr-article--sunday .dwr-article-head { background: radial-gradient(70% 100% at 50% 0%, rgba(132, 82, 44, .3), transparent 70%), var(--dwr-ivory); }
[data-bs-theme="dark"] .dwr-article--sunday .dwr-article-title, [data-bs-theme="dark"] .dwr-article--sunday .dwr-prose .dwr-reflection-sign strong, [data-bs-theme="dark"] .dwr-article--sunday .dwr-prose .dwr-reflection-meta strong { color: #f0d9b0; }
[data-bs-theme="dark"] .dwr-article--sunday .dwr-prose .dwr-reflection-meta { color: #e2c28b; }
[data-bs-theme="dark"] .dwr-article--sunday .dwr-prose .dwr-reflection-meta + p::first-letter { color: #e2c28b; }

/* Motion: the emblem floats gently; off for reduced motion (dwr-motion only) */
@keyframes dwr-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.dwr-motion .dwr-sunday-emblem img { animation: dwr-float 6s ease-in-out infinite; }
/* Sunday Reflection: the emblem is a transparent cut-out (no blending needed); headings keep their own serif style
   over the theme's general heading rule */
.dwr-sunday-emblem img, .dwr-sunday-mark img { mix-blend-mode: normal; }
html[data-theme] .dwr-site .dwr-sunday-title { font-family: var(--dwr-f-serif); font-style: italic; font-weight: 600; letter-spacing: -.01em; color: transparent; -webkit-text-fill-color: transparent; }
html[data-theme] .dwr-site :is(.dwr-sunday-lead-body h2, .dwr-sunday-earlier h3, .dwr-sunday-h) { font-family: var(--dwr-f-serif); font-weight: 600; letter-spacing: -.005em; }
html[data-theme] .dwr-site .dwr-article--sunday .dwr-article-title { font-family: var(--dwr-f-serif); font-style: italic; font-weight: 600; color: var(--sun-brown); }
[data-bs-theme="dark"] .dwr-site .dwr-article--sunday .dwr-article-title { color: #f0d9b0 !important; }

.dwr-authorbox-role { margin: -2px 0 10px; color: var(--sun-brown-2, #84522c); font: italic 500 .95rem/1.4 var(--dwr-f-serif); }
[data-bs-theme="dark"] .dwr-authorbox-role { color: #e2c28b; }

.dwr-sunday-earlier .dwr-sunday-month { display: block; padding: 18px 2px 2px; background: none; border: 0; color: var(--sun-brown-2, #84522c); font: 700 .78rem/1.3 var(--dwr-f-sans); letter-spacing: .12em; text-transform: uppercase; }
[data-bs-theme="dark"] .dwr-sunday-earlier .dwr-sunday-month { color: #e2c28b; }

/* Sunday Reflection — interactive layer: search, month chips, preview, reading tools, older/newer */
.dwr-sunday-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 0 0 18px; }
.dwr-sunday-search { position: relative; flex: 1 1 260px; max-width: 420px; display: flex; align-items: center; }
.dwr-sunday-search svg { position: absolute; left: 14px; color: var(--sun-brown-2, #84522c); pointer-events: none; }
.dwr-sunday-search input { width: 100%; height: 46px; padding: 0 16px 0 40px; border: 1px solid rgba(132, 82, 44, .3); border-radius: 999px; background: var(--dwr-card); color: var(--dwr-ink); font: 400 1rem/1 var(--dwr-f-sans); transition: border-color .2s ease, box-shadow .2s ease; }
.dwr-sunday-search input:focus { outline: none; border-color: var(--sun-gold, #c79b4f); box-shadow: 0 0 0 4px rgba(199, 155, 79, .22); }
.dwr-sunday-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dwr-sunday-chip { height: 36px; padding: 0 14px; border: 1px solid rgba(132, 82, 44, .28); border-radius: 999px; background: var(--dwr-card); color: var(--sun-brown, #5e3820); font: 600 .82rem/1 var(--dwr-f-sans); cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease; }
.dwr-sunday-chip:hover { transform: translateY(-1px); border-color: var(--sun-gold, #c79b4f); }
.dwr-sunday-chip[aria-pressed="true"] { background: linear-gradient(180deg, var(--sun-brown-2, #84522c), var(--sun-brown, #5e3820)); border-color: var(--sun-brown, #5e3820); color: #fbf3e6; }
.dwr-sunday-earlier li[hidden] { display: none !important; }
.dwr-sunday-earlier li:not(.dwr-sunday-month) { align-items: flex-start; transition: transform .35s cubic-bezier(.16, 1, .3, 1), box-shadow .35s ease, border-color .25s ease; }
.dwr-sunday-earlier li:not(.dwr-sunday-month):hover { transform: translateY(-2px); border-color: rgba(199, 155, 79, .55); box-shadow: 0 16px 30px -20px rgba(94, 56, 32, .5); }
.dwr-sunday-item { flex: 1 1 auto; min-width: 0; }
.dwr-sunday-item-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.dwr-sunday-peek { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 1px solid rgba(132, 82, 44, .28); border-radius: 999px; background: transparent; color: var(--sun-brown-2, #84522c); font: 600 .8rem/1 var(--dwr-f-sans); cursor: pointer; }
.dwr-sunday-peek[aria-expanded="true"] { background: rgba(199, 155, 79, .16); }
.dwr-sunday-preview { margin-top: 12px; padding: 14px 16px; border-left: 3px solid var(--sun-gold, #c79b4f); background: rgba(251, 243, 230, .7); border-radius: 0 10px 10px 0; animation: dwr-peek .35s cubic-bezier(.16, 1, .3, 1); }
.dwr-sunday-preview p { margin: 0 0 8px; color: var(--dwr-ink-2); font: 400 1rem/1.6 var(--dwr-f-sans); }
@keyframes dwr-peek { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Reading tools on a reflection */
.dwr-sunday-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 22px auto 0; }
.dwr-sunday-tool { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 15px; border: 1px solid rgba(132, 82, 44, .3); border-radius: 999px; background: var(--dwr-card); color: var(--sun-brown, #5e3820); font: 600 .85rem/1 var(--dwr-f-sans); text-decoration: none; cursor: pointer; transition: background .2s ease, transform .2s ease, border-color .2s ease; }
.dwr-sunday-tool:hover { transform: translateY(-1px); border-color: var(--sun-gold, #c79b4f); text-decoration: none; color: var(--sun-brown, #5e3820); }
.dwr-sunday-tool[data-sunday-listen] { background: linear-gradient(180deg, var(--sun-brown-2, #84522c), var(--sun-brown, #5e3820)); border-color: var(--sun-brown, #5e3820); color: #fbf3e6; }
.dwr-sunday-tool[data-sunday-listen]:hover { color: #fff; }
.dwr-sunday-tool[aria-pressed="true"] { box-shadow: 0 0 0 4px rgba(199, 155, 79, .3); }
.dwr-sunday-tool--wa { border-color: rgba(37, 211, 102, .5); }
.dwr-sunday-size { display: inline-flex; }
.dwr-sunday-size .dwr-sunday-tool:first-child { border-radius: 999px 0 0 999px; border-right-width: 0; }
.dwr-sunday-size .dwr-sunday-tool:last-child { border-radius: 0 999px 999px 0; }
.dwr-article--sunday .dwr-prose { transition: font-size .25s ease; }

/* Older / newer reflection */
.dwr-sunday-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 2.4em 0 1em; }
.dwr-sunday-pager-link { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px solid rgba(132, 82, 44, .2); border-radius: 12px; background: var(--dwr-card); color: var(--dwr-ink); text-decoration: none; transition: transform .35s cubic-bezier(.16, 1, .3, 1), box-shadow .35s ease, border-color .25s ease; }
.dwr-sunday-pager-link:hover { transform: translateY(-2px); border-color: rgba(199, 155, 79, .6); box-shadow: 0 16px 30px -20px rgba(94, 56, 32, .5); text-decoration: none; color: var(--dwr-ink); }
.dwr-sunday-pager-link--next { text-align: right; }
.dwr-sunday-pager-k { color: var(--sun-brown-2, #84522c); font: 700 .74rem/1.3 var(--dwr-f-sans); letter-spacing: .1em; text-transform: uppercase; }
.dwr-sunday-pager-link b { font: italic 600 1.08rem/1.3 var(--dwr-f-serif); color: var(--sun-brown, #5e3820); }
.dwr-sunday-pager-link small { color: var(--dwr-muted); font-size: .82rem; }
@media (max-width: 575.98px) { .dwr-sunday-pager { grid-template-columns: 1fr; } .dwr-sunday-pager-link--next { text-align: left; } .dwr-sunday-bar { justify-content: flex-start; } }

/* Dark mode */
[data-bs-theme="dark"] :is(.dwr-sunday-chip, .dwr-sunday-tool, .dwr-sunday-peek, .dwr-sunday-pager-k) { color: #e2c28b; }
[data-bs-theme="dark"] .dwr-sunday-pager-link b { color: #f0d9b0; }
[data-bs-theme="dark"] .dwr-sunday-preview { background: rgba(132, 82, 44, .18); }
[data-bs-theme="dark"] .dwr-sunday-chip[aria-pressed="true"], [data-bs-theme="dark"] .dwr-sunday-tool[data-sunday-listen] { color: #fbf3e6; }

/* reading size chosen with A- / A+ (dwr-premium.js sets --dwr-read) */
.dwr-article--sunday .dwr-prose :is(p, li) { font-size: calc(1.12rem * var(--dwr-read, 1)) !important; transition: font-size .25s ease; }
.dwr-article--sunday .dwr-prose .dwr-reflection-meta { font-size: calc(.85rem * var(--dwr-read, 1)) !important; }

/* Listening: the paragraph being read is softly highlighted; the voice choice sits beside Listen */
.dwr-article--sunday .dwr-prose p { transition: background .4s ease, box-shadow .4s ease, font-size .25s ease; border-radius: 6px; }
.dwr-article--sunday .dwr-prose p.is-reading { background: rgba(199, 155, 79, .16); box-shadow: -10px 0 0 rgba(199, 155, 79, .16), 10px 0 0 rgba(199, 155, 79, .16), inset 3px 0 0 var(--sun-gold, #c79b4f); }
[data-bs-theme="dark"] .dwr-article--sunday .dwr-prose p.is-reading { background: rgba(199, 155, 79, .14); }
.dwr-sunday-voice { appearance: auto; padding-right: 10px; }

/* Father's own recording of a reflection (post/post.php, dwr-premium.js) */
.dwr-voice { display: flex; align-items: center; gap: 18px; max-width: 640px; margin: 24px auto 0; padding: 16px 20px; text-align: left; background: linear-gradient(135deg, #fbf3e6, #f3e5cd 60%, #e9f2ec); border: 1px solid rgba(132, 82, 44, .22); border-radius: 18px; box-shadow: 0 18px 36px -24px rgba(94, 56, 32, .55); }
.dwr-voice-photo { flex: none; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--sun-gold, #c79b4f); }
.dwr-voice.is-playing .dwr-voice-photo { animation: dwr-voice-pulse 1.6s ease-in-out infinite; }
@keyframes dwr-voice-pulse { 0%, 100% { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--sun-gold, #c79b4f); } 50% { box-shadow: 0 0 0 3px #fff, 0 0 0 10px rgba(199, 155, 79, .35); } }
.dwr-voice-main { flex: 1 1 auto; min-width: 0; }
.dwr-voice-k { margin: 0; font: italic 600 1.15rem/1.25 var(--dwr-f-serif); color: var(--sun-brown, #5e3820); }
.dwr-voice-sub { margin: 2px 0 10px; font: 500 .82rem/1.3 var(--dwr-f-sans); color: var(--sun-brown-2, #84522c); }
.dwr-voice audio { width: 100%; }
.dwr-voice-ui { display: flex; align-items: center; gap: 12px; }
.dwr-voice-play { flex: none; width: 46px; height: 46px; border: 0; border-radius: 50%; background: linear-gradient(180deg, var(--sun-brown-2, #84522c), var(--sun-brown, #5e3820)); color: #fbf3e6; font-size: 1rem; cursor: pointer; box-shadow: 0 8px 16px -8px rgba(94, 56, 32, .8); transition: transform .2s ease; }
.dwr-voice-play:hover { transform: scale(1.06); }
.dwr-voice-seek { flex: 1 1 auto; min-width: 60px; height: 6px; -webkit-appearance: none; appearance: none; border-radius: 6px; background: linear-gradient(90deg, var(--sun-gold, #c79b4f) var(--p, 0%), rgba(132, 82, 44, .2) var(--p, 0%)); cursor: pointer; }
.dwr-voice-seek::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; border-radius: 50%; background: var(--sun-brown, #5e3820); border: 2px solid #fff; }
.dwr-voice-seek::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: var(--sun-brown, #5e3820); border: 2px solid #fff; }
.dwr-voice-time { flex: none; min-width: 74px; font: 600 .8rem/1 var(--dwr-f-sans); color: var(--sun-brown, #5e3820); font-variant-numeric: tabular-nums; }
.dwr-voice-speed { flex: none; height: 32px; padding: 0 10px; border: 1px solid rgba(132, 82, 44, .3); border-radius: 999px; background: #fff; color: var(--sun-brown, #5e3820); font: 700 .8rem/1 var(--dwr-f-sans); cursor: pointer; }
@media (max-width: 480px) { .dwr-voice { padding: 14px; gap: 12px; } .dwr-voice-photo { width: 48px; height: 48px; } .dwr-voice-time { min-width: 0; } }
[data-bs-theme="dark"] .dwr-voice { background: linear-gradient(135deg, #2a1d14, #1f1a14 60%, #1b2420); border-color: rgba(199, 155, 79, .3); }
[data-bs-theme="dark"] :is(.dwr-voice-k, .dwr-voice-time) { color: #f0d9b0; }
[data-bs-theme="dark"] .dwr-voice-sub { color: #e2c28b; }
/* "Father's voice" badge on the Sunday Reflection list */
.dwr-sunday-voicebadge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; background: rgba(199, 155, 79, .2); color: var(--sun-brown, #5e3820); font: 700 .72rem/1.3 var(--dwr-f-sans); letter-spacing: .02em; }
[data-bs-theme="dark"] .dwr-sunday-voicebadge { color: #f0d9b0; }

/* Share an edition (partials/_dwr_issue.php): the link alone brings its cover into WhatsApp, Facebook and X */
.dwr-issue-share { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; margin-top: 4px; }
.dwr-issue-share-btn { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; background: rgba(255, 255, 255, .08); color: #fff; font: 600 .82rem/1 var(--dwr-f-sans); text-decoration: none; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.dwr-issue-share-btn:hover { background: rgba(255, 255, 255, .18); color: #fff; transform: translateY(-1px); text-decoration: none; }
.dwr-issue-share-btn--wa { background: #25d366; border-color: #25d366; color: #073b1c; }
.dwr-issue-share-btn--wa:hover { background: #3be27a; color: #073b1c; }

/* Share row at the top of an article or reflection (post/post.php) */
.dwr-share-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 18px auto 0; }
.dwr-share-top-k { font: 700 .72rem/1 var(--dwr-f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--dwr-muted, #5d6b64); margin-right: 2px; }
.dwr-share-top-btn { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid rgba(39, 68, 58, .25); border-radius: 999px; background: var(--dwr-card, #fff); color: var(--dwr-ink, #1f2a25); font: 600 .82rem/1 var(--dwr-f-sans); text-decoration: none; cursor: pointer; transition: transform .2s ease, border-color .2s ease; }
.dwr-share-top-btn:hover { transform: translateY(-1px); border-color: #27443a; color: var(--dwr-ink, #1f2a25); text-decoration: none; }
.dwr-share-top-btn--wa { background: #25d366; border-color: #25d366; color: #073b1c; }
.dwr-share-top-btn--wa:hover { color: #073b1c; border-color: #1fb457; }
[data-bs-theme="dark"] .dwr-share-top-btn:not(.dwr-share-top-btn--wa) { border-color: rgba(255, 255, 255, .25); color: #eef3ef; }
