/* NIGHT DRIVE — homepage editorial refinements v2.2 */
body.home,body.blog{--width:min(1480px,calc(100% - 72px))}
body.home #main-content{position:relative;padding-bottom:10px}
body.home .intro{
  position:relative;isolation:isolate;overflow:hidden;
  margin-top:28px;margin-bottom:28px;padding:38px 48px 42px;
  border-radius:30px;border:1px solid rgba(255,255,255,.11);
  background:
   linear-gradient(90deg,rgba(24,8,34,.95) 0%,rgba(26,8,35,.85) 37%,rgba(22,9,35,.42) 75%,rgba(15,8,26,.72) 100%),
   url('../img/city-horizon.svg') right bottom / auto 105% no-repeat,
   radial-gradient(circle at 76% 50%,rgba(255,135,164,.28),transparent 34%),
   #24132e;
  box-shadow:0 30px 70px rgba(0,0,0,.21);
}
body.home .intro::before{
  content:'';pointer-events:none;position:absolute;inset:0;border-radius:inherit;z-index:-1;
  background:radial-gradient(circle at 80% 30%,rgba(255,132,198,.08),transparent 42%),
             linear-gradient(180deg,transparent 60%,rgba(16,8,25,.3));
}
body.home .intro::after{
  content:'';pointer-events:none;position:absolute;bottom:0;left:48px;right:48px;height:3px;
  background:linear-gradient(90deg,var(--pink),var(--orange) 44%,var(--cyan) 82%,transparent);
  border-radius:999px;opacity:.8;
}
body.home .intro-kicker{position:relative;z-index:1;font-size:10px;color:#f6dfee;letter-spacing:.18em;gap:10px}
body.home .intro-separator{color:var(--pink-soft)}
body.home .intro-heading{align-items:center;gap:48px;position:relative;z-index:1}
body.home .intro-copy{flex:1;min-width:0;max-width:940px}
body.home .intro h1{
  font-size:clamp(72px,7.3vw,116px);line-height:.88;
  margin:20px 0 13px;max-width:none;letter-spacing:.006em;
  text-wrap:balance;
}
body.home .intro h1>span{display:block;
  background:linear-gradient(90deg,#fff 0%,#ffb1d9 50%,#ffb97f 96%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
body.home .intro h1 .intro-fullstop{display:inline;background:none;-webkit-text-fill-color:var(--cyan);color:var(--cyan);}
body.home .intro-subtitle{max-width:610px;font-size:14px;line-height:1.7;color:#f4e7f6;margin:0 0 20px}
body.home .intro-jump{display:inline-flex;align-items:center;gap:16px;
  font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:8px;color:var(--cyan-soft)}
body.home .intro-jump:hover{color:white;border-color:white}
body.home .intro-aside{
  flex:0 0 285px;width:285px;max-width:285px;min-height:214px;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:23px 25px;border-radius:22px;
  background:rgba(24,11,35,.77);border:1px solid rgba(255,255,255,.19);
  box-shadow:0 18px 45px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05)
}
body.home .intro-aside__status{display:inline-flex;align-items:center;gap:10px;
  color:#fff;font-size:10px;letter-spacing:.16em;font-weight:800;margin-bottom:22px}
body.home .intro-aside__eyebrow{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--pink-soft)}
body.home .intro-aside h2{font-size:20px;line-height:1.29;letter-spacing:-.022em;
  margin:9px 0 18px;font-family:var(--family);font-weight:700;max-height:5.3em;overflow:hidden}
body.home .intro-aside__action{display:inline-flex;align-items:center;gap:12px;
  font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--cyan-soft);margin-top:auto}
body.home .intro-edition{position:absolute;right:42px;bottom:15px;color:rgba(255,255,255,.63);
 font-size:9px;letter-spacing:.2em;font-weight:700;z-index:1}
body.home .top-stories{padding-bottom:28px;scroll-margin-top:120px}
body.home .section-tag{margin-bottom:14px;padding-top:12px}
body.home .lead-grid{height:466px;min-height:0;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:18px}
body.home .lead-side{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:1fr;gap:18px;min-height:0}
body.home .lead-story,body.home .side-story{min-width:0;min-height:0;border-radius:22px}
body.home .lead-story__content{padding:32px}
body.home .lead-story h2{font-size:clamp(45px,4.15vw,65px);line-height:.89;margin:12px 0 10px}
body.home .lead-story p{font-size:13px;margin-bottom:14px}
body.home .side-story__content{padding:20px}
body.home .side-story h3{font-size:clamp(26px,2.35vw,40px);line-height:.94;margin:9px 0 0}
body.home .top-stories .side-placeholder{min-height:0}
body.home .editorial-section{padding-top:35px;padding-bottom:34px}
body.home .editorial-grid{grid-template-columns:minmax(0,1.95fr) minmax(290px,.82fr);gap:26px}
body.home .news-grid{gap:20px}
body.home .post-card__body{padding:18px 19px 20px}
body.home .post-card__image{min-height:180px}
body.home .post-card h3{font-size:clamp(28px,2.1vw,37px);line-height:.96}
body.home .discovery-sidebar{position:sticky;top:130px;padding:26px}
body.home .discovery-sidebar h3{font-size:clamp(52px,4vw,70px);margin-top:18px}
body.home .category-feature{padding:24px 0}
body.home .category-block{margin-top:14px}
body.home .category-card-grid{gap:14px}
body.home .outro{margin-top:34px;margin-bottom:48px}
@media(min-width:1800px){
  body.home .intro{padding-left:55px;padding-right:55px}
  body.home .intro h1{font-size:122px}
}
@media(max-width:1199px){
 body.home,body.blog{--width:calc(100% - 38px)}
 body.home .intro{padding:34px 34px 38px}
 body.home .intro-heading{gap:24px}
 body.home .intro h1{font-size:clamp(65px,7.5vw,96px)}
 body.home .intro-aside{flex-basis:260px;width:260px;max-width:260px}
 body.home .editorial-grid{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:20px}
}
@media(max-width:980px){
 body.home .intro h1{font-size:clamp(58px,7.8vw,82px)}
 body.home .intro-heading{align-items:flex-start}
 body.home .intro-aside{flex-basis:250px;max-width:250px;padding:20px}
 body.home .lead-grid{height:auto;min-height:0;grid-template-columns:1fr;grid-template-rows:auto auto}
 body.home .lead-story{min-height:440px}
 body.home .lead-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
 body.home .side-story,body.home .side-placeholder{min-height:242px}
 body.home .editorial-grid{grid-template-columns:1fr}
 body.home .discovery-sidebar{position:static}
 body.home .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
 body.home,body.blog{--width:calc(100% - 24px)}
 body.home .intro{margin-top:15px;margin-bottom:22px;padding:27px 21px 28px;border-radius:22px;
  background-position:0 0,right bottom,0 0,0 0;background-size:auto,auto 75%,auto,auto}
 body.home .intro::after{left:20px;right:20px}
 body.home .intro-kicker{font-size:9px;letter-spacing:.1em;flex-wrap:wrap;gap:7px}
 body.home .intro-heading{display:flex;flex-direction:column;align-items:stretch;gap:22px}
 body.home .intro h1{font-size:clamp(51px,12.5vw,82px);margin:18px 0 10px;line-height:.89}
 body.home .intro-copy{width:100%}
 body.home .intro-subtitle{font-size:13px;max-width:470px}
 body.home .intro-aside{width:100%;max-width:none;min-height:0;flex:0 0 auto;padding:17px 18px;
  display:grid;grid-template-columns:1fr auto;gap:6px 12px}
 body.home .intro-aside__status{grid-column:1 / -1;margin-bottom:5px}
 body.home .intro-aside__eyebrow{grid-column:1 / -1;font-size:9px}
 body.home .intro-aside h2{font-size:15px;line-height:1.35;margin:0;max-height:2.8em}
 body.home .intro-aside__action{margin:0;white-space:nowrap;font-size:9px;align-self:end}
 body.home .intro-edition{display:none}
 body.home .top-stories{scroll-margin-top:90px}
 body.home .lead-story{min-height:390px}
 body.home .lead-side{grid-template-columns:1fr;gap:12px}
 body.home .side-story,body.home .side-placeholder{min-height:220px}
 body.home .lead-story__content{padding:22px}
 body.home .lead-story h2{font-size:clamp(34px,8vw,48px)}
 body.home .lead-story p{font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 body.home .side-story h3{font-size:clamp(30px,8vw,41px)}
 body.home .news-grid{grid-template-columns:1fr;gap:14px}
 body.home .post-card__image{min-height:0}
 body.home .section-heading__aside,body.home .section-tag__right{display:none}
 body.home .outro{margin-bottom:28px}
}
@media(max-width:390px){
 body.home .intro h1{font-size:clamp(47px,11.9vw,57px)}
 body.home .intro-aside{grid-template-columns:1fr}
 body.home .intro-aside__action{margin-top:3px}
}
@media(prefers-reduced-motion:reduce){body.home *{scroll-behavior:auto}}

/* Stable compact-category card dimensions override homepage news card defaults. */
body.home .category-card-grid .post-card--compact{display:flex;flex-direction:column;min-width:0;min-height:0}
body.home .category-card-grid .post-card--compact .post-card__image{width:100%;height:auto;min-height:0;aspect-ratio:16/9;flex:0 0 auto}
body.home .category-card-grid .post-card--compact .post-card__image img,
body.home .category-card-grid .post-card--compact .post-card__image .media-placeholder{width:100%;height:100%;min-height:0;aspect-ratio:16/9;object-fit:cover}
body.home .category-card-grid .post-card--compact .post-card__body{min-width:0;padding:16px 18px 18px;flex:1}
body.home .category-card-grid .post-card--compact h3{font-size:clamp(23px,2.15vw,31px);line-height:1.0;-webkit-line-clamp:3}
body.home .category-card-grid--count-1 .post-card--compact{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center}
body.home .category-card-grid--count-1 .post-card--compact .post-card__body{padding:24px 28px}
body.home .category-card-grid--count-1 .post-card--compact h3{font-size:clamp(34px,4vw,58px);-webkit-line-clamp:4}
@media(max-width:680px){
  body.home .category-card-grid--count-1 .post-card--compact{display:flex;flex-direction:column;align-items:stretch}
  body.home .category-card-grid--count-1 .post-card--compact .post-card__body{padding:17px 18px 18px}
  body.home .category-card-grid--count-1 .post-card--compact h3{font-size:29px}
}
/* The category heading must not expand the document on narrow screens, even
   when external display fonts are unavailable. */
@media(max-width:680px){
  body.home .category-feature__head{min-width:0}
  body.home .category-feature__head > div{min-width:0;max-width:100%}
  body.home .category-feature__head h2{
    max-width:100%;font-size:clamp(31px,8vw,46px);line-height:.94;
    overflow-wrap:anywhere;word-break:normal;
  }
}
