/* BU1ST Elections · Fiji v2
   Full editorial rebuild: NZ-standard hierarchy, authentic Parliament photography,
   modern contrast, legible mobile layout, no generic clip-art hero. */
:root{--bg:#f6f7f5;--surface:#fff;--ink:#132d3c;--muted:#61717d;--edge:#dae1df;--navy:#102b3c;--teal:#076f7a;--sea:#0e8992;--aqua:#edf5f1;--sand:#f1e5d1;--gold:#bd9a65;--brand-lime:#c8ff63;--body:'Manrope','DM Sans',system-ui,-apple-system,sans-serif;--display:'Space Grotesk',var(--body)}
body{background:var(--bg);font-size:13px;line-height:1.65;color:var(--ink)}
a,button{transition:color .15s ease,background-color .15s ease,border-color .15s ease}
.rail{justify-content:flex-start;gap:13px;padding:8px max(28px,calc((100vw - 1240px)/2));background:#102b3c;border:0;min-height:37px;color:#cbdcd8;font-size:10px}
.rail strong{color:var(--brand-lime);font-size:9px;letter-spacing:.12em}
.rail-dot{border-color:var(--brand-lime);background:var(--brand-lime)}
.rail a{color:var(--brand-lime);margin-left:auto;font-size:10px}
.header{background:#fafbf9;border-bottom:1px solid #dfe5e2}
.header-main{min-height:82px}
.logo-main{font-size:32px;color:#152d3c}
.logo-main span{color:#12889a}
.logo-side{border-left:1px solid #bfc9c7;color:#1d3748;letter-spacing:.13em}
.logo-side small{color:#687e88}
.header-info{letter-spacing:.1em;color:#657b82}
.all-sites{background:#fff;border:1px solid #b8c6ca;border-radius:5px;color:#1c4558;padding:10px 15px}
.all-sites:hover{background:#eff5f2;color:#075a6a}
.nav{top:0;background:#fafbf9;box-shadow:0 6px 20px #1031440a}
.nav-scroll{gap:0;scrollbar-width:thin}
.nav button{border-radius:0;padding:17px 18px;color:#607681;font-size:11px;font-weight:760}
.nav button:hover{background:#f2f6f4;color:#0a6774}
.nav button[aria-selected=true]{background:transparent;color:#134357}
.nav button[aria-selected=true]:after{left:17px;right:17px;height:3px;background:#058d91}
.view{min-height:0}
.main{padding-bottom:42px}
/* Atmospheric, documentary hero. Image is from Fiji Parliament, not invented scenery. */
.hero{position:relative;display:block;min-height:555px;isolation:isolate;overflow:hidden;background:#0d3345;border:0;border-radius:5px;box-shadow:none;margin:24px 0 16px}
.hero-art{position:absolute;inset:0;z-index:-1;width:100%;height:100%;margin:0;overflow:hidden;background:linear-gradient(120deg,#082d43,#2e6173)}
.hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.78) contrast(1.08)}
.hero-art:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,28,43,.97) 0%,rgba(5,35,50,.94) 24%,rgba(5,40,54,.84) 48%,rgba(6,44,56,.47) 72%,rgba(5,29,45,.26) 100%),linear-gradient(0deg,rgba(6,30,45,.47),transparent 45%);pointer-events:none}
.hero-art:after{display:none}
.hero-copy{position:relative;z-index:2;width:min(820px,77%);max-width:820px;min-height:555px;padding:55px 20px 53px clamp(29px,5.5vw,78px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero .section-index{color:var(--brand-lime);font-size:10px;font-weight:850;letter-spacing:.11em}
.hero .tiny-line{background:var(--brand-lime);height:3px;width:17px}
.hero h1{display:block;color:#fff;font:650 clamp(45px,5.1vw,73px)/1.025 var(--display);letter-spacing:-.068em;margin:19px 0 21px;max-width:850px;text-wrap:balance}
.hero h1 em{display:block;font:650 1em/1.08 var(--display);letter-spacing:-.07em;color:var(--brand-lime);font-style:normal}
.hero .lead{max-width:645px;color:#f0f6f2;font:580 clamp(15px,1.55vw,18px)/1.65 var(--body);margin:0 0 13px}
.hero .lead-sub{max-width:645px;color:#d3e4e5;font:500 12px/1.7 var(--body);margin:0}
.hero-ctas{margin:27px 0 24px;gap:10px}
.hero .btn{border-radius:4px;min-height:44px;font-size:12px;font-weight:800;gap:20px;padding:12px 16px}
.hero .btn-primary{border-color:var(--brand-lime);color:#0a2738;background:var(--brand-lime)}
.hero .btn-primary:hover{background:#ddffab}
.hero .btn-subtle{background:rgba(255,255,255,.06);color:#f7fcfa;border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(4px)}
.hero .btn-subtle:hover{background:rgba(255,255,255,.2)}
.hero-proof{color:#d1e0df;font:680 9px/1.5 var(--body);letter-spacing:.03em}
.hero-proof .dot-green{background:var(--brand-lime)}
.hero-proof .proof-sep{color:#8eadaf}
.hero-photo-caption{position:absolute;z-index:3;right:18px;bottom:12px;left:auto;background:#082a3cbb;border:1px solid #c9ded830;padding:4px 8px;line-height:1.2;color:#d9e4e2;text-align:right;font-size:8px;font-weight:600}
.hero-photo-caption a{color:inherit;text-decoration:none}
.hero-photo-caption a:hover{text-decoration:underline}
.stat-grid{gap:10px;margin-bottom:14px}
.stat-card{border:1px solid #d9e2df;border-radius:5px;padding:20px 20px 17px;background:#fff;min-height:143px;gap:3px}
.stat-card:first-child{border-top:3px solid #0b7a84}
.stat-card:nth-child(2){border-top:3px solid #0a597b}
.stat-card:nth-child(3){border-top:3px solid #a47e4e}
.stat-card:nth-child(4){border-top:3px solid #3b8064}
.stat-top{color:#70848a;font-size:9px;letter-spacing:.07em}
.stat-card strong{margin:5px 0;color:#153a4d;font-size:38px;letter-spacing:-.06em}
.stat-card strong.stat-word{font-size:30px;letter-spacing:-.04em}
.stat-card>span:last-child{color:#586d78;font:540 11px/1.5 var(--body)}
.overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:13px}
.editorial-panel,.overview-aside{border:1px solid #d9e4df;border-radius:5px;background:#fff;padding:29px 32px}
.editorial-panel h2{font-weight:650;letter-spacing:-.055em;font-size:clamp(26px,2.8vw,35px)}
.editorial-panel>p{font-size:12px;line-height:1.8;color:#496673}
.evidence{background:#eff6f3;border:1px solid #d6e5dd;border-left:3px solid #0a8992;border-radius:3px;padding:13px 15px}
.evidence strong{color:#27616c}
.text-links a{color:#0b6876}
.overview-aside h3{font-size:24px}
.quick-row{grid-template-columns:28px minmax(0,1fr) 14px;padding:17px 0}
.quick-row strong{font-size:12px}
.aside-note{background:#f2f6f3;border-radius:3px}
.understand-strip{background:#ecf3f0;border-radius:4px;border-color:#d4e2dc;padding:15px 18px}
.view-heading{padding:43px 0 24px;border-bottom:1px solid #cbd9d2;margin-bottom:24px}
.view-heading h1{font-size:clamp(33px,4vw,54px);font-weight:650;letter-spacing:-.065em;max-width:880px}
.view-heading p{font-size:13px;color:#566d7a;max-width:820px}
.focus-banner{border-radius:4px;background:#ecf4f0}
.topic-filter{gap:6px;margin-bottom:16px}
.topic-filter button{border-radius:4px;font-weight:750;padding:10px 14px}
.topic-filter button[aria-pressed=true]{background:#0e5c70;border-color:#0e5c70}
.reform-grid{gap:11px}
.reform-card,.voter-card,.stage{border:1px solid #d9e3df;border-top:3px solid #15828a;border-radius:5px;background:#fff;box-shadow:none;padding:20px;min-height:0}
.reform-card h3,.voter-card h3{font-weight:700;letter-spacing:-.045em}
.reform-card p,.voter-card p{font-size:11.5px;color:#506c75;line-height:1.72}
.stage h3{font-weight:720}
.stage.current{background:#ecf7f3}
.timeline,.timeline li,.faq details,.results-panel,.source-list,.source-list>a{border-color:#d8e5de}
.timeline,.faq details,.results-panel,.source-list{border-radius:5px}
.split-notes>div,.civic-process,.debate-side,.no-persuasion,.result-pledge,.source-method{border-radius:5px}
.debate-side{border-top:4px solid #0d6c78}
.source-list>a:hover{background:#f1f7f4}
.footer{background:#0c2738;border-top:4px solid #82c5a3}
.footer-brand strong span{color:var(--brand-lime)}
.footer-links a,.footer-links button{color:#d1f4ba}
/* Prevent unpleasant cropped text or overlap at intermediate widths */
@media(max-width:1100px){
 .hero-copy{width:min(850px,86%);padding-left:38px}
 .hero h1{font-size:clamp(42px,5.8vw,65px)}
 .stat-card{padding:17px}
 .stat-card strong{font-size:34px}
 .overview-grid{grid-template-columns:1.45fr .85fr}
}
@media(max-width:760px){
 .rail{padding:8px 17px;gap:8px;flex-wrap:wrap}
 .hero{min-height:0;margin-top:15px}
 .hero-copy{width:100%;max-width:none;min-height:490px;padding:37px 28px 49px}
 .hero-art{min-height:0}
 .hero-photo{object-position:58% center}
 .hero-art:before{background:linear-gradient(90deg,rgba(5,27,43,.97),rgba(5,32,49,.91) 58%,rgba(6,36,49,.65)),linear-gradient(0deg,#071e31a1,transparent 60%)}
 .hero h1{font-size:clamp(41px,7vw,54px)}
 .hero .lead{font-size:15px}
 .overview-grid{grid-template-columns:1fr}
 .footer{padding-bottom:28px}
}
@media(max-width:540px){
 .header-main{min-height:68px}
 .rail{font-size:9px;line-height:1.5}
 .rail strong{font-size:8px}
 .rail>span:nth-of-type(2){flex:1;min-width:170px}
 .header-right{gap:8px}
 .hero{border-radius:3px;margin:11px 0 12px}
 .hero-copy{min-height:530px;padding:31px 19px 48px}
 .hero h1{font-size:clamp(39px,11vw,51px);letter-spacing:-.065em;line-height:1.04;margin:19px 0 17px}
 .hero h1 em{font-size:1em}
 .hero .lead{font-size:14px;line-height:1.6}
 .hero .lead-sub{font-size:11px;line-height:1.6}
 .hero-ctas{margin:20px 0 16px;width:100%;gap:8px}
 .hero .btn{width:100%;font-size:11px;min-height:43px;padding:10px 13px}
 .hero-photo-caption{right:9px;bottom:7px;font-size:7px;max-width:96%}
 .hero-proof{font-size:8px}
 .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .stat-card{min-height:129px;padding:14px 12px}
 .stat-card strong{font-size:29px}
 .stat-card strong.stat-word{font-size:24px}
 .stat-top{font-size:8px}
 .stat-card>span:last-child{font-size:10px}
 .editorial-panel,.overview-aside{padding:18px;border-radius:4px}
 .view-heading{padding:25px 4px 18px;margin-bottom:16px}
 .view-heading h1{font-size:clamp(30px,8.7vw,42px)}
 .view-heading p{font-size:12px}
 .reform-card,.voter-card,.stage{border-radius:4px;padding:18px}
 .reform-card p,.voter-card p{font-size:11px}
 .source-list>a{padding:15px}
 .nav button{padding:13px 12px;font-size:10px}
}
@media(max-width:360px){
 .hero-copy{padding-inline:16px;min-height:555px}
 .hero h1{font-size:38px}
 .logo-side{font-size:9px}
 .logo-side small{font-size:6.5px}
}
@media(prefers-reduced-motion:reduce){
 *{scroll-behavior:auto!important;transition:none!important}
}
