/* Alken Fund V2: public-site presentation. Kept separate from the shared
   AlkenAM base; no content, translations or financial data are changed here.
   .page scopes the presentation and outranks legacy page-local style blocks. */
:root {
    --bg: #fafaf8;
    --bone: #f5f4f0;
    --ink: #222225;
    --ink-2: #3e4145;
    --ink-3: #5c6065;
    --ink-4: #66696d;
    --hair: #d9dadd;
    --hair-2: #eeefef;
    --rule: var(--hair);
    --alken-tint: #f0f0ed;
    --gut: clamp(20px, 4vw, 56px);
    --max: 1376px;
    --pad-y: clamp(28px, 3.5vw, 46px);
}

html { scroll-padding-top: 96px; }
body { font-size: .875rem; line-height: 1.65; }
.page > main { min-width: 0; }
.page .shell { width: 100%; }
.page :is(.grid-12, .split-2, .services-grid, .char-grid, .contact-layout,
    .insights-grid, .welcome-selects, .welcome-cards, .perf-tables) > * { min-width: 0; }
.page :is(h1, h2, h3, p, li, dd) { overflow-wrap: break-word; }
.page :is(.body, .legal-prose .body, .feature-list li, .history-note) {
    font-size: .875rem;
    line-height: 1.7;
}
.page .lede { font-size: .9375rem; line-height: 1.75; }
.page .h-1 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.page .h-2 { font-size: clamp(1.5rem, 2.3vw, 1.875rem); line-height: 1.2; }
.page .h-3 { font-size: 1.25rem; line-height: 1.3; }
.page .eyebrow { font-size: .75rem; line-height: 1.5; letter-spacing: .13em; }
.page .section--tight { padding-block: clamp(24px, 2.8vw, 40px); }
.page .section-num { margin-bottom: 22px; gap: 16px; min-width: 0; }
.page .section-num__title {
    flex: 0 1 auto;
    min-width: 0;
    font-size: clamp(1.5rem, 2.3vw, 1.875rem);
    line-height: 1.2;
    padding-bottom: 10px;
    text-wrap: balance;
}
.page .section-num__title::after { width: 44px; height: 2px; }
/* A section heading already carries the brand rule; eyebrows inside that section drop their dash. */
.page .section-num ~ .eyebrow::before,
.page .section-num ~ * .eyebrow::before { content: none; }
.page .page-hero { padding-block: clamp(28px, 3.5vw, 46px) 20px; }
.page .page-hero .h-display {
    font-size: clamp(1.875rem, 3.8vw, 3rem);
    line-height: 1.08;
    white-space: normal;
    text-wrap: balance;
}
.page .page-hero > .eyebrow { margin-top: 0; margin-bottom: 18px; }
.page .page-hero > .lede { margin-bottom: 0; }

/* Facts have their own grid column, never an absolute layer over the copy. */
.page .page-hero:has(> .hero-facts) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    column-gap: clamp(32px, 5vw, 80px);
    align-items: start;
}
.page .page-hero:has(> .hero-facts) > :not(.hero-facts) { grid-column: 1; }
.page .page-hero > .hero-facts {
    grid-column: 2;
    grid-row: 2 / span 3;
    position: static;
    min-width: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-top: 2px solid var(--alken);
}
.page .hero-fact { padding: 12px 0; gap: 16px; }
.page .hero-fact:first-child { border-top: 0; }
.page .hero-fact__label { font-size: .75rem; line-height: 1.4; letter-spacing: .08em; }
.page .hero-fact__value { font-size: 1.0625rem; line-height: 1.25; }

/* Header and navigation. Tablet switches early enough for translated labels. */
.page .site-header { background: #fff; backdrop-filter: none; }
.page .site-header__inner { min-height: 80px; height: auto; gap: 24px; }
.page .brand { flex: 0 0 auto; }
.page .brand__word { font-size: 1.5rem; letter-spacing: .035em; }
.page .brand__star { width: 38px; height: 38px; }
.page .nav { gap: 2px; }
.page .nav a.nav-link { padding: 14px 12px; font: 500 .8125rem/1.4 var(--sans); letter-spacing: .01em; color: var(--ink-2); }
.page .nav a.nav-link:hover { color: var(--alken); }
/* No underline in the menu: the current page is marked by colour and weight only. */
.page .nav a.nav-link::after,
.page .nav a.nav-link.active::after { content: none; display: none; }
.page .nav a.nav-link.active { color: var(--alken); font-weight: 600; }
.page .nav a.nav-link--cta {
    border-radius: 3px;
    margin-left: 14px;
    background: var(--alken);
    min-height: 44px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
.page .nav a.nav-link--cta:hover { background: var(--alken-darken); }
.page .nav-dropdown { padding-block: 10px; border-radius: 3px; }
.page .nav a.nav-dropdown__link { font-size: .875rem; padding-block: 13px; }
.page .topbar { font-size: .6875rem; letter-spacing: .08em; }
.page .topbar__inner { min-height: 34px; gap: 12px; }
.page .topbar__text { color: var(--ink-3); }
.page .topbar .culture__btn { font: 500 .75rem/1.3 var(--sans); color: var(--ink-2); }
.page .nav-toggle { display: none; }

/* Shared surfaces: clear edges and generous, consistent reading measures. */
.page :is(.entity-card, .card, .offering-card, .mini-card, .approach-card,
    .esg-pillar, .credential-card, .expertise-pillar, .beliefs-tenet) {
    border-radius: 3px;
    box-shadow: none;
}
.page .services-grid { gap: 20px; margin-top: 0; }
.page .entity-card { padding: clamp(20px, 2vw, 26px); gap: 12px; border-top-width: 1px; }
.page .entity-card :is(.body, .feature-list) { margin: 0; }
.page .entity-card__logo { height: 112px; margin-bottom: 8px; justify-content: center; }
.page .entity-card__logo img { width: auto; height: 104px; max-height: 104px; max-width: 80%; object-position: center; }
.page .entity-card__kicker { font-size: .75rem; line-height: 1.5; margin: 0; letter-spacing: .08em; }
.page .entity-card__more { font-size: .875rem; line-height: 1.5; border-top: 1px solid var(--rule); }
.page :is(.entity-card, .insight-card):hover { transform: none; box-shadow: 0 8px 28px #2222250d; border-color: #a2a0a1; }
.page .card { padding: clamp(18px, 2vw, 26px); }
.page .team-photo { border-radius: 3px; }
.page :is(.team-card__focus, .team-card__hint, .aam-member__role, .kf-card__label) { font-size: .875rem; line-height: 1.5; }
.page .kf-card { background: white; border-top: 2px solid var(--alken); }
.page .kf-card__value { color: var(--alken); }
.page .esg-timeline__card { padding: 24px; border-radius: 3px; }
.page .esg-timeline__year { color: var(--alken); }
.page .insight-card__title { font-size: 1.25rem; line-height: 1.3; }
.page .insight-card__excerpt { font-size: .875rem; line-height: 1.65; }
.page :is(.insight-card__meta, .insight-card__date) { font-size: .75rem; line-height: 1.5; }
.page .insight-card__body { padding: 20px; }
.page .insight-card { border-radius: 3px; }

/* Controls use a visible keyboard focus and retain comfortable touch targets. */
.page .btn { min-height: 46px; padding: 12px 22px; border-radius: 3px; font-size: .875rem; line-height: 1.4; text-align: center; justify-content: center; }
.page .btn--ghost:hover { background: var(--hair-2); }
.page :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--alken);
    outline-offset: 4px;
}
.page .ink-bg :is(a, button):focus-visible { outline-color: #d6bb83; }
.page :is(select, input, textarea) { max-width: 100%; }
.page :is(.fund-select, .doc-search__input) { min-height: 46px; font-size: 1rem; border-radius: 3px; }
.page :is(.tab-strip__tab, .doc-chip, .lang-chip) { min-height: 44px; font-size: .875rem; line-height: 1.4; white-space: normal; }
.page .tab-strip { gap: 4px 12px; }
.page .tab-strip__tab { padding: 12px 16px; background: transparent; }
.page .tab-strip__tab.is-active { background: transparent; border-bottom-width: 3px; font-weight: 600; }
/* Tabs never show the focus square: keyboard focus is carried by the tab's own rule. */
.page .tab-strip__tab:focus, .page .tab-strip__tab:focus-visible { outline: none; }
.page .tab-strip__tab:focus-visible { color: var(--alken); border-bottom-color: var(--ink); }
.page .doc-toolbar { gap: 12px; }
.page .doc-row { min-height: 48px; padding: 12px 14px; gap: 12px 20px; }
.page .doc-row__title { font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.page :is(.doc-row__meta, .tag, .doc-search__summary) { font-size: .75rem; line-height: 1.5; }

/* Financial data stays tabular; wide comparisons scroll inside their own frame. */
.page .table-scroll {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    border: 1px solid var(--rule);
    border-radius: 3px;
    scrollbar-color: #8b707b #eeefef;
}
.page .table-scroll .data-table { border: 0; }
.page .data-table { font-size: .875rem; font-variant-numeric: tabular-nums; }
.page .data-table th { background: #eceeec; color: #41454a; font-size: .75rem; padding: 14px 16px; letter-spacing: .04em; }
.page .data-table td { padding: 14px 16px; }
.page .data-table tbody tr:nth-child(even) td { background: #f7f8f6; }
.page .data-table tbody tr:hover td { background: #eeefeb; }
.page .data-table .mono { font-size: .8125rem; }
.page .sort-button { font-size: .75rem; min-height: 28px; line-height: 1.5; }
.page .stat-row { border-radius: 3px; }
.page .stat { padding: 18px; min-width: 0; }
.page .stat__value { font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.1; }
.page :is(.stat__label, .stat__ccy, .perf-note, .char-block__title) { font-size: .75rem; line-height: 1.5; letter-spacing: .04em; }
.page .perf-note { color: var(--ink-3); }
.page .srri__box { width: 22px; height: 24px; font-size: .75rem; }
.page canvas { max-width: 100%; }

/* Contact, legal prose and investor entry use the same readable type scale. */
.page .contact-form-card { background: white; border: 1px solid var(--rule); padding: clamp(20px, 3vw, 40px); border-radius: 3px; }
.page .contact-card .body { margin-block: 4px; }
.page .cform__input { font-size: 1rem; min-height: 46px; border-radius: 3px; }
.page .cform__label { font-size: .875rem; line-height: 1.5; letter-spacing: .03em; }
.page .cform__consent { min-height: 44px; align-items: center; }
.page :is(.award-group, .award-group-band span, .award-row__class, .award-disclaimer p) { font-size: .875rem; line-height: 1.75; }
.page :is(.video-feature__role, .video-feature__label, .award-date, .video-feature__date, .award-row__pills span) { font-size: .75rem; line-height: 1.5; }
.page .video-feature__quote { font-size: 1.125rem; line-height: 1.6; }
.page .legal-prose { max-width: 80ch; margin-inline: 0; }
.page .legal-prose .h-3 { margin: 36px 0 10px; }
.page .legal-prose .h-3:first-child { margin-top: 0; }
.page .legal-prose .legal-subhead { font: 600 .9375rem/1.4 var(--sans); color: var(--ink); margin: 24px 0 6px; }
.page .legal-prose .body { margin: 0 0 12px; }
.page .legal-prose :is(a, td) { overflow-wrap: anywhere; }
.page .welcome-panel { border-top: 3px solid var(--alken); }
.page .welcome-card { border-radius: 3px; }
.page :is(.welcome-field__label, .welcome-terms__text, .welcome-disclaimer,
    .welcome-modal__p, .welcome-modal__list, .welcome-modal__agree) { font-size: .875rem; line-height: 1.75; }
.page .welcome-modal { max-height: calc(100dvh - 32px); overflow-y: auto; }
.page :is(.welcome-modal__p, .welcome-modal__list li) { font-size: .875rem; line-height: 1.75; text-align: left; hyphens: none; }
/* People dialog: portrait column, role eyebrow, serif name over a hairline, prose at a reading
   measure, square close - the same anatomy on every team page. */
.page .bio-modal { padding: 20px; }
.page .bio-modal__panel { width: min(960px, 100%); max-height: calc(100dvh - 40px); overflow-y: auto; border-radius: 4px; }
.page .bio-modal__grid { grid-template-columns: minmax(200px, 260px) minmax(0, 1fr); gap: clamp(24px, 3vw, 40px); padding: clamp(24px, 3vw, 40px); }
.page .bio-modal__photo { border-radius: 3px; }
.page .bio-modal__content { padding-top: 0; padding-right: 36px; }
.page .bio-modal__content .eyebrow { margin: 0 0 10px; }
.page .bio-modal__content .eyebrow::before { content: none; }
.page .bio-modal__content .h-2 { margin: 0; padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
.page .bio-modal__meta { margin: 12px 0 0; font-size: .8125rem; color: var(--ink-3); }
.page .bio-modal__content .body, .page .aam-bio .bio-modal__content .body { max-width: 62ch; margin-top: 18px; font-size: .9375rem; line-height: 1.75; color: var(--ink-2); }
.page .bio-modal__content .body p { margin: 0 0 12px; }
.page .bio-modal__content .body p:last-child { margin-bottom: 0; }
.page .bio-modal__link { margin-top: 18px; font-size: .8125rem; }
.page .bio-modal__close {
    top: 12px; right: 12px; z-index: 2;
    width: 36px; height: 36px; min-width: 0; min-height: 0; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--rule); border-radius: 3px; background: white;
    font: 400 15px/1 var(--sans); letter-spacing: 0; text-transform: none; color: var(--ink-3);
}
.page .bio-modal__close:hover { background: var(--hair-2); border-color: var(--ink-3); color: var(--ink); }
/* Team cards: name, one role line, an optional muted coverage line, then the Bio hint. */
.page .aam-member__meta { color: var(--ink-4); margin-top: 1px; }

.page .ink-bg { background: #242427; }
/* Footer: one row, same footprint as the V1 site (about 56px), light surface. */
.page .site-footer { background: #f2f3f1; margin-top: 0; border-top: 1px solid var(--rule); color: var(--ink-2); }
.page .fund-footer .shell { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 24px; min-height: 56px; padding-block: 10px; }
.page .fund-footer__left { display: flex; align-items: center; gap: 12px; }
.page .fund-footer__links { display: flex; flex-wrap: wrap; gap: 2px 22px; }
.page .fund-footer__links a { font-size: .75rem; line-height: 1.5; color: var(--ink-2); padding-block: 6px; }
.page .fund-footer__copy { color: var(--ink-3); font-size: .75rem; line-height: 1.5; }
.page .fund-footer__linkedin { color: var(--ink-3); }

@media (max-width: 1199px) {
    .page .site-header__inner { min-height: 68px; }
    .page .nav-toggle { display: block; }
    .page .nav-burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 46px; height: 46px; padding: 11px; margin: 0; cursor: pointer; }
    .page .nav-burger span { display: block; width: 24px; height: 2px; background: var(--ink); transition: transform .2s, opacity .2s; }
    .page .nav-toggle:checked ~ .nav-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .page .nav-toggle:checked ~ .nav-burger span:nth-child(2) { opacity: 0; }
    .page .nav-toggle:checked ~ .nav-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .page .nav-toggle:focus-visible ~ .nav-burger { outline: 2px solid var(--alken); outline-offset: 2px; }
    .page .nav {
        display: none;
        position: absolute;
        top: 100%; left: 0; right: 0;
        flex-direction: column;
        align-items: stretch;
        padding: 12px var(--gut) 24px;
        max-height: calc(100dvh - 76px);
        overflow-y: auto;
        overscroll-behavior: contain;
        background: white;
        border-bottom: 1px solid var(--rule);
        box-shadow: 0 16px 28px #22222514;
    }
    .page .nav-toggle:checked ~ .nav { display: flex; }
    .page .nav-item { flex-direction: column; align-items: stretch; }
    .page .nav a.nav-link { font-size: 1rem; min-height: 48px; padding: 13px 12px; }
    .page .nav-dropdown { position: static; opacity: 1; visibility: visible; transform: none; min-width: 0; margin: 0 0 8px 12px; padding: 0; border: 0; border-left: 1px solid var(--rule); box-shadow: none; background: transparent; }
    .page .nav a.nav-dropdown__link { white-space: normal; padding: 12px 18px; min-height: 44px; }
    .page .nav a.nav-link--cta { margin: 12px 0 0; align-self: stretch; }
}

@media (max-width: 900px) {
    .page .page-hero:has(> .hero-facts) { grid-template-columns: minmax(0, 1fr); }
    .page .page-hero > .hero-facts { grid-column: 1; grid-row: auto; order: 5; margin-top: 28px; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
    .page .services-grid { grid-template-columns: 1fr; }
    .page .est-mark { position: static; float: right; margin: 0 0 20px 24px; }
}

@media (max-width: 800px) {
    /* All spans must fit the six-column grid, including former span-12 items. */
    .page .grid-12 > [class*="col-span-"] { grid-column: 1 / -1; }
    .page .section-num { flex-wrap: wrap; }
    .page .section-num__title { max-width: 100%; }
}

@media (max-width: 600px) {
    :root { --gut: 20px; }
    .page .hero-actions { flex-direction: column; align-items: stretch; }
    .page .page-hero > .hero-facts { grid-template-columns: 1fr; }
    .page .brand__word { font-size: 1.25rem; }
    .page .brand__star { width: 32px; height: 32px; }
    .page .topbar__text { display: block; white-space: normal; font-size: .625rem; min-width: 100px; max-width: 100px; line-height: 1.5; overflow: visible; text-overflow: clip; }
    .page .topbar__inner { padding-block: 6px; }
    .page .topbar__inner > * { min-width: 0; }
    .page .section-num__title { font-size: 1.625rem; }
    .page :is(.doc-toolbar, .insights-selects) { width: 100%; flex-wrap: wrap; }
    .page :is(.doc-toolbar__search, .doc-toolbar .fund-select, .insights-selects .fund-select) { flex: 1 1 100%; min-width: 0; max-width: none; }
    .page .doc-chip { max-width: 100%; overflow-wrap: anywhere; text-align: left; }
    .page .doc-list--light .doc-row { grid-template-columns: minmax(0, 1fr) 34px; gap: 8px 12px; }
    .page .doc-row__title { grid-column: 1; }
    .page .doc-row__meta { grid-column: 1; flex-wrap: wrap; }
    .page .doc-row__arr { grid-column: 2; grid-row: 1 / span 2; }
    .page .tab-strip { gap: 4px; }
    .page .tab-strip__tab { flex: 1 1 auto; padding-inline: 10px; }
    .page .stat { flex-basis: 50%; padding: 18px 14px; }
    .page .stat:nth-child(even) { border-right: 0; }
    .page .data-table th, .page .data-table td { padding: 12px; }
    .page .table-scroll .data-table td:first-child { white-space: normal; min-width: 150px; max-width: 210px; overflow-wrap: break-word; }
    .page .table-scroll .data-table td:first-child .fund-link { display: inline-block; min-height: 44px; align-content: center; }
    .page .strategies-scroll { border: 0; overflow: visible; }
    .page .strategies-table { display: block; background: transparent; }
    .page .strategies-table thead { display: block; margin-bottom: 16px; }
    .page .strategies-table thead tr { display: flex; flex-wrap: wrap; gap: 6px; }
    .page .strategies-table th { display: block; border: 1px solid var(--rule); border-radius: 3px; padding: 4px 8px; background: white; }
    .page .strategies-table .sort-button { min-height: 36px; font-size: .6875rem; }
    .page .strategies-table tbody { display: grid; gap: 16px; }
    .page .strategies-table tbody tr { display: block; border: 1px solid var(--rule); border-top: 2px solid var(--alken); border-radius: 3px; padding: 4px 16px 12px; background: white; }
    .page .strategies-table tbody tr td {
        display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
        padding: 10px 0; border-bottom: 1px solid var(--hair-2); background: white;
        white-space: normal; text-align: right; font-size: .875rem;
    }
    .page .strategies-table td[data-label]::before {
        content: attr(data-label); flex: 1 1 40%; text-align: left;
        font: 400 .8125rem/1.5 var(--sans); color: var(--ink-3);
    }
    .page .table-scroll .strategies-table td:first-child { display: block; min-width: 0; max-width: none; padding-block: 10px 14px; text-align: left; }
    .page .strategies-table td:first-child .fund-link { font-size: 1.125rem; line-height: 1.45; }
    .page .strategies-table .srri { flex-shrink: 0; }
    .page .strategies-table .srri__box { width: 18px; }
    .page .strategies-table tbody tr td:last-child { border-bottom: 0; }
    .page .welcome-selects, .page .welcome-cards { grid-template-columns: minmax(0, 1fr); }
    .page .welcome-panel { padding: 20px; }
    .page .welcome-card { padding: 20px; }
    .page .welcome-modal-backdrop { padding: 12px; }
    .page .welcome-modal { padding: 24px 20px; max-height: calc(100dvh - 24px); }
    .page .welcome-modal__actions { flex-wrap: wrap; }
    .page .bio-modal { padding: 12px; }
    .page .bio-modal__panel { max-height: calc(100dvh - 24px); }
    .page .bio-modal__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 20px; }
    .page .bio-modal__photo, .page .aam-bio .bio-modal__photo { width: 100%; height: 220px; aspect-ratio: auto; object-fit: cover; object-position: center 25%; }
    .page .bio-modal__content { padding: 0; }
    .page .esg-details { grid-template-columns: minmax(0, 1fr); }
    .page .esg-details dd { margin-left: 0; }
    .page .fund-footer .shell { padding-block: 12px; }
    .page .fund-footer__links { gap: 0 18px; }
}


/* Page-specific prose shares the same modest scale. */
.page :is(.facts-prose, .story-prose, .esg-intro, .award-prose) .body { font-size: .875rem; line-height: 1.7; }
.page :is(.story-prose, .facts-prose) { max-width: 80ch; }
.page .facts-prose { gap: 12px; }
.page .feature-list { gap: 8px; }
.page .ink-bg .section-num__title { padding-bottom: 0; }
.page .ink-bg .section-num__title::after,
.page .award-head .eyebrow::before { content: none; }
.page .award-head { margin-top: 18px; }
/* Feature video: media on the left in line with the copy above and below, quote column on the
   right, both top-aligned - a centred short quote beside a tall player left empty corners. */
.page .video-feature { margin-top: 28px; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
.page .video-feature__media { order: -1; }
.page .video-feature__name { margin-top: 10px; font-size: clamp(1.5rem, 2.2vw, 1.875rem); }
.page .video-feature__quote { margin-top: 18px; max-width: none; }
.page .video-feature .award-group { margin-top: 22px; }
.page .video-feature .award-cta { margin-top: 18px; }
.page .fund-footer__links a:hover,
.page .fund-footer__linkedin:hover { color: var(--alken); }
.page .fund-footer__linkedin { min-width: 32px; min-height: 32px; align-items: center; justify-content: center; }

/* AAM portraits follow AFFM's native grid, crop and caption sizes. */
.page .aam-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: clamp(16px, 2vw, 32px);
    margin-top: 24px;
    align-items: start;
}
.page .aam-member__photo { aspect-ratio: 4 / 5; object-position: top center; border: 0; border-radius: 0; }
.page .aam-member h3.aam-member__name { font: 400 1rem/1.25 var(--display); margin: 10px 2px 0; }
.page .aam-member__role { font: 400 .75rem/1.45 var(--sans); text-transform: none; letter-spacing: 0; margin: 2px 2px 0; }
.page .aam-member .team-card__hint { font-size: .75rem; border-bottom: 0; margin: 6px 2px 0; letter-spacing: .04em; }
.page .aam-team-group + .aam-team-group { margin-top: 32px; }
.page .aam-team-group__label { margin: 0 0 18px; }
.page .aam-member__focus { color: var(--alken); }
.page .esg-team-grid { margin-top: 24px; }
.page .aam-bio .bio-modal__photo { aspect-ratio: 4 / 5; }

/* ESG timeline: third-party marks share one visual height. The LuxFLAG and MSCI files are square
   canvases with the mark in the middle, so they get a taller box and pull back the built-in margin. */
.page .esg-timeline__logo { height: 44px; max-width: 180px; width: auto; object-fit: contain; object-position: left center; }
.page .esg-timeline__logo--square { height: 84px; margin: -14px 0 0 -10px; }

/* Contact: the action sits at the end of the form; social link carries the LinkedIn mark. */
.page .cform__actions { display: flex; justify-content: flex-end; }
.page .contact-social { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-2); }
.page .contact-social:hover { color: var(--alken); }

/* 404: a short grid of destinations in the card vocabulary. */
.page .notfound-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; max-width: 1040px; }
.page .notfound-link { position: relative; display: grid; gap: 4px; padding: 20px 52px 20px 20px; background: white; border: 1px solid var(--rule); border-top: 2px solid var(--alken); border-radius: 3px; color: var(--ink); }
.page .notfound-link:hover { border-color: #a2a0a1; border-top-color: var(--alken); box-shadow: 0 8px 28px #2222250d; }
.page .notfound-link__title { font: 400 1.125rem/1.3 var(--display); }
.page .notfound-link__text { font-size: .8125rem; color: var(--ink-3); }
.page .notfound-link__arr { position: absolute; right: 18px; top: 18px; color: var(--alken); font-size: 1rem; }

/* Insights toolbar: compact filters. */
.page :is(.lang-chip, .insights-selects .fund-select) { min-height: 40px; }

/* Document controls are compact on desktop; rows keep generous hit areas. */
.page .documents-section { padding-top: 12px; }
.page .documents-section .doc-search { background: #f2f3f1; border: 1px solid var(--rule); padding: 14px; box-shadow: none; }
.page .doc-toolbar { flex-wrap: nowrap; gap: 8px; }
.page .doc-toolbar .fund-select { flex: 0 1 200px; min-width: 140px; width: auto; }
.page .doc-toolbar__search { flex: 1 1 240px; }
.page .doc-toolbar :is(.fund-select, .doc-search__input, .btn) { min-height: 38px; font-size: .8125rem; }
.page .doc-toolbar .btn { padding: 8px 14px; }
.page .doc-chips { gap: 6px; margin-top: 8px; }
.page .doc-chip { min-height: 32px; padding: 6px 11px; font-size: .6875rem; letter-spacing: .04em; }
.page .documents-section .doc-row { padding: 12px 14px; }
/* Document rows (library, entity pages, fund pages): one quiet list - hairline separators,
   flat type/language tags and a round download control instead of a bare arrow glyph. */
.page .doc-list--light { background: white; border: 1px solid var(--rule); border-radius: 4px; overflow: hidden; }
.page .doc-list--light .doc-row { grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px 20px; padding: 11px 12px 11px 16px; border-bottom: 1px solid var(--hair-2); }
.page .doc-list--light .doc-row:last-child { border-bottom: 0; }
.page .doc-list--light .doc-row:hover { background: #f7f8f6; }
.page .doc-row__title { font-weight: 500; color: var(--ink); }
.page .doc-list--light .doc-row:hover .doc-row__title { color: var(--alken); }
.page .doc-row__meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.page :is(.doc-row .tag, .doc-row .dls-pill) {
    font: 500 .6875rem/1.4 var(--sans); letter-spacing: .04em; text-transform: uppercase;
    padding: 3px 8px; border: 0; border-radius: 3px; background: #f2f3f1; color: var(--ink-3); white-space: nowrap;
}
.page .doc-row__arr {
    width: 34px; height: 34px; flex: 0 0 34px; font-size: 0; color: transparent;
    border: 1px solid var(--rule); border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c6065' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E") center / 16px no-repeat;
    transition: background-color .15s, border-color .15s;
}
.page .doc-list--light .doc-row:hover .doc-row__arr { border-color: var(--alken); background-color: var(--alken); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E"); }
@media (max-width: 900px) {
    .page .doc-toolbar { flex-wrap: wrap; }
}
@media (max-width: 600px) {
    .page :is(.body, .feature-list li, .history-note, .insight-card__excerpt),
    .page :is(.facts-prose, .story-prose, .esg-intro, .award-prose) .body { font-size: .9375rem; }
    .page .fund-footer__links a { min-height: 36px; display: flex; align-items: center; }
    .page .doc-toolbar :is(.fund-select, .doc-search__input) { font-size: 1rem; min-height: 44px; }
    .page .doc-toolbar .fund-select { flex-basis: 100%; }
    .page .doc-chip { min-height: 40px; font-size: .75rem; }
    /* Two portraits per row on phones: auto-fill fell back to one 350px-wide portrait per row,
       which made the team pages scroll for screens. */
    .page .aam-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
    .page .aam-member h3.aam-member__name { font-size: .9375rem; }
    .page .aam-member__role { font-size: .75rem; }
}

/* Strategy pages: a concise identity block, performance first, and distinct
   reading surfaces for reference data, portfolio composition and documents. */
body:has(.chart-modal-backdrop) { overflow: hidden; }
.page .fund-hero { padding-bottom: 12px; }
.page .fund-hero .h-display { font-size: clamp(1.875rem, 3.3vw, 2.75rem); }
.page .fund-hero__lede { max-width: 90ch; }
.page .fund-hero__tags { margin-top: 16px; gap: 8px; }
.page .fund-hero__tags .tag { background: transparent; border-radius: 3px; padding: 5px 9px; }
.page .fund-hero__stats { margin-top: 22px; }
.page .fund-hero .stat-row { border: 0; border-block: 1px solid var(--rule); background: white; }
.page .fund-hero .stat { padding: 18px 20px; gap: 8px; }
.page .fund-hero .stat__value { font: 500 clamp(1.25rem, 2vw, 1.625rem)/1.2 var(--sans); letter-spacing: -.025em; }
.page .fund-hero .stat__label { letter-spacing: .07em; font-size: .6875rem; }
.page .selector-band { padding-block: 0; }
.page .selector-grid { grid-template-columns: minmax(100px, 150px) minmax(200px, 460px); border: 0; gap: 16px; padding-block: 12px; }
.page .selector-label { font: 500 .6875rem/1.5 var(--sans); letter-spacing: .07em; color: var(--ink-3); }
.page .selector-grid .fund-select { min-height: 40px; font-size: .875rem; }
.page .shareclass-performance { padding-top: 24px; }
.page :is(.shareclass-performance, .shareclass-summary, .shareclass-characteristics, .shareclass-documents) .section-num__title::after { content: none; }
.page :is(.shareclass-performance, .shareclass-summary, .shareclass-characteristics, .shareclass-documents) .section-num__title { padding-bottom: 0; }
.page .perf-tables { gap: 24px; margin-top: 24px; }
.page .table-title { font: 500 .8125rem/1.5 var(--sans); color: var(--ink-2); margin: 0 0 10px; }
.page .shareclass-summary .sum-grid { border-radius: 4px; overflow: hidden; }
.page .sum-item { padding: 14px 18px; gap: 6px; }
.page .sum-label { font-size: .6875rem; letter-spacing: .05em; line-height: 1.5; }
.page .sum-value { font-size: .8125rem; line-height: 1.6; }
.page .char-grid { gap: 20px; }
.page .char-block { background: white; border: 1px solid var(--rule); padding: 20px; border-radius: 4px; }
.page .char-block__title { padding-bottom: 12px; margin-bottom: 16px; border-bottom: 1px solid var(--hair-2); letter-spacing: .04em; }
.page .data-table th { padding: 11px 14px; font-weight: 600; }
.page .data-table td { padding: 11px 14px; font-size: .8125rem; }
/* Cost explanations are sentences: they wrap inside the table instead of forcing a horizontal
   scroll that hides the end of every line. */
.page .costs-table td:nth-child(2) { white-space: normal; min-width: 260px; line-height: 1.55; }
.page .costs-table .costs-name { white-space: normal; min-width: 160px; }
.page .risk-panel { border-radius: 4px; }
.page .shareclass-documents .doc-row { padding-block: 12px; }
@media (max-width: 600px) {
    .page .selector-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .page .selector-grid .fund-select { font-size: 1rem; min-height: 44px; }
    .page .fund-hero .stat { padding: 16px 12px; }
    .page .char-block { padding: 14px 10px; }
    .page .sum-item { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 16px; padding: 12px 14px; }
    .page .sum-value { text-align: right; }
    .page .sum-value .srri { gap: 1px; }
    .page .sum-value .srri__box { width: 16px; height: 22px; }
    .page .strategies-table tbody tr td { font-size: .875rem; padding: 10px 0; }
}

/* Phone pass: regulatory tables stack instead of scrolling their figures off-screen, tabs and
   sort chips keep their natural width, long titles wrap. Widths at or under 600px only. */
@media (max-width: 600px) {
    .page .topbar .culture__btn { text-align: right; font-size: .75rem; line-height: 1.35; padding-block: 2px; }

    /* Tabs: a wrapped second row reads as a list, not as a stretched bar. */
    .page .tab-strip__tab { flex: 0 1 auto; }

    /* Strategy cards: one horizontally scrollable row of sort chips; cards stay white
       (the striped-row rule from the desktop table must not tint every second card). */
    .page .strategies-table thead tr {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        padding: 2px 0;
        mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent);
    }
    .page .strategies-table thead tr::-webkit-scrollbar { display: none; }
    .page .strategies-table th { flex: 0 0 auto; }
    .page .strategies-table tbody tr:nth-child(even) td,
    .page .strategies-table tbody tr:hover td { background: white; }

    /* Document rows: titles wrap to two lines instead of truncating mid-name. */
    .page .doc-row__title {
        white-space: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }

    /* Shared stacked-table base: rows become blocks laid out with grid/flex below. */
    .page :is(.costs-table, .pastperf-table, .shareclass-table),
    .page :is(.costs-table, .pastperf-table, .shareclass-table) :is(thead, tbody) { display: block; }
    .page :is(.costs-table, .pastperf-table, .shareclass-table) :is(th, td) {
        display: block;
        padding: 0;
        border: 0;
        white-space: normal;
        text-align: left;
    }
    .page :is(.costs-table, .pastperf-table, .shareclass-table) tbody tr:nth-child(n) td,
    .page :is(.costs-table, .pastperf-table, .shareclass-table) tbody tr:hover td { background: transparent; }
    .page :is(.costs-table, .pastperf-table, .shareclass-table) tr { border-bottom: 1px solid var(--hair-2); }
    .page :is(.costs-table, .pastperf-table, .shareclass-table) tbody tr:last-child { border-bottom: 0; }
    .page :is(.costs-table, .pastperf-table) thead tr { background: #eceeec; }
    .page .table-scroll :is(.costs-table, .pastperf-table, .shareclass-table) td:first-child { min-width: 0; max-width: none; }
    .page :is(.costs-table, .pastperf-table, .shareclass-table) td.num { text-align: right; white-space: nowrap; }

    /* Costs: name on its own line, then description with the amount on the right. */
    .page .costs-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 14px; padding: 10px 14px; }
    .page .costs-table .costs-name { grid-column: 1 / -1; margin-bottom: 2px; }
    .page .costs-table .costs-group-header { background: var(--alken-tint); padding-block: 8px; }
    .page .costs-table .costs-group-header td { grid-column: 1 / -1; background: transparent; }

    /* Performance scenarios: scenario as a group label, then the two lines with 1Y / 5Y values. */
    .page .pastperf-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; column-gap: 10px; align-items: baseline; padding: 8px 12px; }
    .page .pastperf-table thead th:nth-child(-n + 2) { display: none; }
    .page .pastperf-table thead th:nth-child(3) { grid-column: 2; text-align: right; }
    .page .pastperf-table thead th:nth-child(4) { grid-column: 3; text-align: right; }
    .page .pastperf-table td.scenario-name { grid-column: 1 / -1; padding-top: 4px; font-weight: 600; color: var(--ink); }
    .page .pastperf-table td:first-child:empty { display: none; }
    .page .pastperf-table tbody tr:has(.scenario-name) { border-top: 1px solid var(--rule); }
    .page .pastperf-table td { font-size: .75rem; }
    .page .pastperf-table td.num { font-size: .8125rem; }

    /* More share classes: name on the first line, ISIN / policy / currency as a meta line. */
    .page .shareclass-table thead { display: none; }
    .page .shareclass-table tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; padding: 10px 14px; }
    .page .shareclass-table td { font-size: .75rem; color: var(--ink-3); }
    .page .table-scroll .shareclass-table td:first-child { flex: 1 1 100%; font-size: .875rem; }
    .page .table-scroll .shareclass-table td:first-child .fund-link { display: inline; min-height: 0; }
    .page .shareclass-table td:nth-child(n + 3)::before { content: "\00b7"; margin-right: 8px; color: var(--ink-4); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .page *, .page *::before, .page *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
    .page :is(.enter, .reveal, .reveal-stagger > *) { opacity: 1; transform: none; }
}
