/* EOS Visuals site. Adapted from designs/design-3-clean-trust.html.
   Changes from the design, and why:
   - System fonts instead of Google Fonts: no third-party requests (privacy, speed, no tracking).
   - Header nav shown on phones too (wraps to a second row), so every page is reachable on mobile.
   - Shared stylesheet for all pages; long-form styles added for the policy pages. */
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/figtree-var.woff2) format("woff2")}
:root{
  --bg:#F4F7FB; --surface:#FFFFFF; --sunk:#E9EFF7; --ink:#0F1B33; --muted:#4A5670; --line:#DCE4EF;
  --accent:#CF3F22; --accent-soft:#FBE3DC; --on-accent:#FFFFFF; --link:#2447B8; --blue:#3B63D9; --ok:#1D7A4E;
  --fill-bg:#FFF4CC; --fill-ink:#5C4500; --fill-line:#E8C55A;
  --shadow:0 1px 2px rgba(27,30,35,.06),0 12px 32px -12px rgba(27,30,35,.18);
  --r:14px; --gut:16px;
  --serif:Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;
  padding-bottom:env(safe-area-inset-bottom,0px);overflow-wrap:break-word}
a{color:var(--link)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
img,video{max-width:100%;height:auto}
.wrap{max-width:70rem;margin:0 auto;padding:0 var(--gut)}
@media (min-width:720px){:root{--gut:32px}}
h1,h2,h3{margin:0;line-height:1.15}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,8vw,4rem);letter-spacing:-.02em}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,5vw,2.6rem);letter-spacing:-.01em}
h1 em,h2 em{font-style:normal;color:var(--accent)}
.kicker{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}
.sub{color:var(--muted);max-width:38rem;margin:.9rem 0 0}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--surface);color:var(--ink);padding:.6rem 1rem;z-index:10}
.skip:focus{left:var(--gut)}

/* header */
.top{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem;padding-top:.6rem;padding-bottom:.6rem}
.mark{display:flex;align-items:center;gap:.55rem;font-weight:700;text-decoration:none;letter-spacing:-.01em;font-size:1.05rem;color:var(--ink);min-height:2.75rem}
.mark i{width:1.35rem;height:1.35rem;border-radius:50%;background:conic-gradient(from 200deg,var(--blue),var(--accent-soft),var(--accent),var(--blue));display:block}
.top nav{display:flex;flex-wrap:wrap;gap:0 1.1rem;font-size:.95rem;width:100%;order:3}
.top nav a{text-decoration:none;color:var(--muted);padding:.55rem 0;min-height:2.75rem;display:inline-flex;align-items:center}
.top nav a:hover,.top nav a[aria-current=page]{color:var(--ink)}
.top nav a[aria-current=page]{text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:2px}
@media (min-width:880px){.top nav{width:auto;order:0;gap:1.6rem}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.7rem 1.3rem;
  font:inherit;font-weight:600;font-size:1rem;border-radius:999px;text-decoration:none;cursor:pointer;border:1px solid transparent}
.btn.primary{background:var(--accent);color:var(--on-accent)}
.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn.sm{min-height:2.75rem;padding:.45rem 1rem;font-size:.92rem}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

/* hero */
.hero{padding:2.5rem 0 3.5rem}
@media (min-width:900px){.hero{padding:4.5rem 0 5rem}}
.lede{font-size:1.15rem;color:var(--muted);max-width:36rem;margin:1.25rem 0 0}
.lede strong{color:var(--ink);font-weight:600}
.assure{list-style:none;padding:0;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.95rem;color:var(--muted)}
.assure li::before{content:"✓";color:var(--ok);font-weight:700;margin-right:.45rem}

section{padding:3.5rem 0;border-top:1px solid var(--line)}
@media (min-width:900px){section{padding:5rem 0}}
.head{max-width:42rem;margin-bottom:2.25rem}

/* cards and grids */
.grid{display:grid;gap:1rem}
@media (min-width:760px){.grid.two{grid-template-columns:1fr 1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.4rem}
.card h3{font-size:1.2rem;font-weight:600;margin-bottom:.75rem}
.card p{margin:.5rem 0 0;color:var(--muted)}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.ticks li{display:grid;grid-template-columns:1.25rem 1fr;gap:.6rem}
.ticks li::before{content:"✓";color:var(--blue);font-weight:700}
.ticks b{font-weight:600}
.limits{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
@media (min-width:760px){.limits{grid-template-columns:1fr 1fr}}
.limits li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;color:var(--muted)}

/* before / after */
.ba{display:grid;gap:1.25rem;max-width:44rem}
@media (min-width:640px){.ba{grid-template-columns:1fr 1fr}}
.ba figure{margin:0}
.ba video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--sunk);border-radius:18px;border:1px solid var(--line)}
.ba figcaption{margin-top:.6rem;font-size:.92rem;color:var(--muted);text-align:center}
.credit{font-size:.9rem;color:var(--muted);margin:1rem 0 0;max-width:44rem}

/* steps */
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:1.4rem;max-width:44rem}
.steps li{counter-increment:s;position:relative;padding-left:3rem}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:2rem;height:2rem;border-radius:50%;
  background:var(--accent-soft);color:var(--ink);font-weight:700;display:flex;align-items:center;justify-content:center}
.steps h3{font-size:1.1rem;font-weight:600;margin-bottom:.2rem}
.steps p{margin:0;color:var(--muted)}

/* pricing */
.price{font-family:var(--serif);font-size:clamp(2.4rem,8vw,3.2rem);line-height:1;color:var(--ink);margin:.25rem 0}
.price small{font-family:var(--sans);font-size:.95rem;color:var(--muted);margin-left:.3rem}
.price .fill{font-family:var(--sans);font-size:.4em;vertical-align:middle}
.alt{color:var(--muted);font-size:.95rem;margin:.3rem 0 0}
.badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .55rem;border-radius:6px;
  background:var(--accent-soft);color:var(--ink);vertical-align:middle;margin-left:.4rem}
.pay{margin-top:1.4rem;padding:1rem;border:2px dashed var(--line);border-radius:12px;display:grid;gap:.6rem}
.pay p{margin:0;font-size:.9rem;color:var(--muted)}
.pay .lbl{font-weight:600;color:var(--ink);font-size:.95rem}

table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);font-size:.97rem}
caption{text-align:left;font-weight:600;padding:0 0 .75rem}
th,td{text-align:left;vertical-align:top;padding:.8rem 1rem;border-top:1px solid var(--line)}
thead th{background:var(--sunk);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.tablewrap{overflow-x:auto;max-width:48rem}

/* long-form (policy) pages */
.doc{max-width:44rem;padding:2.5rem 0 4rem}
.doc h1{font-size:clamp(2rem,6vw,3rem);margin-bottom:.5rem}
.doc .meta{color:var(--muted);font-size:.95rem;margin:0 0 2rem}
.doc h2{font-size:clamp(1.4rem,4vw,1.8rem);margin:2.5rem 0 .75rem}
.doc h3{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .4rem}
.doc p,.doc li{max-width:42rem}
.doc ul,.doc ol{padding-left:1.4rem}
.doc li{margin:.3rem 0}
.doc .summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem;margin:0 0 2rem}
.doc .summary h2{margin-top:0;font-size:1.3rem}
.doc dl{margin:0}
.doc dt{font-weight:600;margin-top:1rem}
.doc dd{margin:.15rem 0 0}

/* placeholders the operator fills before launch */
.fill{background:var(--fill-bg);color:var(--fill-ink);border:1px dashed var(--fill-line);border-radius:4px;padding:0 .3em;font-weight:600;font-size:.95em}

footer{border-top:1px solid var(--line);padding:2.5rem 0 3rem;color:var(--muted);font-size:.93rem}
footer .links{display:flex;flex-wrap:wrap;gap:.25rem 1.4rem;margin:0 0 1.25rem;padding:0;list-style:none}
footer .links a{color:var(--ink);display:inline-block;padding:.4rem 0}
footer p{margin:.35rem 0;max-width:48rem}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* abstract network backdrop (assets/net.js) */
#net{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero em,h2 em{font-style:normal;color:var(--accent)}
.card{background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(6px)}

body{background:linear-gradient(180deg,#F7F9FD 0%,var(--bg) 45%,#E9F0FA 100%) fixed}
.top{background:color-mix(in srgb,var(--bg) 94%,transparent)}
.btn.ghost{background:color-mix(in srgb,var(--surface) 70%,transparent)}
h1,h2{text-wrap:balance}

/* ===== v3: glass over a fixed space, editorial type, motion ===== */
:root{
  --display:"Figtree","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --body:"Figtree","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --glass:rgba(255,255,255,.38);--glass-line:rgba(255,255,255,.85);
}
body{font-family:var(--body);-webkit-font-smoothing:antialiased}
h1,h2,.price{font-family:var(--display);font-weight:800}
h1{font-size:clamp(2.35rem,6vw,4.3rem);line-height:1.04;letter-spacing:-.035em}
h2{font-size:clamp(1.8rem,4.4vw,2.7rem);line-height:1.08;letter-spacing:-.03em}
h1 em,h2 em{font-style:normal;color:var(--accent)}
.card h3,.steps h3{font-family:var(--body);letter-spacing:-.01em}
.kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:.74rem;font-weight:600;letter-spacing:.14em}
.kicker::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--accent)}

/* glass panels: the background stays visible through them */
main.wrap>section,main.wrap>.hero,main.wrap>.doc{
  background:var(--glass);
  -webkit-backdrop-filter:blur(2px) saturate(1.25);backdrop-filter:blur(2px) saturate(1.25);
  border:1px solid var(--glass-line);border-radius:26px;
  padding:clamp(1.4rem,3.6vw,2.75rem);margin:1.25rem auto;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 24px 60px -34px rgba(15,27,51,.35)}
.card,.limits li{background:rgba(255,255,255,.46);border:1px solid rgba(255,255,255,.85);box-shadow:0 1px 0 rgba(255,255,255,.9) inset;backdrop-filter:none}
.top{background:rgba(244,247,251,.5);-webkit-backdrop-filter:blur(4px) saturate(1.3);backdrop-filter:blur(4px) saturate(1.3);border-bottom:1px solid rgba(255,255,255,.7)}
footer{background:rgba(244,247,251,.62);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.7)}
.btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.btn.primary{box-shadow:0 8px 22px -10px rgba(207,63,34,.7)}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:rgba(255,255,255,.6);border-color:rgba(15,27,51,.14)}
.top nav .nav-cta{color:var(--on-accent);background:var(--accent);border-radius:999px;padding:.4rem 1rem;min-height:2.5rem;margin-left:.25rem}
.top nav .nav-cta:hover{color:var(--on-accent);filter:brightness(1.07)}

/* hero: text + animated caption phone */
.hero-grid{display:grid;gap:2.25rem;align-items:center}
@media (min-width:900px){.hero-grid{grid-template-columns:1.25fr .75fr}}
.phone{justify-self:center;width:min(15rem,62vw);aspect-ratio:9/18.4;border-radius:2.1rem;padding:.55rem;
  background:linear-gradient(160deg,#2a3042,#0d1220);box-shadow:0 30px 60px -28px rgba(15,27,51,.6),0 0 0 1px rgba(255,255,255,.25) inset;position:relative}
.phone .screen{position:absolute;inset:.55rem;border-radius:1.6rem;overflow:hidden;
  background:radial-gradient(120% 80% at 30% 20%,#56627f 0,#232a3d 55%,#10141f 100%)}
.phone .screen::before{content:"";position:absolute;left:50%;top:18%;width:46%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.28),rgba(255,255,255,.04) 70%)}
.phone .screen::after{content:"";position:absolute;left:50%;top:44%;width:74%;height:30%;transform:translateX(-50%);border-radius:50% 50% 0 0;
  background:linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,0))}
.caps{position:absolute;left:8%;right:8%;bottom:18%;text-align:center;font-family:var(--body);font-weight:800;font-size:clamp(1.05rem,3.2vw,1.35rem);
  line-height:1.25;color:#fff;letter-spacing:-.01em;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.caps span{display:inline-block;margin:0 .14em;opacity:.55;animation:eos-word 6s infinite}
.caps span:nth-child(1){animation-delay:0s}.caps span:nth-child(2){animation-delay:.6s}.caps span:nth-child(3){animation-delay:1.2s}
.caps span:nth-child(4){animation-delay:1.8s}.caps span:nth-child(5){animation-delay:2.4s}.caps span:nth-child(6){animation-delay:3s}
@keyframes eos-word{0%,8%{opacity:.55;color:#fff;transform:scale(1)}12%,26%{opacity:1;color:#FFC24A;transform:scale(1.14)}34%,100%{opacity:1;color:#fff;transform:scale(1)}}
.phone .bar{position:absolute;left:8%;right:8%;bottom:7%;height:1.4rem;display:flex;align-items:center;gap:2px}
.phone .bar i{flex:1;background:rgba(255,255,255,.7);border-radius:2px;height:var(--h)}
.phone-note{margin:.8rem 0 0;font-size:.8rem;color:var(--muted);text-align:center}

/* waveform: dead air collapses */
.wave{display:flex;align-items:center;gap:3px;height:3rem;margin:0 0 1.1rem}
.wave i{flex:0 0 5px;border-radius:3px;background:var(--blue);height:var(--h);opacity:.85}
.wave i.q{background:rgba(15,27,51,.25);height:6px;animation:eos-cut 5s ease-in-out infinite}
@keyframes eos-cut{0%,30%{flex-basis:5px;opacity:1}55%,85%{flex-basis:0;margin-left:-3px;opacity:0}100%{flex-basis:5px;opacity:1}}

/* steps */
.steps li::before{background:var(--ink);color:#fff;font-family:var(--display);font-size:1.05rem;font-weight:800}

/* reveal on scroll (only when JS is running) */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}.caps span,.wave i.q{animation:none}.caps span{opacity:1}}

/* portfolio slots */
.slots{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);max-width:44rem}
.slot{aspect-ratio:9/14;border:1.5px dashed rgba(15,27,51,.25);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;
  text-align:center;padding:.75rem;color:var(--muted);font-size:.85rem;background:rgba(255,255,255,.35)}
.slot b{font-family:var(--display);font-weight:800;font-size:1.9rem;color:var(--ink);line-height:1}
@media (max-width:520px){.slots{gap:.6rem}.slot{font-size:.75rem}}
@media (max-width:879px){.top nav .nav-cta{display:none}}

/* how it works: each step lifts when pointed at or focused */
.steps{max-width:none;gap:.5rem;margin-left:-.5rem;margin-right:-.5rem}
.steps li{padding:.95rem 1rem .95rem 3.9rem;border:1px solid transparent;border-radius:16px;
  transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease,border-color .22s ease}
.steps li::before{left:.9rem;top:.95rem;transition:transform .22s ease,background-color .22s ease}
.steps li:focus-within{outline:none}
@media (hover:hover){
  .steps li:hover,.steps li:focus-within{transform:translateY(-4px) scale(1.012);background:rgba(255,255,255,.82);border-color:rgba(255,255,255,.95);
    box-shadow:0 18px 36px -20px rgba(15,27,51,.45)}
  .steps li:hover::before,.steps li:focus-within::before{background:var(--accent);transform:scale(1.12)}
  .steps li:hover h3{color:var(--ink)}
}
.steps li a{border-radius:4px}

/* vertical reframe illustration */
.reframe{display:flex;align-items:center;gap:.9rem;margin:0 0 1.1rem}
.r169{position:relative;width:7.2rem;height:4.05rem;border-radius:8px;background:rgba(15,27,51,.08);border:1px solid rgba(15,27,51,.18);overflow:hidden}
.r169 .subj{position:absolute;left:.7rem;top:.9rem;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--blue);animation:eos-subj 7s ease-in-out infinite}
.r169 .crop{position:absolute;top:0;bottom:0;left:0;width:2.28rem;border:2px solid var(--accent);border-radius:6px;background:rgba(207,63,34,.08);animation:eos-crop 7s ease-in-out infinite}
@keyframes eos-subj{0%,12%{transform:translateX(0)}40%,58%{transform:translateX(3.4rem)}86%,100%{transform:translateX(1.3rem)}}
@keyframes eos-crop{0%,12%{transform:translateX(.12rem)}40%,58%{transform:translateX(3.56rem)}86%,100%{transform:translateX(1.42rem)}}
.reframe .arrow{color:var(--muted);font-size:1.1rem}
.r916{width:2.28rem;height:4.05rem;border-radius:6px;border:2px solid var(--accent);background:linear-gradient(160deg,#56627f,#1b2133);position:relative;overflow:hidden}
.r916::after{content:"";position:absolute;left:50%;top:32%;width:1.1rem;height:1.1rem;transform:translateX(-50%);border-radius:50%;background:var(--blue)}
@media (prefers-reduced-motion:reduce){.r169 .subj,.r169 .crop{animation:none}.r169 .crop{transform:translateX(.12rem)}}
/* progress: vertical pipeline, 8 s loop. The line fills with a glowing head; each step lights in a gradient with a ring pulse. */
.flow-wrap{align-self:start}
.flow{margin:0;padding:0;list-style:none;position:relative;display:grid;gap:1.2rem}
.flow::before,.flow::after{content:"";position:absolute;left:1.1rem;top:1.1rem;bottom:1.1rem;width:4px;margin-left:-2px;border-radius:4px}
.flow::before{background:rgba(15,27,51,.1)}
.flow::after{background:linear-gradient(180deg,#3B63D9 0%,#7A5AD8 55%,#CF3F22 100%);transform-origin:top;transform:scaleY(0);animation:eos-fill 8s linear infinite;filter:drop-shadow(0 0 5px rgba(122,90,216,.65))}
@keyframes eos-fill{0%{transform:scaleY(0)}86%{transform:scaleY(1)}97%{transform:scaleY(1)}100%{transform:scaleY(0)}}
.flow li{position:relative;z-index:1;display:grid;grid-template-columns:2.2rem 1fr;gap:.1rem .85rem;align-items:center;line-height:1.2}
.flow li b{grid-row:span 2;position:relative;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:#fff;border:1.5px solid rgba(15,27,51,.16);box-shadow:0 2px 8px -3px rgba(15,27,51,.25);color:#7B8498}
.flow li b svg{position:relative;z-index:2;width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.flow li b::before{content:"";position:absolute;inset:-1.5px;border-radius:50%;background:linear-gradient(135deg,#3B63D9,#CF3F22);opacity:0;box-shadow:0 0 18px 4px rgba(122,90,216,.38)}
.flow li:last-child b::before{background:linear-gradient(135deg,#1D7A4E,#3FB37F);box-shadow:0 0 20px 5px rgba(63,179,127,.42)}
.flow li b::after{content:"";position:absolute;inset:-1.5px;border-radius:50%;border:2px solid #7A5AD8;opacity:0}
.flow li:last-child b::after{border-color:#3FB37F}
.flow li span{font-size:.9rem;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.flow li em{font-style:normal;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-self:start;font-weight:600}
.flow li.you em{color:var(--accent);font-weight:800}
.flow li span,.flow li em{animation-duration:8s;animation-iteration-count:infinite}
.flow-note{margin:1.1rem 0 0;font-size:.82rem;color:var(--muted);max-width:11.5rem}
.flow-note strong{color:var(--ink);font-weight:700}
.flow li:nth-child(1) b::before{animation:eos-g-one 8s infinite}.flow li:nth-child(1) b{animation:eos-c-one 8s infinite}.flow li:nth-child(1) b::after{animation:eos-r-one 8s infinite}.flow li:nth-child(1) span,.flow li:nth-child(1) em{animation-name:eos-l-one}
.flow li:nth-child(2) b::before{animation:eos-g-two 8s infinite}.flow li:nth-child(2) b{animation:eos-c-two 8s infinite}.flow li:nth-child(2) b::after{animation:eos-r-two 8s infinite}.flow li:nth-child(2) span,.flow li:nth-child(2) em{animation-name:eos-l-two}
.flow li:nth-child(3) b::before{animation:eos-g-three 8s infinite}.flow li:nth-child(3) b{animation:eos-c-three 8s infinite}.flow li:nth-child(3) b::after{animation:eos-r-three 8s infinite}.flow li:nth-child(3) span,.flow li:nth-child(3) em{animation-name:eos-l-three}
.flow li:nth-child(4) b::before{animation:eos-g-four 8s infinite}.flow li:nth-child(4) b{animation:eos-c-four 8s infinite}.flow li:nth-child(4) b::after{animation:eos-r-four 8s infinite}.flow li:nth-child(4) span,.flow li:nth-child(4) em{animation-name:eos-l-four}
.flow li:nth-child(5) b::before{animation:eos-g-five 8s infinite}.flow li:nth-child(5) b{animation:eos-c-five 8s infinite}.flow li:nth-child(5) b::after{animation:eos-r-five 8s infinite}.flow li:nth-child(5) span,.flow li:nth-child(5) em{animation-name:eos-l-five}
@media (min-width:900px){.hero-grid{grid-template-columns:12.5rem 1fr 14.5rem;gap:2rem}}
@media (max-width:899px){
  .flow{grid-template-columns:repeat(5,1fr);gap:.25rem}
  .flow::before,.flow::after{left:10%;right:10%;top:1.1rem;bottom:auto;width:auto;height:4px;margin:-2px 0 0}
  .flow::after{transform-origin:left;animation-name:eos-fillx;background:linear-gradient(90deg,#3B63D9,#7A5AD8,#CF3F22)}
  .flow li{display:block;text-align:center}.flow li b{margin:0 auto .45rem}.flow li span{display:block;font-size:.7rem}.flow li em{display:block;font-size:.58rem;margin-top:.15rem}
  .flow-note{max-width:none;text-align:center}
}
@keyframes eos-fillx{0%{transform:scaleX(0)}86%{transform:scaleX(1)}97%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.flow::after{animation:none;transform:none}.flow li b,.flow li b::before,.flow li b::after,.flow li span,.flow li em{animation:none!important}.flow li b::before{opacity:1}.flow li b{color:#fff}.flow li b::after{opacity:0}.flow li span,.flow li em{opacity:1;transform:none}}

/* timecode and grid marks: fixed, behind the wave and the glass */
#tc{position:fixed;inset:0;z-index:-2;pointer-events:none;
  background-image:linear-gradient(rgba(15,27,51,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(15,27,51,.055) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 45%,#000 30%,transparent 100%);mask-image:radial-gradient(120% 90% at 50% 45%,#000 30%,transparent 100%)}
#tc span{position:absolute;font:500 11px/1 ui-monospace,"Cascadia Mono",Consolas,monospace;letter-spacing:.06em;color:rgba(15,27,51,.42)}
#tc .p{font:300 22px/1 var(--body);color:rgba(15,27,51,.32)}
#tc .rec::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:6px;animation:eos-rec 1.6s ease-in-out infinite}
@keyframes eos-rec{50%{opacity:.25}}
@media (max-width:700px){#tc span.hide-m{display:none}}
@media (prefers-reduced-motion:reduce){#tc .rec::before{animation:none}}
@keyframes eos-g-one{0%,3%{opacity:0}6%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes eos-c-one{0%,3%{color:#7B8498}6%,96%{color:#fff}99%,100%{color:#7B8498}}
@keyframes eos-r-one{0%,3%{opacity:0;transform:scale(1)}4%{opacity:.6;transform:scale(1)}13%,100%{opacity:0;transform:scale(2.1)}}
@keyframes eos-l-one{0%,3%{opacity:.5;transform:translateX(-5px)}8%,96%{opacity:1;transform:none}99%,100%{opacity:.5;transform:translateX(-5px)}}
@keyframes eos-g-two{0%,25%{opacity:0}28%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes eos-c-two{0%,25%{color:#7B8498}28%,96%{color:#fff}99%,100%{color:#7B8498}}
@keyframes eos-r-two{0%,25%{opacity:0;transform:scale(1)}26%{opacity:.6;transform:scale(1)}35%,100%{opacity:0;transform:scale(2.1)}}
@keyframes eos-l-two{0%,25%{opacity:.5;transform:translateX(-5px)}30%,96%{opacity:1;transform:none}99%,100%{opacity:.5;transform:translateX(-5px)}}
@keyframes eos-g-three{0%,47%{opacity:0}50%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes eos-c-three{0%,47%{color:#7B8498}50%,96%{color:#fff}99%,100%{color:#7B8498}}
@keyframes eos-r-three{0%,47%{opacity:0;transform:scale(1)}48%{opacity:.6;transform:scale(1)}57%,100%{opacity:0;transform:scale(2.1)}}
@keyframes eos-l-three{0%,47%{opacity:.5;transform:translateX(-5px)}52%,96%{opacity:1;transform:none}99%,100%{opacity:.5;transform:translateX(-5px)}}
@keyframes eos-g-four{0%,69%{opacity:0}72%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes eos-c-four{0%,69%{color:#7B8498}72%,96%{color:#fff}99%,100%{color:#7B8498}}
@keyframes eos-r-four{0%,69%{opacity:0;transform:scale(1)}70%{opacity:.6;transform:scale(1)}79%,100%{opacity:0;transform:scale(2.1)}}
@keyframes eos-l-four{0%,69%{opacity:.5;transform:translateX(-5px)}74%,96%{opacity:1;transform:none}99%,100%{opacity:.5;transform:translateX(-5px)}}
@keyframes eos-g-five{0%,89%{opacity:0}92%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes eos-c-five{0%,89%{color:#7B8498}92%,96%{color:#fff}99%,100%{color:#7B8498}}
@keyframes eos-r-five{0%,89%{opacity:0;transform:scale(1)}90%{opacity:.6;transform:scale(1)}99%,100%{opacity:0;transform:scale(2.1)}}
@keyframes eos-l-five{0%,89%{opacity:.5;transform:translateX(-5px)}94%,96%{opacity:1;transform:none}99%,100%{opacity:.5;transform:translateX(-5px)}}

#tc .t{font:500 11px/1 ui-monospace,"Cascadia Mono",Consolas,monospace;letter-spacing:.06em;color:rgba(15,27,51,.4)}
#tc .mv{animation-name:eos-slide;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes eos-slide{from{transform:translate(0,0)}to{transform:translate(var(--dx,0),var(--dy,0))}}
@media (prefers-reduced-motion:reduce){#tc .mv{animation:none}}

/* ===== v4: "edit suite". Neutral grey bench, one signal red, hairlines, mono data, flat corners ===== */
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url(fonts/jetbrains-mono-var.woff2) format("woff2")}
:root{
  --bg:#ECEEF1;--surface:#FFFFFF;--sunk:#E1E4E9;--ink:#101318;--muted:#4D5562;--line:#CBD0D8;
  --accent:#D42A25;--accent-soft:#F6DAD8;--on-accent:#FFFFFF;--link:#101318;--blue:#101318;--r:10px;
  --mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
}
body{background:#ECEEF1}
a{color:var(--ink);text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:.2em}
h1 em,h2 em{font-style:normal;color:inherit}
.hero h1 em{box-shadow:inset 0 -.13em 0 rgba(212,42,37,.55)}
.flow li em{box-shadow:none}
.mark i{background:var(--accent);box-shadow:0 0 0 3px rgba(212,42,37,.18)}
.top{background:rgba(236,238,241,.86);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-bottom:1px solid rgba(16,19,24,.14)}
.top nav a{font-weight:600;font-size:.9rem}
.top nav .nav-cta{border-radius:6px;background:var(--accent);color:#fff;text-decoration:none}
.btn{border-radius:6px;transition:background-color .15s ease,border-color .15s ease}
.btn:hover{transform:none}
.btn.primary{background:var(--accent);box-shadow:none}
.btn.primary:hover{background:#B8221D}
.btn.ghost{background:rgba(255,255,255,.55);border:1px solid rgba(16,19,24,.28)}
.btn.ghost:hover{background:#fff}

/* windows: flat panels with a title bar, transparent enough for the background to read through */
main.wrap>section,main.wrap>.hero,main.wrap>.doc{background:rgba(255,255,255,.5);-webkit-backdrop-filter:none;backdrop-filter:none;
  border:1px solid rgba(16,19,24,.16);border-radius:10px;box-shadow:none;margin:1rem auto}
main.wrap>.hero{background:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
main.wrap>[data-win]::before{content:attr(data-win);display:block;font:600 .68rem/1 var(--mono);letter-spacing:.14em;color:var(--muted);
  padding-bottom:.85rem;margin-bottom:1.3rem;border-bottom:1px solid rgba(16,19,24,.14)}
.card,.limits li{background:rgba(255,255,255,.6);border:1px solid rgba(16,19,24,.14);border-radius:8px;box-shadow:none}
.slot{border-radius:8px;border-color:rgba(16,19,24,.28)}
.slot b{font-family:var(--mono);font-weight:600;font-size:1.3rem}
.ticks li::before{color:var(--accent)}
.assure li::before{color:var(--accent)}
.flow::after{background:var(--accent);filter:drop-shadow(0 0 4px rgba(212,42,37,.55))}
.flow li b::before{background:var(--ink);box-shadow:0 0 12px 2px rgba(212,42,37,.38)}
.flow li b::after{border-color:var(--accent)}
.flow li:last-child b::before{background:#1D7A4E;box-shadow:0 0 14px 3px rgba(29,122,78,.4)}
.flow li:last-child b::after{border-color:#1D7A4E}
.steps li:hover::before,.steps li:focus-within::before{background:var(--accent)}
@media (hover:hover){.steps li:hover,.steps li:focus-within{border-color:rgba(16,19,24,.2);box-shadow:0 10px 24px -16px rgba(16,19,24,.4);background:rgba(255,255,255,.8)}}
#tc span,#tc .t{color:rgba(16,19,24,.45)}

/* scroll playhead */
#sp{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(0);z-index:20;pointer-events:none}
.hdr-tc{font:500 .72rem/1 var(--mono);letter-spacing:.08em;color:var(--muted);margin-right:1rem}
@media (max-width:899px){.hdr-tc{display:none}}

/* the console */
.suite{background:#14171d;border:1px solid #2a2f38;border-radius:10px;color:#cfd4dc;padding:1rem;display:grid;gap:1rem}
@media (min-width:900px){.suite{grid-template-columns:15.5rem 1fr;align-items:stretch}}
.mon{display:flex;align-items:center;gap:1rem}
@media (min-width:900px){.mon{flex-direction:column;align-items:stretch}}
.phone.sm{width:7.2rem;aspect-ratio:9/18;padding:.3rem;border-radius:1.2rem;align-self:center;flex:0 0 auto}
.phone.sm .screen{inset:.3rem;border-radius:.9rem;background:#000;position:absolute;overflow:hidden}
.phone.sm .screen::before,.phone.sm .screen::after{display:none}
.frame{position:absolute;left:0;right:0;top:50%;height:31.6%;transform:translateY(-50%);background:radial-gradient(120% 90% at 30% 20%,#56627f,#232a3d 60%,#10141f);transition:height .5s ease;overflow:hidden}
.frame.vert{height:100%}
.subj{position:absolute;left:50%;top:46%;width:34%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.34),rgba(255,255,255,.06) 70%);transition:transform .45s ease}
.subj::after{content:"";position:absolute;left:-30%;right:-30%;top:105%;height:120%;border-radius:50% 50% 0 0;background:linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,0))}
.subj.zoom{transform:translateX(-50%) scale(1.22)}
.caps2{position:absolute;left:6%;right:6%;bottom:12%;text-align:center;font-weight:800;font-size:.66rem;line-height:1.25;color:#fff;letter-spacing:-.01em}
.caps2 span{display:inline-block;margin:0 .1em;transition:opacity .15s,transform .15s,color .15s,text-shadow .15s}
.caps2.look-A span{color:#fff;opacity:.85}.caps2.look-A span.on{color:#FFC24A;opacity:1;transform:scale(1.12)}
.caps2.look-B span{color:#fff;opacity:.55;text-shadow:0 0 6px rgba(255,255,255,.35)}.caps2.look-B span.on{opacity:1;text-shadow:0 0 10px rgba(255,255,255,.9),0 0 20px rgba(255,255,255,.5)}
.read{margin:0;display:grid;gap:.7rem;font-family:var(--mono);flex:1}
.read div{display:grid;gap:.15rem}
.read dt{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#8a93a3}
.read dd{margin:0;font-size:.95rem;font-weight:600;color:#fff}
.meter{display:block;height:4px;background:#2b313c;border-radius:2px;margin-top:.15rem}.meter i{display:block;height:100%;width:38%;background:var(--accent);border-radius:2px;transition:width .5s ease}
.tl{--lab:2rem;position:relative;display:grid;gap:.5rem;align-content:center;padding:1.8rem .9rem .9rem;background:#0f1217;border:1px solid #232831;border-radius:8px}
.trk{display:grid;grid-template-columns:var(--lab) 1fr;gap:.6rem;align-items:center}
.trk label{font:600 .66rem var(--mono);letter-spacing:.1em;color:#8a93a3}
.lane{display:flex;gap:2px;height:2.6rem;min-width:0}
.blk{flex:1 1 0;min-width:0;border-radius:3px;transition:flex-grow .5s ease;display:flex;align-items:center;gap:2px;overflow:hidden;position:relative}
#lane-v .blk.s{background:#566379}#lane-v .blk.q{background:repeating-linear-gradient(135deg,#232831 0 4px,#1b1f27 4px 8px);border:1px dashed #394050}
#lane-a .blk{padding:0 3px}#lane-a i{flex:1;min-width:1px;height:var(--h);background:#4FA98C;border-radius:1px;transition:height .45s ease,background-color .45s}
#lane-a.clean i{height:var(--hc);background:#86DDBE}
#lane-c{height:1.7rem}#lane-c .blk{background:transparent}
#lane-c em{display:none;font:600 .6rem var(--mono);font-style:normal;color:#fff;padding:.15rem .3rem;border-radius:3px;white-space:nowrap;flex:0 1 auto;overflow:hidden}
#lane-c.on em{display:inline-block}#lane-c[data-look=A] em{background:#8a6a14}#lane-c[data-look=B] em{background:#3b4252;box-shadow:0 0 6px rgba(255,255,255,.25)}
.pk{display:none;position:absolute;right:6px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translateY(-50%)}
.punch .pk{display:block}
.playhead{position:absolute;top:.5rem;bottom:.6rem;width:2px;background:var(--accent);box-shadow:0 0 8px rgba(212,42,37,.7);pointer-events:none;
  left:calc(.9rem + var(--lab) + .6rem + (100% - (.9rem + var(--lab) + .6rem) - .9rem) * var(--p,.3));transition:none}
.playhead i{position:absolute;top:-1.3rem;left:50%;transform:translateX(-50%);font:600 .62rem var(--mono);font-style:normal;color:#fff;background:var(--accent);padding:.12rem .3rem;border-radius:3px;white-space:nowrap}
.ctl{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.sw,.seg button,.chips button{font:600 .86rem var(--body);cursor:pointer;border-radius:6px;border:1px solid #394050;background:#1b1f27;color:#dfe3ea;padding:.5rem .75rem;transition:background-color .15s,border-color .15s,color .15s}
.sw{display:inline-flex;align-items:center;gap:.55rem}
.sw b{width:1.9rem;height:1rem;border-radius:99px;background:#3a4150;position:relative;transition:background-color .15s}
.sw b::after{content:"";position:absolute;left:2px;top:2px;width:.75rem;height:.75rem;border-radius:50%;background:#aab1bd;transition:transform .18s ease,background-color .15s}
.sw[aria-pressed=true]{background:#fff;color:var(--ink);border-color:#fff}
.sw[aria-pressed=true] b{background:var(--accent)}.sw[aria-pressed=true] b::after{transform:translateX(.9rem);background:#fff}
.seg{display:inline-flex;align-items:center;gap:0;margin-left:auto}
.seg span{font:600 .62rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#8a93a3;margin-right:.6rem}
.seg button{border-radius:0}.seg button:first-of-type{border-radius:6px 0 0 6px}.seg button:last-of-type{border-radius:0 6px 6px 0}.seg button+button{margin-left:-1px}
.seg button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.sw:focus-visible,.seg button:focus-visible,.chips button:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media (max-width:560px){.seg{margin-left:0;width:100%}}
.demo-note{margin:1rem 0 0;color:var(--muted);font-size:.92rem}
.incl{list-style:none;margin:1.4rem 0 0;padding:1.1rem 0 0;border-top:1px solid rgba(16,19,24,.14);display:grid;gap:.5rem;font-size:.95rem}
@media (min-width:760px){.incl{grid-template-columns:1fr 1fr;gap:.6rem 2rem}}
.incl li::before{content:"+";font:600 1rem var(--mono);color:var(--accent);margin-right:.6rem}

/* trial builder */
.tb{display:grid;gap:1.6rem}
@media (min-width:900px){.tb{grid-template-columns:1.05fr .95fr;align-items:start}}
.tb fieldset{border:0;padding:0;margin:0 0 1.2rem}
.tb legend{font-weight:800;margin-bottom:.55rem;padding:0;letter-spacing:-.01em}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chips button{background:rgba(255,255,255,.65);border:1px solid rgba(16,19,24,.28);color:var(--ink)}
.chips button:hover{background:#fff}
.chips button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.chips button:focus-visible{outline-color:var(--accent)}
.tb-out{background:#14171d;border:1px solid #2a2f38;border-radius:10px;padding:1rem 1.1rem;color:#dfe3ea}
.mail{font:500 .78rem var(--mono);color:#fff;margin-bottom:.7rem;padding-bottom:.7rem;border-bottom:1px solid #2a2f38}.mail span{color:#8a93a3;margin-right:.6rem;letter-spacing:.12em}
.tb-out pre{margin:0;white-space:pre-wrap;font:400 .8rem/1.55 var(--mono);color:#cfd4dc}
.tb-out .actions{margin-top:1rem}
.tb-out .btn.ghost{background:transparent;color:#fff;border-color:#4a5262}.tb-out .btn.ghost:hover{background:#1b1f27}
@media (prefers-reduced-motion:reduce){.playhead{left:calc(.9rem + var(--lab) + .6rem + (100% - (.9rem + var(--lab) + .6rem) - .9rem) * .3)}.frame,.subj,.blk,#lane-a i,.meter i{transition:none}}

/* all-caps headings (his pick, 10-12) */
h1,h2{text-transform:uppercase;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.6rem)}
h2{font-size:clamp(1.5rem,3.6vw,2.2rem)}
.doc h2{font-size:clamp(1.15rem,3vw,1.5rem)}
.price{text-transform:none}

/* ===== v5: before / after. Condensed display type, grain, side-by-side pair ===== */
@font-face{font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/anton-400.woff2) format("woff2")}
:root{--display:"Anton","Arial Narrow",Impact,sans-serif;--bg:#ECECEA;--accent:#E5322D}
body{background:#ECECEA}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.07;mix-blend-mode:multiply;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
h1,h2,.price,.slot b{font-family:var(--display);font-weight:400;letter-spacing:.005em}
h1{font-size:clamp(3rem,7.4vw,5.6rem);line-height:.92}
h2{font-size:clamp(2rem,4.4vw,3.2rem);line-height:.98}
.doc h1{font-size:clamp(2.4rem,6vw,4rem)}.doc h2{font-size:clamp(1.4rem,3.4vw,2rem);line-height:1.05}
h1 em,h2 em{font-style:normal;color:var(--accent);box-shadow:none}
.hero h1 em{color:var(--accent);box-shadow:none}
.logo,.mark{letter-spacing:.02em}
.hero-grid{align-items:center}
@media (min-width:900px){.hero-grid{grid-template-columns:12.5rem 1fr 25rem;gap:1.6rem}}
.note{margin:.9rem 0 0;font:500 .75rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.btn small{font-weight:600;opacity:.75;margin-left:.45rem;text-transform:none;letter-spacing:0}
.actions{margin-top:1.6rem}
.pair{margin:0;display:grid;grid-template-columns:1fr auto 1fr;gap:.6rem;align-items:center;justify-items:center}
.pair .pp{display:grid;justify-items:center;gap:.5rem}
.pair .arr{font-family:var(--display);font-size:1.8rem;color:var(--ink);font-style:normal}
.pair .ph{width:7.6rem;aspect-ratio:9/18.4;border-radius:1.6rem;padding:.38rem;background:#14171d;box-shadow:0 26px 40px -24px rgba(0,0,0,.55);position:relative}
.pair .pp:first-child .ph{transform:rotate(-3deg)}.pair .pp:nth-child(3) .ph{transform:rotate(2.5deg) scale(1.06)}
.pair .scr{position:absolute;inset:.38rem;border-radius:1.25rem;overflow:hidden;background:#000}
.pair .raw .fr{position:absolute;left:0;right:0;top:50%;height:31.6%;transform:translateY(-50%);background:radial-gradient(120% 90% at 30% 20%,#6b6f78,#3a3d45 60%,#23252b);filter:saturate(.5)}
.pair .bg{position:absolute;inset:0;background:radial-gradient(120% 90% at 30% 20%,#5b6a8c,#252d44 60%,#10141f)}
.pair .hd{position:absolute;left:50%;top:36%;width:40%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:rgba(255,255,255,.28)}
.pair .sh{position:absolute;left:50%;top:60%;width:80%;height:40%;transform:translateX(-50%);border-radius:50% 50% 0 0;background:rgba(255,255,255,.14)}
.pair .caps{position:absolute;left:7%;right:7%;bottom:20%;text-align:center;color:#fff;font:800 .76rem/1.2 var(--body)}
.pair .caps span{display:inline-block;opacity:.55;animation:eos-word 6s infinite}
.pair .caps span:nth-child(1){animation-delay:0s}.pair .caps span:nth-child(2){animation-delay:.6s}.pair .caps span:nth-child(3){animation-delay:1.2s}
.pair .caps span:nth-child(4){animation-delay:1.8s}.pair .caps span:nth-child(5){animation-delay:2.4s}.pair .caps span:nth-child(6){animation-delay:3s}
.pair .wv{position:absolute;left:8%;right:8%;bottom:6%;height:1.2rem;display:flex;gap:2px;align-items:center}
.pair .wv i{flex:1;height:var(--h);background:#7ED6B7;border-radius:1px}.pair .rawwv i{background:#8f9299}
.pair .tg{font:700 .7rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pair .tg.a{color:#fff;background:var(--accent);padding:.25rem .5rem;border-radius:3px}
.pair .phone-note{grid-column:1/-1;margin-top:.4rem}
@media (max-width:899px){.pair{margin-top:1rem}.pair .ph{width:6.4rem}}
/* examples: before/after pairs */
.slots{max-width:none;grid-template-columns:repeat(3,1fr)}
.slot{position:relative;aspect-ratio:auto;height:9rem;padding:0;display:grid;grid-template-columns:1fr 1fr;border:2px dashed rgba(14,14,16,.5);overflow:hidden}
.slot div{display:grid;place-items:center;background:rgba(0,0,0,.05)}
.slot div span{font:700 .68rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.slot .aft{background:rgba(229,50,45,.08)}.slot .aft span{color:var(--accent)}
.slot em{position:absolute;left:0;right:0;bottom:.4rem;text-align:center;font:600 .66rem var(--mono);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--muted)}
@media (max-width:640px){.slots{grid-template-columns:1fr}}
/* flow: each step lifts when pointed at */
.flow li{transition:transform .2s ease}
@media (hover:hover){.flow li:hover{transform:translateX(4px)}.flow li:hover span{color:var(--accent)}}

.hero h1{font-size:clamp(2.7rem,5vw,4.3rem)}
.slot{grid-template-rows:1fr}

/* ===== v6: the scroll story. Sticky stage, scroll scrubs the edit, scenes cut like film ===== */
.story{height:430vh;position:relative}
.stick{position:sticky;top:var(--hh,64px);height:calc(100vh - var(--hh,64px));height:calc(100svh - var(--hh,64px));overflow:hidden}
.scene{position:absolute;inset:0 0 3.6rem 0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:none}
.scene.on{opacity:1;visibility:visible}
.scene .scn{width:100%;padding-top:.4rem}
.s2{background:#0E0E10;color:#fff;inset:0 0 3.6rem 0}
.s3{background:var(--accent);color:#fff}
.s2 h2,.s3 h2{color:#fff}.s2 h2 em{color:#FF5A4F}
.s2 .note,.s3 .note{color:rgba(255,255,255,.72)}
/* the reel nav lives on the stage floor */
.reelnav{position:absolute;left:0;right:0;bottom:0;height:3.6rem;display:flex;align-items:center;gap:.5rem;padding:0 var(--gut);background:#14171d;border-top:1px solid #2a2f38;color:#cfd4dc;z-index:3}
.reelnav button{font:700 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#cfd4dc;background:#232831;border:1px solid #3a4150;border-radius:5px;padding:.55rem .75rem;cursor:pointer;position:relative;z-index:2}
.reelnav button b{color:#8a93a3;margin-right:.35rem}
.reelnav button.on{background:var(--accent);border-color:var(--accent);color:#fff}.reelnav button.on b{color:#fff}
.reelnav button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.reeltrack{position:absolute;left:0;right:0;top:-1px;height:3px;background:#2a2f38}
.reeltrack i{position:absolute;top:-3px;width:3px;height:9px;background:var(--accent);box-shadow:0 0 8px var(--accent);margin-left:-1px}
.reeltc{margin-left:auto;font:600 .72rem var(--mono);letter-spacing:.08em;color:#8a93a3}
/* film cuts */
.flash{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:4}
.stick.cut-hard .flash{animation:eos-flash .14s steps(2,end)}
@keyframes eos-flash{0%{opacity:1}100%{opacity:0}}
.stick.cut-whip .scene.on{animation:eos-whip .32s cubic-bezier(.2,.8,.2,1)}
@keyframes eos-whip{0%{transform:translateX(9%);filter:blur(7px);opacity:.2}100%{transform:none;filter:none;opacity:1}}
/* scene 1 */
.s1g{display:grid;gap:1rem;align-items:center}
@media (min-width:900px){.s1g{grid-template-columns:13rem 1fr 22rem;gap:1.4rem}}
.s1 h1{font-size:clamp(2.6rem,min(6vw,11vh),5.4rem)}
.s1 .flow-wrap .flow{gap:clamp(.7rem,2.2vh,1.2rem)}
/* scene 2 / 3 */
.s2g{display:grid;gap:1.6rem;align-items:center}
@media (min-width:900px){.s2g{grid-template-columns:1fr 24rem}}
.s2 h2,.s3 h2{font-size:clamp(2.6rem,min(7vw,13vh),6rem);line-height:.92}
.take{margin:1rem 0 .3rem;font:700 .9rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.s3c{max-width:46rem}
.s3 .actions{margin-top:1.4rem}
.btn.dark{background:#0E0E10;color:#fff;border:0}.btn.dark:hover{background:#000}
/* the morphing before/after pair */
.mp{display:grid;grid-template-columns:1fr auto 1fr;gap:.6rem;align-items:center;justify-items:center}
.mp .pp{display:grid;justify-items:center;gap:.5rem}
.mp .arr{font-family:var(--display);font-size:1.7rem;color:inherit;font-style:normal}
.mp .ph{width:clamp(5.2rem,min(11vw,19vh),8.2rem);aspect-ratio:9/18.4;border-radius:1.5rem;padding:.36rem;background:#14171d;box-shadow:0 26px 40px -24px rgba(0,0,0,.6);position:relative}
.s2 .mp .ph{background:#1d2129;box-shadow:0 0 0 1px #2e3441,0 26px 40px -24px #000}
.mp .scr{position:absolute;inset:.36rem;border-radius:1.15rem;overflow:hidden;background:#000}
.mp .raw .fr{position:absolute;left:0;right:0;top:50%;height:31.6%;transform:translateY(-50%);background:radial-gradient(120% 90% at 30% 20%,#6b6f78,#3a3d45 60%,#23252b);filter:saturate(.5)}
.mp .hd,.mp .hdm{position:absolute;left:50%;top:36%;width:40%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:rgba(255,255,255,.28)}
.mp .sh,.mp .shm{position:absolute;left:50%;top:60%;width:80%;height:40%;transform:translateX(-50%);border-radius:50% 50% 0 0;background:rgba(255,255,255,.14)}
.mo{--rf:0;--cf:0;--zf:0;--cl:0}
.mo .bgm{position:absolute;inset:0;background:radial-gradient(120% 90% at 30% 20%,#5b6a8c,#252d44 60%,#10141f);opacity:var(--rf)}
.mo .frm{position:absolute;left:0;right:0;top:50%;height:calc(31.6% + 68.4% * var(--rf));transform:translateY(-50%);background:radial-gradient(120% 90% at 30% 20%,#6b6f78,#3a3d45 60%,#23252b);overflow:hidden}
.mo .frm{background:linear-gradient(transparent,transparent)}
.mo .hdm{top:calc(36% + 0% * var(--rf));transform:translateX(-50%) scale(calc(1 + .4 * var(--zf)));background:rgba(255,255,255,.3)}
.mo .shm{transform:translateX(-50%) scale(calc(1 + .3 * var(--zf)));transform-origin:50% 100%}
.mo::before{content:"";position:absolute;left:0;right:0;top:50%;height:31.6%;transform:translateY(-50%);background:radial-gradient(120% 90% at 30% 20%,#6b6f78,#3a3d45 60%,#23252b);filter:saturate(.5);opacity:calc(1 - var(--rf))}
.mo .cpm{position:absolute;left:7%;right:7%;bottom:20%;text-align:center;color:#fff;font:800 clamp(.6rem,1.2vw,.78rem)/1.2 var(--body);opacity:var(--cf);transform:translateY(calc((1 - var(--cf)) * 8px));text-shadow:0 1px 6px rgba(0,0,0,.5)}
.mo .cpm b{color:#FFC24A}
.mo .wvm{position:absolute;left:8%;right:8%;bottom:6%;height:1.2rem;display:flex;gap:2px;align-items:center}
.mo .wvm i{flex:1;height:calc(var(--h) + (var(--hc) - var(--h)) * var(--cl));background:color-mix(in srgb,#8f9299 calc((1 - var(--cl)) * 100%),#7ED6B7);border-radius:1px}
.mp .wv{position:absolute;left:8%;right:8%;bottom:6%;height:1.2rem;display:flex;gap:2px;align-items:center}
.mp .wv i{flex:1;height:var(--h);background:#8f9299;border-radius:1px}
.mp .tg{font:700 .7rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.s2 .mp .tg{color:#9aa1ad}
.mp .tg.a{color:#fff;background:var(--accent);padding:.25rem .5rem;border-radius:3px;min-width:5.2rem;text-align:center}
.mp .tg.a.done{background:#1D7A4E}
/* mobile: the same story, tighter */
@media (max-width:899px){
  .stick{--hh:56px}
  .s1g{gap:.6rem}.s1 .flow-wrap .flow-note{display:none}
  .s1 .hero-copy .note{display:none}
  .s1 h1{font-size:clamp(2.3rem,12vw,3.4rem)}
  .mp{margin-top:.2rem}.mp .ph{width:clamp(4.2rem,22vw,5.4rem)}
  .reelnav button{padding:.5rem .55rem;font-size:.62rem}.reeltc{display:none}
}
@media (max-width:899px) and (max-height:620px){.s1 .flow{display:none}}
@media (prefers-reduced-motion:reduce){.stick.cut-hard .flash,.stick.cut-whip .scene.on{animation:none}}
/* after the story: the trial, as a window */
#trial{scroll-margin-top:5rem}

.s3g{display:grid;gap:1.6rem;align-items:center}
@media (min-width:900px){.s3g{grid-template-columns:1fr 22rem}}
.slate3{justify-self:center;width:min(20rem,70vw);transform:rotate(-5deg);filter:drop-shadow(0 30px 30px rgba(0,0,0,.35))}
.slate3 .st{height:2.6rem;border:4px solid #0E0E10;background:repeating-linear-gradient(115deg,#0E0E10 0 26px,#fff 26px 52px);transform-origin:0 100%;transform:rotate(-8deg);border-radius:5px 5px 0 0;margin-bottom:-2px}
.slate3 .sb{background:#14171d;border:4px solid #0E0E10;display:grid;grid-template-columns:1fr 1fr;color:#fff}
.slate3 .sb div{border:1.5px solid rgba(255,255,255,.8);padding:.9rem .6rem .5rem;margin:-1px 0 0 -1px;font:800 1.05rem var(--body);text-transform:uppercase;position:relative;min-height:3.6rem}
.slate3 .sb em{position:absolute;top:.3rem;left:.5rem;font:600 .5rem var(--mono);letter-spacing:.14em;color:rgba(255,255,255,.55);font-style:normal}
.slate3 .sb .r{color:#FF8A80}
@media (max-width:899px){.s3g{gap:.8rem}.slate3{width:min(14rem,60vw)}.slate3 .sb div{padding-top:.8rem;min-height:2.6rem;font-size:.85rem}}

/* ===== v7: the cutting table. One screen, no scrolling story. The visitor drops their own video and the page shows the dead air we'd cut ===== */
main.home{min-height:calc(100vh - var(--hh,64px) - 3.2rem);min-height:calc(100svh - var(--hh,64px) - 3.2rem);display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:1.2rem 0 .4rem}
.home-grid{display:grid;gap:1.6rem;align-items:center;width:100%}
@media (min-width:1100px){.home-grid{grid-template-columns:12.5rem minmax(0,1fr) minmax(25rem,31rem);gap:2rem}}
@media (min-width:900px) and (max-width:1099px){.home-grid{grid-template-columns:minmax(0,1fr) minmax(23rem,28rem)}.home-grid .flow-wrap{display:none}}
.home-copy h1{font-size:clamp(2.6rem,min(5.4vw,10vh),4.8rem);line-height:.93}
.home-copy .lede{margin-top:1.1rem;font-size:1.25rem;color:var(--ink)}
.home-copy .lede strong{font-weight:800}
.priv{list-style:none;margin:1.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.priv li{font:600 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(14,14,16,.3);border-radius:4px;padding:.4rem .6rem;background:rgba(255,255,255,.45)}
.trylink{margin:0;text-align:center;font-size:.9rem;color:var(--muted)}
@media (max-width:899px){.home-grid .flow-wrap{display:none}main.home{justify-content:flex-start}}

.tbl{background:#14171d;border:1px solid #2a2f38;border-radius:10px;color:#cfd4dc;overflow:hidden;box-shadow:0 30px 50px -34px rgba(0,0,0,.6)}
.tbl-bar{display:flex;justify-content:space-between;padding:.6rem .9rem;border-bottom:1px solid #2a2f38;font:600 .66rem var(--mono);letter-spacing:.14em;color:#8a93a3}
.tbl>div:not(.tbl-bar){padding:1rem}
.tbl-idle,.tbl-scan,.tbl-done{display:none}
.tbl[data-state=idle] .tbl-idle{display:grid;gap:.8rem;justify-items:center}
.tbl[data-state=scan] .tbl-scan,.tbl[data-state=done] .tbl-scan{display:block}
.tbl[data-state=done] .tbl-done{display:block;padding-top:0}
.drop{width:100%;min-height:13.5rem;border:2px dashed rgba(255,255,255,.35);border-radius:8px;display:grid;place-content:center;justify-items:center;gap:.35rem;cursor:pointer;color:#fff;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 10px,transparent 10px 20px);transition:border-color .15s,background-color .15s,box-shadow .15s}
.drop:hover,.drop.over,.drop:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px rgba(229,50,45,.18);outline:none}
.drop svg{width:2.4rem;height:2.4rem;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.drop b{font:400 1.9rem var(--display);letter-spacing:.04em;text-transform:uppercase}
.drop span{font:600 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#8a93a3}
.tbl .btn.ghost{background:transparent;color:#fff;border:1px solid #4a5262}.tbl .btn.ghost:hover{background:#1b1f27}
.tbl-note{margin:.2rem 0 0;font-size:.8rem;color:#8a93a3;text-align:center}
.tbl-scan canvas{display:block;width:100%;height:150px;background:#0f1217;border:1px solid #232831;border-radius:6px}
.read{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:.8rem}
.read small{display:block;font:600 .56rem var(--mono);letter-spacing:.12em;color:#8a93a3;margin-bottom:.2rem}
.read b{font:700 .86rem/1.2 var(--mono);color:#fff}
@media (max-width:520px){.read{grid-template-columns:1fr}.read div{display:flex;justify-content:space-between;align-items:baseline}.read small{margin:0}}
.tbl-msg{margin:.7rem 0 0;font:600 .72rem var(--mono);letter-spacing:.1em;color:#FF8A80;text-transform:uppercase}
.tbl[data-state=done] .tbl-msg{display:none}
.tbl-done .chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.9rem 0 0}
.tbl-done .chips .lbl{font:600 .62rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#8a93a3;margin-right:.3rem}
.tbl-done .chips button{font:600 .82rem var(--body);cursor:pointer;border-radius:6px;border:1px solid #394050;background:#1b1f27;color:#dfe3ea;padding:.4rem .65rem}
.tbl-done .chips button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.tbl-done .actions{margin-top:.9rem}
.tbl .btn.primary{width:auto}
@media (prefers-reduced-motion:reduce){.drop{transition:none}}

.home-grid.wrap{max-width:80rem}
.home-copy h1{font-size:clamp(2.4rem,min(4.4vw,8.5vh),4rem)}
@media (min-width:1100px){.home-grid{grid-template-columns:12rem minmax(18rem,1fr) minmax(25rem,29rem)}}

/* ===== onboarding inside the cutting table ===== */
.tbl.compact .tbl-scan canvas{height:84px}
.tbl.compact .read{margin-top:.5rem}
#step{margin-top:.2rem}
.seen{margin:.8rem 0 .2rem;font:500 .8rem var(--mono);letter-spacing:.06em;color:#cfd4dc}
.seen span{font-weight:700;letter-spacing:.14em;color:#8a93a3;margin-right:.5rem;font-size:.62rem}
.qh{margin:.5rem 0 .7rem;font:800 1.2rem/1.25 var(--body);letter-spacing:-.01em;color:#fff;text-transform:none}
.two{display:grid;gap:.6rem;grid-template-columns:1fr 1fr}
@media (max-width:520px){.two{grid-template-columns:1fr}}
.big{display:grid;gap:.2rem;text-align:left;cursor:pointer;background:#1b1f27;border:1px solid #394050;border-radius:8px;padding:.9rem;color:#fff;font:inherit;transition:border-color .15s,background-color .15s}
.big:hover,.big:focus-visible{border-color:var(--accent);background:#20252f;outline:none}
.big b{font:400 1.7rem var(--display);letter-spacing:.04em;text-transform:uppercase}
.big span{font-size:.82rem;color:#aab1bd}
.tbl textarea,.qin{width:100%;background:#0f1217;border:1px solid #394050;border-radius:6px;color:#fff;font:400 .9rem/1.5 var(--body);padding:.7rem;resize:vertical}
.tbl textarea:focus,.qin:focus{outline:2px solid var(--accent);outline-offset:1px}
.found,.heads{list-style:none;margin:.2rem 0 .6rem;padding:0;display:grid;gap:.35rem}
.found li{display:grid;grid-template-columns:1.1rem 1fr;gap:.4rem;font-size:.88rem;color:#fff}
.found li b{color:#7ED6B7}.found li em{display:block;font:600 .58rem var(--mono);letter-spacing:.14em;color:#8a93a3;font-style:normal;text-transform:uppercase}
.heads li{font-size:.8rem;color:#FFC24A;border-left:2px solid #FFC24A;padding-left:.6rem}
.chips2{display:grid;gap:.45rem}
.opt{text-align:left;cursor:pointer;background:#1b1f27;border:1px solid #394050;border-radius:7px;color:#fff;font:600 .92rem var(--body);padding:.7rem .85rem;transition:border-color .15s,background-color .15s}
.opt:hover,.opt:focus-visible{border-color:var(--accent);background:#20252f;outline:none}
.lnk{background:none;border:0;color:#8a93a3;font:600 .8rem var(--body);cursor:pointer;text-decoration:underline;text-underline-offset:.2em;padding:.4rem 0}
.actions.sm{margin-top:.4rem}
.sum{margin:.4rem 0 .8rem;display:grid;gap:.1rem;font-family:var(--mono)}
.sum div{display:grid;grid-template-columns:7.5rem 1fr;gap:.6rem;padding:.4rem 0;border-bottom:1px solid #262b34}
.sum dt{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#8a93a3;padding-top:.15rem}
.sum dd{margin:0;font-size:.78rem;line-height:1.4;color:#fff}
@media (max-width:520px){.sum div{grid-template-columns:1fr;gap:.1rem}}
/* progress bar: label only, no You/Us tags */
.flow li em{display:none}
.flow li b{grid-row:auto}

/* footer sits at the bottom of short pages (about, contact) */
body{min-height:100vh;display:flex;flex-direction:column}
body>main:not(.home){flex:1 0 auto;width:100%;box-sizing:border-box}
body>footer{flex:none}

/* six-step progress bar, neon blue line with a soft glow (home v2) */
@keyframes eos6-g-1{0%,2%{opacity:0}5%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes eos6-c-1{0%,2%{color:#7B8498}5%,96%{color:#fff}99%,100%{color:#7B8498}}
@keyframes eos6-r-1{0%,2%{opacity:0;transform:scale(1)}3%{opacity:.6;transform:scale(1)}12%,100%{opacity:0;transform:scale(2.1)}}
@keyframes eos6-l-1{0%,2%{opacity:.5;transform:translateX(-5px)}7%,96%{opacity:1;transform:none}99%,100%{opacity:.5;transform:translateX(-5px)}}
.flow li:nth-child(1) b::before{animation:eos6-g-1 9s infinite}.flow li:nth-child(1) b{animation:eos6-c-1 9s infinite}.flow li:nth-child(1) b::after{animation:eos6-r-1 9s infinite}.flow li:nth-child(1) span,.flow li:nth-child(1) em{animation-name:eos6-l-1}
@keyframes eos6-g-2{0%,19%{opacity:0}22%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes eos6-c-2{0%,19%{color:#7B8498}22%,96%{color:#fff}99%,100%{color:#7B8498}}
@keyframes eos6-r-2{0%,19%{opacity:0;transform:scale(1)}20%{opacity:.6;transform:scale(1)}29%,100%{opacity:0;transform:scale(2.1)}}
@keyframes eos6-l-2{0%,19%{opacity:.5;transform:translateX(-5px)}24%,96%{opacity:1;transform:none}99%,100%{opacity:.5;transform:translateX(-5px)}}
.flow li:nth-child(2) b::before{animation:eos6-g-2 9s infinite}.flow li:nth-child(2) b{animation:eos6-c-2 9s infinite}.flow li:nth-child(2) b::after{animation:eos6-r-2 9s infinite}.flow li:nth-child(2) span,.flow li:nth-child(2) em{animation-name:eos6-l-2}
@keyframes eos6-g-3{0%,36%{opacity:0}39%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes eos6-c-3{0%,36%{color:#7B8498}39%,96%{color:#fff}99%,100%{color:#7B8498}}
@keyframes eos6-r-3{0%,36%{opacity:0;transform:scale(1)}37%{opacity:.6;transform:scale(1)}46%,100%{opacity:0;transform:scale(2.1)}}
@keyframes eos6-l-3{0%,36%{opacity:.5;transform:translateX(-5px)}41%,96%{opacity:1;transform:none}99%,100%{opacity:.5;transform:translateX(-5px)}}
.flow li:nth-child(3) b::before{animation:eos6-g-3 9s infinite}.flow li:nth-child(3) b{animation:eos6-c-3 9s infinite}.flow li:nth-child(3) b::after{animation:eos6-r-3 9s infinite}.flow li:nth-child(3) span,.flow li:nth-child(3) em{animation-name:eos6-l-3}
@keyframes eos6-g-4{0%,53%{opacity:0}56%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes eos6-c-4{0%,53%{color:#7B8498}56%,96%{color:#fff}99%,100%{color:#7B8498}}
@keyframes eos6-r-4{0%,53%{opacity:0;transform:scale(1)}54%{opacity:.6;transform:scale(1)}63%,100%{opacity:0;transform:scale(2.1)}}
@keyframes eos6-l-4{0%,53%{opacity:.5;transform:translateX(-5px)}58%,96%{opacity:1;transform:none}99%,100%{opacity:.5;transform:translateX(-5px)}}
.flow li:nth-child(4) b::before{animation:eos6-g-4 9s infinite}.flow li:nth-child(4) b{animation:eos6-c-4 9s infinite}.flow li:nth-child(4) b::after{animation:eos6-r-4 9s infinite}.flow li:nth-child(4) span,.flow li:nth-child(4) em{animation-name:eos6-l-4}
@keyframes eos6-g-5{0%,69%{opacity:0}72%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes eos6-c-5{0%,69%{color:#7B8498}72%,96%{color:#fff}99%,100%{color:#7B8498}}
@keyframes eos6-r-5{0%,69%{opacity:0;transform:scale(1)}70%{opacity:.6;transform:scale(1)}79%,100%{opacity:0;transform:scale(2.1)}}
@keyframes eos6-l-5{0%,69%{opacity:.5;transform:translateX(-5px)}74%,96%{opacity:1;transform:none}99%,100%{opacity:.5;transform:translateX(-5px)}}
.flow li:nth-child(5) b::before{animation:eos6-g-5 9s infinite}.flow li:nth-child(5) b{animation:eos6-c-5 9s infinite}.flow li:nth-child(5) b::after{animation:eos6-r-5 9s infinite}.flow li:nth-child(5) span,.flow li:nth-child(5) em{animation-name:eos6-l-5}
@keyframes eos6-g-6{0%,86%{opacity:0}89%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes eos6-c-6{0%,86%{color:#7B8498}89%,96%{color:#fff}99%,100%{color:#7B8498}}
@keyframes eos6-r-6{0%,86%{opacity:0;transform:scale(1)}87%{opacity:.6;transform:scale(1)}96%,100%{opacity:0;transform:scale(2.1)}}
@keyframes eos6-l-6{0%,86%{opacity:.5;transform:translateX(-5px)}91%,96%{opacity:1;transform:none}99%,100%{opacity:.5;transform:translateX(-5px)}}
.flow li:nth-child(6) b::before{animation:eos6-g-6 9s infinite}.flow li:nth-child(6) b{animation:eos6-c-6 9s infinite}.flow li:nth-child(6) b::after{animation:eos6-r-6 9s infinite}.flow li:nth-child(6) span,.flow li:nth-child(6) em{animation-name:eos6-l-6}
.flow li span,.flow li em{animation-duration:9s}
.flow::after{animation-duration:9s;background:linear-gradient(180deg,#19B8FF,#4F8BFF);filter:drop-shadow(0 0 6px rgba(25,184,255,.85)) drop-shadow(0 0 14px rgba(25,184,255,.45))}
.flow li b::before{background:var(--ink);box-shadow:0 0 14px 3px rgba(25,184,255,.5)}
.flow li b::after{border-color:#19B8FF}
.flow li:last-child b::before{background:#1D7A4E;box-shadow:0 0 14px 3px rgba(29,122,78,.4)}
.flow li:last-child b::after{border-color:#1D7A4E}
@media (min-width:900px) and (max-width:1099px){.flow{grid-template-columns:repeat(6,1fr)}}
@media (prefers-reduced-motion:reduce){.flow::after{animation:none;transform:none}.flow li b::before{opacity:1}}

/* type and colour: a little more contrast and weight (home v2) */
:root{--muted:#3A414D;--ink:#0B0D11}
body{font-weight:450}
.doc p,.doc li,.doc dd,.lede{color:var(--ink)}
.doc .meta{color:var(--muted);font-weight:500}
.home-copy .lede{font-weight:500}
.priv li{color:var(--ink);border-color:rgba(11,13,17,.35)}
.tbl-note{color:#c7ccd5}
