/* ============================================================
   SENTRYVO — homepage only (radar hero, takedown demo, case file,
   before/after, feature index, ticket pricing). Shared tokens live
   in style.css.
   ============================================================ */
:root{
  --teal: var(--sage);   /* used by the free-scan results in script.js */
  --coral: var(--rust);
  --ease: cubic-bezier(.2,.7,.1,1);
  --radius: 22px;
}
.home section{ padding:0; }
.home p{ margin:0; }
.home h1, .home h2, .home h3{ margin:0; }
.home h2{ font-size:clamp(1.8rem,4.4vw,3rem); line-height:1.05; letter-spacing:-.03em; }
.h-label{ font:500 .7rem/1 var(--font-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--rust); display:inline-flex; align-items:center; gap:10px; }
.h-label::before{ content:""; width:18px; height:1px; background:currentColor; }
.h-block{ padding-block:clamp(70px,10vw,130px); }
.h-head{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:20px 60px; align-items:end; margin-bottom:48px; }
.h-head .h-label{ margin-bottom:16px; }
.h-head p{ color:var(--text-mid); max-width:46ch; }
@media (max-width:860px){ .h-head{ grid-template-columns:1fr; } }
.js .rv.pending{ opacity:.001; transform:translateY(28px); }
.rv{ transition:opacity .85s var(--ease), transform .85s var(--ease); }
.site-header.scrolled{ box-shadow:0 1px 0 var(--line); }
.btn .ar{ display:inline-block; transition:transform .4s var(--ease); }
.btn:hover .ar{ transform:translateX(4px) rotate(-45deg); }

/* ---------- Hero ---------- */
.h-hero{ padding-block:clamp(30px,5vw,60px) clamp(50px,7vw,80px) !important; }
.h-hero-grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(28px,5vw,64px); align-items:center; }
@media (max-width:980px){ .h-hero-grid{ grid-template-columns:1fr; } }
.h-hero h1{ font-size:clamp(2.3rem,4.6vw,4.1rem); line-height:1.02; font-weight:800; letter-spacing:-.045em; margin-block:20px 22px; max-width:12ch; }
.h-hero h1 .ln{ display:inline; }
.h-hero h1 .gone{ color:var(--rust); }
.redact{ position:relative; display:inline-block; }
.redact::after{ content:""; position:absolute; left:-.04em; right:-.04em; top:.12em; bottom:.02em; background:var(--ink); border-radius:3px; transform-origin:right; animation:hUnredact .9s var(--ease) both; animation-delay:var(--d,.3s); }
.h-hero .h-label{ animation:hUp .8s var(--ease) both; }
.h-lede{ font-size:clamp(1.05rem,1.6vw,1.2rem); max-width:48ch; color:var(--text-mid); animation:hUp .9s 1.1s var(--ease) both; }
.h-lede b{ color:var(--ink); font-weight:600; }
.rotator{ display:inline-grid; vertical-align:bottom; height:1.6em; overflow:hidden; color:var(--rust); font-weight:700; }
.rotator span{ grid-area:1 / 1; transform:translateY(110%); transition:transform .6s var(--ease); }
.rotator span.on{ transform:none; }
.rotator span.out{ transform:translateY(-110%); }

.h-scan{ margin-top:28px; background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:18px; max-width:540px; animation:hUp .9s 1.25s var(--ease) both; box-shadow:0 30px 60px -40px var(--shadow); }
.h-scan-top{ display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:12px; font:500 .68rem/1.3 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--text-mid); }
.h-scan-top label{ cursor:pointer; }
.h-scan-top b{ color:var(--sage); font-weight:500; }
.h-scan-row{ display:flex; gap:10px; }
.h-scan-row input{ flex:1; min-width:0; font:500 1rem/1.2 var(--font-body); color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:14px 16px; transition:border-color .25s, box-shadow .25s; }
.h-scan-row input:focus{ outline:none; border-color:var(--rust); box-shadow:0 0 0 4px var(--rust-soft); }
.h-scan-row input:disabled{ opacity:.6; }
@media (max-width:460px){ .h-scan-row{ flex-direction:column; } }
#free-scan-note{ margin-top:10px; font-size:.8rem; color:var(--text-low); }
#free-scan-note a{ color:var(--rust); font-weight:600; }
#free-scan-results{ margin-top:14px; font-size:.9rem; }
#free-scan-results a{ color:var(--ink); }
#free-scan-results .btn{ color:var(--on-rust); }
.h-trust{ display:flex; align-items:center; gap:12px; margin-top:22px; font-size:.9rem; color:var(--text-mid); flex-wrap:wrap; animation:hUp .9s 1.35s var(--ease) both; }
.h-trust a{ color:var(--rust); font-weight:600; }

/* Radar console (always dark) */
.h-console{ position:relative; background:var(--night); color:var(--night-ink); border-radius:28px; padding:18px; overflow:hidden; animation:hFade 1.2s .2s var(--ease) both; box-shadow:0 40px 80px -40px rgba(26,21,48,.7); }
.h-console-head{ display:flex; justify-content:space-between; align-items:center; gap:12px; font:500 .68rem/1 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; padding:4px 6px 14px; border-bottom:1px solid var(--night-line); flex-wrap:wrap; }
.h-live{ display:inline-flex; align-items:center; gap:8px; color:#2FCFB4; }
.h-live i{ width:7px; height:7px; border-radius:50%; background:currentColor; animation:hBlink 1.4s infinite; }
.h-radar{ position:relative; aspect-ratio:1; width:min(100%,420px); max-width:100%; margin:16px auto 6px; }
.h-radar canvas{ width:100%; height:100%; display:block; }
.h-feed{ display:grid; gap:6px; margin-top:8px; }
.h-feed-row{ display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:12px; align-items:center; padding:10px 12px; border-radius:12px; background:rgba(239,234,247,.04); font:400 .74rem/1.3 var(--font-mono); }
.h-feed-row .u{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:rgba(239,234,247,.85); }
.h-dot{ width:8px; height:8px; border-radius:50%; background:var(--c); }
.h-feed-row.flash .h-dot{ animation:hPing .9s var(--ease); }
.h-console-foot{ display:flex; justify-content:space-between; gap:10px; padding:12px 6px 2px; font:400 .66rem/1.4 var(--font-mono); color:rgba(239,234,247,.55); flex-wrap:wrap; }
.h-console-foot b{ color:var(--night-ink); font-weight:500; font-variant-numeric:tabular-nums; }

/* Status badges (shared by radar feed, demo, case file) */
.h-badge{ font:500 .62rem/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; padding:6px 9px; border-radius:999px; color:var(--c); background:color-mix(in srgb, var(--c) 16%, transparent); white-space:nowrap; transition:color .4s, background .4s; }
[data-s="found"]{ --c:var(--rust); }
[data-s="sent"]{ --c:var(--brass); }
[data-s="removed"]{ --c:var(--sage); }
.h-console [data-s="found"], .h-clock [data-s="found"]{ --c:#FF5A9D; }
.h-console [data-s="sent"], .h-clock [data-s="sent"]{ --c:#F2A33A; }
.h-console [data-s="removed"], .h-clock [data-s="removed"]{ --c:#2FCFB4; }

/* Tilted platform ticker */
.h-ticker{ background:var(--rust); color:var(--on-rust); overflow:hidden; transform:rotate(-1.2deg); margin-block:20px; }
.h-ticker-track{ display:flex; width:max-content; animation:hTick 32s linear infinite; padding-block:16px; }
.h-ticker span{ font:700 clamp(1.05rem,2.4vw,1.5rem)/1 var(--font-head); letter-spacing:-.02em; padding-inline:18px; white-space:nowrap; display:flex; align-items:center; gap:36px; }
.h-ticker span::after{ content:""; width:10px; height:10px; border-radius:50%; border:2px solid currentColor; }

/* ---------- Search clean-up demo ---------- */
.h-cleanup{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(28px,5vw,60px); align-items:center; }
@media (max-width:900px){ .h-cleanup{ grid-template-columns:1fr; } }
.h-cleanup-copy p{ color:var(--text-mid); margin-top:18px; max-width:44ch; }
.h-legend{ display:flex; gap:8px; flex-wrap:wrap; margin-top:22px; }
.h-browser{ background:var(--paper-2); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:16px 16px 0 -2px var(--rust-soft); }
.h-bar{ display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--line); background:var(--paper-3); }
.h-bar i{ width:10px; height:10px; border-radius:50%; background:var(--line); flex:none; }
.h-query{ flex:1; min-width:0; display:flex; align-items:center; gap:8px; background:var(--paper-2); border:1px solid var(--line); border-radius:999px; padding:8px 14px; font:400 .76rem/1 var(--font-mono); overflow:hidden; white-space:nowrap; color:var(--ink); }
.h-query svg{ flex:none; width:14px; height:14px; color:var(--text-mid); }
.h-caret{ display:inline-block; width:1px; height:1em; background:var(--ink); margin-left:1px; animation:hCaret 1s steps(1) infinite; vertical-align:-2px; }
.h-results{ padding:6px 16px 12px; display:grid; min-height:300px; align-content:start; }
.h-res{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; align-items:center; padding:12px 8px; border-bottom:1px solid var(--line); border-radius:8px; transition:opacity .5s, max-height .6s var(--ease), padding .6s var(--ease), background .4s; max-height:120px; overflow:hidden; }
.h-res:last-child{ border-bottom:0; }
.h-res .t{ font-weight:600; font-size:.95rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; position:relative; color:var(--ink); }
.h-res .u{ grid-column:1; font:400 .7rem/1.3 var(--font-mono); color:var(--text-mid); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.h-res .h-badge{ grid-row:1 / span 2; grid-column:2; }
.h-res .t::after{ content:""; position:absolute; left:0; top:52%; height:2px; width:100%; background:var(--rust); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease); }
.h-res.hl{ background:var(--rust-soft); }
.h-res.struck .t::after{ transform:scaleX(1); }
.h-res.struck .t, .h-res.struck .u{ opacity:.45; }
.h-res.gone{ max-height:0; padding-block:0; opacity:0; border-bottom-width:0; }
.h-res.own .t{ color:var(--sage); }
.h-stamp{ position:absolute; right:110px; top:50%; font:800 .95rem/1 var(--font-head); text-transform:uppercase; color:var(--sage); border:2.5px solid var(--sage); padding:5px 8px; border-radius:6px; transform:translateY(-50%) rotate(-8deg) scale(2.2); opacity:0; pointer-events:none; transition:transform .35s cubic-bezier(.3,1.6,.5,1), opacity .2s; }
.h-res.stamped .h-stamp{ opacity:1; transform:translateY(-50%) rotate(-8deg) scale(1); }
@media (max-width:520px){ .h-stamp{ right:8px; } }
.h-browser-foot{ display:flex; justify-content:space-between; gap:10px; padding:10px 16px; border-top:1px solid var(--line); font:400 .68rem/1.3 var(--font-mono); color:var(--text-mid); flex-wrap:wrap; }
.h-browser-foot b{ color:var(--ink); font-weight:500; font-variant-numeric:tabular-nums; }

/* ---------- 72-hour case file ---------- */
.h-casefile{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(30px,6vw,80px); align-items:start; }
@media (max-width:900px){ .h-casefile{ grid-template-columns:1fr; } .h-clock{ display:none !important; } }
.h-clock{ position:sticky; top:110px; background:var(--night); color:var(--night-ink); border-radius:28px; padding:30px; display:grid; gap:18px; }
.h-clock-top{ display:flex; justify-content:space-between; font:400 .68rem/1 var(--font-mono); color:rgba(239,234,247,.6); letter-spacing:.08em; text-transform:uppercase; }
.h-hour{ font:800 clamp(3.6rem,8vw,6rem)/.9 var(--font-head); font-variant-numeric:tabular-nums; letter-spacing:-.05em; }
.h-hour small{ font-size:.26em; letter-spacing:0; color:rgba(239,234,247,.6); margin-left:8px; font-weight:500; }
.h-track{ height:8px; background:rgba(239,234,247,.1); border-radius:8px; overflow:hidden; }
.h-track i{ display:block; height:100%; width:0; background:#FF5A9D; transition:width .6s var(--ease); }
.h-clock-desc{ color:rgba(239,234,247,.72); font-size:.95rem; min-height:3.2em; }
.h-ev{ display:grid; grid-template-columns:84px minmax(0,1fr); gap:18px; padding-block:34px; border-top:1px solid var(--line); opacity:.4; transition:opacity .5s; }
.h-ev.on{ opacity:1; }
.h-ev:first-child{ border-top:0; }
.h-ev time{ font:500 .76rem/1.8 var(--font-mono); color:var(--rust); font-variant-numeric:tabular-nums; }
.h-ev h3{ font-size:clamp(1.15rem,2.2vw,1.5rem); font-weight:700; margin-bottom:8px; line-height:1.15; }
.h-ev p{ color:var(--text-mid); max-width:52ch; }
@media (max-width:900px){ .h-ev{ opacity:1; } }

/* ---------- Before / after ---------- */
.h-compare{ position:relative; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--paper-2); user-select:none; }
.h-pane{ padding:clamp(18px,3vw,30px); display:grid; gap:2px; }
.h-pane.after{ position:absolute; inset:0; background:var(--paper-3); clip-path:inset(0 0 0 var(--pos,50%)); }
.h-pane-head{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
.h-pane-head b{ font:700 1.05rem/1 var(--font-head); color:var(--ink); }
.h-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:11px 0; border-bottom:1px dashed var(--line); }
.h-row span:first-child{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:400 .76rem/1.3 var(--font-mono); color:var(--ink); }
.h-row .ghost{ color:var(--text-mid) !important; font:italic 400 .9rem/1.3 var(--font-body) !important; }
.h-handle{ position:absolute; top:0; bottom:0; left:var(--pos,50%); width:3px; background:var(--rust); transform:translateX(-50%); pointer-events:none; }
.h-handle::after{ content:"⟷"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:44px; height:44px; border-radius:50%; background:var(--rust); color:var(--on-rust); display:grid; place-items:center; font-weight:700; box-shadow:0 0 0 6px var(--rust-soft); }
#h-cmp{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; margin:0; }
.h-note{ margin-top:12px !important; font:400 .7rem/1.4 var(--font-mono); color:var(--text-low); }

/* ---------- Feature index ---------- */
.h-index{ border-top:1.5px solid var(--ink); }
.h-ix{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 40px; gap:14px 40px; align-items:center; padding:26px 0; border-bottom:1px solid var(--line); isolation:isolate; }
.h-ix::before{ content:""; position:absolute; inset:0 -16px; border-radius:14px; background:var(--rust); z-index:-1; transform:scaleY(0); transform-origin:bottom; transition:transform .45s var(--ease); }
.h-ix:hover::before{ transform:scaleY(1); }
.h-ix:hover, .h-ix:hover p, .h-ix:hover h3{ color:var(--on-rust); }
.h-ix h3{ font-size:clamp(1.15rem,2.4vw,1.7rem); font-weight:700; line-height:1.1; transition:transform .45s var(--ease); }
.h-ix:hover h3{ transform:translateX(10px); }
.h-ix p{ color:var(--text-mid); font-size:.97rem; transition:color .3s; }
.h-ix .arr{ font-size:1.4rem; transition:transform .45s var(--ease); justify-self:end; }
.h-ix:hover .arr{ transform:rotate(-45deg); }
@media (max-width:760px){ .h-ix{ grid-template-columns:minmax(0,1fr) 30px; } .h-ix p{ grid-column:1 / -1; grid-row:2; } .h-ix::before{ inset:0 -8px; } }

/* Odometers */
.h-odo-row{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:56px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--paper-2); }
.h-odo-cell{ padding:26px; border-left:1px solid var(--line); }
.h-odo-cell:first-child{ border-left:0; }
@media (max-width:760px){ .h-odo-row{ grid-template-columns:repeat(2,minmax(0,1fr)); } .h-odo-cell:nth-child(3){ border-left:0; } .h-odo-cell:nth-child(n+3){ border-top:1px solid var(--line); } }
.h-odo{ display:flex; font:800 clamp(2rem,4.4vw,3rem)/1 var(--font-head); letter-spacing:-.03em; height:1em; overflow:hidden; font-variant-numeric:tabular-nums; color:var(--ink); }
.h-odo .col{ display:flex; flex-direction:column; transition:transform 1.8s var(--ease); }
.h-odo .col span{ height:1em; display:block; }
.h-odo-cell small{ display:block; margin-top:12px; font:500 .64rem/1.4 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--text-mid); }

/* ---------- Ticket pricing ---------- */
.h-pricing{ background:var(--paper-3); }
.h-switch{ display:inline-flex; border:1px solid var(--line); background:var(--paper-2); border-radius:14px; padding:4px; gap:4px; margin-bottom:30px; }
.h-switch button{ font:600 .88rem/1 var(--font-body); border:0; background:transparent; color:var(--ink); padding:11px 16px; border-radius:10px; cursor:pointer; transition:background .3s, color .3s; }
.h-switch button[aria-pressed="true"]{ background:var(--rust); color:var(--on-rust); }
.h-tickets{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:1000px; }
@media (max-width:820px){ .h-tickets{ grid-template-columns:minmax(0,1fr); } }
.h-ticket{ position:relative; display:grid; grid-template-rows:auto auto 1fr; background:var(--paper-2); border:1px solid var(--line); border-radius:24px; color:var(--ink); transition:transform .45s var(--ease), box-shadow .45s var(--ease); }
.h-ticket:hover{ transform:translateY(-6px) rotate(-.6deg); box-shadow:0 30px 60px -36px var(--shadow); }
.h-ticket.best{ background:var(--rust); color:var(--on-rust); border-color:transparent; }
.h-ticket.best .t-sub, .h-ticket.best li{ color:var(--on-rust); }
.h-ticket .t-top{ padding:28px 28px 22px; display:grid; gap:12px; }
.h-ticket .t-name{ font:700 1.1rem/1.2 var(--font-head); padding-right:100px; }
.h-ticket .t-sub{ color:var(--text-mid); font-size:.95rem; }
.h-price{ display:flex; align-items:flex-end; gap:8px; }
.h-price > span:first-child{ font:700 1.6rem/1 var(--font-head); padding-bottom:8px; }
.h-price .h-odo{ font-size:3.6rem; color:inherit; }
.h-price .per{ font:500 .74rem/1.3 var(--font-mono); padding-bottom:8px; }
.h-perf{ height:0; border-top:2px dashed currentColor; opacity:.3; margin-inline:22px; }
.h-ticket::before, .h-ticket::after{ content:""; position:absolute; width:26px; height:26px; border-radius:50%; background:var(--paper-3); top:var(--cut,200px); transform:translateY(-50%); }
.h-ticket::before{ left:-13px; } .h-ticket::after{ right:-13px; }
.h-ticket .t-body{ padding:22px 28px 28px; display:grid; gap:20px; align-content:space-between; }
.h-ticket .t-body .btn{ justify-self:start; }
.h-ticket ul{ list-style:none; padding:0; margin:0; display:grid; gap:9px; font-size:.95rem; }
.h-ticket li{ display:flex; gap:10px; color:var(--text-mid); }
.h-ticket li::before{ content:""; flex:none; width:7px; height:7px; margin-top:9px; border-radius:2px; background:currentColor; transform:rotate(45deg); }
.h-ticket.best .btn{ background:var(--on-rust); color:var(--rust); border-color:transparent; }
.h-ticket.best .btn:hover{ color:var(--paper); }
.h-stub{ position:absolute; top:24px; right:24px; font:500 .62rem/1 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; border:1.5px solid currentColor; padding:6px 8px; border-radius:999px; }
.h-proof{ margin-top:26px !important; font-size:.92rem; color:var(--text-mid); max-width:64ch; }

/* ---------- FAQ ---------- */
.h-faq{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
@media (max-width:820px){ .h-faq{ grid-template-columns:minmax(0,1fr); } }
.h-faq details{ border-top:1px solid var(--line); }
.h-faq summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; padding-block:20px; font-weight:600; font-size:1.02rem; color:var(--ink); }
.h-faq summary::-webkit-details-marker{ display:none; }
.h-faq summary::after{ content:"+"; flex:none; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--rust-soft); color:var(--rust); font:500 1.2rem/1 var(--font-body); transition:transform .4s var(--ease); }
.h-faq details[open] summary::after{ transform:rotate(135deg); }
.h-faq .a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .45s var(--ease); }
.h-faq details[open] .a{ grid-template-rows:1fr; }
.h-faq .a > div{ overflow:hidden; }
.h-faq .a p{ color:var(--text-mid); padding-bottom:20px; max-width:58ch; }

/* ---------- Final band ---------- */
.h-final{ background:var(--night); color:var(--night-ink); overflow:hidden; padding-block:clamp(56px,8vw,96px) 0 !important; }
.h-final h2{ font-size:clamp(2.2rem,6vw,4.6rem); max-width:16ch; color:var(--night-ink); margin-top:16px !important; }
.h-final .h-label{ color:#FF5A9D; }
.h-final p{ max-width:46ch; margin-block:18px 30px !important; font-size:1.1rem; color:rgba(239,234,247,.72); }
.h-final .btn-primary{ background:#FF5A9D; border-color:#FF5A9D; color:#1A0B14; }
.h-final .btn-primary::before{ background:var(--night-ink); }
.h-final .btn-primary:hover{ color:var(--night); }
.h-big-mq{ margin-top:clamp(40px,7vw,80px); border-top:1px solid var(--night-line); overflow:hidden; }
.h-big-mq div{ display:flex; width:max-content; animation:hTick 24s linear infinite reverse; }
.h-big-mq span{ font:800 clamp(3.2rem,11vw,8.5rem)/1.15 var(--font-head); letter-spacing:-.04em; padding-inline:26px; white-space:nowrap; color:transparent; -webkit-text-stroke:1.5px var(--night-ink); }
.h-big-mq span:nth-child(3n+3){ color:#FF5A9D; -webkit-text-stroke:0; }
.home + .site-footer{ border-top:0; }
main.home{ overflow-x:clip; }

/* ---------- Keyframes ---------- */
@keyframes hUnredact{ from{ transform:scaleX(1); } to{ transform:scaleX(0); } }
@keyframes hUp{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
@keyframes hFade{ from{ opacity:0; transform:scale(.97); } to{ opacity:1; transform:none; } }
@keyframes hBlink{ 50%{ opacity:.25; } }
@keyframes hCaret{ 50%{ opacity:0; } }
@keyframes hTick{ to{ transform:translateX(-50%); } }
@keyframes hPing{ 0%{ box-shadow:0 0 0 0 var(--c); } 100%{ box-shadow:0 0 0 10px transparent; } }

@media (prefers-reduced-motion: reduce){
  .home *, .home *::before, .home *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .js .rv.pending{ opacity:1; transform:none; }
}
