/* Hallmark · macrostructure: academic-editorial · design-system: design.md · genre: editorial-institutional */
/* Hallmark · pre-emit critique: P5 H4 E4 S5 R5 V4 */

/* Flatten decorative surfaces and let typography and spacing carry hierarchy. */
.section-tint { background: var(--rdo-bg); }
.section-heading .eyebrow { display: none; }
.section-heading h2 { margin-bottom: 12px; }

main > .section:has(.intro-grid) { padding-block: 104px; }
main > .section:has(.services-grid) { padding-block: 72px 88px; }
main > .section:has(.news-grid) { padding-block: 88px 112px; }
main > .partnerships { padding-block: 64px 76px; }

/* Services remain destinations, with quieter containers and fewer decorative cues. */
.service-card {
    border-radius: 12px; box-shadow: none; border-color: var(--line);
}
.service-card:hover { box-shadow: 0 14px 34px #182E6F14; }
.service-card-top > .service-art { width: 64px; height: 64px; }
.service-more {
    align-self: flex-start; justify-content: center; min-height: 44px;
    padding: 10px 16px; border: 0; border-radius: 9px;
    background: var(--rdo-blue); color: var(--rdo-white);
    transition: background-color var(--motion-fast) var(--ease-premium), color var(--motion-fast) ease;
}
.service-card:hover .service-more { background: var(--rdo-navy); color: var(--rdo-white); }
.service-more .icon { display: none; }

/* A single post becomes the editorial lead rather than a stranded grid tile. */
.news-grid:has(> .news-card:only-child) { grid-template-columns: minmax(0, 900px); }
.news-card { border-radius: 12px; box-shadow: none; }
.news-card:only-child {
    display: grid; grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr);
    max-width: 900px; min-height: 290px;
}
.news-card:only-child .news-image { min-height: 100%; aspect-ratio: auto; }
.news-card:only-child .news-card-body { justify-content: center; }

/* Institutional marks use containment, not elevation. */
.partner-card { border-radius: 10px; box-shadow: none; border-color: var(--line); }
.partner-card:hover { box-shadow: none; }

/* About page: keep Mission/Vision paired, remove generic card and stripe signals. */
.about-editorial > div > .eyebrow,
.objectives > div > .eyebrow,
.about-org .eyebrow,
.about-functions > .container > .eyebrow { display: none; }
.mission-card {
    border-width: 1px; border-top-width: 1px; border-radius: 12px; box-shadow: none;
}
.about-org { padding-block: 56px; }
.about-org .section-heading { margin-bottom: 0; }
.responsibility-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; }
.responsibility-grid > article { padding: 28px 0; border-top: 1px solid var(--line); }
.responsibility-grid > article:last-child { grid-column: 1 / -1; max-width: calc(50% - 28px); }
.responsibility-grid .icon { margin-bottom: 14px; }

/* Resources read as an academic directory rather than an app marketplace. */
.resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; }
.resource-card {
    display: grid; grid-template-columns: 48px minmax(0, 1fr);
    grid-template-areas: "icon label" "icon title" "icon body" "icon action";
    align-content: start; column-gap: 18px; padding: 30px 0;
    border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none;
}
.resource-card:hover { border-color: var(--blue); box-shadow: none; }
.resource-card .resource-icon { grid-area: icon; width: 44px; height: 44px; border-radius: 8px; }
.resource-card .eyebrow { grid-area: label; margin: 0 0 8px; letter-spacing: .08em; }
.resource-card h2 { grid-area: title; margin-bottom: 10px; }
.resource-card > p:not(.eyebrow) { grid-area: body; margin-bottom: 14px; }
.resource-card .text-link { grid-area: action; margin-top: 0; }

/* Repeated service rows keep the established alternation with varied editorial weight. */
.service-editorial { padding-block: 72px; }
.service-editorial:nth-child(even) { padding-block: 88px; }
.service-editorial:nth-child(3n) { grid-template-columns: 1.12fr .88fr; }
.service-editorial-image.service-asset { min-height: 390px; border-radius: 12px; }
.service-editorial:nth-child(even) .service-editorial-image.service-asset { min-height: 440px; }

.action-card, .person-card, .contact-form-panel { border-radius: 14px; box-shadow: none; }

@media (max-width: 767px) {
    main > .section:has(.intro-grid), main > .section:has(.services-grid),
    main > .section:has(.news-grid), main > .partnerships { padding-block: 56px; }
    .news-card:only-child { display: flex; min-height: 0; }
    .news-card:only-child .news-image { min-height: 0; aspect-ratio: 16 / 9; }
    .responsibility-grid, .resource-grid { grid-template-columns: 1fr; gap: 0; }
    .responsibility-grid > article:last-child { grid-column: auto; max-width: none; }
    .about-org { padding-block: 48px; }
    .service-editorial, .service-editorial:nth-child(even) { padding-block: 58px; }
    .service-editorial:nth-child(3n) { grid-template-columns: 1fr; }
}
