.editorial {
    --editorial-ink: #123b2c;
    --editorial-muted: #506259;
    --editorial-border: #dbe4da;
    max-width: 1120px;
    margin: 2rem auto 3rem;
    color: var(--editorial-ink);
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.editorial h1 { font-size: clamp(1.9rem, 3.8vw, 3rem); line-height: 1.25; font-weight: 750; }
.editorial h2 { font-size: clamp(1.35rem, 2.4vw, 1.8rem); font-weight: 700; }
.editorial h3 { font-size: 1.12rem; font-weight: 700; }
.editorial a { color: inherit; text-underline-offset: .2em; }
.editorial a:focus-visible,
.editorial button:focus-visible,
.editorial input:focus-visible,
.editorial select:focus-visible,
.editorial summary:focus-visible { outline: 2px solid #28764e; outline-offset: 3px; }

.editorial-hero {
    background: #f0f5ed;
    border: 1px solid var(--editorial-border);
    border-radius: 1rem;
    padding: clamp(1.25rem, 4vw, 3rem);
}

.editorial-hero p { margin-block: .75rem 0; max-width: 58ch; color: var(--editorial-muted); }
.editorial-guide {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-block: 1rem 2rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--editorial-border);
    border-radius: .75rem;
    text-decoration: none;
}
.editorial-guide:hover { background: #f0f5ed; }
.editorial-guide p { margin: .25rem 0 0; color: var(--editorial-muted); }

.editorial-filters, .editorial-jumps {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: .75rem 1rem;
    margin-block: 1rem;
}
.editorial .editorial-jumps { background: transparent; align-items: center; }
.editorial-filters label { display: grid; gap: .25rem; }
.editorial-filters input, .editorial-filters select {
    width: 100%;
    min-height: 44px;
    padding: .4rem .65rem;
    border: 1px solid #788c7e;
    border-radius: .45rem;
    background: #fff;
    color: inherit;
}
.editorial-filters label:first-child { flex: 1 1 15rem; }
.editorial .editorial-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: .4rem 1rem;
    background: #134632;
    color: #fff;
    border: 1px solid #134632;
    border-radius: .45rem;
    text-decoration: none;
}
.editorial .editorial-button:hover { background: #216044; }

.editorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.editorial-card { border: 1px solid var(--editorial-border); border-radius: .8rem; overflow: hidden; }
.editorial-card a { display: block; height: 100%; text-decoration: none; }
.editorial-card a:hover h3 { text-decoration: underline; }
.editorial-card a:focus-visible { outline-offset: -3px; }
.editorial-card img { display: block; width: 100%; aspect-ratio: 2/1; object-fit: cover; background: #f0f5ed; }
.editorial-card-copy { padding: 1rem; }
.editorial-card-copy h3 { margin-block: .4rem; }
.editorial-card p { margin: 0; color: var(--editorial-muted); }
.editorial-card time, .editorial-article time { font-size: .85rem; color: var(--editorial-muted); }
.editorial-back { display: inline-block; margin-bottom: 1rem; }

.editorial-article { max-width: 800px; }
.editorial-article header { padding-block: 1rem; }
.editorial-cover { width: 100%; max-height: 340px; object-fit: cover; border-radius: .8rem; margin-bottom: 1.5rem; }
.editorial-prose { line-height: 1.85; }
.editorial-prose img, .editorial-prose iframe, .editorial-prose video { max-width: 100%; }
.editorial-prose table, .editorial-prose pre { display: block; max-width: 100%; overflow-x: auto; }
.editorial-prose table td, .editorial-prose table th { padding: .5rem; border: 1px solid var(--editorial-border); }
.editorial-translation { margin-top: 2rem; border-top: 1px solid var(--editorial-border); padding-top: 1rem; }
.editorial-translation summary { font-weight: 700; cursor: pointer; }

.editorial-dsh section { margin-top: 2rem; scroll-margin-top: 1rem; }
.editorial-muted, .editorial-table small { color: var(--editorial-muted); }
.editorial-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.editorial-table th, .editorial-table td {
    text-align: start;
    vertical-align: top;
    border-bottom: 1px solid var(--editorial-border);
    padding: .65rem .55rem;
}
.editorial-table thead { background: #f0f5ed; }
.editorial-table tbody th { font-weight: normal; width: 25%; }
.editorial-table small { display: block; line-height: 1.45; }
.editorial-sources { min-width: 9rem; }
.editorial-sources a { display: block; }
.editorial-mobile-label { display: none; }
.editorial-prep { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.editorial-prep article { background: #f0f5ed; border-radius: .65rem; padding: 1rem; }
.editorial-prep p { margin: 0; }
.editorial-sample-list { padding-inline-start: 1.25rem; }
.editorial-sample-list li { margin-block: .35rem; }

@media (max-width: 850px) {
    .editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .editorial-grid { grid-template-columns: 1fr; }
    .editorial-table, .editorial-table tbody, .editorial-table tr, .editorial-table td, .editorial-table tbody th { display: block; width: 100%; }
    .editorial-table thead { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
    .editorial-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem .7rem; border: 1px solid var(--editorial-border); border-radius: .65rem; padding: .8rem; margin-block-end: .65rem; }
    .editorial-table th, .editorial-table td { border: 0; padding: .2rem 0; }
    .editorial-table tbody th, .editorial-sources { grid-column: 1 / -1; }
    .editorial-table tbody th { margin-bottom: .35rem; }
    .editorial-mobile-label { display: block; font-weight: 700; font-size: .78rem; color: var(--editorial-muted); }
    .editorial-sources { display: flex !important; gap: .4rem 1rem; flex-wrap: wrap; margin-top: .35rem; }
}

.editorial-guide img {
    width: clamp(78px, 15vw, 160px);
    aspect-ratio: 5/3;
    height: auto;
    border-radius: .5rem;
    object-fit: cover;
    flex-shrink: 0;
}

.editorial-guide div { flex: 1; }
.editorial-dsh-hero {
    display: grid;
    grid-template-columns: 1fr minmax(0, .8fr);
    align-items: center;
    gap: clamp(1rem, 3vw, 2rem);
}

.editorial-dsh-image {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
    object-fit: cover;
    border-radius: .75rem;
}

@media (max-width: 680px) {
    .editorial-dsh-hero { grid-template-columns: 1fr; }
}

.editorial-guides {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-block: 1rem 2rem;
}

.editorial-guides .editorial-guide { margin: 0; }

@media (max-width: 900px) {
    .editorial-guides { grid-template-columns: 1fr; }
}
