@font-face{font-family:Nimbus;src:url("fonts/nimbus-sans-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Nimbus;src:url("fonts/nimbus-sans-bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:NimbusNarrow;src:url("fonts/nimbus-sans-narrow-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:NimbusNarrow;src:url("fonts/nimbus-sans-narrow-bold.woff2") format("woff2");font-weight:700;font-display:swap}

:root{--paper:#f8f8f5;--ink:#2d2d2f;--blue:#179ed2;--red:#ed242b;--deep-red:#a9151a;--yellow:#f5df00;--rule:#d8d8d5;--column:780px}
*{box-sizing:border-box}
html{background:#e9e9e7;scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Nimbus,Arial,sans-serif;background:#e9e9e7}
img{display:block;max-width:100%}
a{color:inherit}
a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.newsletter{width:min(100%,var(--column));margin-inline:auto;overflow:hidden;background-color:var(--paper);background-image:radial-gradient(circle at 20% 10%,rgba(0,0,0,.025) 0 1px,transparent 1.2px),radial-gradient(circle at 80% 70%,rgba(0,0,0,.018) 0 1px,transparent 1.2px);background-size:9px 9px,13px 13px;box-shadow:0 0 2.5rem rgba(0,0,0,.09)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.masthead-art{width:100%;aspect-ratio:1667/570;object-fit:cover}
.story{position:relative;padding:3.5rem 4rem;padding:clamp(2.4rem,7vw,5.2rem) clamp(1.25rem,7vw,4.75rem);text-align:center;border-top:1px solid var(--rule)}
.story:first-of-type{border-top:0}
.display{margin:1.5rem 0;margin:clamp(1rem,3.5vw,2rem) 0;font-family:NimbusNarrow,Arial Narrow,sans-serif;font-size:4.75rem;font-size:clamp(2.55rem,10vw,5.25rem);font-weight:700;line-height:.82;letter-spacing:-.035em;text-transform:uppercase}
.display.compact{font-size:2.7rem;font-size:clamp(1.55rem,6vw,3.2rem);line-height:.94}
.headline-line{display:block}
.blue{color:var(--blue)}.red{color:var(--red)}.deep-red{color:var(--deep-red)}
.copy{max-width:680px;margin-inline:auto}
.body-copy{margin:1rem auto;margin:clamp(.75rem,2vw,1.15rem) auto;font-size:1.1rem;font-size:clamp(1rem,2.35vw,1.22rem);line-height:1.34}
.body-copy strong{font-weight:700}
.quote{font-size:clamp(1.05rem,2.65vw,1.38rem)}
.quote strong{color:var(--red)}
.attribution{margin:.25rem 0 1.6rem;font-size:clamp(1.1rem,2.7vw,1.4rem);font-weight:700}
.hero-contain{width:100%;max-height:660px;object-fit:contain;margin-inline:auto}
.wide-photo{width:100%}
.soft-edge{margin-top:clamp(1.6rem,5vw,3.6rem);mix-blend-mode:multiply}
.split-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(.5rem,3vw,2rem)}
.split-hero .display{margin:0;text-align:left}
.split-photo{width:100%;height:auto;object-fit:contain}
.video-card{position:relative;display:block;width:min(78%,520px);margin:clamp(1.5rem,4vw,2.5rem) auto;min-height:44px;text-decoration:none}
.video-card.full{width:100%}
.video-photo{width:100%}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.68rem 1.15rem;margin:.75rem auto 0;background:var(--yellow);color:#191919;font-size:clamp(.9rem,2vw,1.06rem);font-weight:700;text-decoration:none;text-transform:uppercase}
.over-image{position:absolute;left:50%;bottom:-1.1rem;transform:translateX(-50%);white-space:nowrap}
.media-copy{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:clamp(1rem,4vw,3rem);text-align:left}
.media-copy .body-copy{font-weight:700}
.portrait-photo{align-self:stretch;width:100%;height:100%;object-fit:cover;object-position:center top}
.red-stage{display:grid;position:relative;margin-inline:calc(clamp(1.25rem,7vw,4.75rem) * -1);background:var(--paper)}
.red-stage .display{grid-area:1/1;align-self:start;position:relative;z-index:2;margin:0;padding:.8rem 1rem;text-align:left}
.red-stage .cutout{grid-area:1/1;align-self:end;position:relative;width:100%;height:auto;object-fit:contain;object-position:center bottom;z-index:1}
.event .display .headline-line:first-child{font-size:.64em;margin-bottom:.32em}
.event .display .headline-line:last-child{font-size:.92em}
.event>.display,.showcase>.display,.yatra>.display,.election-hero>.display{font-size:3.75rem!important}
.showcase-grid,.photo-grid{display:flex;flex-wrap:wrap;gap:clamp(.85rem,3vw,1.5rem)}
.showcase-card{flex:0 0 46%}
.showcase-card:first-child{flex-basis:100%}
.photo-card{display:block;min-height:44px;background:#fff;text-decoration:none;border:1px solid #ececea}
.card-photo{width:100%;height:auto;object-fit:cover}
.card-caption{display:block;min-height:56px;padding:.7rem .75rem;background:#303033;color:#fff;font-size:clamp(.77rem,1.9vw,.98rem);font-weight:700;line-height:1.15}
.showcase-card:first-child .card-caption{background:var(--red);font-family:NimbusNarrow,Arial Narrow,sans-serif;font-size:clamp(1rem,3vw,1.55rem);text-transform:uppercase}
.yatra .display{font-size:clamp(2.3rem,9vw,4.9rem)}
.kicker{font-family:NimbusNarrow,Arial Narrow,sans-serif;font-size:clamp(1.2rem,3.2vw,1.7rem);font-weight:700;text-transform:uppercase}
.election-hero{align-items:start}
.election-hero .display{padding-top:clamp(1rem,5vw,3.4rem)}
.bar-heading{margin:clamp(2rem,5vw,3.2rem) 0 1.2rem;padding:.7rem 1rem;background:#313133;color:#fff;font-size:clamp(1.05rem,3vw,1.5rem);line-height:1.05}
.photo-grid .photo-card{flex:0 0 46%}
.rallies .photo-card,.interactions .photo-card{flex-basis:30%}
.rallies .card-caption{background:#fff;color:var(--ink);font-weight:400}
.listening-hero{position:relative;margin:calc(clamp(2.4rem,7vw,5.2rem) * -1) calc(clamp(1.25rem,7vw,4.75rem) * -1) clamp(1.5rem,4vw,2.7rem)}
.listening-hero .display{position:absolute;top:5%;left:7%;max-width:43%;margin:0;padding:.2rem;text-align:left;background:linear-gradient(90deg,rgba(248,248,245,.96) 75%,rgba(248,248,245,0));font-size:clamp(2.15rem,8vw,4.5rem)}
.interactions .card-caption,.speeches .card-caption{background:#fff;color:var(--ink);font-weight:400}
.parliament-hero{align-items:center}
.parliament-hero .display{font-size:clamp(2.15rem,8vw,4.55rem)}
.numbers{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(.7rem,3vw,2rem);align-items:end;margin-top:clamp(2.5rem,7vw,4rem)}
.numbers-art{position:relative;align-self:stretch;min-height:390px}
.numbers-person{position:absolute;left:-12%;bottom:0;max-width:118%;max-height:100%;object-fit:contain;object-position:left bottom}
.numbers-art h3{position:absolute;left:0;bottom:7%;margin:0;color:var(--blue);font-family:NimbusNarrow,Arial Narrow,sans-serif;font-size:clamp(2.2rem,8vw,4.4rem);line-height:.8;text-align:left;text-transform:uppercase}
.numbers ul{display:grid;gap:.65rem;margin:0;padding:0;list-style:none;text-align:left}
.numbers li{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.7rem;padding-bottom:.45rem;border-bottom:1px dashed #aaa;font-size:clamp(.84rem,2.2vw,1rem);line-height:1.05}
.numbers li strong{color:var(--blue);font-family:NimbusNarrow,Arial Narrow,sans-serif;font-size:clamp(1.55rem,5vw,2.7rem)}
.footer{padding:clamp(1.8rem,5vw,3.2rem);border-top:2px solid #333}
.socials{display:flex;justify-content:center;gap:clamp(.55rem,2.5vw,1rem)}
.social-icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:2px solid #333;border-radius:50%;font-weight:700;font-size:1.15rem}

@media (max-width:560px){
  .story{padding-inline:1.1rem}
  .display{font-size:2.8rem}
  .event>.display,.showcase>.display,.yatra>.display,.election-hero>.display{font-size:2.9rem!important}
  .split-hero{grid-template-columns:1fr;gap:.8rem}
  .split-hero .display{text-align:center}
  .battle .split-photo{width:75%;justify-self:start}
  .battle .display{position:absolute;top:2.5rem;right:1rem;width:53%;text-align:left;font-size:2.6rem;font-size:clamp(2rem,12vw,3.45rem)}
  .media-copy{grid-template-columns:.8fr 1.2fr;gap:.8rem}
  .media-copy .body-copy{font-size:.94rem}
  .portrait-photo{min-height:430px}
  .red-stage{margin-inline:-1.1rem}
  .rallies .photo-card,.interactions .photo-card{flex-basis:46%}
  .listening-hero{margin-inline:-1.1rem}
  .parliament-hero{grid-template-columns:.88fr 1.12fr}
  .numbers{grid-template-columns:.85fr 1.15fr}
  .numbers-art{min-height:340px}
}

@media (max-width:340px){
  .showcase-card,.showcase-card:first-child,.photo-grid .photo-card,.rallies .photo-card,.interactions .photo-card{flex-basis:100%}
  .media-copy{grid-template-columns:1fr}
  .portrait-photo{max-height:500px}
  .numbers{grid-template-columns:1fr}
  .numbers-art{min-height:420px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
