/* DIRI mobile-first refinement layer. Loaded last so desktop remains intact. */

.diri-mobile-scroll-cue {
    display: none;
}

/* Full briefs read as uninterrupted articles on desktop, but gain chapter
   controls on phones through the companion diri-mobile.js file. */
.diri-brief-chapter {
    margin: clamp(62px, 8vw, 88px) 0 0;
    padding-top: 24px;
    border-top: 1px solid rgba(27, 43, 60, 0.14);
    scroll-margin-top: 150px;
}

.diri-brief-chapter:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.diri-brief-chapter > summary {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 24px;
    list-style: none;
    cursor: default;
}

.diri-brief-chapter > summary::-webkit-details-marker {
    display: none;
}

.diri-brief-chapter-number {
    color: #a65335;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.diri-brief-chapter-title {
    max-width: 790px;
    color: #172638;
    font-family: "Merriweather", Georgia, serif;
    font-size: clamp(1.75rem, 3.3vw, 2.55rem);
    line-height: 1.28;
}

.diri-brief-chapter > summary i {
    display: none;
}

.diri-brief-chapter-content > p {
    margin: 0 0 20px;
    color: #4b5762;
    font-size: 1.01rem;
    line-height: 1.86;
}

@media (max-width: 768px) {
    /* Shared mobile rhythm. */
    body.diri-virtual-page {
        font-size: 16px;
    }

    .diri-page-container {
        width: min(100% - 32px, 1180px);
    }

    .diri-page-section {
        padding: 52px 0;
    }

    .diri-page-hero,
    .diri-page-hero-compact {
        min-height: 330px;
    }

    .diri-page-hero-content {
        padding: 42px 0 46px;
    }

    .diri-breadcrumb {
        gap: 7px;
        margin-bottom: 22px;
        font-size: 0.68rem;
        letter-spacing: 0.9px;
    }

    .diri-page-kicker,
    .diri-section-kicker {
        margin-bottom: 9px;
        font-size: 0.67rem;
        letter-spacing: 1.8px;
    }

    .diri-page-hero h1 {
        margin-bottom: 14px;
        font-size: clamp(2.18rem, 10.5vw, 3rem);
        line-height: 1.08;
    }

    .diri-page-hero-content > p:last-child {
        font-size: 0.98rem;
        line-height: 1.58;
    }

    .diri-page-shell h2 {
        font-size: clamp(1.8rem, 8.4vw, 2.35rem);
        line-height: 1.16;
    }

    .diri-section-heading {
        gap: 15px;
        margin-bottom: 27px;
    }

    .diri-section-heading > p,
    .diri-reading-column p,
    .diri-what-we-do-layout > div > p:last-child {
        font-size: 0.98rem;
        line-height: 1.68;
    }

    .diri-reading-column {
        padding: 19px 20px;
        background: linear-gradient(120deg, #fbf7f2, #f5ebe3);
        border-left-width: 3px;
        border-radius: 0 10px 10px 0;
    }

    .diri-mobile-scroll-cue {
        display: flex;
        align-items: center;
        gap: 8px;
        margin: -5px 0 16px;
        color: #93614d;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.8px;
        text-transform: uppercase;
    }

    .diri-mobile-scroll-cue::after {
        content: "\2192";
        font-size: 1rem;
        line-height: 1;
    }

    /* Native Programs: change long vertical stacks into tactile swipe decks. */
    .diri-program-grid,
    .diri-education-grid,
    .diri-meeting-grid,
    .diri-purpose-grid,
    .diri-symposium-awards {
        display: flex;
        gap: 14px;
        margin-right: -16px;
        margin-left: -16px;
        padding: 4px 16px 19px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-padding-inline: 16px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
    }

    .diri-program-grid::-webkit-scrollbar,
    .diri-education-grid::-webkit-scrollbar,
    .diri-meeting-grid::-webkit-scrollbar,
    .diri-purpose-grid::-webkit-scrollbar,
    .diri-symposium-awards::-webkit-scrollbar {
        display: none;
    }

    .diri-program-card {
        flex: 0 0 min(82vw, 318px);
        min-height: 330px;
        padding: 26px 24px 25px;
        border-radius: 14px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        box-shadow: 0 12px 28px rgba(18, 28, 40, 0.08);
    }

    .diri-program-card:nth-child(2) {
        background: #fcf7f3;
    }

    .diri-program-card:nth-child(3) {
        background: #f4f7f8;
    }

    .diri-program-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 18px;
    }

    .diri-program-status {
        margin-bottom: 14px;
    }

    .diri-program-card h3,
    .diri-education-grid h3 {
        font-size: 1.28rem;
    }

    .diri-program-card p,
    .diri-education-grid p {
        font-size: 0.95rem;
        line-height: 1.62;
    }

    .diri-education-grid article {
        flex: 0 0 min(78vw, 302px);
        min-height: 238px;
        padding: 25px 23px;
        background: #ffffff;
        border: 1px solid rgba(27, 43, 60, 0.09);
        border-top: 4px solid #b9633f;
        border-radius: 13px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        box-shadow: 0 10px 25px rgba(18, 28, 40, 0.06);
    }

    .diri-education-grid article:nth-child(2) {
        border-top-color: #cf8a68;
    }

    .diri-education-grid article:nth-child(3) {
        border-top-color: #263a4e;
    }

    .diri-education-grid article > span {
        width: 36px;
        height: 36px;
        display: grid;
        place-items: center;
        margin-bottom: 22px;
        background: #f6ede7;
        border-radius: 50%;
    }

    /* About: shorter introduction and swipeable purpose cards. */
    .diri-about-page .diri-page-hero {
        min-height: 350px;
        background-position: 54% center;
    }

    .diri-about-intro,
    .diri-what-we-do-layout {
        gap: 25px;
    }

    .diri-purpose-card {
        flex: 0 0 min(82vw, 318px);
        min-height: 258px;
        padding: 28px 25px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .diri-purpose-card:nth-child(2) {
        color: #ffffff;
        background: #172638;
    }

    .diri-purpose-card:nth-child(2) h2 {
        color: #ffffff;
    }

    .diri-purpose-card:nth-child(2) p {
        color: rgba(255, 255, 255, 0.76);
    }

    .diri-purpose-number {
        margin-bottom: 38px;
    }

    .diri-work-list {
        border-top: 0;
        counter-reset: work-item;
    }

    .diri-work-list li {
        grid-template-columns: 42px 1fr;
        gap: 13px;
        margin-bottom: 10px;
        padding: 16px 16px 16px 13px;
        background: #f8f5ef;
        border: 0;
        border-radius: 10px;
    }

    .diri-work-list li:nth-child(even) {
        background: #f4ebe5;
    }

    /* Academic Meetings archive. */
    .diri-meetings-hero {
        min-height: 338px;
        background-image:
            radial-gradient(circle at 90% 25%, rgba(185, 99, 63, 0.16) 0 9%, transparent 9.3%),
            radial-gradient(circle at 94% 36%, rgba(185, 99, 63, 0.08) 0 19%, transparent 19.3%),
            linear-gradient(145deg, #fbf7f2 0%, #f1dfd3 100%);
    }

    .diri-meetings-page .diri-page-hero h1 {
        max-width: 300px;
        font-size: 2.45rem;
    }

    .diri-meetings-heading h2 {
        max-width: 320px;
        font-size: 2rem;
    }

    .diri-meeting-card {
        flex: 0 0 min(85vw, 330px);
        min-height: 438px;
        padding: 25px 23px 24px;
        border-radius: 14px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        box-shadow: 0 12px 30px rgba(18, 28, 40, 0.08);
    }

    .diri-meeting-card:nth-child(even) {
        background: #fcf8f4;
    }

    .diri-meeting-card h2 {
        font-size: 1.45rem;
    }

    .diri-meeting-subtitle {
        font-size: 0.94rem;
        line-height: 1.58;
    }

    /* Individual briefs: concise hero, compact facts, card summaries, and chapters. */
    .diri-meeting-detail-hero {
        padding: 39px 0 49px;
    }

    .diri-meeting-detail-hero::after {
        right: -255px;
        bottom: -315px;
        width: 560px;
        height: 560px;
    }

    .diri-meeting-detail-hero .diri-breadcrumb {
        margin-bottom: 25px;
    }

    .diri-meeting-detail-kicker {
        margin-bottom: 17px;
    }

    .diri-meeting-detail-hero h1 {
        margin-bottom: 15px;
        font-size: clamp(2.05rem, 9.8vw, 2.7rem);
        letter-spacing: -0.035em;
        line-height: 1.08;
    }

    .diri-meeting-detail-subtitle {
        font-size: 0.98rem;
        line-height: 1.55;
    }

    .diri-meeting-hero-download {
        display: grid;
        gap: 10px;
        margin-top: 22px;
    }

    .diri-meeting-hero-download .diri-page-button {
        width: 100%;
        min-height: 48px;
    }

    .diri-meeting-hero-download > span {
        text-align: center;
    }

    .diri-meeting-detail-byline {
        gap: 5px;
        margin-top: 25px;
        padding-top: 17px;
        font-size: 0.84rem;
        line-height: 1.5;
    }

    .diri-meeting-overview {
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .diri-meeting-facts,
    .diri-meeting-reading,
    .diri-academic-article-body,
    .diri-complete-brief {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .diri-meeting-facts {
        padding: 24px 21px 20px;
        border-radius: 0 0 11px 11px;
    }

    .diri-meeting-facts dl {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 18px;
    }

    .diri-meeting-facts dl > div {
        min-width: 0;
        padding: 13px 0;
    }

    .diri-meeting-facts dd {
        overflow-wrap: anywhere;
        font-size: 0.84rem;
        line-height: 1.45;
    }

    .diri-article-nav {
        grid-auto-flow: column;
        grid-auto-columns: max-content;
        gap: 8px;
        margin: 18px -21px 0;
        padding: 18px 21px 3px;
        overflow-x: auto;
        border-top: 1px solid rgba(27, 43, 60, 0.12);
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .diri-article-nav::-webkit-scrollbar {
        display: none;
    }

    .diri-article-nav > span {
        display: none;
    }

    .diri-article-nav a {
        padding: 9px 12px;
        background: #ffffff;
        border: 1px solid rgba(27, 43, 60, 0.1);
        border-radius: 999px;
        scroll-snap-align: start;
        font-size: 0.74rem;
        white-space: nowrap;
    }

    .diri-meeting-reading > h2,
    .diri-executive-summary h2 {
        margin-bottom: 20px;
        font-size: 2rem;
    }

    .diri-executive-summary > p:not(.diri-section-kicker) {
        margin-bottom: 16px;
        font-size: 0.98rem;
        line-height: 1.72;
    }

    .diri-inquiry-grid,
    .diri-brief-profile-grid {
        display: flex;
        gap: 12px;
        margin: 33px -16px 0;
        padding: 0 16px 12px;
        overflow-x: auto;
        scroll-padding-inline: 16px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .diri-inquiry-grid::-webkit-scrollbar,
    .diri-brief-profile-grid::-webkit-scrollbar {
        display: none;
    }

    .diri-inquiry-grid section,
    .diri-brief-profile-grid section {
        flex: 0 0 min(78vw, 300px);
        min-height: 190px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 23px;
        border-radius: 12px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .diri-brief-profile-grid section:nth-child(2) {
        background: #f4ebe5;
    }

    .diri-key-points {
        margin-top: 38px;
    }

    .diri-key-points ul {
        display: grid;
        gap: 9px;
        border-top: 0;
        counter-reset: key-point;
    }

    .diri-key-points li {
        counter-increment: key-point;
        padding: 16px 15px 16px 48px;
        background: #f8f5ef;
        border: 0;
        border-radius: 9px;
        font-size: 0.92rem;
        line-height: 1.55;
    }

    .diri-key-points li::before {
        content: counter(key-point, decimal-leading-zero);
        top: 16px;
        left: 15px;
        width: auto;
        height: auto;
        color: #a65335;
        background: transparent;
        border-radius: 0;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.5px;
    }

    .diri-complete-brief {
        margin-top: 53px;
        padding-top: 42px;
    }

    .diri-complete-brief-intro {
        margin-bottom: 24px;
        padding: 24px 21px;
        border-radius: 11px;
    }

    .diri-complete-brief-intro h2 {
        font-size: 1.85rem;
    }

    .diri-brief-chapter {
        margin: 10px 0 0;
        padding: 0;
        background: #ffffff;
        border: 1px solid rgba(27, 43, 60, 0.11);
        border-radius: 11px;
        box-shadow: 0 6px 18px rgba(18, 28, 40, 0.045);
        scroll-margin-top: 125px;
        overflow: hidden;
    }

    .diri-brief-chapter:first-child {
        margin-top: 0;
        border: 1px solid rgba(27, 43, 60, 0.11);
    }

    .diri-brief-chapter > summary {
        grid-template-columns: 1fr 30px;
        gap: 8px 15px;
        align-items: center;
        margin: 0;
        padding: 19px 18px;
        cursor: pointer;
    }

    .diri-brief-chapter-number {
        grid-column: 1;
        font-size: 0.62rem;
    }

    .diri-brief-chapter-title {
        grid-column: 1;
        font-size: 1.12rem;
        font-weight: 400;
        line-height: 1.36;
    }

    .diri-brief-chapter > summary i {
        width: 30px;
        height: 30px;
        grid-column: 2;
        grid-row: 1 / span 2;
        display: grid;
        place-items: center;
        color: #a65335;
        background: #f6ede7;
        border-radius: 50%;
        font-size: 0.72rem;
        transition: transform 0.2s ease, color 0.2s ease, background 0.2s ease;
    }

    .diri-brief-chapter[open] > summary {
        background: #f8f5ef;
        border-bottom: 1px solid rgba(27, 43, 60, 0.1);
    }

    .diri-brief-chapter[open] > summary i {
        color: #ffffff;
        background: #b9633f;
        transform: rotate(45deg);
    }

    .diri-brief-chapter-content {
        padding: 22px 18px 25px;
    }

    .diri-brief-chapter-content > p {
        margin-bottom: 17px;
        color: #46525e;
        font-size: 0.96rem;
        line-height: 1.72;
    }

    .diri-academic-article-body h3 {
        margin: 34px 0 14px;
        font-size: 1.2rem;
        line-height: 1.36;
    }

    .diri-academic-article-body li {
        padding: 11px 4px 11px 25px;
        font-size: 0.93rem;
        line-height: 1.6;
    }

    .diri-academic-article-body li::before {
        left: 2px;
    }

    .diri-article-insight {
        margin: 26px 0;
        padding: 21px 19px 21px 22px;
        border-radius: 0 9px 9px 0;
    }

    .diri-article-insight p {
        font-size: 0.98rem;
        line-height: 1.62;
    }

    .diri-academic-source-note {
        margin-top: 29px;
    }

    /* Symposium: leaner hero, visual stat tiles, compact themes and swipe awards. */
    .diri-symposium-hero {
        min-height: 390px;
        background-position: 48% center;
    }

    .diri-symposium-status > .diri-page-container {
        min-height: 0;
        padding-top: 16px;
        padding-bottom: 16px;
    }

    .diri-symposium-status p {
        font-size: 0.9rem;
        line-height: 1.45;
    }

    .diri-symposium-intro,
    .diri-symposium-format,
    .diri-symposium-partners,
    .diri-symposium-archive-layout {
        gap: 25px;
    }

    .diri-symposium-stats {
        gap: 9px;
        margin-top: 38px;
        padding: 0;
        border: 0;
    }

    .diri-symposium-stats > div,
    .diri-symposium-stats > div:first-child,
    .diri-symposium-stats > div:last-child,
    .diri-symposium-stats > div:nth-child(-n+2) {
        min-height: 122px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 17px;
        background: #f8f5ef;
        border: 0;
        border-radius: 10px;
    }

    .diri-symposium-stats > div:nth-child(2),
    .diri-symposium-stats > div:nth-child(3) {
        background: #f3e8e1;
    }

    .diri-symposium-stats strong {
        font-size: 1.85rem;
    }

    .diri-symposium-stats span {
        font-size: 0.67rem;
        line-height: 1.35;
    }

    .diri-symposium-theme-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
        border-top: 0;
    }

    .diri-symposium-theme-list span,
    .diri-symposium-theme-list span:nth-child(odd) {
        min-height: 88px;
        display: flex;
        align-items: flex-end;
        padding: 17px 13px 15px;
        background: #ffffff;
        border: 1px solid rgba(27, 43, 60, 0.08);
        border-radius: 9px;
        font-size: 0.82rem;
        line-height: 1.35;
    }

    .diri-symposium-theme-list span::before {
        top: 14px;
        left: 13px;
        width: 7px;
        height: 7px;
    }

    .diri-symposium-awards article {
        flex: 0 0 min(84vw, 326px);
        min-height: 410px;
        padding: 28px 25px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .diri-award-icon {
        margin-bottom: 29px;
    }

    .diri-symposium-awards h3 {
        font-size: 1.55rem;
    }

    .diri-symposium-gallery {
        grid-auto-rows: 150px;
        gap: 8px;
    }

    .diri-symposium-more-gallery summary {
        min-height: 50px;
    }

    .diri-symposium-source-links > a {
        padding: 19px 2px;
        font-size: 0.94rem;
    }

    .diri-symposium-future-section {
        padding: 52px 0;
    }

    .diri-symposium-future {
        gap: 23px;
    }

    .diri-symposium-future-badge {
        justify-self: start;
        font-size: 0.66rem;
    }

    /* Coming-soon pages stay purposeful rather than feeling empty. */
    .diri-development-panel {
        padding: 36px 24px;
        border-radius: 13px;
    }

    /* Footer: keep it compact, but separate navigation from contact details. */
    #diri-section-footer .diri-footer-inner {
        gap: 18px;
        padding-top: 42px;
    }

    #diri-section-footer .diri-footer-logo {
        width: 76px;
        height: 76px;
        margin-bottom: 15px;
    }

    #diri-section-footer .diri-footer-tagline {
        font-size: 1.08rem;
        line-height: 1.48;
    }

    #diri-section-footer .diri-footer-inner > nav,
    #diri-section-footer .diri-footer-inner > div:last-child {
        padding: 20px;
        background: rgba(255, 255, 255, 0.045);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 10px;
    }

    #diri-section-footer .diri-footer-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 13px 16px;
    }

    #diri-section-footer .diri-footer-links a,
    #diri-section-footer .diri-footer-contact a {
        justify-content: flex-start;
        text-align: left;
    }

    /* React homepage: shorter first screen and swipeable story sections. */
    #root .container {
        padding-right: 18px;
        padding-left: 18px;
    }

    #root .hero,
    .admin-bar #root .hero {
        height: 560px !important;
        min-height: 560px !important;
        max-height: 560px !important;
    }

    #root .hero-content {
        max-width: 100%;
    }

    #root .hero-title {
        margin-bottom: 0.9rem;
        font-size: clamp(2.12rem, 10vw, 2.72rem);
        line-height: 1.08;
    }

    #root .hero-subtitle {
        margin-bottom: 1.2rem;
        font-size: 0.94rem;
        line-height: 1.52;
    }

    #root .hero-motto {
        margin-top: 8px;
        font-size: 0.72em;
        letter-spacing: 1.6px;
    }

    #root .hero-actions {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
        gap: 9px;
        width: 100%;
    }

    #root .hero-actions .btn {
        width: auto;
        min-width: 0;
        min-height: 44px;
        padding: 0.62rem 0.55rem;
        font-size: 0.72rem;
        white-space: nowrap;
    }

    #root .hero-switcher {
        bottom: 16px;
    }

    #root .section {
        padding-top: 3.4rem;
        padding-bottom: 3.4rem;
    }

    #root .stats-section {
        padding-top: 1.1rem;
        padding-bottom: 1.1rem;
    }

    #root .stats-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    #root .stat-item {
        min-height: 104px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 14px 9px;
        background: rgba(255, 255, 255, 0.045);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 8px;
    }

    #root .stat-value {
        font-size: 1.95rem;
    }

    #root .stat-label {
        font-size: 0.67rem;
        line-height: 1.35;
    }

    #root .mission-vision-box {
        padding: 1.45rem 1.25rem;
        background: linear-gradient(135deg, #fbf7f2, #f3e7df);
        border-left: 4px solid #b9633f;
    }

    #root .home-programs-heading,
    #root .home-education-heading {
        gap: 13px;
        margin-bottom: 25px;
    }

    #root .programs-grid,
    #root .home-education-programs .education-grid,
    #root .pillars-grid,
    #root .people-grid {
        display: flex;
        gap: 14px;
        margin-right: -18px;
        margin-left: -18px;
        padding: 4px 18px 18px;
        overflow-x: auto;
        scroll-padding-inline: 18px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    #root .programs-grid::-webkit-scrollbar,
    #root .home-education-programs .education-grid::-webkit-scrollbar,
    #root .pillars-grid::-webkit-scrollbar,
    #root .people-grid::-webkit-scrollbar {
        display: none;
    }

    #root .programs-grid .program-card {
        flex: 0 0 min(82vw, 316px);
        min-height: 320px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    #root .programs-grid .program-card:nth-child(2) {
        background: #fcf7f3;
    }

    #root .programs-grid .program-card:nth-child(3) {
        background: #f3f6f7;
    }

    #root .program-content {
        padding: 1.65rem 1.45rem;
    }

    #root .home-education-programs {
        margin-top: 39px;
        padding-top: 35px;
    }

    #root .home-education-programs .education-card,
    #root .pillar-card {
        flex: 0 0 min(76vw, 294px);
        min-height: 230px;
        padding: 1.6rem 1.35rem;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    #root .pillar-card:nth-child(even) {
        background: #f9f0ea;
    }

    #root .people-card {
        flex: 0 0 min(84vw, 324px);
        min-height: 320px;
        padding: 2rem 1.45rem;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    #root .testimonial-slider {
        height: 270px;
    }

    #root .testimonial-quote {
        font-size: 1.18rem;
        line-height: 1.55;
    }

    #root .partner-card {
        width: 132px;
        height: 76px;
    }

    #diri-section-footer .diri-footer-inner {
        padding-top: 40px;
        padding-bottom: 30px;
        gap: 28px;
    }

    #diri-section-footer .diri-footer-logo {
        width: 78px;
        height: 78px;
        margin-bottom: 14px;
    }

    #diri-section-footer .diri-footer-tagline {
        font-size: 1.05rem;
    }
}

@media (max-width: 380px) {
    .diri-page-container {
        width: min(100% - 28px, 1180px);
    }

    .diri-page-hero h1,
    .diri-meetings-page .diri-page-hero h1 {
        font-size: 2.12rem;
    }

    .diri-meeting-detail-hero h1 {
        font-size: 1.98rem;
    }

    #root .hero,
    .admin-bar #root .hero {
        height: 535px !important;
        min-height: 535px !important;
        max-height: 535px !important;
    }

    #root .hero-title {
        font-size: 2rem;
    }

    #root .hero-actions .btn {
        font-size: 0.67rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .diri-program-grid,
    .diri-education-grid,
    .diri-meeting-grid,
    .diri-purpose-grid,
    .diri-symposium-awards,
    #root .programs-grid,
    #root .home-education-programs .education-grid,
    #root .pillars-grid,
    #root .people-grid {
        scroll-behavior: auto;
    }
}
