/* ==========================================================================
   Snowshoe Enterprises — marketing site, comp v2
   Single stylesheet. Tokens first, then base, layout, components, sections.
   No external requests: fonts are self-hosted in assets/fonts.
   ========================================================================== */

/* ---------- Design tokens ---------- */
:root{
  /* Palette: 90% neutrals, one accent (Glacier), Ember reserved for primary CTAs */
  --snow:#F4F6F7;      /* page field */
  --frost:#E3E9EC;     /* alt sections, panels */
  --spruce:#14232B;    /* ink, the one dark section */
  --slate:#3E5560;     /* secondary type, rules */
  --glacier:#6FA3B8;   /* accent: strokes, diagram, links on dark */
  --ember:#E08A3C;     /* primary CTA buttons only */
  --ember-hover:#D67D2F;
  /* Derived neutrals */
  --paper:#FFFFFF;           /* form inputs */
  --rule:#CBD5DA;            /* hairlines on Snow */
  --rule-strong:#74878F;     /* input borders (3:1+ on white and Snow) */
  --on-dark:#F4F6F7;
  --on-dark-dim:#B9C7CE;     /* secondary text on Spruce */
  --rule-dark:#2D434E;
  --tile-dark:#1A2D36;       /* tiles on Spruce */

  /* Type tokens: assets/fonts/fonts.css */

  /* 8pt spacing scale */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:40px; --s6:48px; --s8:64px; --s10:80px; --s12:96px; --s16:128px;
  --section-y:clamp(4rem, 2.4rem + 6.4vw, 8rem);         /* 64 → 128 */
  --max:1120px;
  --pad:clamp(24px, 4vw, 48px);                          /* right/inline padding */
  --pad-l:var(--pad);                                    /* left padding (trail gutter on mobile) */
  --nav-h:72px;
  --trail-x:22px;

  --radius:20px; --radius-sm:12px;
  --shadow-card:0 1px 2px rgba(20,35,43,.05), 0 12px 32px -16px rgba(20,35,43,.18);
  --ease:cubic-bezier(.2,.7,.2,1);
  --e:cubic-bezier(.2,.7,.2,1);
  --e2:cubic-bezier(.3,.5,.3,1);
}
@media (max-width:759px){
  :root{ --nav-h:64px; --pad:24px; --pad-l:56px; }
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  margin:0; background:var(--snow); color:var(--spruce);
  font-family:var(--font-body); font-size:var(--fs-body); font-weight:var(--fw-body); line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  font-synthesis:none; text-rendering:optimizeLegibility;
}
.ai{letter-spacing:.03em}
img,svg{display:block;max-width:100%}
button,input,textarea,select{font-family:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3{font-family:var(--font-display);font-weight:var(--fw-h2);font-optical-sizing:auto;text-wrap:balance;color:var(--spruce)}
h1{font-weight:var(--fw-h1)}
h3{font-weight:var(--fw-h3)}
p{text-wrap:pretty}
a{color:inherit}
::selection{background:var(--glacier);color:var(--spruce)}
:focus-visible{outline:2px solid var(--spruce);outline-offset:3px;border-radius:4px}
.on-dark :focus-visible,.safety :focus-visible{outline-color:var(--on-dark)}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:var(--spruce);color:var(--snow);padding:12px 20px;border-radius:var(--radius-sm);font-weight:600;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:calc(var(--max) + var(--pad-l) + var(--pad));margin-inline:auto;padding-left:var(--pad-l);padding-right:var(--pad)}
@media (min-width:760px){ .wrap{padding-left:var(--pad)} }
.page{position:relative}
.section{position:relative;padding-block:var(--section-y)}
.section--frost{background:var(--frost)}
.section--snow{background:var(--snow)}
.section__head{max-width:46rem;margin-bottom:clamp(40px,5vw,64px)}
.section__head h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--track-h2);font-weight:var(--fw-h2)}
.eyebrow{
  display:flex;align-items:center;gap:12px;margin-bottom:var(--s3);
  font:var(--fw-label) var(--fs-label)/1 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--slate);
}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor;opacity:.6}
.on-dark .eyebrow,.safety .eyebrow{color:var(--on-dark-dim)}
.lead{font-size:var(--fs-lead);color:var(--slate);max-width:36rem}

/* ---------- Buttons & links ---------- */
.btn{
  position:relative;isolation:isolate;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 28px;border:0;border-radius:var(--radius-sm);cursor:pointer;
  font:var(--fw-ui) var(--fs-ui)/1 var(--font-body);letter-spacing:-.005em;text-decoration:none;
  transition:transform .2s var(--ease);
}
.btn--ember{background:var(--ember);color:var(--spruce);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 6px 16px -8px rgba(224,138,60,.7)}
/* hover layer 1: deeper shadow (opacity only). layer 2: 1px underline travels left to right under the label */
.btn--ember::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;box-shadow:0 12px 24px -10px rgba(214,125,47,.85);opacity:0;transition:opacity .2s var(--ease)}
.btn--ember::before{content:"";position:absolute;left:28px;right:28px;bottom:12px;height:1px;background:var(--spruce);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
.btn--ember:hover{transform:translateY(-1px)}
.btn--ember:hover::after{opacity:1}
.btn--ember:hover::before{transform:scaleX(1)}
.btn--ember:active{transform:translateY(0)}
.btn--sm{min-height:44px;padding:0 20px;font-size:.9375rem;white-space:nowrap}
.btn--sm::before{left:20px;right:20px;bottom:11px}
.link-quiet{
  position:relative;display:inline-flex;align-items:center;gap:8px;min-height:48px;font-weight:600;font-size:1rem;color:var(--spruce);text-decoration:none;
}
.link-quiet::after{content:"";position:absolute;left:0;right:0;bottom:11px;height:1px;background:var(--slate);transition:transform .2s var(--ease);transform-origin:left}
.link-quiet:hover::after{transform:scaleX(1.0) scaleY(2);background:var(--glacier)}
.link-quiet svg{width:16px;height:16px;transition:transform .2s var(--ease)}
.link-quiet:hover svg{transform:translateY(2px)}

/* ---------- Nav ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:50;height:var(--nav-h);
  border-bottom:1px solid transparent;transition:background-color .25s,border-color .25s,backdrop-filter .25s;
}
.nav.is-scrolled{
  background:rgba(244,246,247,.82);border-bottom-color:rgba(62,85,96,.14);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);
}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:100%;width:100%;max-width:calc(var(--max) + 2*var(--pad));margin-inline:auto;padding-inline:var(--pad)}
.brand{display:inline-flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;color:var(--spruce)}
.brand svg{width:32px;height:32px;flex:none}
.brand__name{font:var(--fw-wordmark) 1.25rem/1 var(--font-display);letter-spacing:var(--track-wordmark);font-optical-sizing:auto;white-space:nowrap}
.nav__links{display:flex;align-items:center;gap:4px}
.nav__links a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font-size:var(--fs-nav);font-weight:var(--fw-ui);color:var(--spruce);text-decoration:none}
.nav__links a::after{content:"";position:absolute;left:14px;right:14px;bottom:9px;height:1px;background:var(--glacier);transform:scaleX(0);transform-origin:left;transition:transform .18s var(--ease)}
.nav__links a:hover::after{transform:scaleX(1);height:2px}
.nav__right{display:flex;align-items:center;gap:20px}
.nav__toggle{display:none;width:44px;height:44px;border:0;background:transparent;border-radius:10px;cursor:pointer;color:var(--spruce);align-items:center;justify-content:center}
.nav__toggle span{position:relative;display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:background-color .2s}
.nav__toggle span::before,.nav__toggle span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s var(--ease)}
.nav__toggle span::before{top:-6px}.nav__toggle span::after{top:6px}
.nav__toggle[aria-expanded="true"] span{background:transparent}
.nav__toggle[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:959px){
  .nav__links{
    position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--pad) 24px;
    background:var(--snow);border-bottom:1px solid var(--rule);box-shadow:0 24px 40px -24px rgba(20,35,43,.3);
    visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;
  }
  .nav__links.is-open{visibility:visible;opacity:1;transform:none}
  .nav__links a{min-height:52px;padding:0 4px;font-size:1.0625rem;border-radius:0;border-bottom:1px solid var(--rule)}
  .nav__links a::after{display:none}
  .nav__toggle{display:inline-flex}
  .nav__right{gap:8px}
  .nav.menu-open{background:var(--snow);border-bottom-color:var(--rule)}
}
@media (max-width:420px){ .nav__cta{padding:0 14px;font-size:.875rem} .brand__name{font-size:1.0625rem} .brand{gap:8px} .nav__inner{gap:8px} }

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding-top:var(--nav-h);min-height:clamp(640px,100svh,920px);display:flex;align-items:stretch}
.hero__grid{
  position:relative;width:100%;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;
  padding-left:max(var(--pad),calc((100% - var(--max)) / 2));
}
.hero__copy{position:relative;z-index:2;padding-block:clamp(48px,7vw,96px) clamp(40px,10vw,160px);padding-right:clamp(0px,2vw,32px);max-width:40rem}
.hero h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--track-h1);font-weight:var(--fw-h1);margin-bottom:var(--s3)}
.hero__tagline span{display:block}
.hero__tagline{font:var(--fw-h1) var(--fs-tagline)/var(--lh-tagline) var(--font-display);font-style:italic;font-optical-sizing:auto;letter-spacing:-.01em;color:var(--spruce);margin-bottom:var(--s2);max-width:22em;text-wrap:balance}
.hero__sub{font-size:var(--fs-lead);color:var(--slate);max-width:30rem;margin-bottom:var(--s5)}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px}
.hero__art{position:relative;align-self:end;margin-left:clamp(-120px,-8vw,0px);min-width:0}
.hero__art svg{width:100%;height:auto}
.hero__art .td-mobile{display:none}
@media (max-width:959px){
  .hero__tagline span{display:inline}
  .hero{min-height:0;display:block}
  .hero__grid{display:block;padding-left:var(--pad-l);padding-right:var(--pad)}
  .hero__copy{padding-block:28px 16px;padding-right:0}
  .hero__art{margin:0 calc(-1 * var(--pad)) 0 calc(-1 * var(--pad-l) + 44px)}
  .hero__art .td-desktop{display:none}
  .hero__art .td-mobile{display:block}
}
@media (min-width:760px) and (max-width:959px){
  .hero__art{margin-left:0}
  .hero__art .td-desktop{display:block}.hero__art .td-mobile{display:none}
}

/* ---------- Cards ---------- */
.cards{display:grid;gap:24px}
.cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards--6{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:959px){ .cards--3{grid-template-columns:1fr} .cards--6{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:640px){ .cards--6{grid-template-columns:1fr} }
.card{position:relative;isolation:isolate;overflow:hidden;background:var(--snow);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--s4);transition:transform .2s var(--ease)}
/* hover: the oval-mesh lattice brightens behind the content, a Glacier ring and soft shadow fade in (opacity only) */
.card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:url("assets/mesh-pattern.svg") right top/420px 252px;opacity:0;transition:opacity .2s var(--ease);
  -webkit-mask-image:radial-gradient(70% 90% at 100% 0%,#000,transparent);mask-image:radial-gradient(70% 90% at 100% 0%,#000,transparent)}
.card::after{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;border:1.5px solid var(--glacier);box-shadow:var(--shadow-card);opacity:0;transition:opacity .2s var(--ease)}
.card:hover{transform:translateY(-3px)}
.card:hover::before{opacity:.75}
.card:hover::after{opacity:1}
.card h3{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--track-h3);font-weight:var(--fw-h3);margin:var(--s4) 0 12px}
.card p{color:var(--slate)}
.icon{display:block;fill:none;stroke:var(--glacier);stroke-width:var(--sw,1.5);stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.icon .icon__dot{fill:var(--icon-dot,var(--spruce));stroke:none}
.icon--lg{width:40px;height:40px;--sw:.9}   /* drawn on a 24 grid; stroke scales so it reads as 1.5px */
.icon--md{width:32px;height:32px;--sw:1.125}
.icon--sm{width:24px;height:24px;--sw:1.5}

/* What we do: Frost section, Snow cards, quiet mesh in the corner */
.what{overflow:hidden}
.what::before{
  content:"";position:absolute;right:-80px;top:-40px;width:560px;height:336px;pointer-events:none;
  background:url("assets/mesh-pattern.svg") center/560px 336px;opacity:.28;
  -webkit-mask-image:radial-gradient(closest-side,#000,transparent);mask-image:radial-gradient(closest-side,#000,transparent);
}
.what .wrap{position:relative}

/* ---------- How it works ---------- */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:var(--s2)}
.steps::before{ /* the dotted trail that the four steps sit on */
  content:"";position:absolute;left:10px;right:0;top:10px;height:4px;
  background:radial-gradient(circle,var(--glacier) 1.3px,transparent 1.8px) 0 50%/10px 4px repeat-x;
  transform-origin:left;
}
.step{position:relative;padding-top:48px}
.step::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--snow);border:1.5px solid var(--glacier)}
.step::after{content:"";position:absolute;left:6px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--spruce)}
.step__num{display:block;font:var(--fw-label) var(--fs-label)/1 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--slate);margin-bottom:var(--s2)}
.step h3{font-size:1.375rem;line-height:var(--lh-h3);letter-spacing:var(--track-h3);font-weight:var(--fw-h3);margin-bottom:12px;text-wrap:balance}
.step p{color:var(--slate);font-size:1rem;line-height:1.65}
.how__cta{margin-top:clamp(40px,5vw,64px)}
@media (max-width:959px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}
  .steps::before{display:none}
}
@media (max-width:759px){
  .steps{grid-template-columns:1fr;row-gap:40px;gap:40px}
  .step{padding-top:0}
  .step::before{left:calc(-1 * (var(--pad-l) - var(--trail-x)) - 10px);top:3px}
  .step::after{left:calc(-1 * (var(--pad-l) - var(--trail-x)) - 4px);top:9px}
}
html.js .steps::before{transform:scaleX(0);transition:transform 1.1s var(--ease) .15s}
html.js .steps.is-visible::before{transform:none}

/* ---------- Safety (the one dark section) ---------- */
.safety{background:var(--spruce);color:var(--on-dark);--icon-dot:var(--on-dark);overflow:hidden}
.safety::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;
  background:url("assets/mesh-pattern.svg") right top/560px 336px no-repeat;
  -webkit-mask-image:radial-gradient(60% 70% at 85% 0%,#000,transparent);mask-image:radial-gradient(60% 70% at 85% 0%,#000,transparent);
}
.safety h2,.safety h3{color:var(--on-dark)}
.safety h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--track-h2);font-weight:var(--fw-h2)}
.safety .esc h3{color:var(--spruce)}
.safety .wrap{position:relative}
.safety__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,6vw,88px);align-items:start}
.safety__intro{color:var(--on-dark-dim);font-size:var(--fs-lead);max-width:34rem;margin-top:var(--s3)}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:clamp(32px,4vw,48px)}
.tile{position:relative;background:var(--tile-dark);border:1px solid var(--rule-dark);border-radius:16px;padding:24px;transition:transform .2s var(--ease)}
.tile::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid rgba(111,163,184,.7);opacity:0;transition:opacity .2s var(--ease);pointer-events:none}
.tile:hover{transform:translateY(-2px)}
.tile:hover::after{opacity:1}
.tile .icon{margin-bottom:20px}
.tile h3{font:var(--fw-h3) 1.25rem/var(--lh-h3) var(--font-display);letter-spacing:var(--track-h3);margin-bottom:10px;text-wrap:balance}
.tile p{font-size:.9688rem;line-height:1.6;color:var(--on-dark-dim)}
.short-version{margin-top:clamp(48px,6vw,80px);padding-top:var(--s5);border-top:1px solid var(--rule-dark);font:var(--fw-h1) clamp(1.375rem,1.1rem + 1.1vw,2rem)/1.35 var(--font-display);letter-spacing:var(--track-h2);color:var(--on-dark);max-width:52rem;text-wrap:pretty}
.safety__side{position:relative;display:grid;gap:20px}
@media (max-width:959px){ .safety__grid{grid-template-columns:1fr} }
@media (max-width:599px){ .tiles{grid-template-columns:1fr} }

/* Escalation card: an illustrative UI component */
.esc{
  background:var(--snow);color:var(--spruce);border-radius:var(--radius);overflow:hidden;
  box-shadow:0 0 0 1px rgba(244,246,247,.5),0 2px 4px rgba(0,0,0,.2),0 28px 56px -20px rgba(0,0,0,.6);
}
.esc__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-bottom:1px solid var(--rule);background:linear-gradient(var(--paper),var(--snow))}
.esc__tag{display:inline-flex;align-items:center;gap:10px;font:var(--fw-label) var(--fs-label-sm)/1 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--slate)}
.esc__tag .icon{width:22px;height:22px;--sw:1.5;stroke:var(--spruce)}
.esc__badge{font:var(--fw-label) var(--fs-label-sm)/1 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--slate);border:1px solid var(--rule-strong);border-radius:999px;padding:6px 10px;white-space:nowrap}
.esc__body{padding:24px 24px 8px}
.esc__title{font:var(--fw-h3) clamp(1.3125rem,1.2rem + .35vw,1.5rem)/var(--lh-h3) var(--font-display);letter-spacing:var(--track-h3);margin-bottom:var(--s3);text-wrap:balance}
.esc__rows{display:grid;gap:0}
.esc__row{padding:14px 0;border-top:1px solid var(--rule)}
.esc__row dt{font:var(--fw-label) var(--fs-label-sm)/1 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--slate);margin-bottom:8px}
.esc__row dd{font-size:.96875rem;line-height:1.55;color:var(--spruce)}
.esc__row--rec{margin:6px -12px 0;padding:14px 12px;border:0;border-radius:12px;background:var(--frost)}
.esc__row--rec dd{font-weight:500}
.esc__actions{display:flex;flex-wrap:wrap;gap:12px;padding:20px 24px 24px}
.esc__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:10px;font:600 .9375rem/1 var(--font-body);letter-spacing:-.005em;border:1.5px solid var(--spruce);user-select:none}
@media (max-width:700px){
  .esc__actions{flex-direction:column;align-items:stretch}
  .esc__btn{width:100%}
}
.esc__btn--primary{background:var(--spruce);color:var(--snow)}
.esc__btn--secondary{background:transparent;color:var(--spruce)}
.esc__note{font:var(--fw-label) var(--fs-label-sm)/1.4 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--on-dark-dim);margin-top:12px}

/* Audit log strip (generic entries, no real timestamps) */
.audit{background:rgba(244,246,247,.04);border:1px solid var(--rule-dark);border-radius:16px;padding:20px 24px 20px}
.audit__title{display:flex;align-items:center;gap:10px;margin-bottom:16px;font:var(--fw-label) var(--fs-label-sm)/1 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--on-dark)}
.audit__title::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--glacier)}
.audit__list{position:relative;display:grid;gap:0;font:var(--fw-label) var(--fs-label-sm)/1.4 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums}
.audit__list::before{content:"";position:absolute;left:4px;top:12px;bottom:12px;width:1px;background:repeating-linear-gradient(to bottom,var(--glacier) 0 2px,transparent 2px 6px);opacity:.7}
.audit__list li{position:relative;display:grid;grid-template-columns:64px 1fr;gap:12px;padding:7px 0 7px 24px;color:var(--on-dark-dim)}
.audit__list li::before{content:"";position:absolute;left:0;top:13px;width:9px;height:9px;border-radius:50%;background:var(--spruce);border:1.5px solid var(--glacier)}
.audit__step{color:var(--on-dark-dim);opacity:.85}
.audit__what{color:var(--on-dark)}
.audit__list li.is-esc .audit__what{color:var(--glacier)}
.audit__list li.is-esc::before{background:var(--glacier)}

/* ---------- Use cases ---------- */
.uses .card{background:var(--frost);border-color:transparent}
.uses .card h3{font-size:1.3125rem;margin:20px 0 10px}
.uses .card p{font-size:1rem}
.chip{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--snow);box-shadow:0 0 0 1px var(--rule)}
.chip .icon{width:28px;height:28px;--sw:1.29}

/* ---------- Contact ---------- */
.contact__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,104px);align-items:start}
.contact h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--track-h2);font-weight:var(--fw-h2);margin-bottom:var(--s3)}
.contact__intro{font-size:var(--fs-lead);color:var(--slate);max-width:28rem}
.form{background:var(--snow);border:1px solid var(--rule);border-radius:24px;padding:clamp(24px,3.4vw,40px);box-shadow:var(--shadow-card);display:grid;gap:20px}
.field{display:grid;gap:8px}
.field label{font-weight:var(--fw-ui);font-size:var(--fs-nav);letter-spacing:-.005em}
.field input,.field textarea{
  width:100%;min-height:52px;padding:14px 16px;border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--paper);
  font:400 1rem/1.5 var(--font-body);color:var(--spruce);transition:border-color .2s,box-shadow .2s;
}
.field textarea{min-height:148px;resize:vertical}
.field input:hover,.field textarea:hover{border-color:var(--slate)}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--spruce);outline-offset:2px;border-color:var(--spruce)}
.form .btn{justify-self:start;margin-top:4px}
.form__status{min-height:1.5em;font-size:.9375rem;color:var(--slate)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:959px){ .contact__grid{grid-template-columns:1fr} }
@media (max-width:759px){ .form .btn{justify-self:stretch} }

/* ---------- Footer ---------- */
.footer{position:relative;background:var(--snow);border-top:1px solid var(--rule);padding-block:var(--s8) var(--s6)}
.footer__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--s8);align-items:start}
.footer .brand{margin-bottom:var(--s3)}
.footer__about{color:var(--slate);max-width:34rem;font-size:1rem}
.footer__privacy{color:var(--slate);font-size:.9375rem;max-width:36rem}
.footer__privacy a{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-weight:600;color:var(--spruce);text-decoration:underline;text-decoration-color:var(--glacier);text-decoration-thickness:2px;text-underline-offset:5px}
.footer__legal{margin-top:var(--s8);padding-top:var(--s3);border-top:1px solid var(--rule);font:var(--fw-label) var(--fs-label-sm)/1.5 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--slate)}
@media (max-width:759px){ .footer__grid{grid-template-columns:1fr;gap:var(--s4)} .footer{padding-block:var(--s6) var(--s4)} .footer__legal{margin-top:var(--s5)} }

/* ---------- Page trail (drawn by main.js) ---------- */
.trail{position:absolute;inset:0;pointer-events:none;z-index:3;display:none}
html.js .trail{display:block}
.trail svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.trail__dots{fill:none;stroke:var(--glacier);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:0 10}
.trail__node{fill:var(--snow);stroke:var(--glacier);stroke-width:1.75;transition:fill .3s,stroke .3s}
.trail__node.on-frost{fill:var(--frost)}
.trail__node.on-dark{fill:var(--spruce)}
.trail__core{fill:var(--glacier);opacity:0;transition:opacity .3s}
.trail__node.is-reached + .trail__core{opacity:1}
@media (max-width:759px){ .trail__dots{stroke-width:2.25} }

/* ---------- Reveal on scroll: 14px rise + fade, 500ms ease-out, 60ms stagger, once. JS adds html.js; disabled for reduced motion ---------- */
html.js .reveal{opacity:0;transform:translateY(14px)}
html.js .hero .reveal{opacity:1;transform:none}
html.js .reveal.is-visible{opacity:1;transform:none;transition:opacity .5s var(--ease) var(--d,0ms),transform .5s var(--ease) var(--d,0ms)}

/* ---------- Reduced motion ---------- */

/* ---------- Hero ambient motion ---------- */
@media (prefers-reduced-motion:no-preference){
  html:not([data-reduce-motion]) .td-mesh{animation:mesh-fade 1.2s var(--ease) both}
  html:not([data-reduce-motion]) .td-drift{animation:mesh-drift 26s ease-in-out infinite alternate}
  html:not([data-reduce-motion]) .td-rail{stroke-dasharray:1;stroke-dashoffset:1;animation:rail-draw 1.4s cubic-bezier(.3,.5,.3,1) .5s both}
  html:not([data-reduce-motion]) .td-late{opacity:0;animation:posts-fade .55s var(--ease) 1.4s both}
  html:not([data-reduce-motion]) .td-flow{animation:dot-flow 1.8s linear infinite}
  html:not([data-reduce-motion]) .td-puck{offset-rotate:0deg;animation:puck-run 11s ease-in-out infinite}
  .hero.is-offscreen .td-drift,
  .hero.is-offscreen .td-flow,
  .hero.is-offscreen .td-puck{animation-play-state:paused}
}
@keyframes mesh-fade{from{opacity:0}to{opacity:.24}}
@keyframes mesh-drift{from{transform:none}to{transform:translate(14px,6px)}}
@keyframes rail-draw{to{stroke-dashoffset:0}}
@keyframes posts-fade{to{opacity:1}}
@keyframes dot-flow{to{stroke-dashoffset:-18px}}
@keyframes puck-run{from{offset-distance:0%}to{offset-distance:100%}}

/* ---------- Examples (four inline scenes) ---------- */
.demos .scenes{display:grid;gap:28px}
.scene{margin:0}
.scene .panel{background:var(--frost);border-radius:24px;overflow:hidden}
.scene .art{position:relative;aspect-ratio:var(--ar-d,1200/640)}
.scene .art svg{display:block;width:100%;height:100%}
.scene .svg-m{display:none}
.scene .tag{
  position:absolute;top:14px;right:14px;z-index:2;margin:0;
  font:var(--fw-label) var(--fs-label-sm)/1 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums;
  color:var(--slate);background:var(--snow);border:1px solid var(--rule);border-radius:999px;padding:7px 11px;
}
.scene .cap{margin:20px 4px 0;color:var(--slate);max-width:44rem;text-wrap:pretty}
.scene .cap strong{color:var(--spruce);font-weight:var(--fw-ui)}
.scene .ctl{min-height:56px;padding:0 14px 12px;display:flex;align-items:center}
.pp{
  display:inline-flex;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:0 16px 0 14px;
  border:1.5px solid var(--glacier);border-radius:999px;background:transparent;color:var(--slate);cursor:pointer;
  font:var(--fw-ui) var(--fs-nav)/1 var(--font-body);
}
.pp:hover{background:var(--snow)}
.pp:focus-visible{outline:2px solid var(--spruce);outline-offset:3px}
.pp .i2{display:none}
.pp[aria-pressed="true"] .i1{display:none}
.pp[aria-pressed="true"] .i2{display:block}
.scene-static{display:none}
.tx{font:500 15px/1 var(--font-body);fill:var(--spruce);letter-spacing:-.005em}
.tx6{font:600 15px/1 var(--font-body);fill:var(--spruce)}
.ts{font:400 13px/1 var(--font-body);fill:var(--slate)}
.tm{font:var(--fw-label) 12px/1 var(--font-body);fill:var(--slate);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums}
.tl{font:var(--fw-label) 12px/1 var(--font-body);fill:var(--spruce);letter-spacing:var(--track-label);text-transform:uppercase;font-variant-numeric:tabular-nums}
.td{font:var(--fw-h1) 22px/1.15 var(--font-display);fill:var(--spruce);letter-spacing:var(--track-h2);font-optical-sizing:auto}
.tdc{font-family:var(--font-display);font-weight:var(--fw-h3);font-style:normal;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"tnum" 1}
.tdm{font:var(--fw-h1) 18px/1.2 var(--font-display);fill:var(--spruce);letter-spacing:var(--track-h2);font-optical-sizing:auto}
.tw{fill:var(--snow)}
.scene .ns{opacity:0}
.scene .dr{stroke-dasharray:1}
.scene .gx{transform-origin:left center;transform-box:fill-box}
.scene .gy{transform-origin:center bottom;transform-box:fill-box}
.scene .pu,.scene .k-pop{transform-box:fill-box;transform-origin:center}
@media (max-width:700px){
  .scene .art{aspect-ratio:var(--ar-m)}
  .scene .svg-d{display:none}
  .scene .svg-m{display:block}
  .scene .tag{top:10px;right:10px;font-size:12px;padding:6px 9px}
}
html.js .scene:not(.is-armed) .scene-live :is(*,*::before,*::after),
.scene.is-paused .scene-live :is(*,*::before,*::after){animation-play-state:paused !important}

@media (prefers-reduced-motion:no-preference){.scene-1 .scene-live .k1{animation:s1-k1 10s infinite both}
@keyframes s1-k1{0%,3%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}8%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k2{animation:s1-k2 10s infinite both}
@keyframes s1-k2{0%,53%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}58%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k3{animation:s1-k3 10s infinite both}
@keyframes s1-k3{0%,6%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}11%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k4{animation:s1-k4 10s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s1-k4{0%,32%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}35.5%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k5{animation:s1-k5 10s infinite both}
@keyframes s1-k5{0%,28.5%{opacity:0;animation-timing-function:var(--e)}31%,36.5%{opacity:1;transform:none;animation-timing-function:var(--e)}39.5%,100%{opacity:0}}.scene-1 .scene-live .k6{animation:s1-k6 10s infinite both}
@keyframes s1-k6{0%,12%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}17%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k7{animation:s1-k7 10s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s1-k7{0%,37.5%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}41%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k8{animation:s1-k8 10s infinite both}
@keyframes s1-k8{0%,34%{opacity:0;animation-timing-function:var(--e)}36.5%,42%{opacity:1;transform:none;animation-timing-function:var(--e)}45%,100%{opacity:0}}.scene-1 .scene-live .k9{animation:s1-k9 10s infinite both}
@keyframes s1-k9{0%,18%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}23%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k10{animation:s1-k10 10s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s1-k10{0%,43%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}46.5%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k11{animation:s1-k11 10s infinite both}
@keyframes s1-k11{0%,39.5%{opacity:0;animation-timing-function:var(--e)}42%,47.5%{opacity:1;transform:none;animation-timing-function:var(--e)}50.5%,100%{opacity:0}}.scene-1 .scene-live .k12{animation:s1-k12 10s infinite both}
@keyframes s1-k12{0%,24%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}29%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k13{animation:s1-k13 10s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s1-k13{0%,48.5%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}52%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k14{animation:s1-k14 10s infinite both}
@keyframes s1-k14{0%,45%{opacity:0;animation-timing-function:var(--e)}47.5%,53%{opacity:1;transform:none;animation-timing-function:var(--e)}56%,100%{opacity:0}}.scene-1 .scene-live .k15{animation:s1-k15 10s infinite both}
@keyframes s1-k15{0%,56%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}61%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k16{animation:s1-k16 10s infinite both}
@keyframes s1-k16{0%,59.5%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}64.5%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-1 .scene-live .k17{animation:s1-k17 10s infinite both}
@keyframes s1-k17{0%,61.5%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}66.5%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-1 .scene-live .k18{animation:s1-k18 10s infinite both}
@keyframes s1-k18{0%,63.5%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}68.5%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-1 .scene-live .k19{animation:s1-k19 10s infinite both}
@keyframes s1-k19{0%,66%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}71%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k20{animation:s1-k20 10s infinite both}
@keyframes s1-k20{0%,69.5%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}74.5%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-1 .scene-live .k21{animation:s1-k21 10s infinite both}
@keyframes s1-k21{0%,71.5%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}76.5%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-1 .scene-live .k22{animation:s1-k22 10s infinite both}
@keyframes s1-k22{0%,73.5%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}78.5%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-1 .scene-live .k23{animation:s1-k23 10s infinite both}
@keyframes s1-k23{0%,78%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}83%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k24{animation:s1-k24 10s infinite both}
@keyframes s1-k24{0%,0%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}0.1%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .k25{animation:s1-k25 10s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s1-k25{0%,60%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}63.5%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-1 .scene-live .fl{animation:s1-fl 1.6s linear infinite}@keyframes s1-fl{to{stroke-dashoffset:-16}}

}
@media (prefers-reduced-motion:no-preference){.scene-2 .scene-live .k1{animation:s2-k1 10s infinite both}
@keyframes s2-k1{0%,3%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}8%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k2{animation:s2-k2 10s infinite both}
@keyframes s2-k2{0%,20%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}25%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k3{animation:s2-k3 10s infinite both}
@keyframes s2-k3{0%,5%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}10%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k4{animation:s2-k4 10s infinite both}
@keyframes s2-k4{0%,17%{opacity:0;animation-timing-function:var(--e)}19.5%,29%{opacity:1;transform:none;animation-timing-function:var(--e)}32%,100%{opacity:0}}.scene-2 .scene-live .k5{animation:s2-k5 10s infinite both}
@keyframes s2-k5{0%,9%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}14%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k6{animation:s2-k6 10s infinite both}
@keyframes s2-k6{0%,19.5%{opacity:0;animation-timing-function:var(--e)}22%,30%{opacity:1;transform:none;animation-timing-function:var(--e)}33%,100%{opacity:0}}.scene-2 .scene-live .k7{animation:s2-k7 10s infinite both}
@keyframes s2-k7{0%,13%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}18%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k8{animation:s2-k8 10s infinite both}
@keyframes s2-k8{0%,22%{opacity:0;animation-timing-function:var(--e)}24.5%,31%{opacity:1;transform:none;animation-timing-function:var(--e)}34%,100%{opacity:0}}.scene-2 .scene-live .k9{animation:s2-k9 10s infinite both}
@keyframes s2-k9{0%,18%{stroke-dashoffset:1;opacity:1;animation-timing-function:var(--e2)}27%,94.5%{stroke-dashoffset:0;opacity:1}98.5%,100%{stroke-dashoffset:0;opacity:0}}.scene-2 .scene-live .k10{animation:s2-k10 10s infinite both}
@keyframes s2-k10{0%,20%{stroke-dashoffset:1;opacity:1;animation-timing-function:var(--e2)}29%,94.5%{stroke-dashoffset:0;opacity:1}98.5%,100%{stroke-dashoffset:0;opacity:0}}.scene-2 .scene-live .k11{animation:s2-k11 10s infinite both}
@keyframes s2-k11{0%,22%{stroke-dashoffset:1;opacity:1;animation-timing-function:var(--e2)}31%,94.5%{stroke-dashoffset:0;opacity:1}98.5%,100%{stroke-dashoffset:0;opacity:0}}.scene-2 .scene-live .k12{animation:s2-k12 10s infinite both}
@keyframes s2-k12{0%,22%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}27.5%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k13{animation:s2-k13 10s infinite both}
@keyframes s2-k13{0%,29%{opacity:0;animation-timing-function:var(--e)}33.5%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k14{animation:s2-k14 10s infinite both}
@keyframes s2-k14{0%,30%{opacity:0;animation-timing-function:var(--e)}34%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k15{animation:s2-k15 10s infinite both}
@keyframes s2-k15{0%,35%{opacity:0;animation-timing-function:var(--e)}39%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k16{animation:s2-k16 10s infinite both}
@keyframes s2-k16{0%,37%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}42%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-2 .scene-live .k17{animation:s2-k17 10s infinite both}
@keyframes s2-k17{0%,39%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}44%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-2 .scene-live .k18{animation:s2-k18 10s infinite both}
@keyframes s2-k18{0%,41%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}46%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-2 .scene-live .k19{animation:s2-k19 10s infinite both}
@keyframes s2-k19{0%,46%{opacity:0;animation-timing-function:var(--e)}50%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k20{animation:s2-k20 10s infinite both}
@keyframes s2-k20{0%,48%{opacity:0;animation-timing-function:var(--e)}52%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k21{animation:s2-k21 10s infinite both}
@keyframes s2-k21{0%,50%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}55%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-2 .scene-live .k22{animation:s2-k22 10s infinite both}
@keyframes s2-k22{0%,51.4%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}56.4%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-2 .scene-live .k23{animation:s2-k23 10s infinite both}
@keyframes s2-k23{0%,52.8%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}57.8%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-2 .scene-live .k24{animation:s2-k24 10s infinite both}
@keyframes s2-k24{0%,54.2%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}59.2%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-2 .scene-live .k25{animation:s2-k25 10s infinite both}
@keyframes s2-k25{0%,55.6%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}60.6%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-2 .scene-live .k26{animation:s2-k26 10s infinite both}
@keyframes s2-k26{0%,57%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}62%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-2 .scene-live .k27{animation:s2-k27 10s infinite both}
@keyframes s2-k27{0%,64%{opacity:0;animation-timing-function:var(--e)}68%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .k28{animation:s2-k28 10s infinite both}
@keyframes s2-k28{0%,66%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}71%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-2 .scene-live .k29{animation:s2-k29 10s infinite both}
@keyframes s2-k29{0%,67.8%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}72.8%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-2 .scene-live .k30{animation:s2-k30 10s infinite both}
@keyframes s2-k30{0%,69.6%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}74.6%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-2 .scene-live .k31{animation:s2-k31 10s infinite both}
@keyframes s2-k31{0%,71.4%{transform:scaleX(0);opacity:1;animation-timing-function:var(--e)}76.4%,94.5%{transform:scaleX(1);opacity:1}98.5%,100%{transform:scaleX(1);opacity:0}}.scene-2 .scene-live .k32{animation:s2-k32 10s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s2-k32{0%,76%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}80%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-2 .scene-live .fl{animation:s2-fl 1.6s linear infinite}@keyframes s2-fl{to{stroke-dashoffset:-16}}

}
@media (prefers-reduced-motion:no-preference){.scene-3 .scene-live .k1{animation:s3-k1 12s infinite both}
@keyframes s3-k1{0%,1.7%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}5.8%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k2{animation:s3-k2 12s infinite both}
@keyframes s3-k2{0%,3.8%{opacity:0;animation-timing-function:var(--e)}8.8%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k3{animation:s3-k3 12s infinite both}
@keyframes s3-k3{0%,8.3%{stroke-dashoffset:1;opacity:1;animation-timing-function:linear}28.8%,95.4%{stroke-dashoffset:0;opacity:1}98.8%,100%{stroke-dashoffset:0;opacity:0}}.scene-3 .scene-live .k4{animation:s3-k4 12s infinite both}
@keyframes s3-k4{0%,78.3%{stroke-dashoffset:1;opacity:1;animation-timing-function:linear}93.3%,95.4%{stroke-dashoffset:0;opacity:1}98.8%,100%{stroke-dashoffset:0;opacity:0}}.scene-3 .scene-live .k5{animation:s3-k5 12s infinite both}
@keyframes s3-k5{0%,4.6%{opacity:0;animation-timing-function:var(--e)}7.9%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k6{animation:s3-k6 12s infinite both}
@keyframes s3-k6{0%,5.2%{opacity:0;animation-timing-function:var(--e)}8.5%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k7{animation:s3-k7 12s infinite both}
@keyframes s3-k7{0%,5.8%{opacity:0;animation-timing-function:var(--e)}9.1%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k8{animation:s3-k8 12s infinite both}
@keyframes s3-k8{0%,6.3%{opacity:0;animation-timing-function:var(--e)}9.7%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k9{animation:s3-k9 12s infinite both}
@keyframes s3-k9{0%,6.9%{opacity:0;animation-timing-function:var(--e)}10.2%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k10{animation:s3-k10 12s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s3-k10{0%,12.1%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}14.6%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k11{animation:s3-k11 12s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s3-k11{0%,20.4%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}22.9%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k12{animation:s3-k12 12s infinite both}
@keyframes s3-k12{0%,36.3%{opacity:0;animation-timing-function:var(--e)}38.8%,77.5%{opacity:1;transform:none;animation-timing-function:var(--e)}79.6%,100%{opacity:0}}.scene-3 .scene-live .k13{animation:s3-k13 12s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s3-k13{0%,78.3%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}80.8%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k14{animation:s3-k14 12s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s3-k14{0%,85.8%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}88.3%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k15{animation:s3-k15 12s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s3-k15{0%,93.3%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}95.8%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k16{animation:s3-k16 12s infinite both}
@keyframes s3-k16{0%,5%{opacity:0;animation-timing-function:var(--e)}8.3%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k17{animation:s3-k17 12s infinite both}
@keyframes s3-k17{0%,5.6%{opacity:0;animation-timing-function:var(--e)}8.9%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k18{animation:s3-k18 12s infinite both}
@keyframes s3-k18{0%,6.2%{opacity:0;animation-timing-function:var(--e)}9.5%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k19{animation:s3-k19 12s infinite both}
@keyframes s3-k19{0%,6.8%{opacity:0;animation-timing-function:var(--e)}10.1%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k20{animation:s3-k20 12s infinite both}
@keyframes s3-k20{0%,7.3%{opacity:0;animation-timing-function:var(--e)}10.7%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k21{animation:s3-k21 12s infinite both}
@keyframes s3-k21{0%,29.2%{transform:scaleX(0);opacity:1;animation-timing-function:cubic-bezier(.3,.6,.4,1)}36.2%,77.5%{transform:scaleX(1);opacity:1}80%,100%{transform:scaleX(1);opacity:0}}.scene-3 .scene-live .k22{animation:s3-k22 12s infinite both}
@keyframes s3-k22{0%,24.6%{opacity:0;animation-timing-function:var(--e)}27.9%,77.5%{opacity:1;transform:none;animation-timing-function:var(--e)}80%,100%{opacity:0}}.scene-3 .scene-live .k23{animation:s3-k23 12s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s3-k23{0%,34.6%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}37.5%,77.5%{opacity:1;transform:none;animation-timing-function:var(--e)}79.6%,100%{opacity:0}}.scene-3 .scene-live .k24{animation:s3-k24 12s infinite both}
@keyframes s3-k24{0%,37.5%{stroke-dashoffset:1;opacity:1;animation-timing-function:var(--e2)}42.9%,77.5%{stroke-dashoffset:0;opacity:1}80%,100%{stroke-dashoffset:0;opacity:0}}.scene-3 .scene-live .k25{animation:s3-k25 12s infinite both}
@keyframes s3-k25{0%,0%{opacity:0;animation-timing-function:var(--e)}0.1%,71.7%{opacity:1;transform:none;animation-timing-function:var(--e)}73.3%,100%{opacity:0}}.scene-3 .scene-live .k26{animation:s3-k26 12s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s3-k26{0%,72.5%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}75.4%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k27{animation:s3-k27 12s infinite both}
@keyframes s3-k27{0%,46.2%{opacity:0;animation-timing-function:var(--e)}49.6%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k28{animation:s3-k28 12s infinite both}
@keyframes s3-k28{0%,47.9%{opacity:0;transform:translateY(8px);animation-timing-function:var(--e)}51.3%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k29{animation:s3-k29 12s infinite both}
@keyframes s3-k29{0%,51.3%{opacity:0;animation-timing-function:var(--e)}54.6%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k30{animation:s3-k30 12s infinite both}
@keyframes s3-k30{0%,51.3%{opacity:0;transform:translateY(8px);animation-timing-function:var(--e)}54.6%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k31{animation:s3-k31 12s infinite both}
@keyframes s3-k31{0%,54.6%{opacity:0;animation-timing-function:var(--e)}57.9%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k32{animation:s3-k32 12s infinite both}
@keyframes s3-k32{0%,54.6%{opacity:0;transform:translateY(8px);animation-timing-function:var(--e)}57.9%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k33{animation:s3-k33 12s infinite both}
@keyframes s3-k33{0%,57.9%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}61.3%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k34{animation:s3-k34 12s infinite both}
@keyframes s3-k34{0%,70.8%{opacity:0;animation-timing-function:var(--e)}72.9%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k35{animation:s3-k35 12s infinite both}
@keyframes s3-k35{0%,41.7%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}46.2%,77.5%{opacity:1;transform:none;animation-timing-function:var(--e)}80.4%,100%{opacity:0}}.scene-3 .scene-live .k36{animation:s3-k36 12s infinite both}
@keyframes s3-k36{0%,60%{transform:translate(1012px,500px);opacity:0;animation-timing-function:var(--e)}61.7%{transform:translate(995.3px,500px);opacity:1;animation-timing-function:var(--e)}65%{transform:translate(962px,500px);opacity:1;animation-timing-function:var(--e)}77.5%{transform:translate(962px,500px);opacity:1}80%,100%{transform:translate(962px,500px);opacity:0}}.scene-3 .scene-live .k37{animation:s3-k37 12s infinite both}
@keyframes s3-k37{0%,65%{stroke-dashoffset:1;opacity:1;animation-timing-function:var(--e2)}68.3%,77.5%{stroke-dashoffset:0;opacity:1}80%,100%{stroke-dashoffset:0;opacity:0}}.scene-3 .scene-live .k38{animation:s3-k38 12s infinite both}
@keyframes s3-k38{0%,66.2%{transform:translate(992px,530px);opacity:0;animation-timing-function:var(--e)}67.9%{transform:translate(768px,610px);opacity:1;animation-timing-function:var(--e)}70.4%{transform:translate(544px,690px);opacity:1;animation-timing-function:var(--e)}77.5%{transform:translate(544px,690px);opacity:1}80%,100%{transform:translate(544px,690px);opacity:0}}.scene-3 .scene-live .k39{animation:s3-k39 12s infinite both}
@keyframes s3-k39{0%,8.3%{transform:translate(100px,214px);opacity:0;animation-timing-function:linear}10%{transform:translate(144.1px,214px);opacity:1;animation-timing-function:linear}28.8%{transform:translate(640px,214px);opacity:1;animation-timing-function:linear}78.3%{transform:translate(640px,214px);opacity:1;animation-timing-function:linear}93.3%{transform:translate(1080px,214px);opacity:1;animation-timing-function:linear}96.2%{transform:translate(1080px,214px);opacity:1}98.8%,100%{transform:translate(1080px,214px);opacity:0}}.scene-3 .scene-live .k40{animation:s3-k40 12s infinite both}
@keyframes s3-k40{0%,5%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}8.8%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k41{animation:s3-k41 12s infinite both}
@keyframes s3-k41{0%,8.3%{opacity:0;transform:translateX(-14px);animation-timing-function:var(--e)}11.7%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k42{animation:s3-k42 12s infinite both}
@keyframes s3-k42{0%,20.4%{opacity:0;transform:translateX(-14px);animation-timing-function:var(--e)}23.8%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k43{animation:s3-k43 12s infinite both}
@keyframes s3-k43{0%,37.5%{opacity:0;transform:translateX(-14px);animation-timing-function:var(--e)}40.8%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k44{animation:s3-k44 12s infinite both}
@keyframes s3-k44{0%,79.2%{opacity:0;transform:translateX(-14px);animation-timing-function:var(--e)}82.5%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k45{animation:s3-k45 12s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s3-k45{0%,12.8%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}15.3%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k46{animation:s3-k46 12s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s3-k46{0%,20.8%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}23.3%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .k47{animation:s3-k47 12s infinite both}
@keyframes s3-k47{0%,60%{transform:translate(350px,286px);opacity:0;animation-timing-function:var(--e)}61.7%{transform:translate(333.3px,286px);opacity:1;animation-timing-function:var(--e)}65%{transform:translate(300px,286px);opacity:1;animation-timing-function:var(--e)}77.5%{transform:translate(300px,286px);opacity:1}80%,100%{transform:translate(300px,286px);opacity:0}}.scene-3 .scene-live .k48{animation:s3-k48 12s infinite both}
@keyframes s3-k48{0%,66.2%{transform:translate(286px,316px);opacity:0;animation-timing-function:var(--e)}67.9%{transform:translate(267px,476.8px);opacity:1;animation-timing-function:var(--e)}70.4%{transform:translate(238.4px,674px);opacity:1;animation-timing-function:var(--e)}77.5%{transform:translate(238.4px,674px);opacity:1}80%,100%{transform:translate(238.4px,674px);opacity:0}}.scene-3 .scene-live .k49{animation:s3-k49 12s infinite both}
@keyframes s3-k49{0%,8.3%{transform:translate(56px,78px);opacity:0;animation-timing-function:linear}10%{transform:translate(56px,87.6px);opacity:1;animation-timing-function:linear}28.8%{transform:translate(56px,196px);opacity:1;animation-timing-function:linear}78.3%{transform:translate(56px,196px);opacity:1;animation-timing-function:linear}93.3%{transform:translate(56px,288px);opacity:1;animation-timing-function:linear}96.2%{transform:translate(56px,288px);opacity:1}98.8%,100%{transform:translate(56px,288px);opacity:0}}.scene-3 .scene-live .k50{animation:s3-k50 12s infinite both}
@keyframes s3-k50{0%,20.8%{opacity:0;transform:translateX(-14px);animation-timing-function:var(--e)}24.1%,95.4%{opacity:1;transform:none;animation-timing-function:var(--e)}98.8%,100%{opacity:0}}.scene-3 .scene-live .fl{animation:s3-fl 1.6s linear infinite}@keyframes s3-fl{to{stroke-dashoffset:-16}}

}
@media (prefers-reduced-motion:no-preference){.scene-4 .scene-live .k1{animation:s4-k1 10s infinite both}
@keyframes s4-k1{0%,3%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}8%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k2{animation:s4-k2 10s infinite both}
@keyframes s4-k2{0%,4.5%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}9.5%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k3{animation:s4-k3 10s infinite both}
@keyframes s4-k3{0%,30%{transform:translateY(0);animation-timing-function:steps(5,end)}62%,99%{transform:translateY(-350px)}100%{transform:translateY(0)}}.scene-4 .scene-live .k4{animation:s4-k4 10s infinite both}
@keyframes s4-k4{0%,6.5%{opacity:0;animation-timing-function:var(--e)}11.5%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k5{animation:s4-k5 10s infinite both}
@keyframes s4-k5{0%,5.7%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}10.7%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k6{animation:s4-k6 10s infinite both}
@keyframes s4-k6{0%,5.7%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}5.8%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k7{animation:s4-k7 10s infinite both}
@keyframes s4-k7{0%,6.7%{opacity:0;animation-timing-function:var(--e)}10.7%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k8{animation:s4-k8 10s infinite both}
@keyframes s4-k8{0%,11.5%{stroke-dashoffset:1;opacity:1;animation-timing-function:var(--e)}25.5%,94.5%{stroke-dashoffset:0;opacity:1}98.5%,100%{stroke-dashoffset:0;opacity:0}}.scene-4 .scene-live .k9{animation:s4-k9 10s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s4-k9{0%,26.5%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}30.5%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k10{animation:s4-k10 10s infinite both}
@keyframes s4-k10{0%,40%{opacity:0;transform:scale(1);animation-timing-function:var(--e)}44.2%{opacity:1;transform:scale(1.0)}52%{opacity:.0;transform:scale(1.9);animation-timing-function:var(--e)}100%{opacity:0}}.scene-4 .scene-live .k11{animation:s4-k11 10s infinite both}
@keyframes s4-k11{0%,69%{opacity:0;transform:scale(1);animation-timing-function:var(--e)}73.2%{opacity:1;transform:scale(1.0)}81%{opacity:.0;transform:scale(1.9);animation-timing-function:var(--e)}100%{opacity:0}}.scene-4 .scene-live .k12{animation:s4-k12 10s infinite both}
@keyframes s4-k12{0%,6.9%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}11.9%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k13{animation:s4-k13 10s infinite both}
@keyframes s4-k13{0%,8.9%{opacity:0;animation-timing-function:var(--e)}13.9%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k14{animation:s4-k14 10s infinite both}
@keyframes s4-k14{0%,12%{stroke-dashoffset:1;opacity:1;animation-timing-function:var(--e2)}26%,94.5%{stroke-dashoffset:0;opacity:1}98.5%,100%{stroke-dashoffset:0;opacity:0}}.scene-4 .scene-live .k15{animation:s4-k15 10s infinite both}
@keyframes s4-k15{0%,20%{opacity:0;animation-timing-function:var(--e)}25%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k16{animation:s4-k16 10s infinite both}
@keyframes s4-k16{0%,22%{opacity:0;animation-timing-function:var(--e)}27%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k17{animation:s4-k17 10s infinite both}
@keyframes s4-k17{0%,8.1%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}13.1%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k18{animation:s4-k18 10s infinite both}
@keyframes s4-k18{0%,12%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}17.5%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-4 .scene-live .k19{animation:s4-k19 10s infinite both}
@keyframes s4-k19{0%,13.2%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}18.7%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-4 .scene-live .k20{animation:s4-k20 10s infinite both}
@keyframes s4-k20{0%,14.4%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}19.9%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-4 .scene-live .k21{animation:s4-k21 10s infinite both}
@keyframes s4-k21{0%,15.6%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}21.1%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-4 .scene-live .k22{animation:s4-k22 10s infinite both}
@keyframes s4-k22{0%,16.8%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}22.3%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-4 .scene-live .k23{animation:s4-k23 10s infinite both}
@keyframes s4-k23{0%,18%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}23.5%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-4 .scene-live .k24{animation:s4-k24 10s infinite both}
@keyframes s4-k24{0%,19.2%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}24.7%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-4 .scene-live .k25{animation:s4-k25 10s infinite both}
@keyframes s4-k25{0%,12%{opacity:0;animation-timing-function:var(--e)}16%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k26{animation:s4-k26 10s infinite both}
@keyframes s4-k26{0%,46%{transform:scaleY(0);opacity:1;animation-timing-function:var(--e)}51%,94.5%{transform:scaleY(1);opacity:1}98.5%,100%{transform:scaleY(1);opacity:0}}.scene-4 .scene-live .k27{animation:s4-k27 10s infinite both}
@keyframes s4-k27{0%,9.3%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}14.3%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k28{animation:s4-k28 10s infinite both}
@keyframes s4-k28{0%,9.3%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}9.4%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k29{animation:s4-k29 10s infinite both}
@keyframes s4-k29{0%,10.3%{opacity:0;animation-timing-function:var(--e)}14.3%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k30{animation:s4-k30 10s infinite both}
@keyframes s4-k30{0%,16%{stroke-dashoffset:1;opacity:1;animation-timing-function:var(--e)}30%,94.5%{stroke-dashoffset:0;opacity:1}98.5%,100%{stroke-dashoffset:0;opacity:0}}.scene-4 .scene-live .k31{animation:s4-k31 10s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s4-k31{0%,31%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}35%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k32{animation:s4-k32 10s infinite both}
@keyframes s4-k32{0%,10.5%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}15.5%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k33{animation:s4-k33 10s infinite both}
@keyframes s4-k33{0%,10.5%{opacity:0;transform:translateY(12px);animation-timing-function:var(--e)}10.6%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k34{animation:s4-k34 10s infinite both}
@keyframes s4-k34{0%,17.5%{stroke-dashoffset:1;opacity:1;animation-timing-function:var(--e)}31.5%,94.5%{stroke-dashoffset:0;opacity:1}98.5%,100%{stroke-dashoffset:0;opacity:0}}.scene-4 .scene-live .k35{animation:s4-k35 10s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s4-k35{0%,32.5%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}36.5%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k36{animation:s4-k36 10s infinite both}
@keyframes s4-k36{0%,44%{opacity:0;transform:scale(1);animation-timing-function:var(--e)}48.2%{opacity:1;transform:scale(1.0)}56%{opacity:.0;transform:scale(1.9);animation-timing-function:var(--e)}100%{opacity:0}}.scene-4 .scene-live .k37{animation:s4-k37 10s infinite both}
@keyframes s4-k37{0%,72%{opacity:0;transform:scale(1);animation-timing-function:var(--e)}76.2%{opacity:1;transform:scale(1.0)}84%{opacity:.0;transform:scale(1.9);animation-timing-function:var(--e)}100%{opacity:0}}.scene-4 .scene-live .k38{animation:s4-k38 10s infinite both}
@keyframes s4-k38{0%,60%{opacity:0;animation-timing-function:var(--e)}64%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k39{animation:s4-k39 10s infinite both}
@keyframes s4-k39{0%,60%{opacity:0;transform:scale(1);animation-timing-function:var(--e)}64.9%{opacity:1;transform:scale(1.0)}74%{opacity:.0;transform:scale(1.9);animation-timing-function:var(--e)}100%{opacity:0}}.scene-4 .scene-live .k40{animation:s4-k40 10s infinite both;transform-box:fill-box;transform-origin:center}
@keyframes s4-k40{0%,63%{opacity:0;transform:scale(.94);animation-timing-function:var(--e)}67%,94.5%{opacity:1;transform:none;animation-timing-function:var(--e)}98.5%,100%{opacity:0}}.scene-4 .scene-live .k41{animation:s4-k41 10s infinite both}
@keyframes s4-k41{0%,30%{transform:translateY(0);animation-timing-function:steps(5,end)}62%,99%{transform:translateY(-230px)}100%{transform:translateY(0)}}.scene-4 .scene-live .fl{animation:s4-fl 1.6s linear infinite}@keyframes s4-fl{to{stroke-dashoffset:-16}}

}

/* ---------- Motion toggle, form result, privacy page ---------- */
.motion-toggle{
  display:inline-flex;align-items:center;min-height:44px;margin-top:8px;padding:0 2px;
  border:0;border-bottom:2px solid var(--glacier);background:transparent;color:var(--spruce);cursor:pointer;
  font:var(--fw-ui) var(--fs-nav)/1 var(--font-body);
}
.motion-toggle[aria-pressed="true"]{background:var(--frost);border-radius:8px;padding:0 12px;border-bottom-color:transparent}
.form__status .only-sent,.form__status .only-err,.form__status .only-preview,.form__status .only-delivery{display:none}
html.is-sent .form__status .only-sent{display:inline}
html.is-err .form__status .only-err{display:inline}
html.is-preview .form__status .only-preview{display:inline}
html.is-delivery .form__status .only-delivery{display:inline}
.legal{padding-top:calc(var(--nav-h) + clamp(48px,8vw,96px));padding-bottom:clamp(64px,8vw,96px)}
.legal h1{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--track-h2);font-weight:var(--fw-h1);margin:0}
.legal .prose{max-width:65ch;color:var(--slate);font-size:var(--fs-body);line-height:var(--lh-body)}
.legal .prose > * + *{margin-top:1rem}
.legal .prose h2{
  font-family:var(--font-display);font-weight:var(--fw-h2);font-optical-sizing:auto;
  font-size:var(--fs-h3);line-height:var(--lh-h2);letter-spacing:var(--track-h2);
  color:var(--spruce);margin-top:2.75rem;text-wrap:balance;
}
.legal .prose h2 + *{margin-top:.75rem}
.legal__date{color:var(--spruce);font-size:var(--fs-ui)}
.legal .prose strong{color:var(--spruce);font-weight:var(--fw-ui)}
.legal .prose ul{margin-top:.75rem;padding-left:1.25em;list-style:disc}
.legal .prose li + li{margin-top:.5rem}
.legal .prose li::marker{color:var(--slate)}
.legal .prose a{color:var(--spruce);font-weight:var(--fw-ui);text-decoration:underline;text-decoration-color:var(--glacier);text-decoration-thickness:2px;text-underline-offset:3px}
.legal .prose address{font-style:normal;color:var(--spruce)}
/* ---------- Reduced motion (operating system, and the footer toggle) ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  html.js .reveal{opacity:1;transform:none}
  html.js .steps::before{transform:none}
  .btn--ember:hover,.card:hover,.tile:hover,.link-quiet:hover svg{transform:none}
  .btn--ember:hover::before,.nav__links a:hover::after{transform:none}
  .td-puck{offset-distance:50%;offset-rotate:0deg}
  .scene-live{display:none}
  .scene-static{display:block}
  .scene .ctl{display:none}
}
html[data-reduce-motion]{scroll-behavior:auto}
html[data-reduce-motion] *,
html[data-reduce-motion] *::before,
html[data-reduce-motion] *::after{animation:none!important;transition:none!important}
html[data-reduce-motion].js .reveal{opacity:1;transform:none}
html[data-reduce-motion].js .steps::before{transform:none}
html[data-reduce-motion] .btn--ember:hover,
html[data-reduce-motion] .card:hover,
html[data-reduce-motion] .tile:hover,
html[data-reduce-motion] .link-quiet:hover svg{transform:none}
html[data-reduce-motion] .btn--ember:hover::before,
html[data-reduce-motion] .nav__links a:hover::after{transform:none}
html[data-reduce-motion] .td-puck{offset-distance:50%;offset-rotate:0deg}
html[data-reduce-motion] .scene-live{display:none}
html[data-reduce-motion] .scene-static{display:block}
html[data-reduce-motion] .scene .ctl{display:none}
