:root {

    --bg: #0d0d10;

    --panel: #19191f;

    --text: #f6f5f7;

    --muted: #aaa7b2;

    --red: #fa334b;

    --line: #ffffff16;

    --radius: 16px;

}

* {

    box-sizing: border-box;

}

html {

    scroll-behavior: smooth;

    scroll-padding-top: 120px;

}

body {

    margin: 0;

    background: var(--bg);

    color: var(--text);

    font-family: Arial,Helvetica,sans-serif;

    line-height: 1.6;

    padding-bottom: 100px;

}

a {

    color: inherit;

    text-decoration: none;

}

a:hover {

    color: var(--red);

}

button,input,textarea,select {

    font: inherit;

}

button,a,input,textarea {

    outline-offset: 5px;

}

button {

    cursor: pointer;

}

img {

    max-width: 100%;

    height: auto;

    vertical-align: middle;

}

h1,h2,h3,p {

    margin: 0 0 16px;

}

h1,h2,h3 {

    line-height: 1.12;

    letter-spacing: -.035em;

}

h1 {

    font-size: clamp(32px,4.2vw,62px);

}

h2 {

    font-size: clamp(25px,2.5vw,36px);

}

h3 {

    font-size: 20px;

}

p {

    color: var(--muted);

}

.container {

    width: min(1280px,calc(100% - 64px));

    margin: auto;

}

.topline {

    border-bottom: 1px solid var(--line);

    font-size: 10px;

    font-weight: bold;

    letter-spacing: 1.7px;

    padding: 10px 0;

}

.topline .container {

    display: flex;

    justify-content: space-between;

}

.topline a {

    color: var(--red);

}

.site-header {

    position: sticky;

    top: 0;

    background: #0d0d10f5;

    z-index: 30;

    border-bottom: 1px solid var(--line);

}

.header-inner {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 26px;

    min-height: 96px;

}

.brand span {

    font-size: 29px;

    font-weight: 900;

    letter-spacing: -1.5px;

    white-space: nowrap;

}

.brand b {

    color: var(--red);

}

.brand small {

    display: block;

    font-size: 8px;

    letter-spacing: 2px;

}

.custom-logo {

    width: auto;

    max-width: 185px;

    max-height: 65px;

}

.menu {

    display: flex;

    align-items: center;

    gap: 22px;

    list-style: none;

    padding: 0;

    margin: 0;

    font-size: 13px;

    font-weight: bold;

}

.menu li {

    position: relative;

}

.menu .sub-menu {

    display: none;

    position: absolute;

    top: 100%;

    left: 0;

    min-width: 180px;

    background: var(--panel);

    padding: 16px;

    list-style: none;

}

.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu {

    display: block;

}

.button,.outline-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border: 0;

    border-radius: 8px;

    padding: 13px 20px;

    background: var(--red);

    color: white;

    font-weight: 700;

    font-size: 14px;

    gap: 9px;

}

.button:hover {

    background: #d91e38;

    color: white;

}

.button:disabled {

    opacity: .6;

    cursor: wait;

}

.outline-button {

    background: transparent;

    border: 1px solid #ffffff35;

}

.small {

    font-size: 12px;

    padding: 12px 16px;

}

.menu-toggle {

    display: none;

}

.intro {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    padding: 58px 0 34px;

}

.intro h1 {

    max-width: 800px;

}

.intro p:last-child {

    margin: 0;

    font-size: 16px;

}

.eyebrow {

    font-size: 10px;

    letter-spacing: 2px;

    font-weight: 800;

    color: var(--red);

    text-transform: uppercase;

    margin-bottom: 15px;

}

.featured-layout {

    display: grid;

    grid-template-columns: 1fr 340px;

    gap: 24px;

}

.card {

    min-width: 0;

}

.card-image {

    display: block;

    aspect-ratio: 16/9;

    position: relative;

    overflow: hidden;

    border-radius: 12px;

    background: #22222b;

}

.card-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform .3s;

}

.card-image:hover img {

    transform: scale(1.035);

}

.art-placeholder {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 100%;

    height: 100%;

    font-size: 70px;

    color: #ff566d;

    background: radial-gradient(ellipse at 25% 30%,#a82a45,transparent 60%),linear-gradient(135deg,#3a182c,#181926);

}

.play-icon {

    position: absolute;

    left: 16px;

    bottom: 16px;

    background: #0d0d10b3;

    border: 1px solid #ffffff40;

    display: grid;

    place-items: center;

    width: 42px;

    height: 42px;

    border-radius: 50%;

    font-size: 14px;

    color: white;

}

.card-copy {

    padding: 18px 0 0;

}

.card-copy .eyebrow {

    font-size: 9px;

    margin-bottom: 10px;

}

.card h3 {

    line-height: 1.3;

    margin-bottom: 10px;

}

.card time {

    color: var(--muted);

    font-size: 11px;

}

.hero-card {

    height: 100%;

    position: relative;

    overflow: hidden;

    border-radius: var(--radius);

    background: var(--panel);

    min-height: 440px;

}

.hero-card .card-image {

    height: 100%;

    position: absolute;

    inset: 0;

    aspect-ratio: auto;

    border-radius: 0;

}

.hero-card .card-image:after {

    content: "";

    position: absolute;

    inset: 0;

    background: linear-gradient(0deg,#09090bec,transparent 95%);

}

.hero-card .play-icon {

    left: 30px;

    top: 28px;

    bottom: auto;

    z-index: 2;

    width: 56px;

    height: 56px;

}

.hero-card .card-copy {

    position: relative;

    pointer-events: none;

    padding: 220px 32px 32px;

    z-index: 3;

}

.hero-card .card-copy a {

    pointer-events: auto;

}

.hero-card h2 {

    font-size: clamp(28px,3vw,43px);

    max-width: 750px;

}

.radio-panel {

    background: var(--panel);

    border: 1px solid var(--line);

    border-radius: var(--radius);

    padding: 25px;

    text-align: center;

    scroll-margin-top: 120px;

}

.radio-panel h2 {

    font-size: 24px;

}

.radio-panel p {

    font-size: 12px;

}

.radio-panel iframe {

    width: 100%;

    height: 165px;

    border: 0;

    border-radius: 8px;

    background: #141418;

    margin: 0 0 12px;

}

.radio-art {

    width: 124px;

    height: 124px;

    margin: 20px auto 24px;

    background: var(--red);

    border-radius: 50%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    box-shadow: 0 0 0 9px #fa334b10,0 0 0 19px #fa334b06;

    line-height: 1.1;

}

.radio-art span {

    font-size: 32px;

}

.radio-art b {

    font-size: 24px;

    letter-spacing: -1px;

}

.radio-art small {

    font-size: 9px;

    letter-spacing: 4px;

}

.live-dot {

    display: inline-block;

    width: 7px;

    height: 7px;

    background: var(--red);

    border-radius: 50%;

    margin-right: 6px;

}

.content-section {

    padding: 46px 0 0;

    scroll-margin-top: 120px;

}

.section-heading {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 22px;

}

.section-heading h2 {

    font-size: 29px;

    margin-bottom: 0;

}

.section-heading .eyebrow {

    margin-bottom: 9px;

}

.text-link {

    font-size: 12px;

    font-weight: bold;

}

.card-grid {

    display: grid;

    grid-template-columns: repeat(4,minmax(0,1fr));

    gap: 24px;

}

.station-banner {

    margin-top: 48px;

    padding: 35px 42px;

    border-radius: 16px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 24px;

    background: radial-gradient(ellipse at 80% 0%,#88223755,transparent 65%),#1d151b;

    border: 1px solid #fa334b35;

}

.station-banner h2 {

    font-size: 38px;

    margin: 0;

}

.station-banner .eyebrow {

    color: #ff8b9b;

}

.search-panel {

    margin: 60px 0;

    padding: 30px;

    background: var(--panel);

    border-radius: 16px;

}

.search-panel h2 {

    font-size: 25px;

}

.search-form {

    display: flex;

    gap: 10px;

    max-width: 700px;

}

.search-form label {

    flex: 1;

    min-width: 0;

}

input[type=search],input[type=text],input[type=email],input[type=url],textarea {

    width: 100%;

    border: 1px solid #ffffff30;

    border-radius: 8px;

    background: #111116;

    color: white;

    padding: 12px;

}

textarea {

    min-height: 140px;

}

.site-footer {

    margin-top: 40px;

    border-top: 1px solid var(--line);

    padding: 40px 0 24px;

}

.footer-top {

    display: flex;

    justify-content: space-between;

    gap: 35px;

}

.footer-brand {

    font-weight: 900;

    font-size: 28px;

    color: var(--red);

}

.footer-top p {

    font-size: 13px;

    margin-top: 12px;

}

.footer-bottom {

    border-top: 1px solid var(--line);

    padding-top: 22px;

    margin-top: 24px;

    display: flex;

    justify-content: space-between;

    font-size: 11px;

    color: var(--muted);

}

.radio-dock {

    position: fixed;

    bottom: 0;

    left: 0;

    right: 0;

    background: #1d1b22fa;

    border-top: 1px solid #ffffff25;

    z-index: 50;

    box-shadow: 0 -8px 25px #0004;

}

.dock-inner {

    display: flex;

    gap: 16px;

    align-items: center;

    min-height: 82px;

}

.dock-icon {

    width: 45px;

    height: 45px;

    background: var(--red);

    border-radius: 8px;

    display: grid;

    place-items: center;

    font-size: 26px;

}

.dock-title {

    flex: 1;

}

.dock-title strong {

    display: block;

    font-size: 14px;

}

.dock-title small {

    display: block;

    font-size: 11px;

    color: var(--muted);

}

.volume {

    font-size: 11px;

    display: flex;

    align-items: center;

    gap: 10px;

    color: var(--muted);

}

.volume input {

    width: 90px;

    accent-color: var(--red);

}

.article-main {

    max-width: 960px;

    padding-top: 50px;

}

.article-header {

    margin-bottom: 30px;

}

.article-header h1 {

    font-size: clamp(32px,4vw,54px);

}

.article-meta {

    font-size: 12px;

    color: var(--muted);

}

.article-cover img {

    width: 100%;

    border-radius: 14px;

    margin-bottom: 32px;

}

.entry-content {

    font-size: 18px;

    line-height: 1.85;

    overflow-wrap: anywhere;

}

.entry-content a,.post-taxonomies a,.comments-area a {

    color: #ff7084;

    text-decoration: underline;

}

.entry-content p {

    color: #d3d0d9;

}

.entry-content iframe,.entry-content video {

    max-width: 100%;

}

.entry-content iframe[src*="youtube"],.entry-content iframe[src*="vimeo"] {

    width: 100%;

    height: auto;

    aspect-ratio: 16/9;

}

.entry-content h2,.entry-content h3 {

    margin-top: 35px;

}

.entry-content table {

    display: block;

    overflow-x: auto;

}

.entry-content blockquote {

    border-left: 3px solid var(--red);

    padding-left: 24px;

    margin-left: 0;

}

.entry-content pre {

    overflow: auto;

    padding: 20px;

    background: var(--panel);

}

.alignwide {

    width: 100%;

}

.alignfull {

    max-width: 100%;

}

.wp-caption {

    max-width: 100%;

}

.wp-caption-text,.gallery-caption {

    font-size: 12px;

    color: var(--muted);

}

.post-taxonomies,.post-navigation,.comments-area {

    margin-top: 35px;

    padding-top: 25px;

    border-top: 1px solid var(--line);

}

.post-navigation .nav-links {

    display: flex;

    justify-content: space-between;

    gap: 24px;

}

.comment-list {

    padding-left: 24px;

}

.comment-body {

    padding: 20px 0;

}

.comment-form .submit {

    background: var(--red);

    border: 0;

    border-radius: 8px;

    padding: 12px 18px;

    color: white;

}

.archive-main {

    padding-top: 40px;

}

.page-heading {

    margin-bottom: 30px;

}

.page-heading h1 {

    font-size: 42px;

}

.archive-grid {

    row-gap: 35px;

}

.pagination {

    margin: 40px 0;

}

.pagination .page-numbers {

    padding: 8px 12px;

    display: inline-block;

    border: 1px solid var(--line);

    border-radius: 6px;

}

.pagination .current {

    background: var(--red);

}

.empty,.welcome {

    padding: 30px;

    border: 1px solid var(--line);

    border-radius: 12px;

}

.welcome {

    height: 100%;

    display: flex;

    flex-direction: column;

    justify-content: center;

    background: linear-gradient(135deg,#4f1b30,#17151c);

}

.welcome h2 {

    font-size: 54px;

}

.welcome .button {

    align-self: flex-start;

}

.sr-only,.skip-link:not(:focus) {

    position: absolute;

    width: 1px;

    height: 1px;

    padding: 0;

    margin: -1px;

    overflow: hidden;

    clip: rect(0,0,0,0);

    white-space: nowrap;

    border: 0;

}

.skip-link:focus {

    position: fixed;

    top: 10px;

    left: 10px;

    z-index: 100;

    background: white;

    color: black;

    padding: 12px;

}

.admin-bar .site-header {

    top: 32px;

}

.sticky {

}

.bypostauthor {

}

@media (min-width:1400px) {
    .featured-layout {

        grid-template-columns: 1fr 350px;

    }

    .hero-card {

        min-height: 490px;

    }
}

@media (max-width:1100px) {
    .header-listen {

        display: none;

    }

    .menu {

        gap: 16px;

    }

    .featured-layout {

        grid-template-columns: 1fr 300px;

    }

    .card-grid {

        gap: 18px;

    }

    .hero-card .card-copy {

        padding: 220px 25px 25px;

    }

    .card h3 {

        font-size: 18px;

    }
}

@media (max-width:800px) {
    .container {

        width: calc(100% - 36px);

    }

    .header-inner {

        min-height: 78px;

        flex-wrap: wrap;

        gap: 0;

    }

    .menu-toggle {

        display: block;

        background: transparent;

        border: 1px solid #ffffff35;

        color: white;

        border-radius: 6px;

        padding: 8px 12px;

        font-size: 12px;

    }

    #primary-nav {

        display: none;

        width: 100%;

        padding: 18px 0;

    }

    #primary-nav.is-open {

        display: block;

    }

    .menu {

        flex-wrap: wrap;

        gap: 16px 24px;

    }

    .menu .sub-menu {

        position: static;

    }

    .topline {

        font-size: 8px;

        letter-spacing: .5px;

    }

    .intro {

        padding: 32px 0 24px;

        align-items: flex-start;

    }

    .intro .outline-button {

        display: none;

    }

    .featured-layout {

        grid-template-columns: 1fr;

    }

    .hero-card {

        min-height: 370px;

    }

    .radio-panel {

        display: grid;

        grid-template-columns: 90px 1fr;

        text-align: left;

        column-gap: 20px;

        padding: 22px;

    }

    .radio-panel>.eyebrow {

        grid-column: 1/-1;

    }

    .radio-art {

        grid-row: 2/5;

        width: 78px;

        height: 78px;

        margin: 0;

    }

    .radio-art span {

        font-size: 22px;

    }

    .radio-art b {

        font-size: 17px;

    }

    .radio-art small {

        font-size: 7px;

    }

    .radio-panel h2 {

        font-size: 23px;

    }

    .radio-panel iframe {

        grid-column: 1/-1;

        margin-top: 12px;

    }

    .radio-panel>a {

        grid-column: 1/-1;

    }

    .card-grid {

        grid-template-columns: repeat(2,minmax(0,1fr));

    }

    .content-section {

        padding-top: 34px;

    }

    .station-banner {

        padding: 28px;

        align-items: flex-start;

    }

    .station-banner h2 {

        font-size: 29px;

    }

    .station-banner .button {

        align-self: center;

        white-space: nowrap;

    }

    .volume {

        display: none;

    }

    .footer-top {

        flex-direction: column;

    }

    .admin-bar .site-header {

        top: 46px;

    }
}

@media (max-width:480px) {
    .topline .container>span {

        max-width: 160px;

    }

    .brand span {

        font-size: 25px;

    }

    .intro h1 {

        font-size: 38px;

    }

    .intro p:last-child {

        font-size: 14px;

    }

    .hero-card {

        min-height: 365px;

    }

    .hero-card h2 {

        font-size: 28px;

    }

    .hero-card .card-copy {

        padding-top: 185px;

    }

    .section-heading h2 {

        font-size: 24px;

    }

    .section-heading .text-link {

        white-space: nowrap;

    }

    .card-grid {

        gap: 24px 14px;

    }

    .card h3 {

        font-size: 16px;

    }

    .card-copy .eyebrow {

        font-size: 8px;

        letter-spacing: 1px;

    }

    .play-icon {

        width: 30px;

        height: 30px;

        font-size: 10px;

        left: 10px;

        bottom: 10px;

    }

    .station-banner {

        flex-direction: column;

    }

    .station-banner .button {

        align-self: flex-start;

    }

    .station-banner .eyebrow {

        font-size: 8px;

    }

    .dock-inner {

        gap: 10px;

        min-height: 78px;

    }

    .dock-icon {

        display: none;

    }

    .dock-title strong {

        font-size: 12px;

    }

    .dock-title small {

        font-size: 10px;

    }

    .radio-dock .button {

        padding: 12px;

        font-size: 12px;

    }

    .search-panel {

        padding: 22px;

    }

    .search-form .button {

        padding: 12px;

    }

    .article-main {

        padding-top: 30px;

    }

    .entry-content {

        font-size: 16px;

    }

    .search-panel h2 {

        font-size: 23px;

    }
}

@media (prefers-reduced-motion:reduce) {
    html {

        scroll-behavior: auto;

    }

    * {

        transition: none !important;

    }
}

/* 1.1 · discovery, recent content and radio dialog */

.collections {

    padding-top: 30px;

}

.category-pills {

    display: flex;

    gap: 10px;

    flex-wrap: wrap;

}

.category-pills a {

    border: 1px solid #ffffff25;

    background: #19191f;

    padding: 8px 15px;

    border-radius: 25px;

    font-size: 12px;

}

.category-pills a:hover {

    border-color: var(--red);

}

.recent-grid {

    grid-template-columns: repeat(3,minmax(0,1fr));

}

.related-grid {

    grid-template-columns: repeat(3,minmax(0,1fr));

}

.archive-search {

    margin-bottom: 30px;

}

.search-form {

    max-width: 950px;

    flex-wrap: wrap;

}

.category-select {

    flex: 0 1 215px !important;

}

.category-select select {

    width: 100%;

    height: 100%;

    min-height: 49px;

    padding: 10px;

    color: var(--text);

    background: #111116;

    border: 1px solid #ffffff30;

    border-radius: 8px;

}

.share-row {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 16px;

    margin-top: 25px;

}

.share-feedback {

    font-size: 12px;

    color: var(--muted);

}

.radio-external {

    font-size: 22px;

    padding: 8px;

}

.related-section {

    margin: 20px 0 40px;

}

.related-section h3 {

    font-size: 18px;

}

#radio-dialog {

    color: var(--text);

    background: var(--panel);

    border: 1px solid #ffffff35;

    border-radius: 18px;

    width: min(560px,calc(100% - 30px));

    max-height: calc(100dvh - 50px);

    padding: 28px;

    overflow: auto;

}

#radio-dialog::backdrop {

    background: #000c;

}

.dialog-heading {

    display: flex;

    align-items: flex-start;

    gap: 15px;

    justify-content: space-between;

}

.dialog-heading h2 {

    font-size: 28px;

}

.close-radio {

    background: #ffffff10;

    border: 1px solid #ffffff25;

    color: white;

    border-radius: 50%;

    width: 38px;

    height: 38px;

    flex-shrink: 0;

}

#radio-dialog-player iframe {

    width: 100%;

    height: 210px;

    border: 0;

    border-radius: 8px;

}

#radio-dialog p:not(.eyebrow) {

    font-size: 13px;

    margin-top: 16px;

}

@media (max-width:800px) {
    .recent-grid {

        grid-template-columns: repeat(2,minmax(0,1fr));

    }

    .related-grid {

        grid-template-columns: repeat(2,minmax(0,1fr));

    }
}

@media (max-width:480px) {
    .category-select {

        flex: 1 0 100% !important;

        order: 3;

    }

    .search-form>label:first-of-type {

        flex-basis: 60%;

    }

    .related-grid {

        grid-template-columns: 1fr;

    }

    .radio-external {

        padding: 4px;

    }

    .dock-inner {

        gap: 7px;

    }

    .category-pills {

        gap: 8px;

    }

    .category-pills a {

        font-size: 11px;

        padding: 7px 12px;

    }

    #radio-dialog {

        padding: 20px;

    }

    .dialog-heading h2 {

        font-size: 23px;

    }
}

/* 1.2 · editorial visual system */

body {

    font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

    -webkit-font-smoothing: antialiased;

    background: #101013;

}

.container {

    width: min(var(--ilt-site-width,1320px),calc(100% - 72px));

}

.topline {

    font-size: 9px;

    background: #08080b;

    padding: 9px 0;

    color: #a9a6b0;

}

.header-inner {

    min-height: 90px;

}

.site-header {

    background: #101013f5;

}

.brand span {

    letter-spacing: -1.6px;

}

.menu {

    font-size: 12px;

    gap: 21px;

}

.menu a {

    display: inline-block;

    padding: 8px 0;

    transition: color .18s;

}

.menu .current-menu-item>a {

    color: var(--red);

}

.intro {

    padding: 38px 0 28px;

}

.intro h1 {

    font-size: clamp(34px,3.8vw,53px);

    font-weight: 850;

    letter-spacing: -.055em;

    line-height: 1.04;

    max-width: 780px;

    margin-bottom: 14px;

}

.intro .eyebrow {

    font-size: 9px;

    letter-spacing: 2.2px;

}

.intro p:last-child {

    font-size: 14px;

}

.outline-button {

    font-size: 12px;

    padding: 12px 18px;

}

.featured-layout {

    grid-template-columns: minmax(0,1fr) 320px;

    gap: 22px;

    align-items: stretch;

}

.featured {

    display: flex;

    flex-direction: column;

    gap: 16px;

    min-width: 0;

}

.hero-card {

    flex: 1;

    min-height: 420px;

    border: 1px solid var(--line);

}

.hero-card .card-copy {

    padding: 190px 30px 28px;

    max-width: 780px;

}

.hero-card h2 {

    font-size: clamp(28px,3vw,41px);

    letter-spacing: -.04em;

    line-height: 1.08;

    margin-bottom: 16px;

}

.hero-card .card-image:after {

    background: linear-gradient(0deg,#09090bf5 0%,#09090b8a 46%,#09090b00 100%);

}

.hero-card .eyebrow {

    color: #fff;

    background: var(--red);

    display: inline-block;

    padding: 4px 9px;

    letter-spacing: 1.3px;

    border-radius: 3px;

}

.hero-cta {

    display: inline-flex;

    gap: 25px;

    align-items: center;

    pointer-events: auto;

    margin-top: 18px;

    font-size: 12px;

    font-weight: bold;

    border-bottom: 1px solid #ffffff50;

    padding-bottom: 5px;

}

.hero-card .art-placeholder {

    background: radial-gradient(ellipse at 75% 35%,#582032,transparent 70%),linear-gradient(120deg,#15151d,#2c1929);

    justify-content: flex-end;

    padding: 30px;

}

.art-placeholder>span {

    font-size: clamp(28px,4vw,58px);

    line-height: .95;

    font-weight: 900;

    letter-spacing: -.05em;

    opacity: .5;

}

.card-meta {

    display: flex;

    align-items: center;

    gap: 14px;

    font-size: 10px;

    color: var(--muted);

}

.card-meta>span {

    border-left: 1px solid #ffffff35;

    padding-left: 12px;

}

.featured-secondary {

    display: grid;

    grid-template-columns: repeat(2,minmax(0,1fr));

    gap: 16px;

}

.card-compact {

    display: grid;

    grid-template-columns: 100px minmax(0,1fr);

    gap: 14px;

    background: #19191d;

    border: 1px solid var(--line);

    border-radius: 10px;

    padding: 12px;

}

.card-compact .card-image {

    aspect-ratio: 1;

    border-radius: 6px;

}

.card-compact .card-copy {

    padding: 2px 0;

}

.card-compact h3 {

    font-size: 14px;

    line-height: 1.35;

    margin-bottom: 8px;

    letter-spacing: -.01em;

}

.card-compact .eyebrow {

    font-size: 8px;

    letter-spacing: .8px;

    margin-bottom: 6px;

}

.card-compact .play-icon {

    width: 26px;

    height: 26px;

    left: 8px;

    bottom: 8px;

    font-size: 9px;

}

.card-compact .card-meta>span {

    display: none;

}

.radio-panel {

    padding: 27px 22px;

    background: linear-gradient(160deg,#26202a,#17171c);

    border: 1px solid #ffffff1c;

    display: flex;

    flex-direction: column;

    justify-content: center;

    text-align: center;

}

.radio-panel .radio-art {

    margin: 23px auto 30px;

}

.radio-panel h2 {

    font-size: 25px;

    letter-spacing: -.04em;

}

.radio-panel iframe {

    height: 185px;

    margin-top: 6px;

}

.radio-panel .text-link {

    font-size: 10px;

}

.collections {

    padding: 26px 0 30px;

    border-bottom: 1px solid var(--line);

}

.collections>.eyebrow {

    font-size: 9px;

    color: var(--muted);

    margin-bottom: 12px;

}

.category-pills a {

    background: transparent;

    border-color: #ffffff24;

    padding: 7px 15px;

    font-size: 11px;

}

.content-section {

    padding-top: 44px;

}

.section-heading {

    border-bottom: 1px solid var(--line);

    padding-bottom: 18px;

    margin-bottom: 23px;

    position: relative;

}

.section-heading:after {

    content: "";

    position: absolute;

    bottom: -1px;

    left: 0;

    width: 45px;

    height: 2px;

    background: var(--red);

}

.section-heading h2 {

    font-size: 29px;

    letter-spacing: -.045em;

}

.section-heading .eyebrow {

    font-size: 8px;

    letter-spacing: 2px;

    color: var(--muted);

    margin-bottom: 8px;

}

.section-heading .text-link {

    font-size: 11px;

}

.card-image {

    border: 1px solid #ffffff12;

    border-radius: 10px;

}

.card-copy {

    padding-top: 14px;

}

.card-copy h3 {

    font-size: 18px;

    font-weight: 750;

    line-height: 1.35;

    letter-spacing: -.025em;

}

.card-copy .eyebrow {

    font-size: 8px;

    letter-spacing: 1px;

}

.card time {

    font-size: 10px;

}

.card-music .card-image {

    aspect-ratio: 1;

    border-radius: 12px;

}

.format-label {

    position: absolute;

    left: 12px;

    top: 12px;

    padding: 4px 7px;

    background: #09090bc9;

    color: white;

    border: 1px solid #ffffff30;

    border-radius: 4px;

    font-size: 8px;

    font-weight: 750;

    letter-spacing: 1px;

}

.section-news .card-grid {

    grid-template-columns: repeat(2,minmax(0,1fr));

    gap: 24px;

}

.card-news {

    display: grid;

    grid-template-columns: 40% minmax(0,1fr);

    gap: 20px;

    padding: 0 0 22px;

    border-bottom: 1px solid var(--line);

}

.card-news .card-copy {

    padding: 0;

}

.card-news .card-image {

    aspect-ratio: 4/3;

}

.card-news h3 {

    font-size: 19px;

}

.card-excerpt {

    font-size: 12px;

    line-height: 1.6;

    margin-bottom: 12px;

}

.station-banner {

    position: relative;

    isolation: isolate;

    overflow: hidden;

    padding: 36px 40px;

    background: linear-gradient(110deg,#25141b,#17171d);

    border-color: #ffffff20;

}

.station-banner>div:not(.sound-wave),.station-banner>.button {

    z-index: 1;

}

.station-banner h2 {

    font-size: 38px;

    letter-spacing: -.05em;

}

.sound-wave {

    position: absolute;

    right: 17%;

    top: 50%;

    transform: translateY(-50%);

    display: flex;

    align-items: center;

    gap: 11px;

    opacity: .17;

    pointer-events: none;

}

.sound-wave i {

    display: block;

    width: 13px;

    height: 130px;

    border-radius: 10px;

    background: var(--red);

}

.sound-wave i:nth-child(2n) {

    height: 200px;

}

.sound-wave i:nth-child(3n) {

    height: 80px;

}

.sound-wave i:nth-child(5) {

    height: 270px;

}

.social-links {

    display: flex;

    gap: 18px;

    flex-wrap: wrap;

    margin-top: 18px;

    font-size: 11px;

}

.footer-top p {

    font-size: 12px;

}

.footer-brand {

    letter-spacing: -1.5px;

}

.site-footer {

    padding-top: 45px;

}

.radio-dock {

    background: #1b1a20f7;

    backdrop-filter: blur(16px);

}

.dock-inner {

    min-height: 76px;

}

.dock-icon {

    width: 41px;

    height: 41px;

    font-size: 23px;

}

.dock-title strong {

    font-size: 13px;

}

.dock-title small {

    font-size: 10px;

}

.radio-dock .button {

    font-size: 12px;

    padding: 11px 18px;

}

.article-main {

    max-width: 960px;

}

.entry-content {

    max-width: 780px;

    margin-left: auto;

    margin-right: auto;

}

.entry-content p {

    font-size: 18px;

    line-height: 1.9;

}

.article-header h1 {

    font-weight: 850;

    letter-spacing: -.05em;

}

.article-header {

    max-width: 880px;

}

.comments-area,.post-taxonomies,.share-row {

    max-width: 780px;

    margin-left: auto;

    margin-right: auto;

}

@media (min-width:1400px) {
    .featured-layout {

        grid-template-columns: minmax(0,1fr) 335px;

    }

    .hero-card {

        min-height: 440px;

    }
}

@media (max-width:1100px) {
    .container {

        width: calc(100% - 48px);

    }

    .featured-layout {

        grid-template-columns: minmax(0,1fr) 290px;

    }

    .card-compact {

        grid-template-columns: 75px minmax(0,1fr);

        gap: 10px;

    }

    .card-compact h3 {

        font-size: 12px;

    }

    .card-compact .card-meta {

        font-size: 9px;

    }

    .card-news {

        gap: 14px;

    }

    .card-news h3 {

        font-size: 17px;

    }

    .card-excerpt {

        display: none;

    }

    .menu {

        gap: 15px;

    }
}

@media (max-width:800px) {
    .container {

        width: calc(100% - 36px);

    }

    .header-inner {

        min-height: 74px;

    }

    .intro {

        padding: 30px 0 24px;

    }

    .featured-layout {

        grid-template-columns: 1fr;

    }

    .hero-card {

        min-height: 380px;

    }

    .hero-card .card-copy {

        padding-top: 170px;

    }

    .card-compact {

        grid-template-columns: 80px minmax(0,1fr);

    }

    .card-compact h3 {

        font-size: 14px;

    }

    .radio-panel {

        display: grid;

        grid-template-columns: 80px minmax(0,1fr);

        justify-content: initial;

        text-align: left;

        gap: 0 20px;

        padding: 22px;

    }

    .radio-panel .radio-art {

        margin: 0;

        width: 78px;

        height: 78px;

        grid-row: 2/5;

    }

    .radio-panel .eyebrow {

        grid-column: 1/-1;

    }

    .radio-panel iframe {

        grid-column: 1/-1;

        height: 165px;

        margin-top: 15px;

    }

    .radio-panel h2 {

        font-size: 24px;

    }

    .radio-panel>.text-link {

        grid-column: 1/-1;

    }

    .section-news .card-grid {

        grid-template-columns: 1fr;

    }

    .card-news {

        grid-template-columns: 32% minmax(0,1fr);

        gap: 20px;

    }

    .card-news h3 {

        font-size: 19px;

    }

    .card-excerpt {

        display: block;

    }

    .station-banner h2 {

        font-size: 31px;

    }

    .section-heading h2 {

        font-size: 27px;

    }

    .card-copy h3 {

        font-size: 17px;

    }

    .card-compact .card-copy h3 {

        font-size: 14px;

    }
}

@media (max-width:480px) {
    .intro h1 {

        font-size: 38px;

    }

    .featured-secondary {

        grid-template-columns: 1fr;

        gap: 10px;

    }

    .card-compact {

        grid-template-columns: 80px minmax(0,1fr);

        padding: 10px;

    }

    .card-compact .card-copy h3 {

        font-size: 14px;

    }

    .hero-card .card-copy {

        padding: 170px 22px 24px;

    }

    .hero-card h2 {

        font-size: 29px;

    }

    .hero-card {

        min-height: 380px;

    }

    .section-heading h2 {

        font-size: 24px;

    }

    .section-heading .text-link {

        font-size: 10px;

    }

    .card-copy h3 {

        font-size: 16px;

    }

    .card-news {

        grid-template-columns: 35% minmax(0,1fr);

        gap: 14px;

    }

    .card-news .card-copy h3 {

        font-size: 16px;

    }

    .card-news .card-excerpt {

        display: none;

    }

    .radio-panel h2 {

        font-size: 22px;

    }

    .station-banner {

        padding: 28px;

    }

    .station-banner h2 {

        font-size: 31px;

    }

    .station-banner .eyebrow {

        max-width: 220px;

        line-height: 1.8;

    }

    .sound-wave {

        right: -25px;

        opacity: .1;

    }

    .dock-title strong {

        font-size: 11px;

    }

    .radio-dock .button {

        padding: 10px 12px;

        font-size: 11px;

    }

    .entry-content p {

        font-size: 16px;

        line-height: 1.85;

    }

    .topline .container>span {

        max-width: 155px;

        font-size: 7px;

    }

    .related-section .card-copy h3 {

        font-size: 19px;

    }

    .hero-cta {

        font-size: 11px;

    }

    .content-section {

        padding-top: 35px;

    }
}

.featured>.hero-card {

    height: auto;

}

.hero-card .card-meta {

    color: #d1ced8;

}

.hero-card time {

    color: #d1ced8;

}

/* 1.3 · media and archive details */

[hidden] {

    display: none !important;

}

.reading-progress {

    position: absolute;

    left: 0;

    right: 0;

    bottom: -1px;

    height: 3px;

    overflow: hidden;

    pointer-events: none;

}

.reading-progress span {

    display: block;

    width: 100%;

    height: 100%;

    background: var(--red);

    transform: scaleX(0);

    transform-origin: left center;

}

.breadcrumbs {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    font-size: 11px;

    color: var(--muted);

    margin-bottom: 22px;

}

.breadcrumbs a {

    color: var(--text);

}

.archive-heading {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    padding: 30px;

    border: 1px solid var(--line);

    border-radius: 14px;

    background: linear-gradient(130deg,#28202a,#17171d);

    margin-bottom: 26px;

}

.archive-heading h1 {

    margin: 0;

    max-width: 920px;

    font-size: clamp(30px,4vw,49px);

    overflow-wrap: anywhere;

}

.archive-heading .muted {

    max-width: 780px;

    margin-top: 16px;

    font-size: 14px;

    color: var(--muted);

}

.archive-heading .muted p:last-child {

    margin-bottom: 0;

}

.result-count {

    font-size: 11px;

    font-weight: 600;

    white-space: nowrap;

    color: #d2ced8;

    border: 1px solid #ffffff25;

    border-radius: 25px;

    padding: 8px 15px;

}

.reading-time {

    display: inline-block;

    margin-left: 15px;

    padding-left: 15px;

    border-left: 1px solid #ffffff30;

}

.footer-top>nav {

    max-width: 650px;

}

.footer-top .menu {

    flex-wrap: wrap;

    justify-content: flex-end;

    gap: 12px 22px;

}

.footer-top .menu a {

    padding: 2px 0;

}

.image-fallback {

    position: absolute;

    inset: 0;

}

.youtube-thumb {

    background: #19191f;

}

.empty h2 {

    font-size: 24px;

}

.empty p {

    font-size: 14px;

}

@media (max-width:800px) {
    .archive-heading {

        padding: 24px;

    }

    .footer-top .menu {

        justify-content: flex-start;

    }

    .archive-heading {

        align-items: flex-start;

        flex-direction: column;

        gap: 18px;

    }

    .result-count {

        font-size: 10px;

    }
}

@media (max-width:480px) {
    .archive-heading {

        padding: 22px;

    }

    .archive-heading h1 {

        font-size: 31px;

    }

    .reading-time {

        margin-left: 0;

        margin-top: 8px;

        padding-left: 0;

        display: block;

        border: 0;

    }

    .breadcrumbs {

        font-size: 10px;

        margin-bottom: 16px;

    }

    .archive-main {

        padding-top: 25px;

    }
}

/* 1.4 · unified radio controls */

.radio-panel-controls {

    width: 100%;

    margin: 8px auto 0;

}

.radio-panel-controls>.button {

    width: 100%;

    max-width: 260px;

}

.radio-panel-note {

    font-size: 11px !important;

    margin: 15px 0 17px;

}

.radio-panel .radio-panel-controls>.text-link {

    display: inline-block;

    margin-bottom: 5px;

}

.mute-button {

    background: transparent;

    color: var(--text);

    border: 1px solid #ffffff30;

    border-radius: 7px;

    font-size: 10px;

    padding: 9px 11px;

    white-space: nowrap;

}

.mute-button[aria-pressed=true] {

    color: var(--red);

    border-color: var(--red);

}

.radio-is-playing .radio-art {

    box-shadow: 0 0 0 9px #ffffff0a,0 0 0 19px #ffffff04;

}

.radio-offline-note {

    font-size: 11px;

    color: var(--muted);

}

@media (max-width:800px) {
    .radio-panel-controls {

        grid-column: 1/-1;

        margin-top: 18px;

    }

    .radio-panel-controls>.button {

        max-width: none;

    }

    .radio-panel-note {

        margin-bottom: 12px;

    }

    .mute-button {

        display: none;

    }
}

/* 1.5 · spacious editorial layout and full-width navigation */

.header-inner {

    display: grid;

    grid-template-columns: minmax(0,1fr) auto auto;

    gap: 0 24px;

    padding-top: 19px;

    min-height: 0;

}

.brand {

    grid-column: 1;

    grid-row: 1;

    padding-bottom: 19px;

}

.header-actions {

    grid-column: 3;

    grid-row: 1;

    display: flex;

    align-items: center;

    gap: 12px;

    padding-bottom: 19px;

}

.header-search {

    padding: 10px 16px;

}

.header-search span {

    font-size: 21px;

    line-height: 1;

}

.header-listen {

    display: inline-flex;

}

#primary-nav {

    grid-column: 1/-1;

    grid-row: 2;

    width: 100%;

    border-top: 1px solid var(--line);

    padding: 0;

}

.site-header .menu {

    gap: 0 28px;

    flex-wrap: wrap;

    font-size: 12px;

}

.site-header .menu>li>a {

    padding: 15px 0;

    white-space: nowrap;

}

.site-header .menu>.current-menu-item>a {

    box-shadow: inset 0 -2px var(--red);

}

.site-header .sub-menu {

    z-index: 35;

    box-shadow: 0 14px 30px #0005;

    border: 1px solid var(--line);

    border-radius: 0 0 8px 8px;

}

.menu-toggle {

    grid-column: 2;

    grid-row: 1;

}

.intro {

    padding: 45px 0 30px;

}

.intro h1 {

    font-size: clamp(34px,3.6vw,50px);

}

.featured-layout {

    grid-template-columns: minmax(0,1fr) 285px;

    gap: 28px;

}

.hero-card {

    min-height: 400px;

    border-radius: 12px;

}

.hero-card .card-copy {

    padding-top: 180px;

}

.radio-panel {

    border-radius: 12px;

    background: linear-gradient(150deg,#251d26,#17171c);

    padding: 28px 22px;

    justify-content: flex-start;

}

.radio-panel>.eyebrow {

    margin-top: 12px;

}

.radio-panel .radio-art {

    margin: 30px auto;

}

.radio-panel h2 {

    line-height: 1.2;

}

.radio-panel-controls {

    margin-top: auto;

    padding-top: 20px;

}

.featured-secondary {

    gap: 22px;

}

.card-compact {

    border: 0;

    border-radius: 0;

    background: transparent;

    padding: 3px 0;

}

.card-compact .card-copy h3 {

    font-size: 14px;

    line-height: 1.45;

}

.card-compact .card-image {

    border-radius: 7px;

}

.collections {

    padding: 28px 0;

}

.category-pills {

    gap: 9px;

}

.category-pills a {

    background: #ffffff04;

    border-color: #ffffff18;

}

.content-section {

    padding-top: 54px;

}

.section-heading {

    padding-bottom: 20px;

    margin-bottom: 26px;

}

.section-heading h2 {

    font-size: 30px;

}

.card-grid {

    gap: 30px 24px;

}

.card-copy h3 {

    line-height: 1.42;

}

.card-image {

    border-radius: 8px;

}

.card-music .card-image {

    border-radius: 8px;

}

.card-meta {

    margin-top: 12px;

}

.card-copy .eyebrow {

    color: #ff8493;

}

.hero-card .eyebrow {

    color: #fff;

}

.card-news {

    padding-bottom: 24px;

}

.section-recent {

    margin-top: 12px;

}

.search-panel {

    padding: 34px;

    margin: 54px 0 30px;

    border: 1px solid var(--line);

    background: #17171d;

    scroll-margin-top: 170px;

}

.search-panel .search-form {

    max-width: none;

}

.site-footer {

    margin-top: 48px;

}

.footer-top>nav {

    max-width: 570px;

}

.footer-top .menu {

    gap: 10px 24px;

}

.footer-top .menu a {

    padding: 6px 0;

}

.radio-dock .dock-inner {

    min-height: 70px;

}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible {

    outline: 2px solid #ff8493;

    outline-offset: 4px;

}

@media (max-width:1100px) {
    .header-inner {

        gap: 0 18px;

    }

    .site-header .menu {

        gap: 0 22px;

    }

    .featured-layout {

        grid-template-columns: minmax(0,1fr) 260px;

        gap: 22px;

    }

    .hero-card .card-copy {

        padding-left: 24px;

        padding-right: 24px;

    }

    .radio-panel {

        padding: 24px 18px;

    }

    .radio-panel h2 {

        font-size: 23px;

    }

    .featured-secondary {

        grid-template-columns: 1fr;

    }

    .card-compact {

        grid-template-columns: 90px minmax(0,1fr);

    }

    .card-compact .card-image {

        aspect-ratio: 4/3;

    }

    .radio-panel-controls {

        margin-top: 18px;

    }
}

@media (max-width:800px) {
    .header-inner {

        grid-template-columns: minmax(0,1fr) auto;

        gap: 0 14px;

        padding-top: 14px;

    }

    .brand {

        padding-bottom: 14px;

    }

    .menu-toggle {

        grid-column: 2;

        margin-bottom: 14px;

    }

    .header-actions {

        display: none;

    }

    #primary-nav {

        padding: 0;

        display: none;

    }

    #primary-nav.is-open {

        display: block;

    }

    .site-header .menu {

        display: grid;

        grid-template-columns: repeat(2,minmax(0,1fr));

        gap: 0 20px;

        padding: 8px 0 16px;

    }

    .site-header .menu>li>a {

        padding: 10px 0;

        white-space: normal;

    }

    .site-header .sub-menu {

        display: block;

        position: static;

        padding: 0 0 0 12px;

        box-shadow: none;

        border: 0;

        background: transparent;

    }

    .site-header .sub-menu a {

        font-weight: 400;

    }

    .intro {

        padding: 30px 0 24px;

    }

    .featured-layout {

        grid-template-columns: 1fr;

        gap: 24px;

    }

    .featured-secondary {

        grid-template-columns: repeat(2,minmax(0,1fr));

    }

    .card-compact {

        grid-template-columns: 75px minmax(0,1fr);

    }

    .radio-panel {

        display: grid;

        padding: 22px;

        grid-template-columns: 78px minmax(0,1fr);

        gap: 0 20px;

    }

    .radio-panel>.eyebrow {

        margin-top: 0;

    }

    .radio-panel .radio-art {

        margin: 0;

        grid-row: 2/5;

    }

    .radio-panel-controls {

        margin-top: 14px;

        padding-top: 0;

    }

    .radio-panel h2 {

        font-size: 24px;

    }

    .content-section {

        padding-top: 40px;

    }

    .section-heading h2 {

        font-size: 27px;

    }

    .search-panel {

        padding: 26px;

        scroll-margin-top: 100px;

    }

    .hero-card {

        min-height: 380px;

    }
}

@media (max-width:480px) {
    .featured-secondary {

        grid-template-columns: 1fr;

        gap: 14px;

    }

    .card-compact {

        grid-template-columns: 84px minmax(0,1fr);

    }

    .hero-card h2 {

        font-size: 28px;

    }

    .hero-card .card-copy {

        padding: 175px 21px 24px;

    }

    .intro h1 {

        font-size: 36px;

    }

    .section-heading h2 {

        font-size: 24px;

    }

    .card-grid {

        gap: 26px 16px;

    }

    .section-news .card-grid {

        gap: 22px;

    }

    .card-copy h3 {

        font-size: 16px;

    }

    .category-pills {

        flex-wrap: nowrap;

        overflow-x: auto;

        padding-bottom: 8px;

        overscroll-behavior-x: contain;

    }

    .category-pills a {

        flex: none;

    }

    .search-panel {

        padding: 22px;

    }

    .footer-top .menu {

        display: grid;

        grid-template-columns: repeat(2,minmax(0,1fr));

        gap: 4px 24px;

    }

    .radio-panel h2 {

        font-size: 22px;

    }
}

/* 1.6 · article reading and mobile discovery */

.article-header {

    margin: 0 auto 32px;

    max-width: 880px;

}

.article-header h1 {

    line-height: 1.12;

    text-wrap: balance;

    margin-bottom: 22px;

}

.article-meta {

    line-height: 1.8;

}

.article-main>.breadcrumbs,.article-main>article>.breadcrumbs {

    max-width: 880px;

    margin-left: auto;

    margin-right: auto;

}

.article-cover {

    margin: 0 0 34px;

}

.article-cover img {

    margin-bottom: 0;

    max-height: 640px;

    object-fit: contain;

    background: #17171d;

}

.entry-content {

    line-height: 1.85;

}

.entry-content ul,.entry-content ol {

    padding-left: 1.5em;

    color: #d3d0d9;

}

.entry-content li+li {

    margin-top: .5em;

}

.entry-content h2 {

    font-size: clamp(25px,3vw,34px);

    line-height: 1.25;

}

.entry-content h3 {

    font-size: 24px;

    line-height: 1.3;

}

.entry-content figcaption {

    font-size: 12px;

    line-height: 1.6;

    color: var(--muted);

    text-align: center;

    margin-top: 10px;

}

.entry-content blockquote {

    margin: 32px 0;

    padding: 8px 0 8px 24px;

}

.entry-content blockquote p {

    font-size: 21px;

    line-height: 1.65;

}

.entry-content audio {

    max-width: 100%;

    width: 100%;

    margin: 18px 0;

}

.share-row {

    padding-top: 25px;

    border-top: 1px solid var(--line);

    gap: 10px;

}

.share-feedback {

    flex-basis: 100%;

}

.whatsapp-share {

    border-color: #ffffff25;

}

.post-taxonomies {

    font-size: 12px;

    line-height: 2;

}

.post-taxonomies a {

    display: inline-block;

    padding: 2px 4px;

}

.article-radio {

    max-width: 780px;

    margin: 38px auto;

    padding: 26px 28px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 24px;

    background: linear-gradient(115deg,#291b25,#18181e);

    border: 1px solid var(--line);

    border-radius: 12px;

}

.article-radio .eyebrow {

    font-size: 9px;

    margin-bottom: 8px;

}

.article-radio h2 {

    font-size: 25px;

    margin-bottom: 10px;

}

.article-radio p:last-child {

    font-size: 12px;

    margin: 0;

}

.article-radio>.button {

    flex-shrink: 0;

}

.post-navigation {

    max-width: 780px;

    margin-left: auto;

    margin-right: auto;

}

.post-navigation .nav-links {

    display: grid;

    grid-template-columns: repeat(2,minmax(0,1fr));

    gap: 20px;

}

.post-navigation .nav-links>div {

    padding: 20px;

    border: 1px solid var(--line);

    border-radius: 10px;

    font-size: 14px;

    line-height: 1.6;

    background: #ffffff03;

}

.post-navigation .nav-next {

    text-align: right;

}

.post-navigation a {

    display: block;

}

.comments-title {

    font-size: 26px;

}

.comment-reply-title {

    font-size: 24px;

}

.comment-form label {

    display: block;

    margin-bottom: 6px;

    font-size: 13px;

}

.comment-form-cookies-consent label {

    display: inline;

}

.comment-form input[type=checkbox] {

    margin-right: 8px;

}

.comment-form .submit {

    min-height: 44px;

}

.comment-metadata {

    font-size: 11px;

    color: var(--muted);

}

@media (max-width:800px) {
    .header-inner {

        grid-template-columns: minmax(0,1fr) auto auto;

    }

    .header-actions {

        display: flex;

        grid-column: 2;

        padding-bottom: 14px;

    }

    .header-actions .header-listen {

        display: none;

    }

    .header-search {

        font-size: 12px;

        padding: 8px 11px;

        min-height: 38px;

    }

    .header-search span {

        display: none;

    }

    .menu-toggle {

        grid-column: 3;

        min-height: 38px;

    }

    .article-radio {

        padding: 24px;

    }

    .article-header h1 {

        text-wrap: wrap;

    }

    .article-cover {

        margin-bottom: 26px;

    }
}

@media (max-width:480px) {
    .header-inner {

        gap: 0 10px;

    }

    .brand span {

        font-size: 23px;

    }

    .brand small {

        letter-spacing: 1px;

        font-size: 7px;

    }

    .custom-logo {

        max-width: 145px;

        max-height: 48px;

    }

    .menu-toggle {

        padding: 8px 10px;

    }

    .article-header h1 {

        font-size: 32px;

        line-height: 1.16;

    }

    .article-radio {

        align-items: flex-start;

        flex-direction: column;

        gap: 18px;

        padding: 22px;

    }

    .article-radio h2 {

        font-size: 24px;

    }

    .post-navigation .nav-links {

        grid-template-columns: 1fr;

        gap: 12px;

    }

    .post-navigation .nav-next {

        text-align: left;

    }

    .share-row .outline-button {

        width: 100%;

    }

    .entry-content blockquote p {

        font-size: 18px;

    }

    .article-main {

        padding-top: 28px;

    }
}

/* 1.7 · music magazine composition */

:root {

    --muted: #b1aeb8;

    --line: #ffffff1c;

}

body {

    background: #101114;

}

.intro .eyebrow {

    letter-spacing: .18em;

}

.intro h1 {

    max-width: 850px;

}

.featured-layout {

    gap: 30px;

}

.hero-card {

    box-shadow: 0 14px 35px #0002;

}

.hero-card .card-image:after {

    background: linear-gradient(0deg,#08090cf5 0%,#08090c95 43%,#08090c00 100%);

}

.featured-secondary {

    padding-top: 6px;

}

.radio-panel {

    position: relative;

    overflow: hidden;

    background: radial-gradient(ellipse at 50% 20%,#50223166,transparent 70%),#19191f;

}

.radio-panel::before {

    content: "";

    height: 3px;

    background: var(--red);

    position: absolute;

    left: 24px;

    right: 24px;

    top: 0;

}

.radio-panel .radio-art {

    background: radial-gradient(circle at 35% 30%,#ff6578,var(--red));

    box-shadow: 0 0 0 12px #ffffff04,0 0 0 28px #ffffff02;

}

.radio-panel .radio-panel-note {

    line-height: 1.7;

}

.discovery-nav {

    display: grid;

    grid-template-columns: repeat(4,minmax(0,1fr));

    gap: 0;

    margin: 34px 0 0;

    border: 1px solid var(--line);

    border-radius: 12px;

    background: #17181c;

    overflow: hidden;

}

.discovery-nav>a {

    padding: 22px 24px;

    min-width: 0;

    transition: background .2s;

}

.discovery-nav>a+a {

    border-left: 1px solid var(--line);

}

.discovery-nav>a:hover {

    background: #ffffff05;

    color: var(--text);

}

.discovery-kicker {

    display: block;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .16em;

    text-transform: uppercase;

    color: #ff8493;

    margin-bottom: 6px;

}

.discovery-nav strong {

    display: flex;

    justify-content: space-between;

    gap: 8px;

    font-size: 22px;

    letter-spacing: -.035em;

}

.discovery-nav strong>span {

    font-size: 18px;

    color: #aaa6b2;

}

.discovery-description {

    display: block;

    color: var(--muted);

    font-size: 11px;

    margin-top: 7px;

}

.video-stage {

    margin-top: 52px;

    padding: 30px;

    background: #191a20;

    border: 1px solid #ffffff15;

    border-radius: 16px;

    scroll-margin-top: 170px;

}

.video-stage .section-heading {

    margin-bottom: 26px;

}

.video-stage .section-heading .eyebrow {

    color: #ff8493;

}

.video-stage-grid {

    display: grid;

    grid-template-columns: minmax(0,1.45fr) minmax(0,1fr);

    gap: 30px;

    align-items: start;

}

.card-screen .card-image {

    aspect-ratio: 16/9;

    border-radius: 10px;

}

.card-screen .play-icon {

    width: 64px;

    height: 64px;

    left: 22px;

    bottom: 22px;

    font-size: 22px;

    background: var(--red);

    border: 0;

    box-shadow: 0 4px 20px #0004;

}

.card-screen .card-copy {

    padding-top: 20px;

}

.card-screen .card-copy h3 {

    font-size: clamp(22px,2.3vw,30px);

    line-height: 1.2;

    max-width: 680px;

}

.video-stage-list {

    display: grid;

    gap: 20px;

    max-height: 600px;

    overflow: auto;

    padding-right: 4px;

    scrollbar-width: thin;

}

.card-episode {

    display: grid;

    grid-template-columns: 40% minmax(0,1fr);

    gap: 17px;

    padding-bottom: 20px;

    border-bottom: 1px solid var(--line);

}

.card-episode:last-child {

    padding-bottom: 0;

    border-bottom: 0;

}

.card-episode .card-copy {

    padding: 0;

}

.card-episode .card-copy h3 {

    font-size: 15px;

    line-height: 1.4;

}

.card-episode .eyebrow {

    font-size: 8px;

    margin-bottom: 7px;

}

.card-episode .card-meta {

    margin-top: 9px;

    flex-wrap: wrap;

    gap: 4px;

}

.card-episode .card-meta>span {

    display: none;

}

.card-episode .play-icon {

    width: 30px;

    height: 30px;

    font-size: 10px;

    left: 9px;

    bottom: 9px;

}

.collection-library {

    padding: 52px 0 0;

    border-bottom: 0;

}

.collection-grid {

    display: grid;

    grid-template-columns: repeat(6,minmax(0,1fr));

    gap: 15px;

}

.collection-tile {

    position: relative;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    min-height: 180px;

    padding: 20px 17px;

    overflow: hidden;

    background: linear-gradient(150deg,#452437,#211b26);

    border: 1px solid #ffffff1c;

    border-radius: 10px;

    transition: transform .2s,border-color .2s;

}

.collection-tone-1 {

    background: linear-gradient(150deg,#23383e,#181f27);

}

.collection-tone-2 {

    background: linear-gradient(150deg,#393329,#231f1c);

}

.collection-tile:hover {

    transform: translateY(-4px);

    border-color: #ffffff55;

    color: white;

}

.collection-symbol {

    position: absolute;

    font-size: 80px;

    font-weight: 900;

    line-height: 1;

    right: 8px;

    top: 5px;

    opacity: .12;

    transform: rotate(-12deg);

}

.collection-name {

    position: relative;

    font-size: 18px;

    font-weight: 750;

    line-height: 1.2;

    letter-spacing: -.03em;

    overflow-wrap: anywhere;

}

.collection-count {

    display: flex;

    justify-content: space-between;

    gap: 5px;

    font-size: 9px;

    color: #d1cad6;

    margin-top: 12px;

}

.collection-count>span {

    font-size: 14px;

    line-height: 1;

}

.section-music .card-image {

    box-shadow: 0 10px 25px #0003;

}

.section-music .card-copy {

    padding-top: 18px;

}

.section-music .format-label {

    background: #101014d9;

    letter-spacing: .15em;

}

.section-news .card-copy h3 {

    line-height: 1.35;

}

.recent-grid {

    counter-reset: recent;

    grid-template-columns: repeat(3,minmax(0,1fr));

}

.recent-grid>.card {

    position: relative;

    display: grid;

    grid-template-columns: 88px minmax(0,1fr);

    gap: 15px;

    padding: 20px 0;

    border-top: 1px solid var(--line);

}

.recent-grid .card-image {

    aspect-ratio: 1;

}

.recent-grid .card-copy {

    padding: 0;

}

.recent-grid .card-copy h3 {

    font-size: 15px;

    line-height: 1.4;

}

.recent-grid .card-copy .eyebrow {

    font-size: 8px;

}

.recent-grid .play-icon {

    height: 26px;

    width: 26px;

    left: 7px;

    bottom: 7px;

    font-size: 9px;

}

.recent-grid .card-meta>span {

    display: none;

}

.recent-section .section-heading {

    margin-bottom: 0;

}

.search-panel {

    display: grid;

    grid-template-columns: minmax(0,.75fr) minmax(0,1.5fr);

    gap: 25px;

    align-items: center;

    background: linear-gradient(120deg,#22202a,#17181d);

}

.search-panel h2 {

    font-size: 25px;

    margin: 0;

    line-height: 1.2;

}

.search-panel .category-select {

    flex-basis: 180px !important;

}

@media (max-width:1100px) {
    .collection-grid {

        grid-template-columns: repeat(3,minmax(0,1fr));

    }

    .collection-tile {

        min-height: 145px;

    }

    .video-stage-grid {

        grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);

        gap: 24px;

    }

    .card-episode {

        grid-template-columns: 35% minmax(0,1fr);

        gap: 13px;

    }

    .card-episode .card-copy h3 {

        font-size: 14px;

    }

    .discovery-nav>a {

        padding: 20px 18px;

    }

    .discovery-nav strong {

        font-size: 20px;

    }

    .discovery-description {

        font-size: 10px;

    }

    .recent-grid {

        grid-template-columns: repeat(2,minmax(0,1fr));

    }

    .search-panel {

        grid-template-columns: 1fr;

    }
}

@media (max-width:800px) {
    .featured-layout {

        gap: 24px;

    }

    .video-stage {

        padding: 24px;

        margin-top: 38px;

        scroll-margin-top: 100px;

    }

    .video-stage-grid {

        grid-template-columns: 1fr;

        gap: 26px;

    }

    .video-stage-list {

        max-height: none;

        overflow: visible;

        padding: 0;

    }

    .card-episode {

        grid-template-columns: 32% minmax(0,1fr);

        gap: 18px;

    }

    .card-episode .card-copy h3 {

        font-size: 17px;

    }

    .discovery-nav {

        grid-template-columns: repeat(2,minmax(0,1fr));

        margin-top: 26px;

    }

    .discovery-nav>a:nth-child(3) {

        border-left: 0;

    }

    .discovery-nav>a:nth-child(n/**/+3) {

        border-top: 1px solid var(--line);

    }

    .collection-library {

        padding-top: 40px;

    }

    .collection-tile {

        min-height: 145px;

    }

    .collection-name {

        font-size: 20px;

    }

    .recent-grid>.card {

        grid-template-columns: 76px minmax(0,1fr);

        gap: 12px;

    }
}

@media (max-width:480px) {
    .video-stage {

        padding: 20px 16px;

        border-radius: 12px;

    }

    .video-stage .section-heading h2 {

        font-size: 23px;

    }

    .video-stage .section-heading .text-link {

        max-width: 80px;

        line-height: 1.5;

        text-align: right;

    }

    .card-screen .card-copy h3 {

        font-size: 24px;

    }

    .card-screen .play-icon {

        width: 48px;

        height: 48px;

        font-size: 16px;

        left: 15px;

        bottom: 15px;

    }

    .card-episode .card-copy h3 {

        font-size: 15px;

    }

    .card-episode {

        gap: 13px;

    }

    .collection-grid {

        grid-template-columns: repeat(2,minmax(0,1fr));

        gap: 12px;

    }

    .collection-tile {

        min-height: 142px;

        padding: 18px;

    }

    .collection-name {

        font-size: 19px;

    }

    .collection-library .section-heading h2 {

        font-size: 23px;

    }

    .collection-library .text-link {

        max-width: 70px;

        text-align: right;

        line-height: 1.5;

    }

    .discovery-nav>a {

        padding: 18px 16px;

    }

    .discovery-nav strong {

        font-size: 21px;

    }

    .discovery-description {

        font-size: 10px;

        line-height: 1.5;

        max-width: 130px;

    }

    .recent-grid {

        grid-template-columns: 1fr;

        gap: 0;

    }

    .recent-grid>.card {

        grid-template-columns: 85px minmax(0,1fr);

        padding: 19px 0;

        gap: 16px;

    }

    .recent-grid .card-copy h3 {

        font-size: 16px;

    }

    .search-panel {

        padding: 24px 20px;

        gap: 20px;

    }

    .search-panel .category-select {

        flex-basis: 100% !important;

    }
}

/* 1.8 · archive discovery */

.archive-shortcuts {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin: 0 0 24px;

}

.archive-shortcuts a {

    font-size: 12px;

    padding: 9px 17px;

    border: 1px solid var(--line);

    border-radius: 24px;

    background: #191a20;

}

.archive-shortcuts a:hover,.archive-shortcuts a[aria-current=page] {

    background: var(--red);

    color: white;

    border-color: var(--red);

}

.archive-search {

    background: #191a20;

    border: 1px solid var(--line);

    border-radius: 12px;

    padding: 25px;

    margin-bottom: 30px;

}

.archive-search-label {

    display: flex;

    justify-content: space-between;

    gap: 16px;

    margin-bottom: 17px;

    align-items: center;

}

.archive-search-label strong {

    font-size: 17px;

    letter-spacing: -.02em;

}

.archive-search-label span {

    font-size: 12px;

    color: var(--muted);

}

.archive-search .search-form {

    max-width: none;

}

.sort-select {

    flex: 0 1 170px !important;

}

.sort-select select {

    width: 100%;

    height: 100%;

    min-height: 49px;

    padding: 10px;

    color: var(--text);

    background: #111116;

    border: 1px solid #ffffff30;

    border-radius: 8px;

}

.clear-search {

    display: inline-block;

    margin-top: 15px;

    font-size: 11px;

    color: var(--muted);

    text-decoration: underline;

    text-underline-offset: 3px;

}

.archive-results-heading {

    display: flex;

    justify-content: space-between;

    gap: 16px;

    align-items: center;

    margin-bottom: 24px;

    padding-bottom: 14px;

    border-bottom: 1px solid var(--line);

}

.archive-results-heading p {

    font-size: 12px;

    margin: 0;

}

.archive-results-heading span {

    font-size: 9px;

    letter-spacing: .15em;

    color: var(--muted);

}

.archive-grid {

    row-gap: 38px;

}

.archive-main>.empty {

    padding: 45px 28px;

    text-align: center;

    background: #191a20;

}

.archive-main>.empty h2 {

    font-size: 29px;

}

.pagination .nav-links {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    justify-content: center;

}

.pagination .page-numbers {

    min-width: 42px;

    min-height: 42px;

    text-align: center;

    font-size: 13px;

}

.pagination .prev,.pagination .next {

    padding-left: 18px;

    padding-right: 18px;

}

.pagination .dots {

    border-color: transparent;

}

.archive-heading {

    padding: 38px;

    background: radial-gradient(ellipse at 100% 0%,#622c3e44,transparent 65%),#1a1a21;

}

.archive-heading .eyebrow {

    color: #ff8493;

}

@media (max-width:800px) {
    .archive-search-label {

        align-items: flex-start;

        flex-direction: column;

        gap: 5px;

    }

    .archive-search .search-form>label:first-of-type {

        flex-basis: 100%;

    }

    .archive-search .category-select {

        flex: 1 1 200px !important;

    }

    .sort-select {

        flex: 1 1 160px !important;

    }

    .archive-heading {

        padding: 28px;

    }
}

@media (max-width:480px) {
    .archive-search {

        padding: 20px;

    }

    .archive-search .category-select {

        order: 0;

        flex-basis: 100% !important;

    }

    .archive-search .sort-select {

        flex-basis: 60% !important;

    }

    .archive-search .search-form .button {

        flex: 1;

    }

    .archive-shortcuts {

        gap: 8px;

    }

    .archive-shortcuts a {

        font-size: 11px;

        padding: 8px 13px;

    }

    .archive-results-heading span {

        font-size: 8px;

    }

    .archive-grid {

        row-gap: 28px;

    }

    .archive-heading {

        padding: 24px;

    }

    .archive-main>.empty h2 {

        font-size: 25px;

    }
}

/* 1.9 · long titles, keyboard access and expanded mobile menus */

.card-copy h2,.card-copy h3,.intro h1,.radio-panel h2 {

    overflow-wrap: anywhere;

}

.hero-card .card-copy {

    max-width: 100%;

}

.hero-card h2 {

    max-width: 780px;

}

.radio-panel h2 {

    line-height: 1.25;

}

.collection-tile:focus-visible {

    transform: translateY(-4px);

    outline: 2px solid #ff8493;

    outline-offset: 4px;

}

.card-image:focus-visible {

    outline: 3px solid #ff8493;

    outline-offset: 4px;

}

.site-header .menu li:focus-within>a {

    color: #ff8493;

}

.site-header .menu .sub-menu a {

    min-height: 38px;

}

.skip-link:focus {

    border-radius: 7px;

    box-shadow: 0 4px 24px #0005;

}

.archive-heading h1 {

    line-height: 1.16;

}

.entry-content img {

    height: auto;

}

.entry-content .wp-block-image {

    margin-left: 0;

    margin-right: 0;

}

.entry-content .wp-block-embed {

    margin-left: 0;

    margin-right: 0;

}

.radio-dock {

    padding-bottom: env(safe-area-inset-bottom,0px);

}

body {

    padding-bottom: calc(100px + env(safe-area-inset-bottom,0px));

}

@media (max-width:800px) {
    #primary-nav.is-open {

        max-height: calc(100dvh - 170px);

        overflow-y: auto;

        overscroll-behavior: contain;

        scrollbar-width: thin;

    }

    .site-header .menu>li>a {

        min-height: 44px;

        display: flex;

        align-items: center;

    }

    .site-header .menu .sub-menu a {

        font-size: 12px;

    }

    .hero-card h2 {

        line-height: 1.15;

    }
}

@media (prefers-reduced-motion:reduce) {
    .collection-tile:hover,.collection-tile:focus-visible {

        transform: none;

    }

    .card-image:hover img {

        transform: none;

    }
}

/* 1.10 · on-page video player */

.watch-inline {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    min-height: 38px;

    margin-top: 12px;

    padding: 8px 12px;

    border: 1px solid #ffffff30;

    border-radius: 6px;

    color: var(--text);

    background: #ffffff08;

    font-size: 11px;

    font-weight: 700;

    pointer-events: auto;

}

.watch-inline:hover {

    background: var(--red);

    border-color: var(--red);

    color: white;

}

.hero-card .watch-inline {

    margin-right: 18px;

}

.card-compact .watch-inline {

    font-size: 10px;

    min-height: 30px;

    padding: 5px 9px;

    margin-top: 8px;

}

#video-dialog {

    width: min(1000px,calc(100% - 32px));

    max-height: calc(100dvh - 40px);

    padding: 26px;

    background: #17181e;

    color: var(--text);

    border: 1px solid #ffffff30;

    border-radius: 16px;

    overflow: auto;

}

#video-dialog::backdrop {

    background: #000d;

}

#video-dialog .dialog-heading {

    margin-bottom: 20px;

}

#video-dialog h2 {

    font-size: clamp(20px,2.3vw,29px);

    line-height: 1.25;

    margin-bottom: 0;

    max-width: 800px;

}

.close-video {

    width: 40px;

    height: 40px;

    flex-shrink: 0;

    border-radius: 50%;

    border: 1px solid #ffffff30;

    background: #ffffff08;

    color: white;

    font-size: 18px;

}

#video-dialog-player {

    aspect-ratio: 16/9;

    background: #000;

    border-radius: 8px;

    overflow: hidden;

}

#video-dialog-player iframe {

    width: 100%;

    height: 100%;

    border: 0;

    display: block;

}

.video-dialog-footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding-top: 20px;

}

.video-dialog-footer p {

    font-size: 12px;

    margin: 0;

}

.video-dialog-footer a {

    flex-shrink: 0;

}

@media (max-width:480px) {
    #video-dialog {

        padding: 18px 14px;

        width: calc(100% - 20px);

    }

    #video-dialog .eyebrow {

        font-size: 8px;

    }

    .video-dialog-footer {

        flex-direction: column;

        align-items: flex-start;

        gap: 12px;

    }

    #video-dialog .dialog-heading {

        gap: 12px;

    }

    .close-video {

        width: 36px;

        height: 36px;

    }

    .card-episode .watch-inline {

        font-size: 10px;

        padding: 5px 9px;

        min-height: 32px;

    }
}

/* 1.10.1 · dedicated radio page integration */

body.ilt-radio-page {

    padding-bottom: env(safe-area-inset-bottom,0px);

}

.radio-page-main {

    max-width: 1050px;

    padding-top: 28px;

}

.radio-page-heading {

    margin: 0 0 26px;

}

.radio-page-heading h1 {

    font-size: clamp(29px,4vw,43px);

    line-height: 1.16;

    letter-spacing: -.045em;

}

.radio-page-heading .eyebrow {

    font-size: 9px;

}

.radio-page-content {

    max-width: 960px;

    scroll-margin-top: 165px;

}

.radio-page-content iframe {

    max-width: 100%;

    display: block;

}

.radio-page-content iframe[src*="/public/"] {

    width: 100%;

    border: 0;

}

.radio-page-content details summary {

    line-height: 1.5;

    min-height: 44px;

    display: list-item;

    padding: 8px 0;

}

.radio-page-content details[open] summary {

    color: #ff9aaa;

}

.radio-page-content details p {

    font-size: 15px;

    line-height: 1.8;

}

.radio-page-content a:focus-visible {

    outline: 2px solid #ff9aaa;

    outline-offset: 5px;

}

.radio-page-explore {

    margin: 48px 0 24px;

    padding-top: 30px;

    border-top: 1px solid var(--line);

}

.radio-page-explore h2 {

    font-size: 28px;

}

.radio-page-explore .discovery-nav {

    margin-top: 22px;

}

.ilt-radio-page .reading-progress {

    display: none;

}

@media (max-width:800px) {
    .radio-page-content {

        scroll-margin-top: 100px;

    }

    .radio-page-main {

        padding-top: 22px;

    }
}

@media (max-width:480px) {
    .radio-page-heading h1 {

        font-size: 29px;

    }

    .radio-page-content .entry-content {

        font-size: 16px;

    }

    .radio-page-explore h2 {

        font-size: 25px;

    }
}

/* 1.13 · persistent store access */

.ilt-header-cart {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    min-height: 44px;

    padding: 9px 13px;

    border: 1px solid #ffffff35;

    border-radius: 8px;

    background: #ffffff05;

    color: var(--text);

    font-size: 12px;

    font-weight: 700;

    white-space: nowrap;

}

.ilt-header-cart:hover {

    color: white;

    background: #ffffff0d;

    border-color: #ff8493;

}

.ilt-header-cart svg {

    flex-shrink: 0;

}

.cart-count {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 22px;

    height: 22px;

    border-radius: 20px;

    background: var(--red);

    color: white;

    font-size: 11px;

    padding: 0 6px;

    line-height: 1;

}

.ilt-header-cart:focus-visible {

    outline: 2px solid #ff8493;

    outline-offset: 4px;

}

@media (max-width:800px) {
    .header-actions {

        gap: 9px;

    }

    .ilt-header-cart {

        min-height: 38px;

        padding: 7px 10px;

        gap: 7px;

    }

    .ilt-header-cart .cart-label {

        display: none;

    }

    .ilt-header-cart svg {

        width: 19px;

        height: 19px;

    }

    .cart-count {

        height: 20px;

        min-width: 20px;

        font-size: 10px;

    }
}

@media (max-width:480px) {
    .header-actions .header-search {

        display: none;

    }

    .header-inner {

        gap: 0 9px;

    }

    .ilt-header-cart {

        padding: 7px 8px;

        gap: 6px;

    }

    .header-inner .custom-logo {

        max-width: 125px;

    }
}

/* Audit 1.25.0: narrow screens, long status messages and keyboard fallback */

.header-inner>*,.footer-top>*,.dock-inner>* {

    min-width: 0;

}

.dock-title {

    min-width: 0;

}

.dock-title small {

    overflow-wrap: anywhere;

    line-height: 1.5;

}

.dock-inner>.button,.dock-inner>.radio-external,.dock-inner>.mute-button {

    flex-shrink: 0;

}

.dock-inner {

    padding-top: 10px;

    padding-bottom: 10px;

}

.footer-top .menu a {

    overflow-wrap: anywhere;

}

.intro>div {

    min-width: 0;

}

.intro>.outline-button {

    flex-shrink: 0;

}

.entry-content input[type=password] {

    width: 100%;

    max-width: 100%;

    padding: 12px;

    background: #111116;

    color: white;

    border: 1px solid #ffffff30;

    border-radius: 8px;

}

.entry-content input[type=submit] {

    padding: 12px 18px;

    background: var(--red);

    color: white;

    border: 0;

    border-radius: 8px;

}

.entry-content .wp-block-table {

    max-width: 100%;

    overflow: auto;

}

dialog:not([open]) {

    display: none;

}

.menu-toggle {

    min-height: 44px;

}

.close-video,.close-radio {

    min-width: 44px;

    min-height: 44px;

}

.radio-external {

    min-width: 44px;

    min-height: 44px;

    text-align: center;

}

.watch-inline {

    min-height: 44px;

}

.card-compact .watch-inline,.card-episode .watch-inline {

    min-height: 40px;

}

@media (min-width:801px) {
    .site-header .menu>li:last-child>.sub-menu,.site-header .menu>li:nth-last-child(2)>.sub-menu {

        right: 0;

        left: auto;

    }
}

@media (max-width:800px) {
    .header-actions .ilt-header-cart,.header-search {

        min-height: 44px;

    }

    .dock-inner {

        flex-wrap: wrap;

    }

    .dock-title small {

        max-width: 48vw;

    }

    .topline .container {

        gap: 12px;

    }

    .video-stage-list {

        min-width: 0;

    }
}

@media (max-width:480px) {
    .header-inner .brand span {

        font-size: 22px;

    }

    .header-inner .brand small {

        font-size: 6px;

        letter-spacing: .8px;

    }

    .header-inner .custom-logo {

        max-width: 110px;

    }

    .dock-inner {

        gap: 8px;

    }

    .dock-title {

        flex-basis: 40%;

    }

    .dock-title small {

        max-width: none;

        font-size: 10px;

    }

    .radio-dock .button {

        min-height: 44px;

    }

    .radio-panel {

        grid-template-columns: 65px minmax(0,1fr);

        gap: 0 14px;

    }

    .radio-panel .radio-art {

        width: 64px;

        height: 64px;

    }

    .radio-panel .radio-art b {

        font-size: 16px;

    }

    .radio-panel h2 {

        font-size: 21px;

    }

    .page-heading h1,.archive-heading h1 {

        overflow-wrap: anywhere;

    }

    .search-form .button {

        min-height: 44px;

    }
}

/* 1.14 · customizer design controls */

.custom-logo {

    max-width: var(--ilt-logo-width,185px);

}

.featured-layout.no-radio-panel {

    grid-template-columns: minmax(0,1fr);

}

.no-radio-panel .hero-card .card-copy {

    max-width: 900px;

}

.hero-card,.card-image,.radio-panel,.home-shop,.video-stage,.search-panel {

    border-radius: var(--ilt-radius,12px);

}

@media (max-width:1100px) {
    .container {

        width: min(var(--ilt-site-width,1320px),calc(100% - 48px));

    }
}

@media (max-width:800px) {
    .container {

        width: min(var(--ilt-site-width,1320px),calc(100% - 36px));

    }

    .custom-logo {

        max-width: min(var(--ilt-logo-width,185px),145px);

    }
}

@media (max-width:480px) {
    .header-inner .custom-logo {

        max-width: min(var(--ilt-logo-width,185px),110px);

    }
}

.ilt-discovery-title {

    font-size: 1.1rem;

    margin: 24px 0 10px;

}

/* 1.21 — Editorial article layout */

.editorial-main {

    max-width: 1040px;

    padding-top: 36px;

}

.editorial-main>article>.breadcrumbs {

    max-width: 900px;

    margin-bottom: 30px;

}

.editorial-main .article-header {

    max-width: 900px;

    margin-bottom: 30px;

}

.article-kicker {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 12px;

    margin-bottom: 22px;

    font-size: 11px;

    letter-spacing: 1.7px;

    font-weight: 800;

}

.article-kicker>span {

    color: var(--muted);

}

.article-kicker a {

    color: var(--text);

    padding: 5px 12px;

    border: 1px solid var(--line);

    border-left: 3px solid var(--red);

    border-radius: 3px;

    letter-spacing: .8px;

}

.editorial-main .article-header h1 {

    font-size: clamp(31px,4.5vw,58px);

    line-height: 1.1;

    letter-spacing: -.045em;

    text-wrap: balance;

    overflow-wrap: anywhere;

    margin-bottom: 24px;

}

.editorial-main .article-deck {

    font-size: clamp(18px,2vw,22px);

    line-height: 1.6;

    color: #c6c4cc;

    max-width: 800px;

    margin-bottom: 28px;

}

.article-byline {

    display: flex;

    justify-content: space-between;

    align-items: center;

    flex-wrap: wrap;

    gap: 18px;

    border-top: 1px solid var(--line);

    padding-top: 22px;

}

.article-author {

    display: flex;

    align-items: center;

    gap: 12px;

}

.article-author strong {

    display: block;

    font-size: 13px;

    font-weight: 600;

}

.article-meta-label {

    display: block;

    font-size: 10px;

    color: var(--muted);

    letter-spacing: 1px;

    text-transform: uppercase;

    margin-bottom: 4px;

}

.article-author-mark {

    display: grid;

    place-content: center;

    width: 42px;

    height: 42px;

    border: 1px solid var(--line);

    border-radius: 50%;

    font-size: 11px;

    font-weight: 900;

    line-height: 1.05;

    text-align: center;

    color: var(--text);

}

.article-author-mark>span {

    color: var(--red);

}

.editorial-main .article-cover {

    margin: 0 0 42px;

}

.editorial-main .article-cover img {

    display: block;

    width: 100%;

    height: auto;

    max-height: 720px;

    object-fit: contain;

    border-radius: 12px;

    background: #151519;

}

.editorial-main .article-cover figcaption {

    max-width: 780px;

    margin: 12px auto 0;

    padding-left: 14px;

    border-left: 2px solid var(--red);

    color: var(--muted);

    font-size: 12px;

    line-height: 1.6;

}

.editorial-main .entry-content {

    max-width: 720px;

    font-size: 19px;

    line-height: 1.85;

}

.editorial-main .entry-content p {

    font-size: inherit;

    line-height: inherit;

    margin-bottom: 1.4em;

    color: #dedce3;

}

.editorial-main .entry-content>p:first-child {

    font-size: 1.1em;

    color: var(--text);

}

.editorial-main .entry-content h2,.editorial-main .entry-content h3 {

    margin-top: 1.5em;

    margin-bottom: .7em;

    letter-spacing: -.025em;

}

.editorial-main .entry-content a {

    text-decoration-thickness: 1px;

    text-underline-offset: 4px;

}

.editorial-main .entry-content blockquote {

    border-left: 3px solid var(--red);

    padding: 20px 24px;

    background: var(--panel);

    border-radius: 0 10px 10px 0;

}

.editorial-main .entry-content blockquote p:last-child {

    margin-bottom: 0;

}

.editorial-main .entry-content figure {

    max-width: 100%;

}

.editorial-main .entry-content img {

    border-radius: 8px;

}

.editorial-main .article-end {

    max-width: 720px;

    margin: 36px auto 0;

}

.editorial-main .share-row {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    padding-top: 24px;

    margin-bottom: 20px;

}

.share-heading {

    flex-basis: 100%;

    margin-bottom: 4px;

}

.share-heading .eyebrow {

    display: block;

    margin-bottom: 6px;

}

.share-heading p {

    font-size: 13px;

    margin-bottom: 8px;

}

.editorial-main .post-taxonomies {

    border-top: 1px solid var(--line);

    padding-top: 20px;

}

.editorial-main .post-taxonomies>a {

    padding: 5px 12px;

    margin: 5px 6px 5px 0;

    border: 1px solid var(--line);

    border-radius: 30px;

    text-decoration: none;

    color: var(--text);

    font-size: 12px;

}

.editorial-main .article-radio,.editorial-main .post-navigation,.editorial-main .comments-area {

    max-width: 720px;

}

.editorial-main .comments-area {

    margin-top: 42px;

    padding-top: 28px;

    border-top: 1px solid var(--line);

}

.editorial-main .post-navigation .nav-links>div {

    padding: 22px;

}

.editorial-main .related-section {

    margin-top: 46px;

    padding-top: 30px;

    border-top: 1px solid var(--line);

}

@media (max-width:600px) {
    .editorial-main {

        padding-top: 24px;

    }

    .editorial-main .article-header h1 {

        text-wrap: wrap;

        font-size: 34px;

        line-height: 1.13;

    }

    .article-kicker {

        font-size: 10px;

        margin-bottom: 18px;

    }

    .article-byline {

        gap: 16px;

        align-items: flex-start;

        flex-direction: column;

    }

    .editorial-main .article-meta {

        display: flex;

        gap: 8px 14px;

        flex-wrap: wrap;

    }

    .editorial-main .reading-time {

        margin: 0;

        padding: 0;

        border: 0;

    }

    .editorial-main .article-cover {

        margin-bottom: 28px;

    }

    .editorial-main .entry-content {

        font-size: 17px;

        line-height: 1.8;

    }

    .editorial-main .article-cover figcaption {

        font-size: 11px;

    }

    .editorial-main .share-row .outline-button {

        width: auto;

        flex: 1;

        min-width: 120px;

    }

    .editorial-main .article-deck {

        font-size: 18px;

    }

    .editorial-main .entry-content blockquote {

        padding: 18px;

    }

    .editorial-main .entry-content blockquote p {

        font-size: 18px;

    }
}

/* 1.22 — Magazine discovery and reading continuity */

.editorial-main {

    max-width: 1160px;

}

.editorial-main .article-header,.editorial-main>article>.breadcrumbs {

    max-width: 960px;

}

.editorial-main .article-cover {

    position: relative;

    padding-bottom: 22px;

    border-bottom: 1px solid var(--line);

}

.article-reading-layout.has-discovery-rail {

    display: grid;

    grid-template-columns: minmax(0,720px) minmax(230px,280px);

    gap: clamp(28px,4vw,64px);

    justify-content: center;

    align-items: start;

}

.article-reading-layout>.entry-content {

    width: 100%;

    min-width: 0;

}

.article-discovery-rail {

    min-width: 0;

    align-self: stretch;

}

.article-rail-inner {

    position: sticky;

    top: 180px;

    padding: 24px 0 0;

    border-top: 3px solid var(--red);

}

.article-rail-inner .eyebrow {

    font-size: 9px;

    letter-spacing: 1.8px;

    margin-bottom: 10px;

}

.article-rail-inner h2 {

    font-size: 24px;

    line-height: 1.2;

    margin-bottom: 22px;

}

.article-rail-inner ol {

    list-style: none;

    padding: 0;

    margin: 0;

}

.article-rail-inner li {

    border-top: 1px solid var(--line);

    padding: 18px 0;

}

.article-rail-inner li>a {

    display: grid;

    grid-template-columns: 26px minmax(0,1fr);

    gap: 12px;

}

.rail-number {

    font-size: 13px;

    font-weight: 700;

    color: var(--red);

}

.article-rail-inner strong {

    font-size: 15px;

    line-height: 1.45;

    letter-spacing: -.01em;

    display: block;

    overflow-wrap: anywhere;

}

.article-rail-inner time {

    display: block;

    font-size: 10px;

    color: var(--muted);

    margin-top: 9px;

}

.rail-explore-link {

    display: block;

    border-top: 1px solid var(--line);

    padding-top: 18px;

    font-size: 12px;

    font-weight: bold;

}

.editorial-more {

    background: linear-gradient(150deg,#ffffff05,transparent);

    padding: 30px;

    border: 1px solid var(--line);

    border-radius: 16px;

}

.editorial-more .related-grid {

    grid-template-columns: repeat(3,minmax(0,1fr));

    gap: 26px;

}

.editorial-more .card-image {

    border-radius: 10px;

    aspect-ratio: 16/10;

}

.editorial-more .card-copy h3 {

    font-size: 20px;

    line-height: 1.35;

    letter-spacing: -.02em;

}

.editorial-more .card-copy {

    padding-top: 16px;

}

.editorial-more .section-heading h2 {

    font-size: 32px;

}

.editorial-more .card:hover .card-copy h3 {

    color: var(--red);

}

.article-rail-inner a:focus-visible,.editorial-more a:focus-visible {

    outline: 2px solid var(--red);

    outline-offset: 5px;

}

@media (max-width:960px) {
    .article-reading-layout.has-discovery-rail {

        grid-template-columns: minmax(0,1fr);

        gap: 30px;

    }

    .article-discovery-rail {

        width: 100%;

        max-width: 720px;

        margin: auto;

    }

    .article-rail-inner {

        position: static;

        padding: 24px;

        background: var(--panel);

        border-radius: 12px;

    }

    .article-rail-inner ol {

        display: grid;

        grid-template-columns: repeat(3,minmax(0,1fr));

        gap: 18px;

    }

    .article-rail-inner li>a {

        grid-template-columns: 1fr;

        gap: 8px;

    }

    .article-rail-inner strong {

        font-size: 14px;

    }

    .editorial-more {

        padding: 24px;

    }

    .editorial-more .related-grid {

        gap: 18px;

    }
}

@media (max-width:600px) {
    .article-rail-inner {

        padding: 20px;

    }

    .article-rail-inner ol {

        display: block;

    }

    .article-rail-inner li>a {

        grid-template-columns: 25px minmax(0,1fr);

        gap: 12px;

    }

    .article-rail-inner h2 {

        font-size: 25px;

        margin-bottom: 12px;

    }

    .editorial-more {

        padding: 22px 16px;

    }

    .editorial-more .section-heading {

        align-items: flex-start;

        flex-direction: column;

        gap: 12px;

    }

    .editorial-more .section-heading h2 {

        font-size: 27px;

    }

    .editorial-more .related-grid {

        grid-template-columns: minmax(0,1fr);

        gap: 26px;

    }

    .editorial-more .card-copy h3 {

        font-size: 21px;

    }
}

@media (prefers-reduced-motion:reduce) {
    .editorial-more .card-image img {

        transition: none;

    }
}

/* 1.23 — Reader preferences and article navigation */

.article-reading-tools {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 16px;

    flex-wrap: wrap;

    max-width: 720px;

    margin: 0 0 24px;

    padding: 14px 16px;

    background: var(--panel);

    border: 1px solid var(--line);

    border-radius: 10px;

}

.reading-tools-label {

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .4px;

}

.article-reading-tools [role=group] {

    display: flex;

    flex-wrap: wrap;

    gap: 6px;

}

.article-reading-tools button {

    min-height: 44px;

    padding: 8px 12px;

    background: transparent;

    color: var(--text);

    border: 1px solid var(--line);

    border-radius: 7px;

    font-size: 12px;

}

.article-reading-tools button[aria-pressed=true] {

    background: var(--text);

    color: var(--bg);

    border-color: var(--text);

}

.article-reading-tools button:focus-visible,.article-contents a:focus-visible {

    outline: 2px solid var(--red);

    outline-offset: 4px;

}

.article-contents {

    max-width: 720px;

    margin: 0 0 30px;

    border: 1px solid var(--line);

    border-radius: 10px;

    background: #ffffff03;

    padding: 0 20px;

}

.article-contents summary {

    cursor: pointer;

    padding: 16px 0;

    font-weight: 700;

    font-size: 14px;

    min-height: 48px;

}

.article-contents ol {

    margin: 0 0 20px;

    padding-left: 22px;

}

.article-contents li {

    padding: 5px 0;

    font-size: 14px;

    line-height: 1.55;

}

.article-contents a {

    text-decoration: underline;

    text-underline-offset: 4px;

}

.editorial-article[data-reading-size=large] .entry-content {

    font-size: 21px;

}

.editorial-article[data-reading-size=larger] .entry-content {

    font-size: 24px;

}

.editorial-article[data-reading-size=large] .entry-content p,.editorial-article[data-reading-size=larger] .entry-content p {

    font-size: inherit;

}

.editorial-article .entry-content h2,.editorial-article .entry-content h3 {

    scroll-margin-top: 180px;

}

@media (max-width:600px) {
    .article-reading-tools {

        align-items: flex-start;

        gap: 10px;

        padding: 14px;

    }

    .article-reading-tools [role=group] {

        width: 100%;

    }

    .article-reading-tools button {

        flex: 1;

        padding: 8px;

    }

    .editorial-article[data-reading-size=large] .entry-content {

        font-size: 19px;

    }

    .editorial-article[data-reading-size=larger] .entry-content {

        font-size: 22px;

    }

    .article-contents {

        padding: 0 16px;

    }
}

@media (prefers-reduced-motion:reduce) {
    html {

        scroll-behavior: auto;

    }
}

/* WordPress content and assistive text utilities. */

.screen-reader-text {

    border: 0;

    clip: rect(1px,1px,1px,1px);

    clip-path: inset(50%);

    height: 1px;

    margin: -1px;

    overflow: hidden;

    padding: 0;

    position: absolute !important;

    width: 1px;

    white-space: nowrap;

}

.screen-reader-text:focus {

    clip: auto !important;

    clip-path: none;

    height: auto;

    width: auto;

    background: #fff;

    color: #111;

    padding: 12px;

    left: 12px;

    top: 12px;

    z-index: 100000;

}

.entry-content::after {

    content: "";

    display: table;

    clear: both;

}

.entry-content .alignleft {

    float: left;

    margin: 0 24px 20px 0;

    max-width: 50%;

}

.entry-content .alignright {

    float: right;

    margin: 0 0 20px 24px;

    max-width: 50%;

}

.entry-content .aligncenter {

    display: block;

    margin-left: auto;

    margin-right: auto;

}

.comment-list .bypostauthor>.comment-body {

    border-left: 3px solid var(--red);

    padding-left: 18px;

}

@media (max-width:480px) {
    .entry-content .alignleft,.entry-content .alignright {

        float: none;

        max-width: 100%;

        margin: 20px auto;

    }
}
