/* Shared frontend layout and typography, loaded after module styles. */
:root {
    --site-container: 1320px;
    --site-gutter: 24px;
    --site-font: 'Poppins', sans-serif;
}
.frontend-site { font-family: var(--site-font); font-size: 15px; }
.frontend-site :is(main,section,article,nav,button,input,a,p,h1,h2,h3,.top-bar,.impact-intro,.leadership-content,.news-full-content) { font-family: var(--site-font); }
.frontend-site main :is(h1,h2,h3) { font-weight: 600; line-height: 1.3; letter-spacing: normal; overflow-wrap: anywhere; }
.frontend-site main :is(p,.impact-intro,.leadership-content,.news-full-content,.news-list-intro) { font-weight: 400; line-height: 1.75; }
.frontend-site main,.frontend-site main>section { min-width: 0; }
.frontend-site main>section { padding-inline: 0; }
.frontend-site :is(.header-container,.hero-lower,.impact-container,.hm2-grid,.leadership-carousel,.trustees-carousel,.latest-news-heading,.news-carousel-controls,.news-home-track,.hm4-heading,.hm4-accordion,.hm5-partners,.hm5-logo-carousel,.hm5-process-heading,.hm5-card-grid,.hm6-container,.search-results,.news-public-list,.news-detail) {
    width: min(var(--site-container), calc(100% - var(--site-gutter) * 2));
    max-width: none;
    min-width: 0;
    margin-inline: auto;
    padding-inline: 0;
}
.frontend-site :is(.hero-lower,.leadership-slide) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.frontend-site :is(.header-menu,.header-actions,.navigation,.hero-buttons,.latest-news-heading>div,.hm4-heading>div,.hm5-process-heading>div,.hm2-copy) { min-width: 0; }
.frontend-site :is(.hero-buttons,.header-actions) { max-width: 100%; }
.frontend-site :is(.button,.header-button,.leadership-button,.hm4-button,.hm5-contact,.news-section-button) { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.frontend-site .hero-content { margin-right: 0; padding: 32px; }
.frontend-site .hero-buttons { padding-inline: 24px; }
.frontend-site :is(.impact-intro,.latest-news-heading p,.hm4-heading p,.hm5-partners>p,.hm5-process-heading>div>p) { max-width: 820px; }
.frontend-site .hm2-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.frontend-site .trustees-indicators { left: 8px; max-width: 16px; }
.frontend-site .trustees-indicators button { width: 14px; }
.frontend-site .trustees-prev { left: 8px; }
.frontend-site .trustees-next { right: 8px; }
.frontend-site .hm6-prev { left: 8px; }
.frontend-site .hm6-next { right: 8px; }
.frontend-site .news-home-track { scroll-padding-inline: 0; }
.frontend-site .news-home-track .news-card { flex-basis: calc((100% - 72px) / 3); }
.frontend-site .news-card-copy { padding-inline: 0; }
.frontend-site .news-card { position: relative; }
.frontend-site .hm5-card-band { padding-inline: 0; }
.frontend-site .hm5-logo-viewport { container-type: inline-size; max-width: 100%; }
.frontend-site .hm5-logo-group { min-width: 100cqw; }
.frontend-site .hm5-logo-track { max-width: none; }
.frontend-site .search-toggle form { max-width: min(380px,calc(100vw - var(--site-gutter) * 2)); }
.frontend-site .search-toggle input { flex: 1 1 140px; width: 180px; max-width: 100%; }
.frontend-site .header-menu>.navigation>.nav-item:last-child .dropdown { left: auto; right: 0; }
.frontend-site .dropdown { max-width: calc(100vw - var(--site-gutter) * 2); }
@media(max-width:1400px) {
    /* The shared container leaves less room for desktop navigation. */
    .frontend-site .header-row { align-items:flex-start; position:relative; }
    .frontend-site .menu-toggle { display:flex; align-items:center; gap:12px; margin-top:18px; background:#17131380; color:#fff; border-color:#fff8; }
    .frontend-site .header-menu { display:none; position:absolute; top:76px; right:0; width:min(420px,100%); padding:20px; background:var(--cream); color:var(--ink); border-radius:6px; box-shadow:0 12px 30px #0003; max-height:70vh; overflow:auto; }
    .frontend-site .header-menu.is-open { display:block; }
    .frontend-site .navigation { display:block; }
    .frontend-site .nav-item { white-space:normal; }
    .frontend-site .dropdown { position:static; box-shadow:none; border-left:2px solid var(--coral); margin:4px 0 12px; min-width:0; }
    .frontend-site .header-actions { margin-top:16px; flex-wrap:wrap; }
    .frontend-site .search-toggle summary { border-color:var(--ink); }
    .frontend-site .search-toggle form { position:static; margin-top:12px; box-shadow:none; padding:0; flex-wrap:wrap; }
    .frontend-site .search-toggle[open] { width:100%; }
}
@media(max-width:900px) {
    .frontend-site .news-home-track .news-card { flex-basis: calc((100% - 36px) / 2); }
    .frontend-site .latest-news-heading,.frontend-site .hm4-heading,.frontend-site .hm5-process-heading { flex-direction:column; align-items:flex-start; }
}
@media(max-width:800px) { .frontend-site .hm2-grid { grid-template-columns:1fr; } }
@media(max-width:700px) {
    :root { --site-gutter: 20px; }
    .frontend-site :is(.hero-lower,.leadership-slide) { grid-template-columns: minmax(0,1fr); }
    .frontend-site .hero-content { padding:28px 20px; }
    .frontend-site .hero-buttons { padding-inline:20px; }
}
@media(max-width:540px) {
    .frontend-site .news-home-track .news-card { flex-basis: 85%; }
    .frontend-site .impact-icon { max-width:100%; }
    .frontend-site .hm5-logo-group { min-width:100cqw; }
}
@media(prefers-reduced-motion:reduce) {
    .frontend-site .hm5-logo-group { min-width:0; }
}
