.portal-opening { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 35px; align-items: start; }
.portal-headline { padding-bottom: 23px; border-bottom: 1px solid var(--line); margin-bottom: 24px; }
.portal-headline h1 { font-size: clamp(31px,3.25vw,43px); font-weight: 900; line-height: 1.06; letter-spacing: -.045em; margin-top: 8px; }
.portal-headline a:hover h1 { color: var(--orange-ink); }
.portal-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 22px; }
.portal-card .photo { aspect-ratio: 1.75; border-radius: 5px; }
.portal-card h3 { font-size: 17px; font-weight: 600; line-height: 1.28; letter-spacing: -.02em; margin-top: 5px; }
.portal-card .card-summary, .portal-card .card-time { display: none; }
.portal-card .eyebrow { font-size: 8px; margin-top: 9px; }
.portal-card .sample-tag { display: block; margin-left: 0; font-size: 8px; }
.portal-card .photo-note { font-size: 7px; right: 4px; bottom: 4px; }
.portal-local-column { border-left: 1px solid var(--line); padding-left: 29px; min-width: 0; }
.editorial-carousel { position: relative; height: 300px; overflow: hidden; background: #334e38; border-radius: 6px; isolation: isolate; }
.carousel-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: translateX(15px); transition: opacity 600ms var(--ease), transform 600ms var(--ease), visibility 600ms; pointer-events: none; }
.carousel-slide.is-current { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.carousel-slide > a { display: block; height: 100%; }
.carousel-slide .photo { height: 100%; width: 100%; aspect-ratio: auto; }
.carousel-slide .photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,#00000008 35%,#000000a8 68%,#000000e8); }
.carousel-slide .photo-note { top: 10px; left: 12px; bottom: auto; right: auto; background: #000000a8; font-size: 7px; z-index: 2; }
.carousel-caption { position: absolute; left: 21px; right: 20px; bottom: 32px; color: white; z-index: 2; }
.carousel-caption > span { display: inline-block; color: #ffe3c8; font-size: 8px; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 8px; }
.carousel-caption h3 { font-size: 24px; line-height: 1.12; letter-spacing: -.03em; }
.carousel-arrows { position: absolute; top: 42%; left: 14px; right: 14px; display: flex; justify-content: space-between; pointer-events: none; z-index: 3; }
.carousel-arrows button, .carousel-pause { width: 34px; height: 34px; background: #fffffff0; color: #252b26; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 23px; pointer-events: auto; transition: background 160ms, transform 160ms; }
.carousel-arrows button:hover, .carousel-pause:hover { background: white; transform: scale(1.05); }
.carousel-pause { position: absolute; top: 10px; right: 12px; z-index: 4; font-size: 11px; width: 29px; height: 29px; }
.carousel-count { position: absolute; z-index: 3; bottom: 12px; right: 18px; font-size: 8px; color: white; }
.carousel-progress { position: absolute; bottom: 0; left: 0; right: 0; height: 3px; z-index: 3; background: #ffffff40; }
.carousel-progress > span { display: block; height: 100%; width: 100%; background: var(--orange); transform: scaleX(0); transform-origin: left; }
.portal-secondary-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-top: 25px; }
.home-local { margin-top: 29px; }
.home-local > .eyebrow { font-size: 8px; color: var(--muted); margin-bottom: 8px; }
.home-local .section-head { border-top: 0; padding-top: 0; margin-bottom: 21px; }
.home-local .section-head::before { display: none; }
.home-local .section-head h2 { font-size: 33px; }
.home-local .section-head > a { font-size: 9px; }
.home-local-row { margin-block: 16px; }
.home-local-row .card-link { display: grid; grid-template-columns: 116px minmax(0,1fr); gap: 0 14px; }
.home-local-row .photo { grid-column: 1; grid-row: 1/4; aspect-ratio: 1.35; border-radius: 4px; }
.home-local-row .eyebrow { grid-column: 2; font-size: 8px; margin-top: 0; }
.home-local-row h3 { grid-column: 2; font-size: 17px; line-height: 1.26; margin-top: 5px; font-weight: 600; }
.home-local-row .card-summary, .home-local-row .card-time { display: none; }
.home-local-row .sample-tag { font-size: 7px; }
.home-local-row .photo-note { font-size: 6px; }
.home-local > .outline-button { font-size: 10px; margin-top: 7px; }
.columnists-section { margin-top: 35px; }
.columnists-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.column-card { display: flex; align-items: center; gap: 14px; }
.column-avatar { width: 77px; height: 105px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font: 900 48px var(--headline); color: #a23e08; background: #fff0e2; border: 1px solid #efdfd0; border-radius: 5px; }
.column-card:nth-child(2) .column-avatar { color: #314c32; background: #edf2e9; border-color: #dce4d5; }
.column-card small { font-size: 8px; color: var(--muted); }
.column-card h3 { font-size: 18px; margin-block: 4px 9px; color: var(--orange-ink); }
.column-card a { font-size: 12px; line-height: 1.55; display: block; }
.column-card a:hover { text-decoration: underline; }
.visual-v2 .horizontal-ad .ad-slot--wide { width: 100%; }
.home-topic-section { margin-top: 36px; }
.home-topic-section .section-head h2, .home-recent-section .section-head h2 { font-size: 31px; }
.home-topic-section .highlight, .home-recent-section .highlight { border: 0; padding: 0; }
.home-topic-section .highlight .photo, .home-recent-section .highlight .photo { aspect-ratio: 1.75; border-radius: 5px; }
.home-topic-section .highlight h3, .home-recent-section .highlight h3 { font-size: 17px; font-weight: 600; line-height: 1.28; }
.discovery-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 36px; margin-top: 43px; align-items: start; }
.ranking-panel ol { margin-bottom: 0; }
.ranking-panel li { gap: 18px; min-height: 134px; align-items: start; }
.ranking-thumb { position: relative; width: 151px; flex-shrink: 0; }
.ranking-thumb .photo { aspect-ratio: 1.55; border-radius: 4px; }
.ranking-thumb .photo-note { font-size: 6px; }
.ranking-badge { position: absolute; left: 0; top: 0; height: 35px; width: 35px; border-radius: 4px 0 22px 0; background: var(--orange); color: #21180f; font: 800 20px/35px var(--headline); text-align: center; }
.ranking-panel h3 { font-size: 18px; line-height: 1.3; font-weight: 600; }
.discovery-panel { border-left: 1px solid var(--line); padding-left: 29px; min-width: 0; }
.discovery-panel .editorial-carousel { height: 292px; }
.recommendations { margin-top: 25px; }
.recommendations-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.recommendation-card .photo { aspect-ratio: 1.3; border-radius: 4px; }
.recommendation-card .eyebrow { font-size: 7px; margin-top: 7px; }
.recommendation-card .sample-tag { display: block; margin-left: 0; font-size: 7px; }
.recommendation-card h3 { font-size: 13px; font-weight: 600; line-height: 1.3; margin-top: 4px; }
.recommendation-card .card-summary, .recommendation-card .card-time { display: none; }
.recommendation-card .photo-note { font-size: 5px; padding: 1px 3px; }
.discovery-panel > .ad-slot { margin-top: 26px; width: 100%; }
.home-recent-section { margin-top: 45px; }
.editorial-commercial-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 32px; }
.editorial-commercial-layout .editorial-grid { gap: 28px 24px; }
@keyframes editorialProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: no-preference) {
  .portal-headline { animation: identityEnter 600ms 120ms var(--ease) both; }
  .portal-news-grid { animation: identityEnter 700ms 220ms var(--ease) both; }
  .editorial-carousel { animation: identityEnter 650ms 150ms var(--ease) both; }
  .enhanced .carousel-progress > span { animation: editorialProgress 7.5s linear both; animation-play-state: paused; }
  .enhanced .editorial-carousel.is-playing .carousel-progress > span { animation-play-state: running; }
  .enhanced .editorial-carousel.is-playing .carousel-slide.is-current img { animation: localPhoto 14s ease-in-out infinite; }
}
@media (max-width: 1100px) {
  .portal-opening { gap: 26px; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); }
  .portal-local-column { padding-left: 20px; }
  .portal-news-grid { gap: 25px 17px; }
  .portal-card h3 { font-size: 16px; }
  .editorial-carousel { height: 270px; }
  .carousel-caption h3 { font-size: 21px; }
  .home-local-row .card-link { grid-template-columns: 95px minmax(0,1fr); gap: 0 12px; }
  .home-local-row h3 { font-size: 16px; }
  .column-card { gap: 10px; }
  .column-avatar { width: 61px; height: 90px; font-size: 40px; }
  .column-card h3 { font-size: 16px; }
  .column-card a { font-size: 11px; }
  .discovery-layout { gap: 26px; }
  .ranking-thumb { width: 125px; }
  .ranking-panel li { min-height: 130px; }
  .discovery-panel { padding-left: 21px; }
  .editorial-commercial-layout .editorial-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .portal-opening { grid-template-columns: minmax(0,1fr); }
  .portal-local-column { padding-left: 0; border-left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 23px; }
  .portal-local-column > .editorial-carousel { grid-column: 1; }
  .portal-secondary-grid { grid-column: 2; margin-top: 0; gap: 18px; }
  .portal-secondary-grid .portal-card .photo { aspect-ratio: 1.05; }
  .home-local { grid-column: 1/-1; margin-top: 3px; }
  .home-local > div:not(.section-head) { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
  .portal-news-grid { gap: 27px 22px; }
  .portal-card h3 { font-size: 19px; }
  .column-card h3 { font-size: 20px; }
  .column-card a { font-size: 13px; }
  .discovery-layout { grid-template-columns: 1fr 1.1fr; gap: 25px; }
  .ranking-thumb { width: 100px; }
  .ranking-panel li { gap: 13px; min-height: 130px; }
  .ranking-panel h3 { font-size: 16px; }
  .recommendations-grid { grid-template-columns: 1fr 1fr; gap: 23px 16px; }
  .recommendation-card h3 { font-size: 15px; }
  .editorial-commercial-layout { display: flex; flex-direction: column; }
  .editorial-commercial-layout > aside { background: var(--wash); padding-block: 18px; }
  .editorial-commercial-layout > aside .ad-slot { margin-inline: auto; }
  .home-topic-section .five-highlights, .home-recent-section .five-highlights { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .portal-headline { margin-bottom: 21px; padding-bottom: 20px; }
  .portal-headline h1 { font-size: 36px; }
  .portal-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 17px; }
  .portal-card h3 { font-size: 18px; }
  .portal-news-grid .portal-card:last-child { grid-column: 1/-1; }
  .portal-news-grid .portal-card:last-child .card-link { display: grid; grid-template-columns: 115px minmax(0,1fr); column-gap: 15px; }
  .portal-news-grid .portal-card:last-child .photo { grid-row: 1/3; aspect-ratio: 1.3; }
  .portal-news-grid .portal-card:last-child .eyebrow { margin-top: 0; }
  .portal-local-column { display: block; }
  .editorial-carousel { height: 280px; }
  .carousel-caption h3 { font-size: 23px; }
  .portal-secondary-grid { margin-top: 23px; }
  .portal-secondary-grid .portal-card .photo { aspect-ratio: 1.5; }
  .home-local { margin-top: 28px; }
  .home-local > div:not(.section-head) { display: block; }
  .home-local-row .card-link { grid-template-columns: 112px minmax(0,1fr); gap: 0 15px; }
  .home-local-row h3 { font-size: 19px; }
  .columnists-section { margin-top: 31px; }
  .columnists-grid { grid-template-columns: 1fr; gap: 22px; }
  .column-avatar { width: 81px; height: 95px; }
  .column-card h3 { font-size: 21px; }
  .column-card a { font-size: 14px; }
  .home-topic-section .five-highlights, .home-recent-section .five-highlights { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-topic-section .highlight:last-child, .home-recent-section .highlight:last-child { border-top: 1px solid var(--line); padding-top: 18px; }
  .home-topic-section .section-head h2, .home-recent-section .section-head h2 { font-size: 27px; }
  .discovery-layout { display: flex; flex-direction: column; gap: 30px; margin-top: 36px; }
  .ranking-panel, .discovery-panel { width: 100%; }
  .discovery-panel { padding-left: 0; border: 0; }
  .ranking-thumb { width: 118px; }
  .ranking-panel li { min-height: 0; padding-block: 16px; }
  .ranking-panel h3 { font-size: 19px; }
  .recommendations-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 18px; }
  .recommendation-card h3 { font-size: 18px; }
  .recommendation-card .photo-note { font-size: 7px; }
  .home-recent-section { margin-top: 35px; }
  .editorial-commercial-layout .editorial-grid { grid-template-columns: 1fr; }
}
