header.vv-site-header{position:sticky!important;top:0!important;inset-inline:0;z-index:100!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;width:100%!important;max-width:none!important;height:76px!important;margin:0!important;padding:0 max(24px,calc((100vw - 1180px)/2))!important;background:#fbfaf6!important;border:0!important;border-bottom:1px solid #dfe7df!important;opacity:1!important;animation:none!important;transform:none!important;font-family:Manrope,'Avenir Next',sans-serif!important}
.vv-site-brand{display:flex!important;align-items:center;gap:10px;text-decoration:none!important;color:#123d2c!important}.vv-site-brand img{width:46px!important;height:46px!important;border-radius:8px!important;box-shadow:none!important}.vv-site-brand>span{display:flex;flex-direction:column;line-height:1.05}.vv-site-brand strong{font-size:22px!important;font-weight:600!important;color:#123d2c!important;white-space:nowrap}.vv-site-brand small{margin-top:5px;font-family:'Noto Sans Telugu','Avenir Next',sans-serif;font-size:12px!important;color:#176642!important;font-weight:600;white-space:nowrap}.vv-site-nav{display:flex;gap:18px;align-items:center}.vv-site-nav a{padding:10px 0;font-size:14px!important;font-weight:600;color:#354c43!important;text-decoration:none!important}.vv-site-nav [aria-current]{color:#00643e!important;text-decoration:underline!important;text-underline-offset:6px}.vv-site-nav .vv-get-app{background:#07533b;color:#fff!important;padding:12px 18px;border-radius:6px}.vv-menu-toggle{display:none;width:44px;height:44px;padding:10px;border:0;background:transparent;cursor:pointer}.vv-menu-toggle span{display:block;width:24px;height:2px;margin:5px 0;background:#123d2c}
@media(max-width:900px){header.vv-site-header{height:68px!important;padding:0 18px!important}.vv-site-brand img{width:40px!important;height:40px!important}.vv-site-brand strong{font-size:19px!important}.vv-site-brand small{font-size:10px!important;margin-top:4px}.vv-menu-toggle{display:block;margin-left:auto}.vv-site-nav{display:none;position:absolute;top:68px;right:18px;left:auto;width:230px;background:#fbfaf6;border:1px solid #dfe7df;border-radius:12px;padding:12px;box-shadow:0 8px 24px #173d2d20}.vv-menu-open .vv-site-nav{display:flex;flex-direction:column;align-items:stretch}.vv-site-nav a{padding:12px}}

/* The shared sticky header already occupies its own space above the home hero. */
.vv-site-header ~ main .hero{padding-top:0!important}
.vv-site-header ~ main .hero-art{inset:0!important;height:100%!important}
.vv-site-header ~ main .hero-shade{inset:0!important}

/* The 2026 Vinayaka competition has ended; do not promote it on the homepage. */
.campaign-home,.campaign-spotlight{display:none!important}

/* Headings must reserve room for Telugu vowel marks and wrapped lines. */
main :is(h1,h2,h3), .final-cta h2 { line-height:1.25!important; overflow-wrap:anywhere; }
.hero h1 { line-height:1.12!important; }
:is(html[data-language="te"], html[lang="te"], [lang="te"]) :is(h1,h2,h3) { line-height:1.55!important; letter-spacing:normal!important; }
html[data-language="te"] .hero h1, html[lang="te"] .hero h1 { line-height:1.12!important; }
:is(html[data-language="te"],html[lang="te"]) :is(.portrait-title,.story-copy h2,.opportunity-heading h2,.conversation-copy h2,.community-heading h2,.principles-intro h2,.content-doorways-heading h2,.final-cta h2,.campaign-section-heading h2,.rules-intro h2,.voting-copy h2,.registration-heading h2,.campaign-closing h2) { font-size:clamp(32px,4.2vw,60px)!important; }
:is(html[data-language="te"],html[lang="te"]) :is(.proof-copy h3,.community-feature h3,.principles-list h3) { font-size:clamp(24px,2.2vw,32px)!important; }
.portrait-title span { white-space:normal!important; }
:is(.portrait-copy,.opportunity-heading,.story-section,.conversation-section,.community-heading,.principles-section,.proof-block,.community-feature,.content-row,.rules-intro,.voting-copy,.registration-heading,.official-rule,.support-sections) > * { min-width:0; }
main section[id] { scroll-margin-top:100px; }
@media(min-width:901px) {
  .portrait-copy { grid-template-columns:minmax(0,.55fr) minmax(0,1.3fr) minmax(0,1fr); gap:36px; }
}
@media(max-width:560px) {
  /* Let copy use the full card width instead of squeezing it beside a phone. */
  .proof-block,.community-feature { grid-template-columns:minmax(0,1fr)!important; gap:28px; padding:28px 24px 0; }
  .proof-copy,.community-feature > div { padding-bottom:0; }
  .proof-block > .phone-frame,.community-feature > .phone-frame { width:min(240px,85%); justify-self:center; }
  main h1 { font-size:clamp(32px,10vw,52px)!important; }
  .hero h1 { font-size:clamp(48px,15vw,62px)!important; }
  main :is(.portrait-title,.story-copy h2,.opportunity-heading h2,.conversation-copy h2,.community-heading h2,.principles-intro h2,.content-doorways-heading h2,.final-cta h2,.campaign-section-heading h2,.rules-intro h2,.voting-copy h2,.registration-heading h2,.campaign-closing h2) { font-size:clamp(30px,8.5vw,42px)!important; }
  :is(html[data-language="te"],html[lang="te"]) :is(.portrait-title,.story-copy h2,.opportunity-heading h2,.conversation-copy h2,.community-heading h2,.principles-intro h2,.content-doorways-heading h2,.final-cta h2,.campaign-section-heading h2,.rules-intro h2,.voting-copy h2,.registration-heading h2,.campaign-closing h2) { font-size:clamp(28px,8vw,36px)!important; }
  .vv-site-brand small { line-height:1.5; }
}

/* Mixed-language content pages also need Telugu-safe heading metrics. */
[data-vv-telugu-heading] { line-height:1.55!important; letter-spacing:normal!important; }

/* Public article reader: compact Telugu title and a wrapping source link. */
main > article > h1 { font-size:26px!important; line-height:1.6!important; }
.article-body ~ .content-action { min-width:0; gap:12px; padding:20px 18px; }
.article-body ~ .content-action span:first-child { min-width:0; overflow-wrap:anywhere; }
.article-body ~ .content-action span:last-child { flex-shrink:0; }
