/* page-index.css — extracted from design handoff */
/* ---- Hero ---- */
.hero{position:relative;background:var(--p800);color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0;background:url('album/jubile90_30.jpg') center 30%/cover}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,8,70,.97) 0%,rgba(59,10,92,.88) 42%,rgba(59,10,92,.35) 100%)}
.hero .wrap{position:relative;padding-top:96px;padding-bottom:0}
.hero .tag{display:inline-flex;gap:10px;align-items:center;background:var(--gold);color:var(--p900);font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;border-radius:999px}
.hero h1{font-size:clamp(42px,6vw,84px);font-weight:900;letter-spacing:-.02em;margin:24px 0 22px;max-width:13ch}
.hero h1 em{font-style:normal;color:var(--teal)}
.hero .lede{max-width:58ch;font-size:19px;color:#eadff5}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0 72px}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.18);background:rgba(28,4,46,.55);backdrop-filter:blur(6px)}
.kpi{padding:26px 24px 28px;border-right:1px solid rgba(255,255,255,.12);position:relative}
.kpi:last-child{border-right:0}
.kpi::before{content:"";position:absolute;left:24px;right:24px;top:0;height:4px;background:var(--c,var(--teal))}
.kpi b{display:block;font-size:clamp(28px,3vw,40px);font-weight:900;letter-spacing:-.01em;line-height:1}
.kpi span{display:block;margin-top:10px;font-size:13.5px;color:#d9c6ef;line-height:1.35}

/* ---- Overview ---- */
.ov{display:grid;grid-template-columns:380px 1fr;gap:56px;align-items:center}
.donut{position:relative;width:320px;height:320px;margin:0 auto}
.donut svg{transform:rotate(-90deg)}
.donut .ctr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut .ctr b{font-size:76px;font-weight:900;color:var(--p700);line-height:1}
.donut .ctr span{font:600 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:6px}
.legend{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;justify-content:center;font-size:14.5px;color:var(--ink2)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px;vertical-align:-1px}
.pbars{display:grid;gap:22px}
.pbar{display:grid;grid-template-columns:72px 1fr 70px;gap:18px;align-items:center;text-decoration:none;color:inherit}
.pbar .n{font:600 12px var(--mono);letter-spacing:.1em;color:var(--mute)}
.pbar h4{font-size:18px;font-weight:900;color:var(--p700);margin-bottom:8px}
.pbar .trk{height:10px;background:var(--p100);border-radius:999px;overflow:hidden}
.pbar .trk div{height:100%;width:0;border-radius:999px;transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
.pbar .pc{font-size:30px;font-weight:900;color:var(--p700);text-align:right}
.pbar:hover h4{text-decoration:underline}

/* ---- Paikady cards ---- */
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.pcard .top{height:6px;background:var(--c)}
.pcard header{padding:26px 28px 18px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start}
.pcard .code{font:600 11.5px var(--mono);letter-spacing:.14em;color:var(--mute);text-transform:uppercase}
.pcard h3{font-size:23px;font-weight:900;color:var(--p700);margin-top:8px}
.pcard .big{font-size:52px;font-weight:900;color:var(--p700);line-height:.9}
.pcard .trk{margin:0 28px 10px;height:8px;background:var(--p100);border-radius:999px;overflow:hidden}
.pcard .trk div{height:100%;width:0;background:var(--c);transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
.items{list-style:none;margin:0;padding:6px 28px 12px;flex:1}
.items li{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.items li:first-child{border-top:0}
.st{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:900;margin-top:1px}
.st.ok{background:var(--green)}.st.ok::after{content:"✓"}
.st.wip{background:var(--salmon)}.st.wip::after{content:"–"}
.st.ko{background:var(--red)}.st.ko::after{content:"!"}
.items b{display:block;font-weight:900;color:var(--ink);font-size:16px}
.items p{font-size:14.5px;color:var(--ink2);margin-top:3px}
.pcard footer{padding:16px 28px 22px;display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);background:var(--p50)}
.pcard footer span{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);width:100%;margin-bottom:2px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--p500);text-decoration:none}
.chip:hover{border-color:var(--p500)}
.chip.web::before{content:"WEB";background:var(--green)}
.chip::before{content:"PDF";font:600 9.5px var(--mono);background:var(--p500);color:#fff;padding:2px 5px;border-radius:3px}

/* ---- Charts ---- */
.cgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.chart{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column}
.chart h3{font-size:19px;font-weight:900;color:var(--p700)}
.chart .sub{font-size:14px;color:var(--mute);margin-top:4px}
.chart .src{margin-top:auto;padding-top:18px;font:500 11.5px var(--mono);color:var(--mute);letter-spacing:.04em}
.chart .src a{color:var(--p500)}
.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c12{grid-column:span 12}
.vbars{display:flex;align-items:flex-end;gap:22px;height:230px;margin-top:28px;position:relative;border-bottom:2px solid var(--p700);padding:0 8px}
.vbars .goal{position:absolute;left:0;right:0;border-top:2px dashed var(--red)}
.vbars .goal span{position:absolute;right:0;top:-22px;font:600 11.5px var(--mono);color:var(--red)}
.vb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.vb .bar{width:100%;max-width:84px;height:0;background:var(--p500);border-radius:4px 4px 0 0;transition:height 1.3s cubic-bezier(.2,.7,.2,1);position:relative}
.vb .bar b{position:absolute;top:-26px;left:50%;transform:translateX(-50%);font-size:15px;font-weight:900;color:var(--p700);white-space:nowrap}
.vlab{display:flex;gap:22px;padding:8px 8px 0}
.vlab span{flex:1;text-align:center;font:600 12.5px var(--mono);color:var(--ink2)}
.hbars{display:grid;gap:12px;margin-top:24px}
.hb{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;font-size:14.5px;font-weight:700}
.hb .t{height:24px;background:var(--p50);border-radius:4px;overflow:hidden}
.hb .t div{height:100%;width:0;background:var(--c,var(--p500));border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;color:#fff;font-size:12.5px;font-weight:900;white-space:nowrap;transition:width 1.3s cubic-bezier(.2,.7,.2,1)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.ring{text-align:center}
.ring .r{position:relative;width:132px;height:132px;margin:0 auto}
.ring svg{transform:rotate(-90deg)}
.ring .r b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;color:var(--p700)}
.ring p{font-size:13.5px;color:var(--ink2);margin-top:10px}
.cmp{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-top:26px}
.cmp .a,.cmp .b{border-radius:var(--r);padding:20px;text-align:center}
.cmp .a{background:var(--p50)}.cmp .b{background:var(--p700);color:#fff}
.cmp b{display:block;font-size:34px;font-weight:900;line-height:1}
.cmp small{font:600 11.5px var(--mono);letter-spacing:.08em;opacity:.75}
.cmp .ar{font-size:13px;font-weight:900;color:var(--green);text-align:center}
.cmp .ar::before{content:"→";display:block;font-size:24px;color:var(--p300)}
.mini{display:grid;gap:8px;margin-top:18px}
.mini div{display:flex;justify-content:space-between;font-size:14px;border-bottom:1px dashed var(--line);padding-bottom:6px}
.mini b{color:var(--p700)}
.fin-top{display:flex;gap:28px;flex-wrap:wrap;margin-top:18px}
.fin-top div b{display:block;font-size:30px;font-weight:900;color:var(--p700);line-height:1.05}
.fin-top div span{font:600 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.fin-top .s b{color:var(--green)}

/* ---- Jubile teaser ---- */
.jub{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.jub .mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:92px;gap:8px}
.jub .mosaic a{border-radius:4px;overflow:hidden;background:var(--p700)}
.jub .mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.jub .mosaic a:hover img{transform:scale(1.06)}
.m1{grid-column:span 4;grid-row:span 3}.m2{grid-column:span 2;grid-row:span 2}.m3{grid-column:span 2;grid-row:span 1}.m4{grid-column:span 3;grid-row:span 2}.m5{grid-column:span 3;grid-row:span 2}
.jub h2{font-size:clamp(34px,4vw,54px);font-weight:900;margin:14px 0 18px}
.jub h2 span{color:var(--gold)}
.jstats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.15);border-radius:var(--r);overflow:hidden;margin:28px 0}
.jstats div{background:var(--p800);padding:20px}
.jstats b{display:block;font-size:34px;font-weight:900;color:#fff;line-height:1}
.jstats span{font-size:13.5px;color:#d9c6ef}

/* ---- Videos ---- */
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.vcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.vframe{aspect-ratio:16/9;background:var(--p900);position:relative}
.vframe iframe,.vframe video{position:absolute;inset:0;width:100%;height:100%;border:0}
.vposter{position:absolute;inset:0;background-size:cover;background-position:center}
.vposter::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,4,46,.85),rgba(28,4,46,.15))}
.vplay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.vplay span{width:84px;height:84px;border-radius:50%;background:var(--gold);color:var(--p900);display:flex;align-items:center;justify-content:center;font-size:30px;padding-left:6px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.vnote{position:absolute;left:18px;right:18px;bottom:14px;color:#eadff5;font:500 12px var(--mono);letter-spacing:.02em}
.vnote code{color:var(--gold)}
.vbody{padding:26px 28px}
.vbody .eyebrow{margin-bottom:10px}
.vbody h3{font-size:26px;font-weight:900;color:var(--p700)}
.vbody p{color:var(--ink2);margin-top:10px;font-size:15.5px}
.vstats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.vstats div{background:var(--p50);border-radius:var(--r);padding:14px}
.vstats b{display:block;font-size:22px;font-weight:900;color:var(--p700);line-height:1.1}
.vstats span{font-size:12.5px;color:var(--ink2)}
.vbody .acts{display:flex;gap:10px;flex-wrap:wrap}

/* ---- Digital ---- */
.dig{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.dig h2{font-size:clamp(34px,4vw,52px);font-weight:900;color:var(--p700);margin:14px 0 18px}
.dig .big{font-size:110px;font-weight:900;color:var(--p500);line-height:.9;letter-spacing:-.03em}
.links{display:grid;gap:12px;margin-top:26px}
.links a{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);font-weight:900}
.links a small{display:block;font-weight:400;color:var(--mute);font-size:13.5px}
.links a:hover{border-color:var(--p500)}
.links a.feat{background:var(--p700);color:#fff;border-color:var(--p700)}
.links a.feat small{color:#d9c6ef}
.links a::after{content:"↗";font-size:20px}

/* ---- Docs teaser ---- */
.dgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.doc{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .2s, box-shadow .2s}
.doc:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(77,0,110,.12)}
.doc .cv{aspect-ratio:16/10;background:var(--p100) center top/cover;border-bottom:1px solid var(--line)}
.doc .b{padding:16px 18px 18px}
.doc .no{font:600 11px var(--mono);letter-spacing:.12em;color:var(--p500)}
.doc h4{font-size:16.5px;font-weight:900;margin-top:6px;color:var(--ink)}
.doc p{font-size:13px;color:var(--mute);margin-top:4px}

/* ---- Priorities ---- */
.prio{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}
.prio ol{margin:0;padding:0;list-style:none;counter-reset:p}
.prio li{counter-increment:p;display:grid;grid-template-columns:48px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--line)}
.prio li:first-child{border-top:0}
.prio li::before{content:counter(p,decimal-leading-zero);font:600 15px var(--mono);color:var(--p500)}
.prio li b{color:var(--ink)}
.prio li span{color:var(--ink2)}
.partners{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.partners span{background:var(--p700);color:#fff;font-weight:700;font-size:14px;padding:8px 14px;border-radius:999px}

@media (max-width:1080px){
  .kpis{grid-template-columns:repeat(3,1fr)}.kpi:nth-child(3){border-right:0}
  .ov,.jub,.dig,.prio{grid-template-columns:1fr}
  .pgrid,.vgrid{grid-template-columns:1fr}
  .c4,.c5,.c6,.c7,.c8{grid-column:span 12}
  .dgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .kpis{grid-template-columns:1fr 1fr}.kpi{border-right:0}
  .pbar{grid-template-columns:1fr 60px}.pbar .n{display:none}
  .dgrid{grid-template-columns:1fr}
  .vstats{grid-template-columns:1fr 1fr 1fr}
}
