/* Homepage-only layout. */
.home-main{padding-top:12px}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:16px}.home-content{min-width:0}.lead-package{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.86fr);gap:7px}.lead-story{position:relative;min-height:455px;background:#000;overflow:hidden}.lead-image,.lead-image img{width:100%;height:100%}.lead-image img{object-fit:cover}.lead-story:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.15) 48%,rgba(0,0,0,.88) 100%);pointer-events:none}.lead-overlay{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;color:#fff}.lead-overlay h1{font-size:43px;line-height:.98;letter-spacing:-1.5px;margin:8px 0 10px;font-weight:950}.lead-overlay h1 a:hover{color:#fff}.lead-overlay p{font-size:17px;line-height:1.35;margin:0;max-width:92%}.lead-overlay .story-meta{color:#fff}.lead-support{display:grid;grid-template-rows:repeat(4,1fr);gap:3px}.support-card{display:grid;grid-template-columns:42% 1fr;background:var(--ink);color:#fff;min-height:109px;overflow:hidden}.support-card .story-card-image,.support-card img{height:100%;width:100%;object-fit:cover}.support-card .story-card-body{padding:10px}.support-card h3{font-size:16px;line-height:1.04;margin:5px 0 0;font-weight:900}.support-card .story-meta{color:#ccd1d5;font-size:10px}.section-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:16px 0 10px}.section-heading h2{margin:0 0 -1px;font-size:21px;line-height:1;text-transform:uppercase;padding-bottom:7px;border-bottom:4px solid var(--red2);font-weight:950}.section-icon{color:var(--red2);margin-right:8px}.section-heading>a{font-size:12px;font-weight:800}.happening-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.story-card{min-width:0}.story-card-image{display:block;overflow:hidden;background:#eee}.story-card-image img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .25s ease}.story-card:hover .story-card-image img{transform:scale(1.025)}.story-card h3{margin:5px 0 0;line-height:1.08;font-size:17px;font-weight:900}.compact-card h3{font-size:13px}.compact-card .story-kicker{font-size:9px;padding:2px 4px;margin-top:4px}.compact-card .story-meta{font-size:10px}.three-feature-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}.three-feature-grid .story-card{border-right:1px solid var(--line);padding-right:12px}.three-feature-grid .story-card:last-child{border-right:0;padding-right:0}.three-feature-grid h3{font-size:21px}.feature-primary h3{font-size:26px}.three-feature-grid p,.big-feature p{font-size:13px;color:#4e5861;margin:6px 0}.duo-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.big-feature h3{font-size:25px}.category-rail-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:8px}.category-rail{min-width:0}.category-rail .section-heading{margin-top:10px}.category-rail .section-heading h2{font-size:15px}.rail-lead h3{font-size:14px}.rail-list{margin:7px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.rail-list li{padding:6px 0;border-bottom:1px solid var(--line);font-size:11px;font-weight:700}.lower-grid{display:grid;grid-template-columns:1.05fr 1fr 1.05fr;gap:16px;border-top:1px solid var(--line);margin-top:17px}.latest-list,.conversation-box ol{list-style:none;margin:0;padding:0}.latest-list li{display:grid;grid-template-columns:65px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.latest-list time{color:#59636d}.conversation-box h3{margin:2px 0 9px}.conversation-box ol li{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid var(--line);padding:8px 0;font-size:12px}.conversation-box ol span{color:#6d7881}.conversation-box .button-red{margin-top:12px;width:100%;font-size:11px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gallery-card h3{font-size:13px}.archive-module{margin:20px 0}.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.archive-card h3{font-size:15px}
.home-rail,.article-rail,.archive-rail{min-width:0}.ranked-box,.most-read-tabs,.dont-miss-rail{border:1px solid var(--line);background:#fff;margin-bottom:12px}.ranked-box h2,.most-read-tabs h2,.dont-miss-rail h2{margin:0;background:var(--ink);color:#fff;text-transform:uppercase;font-size:18px;padding:9px 11px;border-left:5px solid var(--red2)}.ranked-box ol,.most-read-tabs ol{list-style:none;counter-reset:rank;margin:0;padding:0 10px}.ranked-box li,.most-read-tabs li{counter-increment:rank;display:grid;grid-template-columns:28px 1fr;gap:5px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.16}.ranked-box li:before,.most-read-tabs li:before{content:counter(rank);color:var(--red2);font-weight:950;font-size:22px;line-height:1}.rail-subscribe{position:relative;overflow:hidden;min-height:130px;background:linear-gradient(135deg,#23313c,#0b1117);color:#fff;margin-bottom:12px;padding:15px;display:flex;align-items:flex-end}.rail-subscribe strong{font-size:20px;line-height:1;display:block}.rail-subscribe p{font-size:11px}.rail-subscribe a{display:inline-block;background:var(--red2);padding:8px 10px;font-weight:900;font-size:11px}.tab-buttons{display:grid;grid-template-columns:repeat(3,1fr);background:#e8ecef}.tab-buttons button{border:0;background:transparent;padding:7px;font-size:10px;font-weight:900;text-transform:uppercase;cursor:pointer}.tab-buttons button.is-active{background:var(--red2);color:#fff}.mini-row{display:grid;grid-template-columns:78px 1fr;gap:8px;padding:8px;border-bottom:1px solid var(--line);font-size:12px;font-weight:800}.mini-row img,.mini-row .placeholder{width:78px;height:56px;object-fit:cover}.mini-row small{display:block;color:#59636d;font-weight:400;margin-top:3px}.ad-slot{min-height:110px;background:#f2f3f4;border:1px solid #e1e4e6;display:grid;place-items:center;color:#59636d;text-transform:uppercase;letter-spacing:.08em;font-size:11px;margin:12px 0;text-align:center}.ad-slot .widget{width:100%;margin:0}.home-leaderboard .ad-slot{min-height:90px}.sticky-ad-wrap{position:sticky;top:12px}
/* Three-column above-the-fold geometry from the mockup. */
.home-main{padding-top:10px}
.home-grid{grid-template-columns:minmax(0,1fr) 264px;gap:13px}
.lead-package{grid-template-columns:minmax(0,1.74fr) minmax(270px,.86fr);gap:6px}
.lead-story{min-height:470px;aspect-ratio:1.34/1}
.lead-image{display:block;position:absolute;inset:0}
.lead-image img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:var(--image-position,center 28%)!important;}
.lead-overlay{left:20px;right:20px;bottom:18px}
.lead-overlay h1{font-family:var(--display-font);font-size:48px;line-height:.93;letter-spacing:-1.6px;font-weight:900;margin:8px 0 10px;text-wrap:balance}
.lead-overlay p{font-size:16px;line-height:1.33;font-weight:500;max-width:92%}
.lead-overlay .story-meta{font-size:11px;font-weight:600}
.lead-support{grid-template-rows:repeat(4,minmax(0,1fr));gap:4px}
.support-card{grid-template-columns:43% 1fr;min-height:0;height:100%;}
.support-card .story-card-image{aspect-ratio:auto;height:100%}
.support-card .story-card-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:var(--image-position,center center)!important}
.support-card .story-card-body{padding:9px 10px;align-self:center}
.support-card h3{font-family:var(--display-font);font-size:17px;line-height:.98;font-weight:800;letter-spacing:-.2px}
.support-card .story-kicker{font-size:9px}

/* UNIVERSAL IMAGE CROP: source aspect ratio can never break a card. */
.story-card-image{position:relative;display:block;overflow:hidden;background:#e7e7e7;aspect-ratio:16/9}
.story-card-image>img,.story-card-image .story-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:var(--image-position,center center)!important}
.story-card-image>.placeholder{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.compact-card .story-card-image{aspect-ratio:1.62/1}
.feature-primary .story-card-image,.feature-secondary .story-card-image,.big-feature .story-card-image{aspect-ratio:16/9}
.rail-lead .story-card-image{aspect-ratio:1.32/1}
.gallery-card .story-card-image{aspect-ratio:1.48/1}
.archive-card .story-card-image{aspect-ratio:16/9}
.mini-row{grid-template-columns:86px 1fr}
.mini-row>img,.mini-row>.story-image{width:86px!important;height:62px!important;object-fit:cover!important;object-position:var(--image-position,center center)!important}

/* Dense mockup typography */
.story-kicker{font-size:10px;font-weight:900;padding:3px 6px}
.section-heading{margin:15px 0 9px}
.section-heading h2{font-size:22px;line-height:.93;font-weight:900;letter-spacing:-.5px}
.story-card h3{font-family:var(--display-font);font-weight:800;line-height:1.02;letter-spacing:-.2px}
.compact-card h3{font-size:14px}
.three-feature-grid h3{font-size:22px}.feature-primary h3{font-size:28px}.big-feature h3{font-size:27px}
.category-rail .section-heading h2{font-size:16px}.rail-lead h3{font-size:15px}
.ranked-box h2,.most-read-tabs h2,.dont-miss-rail h2{font-size:19px;font-weight:900}
.ranked-box li,.most-read-tabs li{font-size:12px;font-weight:600}
.ranked-box li:before,.most-read-tabs li:before{font-family:var(--display-font);font-weight:900}

/* Happening Now visually matches the six-up mockup row. */
.happening-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.happening-grid .story-card-image{aspect-ratio:1.55/1}

/* Make hover zoom safe inside every hard crop. */
.story-card:hover .story-card-image img{transform:scale(1.035)}

/* ==========================================================
   SpreadIt 1.1.2 — Unified five-story top package
   The lead and four supporting stories are one locked grid so
   their top and bottom edges always align exactly like mockup.
   ========================================================== */
@media (min-width:821px){
  .lead-package{
    display:grid;
    grid-template-columns:minmax(0,1.74fr) minmax(270px,.86fr);
    grid-template-rows:repeat(4,minmax(0,1fr));
    height:470px;
    min-height:0;
    gap:4px 6px;
    align-items:stretch;
    overflow:hidden;
  }
  .lead-story{
    grid-column:1;
    grid-row:1 / -1;
    min-height:0;
    height:100%;
    aspect-ratio:auto;
    align-self:stretch;
  }
  .lead-support{display:contents}
  .support-card{
    grid-column:2;
    min-height:0;
    height:100%;
    align-self:stretch;
    overflow:hidden;
  }
  .support-card .story-card-image,
  .support-card .story-card-body{min-height:0}
  .support-card .story-card-body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow:hidden;
  }
  .support-card h3{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
  }
  .support-card .story-meta{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
@media (min-width:821px) and (max-width:1050px){
  .lead-package{height:455px}
}

@media(max-width:1050px){.home-grid{grid-template-columns:1fr 230px}.lead-overlay h1{font-size:42px}.happening-grid{grid-template-columns:repeat(3,1fr)}.category-rail-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.home-grid{grid-template-columns:1fr}.home-rail{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lead-package{grid-template-columns:1fr}.lead-story{min-height:440px;aspect-ratio:auto}.lead-image img{object-position:var(--image-position,center 24%)!important}.lead-support{grid-template-columns:1fr 1fr;grid-template-rows:auto}.support-card{min-height:115px}.three-feature-grid{grid-template-columns:1fr 1fr}.three-feature-grid .story-card:first-child{grid-column:1/-1}.duo-feature-grid{grid-template-columns:1fr 1fr}.lower-grid{grid-template-columns:1fr 1fr}.galleries-box{grid-column:1/-1}.archive-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.home-main{padding-top:7px}.lead-package{gap:6px}.lead-story{min-height:415px}.lead-overlay{left:15px;right:15px;bottom:14px}.lead-overlay h1{font-size:38px;line-height:.92}.lead-overlay p{font-size:14px}.lead-overlay .story-meta{font-size:10px}.lead-support{grid-template-columns:1fr}.support-card{grid-template-columns:38% 1fr;min-height:108px}.support-card .story-card-image{aspect-ratio:auto}.happening-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.happening-grid .story-card{min-width:155px;scroll-snap-align:start}.section-heading h2{font-size:18px}.three-feature-grid,.duo-feature-grid,.lower-grid{grid-template-columns:1fr}.three-feature-grid .story-card{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}.galleries-box{grid-column:auto}.category-rail-grid{grid-template-columns:1fr 1fr}.home-rail{display:block}.home-rail>*{margin-bottom:12px}.archive-grid{grid-template-columns:1fr}}
