/* Love the North homepage intro — editorial field-notes palette */
.ltn-home {
    --ltn-paper: #f4f0e7;
    --ltn-paper-deep: #e9e2d4;
    --ltn-ink: #192e3d;
    --ltn-blue: #174e70;
    --ltn-red: #b63836;
    --ltn-muted: #64737a;
    --ltn-rule: rgba(25, 46, 61, .18);
    color: var(--ltn-ink);
    background: var(--ltn-paper);
    margin: 0 0 2rem;
    padding: clamp(1.15rem, 2.3vw, 1.8rem);
    font-family: Georgia, "Times New Roman", serif;
}

.ltn-home *,
.ltn-home *::before,
.ltn-home *::after { box-sizing: border-box; }

.ltn-home a { color: inherit; }
.ltn-home a:focus-visible {
    outline: 3px solid var(--ltn-red);
    outline-offset: 4px;
    border-radius: 2px;
}

.ltn-home__masthead {
    max-width: 860px;
    margin: 0 auto 1.25rem;
    text-align: center;
}

.ltn-home__eyebrow,
.ltn-home__kicker,
.ltn-home__discover-label {
    margin: 0 0 .7rem;
    color: var(--ltn-red);
    font: 700 .67rem/1.3 system-ui, sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.ltn-home__eyebrow { display: inline-flex; align-items: center; gap: .55rem; }
.ltn-home__eyebrow span {
    display: block;
    width: 1.8rem;
    height: 2px;
    background: var(--ltn-red);
}
.ltn-home__masthead h1 {
    margin: 0;
    color: var(--ltn-blue);
    font-size: clamp(2.15rem, 4vw, 3.1rem);
    font-weight: 500;
    letter-spacing: -.055em;
    line-height: .98;
}
.ltn-home__masthead h1 em { color: var(--ltn-red); font-weight: 400; }
.ltn-home__dek {
    max-width: 520px;
    margin: .5rem auto 0;
    color: #53636a;
    font: 400 clamp(.9rem, 1.6vw, 1.05rem)/1.6 system-ui, sans-serif;
}

.ltn-home__lead {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    align-items: center;
    gap: clamp(.9rem, 2vw, 1.5rem);
    padding: .8rem 0;
    border-top: 1px solid var(--ltn-rule);
    border-bottom: 1px solid var(--ltn-rule);
}
.ltn-home__lead-art {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    max-height: 230px;
    overflow: hidden;
    background: var(--ltn-blue);
    border-radius: 6px;
}
.ltn-home__lead-art > img {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2,.7,.2,1);
}
.ltn-home__lead:hover .ltn-home__lead-art > img { transform: scale(1.025); }
.ltn-home__art-fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    overflow: hidden;
    color: #f4f0e7;
    background: linear-gradient(145deg, #174e70 5%, #244358 55%, #9e3738 160%);
}
.ltn-home__art-fallback > span {
    position: relative;
    z-index: 1;
    font: 600 clamp(4.8rem, 12vw, 9rem)/.8 Georgia, serif;
    letter-spacing: -.1em;
}
.ltn-home__lead-art .ltn-home__art-fallback > span {
    font-size: clamp(3.6rem, 7vw, 5.8rem);
}
.ltn-home__art-fallback i {
    position: absolute;
    width: 150%;
    height: 1px;
    left: -25%;
    background: rgba(244, 240, 231, .24);
    transform: rotate(-24deg);
}
.ltn-home__art-fallback i:nth-of-type(1) { top: 28%; }
.ltn-home__art-fallback i:nth-of-type(2) { top: 51%; }
.ltn-home__art-fallback i:nth-of-type(3) { top: 72%; }
.ltn-home__art-fallback small {
    position: absolute;
    right: 1.2rem;
    bottom: 1rem;
    font: 600 .65rem/1.4 system-ui, sans-serif;
    letter-spacing: .14em;
    text-align: right;
    text-transform: uppercase;
}
.ltn-home__art-caption {
    position: absolute;
    z-index: 2;
    bottom: .75rem;
    left: .85rem;
    padding: .35rem .55rem;
    color: #fff;
    background: rgba(19, 41, 55, .82);
    font: 600 .6rem/1.25 system-ui, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ltn-home__lead-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: .5rem .25rem;
}
.ltn-home__kicker { margin-bottom: .8rem; }
.ltn-home__live-mark {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: .45rem;
    border-radius: 50%;
    background: var(--ltn-red);
    vertical-align: 1px;
}
.ltn-home__lead-copy h2 {
    margin: 0;
    color: var(--ltn-blue);
    font-size: clamp(1.7rem, 3vw, 2.55rem);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1.08;
}
.ltn-home__lead-copy h2 a { text-decoration: none; }
.ltn-home__lead-copy h2 a:hover { color: var(--ltn-red); }
.ltn-home__subtitle {
    margin: .55rem 0 0;
    color: var(--ltn-red);
    font: 600 .88rem/1.45 system-ui, sans-serif;
}
.ltn-home__excerpt {
    max-width: 39rem;
    margin: .9rem 0 0;
    color: #52636b;
    font: 400 .9rem/1.65 system-ui, sans-serif;
}
.ltn-home__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1rem;
    margin-top: 1rem;
    color: var(--ltn-muted);
    font: 600 .67rem/1.4 system-ui, sans-serif;
    letter-spacing: .04em;
}
.ltn-home__listen-link {
    display: inline-flex;
    align-items: center;
    gap: 1.35rem;
    margin-top: 1.25rem;
    padding-bottom: .32rem;
    border-bottom: 1px solid var(--ltn-red);
    color: var(--ltn-blue) !important;
    font: 700 .75rem/1.4 system-ui, sans-serif;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .18s ease, gap .18s ease;
}
.ltn-home__listen-link:hover { gap: 1.7rem; color: var(--ltn-red) !important; }

.ltn-home__recent { padding: clamp(1.4rem, 2.5vw, 2rem) 0 1.1rem; }
.ltn-home__section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .65rem;
}
.ltn-home__section-heading .ltn-home__kicker { margin-bottom: .35rem; }
.ltn-home__section-heading h2 {
    margin: 0;
    color: var(--ltn-blue);
    font-size: clamp(1.4rem, 2.7vw, 2rem);
    font-weight: 500;
    letter-spacing: -.035em;
}
.ltn-home__text-link {
    color: var(--ltn-red) !important;
    font: 700 .7rem/1.4 system-ui, sans-serif;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}
.ltn-home__text-link span { margin-left: .35rem; transition: margin .18s ease; }
.ltn-home__text-link:hover span { margin-left: .65rem; }
.ltn-home__episode-list {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--ltn-rule);
    list-style: none;
}
.ltn-home__episode-list li { border-bottom: 1px solid var(--ltn-rule); }
.ltn-home__episode {
    display: grid;
    grid-template-columns: 2rem 76px minmax(0, 1fr) auto 1.2rem;
    align-items: center;
    gap: .8rem;
    min-height: 82px;
    padding: .5rem .35rem;
    text-decoration: none;
    transition: background-color .18s ease, padding .18s ease;
}
.ltn-home__episode:hover { padding-right: .65rem; padding-left: .65rem; background: rgba(255,255,255,.48); }
.ltn-home__episode-art {
    position: relative;
    display: block;
    width: 76px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 5px;
    background: var(--ltn-blue);
}
.ltn-home__episode-art > img {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ltn-home__episode-art .ltn-home__art-fallback {
    background: linear-gradient(145deg, #174e70, #ad5451);
}
.ltn-home__episode-art .ltn-home__art-fallback > span {
    font: 700 .95rem/1 Georgia, serif;
    letter-spacing: -.08em;
}
.ltn-home__episode-number {
    color: var(--ltn-red);
    font: italic 1.15rem/1 Georgia, serif;
}
.ltn-home__episode-copy { display: grid; gap: .18rem; min-width: 0; }
.ltn-home__episode-copy strong {
    overflow: hidden;
    color: var(--ltn-blue);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
}
.ltn-home__episode-copy > span {
    overflow: hidden;
    color: var(--ltn-muted);
    font: 400 .72rem/1.45 system-ui, sans-serif;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.ltn-home__episode-date {
    color: var(--ltn-muted);
    font: 600 .66rem/1.4 system-ui, sans-serif;
    white-space: nowrap;
}
.ltn-home__episode-arrow { color: var(--ltn-red); transition: transform .18s ease; }
.ltn-home__episode:hover .ltn-home__episode-arrow { transform: translate(2px, -2px); }

.ltn-home__discover {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem 1.2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ltn-rule);
}
.ltn-home__discover-label { margin: 0; color: var(--ltn-blue); }
.ltn-home__discover > a {
    color: var(--ltn-red);
    font: 700 .72rem/1.4 system-ui, sans-serif;
    text-decoration: none;
}
.ltn-home__discover > a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ltn-home__discover > a:focus-visible { outline: 3px solid var(--ltn-red); outline-offset: 3px; }
.ltn-home__discover-note {
    color: var(--ltn-muted);
    font: 400 .72rem/1.4 system-ui, sans-serif;
}
.ltn-home__empty {
    padding: 1.7rem 0;
    border-top: 1px solid var(--ltn-rule);
    border-bottom: 1px solid var(--ltn-rule);
}
.ltn-home__empty > p:not(.ltn-home__kicker) {
    max-width: 34rem;
    margin: 0 0 .8rem;
    color: #52636b;
    font: 400 .9rem/1.6 system-ui, sans-serif;
}

.ltn-homepage-body #latest .section-title,
.ltn-homepage-body #ltn-snips-heading {
    color: #174e70;
}
.ltn-homepage-body .podcast-card-item article.card {
    overflow: hidden;
    border: 1px solid #d9e3e8;
    border-radius: 10px;
    box-shadow: 0 4px 18px rgba(25, 46, 61, .06);
    transition: border-color .18s ease, transform .18s ease;
}
.ltn-homepage-body .podcast-card-item article.card:hover {
    border-color: #a9c4d4;
    transform: translateY(-2px);
}
.ltn-homepage-body .podcast-card-item .card-body { padding: .85rem !important; }
.ltn-homepage-body .podcast-card-item .card-title {
    font-size: 1rem !important;
    line-height: 1.35;
}
.ltn-homepage-body .podcast-card-item .card-title a { color: #174e70; }
.ltn-homepage-body .podcast-card-item .card-title a:hover { color: #a02d32; }
.ltn-homepage-body .podcast-card-item .card-title a:focus-visible {
    outline: 3px solid #b63836;
    outline-offset: 2px;
}
.ltn-homepage-body .podcast-card-item .card-text {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

@media (max-width: 640px) {
    .ltn-home { padding: 1.35rem 1rem; }
    .ltn-home__lead { grid-template-columns: 1fr; gap: .6rem; }
    .ltn-home__lead-art { aspect-ratio: 16 / 9; max-height: 195px; }
    .ltn-home__lead-copy { padding: .35rem 0 .9rem; }
    .ltn-home__episode {
        grid-template-columns: 1.5rem clamp(54px, 18vw, 68px) minmax(0, 1fr) 1rem;
        gap: .5rem;
        min-height: 78px;
    }
    .ltn-home__episode-number,
    .ltn-home__episode-art,
    .ltn-home__episode-arrow { grid-row: 1 / span 2; }
    .ltn-home__episode-art { width: 100%; }
    .ltn-home__episode-copy { grid-column: 3; grid-row: 1; }
    .ltn-home__episode-date { grid-column: 3; grid-row: 2; align-self: start; }
    .ltn-homepage-body .podcast-card-item .card-title { font-size: .86rem !important; }
    .ltn-homepage-body .podcast-card-item .card-body { padding: .65rem !important; }
}
@media (max-width: 420px) {
    .ltn-home__masthead h1 { font-size: clamp(2rem, 10vw, 2.75rem); }
    .ltn-home__section-heading { align-items: start; flex-direction: column; gap: .65rem; }
    .ltn-home__episode-copy strong { font-size: .91rem; }
    .ltn-home__episode-copy > span { font-size: .67rem; }
    .ltn-home__discover { align-items: flex-start; flex-direction: column; gap: .45rem; }
}
@media (prefers-reduced-motion: reduce) {
    .ltn-home *,
    .ltn-home *::before,
    .ltn-home *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}