/* Homepage only. Editorial structure remains meaningful without JavaScript. */
.fe-landing { --landing-navy: #172b36; --landing-paper: #f1efe9; }
.landing-edition { display: flex; justify-content: space-between; gap: 1rem; border-top: 2px solid var(--fe-ink); border-bottom: 1px solid var(--fe-line); padding: .85rem 0; margin-top: 1.25rem; font-size: .66rem; font-weight: 750; letter-spacing: .1em; }
.landing-edition > span:first-child { display: flex; gap: .6rem; align-items: center; }
.landing-edition i { width: 7px; height: 7px; border-radius: 50%; background: var(--fe-accent); }
.landing-edition > span:last-child { color: var(--fe-muted); letter-spacing: .02em; font-weight: 500; }
.fe-homepage .home-platform-intro.landing-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr); gap: clamp(2rem, 5vw, 5rem); padding: clamp(2rem, 5vw, 4.5rem) 0; margin: 0; border: 0; border-radius: 0; background: none; overflow: visible; }
.fe-homepage .landing-hero::after { display: none; }
.landing-hero__copy { align-self: center; min-width: 0; }
.fe-homepage .landing-hero h1 { font-size: clamp(2.8rem, 5.9vw, 5.7rem); letter-spacing: -.055em; line-height: 1.02; margin: 1rem 0 1.5rem; }
.landing-hero h1 em { color: var(--fe-accent); font-weight: inherit; }
.fe-homepage .landing-hero .landing-hero__promise { font-size: clamp(1.05rem, 1.7vw, 1.3rem); color: var(--fe-ink); max-width: 36rem; margin: 0 0 .65rem; font-weight: 600; }
.fe-homepage .landing-hero .landing-hero__description { font-size: .98rem; max-width: 34rem; margin: 0; }
.landing-hero .commerce-actions { align-items: center; }
.landing-hero .btn { border-radius: 3px; gap: 1.5rem; }
.landing-text-link { color: var(--fe-ink); font-size: .85rem; font-weight: 750; padding: .75rem; text-decoration: none; display: inline-flex; gap: 1rem; align-items: center; }
.landing-text-link:hover { color: var(--fe-accent); }
.landing-start { background: var(--landing-navy); color: #fff; padding: clamp(1.5rem, 3vw, 2.4rem); position: relative; border-top: 4px solid var(--fe-accent); align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.landing-start__label { display: flex; justify-content: space-between; font-size: .65rem; letter-spacing: .14em; color: #d4e2e8; }
.landing-start__label > span:last-child { font-size: 1.5rem; line-height: 1; }
.landing-start h2 { font-family: var(--fe-display); font-size: clamp(1.75rem, 2.7vw, 2.5rem); letter-spacing: -.035em; line-height: 1.12; color: #fff; margin: 2rem 0 1rem; }
.fe-homepage .landing-start p { font-size: .9rem; line-height: 1.6; color: #c7d4dc; margin: 0 0 1.5rem; }
.landing-start > a { color: #fff; text-decoration: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid #ffffff35; padding: 1rem 0; min-height: 70px; }
.landing-start > a:last-child { padding-bottom: 0; }
.landing-start small { display: block; font-size: .65rem; color: #c7d4dc; margin-bottom: .3rem; }
.landing-start strong { font-size: .95rem; }
.landing-start > a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.landing-topics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--fe-line-strong); border-bottom: 1px solid var(--fe-line-strong); margin-bottom: 3rem; }
.landing-topics > a { padding: 1.5rem; display: grid; gap: .6rem; text-decoration: none; color: var(--fe-ink); min-width: 0; }
.landing-topics > a + a { border-left: 1px solid var(--fe-line); }
.landing-topics__number { color: var(--fe-accent); font-size: .65rem; font-weight: 750; }
.landing-topics strong { font-family: var(--fe-display); font-size: 1.45rem; font-weight: 600; overflow-wrap: anywhere; display: flex; justify-content: space-between; gap: .5rem; }
.landing-topics strong > span { font-size: 1rem; color: var(--fe-muted); }
.landing-topics > a > span:last-child { color: var(--fe-muted); font-size: .75rem; line-height: 1.5; }
.landing-topics > a:hover { background: var(--fe-surface-soft); }
.fe-landing .home-editorial-section > .section-heading { padding-bottom: 1rem; border-bottom: 1px solid var(--fe-line-strong); margin-bottom: 1.5rem; }
.fe-landing .section-heading h2 { letter-spacing: -.035em; }
.fe-landing .home-media-discovery { border-radius: 0; border: 0; border-top: 4px solid var(--fe-accent); padding: clamp(1.5rem, 4vw, 3rem); background: var(--fe-surface-soft); }
.landing-heading-dot { color: var(--fe-accent); }
.landing-trust { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(220px, 1fr); gap: 2rem; padding: 2.5rem 0; border-top: 1px solid var(--fe-line-strong); margin-top: 3rem; }
.landing-trust h2 { font-family: var(--fe-display); font-size: clamp(1.75rem, 3vw, 2.5rem); letter-spacing: -.035em; margin: .65rem 0; }
.landing-trust p { color: var(--fe-muted); max-width: 33rem; line-height: 1.6; font-size: .9rem; }
.landing-trust nav { display: grid; align-content: center; }
.landing-trust nav a { display: flex; justify-content: space-between; padding: .9rem 0; border-bottom: 1px solid var(--fe-line); font-size: .85rem; font-weight: 700; color: var(--fe-ink); text-decoration: none; }
.landing-trust a:hover { color: var(--fe-accent); }
.fe-landing a:focus-visible { outline: 3px solid var(--fe-accent); outline-offset: 5px; }
.landing-start a:focus-visible { outline-color: #fff; }
@media (max-width: 991px) {
    .fe-homepage .home-platform-intro.landing-hero { grid-template-columns: minmax(0, 1.2fr) minmax(250px, 1fr); gap: 1.5rem; }
    .landing-topics > a { padding: 1.1rem; }
    .landing-topics strong { font-size: 1.2rem; }
}
@media (max-width: 767px) {
    .landing-edition > span:last-child { display: none; }
    .fe-homepage .home-platform-intro.landing-hero { grid-template-columns: minmax(0, 1fr); padding-block: 2rem; }
    .fe-homepage .landing-hero h1 { font-size: clamp(2.65rem, 10vw, 4.5rem); }
    .landing-start { padding: 1.5rem; }
    .landing-start h2 { margin-top: 1rem; }
    .landing-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .landing-topics > a:nth-child(3) { border-left: 0; }
    .landing-topics > a:nth-child(n+3) { border-top: 1px solid var(--fe-line); }
    .landing-trust { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
}
@media (prefers-reduced-motion: reduce) { .fe-landing a { transition: none; } }
/* Original conceptual art, served as responsive WebP rather than news photography. */
.landing-hero__visual { min-width: 0; align-self: center; }
.landing-art { margin: 0; min-width: 0; }
.landing-art img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.landing-art figcaption { color: var(--fe-muted); font-size: .65rem; line-height: 1.5; padding: .5rem 0; }
.landing-start.landing-start--compact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .5rem 1.25rem; border-top: 0; margin-top: .5rem; }
.landing-start--compact > a { border-top: 0; padding: .75rem 0; }
.landing-start--compact > a + a { border-left: 1px solid #ffffff35; padding-left: 1rem; margin-left: 1rem; }
.landing-start--compact > a:last-child { padding-bottom: .75rem; }
.landing-start--compact strong { font-size: .8rem; }
.landing-tools-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(1.5rem, 4vw, 3rem); margin: 1.5rem 0 2rem; background: var(--fe-surface-soft); }
.landing-tools-feature__copy { padding: 1.5rem; }
.landing-tools-feature h3 { font-family: var(--fe-display); font-size: clamp(1.6rem, 3vw, 2.7rem); line-height: 1.15; letter-spacing: -.035em; }
.landing-tools-feature p { color: var(--fe-muted); font-size: .95rem; line-height: 1.7; }
.landing-tools-feature figcaption { padding-inline: .75rem; }
@media (max-width: 991px) {
    .landing-start.landing-start--compact { grid-template-columns: minmax(0, 1fr); }
    .landing-start--compact > a + a { border-left: 0; border-top: 1px solid #ffffff35; padding-left: 0; margin-left: 0; }
}
@media (max-width: 767px) {
    .landing-tools-feature { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .landing-tools-feature__copy { padding-top: .75rem; }
}

/* Readable editorial introductions, including when curated story pools are empty. */
.landing-reading__intro { max-width: 52rem; color: var(--fe-muted); line-height: 1.8; }
.landing-reading__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 3rem; margin-top: 2rem; }
.landing-reading__grid article { border-top: 2px solid var(--fe-line); padding-top: 1.25rem; min-width: 0; }
.landing-reading__grid h3 { font-family: var(--fe-display); font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.2; margin: .6rem 0 1rem; letter-spacing: -.025em; }
.landing-reading__grid p { font-size: 1rem; line-height: 1.85; max-width: 65ch; color: var(--fe-ink-soft); }
.landing-reading__grid .landing-text-link { padding-left: 0; }
@media (max-width: 767px) { .landing-reading__grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; } }
