/* =========================================================
   RS31.87 Public Typography Weight Audit
   Scope: public website only. Keep admin/auth/error untouched.
   ========================================================= */

body.site-public {
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body.site-public :where(p, li, dd, td, th, small, span, figcaption, blockquote, input, select, textarea) {
    font-weight: 400;
}

body.site-public :where(b, strong) {
    font-weight: 500;
}

body.site-public :where(h1, h2) {
    font-weight: 600;
}

body.site-public :where(h3, h4, h5, h6) {
    font-weight: 500;
}

body.site-public :where(.eyebrow, .button, button, .nav-links a, .admin-portal-link, .lang-switch a, .utilitybar__label, label) {
    font-weight: 500;
}

/* Nav login: outline (beats filled styles in sdg-public.min.css) */
body.site-public .admin-portal-link {
    border: 1px solid var(--rru-primary, #11385c) !important;
    background: transparent !important;
    color: var(--rru-primary, #11385c) !important;
    box-shadow: none !important;
    font-weight: 600;
}

body.site-public .admin-portal-link:hover {
    background: var(--rru-primary-soft, #e8f1f8) !important;
    color: var(--rru-primary-strong, #0b2742) !important;
    border-color: var(--rru-primary-strong, #0b2742) !important;
    text-decoration: none;
    transform: translateY(-1px);
}

/* River Curve login only — portal outline is owned by sdg-public-nav.css */
body.site-public .site-header--river .admin-portal-link--login {
    border: 0 !important;
    background: #f5e7a1 !important;
    color: #0e3f24 !important;
    box-shadow: none !important;
    font-weight: 700;
}

body.site-public .site-header--river .admin-portal-link--login:hover {
    background: #ffffff !important;
    color: #0e3f24 !important;
    border-color: transparent !important;
    text-decoration: none;
    transform: translateY(-1px);
}

body.site-public :where(.brand strong, .footer-brand strong, .footer strong) {
    font-weight: 600;
}

/* Homepage / common public sections */
body.site-public .hero h1,
body.site-public .page-hero h1,
body.site-public .section__head h2,
body.site-public .dashboard-band h2,
body.site-public .document-card h2,
body.site-public .workflow-item h3,
body.site-public .trust-card strong,
body.site-public .hero-card strong,
body.site-public .dashboard-panel h3 {
    font-weight: 600;
}

body.site-public .hero-kicker,
body.site-public .goal-pill__text strong,
body.site-public .goal-pill span,
body.site-public .goal-chip,
body.site-public .goal-badges span,
body.site-public .sdg-logo-tile--portal strong,
body.site-public .workflow-item span,
body.site-public .trust-card span {
    font-weight: 500;
}

body.site-public .hero-stat-row strong,
body.site-public .metric-card strong,
body.site-public .progress-row strong,
body.site-public .dashboard-panel .panel-caption {
    font-weight: 600;
}

/* Project listing / cards */
body.site-public .project-card h3,
body.site-public .project-card__title,
body.site-public .project-card strong,
body.site-public .results-head h2,
body.site-public .filter-card legend,
body.site-public .filter-card label,
body.site-public .empty-state {
    font-weight: 500;
}

body.site-public .project-card__meta,
body.site-public .project-card__summary,
body.site-public .project-card small,
body.site-public .results-head span,
body.site-public .filter-card .help-text {
    font-weight: 400;
}

/* SDG goal detail page: the area reported as too heavy */
body.site-public .sdg-detail-hero h1,
body.site-public .sdg-detail-hero h2,
body.site-public .sdg-detail-card .panel__head h2,
body.site-public .sdg-detail-side-card h3 {
    font-weight: 600;
}

body.site-public .sdg-detail-hero .lead,
body.site-public .sdg-detail-card .panel__head p,
body.site-public .sdg-target-item h3,
body.site-public .sdg-indicator-public-item p,
body.site-public .sdg-related-projects a strong {
    font-weight: 500;
}

body.site-public .sdg-target-item > span,
body.site-public .sdg-indicator-public-item > div strong,
body.site-public .sdg-detail-hero__stats strong {
    font-weight: 600;
}

body.site-public .sdg-target-item h3 {
    line-height: 1.52;
}

body.site-public .sdg-indicator-public-item small,
body.site-public .sdg-related-projects small,
body.site-public .sdg-detail-hero__stats span {
    font-weight: 400;
}

/* Project detail */
body.site-public .project-detail-hero-v2 h1,
body.site-public .project-detail-v2-card h2,
body.site-public .project-detail-v2-side h3,
body.site-public .sdg-public-modal__head h2 {
    font-weight: 600;
}

body.site-public .project-detail-hero-v2 .eyebrow,
body.site-public .breadcrumb-lite,
body.site-public .project-detail-hero-v2__meta span,
body.site-public .goal-badges--large .project-goal-button strong,
body.site-public .project-result-grid h3,
body.site-public .project-reference-v2 dt,
body.site-public .evidence-link-card strong {
    font-weight: 500;
}

body.site-public .project-detail-hero-v2__summary,
body.site-public .project-detail-v2-card .rich-text,
body.site-public .project-reference-v2 dd,
body.site-public .evidence-link-card small,
body.site-public .project-detail-gallery figcaption,
body.site-public .sdg-public-modal__body p {
    font-weight: 400;
}

/* CMS / rich content / publication */
body.site-public .rich-text :where(h1, h2),
body.site-public .rich-text--cms :where(h1, h2),
body.site-public .document-card--public h2,
body.site-public .results-head--publications h2 {
    font-weight: 600;
}

body.site-public .rich-text :where(h3, h4, h5, h6),
body.site-public .rich-text--cms :where(h3, h4, h5, h6),
body.site-public .document-card--public > span {
    font-weight: 500;
}

body.site-public .rich-text :where(p, li, td, th, dd),
body.site-public .rich-text--cms :where(p, li, td, th, dd),
body.site-public .document-card--public p {
    font-weight: 400;
}

/* Public popup / privacy strip */
body.site-public .privacy-strip__copy strong,
body.site-public .privacy-strip .button,
body.site-public .announcement-popup__close,
body.site-public .announcement-popup__actions .button {
    font-weight: 500;
}

@media (max-width: 720px) {
    body.site-public .sdg-target-item h3,
    body.site-public .project-card h3,
    body.site-public .workflow-item h3 {
        font-weight: 500;
    }
}

/* RS31.89 Public production polish: projects SDG filter without horizontal scroll */
body.site-public .filter-form--projects .sdg-filter-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
    align-items: stretch;
    gap: .58rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: .75rem;
    margin: .5rem 0 .25rem;
    overflow: visible !important;
    overflow-x: visible !important;
    overscroll-behavior-x: auto;
}

body.site-public .filter-form--projects .sdg-filter-card {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    font-size: .72rem;
    font-weight: 500;
}

body.site-public .filter-form--projects .sdg-filter-card__visual {
    display: grid;
    place-items: center;
    gap: .32rem;
    min-height: 84px;
    padding: .42rem .25rem .48rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 14px;
    background: rgba(255, 255, 255, .84);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}

body.site-public .filter-form--projects .sdg-filter-card img,
body.site-public .filter-form--projects .sdg-filter-card__visual img {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    border-radius: 10px;
}

body.site-public .filter-form--projects .sdg-filter-card__visual span {
    display: block;
    line-height: 1.15;
    color: #334155;
    font-weight: 500;
    white-space: nowrap;
}

body.site-public .filter-form--projects .sdg-filter-card:hover .sdg-filter-card__visual,
body.site-public .filter-form--projects .sdg-filter-card.is-active .sdg-filter-card__visual,
body.site-public .filter-form--projects .sdg-filter-card input:checked + .sdg-filter-card__visual {
    border-color: var(--goal-color, var(--rru-primary));
    background: #fff;
    box-shadow: 0 10px 22px rgba(15, 61, 98, .12);
    transform: translateY(-1px);
}

@media (max-width: 760px) {
    body.site-public .filter-form--projects .sdg-filter-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .48rem;
        padding: .6rem;
    }

    body.site-public .filter-form--projects .sdg-filter-card__visual {
        min-height: 76px;
        border-radius: 12px;
    }

    body.site-public .filter-form--projects .sdg-filter-card img,
    body.site-public .filter-form--projects .sdg-filter-card__visual img {
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
    }
}

@media (max-width: 420px) {
    body.site-public .filter-form--projects .sdg-filter-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* RS31.90 Public projects SDG toggle checkmark */
body.site-public .filter-form--projects .sdg-filter-card {
    position: relative;
}

body.site-public .filter-form--projects .sdg-filter-card__visual {
    position: relative;
    isolation: isolate;
}

body.site-public .filter-form--projects .sdg-filter-card__visual::after {
    content: "✓";
    position: absolute;
    top: .34rem;
    right: .34rem;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 1.18rem;
    height: 1.18rem;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 6px 14px rgba(22, 163, 74, .28);
    opacity: 0;
    transform: scale(.72);
    transition: opacity .14s ease, transform .14s ease;
    pointer-events: none;
}

body.site-public .filter-form--projects .sdg-filter-card input:checked + .sdg-filter-card__visual::after {
    opacity: 1;
    transform: scale(1);
}

body.site-public .filter-form--projects .sdg-filter-card input:checked + .sdg-filter-card__visual {
    border-color: rgba(22, 163, 74, .7);
    box-shadow: 0 12px 26px rgba(15, 61, 98, .14), 0 0 0 2px rgba(22, 163, 74, .16);
}

body.site-public .filter-form--projects .sdg-filter-card input:checked + .sdg-filter-card__visual span {
    color: #166534;
}

@media (max-width: 760px) {
    body.site-public .filter-form--projects .sdg-filter-card__visual::after {
        top: .28rem;
        right: .28rem;
        width: 1.05rem;
        height: 1.05rem;
        font-size: .66rem;
        border-width: 1.5px;
    }
}


/* =========================================================
   RS31.148 Public home section visual scale polish
   Scope: public homepage sections only. No admin/backend impact.
   ========================================================= */
body.site-public .public-home-section {
    --home-heading-color: #0b5d3b;
    --home-copy-color: #334155;
    --home-muted-color: #64748b;
    --home-soft-surface: #f8fcf7;
    color: var(--home-copy-color);
}

/* Photo hero: keep dark type tokens (bright campus background) */
body.site-public .public-home-section.hero.hero--home {
    --home-heading-color: #0b2742;
    --home-copy-color: #334155;
    --home-muted-color: #475569;
    color: #0b2742;
}

body.site-public .public-home-section :where(h1, h2, h3, p, a, span, strong, small) {
    overflow-wrap: anywhere;
}

body.site-public .public-home-section:not(.hero) {
    padding-block: clamp(3.1rem, 6vw, 5.25rem);
}

body.site-public .public-home-section .eyebrow {
    margin-bottom: .7rem;
    color: #0b6b43;
    font-size: clamp(.72rem, .9vw, .82rem);
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: .075em;
}

body.site-public .public-home-section__copy {
    max-width: 780px;
    min-width: 0;
}

body.site-public .public-home-section__copy h2,
body.site-public .document-card--hero h2 {
    margin-bottom: .72rem;
    color: var(--home-heading-color);
    font-size: clamp(1.55rem, 3.1vw, 2.42rem);
    font-weight: 600;
    line-height: 1.32;
    letter-spacing: -.012em;
    text-wrap: balance;
}

body.site-public .public-home-section__copy > p,
body.site-public .public-home-section__copy .lead,
body.site-public .document-card--hero > p {
    max-width: 760px;
    margin-bottom: 0;
    color: var(--home-copy-color);
    font-size: clamp(.98rem, 1.18vw, 1.08rem);
    font-weight: 400;
    line-height: 1.78;
}

body.site-public .hero.hero--home .public-home-section__copy > p,
body.site-public .hero.hero--home .public-home-section__copy .lead {
    color: #334155;
    font-weight: 500;
}

body.site-public .public-home-section .button {
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: .72rem 1.05rem;
    border-radius: 12px;
    font-size: .95rem;
    line-height: 1.35;
}

body.site-public .public-home-section .section__head {
    align-items: center;
    gap: clamp(1rem, 3vw, 2rem);
    margin-bottom: clamp(1.3rem, 3vw, 2.1rem);
}

body.site-public .public-home-section--hero.hero--polished,
body.site-public .public-home-section--hero-inline.hero--polished {
    min-height: clamp(520px, 67vh, 650px);
}

body.site-public .public-home-section--hero .hero__content {
    min-height: clamp(520px, 67vh, 650px);
    gap: clamp(2rem, 6vw, 4.4rem);
    padding-block: clamp(2rem, 4.2vw, 3.8rem);
}

body.site-public .public-home-section--hero .hero__panel {
    max-width: 680px;
}

body.site-public .public-home-section--hero h1 {
    max-width: 680px;
    margin: .18rem 0 .95rem;
    font-size: clamp(2.35rem, 4.85vw, 4.18rem);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -.024em;
    text-wrap: balance;
}

body.site-public .public-home-section--hero .hero__panel > p {
    max-width: 660px;
    color: rgba(255, 255, 255, .88);
    font-size: clamp(.98rem, 1.18vw, 1.08rem);
    line-height: 1.82;
}

body.site-public .public-home-section--hero .hero-kicker {
    min-height: 32px;
    margin-bottom: .9rem;
    padding: .28rem .72rem;
    font-size: .78rem;
    line-height: 1.35;
}

body.site-public .public-home-section--hero .hero__actions {
    margin-top: 1.25rem;
    gap: .72rem;
}

body.site-public .public-home-section--hero .hero-stat-row {
    gap: .78rem;
    margin-top: clamp(1.35rem, 3vw, 1.85rem);
}

body.site-public .public-home-section--hero .hero-stat-row div {
    min-height: 78px;
    padding: .82rem .9rem;
    border-radius: 16px;
}

body.site-public .public-home-section--hero .hero-stat-row strong {
    font-size: clamp(1rem, 1.8vw, 1.25rem);
    line-height: 1.25;
}

body.site-public .public-home-section--hero .hero-stat-row span {
    margin-top: .28rem;
    font-size: .82rem;
    line-height: 1.35;
}

body.site-public .public-home-section--hero .hero-lens {
    max-width: 470px;
    margin-inline: auto;
    padding: clamp(1rem, 2vw, 1.35rem);
}

body.site-public .public-home-section--hero .sdg-logo-cloud {
    gap: clamp(.42rem, 1vw, .62rem);
}

body.site-public .public-home-section--hero .sdg-logo-tile {
    border-width: 3px;
    border-radius: 14px;
}

body.site-public .public-home-section--hero .sdg-logo-tile--portal strong {
    font-size: clamp(1rem, 1.8vw, 1.18rem);
}

body.site-public .public-home-section--hero .sdg-logo-tile--portal small {
    font-size: .72rem;
}

body.site-public .public-home-section--hero .hero-card--floating {
    width: min(330px, 92%);
    padding: 1.25rem 1.35rem;
    border-radius: 18px;
}

body.site-public .public-home-section--hero .hero-card strong {
    font-size: clamp(1.12rem, 2vw, 1.34rem);
    line-height: 1.35;
}

body.site-public .public-home-section--hero .hero-card p {
    margin-top: .38rem;
    color: #334155;
    font-size: .9rem;
    line-height: 1.68;
}

body.site-public .public-home-section--projects.section--projects {
    background: linear-gradient(180deg, #f8fcf7 0%, #f2f8ef 100%);
}

body.site-public .public-home-section--projects .cards-grid--featured {
    gap: clamp(1rem, 2.4vw, 1.5rem);
}

body.site-public .public-home-section--projects .empty-state--home-projects {
    min-height: 96px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem 1.5rem !important;
    border-color: rgba(11, 93, 59, .18);
    border-radius: 18px;
    background: rgba(255, 255, 255, .72);
    color: #475569;
    font-size: .95rem;
    line-height: 1.65;
}

body.site-public .dashboard-band.public-home-section {
    padding-block: clamp(3.35rem, 6.5vw, 5.45rem);
}

body.site-public .dashboard-band .public-home-section__copy h2 {
    color: #fff;
    font-size: clamp(1.6rem, 3.25vw, 2.55rem);
    line-height: 1.36;
}

body.site-public .dashboard-band .public-home-section__copy > p {
    max-width: 760px;
    color: rgba(255, 255, 255, .9);
    line-height: 1.82;
}

body.site-public .dashboard-band .metric-grid {
    gap: clamp(.75rem, 2vw, 1rem);
    margin-top: clamp(1.25rem, 3vw, 1.85rem);
}

body.site-public .dashboard-band .metric-card {
    min-height: 94px;
    padding: 1.1rem 1rem;
    border-radius: 16px;
}

body.site-public .dashboard-band .metric-card strong {
    font-size: clamp(1.72rem, 3vw, 2.28rem);
    line-height: 1.08;
}

body.site-public .dashboard-band .metric-card span {
    margin-top: .5rem;
    color: rgba(255, 255, 255, .86);
    font-size: .9rem;
    line-height: 1.45;
}

body.site-public .dashboard-panel--glass {
    padding: clamp(1.35rem, 2.8vw, 1.85rem);
    border-radius: 22px;
}

body.site-public .dashboard-panel--glass h3 {
    margin-bottom: 1rem;
    font-size: clamp(1.05rem, 1.55vw, 1.25rem);
    line-height: 1.45;
}

body.site-public .dashboard-panel--glass .panel-caption {
    margin-bottom: .85rem;
    font-size: .75rem;
    line-height: 1.35;
    text-transform: none;
    letter-spacing: .02em;
}

body.site-public .dashboard-panel--glass .progress-list {
    gap: .95rem;
}

body.site-public .dashboard-panel--glass .progress-row {
    grid-template-columns: minmax(104px, .42fr) minmax(110px, 1fr) minmax(26px, auto);
    gap: .85rem;
    font-size: .9rem;
    line-height: 1.45;
}

body.site-public .dashboard-panel--glass .dashboard-note {
    margin-top: 1.1rem;
    font-size: .88rem;
    line-height: 1.65;
}

body.site-public .section--overview .split--wide {
    gap: clamp(2rem, 5vw, 4.2rem);
    align-items: start;
}

body.site-public .section--overview .goal-strip--logos {
    gap: .5rem;
    margin-top: 1.35rem;
}

body.site-public .section--overview .goal-chip--image {
    width: clamp(34px, 4vw, 42px);
    height: clamp(34px, 4vw, 42px);
    border-radius: 10px;
}

body.site-public .section--overview .trust-grid,
body.site-public .public-home-section--cms .trust-grid {
    gap: clamp(.85rem, 2vw, 1.15rem);
    margin-top: clamp(1.35rem, 3vw, 2rem);
}

body.site-public .section--overview .trust-card,
body.site-public .public-home-section--cms .trust-card {
    padding: clamp(1rem, 2.2vw, 1.3rem);
    border-radius: 18px;
}

body.site-public .section--overview .trust-card strong,
body.site-public .public-home-section--cms .trust-card strong {
    margin-top: .68rem;
    color: #0b5d3b;
    font-size: clamp(1rem, 1.25vw, 1.1rem);
    line-height: 1.42;
}

body.site-public .section--overview .trust-card p,
body.site-public .public-home-section--cms .trust-card p {
    margin-top: .35rem;
    color: var(--home-muted-color);
    font-size: .92rem;
    line-height: 1.68;
}

body.site-public .section--overview .goal-grid--image {
    gap: .72rem;
}

body.site-public .section--overview .goal-pill--image {
    min-height: 76px;
    padding: .62rem .72rem;
    border-radius: 16px;
}

body.site-public .section--overview .goal-pill--image .goal-pill__icon {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
    border-radius: 11px;
}

body.site-public .section--overview .goal-pill__text small {
    font-size: .72rem;
    line-height: 1.25;
}

body.site-public .section--overview .goal-pill__text strong {
    font-size: .88rem;
    line-height: 1.38;
}

body.site-public .section--workflow .section__head--center {
    max-width: 820px;
    margin-bottom: clamp(1.45rem, 3vw, 2rem);
}

body.site-public .section--workflow .workflow-list--connected {
    gap: clamp(1rem, 2vw, 1.25rem);
}

body.site-public .section--workflow .workflow-item {
    padding: clamp(1.05rem, 2.25vw, 1.35rem);
    border-radius: 18px;
}

body.site-public .section--workflow .workflow-item span {
    width: 42px;
    height: 42px;
    margin-bottom: .85rem;
    border-radius: 13px;
    font-size: .92rem;
}

body.site-public .section--workflow .workflow-item h3 {
    margin-bottom: .45rem;
    color: #0b5d3b;
    font-size: clamp(1.02rem, 1.35vw, 1.18rem);
    line-height: 1.45;
}

body.site-public .section--workflow .workflow-item p {
    color: var(--home-muted-color);
    font-size: .93rem;
    line-height: 1.7;
}

body.site-public .section--documents .document-center--polished {
    gap: clamp(1.25rem, 3vw, 2rem);
    align-items: stretch;
}

body.site-public .section--documents .document-card--hero {
    padding: clamp(1.45rem, 3vw, 2rem);
    border-radius: 22px;
}

body.site-public .section--documents .document-card--hero h2,
body.site-public .section--documents .document-card--hero .eyebrow {
    color: #fff;
}

body.site-public .section--documents .document-card--hero p {
    color: rgba(255, 255, 255, .88);
}

body.site-public .section--documents .document-list {
    gap: .85rem;
}

body.site-public .section--documents .document-link {
    align-items: center;
    min-height: 70px;
    padding: 1rem 1.05rem;
    border-radius: 16px;
}

body.site-public .section--documents .document-link span {
    color: #334155;
    font-size: .95rem;
    line-height: 1.5;
}

body.site-public .section--documents .document-link strong {
    max-width: 42%;
    color: #0b6b43;
    font-size: .88rem;
    line-height: 1.45;
    text-align: right;
    white-space: normal;
}

body.site-public .public-home-section--cms .section__head {
    align-items: center;
}

@media (max-width: 980px) {
    body.site-public .public-home-section--hero .hero__content,
    body.site-public .section--overview .split--wide,
    body.site-public .dashboard-grid,
    body.site-public .section--documents .document-center--polished {
        grid-template-columns: 1fr;
    }

    body.site-public .public-home-section--hero .hero__content {
        min-height: auto;
    }

    body.site-public .public-home-section--hero .hero-lens {
        width: min(100%, 520px);
    }

    body.site-public .dashboard-panel--glass {
        max-width: 680px;
    }

    body.site-public .section--workflow .workflow-list--connected {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.site-public .section--workflow .workflow-list--connected::before {
        display: none;
    }
}

@media (max-width: 760px) {
    body.site-public .public-home-section:not(.hero) {
        padding-block: 2.45rem;
    }

    body.site-public .public-home-section .section__head {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 1rem;
    }

    body.site-public .public-home-section .section__head .button {
        width: 100%;
    }

    body.site-public .public-home-section__copy h2,
    body.site-public .document-card--hero h2 {
        font-size: clamp(1.34rem, 6vw, 1.78rem);
        line-height: 1.38;
    }

    body.site-public .public-home-section__copy > p,
    body.site-public .public-home-section__copy .lead,
    body.site-public .document-card--hero > p {
        font-size: .95rem;
        line-height: 1.75;
    }

    body.site-public .public-home-section--hero.hero--polished {
        min-height: auto;
    }

    body.site-public .public-home-section--hero .hero__content {
        padding-block: 1.65rem 2.25rem;
        gap: 1.5rem;
    }

    body.site-public .public-home-section--hero h1 {
        font-size: clamp(1.82rem, 9.2vw, 2.58rem);
        line-height: 1.18;
    }

    body.site-public .public-home-section--hero .hero__panel > p {
        font-size: .94rem;
        line-height: 1.78;
    }

    body.site-public .public-home-section--hero .hero-stat-row {
        grid-template-columns: 1fr;
    }

    body.site-public .public-home-section--hero .hero-stat-row div {
        min-height: 0;
    }

    body.site-public .public-home-section--hero .sdg-logo-cloud {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.site-public .public-home-section--hero .hero-card--floating {
        position: static;
        width: 100%;
        margin-top: 1rem;
    }

    body.site-public .dashboard-band .metric-grid {
        grid-template-columns: 1fr;
    }

    body.site-public .dashboard-band .metric-card {
        min-height: 0;
    }

    body.site-public .dashboard-panel--glass .progress-row {
        grid-template-columns: 1fr auto;
        gap: .45rem .8rem;
    }

    body.site-public .dashboard-panel--glass .progress-row span {
        grid-column: 1 / -1;
    }

    body.site-public .section--overview .trust-grid,
    body.site-public .public-home-section--cms .trust-grid,
    body.site-public .section--workflow .workflow-list--connected {
        grid-template-columns: 1fr;
    }

    body.site-public .section--overview .goal-grid--image {
        grid-template-columns: 1fr;
    }

    body.site-public .section--documents .document-link {
        display: grid;
        grid-template-columns: 1fr;
        align-items: start;
    }

    body.site-public .section--documents .document-link strong {
        max-width: none;
        text-align: left;
    }
}

@media (max-width: 430px) {
    body.site-public .public-home-section--hero .sdg-logo-cloud {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.site-public .public-home-section--hero .hero-lens {
        padding: .85rem;
        border-radius: 20px;
    }

    body.site-public .public-home-section--hero .sdg-logo-tile {
        border-width: 2px;
        border-radius: 11px;
    }
}
