/* korus-2: the PFM Score deck, redrawn slide by slide. Each slide is a 16:9 frame;
   everything inside is positioned in cqw (1cqw = 1% of the frame width). */
:root{--k2bg:radial-gradient(70% 90% at 92% 100%,#d9efe2 0,transparent 60%),linear-gradient(140deg,#fff,#f6f8f6 60%,#eef4ef);--k2ink:#111613;--k2mute:#56655d;--k2line:#0a100d14;--k2band:linear-gradient(180deg,#e7ebe8,#f6f8f6 80%);--k2big:#e6ebe7}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--k2bg:radial-gradient(70% 90% at 92% 100%,#14472f80 0,transparent 60%),#0d1310;--k2ink:#f3f7f4;--k2mute:#9bb2a6;--k2line:#ffffff1a;--k2band:linear-gradient(180deg,#1f2723,#0d1310 80%);--k2big:#18201c}}
:root[data-theme="dark"]{--k2bg:radial-gradient(70% 90% at 92% 100%,#14472f80 0,transparent 60%),#0d1310;--k2ink:#f3f7f4;--k2mute:#9bb2a6;--k2line:#ffffff1a;--k2band:linear-gradient(180deg,#1f2723,#0d1310 80%);--k2big:#18201c}

.k2wrap{display:grid;gap:clamp(14px,2vw,24px);padding:clamp(30px,5vw,60px) var(--pad) 0;max-width:calc(1120px + 2*var(--pad));margin:0 auto}
.k2f{position:relative;container-type:inline-size;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);background:var(--k2bg);border:1px solid var(--k2line);color:var(--k2ink)}
.k2e{position:absolute}
.k2t{font-weight:800;font-size:2.7cqw;line-height:1.08;letter-spacing:-.02em;margin:0}
.k2t.xl{font-size:4.4cqw}.k2t.q{font-size:3.2cqw}
.k2sub{font-size:1.4cqw;line-height:1.35;color:var(--k2mute);font-weight:500}
.k2lb{font-size:1.2cqw;line-height:1.3;color:var(--k2mute);font-weight:500;text-align:center}
.k2lb.l{text-align:left}
.k2warn{display:flex;gap:.7cqw;align-items:flex-start;font-size:1.25cqw;line-height:1.35;color:var(--k2mute);font-weight:500}
.k2warn i{flex:none;width:1.6cqw;height:1.6cqw;margin-top:.1cqw;border-radius:.35cqw;background:#f0a22a;color:#fff;font:800 1.05cqw/1.6cqw sans-serif;font-style:normal;text-align:center}
.k2q{font-weight:800;font-size:2.8cqw;letter-spacing:-.02em}.k2q.dim{color:var(--k2mute);opacity:.55}
.k2big{font-weight:800;font-size:24cqw;line-height:1;color:var(--k2big);letter-spacing:-.04em}
.k2svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.k2svg path{fill:none;stroke:var(--k2mute);stroke-width:.085;stroke-linecap:round;stroke-linejoin:round;opacity:.5}
.k2svg .red{stroke:#e5484d;stroke-width:.35;opacity:1}
.k2svg .dot{stroke-dasharray:.3 .6;stroke-width:.11}

/* reveal: elements of a slide stagger in when the slide scrolls into view (site.js adds .in) */
.k2s .a{opacity:0;transform:translateY(1.4cqw);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*110ms + 100ms)}
.k2s.in .a{opacity:1;transform:none}
.k2s .arc{stroke-dasharray:0 100;transition:stroke-dasharray 1.4s cubic-bezier(.3,.7,.2,1) .7s}
.k2s.in .arc{stroke-dasharray:var(--d) 100}
.k2s .u-bars span{transform:scaleY(0);transform-origin:bottom;transition:transform .9s cubic-bezier(.3,.7,.2,1);transition-delay:calc(var(--j,0)*70ms + 800ms)}
.k2s.in .u-bars span{transform:none}
.k2s .k2svg path{stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.1s ease 1s}
.k2s .k2svg path.dot{stroke-dasharray:.3 .6;stroke-dashoffset:0;opacity:0;transition:opacity .8s ease 1s}
.k2s.in .k2svg path{stroke-dashoffset:0}.k2s.in .k2svg path.dot{opacity:.5}
.k2s .fha{stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.6s cubic-bezier(.45,.05,.2,1) .9s}
.k2s.in .fha{stroke-dashoffset:0}
.k2s .fhd{transform-box:view-box;transform-origin:800px 250px;transition:transform 1.6s cubic-bezier(.45,.05,.2,1) .9s}
.k2s.in .fhd{transform:rotate(92.8deg)}
@media(prefers-reduced-motion:reduce){.k2s .a{opacity:1;transform:none;transition:none}.k2s .arc{stroke-dasharray:var(--d) 100;transition:none}.k2s .u-bars span{transform:none;transition:none}.k2s .k2svg path{stroke-dashoffset:0;transition:none}.k2s .k2svg path.dot{opacity:.5}.k2s .fha{stroke-dashoffset:0;transition:none}.k2s .fhd{transform:rotate(92.8deg);transition:none}}

/* phone: width set by --pw (in cqw); inner sizes in em, 1em = width/30 */
.k2p{width:calc(var(--pw)*1cqw);aspect-ratio:300/640;font-size:calc(var(--pw)*1cqw/30);background:#111;border-radius:3.6em;padding:.7em;box-shadow:0 1.6em 3.4em #0a100d33;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#111}
.k2p .pin{position:relative;height:100%;border-radius:3em;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.k2p .psb{display:flex;justify-content:space-between;align-items:center;padding:1.2em 2em .4em;font-size:1.15em;font-weight:700;flex:none}
.k2p .psb i{width:3.4em;height:1em;border-radius:.3em;background:currentColor;opacity:.85}
.k2p .phi{position:absolute;bottom:.8em;left:50%;width:11em;height:.42em;margin-left:-5.5em;border-radius:1em;background:#111;z-index:4}
.k2p.dim .pin:after{content:"";position:absolute;inset:0;background:#0a100d4d;z-index:3}
.k2p.faded{opacity:.45;filter:saturate(.6)}
.k2s.in .k2p.faded{opacity:.45}
.k2card{background:#fff;color:#111;border-radius:1.1cqw;box-shadow:0 .5cqw 2.2cqw #0a100d17;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.k2chip{display:grid;justify-items:center;align-content:center;gap:.6cqw;background:#fff;color:#111;border-radius:1.2cqw;box-shadow:0 .8cqw 2.4cqw #0a100d33;font:600 1.3cqw "Helvetica Neue",Helvetica,Arial,sans-serif;z-index:5}
.k2chip svg{width:2.4cqw;height:2.4cqw}

/* task card on a slide */
.k2task{padding:1.3cqw 1.5cqw;font-size:.95cqw;line-height:1.38}
.k2task .h{display:flex;justify-content:space-between;align-items:baseline;font-size:1.15cqw;font-weight:600}
.k2task .h em{font-style:normal;color:#f0a22a;font-weight:600}.k2task .h em small{color:#111;font-size:.8em}
.k2task .pb{height:.2cqw;border-radius:1cqw;background:#eceef0;margin:.9cqw 0 1cqw;position:relative}.k2task .pb:before{content:"";position:absolute;left:0;top:0;bottom:0;width:.6cqw;border-radius:1cqw;background:#f5c000}
.k2task p{margin:0;color:#6b6e73}.k2task u{display:block;margin-top:.5cqw;text-decoration:none;color:#1f9d3c;font-weight:500}

/* indicator tiles popped out of a phone */
.k2ind{display:flex;gap:.5cqw}
.k2ind>div{flex:1;background:#fff;border-radius:.8cqw;box-shadow:0 .5cqw 2cqw #0a100d1f;padding:1.1cqw 1cqw;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#111}
.k2ind svg{width:2.4cqw;height:2.4cqw;display:block;margin-bottom:1cqw}
.k2ind b{display:block;font-size:.95cqw;font-weight:500}.k2ind span{font-size:.75cqw;color:#7c7f85}
.k2ind.grey>div{opacity:1}
.k2big4>div{display:flex;flex-direction:column;justify-content:space-between;padding:2cqw;border-radius:1.6cqw;font-family:inherit}
.k2big4 svg{width:4.4cqw;height:4.4cqw;margin:0}
.k2big4 b{font-size:2.3cqw;font-weight:500;color:#2b2d31}
.k2big4 .off{background:#e1e4e2;box-shadow:none}.k2big4 .off b{color:#3a3d42}
.k2brk{border:.12cqw solid var(--k2mute);opacity:.6;height:1.2cqw}
.k2brk.t{border-bottom:0;border-radius:.4cqw .4cqw 0 0}.k2brk.b{border-top:0;border-radius:0 0 .4cqw .4cqw}

/* phone UI kit (em units) */
.u{display:flex;flex-direction:column;gap:1em;padding:0 1.3em;flex:1;min-height:0;font-size:1em}
.u-hd{display:flex;align-items:center;justify-content:space-between;padding:.3em 1.3em .8em;font-size:1.2em;flex:none}.u-hd b{font-weight:600}
.u-bk{width:.6em;height:.6em;border-left:.15em solid #1f9d3c;border-bottom:.15em solid #1f9d3c;transform:rotate(45deg)}
.u-x{font-style:normal;width:1.6em;height:1.6em;border-radius:.5em;background:#f0f1f3;color:#8a8f98;display:grid;place-items:center}
.u-leaf{width:1.7em;height:1.7em;border-radius:50%;border:.12em solid #1f9d3c;display:grid;place-items:center;color:#1f9d3c;font-size:.9em;font-style:normal}
.u-g{background:#f3f4f6;border-radius:1.1em;padding:1em 1.1em}
.u-c{background:#fff;border-radius:1.1em;padding:1em 1.1em;box-shadow:0 .2em 1.2em #0a100d14}
.u-pts{display:flex;align-items:center;gap:.25em}.u-pts b{font-size:1.8em;font-weight:600}.u-pts i{font-style:normal;width:1.3em;height:1.3em;border:1px solid #9aa0a8;border-radius:50%;display:grid;place-items:center;font-size:.75em;color:#9aa0a8;margin-left:.3em}
.u-sl{height:.32em;border-radius:1em;background:#dfe2e6;margin:.7em 0 .9em;position:relative}.u-sl span{position:absolute;left:0;top:0;bottom:0;background:#2b2d31;border-radius:1em}.u-sl span:after{content:"";position:absolute;right:-.4em;top:50%;width:.8em;height:.8em;margin-top:-.4em;border-radius:50%;background:#2b2d31}
.u-mu{color:#7c7f85;font-size:.85em;line-height:1.35}.u-tx{font-size:.95em;line-height:1.35}
.u-bt{display:flex;align-items:center;gap:.9em;margin-top:.8em}.u-bt i{font-style:normal;background:#2b2d31;color:#fff;border-radius:.8em;padding:.6em 1em}.u-bt em{font-style:normal;color:#1f9d3c}
.u-tabs{display:grid;grid-template-columns:1fr 1fr;text-align:center;margin:0 -1.3em;border-bottom:1px solid #e3e5e8}.u-tabs>*{padding:.6em 0;font-size:1em}.u-tabs b{font-weight:600;border-bottom:.15em solid #1f9d3c}.u-tabs span{color:#8a8f98}
.u-amt{display:flex;align-items:center;justify-content:space-between}.u-amt b{display:block;font-size:1.6em;font-weight:500}.u-amt span{font-size:.72em;color:#7c7f85}
.u-pie{width:2.1em;height:2.1em;padding-left:.8em;border-left:1px solid #e3e5e8;box-sizing:content-box;flex:none}
.u-bars{display:flex;align-items:flex-end;gap:.45em;height:var(--bh,10em)}.u-bars span{flex:1;background:#eef0f2;border-radius:.5em;height:var(--h)}
.u-mo{display:flex;gap:.45em;margin-top:-.6em}.u-mo span{flex:1;text-align:center;font-size:.7em;color:#7c7f85}
.u-sec{display:flex;justify-content:space-between;align-items:baseline}.u-sec b{font-size:1.25em;font-weight:600}.u-sec span{color:#7c7f85}.u-sec em{font-style:normal;color:#1f9d3c}
.u-row{display:flex;align-items:center;gap:.9em}.u-row .t{flex:1;min-width:0}.u-row .t b{display:block;font-weight:500;font-size:1em}.u-row .t span{font-size:.78em;color:#7c7f85}.u-row>b{font-weight:500;white-space:nowrap}
.u-ic{width:2.5em;height:2.5em;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-weight:700}.u-ic svg{width:1.5em;height:1.5em}
.u-chips{display:flex;gap:.5em;white-space:nowrap}.u-chips span{background:#eef0f2;border-radius:2em;padding:.45em 1em;font-size:.85em}.u-chips .on{background:#2b2d31;color:#fff}
.u-gauge{position:relative;text-align:center}.u-gauge svg{width:100%;display:block}
.u-gauge .n{position:absolute;left:0;right:0;top:38%;line-height:1}.u-gauge .n b{display:block;font-size:4.2em;font-weight:600}.u-gauge .n span{font-size:.85em;color:#7c7f85}
.u-gauge .mm{display:flex;justify-content:space-between;padding:0 9%;margin-top:-1.4em;font-size:.75em;color:#9aa0a8}
.u-gt{text-align:center;font-size:1.75em;font-weight:600;margin:.3em 0 .1em}
.u-tile{flex:none;width:7.6em;background:#fff;border-radius:.9em;box-shadow:0 .2em 1em #0a100d14;padding:.8em;font-size:.85em}
.u-tile svg{width:2em;height:2em;display:block;margin-bottom:.5em}
.u-tiles{display:flex;gap:.5em;margin-right:-1.3em;overflow:hidden}
.u-ach{display:flex;gap:.6em;margin-right:-1.3em;overflow:hidden}.u-ach div{flex:none;width:5.8em;display:grid;justify-items:center;gap:.3em;text-align:center;font-size:.85em;line-height:1.2}.u-ach img{width:4.8em;height:4.8em;object-fit:contain}
.u-prog{display:flex;align-items:center;gap:.6em}.u-prog i{flex:1;height:.3em;border-radius:1em;background:linear-gradient(90deg,#9cd33b var(--p,33%),#eceef0 0)}.u-prog small{font-size:.72em;color:#7c7f85}
.u-ph{border-radius:1em;overflow:hidden;background:#eef0f2}.u-ph img{width:100%;height:100%;object-fit:cover;display:block}
.u-teal{background:linear-gradient(160deg,#1fb5a8,#0f6d73);color:#fff}
.u-hl{color:#1f9d3c}
.u-info{display:flex;gap:.6em;align-items:flex-start;font-size:.8em;line-height:1.35;padding:.8em 1em;border-radius:.9em;box-shadow:0 .2em 1em #0a100d14}.u-info i{flex:none;width:1.3em;height:1.3em;border-radius:50%;background:#2b7fd1;color:#fff;font-style:normal;font-size:.8em;display:grid;place-items:center}
.u-dash{border-top:1px solid #eceef0}
.u-sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:1.6em 1.6em 0 0;padding:.8em 1.5em 2.6em;display:flex;flex-direction:column;z-index:5}
.u-grab{width:3em;height:.3em;border-radius:1em;background:#d5d7db;margin:0 auto 1.4em}
.u-btn{text-align:center;background:#1a8f2e;color:#fff;border-radius:.8em;padding:.9em 0;font-size:1em}
/* the award sheet on slides */
.k2modal{padding:1cqw 1.8cqw 1.5cqw;display:grid;justify-items:center;text-align:center;gap:.7cqw;border-radius:1.6cqw}
.k2modal .g{width:2.6cqw;height:.4cqw;border-radius:1cqw;background:#d5d7db;margin-bottom:1cqw}
.k2modal img{width:7.6cqw;height:7.6cqw;object-fit:contain}
.k2modal b{font-size:1.6cqw;line-height:1.15;font-weight:700}.k2modal p{margin:0;font-size:1.1cqw;line-height:1.4;color:#6b6e73}
.k2modal i{font-style:normal;width:100%;background:#1a8f2e;color:#fff;border-radius:.9cqw;padding:1cqw 0;font-size:1.3cqw;margin-top:.6cqw}
.k2modal u{text-decoration:none;color:#1a8f2e;font-size:1.15cqw}
/* ownership slide */
.k2blob{border-radius:50%;background:#c4ef5e;display:grid;place-items:center;font-weight:700;font-size:2.4cqw;color:#1b2a12}
.k2pc{background:#fff;border-radius:1.6cqw;box-shadow:0 1cqw 3cqw #0a100d1f;overflow:hidden;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#111;font-size:1cqw}
.k2pc .u-ph{position:relative;border-radius:1.2em;margin:0 1.4em}
.k2pc .ov{position:absolute;left:1.2em;right:1.2em;bottom:1em;color:#fff;display:flex;justify-content:space-between;align-items:flex-end}
.k2pc .ov b{font-size:1.9em;font-weight:500;white-space:nowrap}.k2pc .ov small{display:block;font-size:.9em;margin-top:.3em}
.k2pc .ov em{font-style:normal;background:#0006;border-radius:.6em;padding:.4em .7em;font-size:1em}
.k2pc .acts{display:flex;justify-content:space-around;padding:1.4em .8em 1em;font-size:.95em;text-align:center}.k2pc .acts svg{width:2em;height:2em;display:block;margin:0 auto .5em}
.k2mini{display:flex;align-items:center;gap:1cqw;padding:.9cqw 1.2cqw;font-size:.85cqw}
.k2mini img,.k2mini .ico{width:2.6cqw;height:2.6cqw;border-radius:.5cqw;flex:none;object-fit:cover}
.k2mini .t{flex:1}.k2mini .t b{display:block;font-size:1.15cqw;font-weight:500;white-space:nowrap}.k2mini .t span{color:#7c7f85;white-space:nowrap}
.k2mini .r{text-align:right;color:#7c7f85;white-space:nowrap}
/* health gauge block (same construction as the Korus page) */
.fhh{position:relative;margin:0 -1.3em;aspect-ratio:750/600;flex:none}
.fhg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.fhg text{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.fhc{position:absolute;left:66.3%;top:71.7%;width:29.3%;height:24.2%;background:#fff;border-radius:1.1em;box-shadow:0 .3em 1.4em #0a100d14;display:grid;place-content:center;justify-items:center;gap:.1em}
.fhc span{color:#7b8087;font-size:.85em}.fhc b{font-size:1em;font-weight:600;white-space:nowrap}.fhc b em{font-style:normal;font-size:1.9em;color:#1f9d3c}

/* phone bezel: white in the light theme, black in the dark one */
:root:not([data-theme="dark"]) .k2p{background:#fff;box-shadow:0 .2em .9em #0a100d1a,0 1.6em 3.4em #0a100d29}
:root:not([data-theme="dark"]) .k2p .psb i{background:#2b2d31}
