:root{
  --g:#52CC7D;--dg:#1F3D40;--n:#FAF7F2;
  --im:#02BAB0;
  --t1:#FAF7F2;--t3:rgba(250,247,242,.65);--t4:rgba(250,247,242,.42);
  --fd:'Fraunces',Georgia,serif;--fb:'DM Sans',Arial,sans-serif;
  --tr:1.4s;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;background:#0a1e20;font-family:var(--fb);-webkit-font-smoothing:antialiased}
.ss{position:relative;width:100vw;height:100vh;overflow:hidden}

/* progress + dots + pause */
.pt{position:absolute;top:0;left:0;right:0;height:3px;background:rgba(82,204,125,.12);z-index:200}
.pf{height:100%;background:var(--g);width:0%}
.dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:200}
.dot{width:5px;height:5px;border-radius:50%;background:rgba(250,247,242,.22);transition:background .4s,transform .4s}
.dot.on{background:var(--g);transform:scale(1.5)}
.pb{position:absolute;top:18px;right:18px;padding:5px 14px;background:rgba(31,61,64,.85);border:1px solid rgba(82,204,125,.35);border-radius:20px;color:var(--g);font-size:11px;font-weight:500;letter-spacing:.06em;z-index:200;opacity:0;transition:opacity .3s;pointer-events:none}
.paused .pb{opacity:1}

/* slides */
.sl{position:absolute;inset:0;opacity:0;transition:opacity var(--tr) ease;pointer-events:none;overflow:hidden}
.sl.on{opacity:1;pointer-events:auto}

/* backgrounds + Ken Burns */
.bg{position:absolute;inset:-4%;background-size:cover;background-position:center;background-repeat:no-repeat}
@keyframes kbz{from{transform:scale(1.07)}to{transform:scale(1.00)}}
@keyframes kbl{from{transform:scale(1.06) translateX(1%)}to{transform:scale(1.01) translateX(-1%)}}
@keyframes kbr{from{transform:scale(1.06) translateX(-1%)}to{transform:scale(1.01) translateX(1%)}}
.sl.on .bg[data-k="z"]{animation:kbz 10s ease-out forwards}
.sl.on .bg[data-k="l"]{animation:kbl 10s ease-out forwards}
.sl.on .bg[data-k="r"]{animation:kbr 10s ease-out forwards}

/* overlays */
.ob{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,20,20,.95) 0%,rgba(6,20,20,.45) 38%,transparent 62%)}
.ob-strong{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,20,20,.97) 0%,rgba(6,20,20,.65) 44%,rgba(6,20,20,.15) 68%)}
.oc{position:absolute;inset:0;background:rgba(6,20,20,.5)}
.og{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(6,20,20,.4) 0%,rgba(6,20,20,.76) 100%)}
.ol{position:absolute;inset:0;background:linear-gradient(to right,rgba(6,20,20,.97) 0%,rgba(6,20,20,.7) 46%,transparent 76%)}

/* content containers */
.sc{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:68px 84px}
.sc-c{align-items:center;text-align:center}
.sc-b{justify-content:flex-end;padding-bottom:92px}
.sc-l55{max-width:57%}

/* typography */
.hl{font-family:var(--fd);font-size:clamp(34px,4.5vw,62px);font-weight:300;font-optical-sizing:auto;font-variation-settings:'SOFT' 0,'WONK' 1;color:var(--t1);line-height:1.07;margin-bottom:0}
.hl-lg{font-size:clamp(42px,5.5vw,76px)}
.hl-sm{font-size:clamp(26px,3.2vw,46px)}
.cap{font-family:var(--fd);font-size:clamp(38px,5.5vw,72px);font-weight:300;font-optical-sizing:auto;font-variation-settings:'SOFT' 0,'WONK' 1;color:var(--t1);line-height:1}
.sub{font-family:var(--fb);font-size:clamp(11px,1.1vw,14px);color:var(--t4);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}
.sub-g{color:var(--g)}
.wm{font-family:var(--fd);font-size:clamp(34px,4vw,52px);font-weight:400;font-optical-sizing:auto;font-variation-settings:'SOFT' 0,'WONK' 1;color:var(--t1);letter-spacing:.02em}
.tl{font-family:var(--fd);font-size:clamp(14px,1.4vw,19px);font-weight:300;font-style:italic;font-optical-sizing:auto;font-variation-settings:'SOFT' 0,'WONK' 0;color:var(--g);letter-spacing:.08em;margin-top:7px}
.ex{font-family:var(--fd);font-size:clamp(22px,2.8vw,36px);font-weight:300;font-style:italic;font-optical-sizing:auto;font-variation-settings:'SOFT' 50,'WONK' 1;color:var(--g);letter-spacing:.04em}
.ln{width:44px;height:3px;background:var(--g);border-radius:2px;margin:22px 0}
.ln-c{margin:22px auto}
.url{font-family:var(--fb);font-size:clamp(14px,1.3vw,17px);color:var(--t4);letter-spacing:.05em;margin-top:28px}
.url a{color:var(--g);font-weight:500;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s}
.url a:hover,.url a:focus{border-bottom-color:var(--g)}

/* stats (slide 13) */
.sr{display:grid;grid-template-columns:repeat(3,1fr);width:100%;max-width:860px}
.si{padding:0 36px;text-align:center}
.si+.si{border-left:1px solid rgba(82,204,125,.18)}
.sn{font-family:var(--fd);font-size:clamp(52px,7vw,90px);font-weight:300;font-optical-sizing:auto;font-variation-settings:'SOFT' 0,'WONK' 1;color:var(--g);line-height:1;margin-bottom:8px}
.sl2{font-family:var(--fb);font-size:clamp(11px,1vw,13px);color:var(--t4);letter-spacing:.07em;text-transform:uppercase}

/* quote */
.qm{font-family:var(--fd);font-size:100px;font-weight:300;color:rgba(82,204,125,.12);line-height:.75;margin-bottom:18px}
.qt{font-family:var(--fd);font-size:clamp(26px,3.2vw,44px);font-weight:300;font-optical-sizing:auto;font-variation-settings:'SOFT' 0,'WONK' 1;color:var(--t1);line-height:1.32;max-width:860px}
.lg{width:clamp(54px,6.5vw,84px);height:auto;margin-bottom:28px}
