/* GSR Top Stories v1.0.6 — self-contained editorial hero; no Additional CSS changes needed. */
.gsr-top-stories { margin:0 0 20px; padding:13px 13px 0; background:#fff; border-radius:0; box-shadow:0 3px 14px rgba(0,0,0,.09); }
.gsr-top-stories *, .gsr-top-stories *::before, .gsr-top-stories *::after { box-sizing:border-box; }

/* Keep the same publication section-heading treatment as Latest News. */
.gsr-top-stories__heading {
    display:flex; align-items:center; gap:10px; margin:0 0 14px;
    padding:0 0 10px; border-bottom:1px solid #e4e4e4;
    color:#15232c; font-family:'Libre Baskerville',Georgia,serif;
    font-size:22px; font-weight:700; line-height:1.3;
    letter-spacing:-.35px; text-transform:uppercase;
    -webkit-text-stroke:.4px #15232c;
}
.gsr-top-stories__heading::before { content:''; flex:0 0 4px; width:4px; height:26px; background:#a71919; }

/* The image and white story body form one enlarged article card.
   The outer edges match Latest News card images, while the heading stays inset. */
.gsr-top-stories__viewport {
    position:relative; isolation:isolate; display:grid;
    grid-template-columns:minmax(0,1fr);
    width:calc(100% + 26px); max-width:none; margin:0 -13px;
    overflow:hidden; background:#fff; border-radius:0; touch-action:pan-y;
}
.gsr-top-stories__slide {
    position:relative; grid-area:1 / 1; display:block; min-width:0;
    width:100%; margin:0; z-index:1;
}
.gsr-top-stories__slide[hidden] { display:none !important; }
.gsr-top-stories__slide.is-active { z-index:2; }
.gsr-top-stories__slide.is-leaving { z-index:1; pointer-events:none; }
.gsr-top-stories__slide.is-entering-next, .gsr-top-stories__slide.is-entering-prev { z-index:3; }
.gsr-top-stories__slide.is-entering-next { animation:gsr-ts-cover-from-right 450ms ease-in-out both; }
.gsr-top-stories__slide.is-entering-prev { animation:gsr-ts-cover-from-left 450ms ease-in-out both; }
@keyframes gsr-ts-cover-from-right { from { transform:translateX(100%); } to { transform:translateX(0); } }
@keyframes gsr-ts-cover-from-left { from { transform:translateX(-100%); } to { transform:translateX(0); } }

.gsr-top-stories__link {
    display:flex; flex-direction:column; width:100%; height:100%;
    color:#15232c !important; text-decoration:none !important;
}
.gsr-top-stories__link:focus-visible { outline:3px solid #a71919; outline-offset:-4px; }
.gsr-top-stories__media {
    position:relative; flex:0 0 auto; width:100%; aspect-ratio:2.2 / 1;
    background:#15232c; overflow:hidden;
}
.gsr-top-stories__image, .gsr-top-stories__placeholder {
    display:block; width:100%; height:100%; object-fit:cover; object-position:center;
}
/* Restrained visual feedback, in keeping with the Latest News cards. */
.gsr-top-stories__image {
    transform:scale(1); transform-origin:center;
    transition:transform 240ms ease;
}
.gsr-top-stories__link:hover .gsr-top-stories__image,
.gsr-top-stories__link:focus-visible .gsr-top-stories__image { transform:scale(1.02); }

/* Branded photo fallback when no featured image was uploaded. */
.gsr-top-stories__placeholder {
    position:relative;
    background:radial-gradient(ellipse at 75% 25%,#385160 0%,transparent 55%),linear-gradient(125deg,#223640 0%,#15232c 65%);
}
.gsr-top-stories__placeholder::before {
    content:''; position:absolute; width:55%; aspect-ratio:1 / 1; top:-54%; right:-12%;
    border:1px solid rgba(255,255,255,.14); border-radius:50%;
    box-shadow:0 0 0 30px rgba(255,255,255,.018),0 0 0 90px rgba(255,255,255,.018);
}
.gsr-top-stories__placeholder-brand {
    position:absolute; display:flex; flex-direction:column; align-items:center;
    justify-content:center; gap:5px; inset:0; color:#fff;
    text-align:center; opacity:.76; pointer-events:none;
}
.gsr-top-stories__placeholder-star { font:30px/1 Georgia,serif; color:#edb6b6; }
.gsr-top-stories__placeholder-name { font:700 clamp(19px,3vw,33px)/1.15 'Libre Baskerville',Georgia,serif; letter-spacing:.02em; }
.gsr-top-stories__placeholder-subtitle { font:600 10px/1.5 Arial,sans-serif; letter-spacing:2px; }

/* Exactly match GSR Article Cards v1.0.17 badge dimensions and image insets. */
.gsr-top-stories__category, .gsr-top-stories__tagline {
    position:absolute; z-index:4; display:block;
    max-width:calc(100% - 16px); padding:6px 9px; border-radius:3px;
    color:#fff; font-family:Arial,Helvetica,sans-serif; font-size:13px;
    font-weight:800; line-height:1.2; letter-spacing:.2px;
    text-transform:uppercase; overflow-wrap:anywhere; text-align:left; pointer-events:none;
}
.gsr-top-stories__category { top:8px; left:8px; background:#a71919; }
.gsr-top-stories__tagline {
    bottom:8px; left:8px; background:rgba(21,35,44,.92);
    font-family:Arial,sans-serif; font-size:14px;
}
.gsr-top-stories__category[hidden] { display:none !important; }

/* White editorial copy area: same placement, colors and type family as the article cards,
   enlarged to make Top Stories a primary homepage feature. */
.gsr-top-stories__details {
    display:flex; flex-direction:column; align-items:flex-start;
    flex:1 1 auto; width:100%; height:auto;
    min-height:var(--gsr-ts-details-height, auto);
    padding:17px 20px 16px; background:#fff;
}
.gsr-top-stories__title {
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
    line-clamp:3; overflow:hidden; max-width:740px;
    margin:0; color:#15232c !important;
    font-family:Arial,Helvetica,sans-serif;
    font-size:clamp(25px,2.65vw,33px); font-weight:700;
    line-height:1.2; letter-spacing:-.35px;
    text-shadow:none; text-transform:none;
}
.gsr-top-stories__link:hover .gsr-top-stories__title,
.gsr-top-stories__link:focus-visible .gsr-top-stories__title { color:#a71919 !important; }
.gsr-top-stories__meta {
    display:flex; align-items:center; flex-wrap:wrap; gap:6px;
    margin-top:8px; color:#697887;
    font:400 13px/1.45 Arial,Helvetica,sans-serif;
}
.gsr-top-stories__clock { display:block; flex-shrink:0; }
.gsr-top-stories__time { color:inherit; }
/* The metadata row repeats the Article Cards timestamp and reading-time pairing. */
.gsr-top-stories__meta { column-gap:14px; row-gap:6px; }
.gsr-top-stories__meta-item {
    display:inline-flex; align-items:center; gap:5px; white-space:nowrap;
}
.gsr-top-stories__book {
    display:block; flex:0 0 12px; width:12px; height:12px;
}
/* Match the two editorial bullet points and hairline separator from Latest News. */
.gsr-top-stories__highlights {
    display:block; width:100%; max-width:none; list-style:none;
    margin:10px 0 0 !important; padding:11px 0 0 !important;
    border-top:1px solid #e7ebef;
    color:#15232c; font:400 16px/1.5 Arial,Helvetica,sans-serif;
}
.gsr-top-stories__highlights li {
    display:block; position:relative; margin:0 0 6px; padding:0 0 0 15px;
    overflow-wrap:anywhere;
}
.gsr-top-stories__highlights li:last-child { margin-bottom:0; }
.gsr-top-stories__highlights li::before {
    content:'•'; position:absolute; top:0; left:0; color:#a71919;
}

/* Persistent white control strip, outside the image and article link. */
.gsr-top-stories__controls {
    display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
    min-height:48px; width:calc(100% + 26px); margin:0 -13px;
    padding:6px 15px; border-top:1px solid #e7ebef;
    background:#fff;
}
/* Quiet editorial position indicator; does not compete with the progress dots. */
.gsr-top-stories__counter {
    grid-column:1; justify-self:start; color:#697887;
    font:600 12px/1.3 Arial,Helvetica,sans-serif;
    letter-spacing:.5px; font-variant-numeric:tabular-nums;
}
.gsr-top-stories__dots {
    grid-column:2; display:flex; align-items:center; justify-content:center; gap:5px;
}
.gsr-top-stories__dot {
    appearance:none; display:block; flex:0 0 auto;
    width:10px; height:7px; margin:0; padding:0; border:0; border-radius:8px;
    background:#b5c0c9; cursor:pointer;
    transition:width .2s ease,background-color .2s ease;
}
.gsr-top-stories__dot[aria-current='true'] { width:24px; background:#a71919; }
.gsr-top-stories__dot:hover { background:#a71919; }
.gsr-top-stories__arrows { grid-column:3; justify-self:end; display:flex; gap:7px; }
.gsr-top-stories__arrow {
    display:flex; align-items:center; justify-content:center; flex:0 0 36px;
    width:34px; height:34px; margin:0; padding:0;
    border:1px solid #cbd3d9; border-radius:3px;
    background:#fff; color:#15232c; cursor:pointer;
    transition:background-color .2s,border-color .2s,color .2s;
}
.gsr-top-stories__arrow svg { display:block; width:19px; height:19px; }
.gsr-top-stories__arrow:hover { background:#a71919; border-color:#a71919; color:#fff; }
.gsr-top-stories__dot:focus-visible, .gsr-top-stories__arrow:focus-visible { outline:2px solid #a71919; outline-offset:3px; }

@media (max-width:768px) {
    .gsr-top-stories { padding:10px 10px 0; margin-bottom:16px; }
    .gsr-top-stories__heading { font-size:18px; line-height:1.4; margin-bottom:10px; padding-bottom:8px; }
    .gsr-top-stories__heading::before { height:22px; }
    .gsr-top-stories__viewport { width:calc(100% + 20px); margin:0 -10px; }
    .gsr-top-stories__media { aspect-ratio:16 / 9; }
    .gsr-top-stories__details { height:auto; padding:14px 16px 15px; }
    .gsr-top-stories__title { font-size:clamp(20px,5.2vw,24px); line-height:1.23; -webkit-line-clamp:4; line-clamp:4; }
    .gsr-top-stories__meta { font-size:12px; margin-top:8px; }
    .gsr-top-stories__highlights { margin-top:10px !important; padding-top:10px !important; font-size:15px; }
    .gsr-top-stories__controls { width:calc(100% + 20px); margin:0 -10px; min-height:48px; padding:6px 10px; }
    .gsr-top-stories__arrow { width:34px; height:34px; flex-basis:34px; }
    .gsr-top-stories__placeholder-star { font-size:22px; }
    .gsr-top-stories__placeholder-name { font-size:clamp(17px,5vw,25px); }
    .gsr-top-stories__placeholder-subtitle { font-size:8px; letter-spacing:1.5px; }
}
@media (prefers-reduced-motion:reduce) {
    .gsr-top-stories__slide { animation:none !important; transition:none !important; }
    .gsr-top-stories__dot, .gsr-top-stories__arrow, .gsr-top-stories__image { transition:none !important; transform:none !important; }
}
