html,body{background:#1A1A18;margin:0}
.s{width:1920px;height:1080px;position:relative;overflow:hidden;box-sizing:border-box;padding:104px 112px 120px;font-family:var(--font-sans);color:#000;background:#fff;display:flex;flex-direction:column}
.s.dark{background:#0B0B0A;color:#fff}.s.dark h1,.s.dark h2,.s.dark h3,.s.dark .t{color:#fff}.s.yellow{background:var(--sb-yellow)}.s.grad{background:var(--sb-gradient)}.s.soft{background:#F7F5F0}
.foot{position:absolute;left:112px;right:112px;bottom:40px;display:flex;justify-content:space-between;align-items:center;font-size:18px;font-weight:600;letter-spacing:.06em;z-index:5}
.foot span:first-child{opacity:.5}.foot .pg{display:flex;align-items:center;gap:14px;font-weight:800;opacity:1}
.foot .pg::before{content:"";width:34px;height:3px;background:var(--sb-yellow)}
.eb{display:flex;align-items:center;gap:16px;font-size:21px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;margin:0 0 30px;color:#000}
.eb::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--sb-yellow);box-shadow:0 0 0 6px rgba(249,176,0,.22)}
.dark .eb{color:#fff}.yellow .eb::before{background:#000;box-shadow:0 0 0 6px rgba(0,0,0,.12)}
.t{font-weight:800;font-size:78px;line-height:1.03;letter-spacing:-.025em;margin:0;text-wrap:balance}
.t.xl{font-size:124px;line-height:.96;letter-spacing:-.035em}.t.m{font-size:66px}
.hl{background:linear-gradient(to bottom,transparent 56%,var(--sb-yellow) 56%,var(--sb-yellow) 90%,transparent 90%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .1em;margin:0 -.1em}
.dark .hl{background:none;color:var(--sb-yellow)}.yellow .hl{background:linear-gradient(to bottom,transparent 56%,#fff 56%,#fff 90%,transparent 90%)}
.lede{font-size:30px;line-height:1.45;font-weight:500;margin:26px 0 0;max-width:1320px;text-wrap:pretty;color:#3a3a3a}
.dark .lede{color:rgba(255,255,255,.75)}.yellow .lede{color:#000}
.body{font-size:26px;line-height:1.5;margin:0;text-wrap:pretty}
.muted{color:#6B6B6B}.dark .muted{color:rgba(255,255,255,.58)}
.fill{flex:1;min-height:0;margin-top:52px}.fill>*{min-height:0}.s>.row{min-height:0}.s>.row>*{min-height:0}
.row{display:grid;gap:40px}.c2{grid-template-columns:1fr 1fr}.c3{grid-template-columns:repeat(3,1fr)}.c4{grid-template-columns:repeat(4,1fr)}.c5{grid-template-columns:repeat(5,1fr)}
.card{background:#fff;border-radius:24px;padding:36px;display:flex;flex-direction:column;gap:14px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 18px 50px -20px rgba(0,0,0,.18);position:relative}
.soft .card,.s .card.flat{box-shadow:none}.card.g{background:#F4F2EC;box-shadow:none}
.card.y{background:var(--sb-yellow);box-shadow:none}.card.k{background:#0B0B0A;color:#fff;box-shadow:none}
.dark .card{background:#171716;box-shadow:none}.dark .card.y{background:var(--sb-yellow);color:#000}
.card h3{font-size:32px;font-weight:800;line-height:1.15;margin:0;letter-spacing:-.01em;text-wrap:balance}
.card p{font-size:23px;line-height:1.45;margin:0;text-wrap:pretty}
.lbl{font-size:18px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#6B6B6B}
.card.y .lbl,.card.k .lbl,.dark .lbl{color:inherit;opacity:.65}
.big{font-weight:900;line-height:.88;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.num{font-weight:900;font-size:92px;line-height:.95;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.ic{width:64px;height:64px;border-radius:18px;background:var(--sb-yellow);display:grid;place-items:center;flex:none}
.ic svg{width:36px;height:36px}.ic.k{background:#000;color:var(--sb-yellow)}.ic.w{background:#fff}.ic.o{background:transparent;border:2.5px solid currentColor}
.ic.lg{width:92px;height:92px;border-radius:26px}.ic.lg svg{width:52px;height:52px}
svg.i{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:20px}
.bul li{font-size:25px;line-height:1.42;padding-left:38px;position:relative;text-wrap:pretty}
.bul li::before{content:"";position:absolute;left:0;top:.42em;width:16px;height:16px;border-radius:50%;background:var(--sb-yellow)}
.card.y .bul li::before{background:#000}
.bul b{font-weight:800}
.rule{border-top:3px solid currentColor;padding-top:22px}
.shot{border-radius:18px;box-shadow:0 30px 70px -24px rgba(0,0,0,.35);display:block;max-width:100%}
.ph{width:100%;height:100%;object-fit:cover;display:block}
.frame{border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 30px 80px -30px rgba(0,0,0,.4);display:flex;flex-direction:column}
.frame .bar3{height:44px;flex:none;background:#EFEDE8;display:flex;align-items:center;gap:9px;padding:0 18px}
.frame .bar3 i{width:13px;height:13px;border-radius:50%;background:#D5D2CA}.frame .bar3 i:first-child{background:var(--sb-yellow)}
.frame .bar3 u{text-decoration:none;margin-left:14px;font-size:16px;font-weight:600;color:#6B6B6B;background:#fff;border-radius:8px;padding:5px 14px}
.term{background:#0B0B0A;color:#EDEDED;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 80px -30px rgba(0,0,0,.5)}
.term .bar3{background:#1c1c1a;height:48px;display:flex;align-items:center;gap:9px;padding:0 20px;flex:none}
.term .bar3 i{width:13px;height:13px;border-radius:50%;background:#3a3a37}.term .bar3 i:first-child{background:var(--sb-yellow)}
.term .bar3 b{margin-left:auto;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:#8a8a85;font-weight:700}
.term{overflow:hidden;min-height:0}.term pre{margin:0;padding:26px 34px;font-family:var(--font-mono);font-size:19px;line-height:1.42;white-space:pre-wrap;flex:1;overflow:hidden}
.term em{font-style:normal;color:var(--sb-yellow)}
.caret{display:inline-block;width:12px;height:26px;background:var(--sb-yellow);vertical-align:-5px;margin-left:4px;animation:blink 1s steps(1) infinite}
.pill{display:inline-flex;align-items:center;gap:12px;background:#0B0B0A;color:#fff;border-radius:999px;padding:12px 24px;font-size:18px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;align-self:flex-start}
.pill::before{content:"";width:12px;height:12px;border-radius:50%;background:#3BD16F;box-shadow:0 0 0 0 rgba(59,209,111,.6);animation:ping 1.8s infinite}
.note{font-size:26px;font-weight:700;line-height:1.4;padding:26px 34px;background:#0B0B0A;color:#fff;border-radius:18px;display:flex;align-items:center;gap:24px}
.note .hl{background:none;color:var(--sb-yellow)}
.chip{display:inline-flex;background:#0B0B0A;color:#fff;border-radius:999px;padding:9px 20px;font-size:19px;font-weight:700}
.deco-stripes{position:absolute;pointer-events:none;opacity:.9}
.ring{transform:rotate(-90deg)}.ring circle{fill:none}
a{color:#000}a:hover{color:var(--sb-yellow-600)}
/* motion — plays each time a slide becomes active */
@keyframes rise{from{opacity:0;transform:translateY(36px)}}
@keyframes fade{from{opacity:0}}
@keyframes kb{from{transform:scale(1.14) translate(1%,1%)}to{transform:scale(1)}}
@keyframes growY{from{transform:scaleY(0)}}
@keyframes growX{from{transform:scaleX(0)}}
@keyframes draw{from{stroke-dashoffset:var(--len,1000)}}
@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}
@keyframes blink{50%{opacity:0}}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(59,209,111,.6)}80%,100%{box-shadow:0 0 0 12px rgba(59,209,111,0)}}
@keyframes flow{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes flash{0%,100%{opacity:0}8%{opacity:.9}30%{opacity:0}}
@keyframes floaty{50%{transform:translateY(-12px)}}
[data-deck-active] .rise{animation:rise .85s cubic-bezier(.2,0,0,1) both;animation-delay:calc(var(--d,0) * 110ms + 150ms)}
[data-deck-active] .fade{animation:fade 1s ease both;animation-delay:calc(var(--d,0) * 110ms + 150ms)}
[data-deck-active] .pop{animation:pop .7s cubic-bezier(.2,0,0,1) both;animation-delay:calc(var(--d,0) * 110ms + 250ms)}
[data-deck-active] .kb{animation:kb 16s cubic-bezier(.2,0,.2,1) both}
.gy{transform-origin:bottom}[data-deck-active] .gy{animation:growY 1.1s cubic-bezier(.2,0,0,1) both;animation-delay:calc(var(--d,0) * 70ms + 300ms)}
.gx{transform-origin:left}[data-deck-active] .gx{animation:growX 1.3s cubic-bezier(.2,0,0,1) both;animation-delay:calc(var(--d,0) * 120ms + 300ms)}
.dr{stroke-dasharray:var(--len,1000)}[data-deck-active] .dr{animation:draw 2s cubic-bezier(.3,0,0,1) both;animation-delay:calc(var(--d,0) * 150ms + 300ms)}
.float{animation:floaty 5s ease-in-out infinite}
@media print{*,*::before,*::after{animation:none!important;transition:none!important}}
