/* Homepage editorial notes, discovery carousel and calendar controls. */
.home-living{padding-top:10px;padding-bottom:76px}
.home-editorial-opening{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:54px;padding-block:38px 40px;border-top:1px solid var(--line)}
.home-desk .eyebrow{margin-bottom:12px}
.home-desk h2{font-size:clamp(33px,3.3vw,45px);margin-bottom:20px}
.home-desk-note{max-width:670px;font-size:17px;line-height:1.85;margin-bottom:17px;white-space:pre-line}
.home-desk-signature{display:inline-block;font-family:Georgia,'Times New Roman',serif;font-size:21px;font-style:italic;color:var(--gold);border-top:1px solid var(--gold);padding-top:10px}
.home-reviews{padding-left:32px;border-left:1px solid var(--line)}
.home-reviews h3{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:400;margin-bottom:10px}
.home-module-caption{display:block;font-size:12px;line-height:1.65;color:var(--muted);margin:0}
.home-review-list,.home-release-list{list-style:none;padding:0;margin:17px 0 0}
.home-review-list li{padding:12px 0;border-bottom:1px solid var(--line)}
.home-review-list li:last-child{border-bottom:0}
.home-review-list a{font-size:14px;font-weight:600;line-height:1.5;display:block}
.home-review-list li>span{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:5px}
.home-review-list time{white-space:nowrap;font-variant-numeric:tabular-nums}
.home-weekly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.home-weekly-card{min-width:0;padding:28px;background:var(--soft);border-right:1px solid var(--line)}
.home-weekly-card:last-child{border-right:0}
.home-weekly-card .eyebrow,.home-radar-calendar .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:15px}
.home-weekly-card h3{font-size:22px;line-height:1.35;margin-bottom:14px}
.home-weekly-card p:not(.eyebrow){font-size:14px;line-height:1.75;margin-bottom:18px}
.home-weekly-card a,.home-radar-calendar a{overflow-wrap:anywhere}
.home-release-card{background:var(--bg)}
.home-release-list{margin:0}
.home-release-list li+li{padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}
.home-release-list a{display:block;font-size:14px;font-weight:600;line-height:1.55}
.home-release-list li p{font-size:13px!important;color:var(--muted);margin:6px 0 0!important}
.home-inline-links{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:start}
.home-inline-links a{font-size:12px;font-weight:600;line-height:1.6;text-decoration:underline;text-underline-offset:4px;padding-block:7px}
.home-radar-calendar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.home-radar,.home-next-date{padding:30px;min-width:0}
.home-radar{background:var(--navy);color:#f5f7fa}
.home-radar .eyebrow,.home-radar .text-link{color:#e8cb96}
.home-radar .text-link{font-size:13px;gap:8px}
.home-radar .home-module-caption{color:#c0ccd8}
.home-radar-calendar h3{font-size:23px;line-height:1.35;margin-bottom:14px}
.home-radar-calendar p:not(.eyebrow):not(.home-module-caption){font-size:14px;line-height:1.75;margin-bottom:16px}
.home-radar-calendar .home-module-caption{margin-top:16px}
.home-next-date-label{display:block;font-family:Georgia,'Times New Roman',serif;font-size:28px;color:var(--gold);line-height:1.2;margin-bottom:12px}
.home-next-date h3{font-size:20px}
.home-editorial-admin{margin-top:18px}

@media (min-width:701px) and (max-width:980px){
 .home-editorial-opening{gap:28px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
 .home-reviews{padding-left:22px}
 .home-weekly-card{padding:22px}
 .home-weekly-card h3{font-size:20px}
}
@media (max-width:700px){
 .home-living{padding-top:0;padding-bottom:48px}
 .home-editorial-opening{grid-template-columns:1fr;gap:28px;padding-block:26px 28px}
 .home-desk-note{font-size:16px;line-height:1.8}
 .home-reviews{padding:23px 0 0;border-left:0;border-top:1px solid var(--line)}
 .home-review-list{margin-top:10px}
 .home-weekly-grid,.home-radar-calendar{grid-template-columns:1fr}
 .home-weekly-card{padding:24px;border-right:0;border-bottom:1px solid var(--line)}
 .home-weekly-card:last-child{border-bottom:0}
 .home-weekly-card h3{font-size:21px}
 .home-radar,.home-next-date{padding:25px}
 .home-inline-links a{min-height:44px;display:inline-flex;align-items:center}
 .home-radar .text-link{min-height:44px}
}
@media print{
 .home-living{padding-block:25px}
 .home-weekly-card,.home-radar-calendar>article,.home-editorial-opening>article{break-inside:avoid}
 .home-radar{background:#fff;color:#152d44}
 .home-radar .home-module-caption{color:#586b7c}
}

.home-carousel{--carousel-columns:3;--carousel-gap:22px;position:relative;min-width:0}
.home-carousel-viewport{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;-ms-overflow-style:none;overflow-anchor:none;padding:4px 3px 6px;margin-inline:-3px}
.home-carousel-viewport::-webkit-scrollbar{display:none;width:0;height:0}
.home-carousel-viewport:focus-visible{outline:3px solid var(--gold);outline-offset:5px;border-radius:var(--radius)}
.home-carousel-track{display:flex;gap:var(--carousel-gap);align-items:stretch;overflow-anchor:none}
.home-insight-card{flex:0 0 calc((100% - (var(--carousel-columns) - 1)*var(--carousel-gap))/var(--carousel-columns));min-width:0;min-height:310px;display:flex;flex-direction:column}
.home-insight-card h3{font-size:clamp(22px,2.1vw,27px);overflow-wrap:anywhere}
.home-insight-card h3 a{display:inline;text-decoration-thickness:1px;text-underline-offset:5px}
.home-insight-card p{margin-bottom:0}
.home-insight-card .home-insight-date{margin-top:auto;padding-top:18px;color:var(--muted);font-size:12px}
.home-carousel-help{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;border-top:1px solid var(--line);padding-top:18px}
.home-carousel-status{margin:0;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.home-carousel-buttons{display:flex;gap:9px;align-items:center}
.home-carousel-button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);display:grid;place-items:center;line-height:1}
.home-carousel-button{font-size:22px}
.home-carousel-button:hover{border-color:var(--gold);color:var(--gold)}

.calendar-page{padding-bottom:70px}
.calendar-view-controls{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:30px 0 18px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}
.calendar-period-field{display:grid;gap:7px;min-width:min(100%,290px)}
.calendar-period-field label{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--ink)}
.calendar-period-field select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);padding:10px 42px 10px 13px}
.calendar-result-count{color:var(--muted);font-size:13px;padding-bottom:11px;white-space:nowrap}
.calendar-filters{margin:0 0 12px;padding-block:8px}
.calendar-filters .filter-chip{min-height:40px}
.calendar-list{border-top:1px solid var(--line)}
.calendar-row{grid-template-columns:104px minmax(0,1fr);gap:30px;padding:30px 18px;border-bottom:1px solid var(--line);border-inline:3px solid transparent}
.calendar-row.past{opacity:1;background:color-mix(in srgb,var(--soft) 72%,transparent);border-left-color:var(--line)}
.calendar-row h2{color:var(--ink)}
.calendar-copy{min-width:0}
.calendar-past-label{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border:1px solid var(--line);border-radius:20px;background:var(--bg);color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.calendar-status{margin-left:auto}
.calendar-audience{color:var(--muted);font-size:12px!important;margin-top:8px!important}
.calendar-row .button-row{margin-top:17px}
.calendar-empty{margin-top:24px}

:root[data-theme=dark] .calendar-row.past{background:color-mix(in srgb,var(--soft) 52%,var(--bg))}
:root[data-theme=dark] .calendar-past-label{border-color:#526a80;background:var(--soft);color:var(--ink)}
:root[data-theme=dark] .calendar-filters .filter-chip[aria-pressed=true]{border-color:var(--gold);background:var(--gold);color:#10253d}

@media (min-width:701px) and (max-width:980px){
 .home-carousel{--carousel-columns:2}
 .home-insight-card{min-height:300px}
}

@media (max-width:700px){
 .home-carousel{--carousel-columns:1;--carousel-gap:14px}
 .home-carousel-viewport{padding-bottom:6px}
 .home-insight-card{min-height:280px;padding:24px}
 .home-carousel-controls{align-items:flex-start;gap:12px}
 .home-carousel-buttons{gap:7px}
 .calendar-page{padding-bottom:52px}
 .calendar-view-controls{display:grid;gap:10px;padding:17px;margin-top:24px}
 .calendar-period-field{min-width:0;width:100%}
 .calendar-result-count{padding:0}
 .calendar-filters{flex-wrap:nowrap;overflow-x:auto;padding:5px 1px 12px;scrollbar-width:thin}
 .calendar-filters .filter-chip{flex:0 0 auto;white-space:nowrap}
 .calendar-row{grid-template-columns:58px minmax(0,1fr);gap:13px;padding:24px 8px}
 .calendar-date{font-size:26px}
 .calendar-labels{align-items:flex-start}
 .calendar-status{width:100%;margin-left:0}
 .calendar-row .button-row{display:grid;justify-items:start;gap:13px}
}

@media (max-width:420px){
 .home-carousel-controls{display:grid}
 .home-carousel-buttons{width:100%}
 .calendar-row{grid-template-columns:52px minmax(0,1fr);gap:11px;padding-inline:4px}
}

@media (prefers-reduced-motion:reduce){
 .home-carousel-viewport{scroll-behavior:auto}
}

@media print{
 .home-carousel-viewport{overflow:visible}
 .home-carousel-track{display:grid;grid-template-columns:repeat(3,1fr)}
 .home-insight-card{min-height:0}
 .home-carousel-controls{display:none}
}
