@font-face {
    font-family: "Dela Gothic One";
    src: url("/assets/fonts/DelaGothicOne-Regular.woff") format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/assets/fonts/Manrope-VariableFont_wght.woff") format("woff");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

:root {
    --color-highlight: #d9f216;
    --color-purple: #3726a6;
    --color-ink: #1a1a1a;
    --color-white: #ffffff;
    --color-dark: #181526;
    --font-body: "Manrope", sans-serif;
    --font-heading: "Dela Gothic One", sans-serif;
    --content-width: 75rem;
    --gutter: 1rem;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    min-block-size: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--color-white);
    color: var(--color-ink);
    font: 400 1rem / 1.6 var(--font-body);
}

main { flex: 1; }

button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
button { color: inherit; }
a { color: inherit; text-underline-offset: .2em; }
img { display: block; max-inline-size: 100%; block-size: auto; }
h1, h2, h3, p { margin-block-start: 0; }
h1, h2, h3 { line-height: 1.25; }
[hidden] { display: none !important; }

:focus-visible { outline: 3px solid var(--color-purple); outline-offset: 4px; }
.site-header :focus-visible, .hero :focus-visible, .site-footer :focus-visible,
.community-section summary:focus-visible { outline-color: var(--color-highlight); }

.container {
    inline-size: calc(100% - var(--gutter) * 2);
    max-inline-size: var(--content-width);
    margin-inline: auto;
}

.visually-hidden {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.skip-link {
    position: fixed;
    inset-block-start: .5rem;
    inset-inline-start: .5rem;
    z-index: 20;
    padding: .75rem 1rem;
    background: var(--color-highlight);
    color: var(--color-dark);
    transform: translateY(-160%);
    font-weight: 800;
}
.skip-link:focus { transform: translateY(0); }

.site-header, .site-footer { background: var(--color-dark); color: var(--color-white); }
.site-header { position: relative; z-index: 5; }
.header-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding-block: 1rem; }
.brand { flex-shrink: 0; max-inline-size: 100%; }
.brand img { inline-size: 10.1875rem; block-size: auto; }
.menu-toggle { display: inline-flex; align-items: center; gap: .5rem; min-block-size: 44px; padding: .5rem .65rem; background: transparent; color: var(--color-white); border: 1px solid #aaa6b8; border-radius: .2rem; }
.menu-icon { display: grid; gap: 4px; inline-size: 1.1rem; }
.menu-icon span { display: block; block-size: 2px; background: currentColor; }
.main-navigation { inline-size: 100%; }
.navigation-list, .submenu, .news-list, .tile-grid, .social-links { list-style: none; margin: 0; padding: 0; }
.navigation-list { display: flex; flex-wrap: wrap; align-items: start; gap: .125rem .5rem; }
.navigation-list > li { position: relative; }
.navigation-list a, .about-menu > summary { display: flex; align-items: center; min-block-size: 44px; padding: .5rem .3rem; text-decoration: none; font-size: .9375rem; }
.navigation-list a:hover, .about-menu > summary:hover { color: var(--color-highlight); text-decoration: underline; }
.about-menu > summary { color: var(--color-highlight); list-style: none; }
.about-menu > summary::-webkit-details-marker { display: none; }
.about-menu > summary::after { content: "⌄"; margin-inline-start: .25rem; font-size: .85em; }
.about-menu[open] > summary::after { content: "⌃"; }
.submenu { position: absolute; z-index: 6; inline-size: max-content; max-inline-size: min(20rem, calc(100vw - 2rem)); padding: .5rem; background: var(--color-dark); border: 1px solid #777186; box-shadow: 0 .75rem 1.5rem #0003; }
.submenu a { padding-inline: .75rem; }

.hero {
    position: relative;
    overflow: hidden;
    color: var(--color-white);
    background-color: var(--color-dark);
    background-image: linear-gradient(#18152635, #18152665), url("/assets/images/rpg-landscape.jpg");
    background-position: center;
    background-size: cover;
}
.hero-slide { min-block-size: 25rem; display: grid; align-items: center; }
.hero-content { display: grid; justify-items: center; gap: 1.25rem; padding: 3.5rem 2.25rem 5.5rem; text-align: center; }
.campaign-art { inline-size: min(100%, 26rem); }
.hero h3 { max-inline-size: 20ch; margin: 0; font: 400 clamp(1.25rem, 5vw, 2.5rem) / 1.35 var(--font-heading); text-shadow: 0 2px 8px #000c; overflow-wrap: anywhere; }
.slide-arrow { position: absolute; inset-block-start: calc(50% - 1.75rem); display: grid; place-items: center; inline-size: 44px; min-block-size: 56px; padding: 0; border: 0; border-radius: .25rem; background: #18152675; color: var(--color-white); }
.slide-arrow span { font: 300 4rem / .8 sans-serif; transform: translateY(-.1em); }
.slide-arrow:hover { background: var(--color-dark); }
.previous { inset-inline-start: .25rem; }
.next { inset-inline-end: .25rem; }
.carousel-toolbar { position: absolute; inset-block-end: .5rem; inset-inline: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .75rem; }
.slide-selectors { display: flex; }
.slide-selectors button { display: grid; place-items: center; inline-size: 44px; min-block-size: 44px; padding: 0; border: 0; background: transparent; color: var(--color-white); }
.slide-selectors button span { inline-size: .5rem; block-size: .5rem; border: 1px solid var(--color-white); border-radius: 50%; background: #ffffff66; }
.slide-selectors button[aria-current="true"] span { background: var(--color-white); outline: 2px solid var(--color-white); outline-offset: 3px; }
.rotation-toggle { display: inline-flex; align-items: center; gap: .45rem; min-block-size: 44px; padding: .4rem .7rem; background: #181526bb; color: var(--color-white); border: 1px solid #ffffff80; border-radius: .2rem; font-size: .8125rem; }
.rotation-symbol { min-inline-size: .8rem; }

.homepage-content { padding-block: 1rem 1.5rem; }
.overview-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; align-items: start; }
.overview-grid > * { min-inline-size: 0; }
.community-sections { display: grid; gap: .75rem; }
.community-section { scroll-margin-block-start: 1rem; }
.community-section summary { display: flex; justify-content: space-between; align-items: center; gap: .5rem; min-block-size: 5rem; padding: .75rem 1rem; list-style: none; background: var(--color-dark); color: var(--color-highlight); }
.community-section summary::-webkit-details-marker { display: none; }
.community-section h2, .news-panel > h2 { margin: 0; font: 400 clamp(1.15rem, 4.6vw, 2.25rem) / 1.35 var(--font-heading); overflow-wrap: anywhere; }
.disclosure-symbol { flex-shrink: 0; font: 400 1.5rem / 1 var(--font-body); }
.community-section[open] .disclosure-symbol { transform: rotate(45deg); }
.section-content { border: 1px solid #dedce4; padding: 1.25rem; }
.section-content p { margin-block-end: .75rem; }
.section-content > :last-child { margin-block-end: 0; }
.text-link { font-weight: 800; color: var(--color-purple); }
.news-panel { background: var(--color-highlight); scroll-margin-block-start: 1rem; }
.news-panel > h2 { min-block-size: 5rem; display: flex; align-items: center; padding: .75rem 1rem; background: var(--color-dark); color: var(--color-highlight); }
.news-body { padding: .75rem 1rem 1rem; }
.sample-label { margin-block-end: .35rem; font-size: .75rem; font-weight: 800; }
.news-list a { display: flex; align-items: baseline; gap: .45rem; min-block-size: 44px; padding-block: .5rem; text-decoration: none; font-size: .875rem; line-height: 1.5; }
.news-list a:hover span { text-decoration: underline; }
.news-list a span { min-inline-size: 0; overflow-wrap: anywhere; }
.news-list time { font-weight: 800; white-space: nowrap; }
.news-list time::after { content: " –"; font-weight: 400; }
.tiles-section { margin-block-start: 1.75rem; }
.tile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.placeholder-tile { aspect-ratio: 270 / 220; background: var(--color-dark); }
.prototype-note { margin-block-start: 1.25rem; color: #55515d; font-size: .8125rem; }
.prototype-note p { margin: 0; }

.footer-inner { display: flex; flex-direction: column; align-items: center; gap: .25rem; padding-block: .5rem; text-align: center; }
.footer-inner p { margin: 0; font-size: .75rem; }
.footer-inner p a { display: inline-block; padding-block: .5rem; }
.social-links { display: flex; }
.social-links a { display: grid; place-items: center; inline-size: 44px; min-block-size: 44px; }
.social-links a:hover { background: var(--color-purple); }
.preview-dialog { inline-size: min(32rem, calc(100% - 2rem)); max-block-size: calc(100% - 2rem); padding: 1.5rem; border: 0; color: var(--color-ink); background: var(--color-white); box-shadow: 0 1rem 4rem #0005; }
.preview-dialog::backdrop { background: #181526bb; }
.preview-dialog h2 { font-family: var(--font-heading); font-size: 1.25rem; overflow-wrap: anywhere; }
.button { min-block-size: 44px; padding: .65rem 1rem; border: 2px solid var(--color-purple); background: var(--color-purple); color: var(--color-white); font-weight: 800; }
.button:hover { background: var(--color-highlight); color: var(--color-dark); }

@media (min-width: 40rem) {
    :root { --gutter: 1.5rem; }
    .hero-content { padding-inline: 3rem; }
    .community-section h2, .news-panel > h2 { font-size: 1.65rem; }
    .footer-inner { flex-direction: row; justify-content: space-between; text-align: start; }
}

@media (min-width: 52rem) {
    .header-inner { min-block-size: 5rem; padding-block: .5rem; padding-inline: 1.875rem; }
    .main-navigation { inline-size: auto; }
    .navigation-list { gap: .5rem; }
    .menu-toggle { display: none; }
    .hero-content { grid-template-columns: 1fr 1fr; gap: 2rem; padding: 3rem 1.875rem 7rem; text-align: start; }
    .hero h3 { justify-self: start; font-size: clamp(1.65rem, 2.2vw, 2.5rem); }
    .previous { inset-inline-start: max(.5rem, calc((100vw - 75rem) / 2)); }
    .next { inset-inline-end: max(.5rem, calc((100vw - 75rem) / 2)); }
    .overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
    .tile-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem; }
    .news-body { min-block-size: 11.5rem; }
}

@media (min-width: 70rem) {
    .community-section h2, .news-panel > h2 { font-size: 2.25rem; }
    .news-list a { font-size: .875rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; }
}

@media (forced-colors: active) {
    .placeholder-tile { border: 1px solid CanvasText; }
    .slide-selectors button span { background: ButtonFace; border-color: ButtonText; }
    .slide-selectors button[aria-current="true"] span { background: Highlight; outline-color: Highlight; }
    .community-section summary, .news-panel > h2 { border: 1px solid CanvasText; }
}

/* Games directory: designer's five horizontal bands; mobile-first. */
.games-page .navigation-list a[aria-current="page"] { color: var(--color-highlight); text-decoration: underline; text-underline-offset: .35em; }
.game-list { display: block; }
.game-band { min-block-size: 10.75rem; display: grid; align-items: center; }
.game-band__inner { min-block-size: 10.75rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 1rem; row-gap: 0; padding-block: 1.5rem; }
.game-band__art { grid-column: 1; inline-size: min(100%, 21rem); block-size: auto; justify-self: center; }
.game-band h2 { grid-column: 1; margin: 0; font: 400 clamp(1.1rem, 4vw, 2.15rem)/1.35 var(--font-heading); text-align: center; overflow-wrap: anywhere; }
.game-band__action { grid-column: 2; grid-row: 1 / span 2; display: grid; place-items: center; min-inline-size: 48px; min-block-size: 56px; color: inherit; border-radius: .25rem; text-decoration: none; font: 400 2.7rem/1 sans-serif; }
.game-band__action:hover { background: #0002; }
.game-band__action:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.game-band--scenic { color: #fff; background: linear-gradient(90deg,#18152680,#181526bf),url('/assets/images/rpg-landscape.jpg') center 46%/cover no-repeat; }
.game-band--blue { background: #6898cf; color: #fff; }
.game-band--cream { background: #e3e6da; color: #181526; }
.game-band--slate { background: #858ba4; color: #fff; }
.game-band--gray { background: #e7e7e7; color: #181526; }
@media (min-width: 52rem) {
    .game-band, .game-band__inner { min-block-size: 10.9rem; }
    .game-band__inner { grid-template-columns: minmax(0, 25rem) minmax(0, 1fr) 3.5rem; column-gap: 2rem; padding-block: 1rem; }
    .game-band__art { grid-column: 1; grid-row: 1; inline-size: min(100%, 23rem); }
    .game-band h2 { grid-column: 2; grid-row: 1; text-align: start; font-size: clamp(1.5rem, 2.25vw, 2.2rem); }
    .game-band__action { grid-column: 3; grid-row: 1; }
}
@media (forced-colors: active) { .game-band { border-block-end: 1px solid CanvasText; } }

/* About / Ποιοι είμαστε — based on Text Page 1 designer handoff. */
.about-banner { min-block-size: clamp(5rem, 8vw, 9.375rem); background: #933f95 url("/assets/images/about-banner.jpg") center / cover no-repeat; }
.about-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); padding-block: 1.4rem 2.5rem; align-items: start; }
.about-artwork { display: none; }
.about-copy { min-inline-size: 0; max-inline-size: 78ch; }
.about-copy h1 { font: 400 clamp(1.55rem, 4vw, 2.25rem)/1.3 var(--font-heading); margin-block: 0 1rem; overflow-wrap: break-word; }
.about-copy h2 { font: 800 clamp(1.075rem, 2.5vw, 1.35rem)/1.35 var(--font-body); margin-block: 1.35rem .3rem; }
.about-copy p { line-height: 1.55; margin-block: 0 .65rem; }
.about-copy a { color: #3726a6; font-weight: 700; overflow-wrap: anywhere; }
@media (min-width: 48rem) {
  .about-layout { grid-template-columns: minmax(12rem, 19rem) minmax(0, 1fr); }
  .about-artwork { display: grid; gap: .75rem; }
  .about-artwork img { inline-size: 100%; aspect-ratio: 350 / 299; object-fit: cover; }
}
@media (prefers-contrast: more) { .about-copy a { text-decoration-thickness: .16em; } }

/* Board page — Text Page 2: article left, decorative vertical banner right. */
.board-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: clamp(1.5rem,3vw,2.5rem); align-items: start; padding-block: clamp(1.25rem,3vw,2rem); }
.board-copy { max-inline-size: none; }
.board-editorial-note { border-inline-start: 4px solid var(--color-purple); padding: .75rem 1rem; margin-block: .75rem 1.25rem !important; background: #f2efff; }
.board-artwork { display: none; }
@media (min-width: 52rem) {
  .board-layout { grid-template-columns: minmax(0,1.8fr) minmax(14rem,1fr); }
  .board-artwork { display: block; }
  .board-artwork img { display: block; inline-size: 100%; block-size: auto; }
}
@media (forced-colors: active) { .board-editorial-note { border: 2px solid CanvasText; } }

/* Campaign catalogue — Text Page 3 design reference. */
.campaigns-page .navigation-list a[aria-current="page"]{color:var(--color-highlight);text-decoration:underline;text-underline-offset:.35em}
.campaign-directory{padding-block:2rem 3rem}
.campaign-directory__intro{margin-block-end:1.75rem}
.campaign-directory__intro h1{font:400 clamp(1.6rem,4vw,2.4rem)/1.3 var(--font-heading);margin:0 0 .6rem}
.campaign-directory__intro p{margin:.4rem 0;max-inline-size:75ch}
.campaign-editorial-note{border-inline-start:4px solid var(--color-purple);padding:.6rem 1rem;background:#f2efff}
.campaign-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem 1.35rem}
.campaign-card{min-inline-size:0;display:flex;flex-direction:column}
.campaign-card img{display:block;inline-size:100%;aspect-ratio:270/220;object-fit:cover}
.campaign-card__body{display:flex;flex:1;flex-direction:column;padding:.6rem .65rem 0}
.campaign-card h2{font:400 clamp(1rem,2.2vw,1.25rem)/1.3 var(--font-heading);margin:0 0 .45rem;overflow-wrap:anywhere}
.campaign-card p{font-size:.9rem;line-height:1.5;margin:0 0 .75rem}
.campaign-card__action{align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-block-size:44px;padding:.45rem 1.1rem;margin-block-start:auto;background:#3726a6;color:#fff;border-radius:.2rem;font-weight:800;text-decoration:none}
.campaign-card__action:hover{background:#241775;text-decoration:underline}
.campaign-card__action:focus-visible{outline:3px solid var(--color-dark);outline-offset:3px}
@media(min-width:35rem){.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:56rem){.campaign-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:70rem){.campaign-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(forced-colors:active){.campaign-card__action,.campaign-editorial-note{border:2px solid CanvasText}}

/* Source-backed editorial pages */
.editorial-page{padding-block:clamp(1.5rem,4vw,3rem) clamp(3rem,6vw,5rem);min-block-size:55vh}
.editorial-page h1{font:400 clamp(1.6rem,4vw,2.55rem)/1.25 var(--font-heading);margin:.7rem 0 1.5rem;overflow-wrap:anywhere}
.editorial-content{max-inline-size:78ch;font-size:1rem;line-height:1.7}
.editorial-content h2{font:800 clamp(1.15rem,2.5vw,1.5rem)/1.4 var(--font-body);margin:1.75rem 0 .6rem}
.editorial-content p{margin:.7rem 0 1.1rem}.editorial-content li{margin:.4rem 0}
.editorial-page a{color:#3726a6;text-decoration:underline;text-underline-offset:.18em}
.editorial-page a:focus-visible{outline:3px solid #3726a6;outline-offset:4px}
.breadcrumbs{font-size:.9rem}.breadcrumbs span{padding-inline:.45rem}
.page-note{background:#f2efff;border-inline-start:4px solid #3726a6;padding:1rem 1.2rem}
.source-link{margin-block-start:2rem!important;border-top:1px solid #c8c6d2;padding-block-start:1rem}
.source-cards{display:grid;grid-template-columns:1fr;gap:1rem;margin-block:1.5rem}
.source-cards article{border:1px solid #c6c3d4;border-radius:.4rem;padding:1rem 1.25rem;background:#faf9ff}
.source-cards h2{margin:0 0 .4rem}.source-cards p:last-child{margin-bottom:0}
@media(min-width:50rem){.source-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(forced-colors:active){.page-note,.source-cards article{border:2px solid CanvasText}}

/* News articles and contact prototype */
.source-cards h3 {margin:0 0 .5rem;font:800 1.15rem/1.4 var(--font-body)}
.source-cards a {overflow-wrap:anywhere}
.article-page .article-meta {color:#4a465c;font-weight:700}
.contact-layout {display:grid;gap:2rem;align-items:start;margin-top:1.5rem}
.contact-layout aside {background:#f4f1ff;padding:1rem 1.4rem;border-radius:.4rem}
.contact-layout address {font-style:normal}
.form-field {display:flex;flex-direction:column;margin:0 0 1rem;gap:.35rem}
.form-field label {font-weight:750}
.form-field input,.form-field textarea {font:inherit;width:100%;max-width:100%;border:2px solid #77718e;border-radius:.2rem;padding:.7rem;background:#fff;color:#181526}
.form-field :is(input,textarea):focus-visible {outline:3px solid #3726a6;outline-offset:2px}
.contact-submit {background:#3726a6;border:0;border-radius:.25rem;padding:.75rem 1.2rem;min-height:44px;color:#fff;font:700 1rem var(--font-body);cursor:pointer}
.contact-submit:focus-visible {outline:3px solid #181526;outline-offset:3px}
#contact-result {max-width:min(90vw,34rem);border:2px solid #3726a6;border-radius:.5rem;padding:1.4rem;line-height:1.6}
#contact-result::backdrop {background:rgb(0 0 0 / .65)}
@media(min-width:52rem){.contact-layout{grid-template-columns:minmax(0,1.5fr) minmax(16rem,1fr)}}
@media(forced-colors:active){.contact-submit,#contact-result {border:2px solid ButtonText}}


/* Site-wide content layout, October 2026 refinement. */
:root {
  --content-width: 75rem;
  --reading-width: 53.125rem;
  --gutter: clamp(1rem, 3.2vw, 2.5rem);
}
.container {
  inline-size: calc(100% - 2 * var(--gutter));
  max-inline-size: var(--content-width);
  margin-inline: auto;
}
/* Consistent internal-page heading and spacing; illustration-led pages keep their banners. */
.editorial-page { padding-block: clamp(1.75rem, 4vw, 3rem) clamp(3rem, 6vw, 5rem); }
.editorial-page h1 { margin-block: .9rem clamp(1.25rem, 3vw, 2rem); }
.editorial-page .breadcrumbs { margin-block-end: .25rem; }
.editorial-page--wide > .editorial-content,
.editorial-content--wide { max-inline-size: none; inline-size: 100%; }
.editorial-page--wide > .editorial-content > p:first-child {
  max-inline-size: 76ch;
}
/* Long-form articles remain comfortable to read, while centered within the shared site grid. */
.editorial-page--reading { max-inline-size: min(var(--reading-width), calc(100% - 2 * var(--gutter))); }
.editorial-page--reading > p,
.editorial-page--reading > ul,
.editorial-page--reading > ol { max-inline-size: 76ch; }
.editorial-page--reading .source-link { max-inline-size: 76ch; }
/* Content-first news catalog: a broad, balanced three-column desktop grid. */
.editorial-page--wide .source-cards {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1rem, 2.2vw, 1.5rem);
  margin-block: 1.5rem clamp(2rem, 4vw, 3rem);
}
.editorial-page--wide .source-cards > article {
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(1.125rem, 2vw, 1.65rem);
}
.editorial-page--wide .source-cards > article p { max-inline-size: 75ch; }
@media (min-width: 40rem) {
  .editorial-page--wide .source-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 70rem) {
  /* Only news needs three columns; two Friends entries should remain two substantial cards. */
  .editorial-page--wide:not(.friends-page) .source-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* Friends: don't manufacture content just to fill unused space. */
.friends-page .source-cards { grid-template-columns: 1fr; }
@media (min-width: 40rem) { .friends-page .source-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Contact: 65/35 main/aside, each allowed to grow inside a 1200px container. */
.contact-layout { gap: clamp(1.5rem, 3vw, 2.5rem); }
.contact-layout > * { min-inline-size: 0; }
.contact-layout aside { padding: clamp(1.25rem, 2.5vw, 2rem); }
@media (min-width: 52rem) {
  .contact-layout { grid-template-columns: minmax(0, 1.85fr) minmax(0, 1fr); }
}
/* Article reading comfort and zoom/reflow. */
.editorial-content, .article-page { line-height: 1.65; }
.editorial-page p, .editorial-page li { overflow-wrap: break-word; }
@media (prefers-reduced-motion: reduce) {
  .editorial-page * { scroll-behavior: auto; }
}

/* Board-inspired editorial layout: articles and association documents. */
.editorial-page--illustrated .editorial-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}
.editorial-columns__main { min-inline-size: 0; }
.editorial-page--illustrated .editorial-content { max-inline-size: 76ch; }
.editorial-columns__artwork { display: none; }
@media (min-width: 52rem) {
  .editorial-page--illustrated .editorial-columns {
    grid-template-columns: minmax(0, 1.8fr) minmax(14rem, 1fr);
  }
  .editorial-columns__artwork { display: block; }
  .editorial-columns__artwork img {
    display: block;
    inline-size: 100%;
    block-size: auto;
    max-block-size: 40rem;
    object-fit: cover;
    object-position: center top;
  }
}
