/* ========== self-hosted fonts ==========
   Drop these 6 files into /fonts (exact names below) — see fonts/README.md. */
@font-face{font-family:"Rufina";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/rufina-400.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/ibm-plex-sans-400.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/ibm-plex-sans-500.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;
  src:url("fonts/ibm-plex-sans-600.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/ibm-plex-mono-400.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/ibm-plex-mono-500.woff2") format("woff2")}

/* ========== tokens ========== */
:root{
  --night:#0B0A24;      /* near-black indigo — night earth */
  --canopy:#17153A;     /* raised dark indigo surface */
  --canopy-2:#211E4D;
  --paper:#F4F3FA;      /* cool paper, faint lavender */
  --paper-2:#E8E6F3;
  --ink:#14121F;
  --ink-soft:#565073;
  --primary:#3627B3;    /* brand indigo — actions */
  --secondary:#AAA2E9;  /* lavender — secondary */
  --signal:#F5C24B;     /* the amber marker (signals) */
  --cyan:#74D9CE;       /* live indicator */
  --line-dark:rgba(255,255,255,.11);
  --line-light:rgba(20,18,40,.13);
  --display:"Rufina",Georgia,serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%}
a{color:inherit}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 32px}

/* ========== type roles ========== */
.eyebrow{
  font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);
  margin:0 0 22px;
}
.band-dark .eyebrow{color:rgba(255,255,255,.5)}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.015em;margin:0}
h1{font-size:clamp(2.15rem,4.7vw,4.1rem);line-height:1.04}
h2{font-size:clamp(1.65rem,2.9vw,2.55rem);line-height:1.12}
h3{font-size:1.28rem;line-height:1.3;font-weight:400}
.lede{font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.55;color:var(--ink-soft)}
.band-dark .lede{color:rgba(255,255,255,.66)}
.fill-in{
  border-bottom:1px dotted var(--signal);
  color:inherit;opacity:.9;
}
/* "not built yet" marker — reads on both light and dark bands */
.soon{
  display:inline-block;vertical-align:middle;
  font-family:var(--mono);font-size:9px;font-weight:600;line-height:1.4;
  letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;
  background:var(--signal);color:var(--night);
  border-radius:2px;padding:2px 7px;margin-left:9px;
}
/* dim a feature described but not yet shipped */
.pending{opacity:.62}
.pending-note{
  margin-top:16px;font-family:var(--mono);font-size:12px;line-height:1.6;
  letter-spacing:.02em;color:var(--ink-soft);
  border-left:2px solid var(--signal);padding:4px 0 4px 14px;max-width:60ch;
}
.band-dark .pending-note{color:rgba(255,255,255,.6)}

/* ========== bands (map ↔ report) ========== */
.band{padding:clamp(72px,9vw,132px) 0;position:relative}
section[id],header[id]{scroll-margin-top:78px}
.band-dark{background:var(--night);color:#fff}
.band-paper{background:var(--paper)}
.band-paper-2{background:var(--paper-2)}
.band-dark + .band-paper,.band-paper + .band-dark{border-top:none}
.rule{height:1px;background:var(--line-light);border:0;margin:0}

/* ========== nav ========== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:rgba(11,10,36,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-dark);
}
.nav-in{display:flex;align-items:center;gap:32px;height:66px}
.sg-logo{height:36px;width:auto;color:#fff;flex:none}
.nav .sg-logo{position:relative;top:3px}
.sg-logo path,.sg-logo rect{fill:currentColor}
.nav-links{display:flex;gap:26px;margin-left:auto;align-items:center}
.nav-links a{
  font-size:14px;color:rgba(255,255,255,.7);text-decoration:none;
  transition:color .2s;
}
.nav-links a:hover{color:#fff}
.nav-cta{
  font-family:var(--body);font-size:14px;font-weight:500;
  background:var(--primary);color:#fff!important;
  padding:9px 17px;border-radius:2px;text-decoration:none;
}
@media(max-width:860px){.nav-links a:not(.nav-cta){display:none}}

/* ========== hero ========== */
.hero{
  background:var(--night);color:#fff;position:relative;overflow:hidden;
  display:grid;align-items:center;
  min-height:clamp(600px,46vw,980px);
  padding:calc(66px + clamp(88px,9vw,140px)) 0 clamp(88px,9vw,140px);
}
.hero-grid{
  display:grid;grid-template-columns:1fr;
  gap:clamp(32px,5vw,64px);align-items:center;
}
.hero-copy{position:relative;z-index:2;max-width:640px}
.hero h1{margin-bottom:26px}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln>span{display:block;animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.hero h1 .ln:nth-child(2)>span{animation-delay:.09s}
.hero h1 .ln:nth-child(3)>span{animation-delay:.18s}
@keyframes rise{from{transform:translateY(105%)}to{transform:translateY(0)}}
.hero .lede{max-width:53ch;margin:0 0 34px;color:rgba(255,255,255,.82)}
.hero-fade{animation:fadeUp 1s .34s cubic-bezier(.2,.8,.2,1) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn{
  font-family:var(--body);font-size:15.5px;font-weight:500;
  text-decoration:none;padding:14px 26px;border-radius:2px;
  display:inline-block;transition:transform .18s,background .18s,border-color .18s;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:#4a37cf}
.btn-ghost{border:1px solid rgba(255,255,255,.28);color:#fff}
.btn-ghost:hover{border-color:#fff}
.btn-dark{background:var(--night);color:#fff}
.reassure{
  font-family:var(--mono);font-size:12px;letter-spacing:.04em;
  color:rgba(255,255,255,.48);margin:20px 0 0;
}

/* ========== globe (fallback art / embed slot) ========== */
.globe-frame{
  position:absolute;right:0;top:0;
  width:50%;height:calc(100% + 66px);z-index:1;
  opacity:.95;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 42%);
  mask-image:linear-gradient(to right,transparent 0%,#000 42%);
}
.globe-frame iframe{width:100%;height:100%;border:0}
.gl-live{position:absolute;inset:0;background:transparent}

@media(max-width:1080px){
  .hero{display:block;min-height:0;padding:66px 0 clamp(52px,8vw,88px)}
  .hero-grid{grid-template-columns:1fr;gap:24px}
  .globe-frame{position:relative;right:auto;top:auto;transform:none;
    width:100%;height:clamp(380px,56vh,620px);margin:0;order:-1;opacity:1;border:0;border-radius:0;
    -webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)}
}

/* ========== trust bar ========== */
.trust{background:var(--canopy);color:#fff;padding:30px 0;border-top:1px solid var(--line-dark)}
.trust-in{display:flex;flex-wrap:wrap;align-items:center;gap:14px 40px}
.trust p{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin:0;
}
.logo-slots{display:flex;flex-wrap:wrap;gap:14px;margin-left:auto}
.logo-slot{
  height:34px;min-width:104px;border:1px dashed rgba(255,255,255,.22);
  border-radius:2px;display:grid;place-items:center;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
  color:rgba(255,255,255,.35);padding:0 12px;
}

/* ========== problem ========== */
.problem-quote{max-width:20ch;margin-bottom:34px}
.problem-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,6vw,80px);align-items:start}
.problem-body p{margin:0 0 20px;color:var(--ink-soft);font-size:1.06rem}
.problem-body p:last-child{color:var(--ink);margin-bottom:0}
@media(max-width:820px){.problem-grid{grid-template-columns:1fr}.problem-quote{max-width:none}}

/* ========== steps ========== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px}
.step{padding:0 30px;border-left:1px solid var(--line-light);position:relative}
.step:first-child{padding-left:0;border-left:0}
.step:last-child{padding-right:0}
.step-n{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;
  color:var(--ink-soft);margin-bottom:16px;
}
.step h3{margin-bottom:10px}
.step p:not([class]){margin:0;color:var(--ink-soft);font-size:.98rem}
@media(max-width:820px){
  .steps{grid-template-columns:1fr;gap:32px}
  .step{padding:0 0 0 22px;border-left:1px solid var(--line-light)}
  .step:first-child{padding-left:22px;border-left:1px solid var(--line-light)}
}

/* ========== use cases ========== */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-light);margin-top:52px}
.card{background:var(--paper);padding:clamp(26px,3vw,40px)}
.card:first-child{padding-left:0}
.card:last-child{padding-right:0}
.card h3{margin-bottom:12px}
.card p{margin:0;color:var(--ink-soft);font-size:.99rem}
@media(max-width:760px){
  .cards{grid-template-columns:1fr}
  .card:first-child,.card:last-child{padding-left:clamp(26px,3vw,40px);padding-right:clamp(26px,3vw,40px)}
}

/* ========== campaign band ========== */
.camp-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,84px);align-items:center}
.camp h2{margin-bottom:22px}
.camp .lede{margin:0 0 20px}
.feat{list-style:none;margin:30px 0 0;padding:0}
.feat li{
  padding:11px 0 11px 26px;border-top:1px solid var(--line-dark);
  position:relative;font-size:.97rem;color:rgba(255,255,255,.8);
}
.feat li::before{
  content:"";position:absolute;left:0;top:19px;
  width:7px;height:7px;background:var(--signal);border-radius:1px;
}
.goal{
  border:1px solid var(--line-dark);background:var(--canopy);
  border-radius:3px;padding:30px;
}
.goal-top{
  display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--mono);font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:18px;
}
.goal-num{
  font-family:var(--display);font-size:clamp(2.6rem,5vw,3.9rem);
  line-height:1;font-weight:400;margin-bottom:6px;
}
.goal-sub{font-family:var(--mono);font-size:11.5px;color:rgba(255,255,255,.5);letter-spacing:.05em}
.bar{height:5px;background:rgba(255,255,255,.1);border-radius:3px;margin:22px 0 12px;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--signal);border-radius:3px;transition:width 1.8s cubic-bezier(.2,.8,.2,1)}
.goal-foot{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:rgba(255,255,255,.42)}
@media(max-width:860px){.camp-grid{grid-template-columns:1fr}}

/* ========== privacy ========== */
.priv-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(34px,6vw,80px)}
.priv-list{list-style:none;margin:0;padding:0}
.priv-list li{padding:18px 0;border-top:1px solid var(--line-dark);font-size:.99rem;color:rgba(255,255,255,.72)}
.priv-list li:last-child{border-bottom:1px solid var(--line-dark)}
.priv-list b{color:#fff;font-weight:600;display:block;font-size:.95rem;margin-bottom:3px;font-family:var(--body)}
.priv-close{margin-top:30px;font-family:var(--display);font-size:1.2rem;font-style:italic;color:rgba(255,255,255,.82);max-width:46ch}
@media(max-width:860px){.priv-grid{grid-template-columns:1fr}}

/* ========== about the team ========== */
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,6vw,72px);align-items:start}
.about-grid p:not([class]){margin-top:16px;color:var(--ink-soft);font-size:.99rem}
.about-stats{list-style:none;margin:0;padding:0}
.about-stats li{display:flex;align-items:baseline;gap:18px;padding:20px 0;border-top:1px solid var(--line-light)}
.about-stats li:first-child{border-top:0}
.about-num{font-family:var(--display);font-size:2.1rem;line-height:1;flex:none;min-width:82px}
.about-label{color:var(--ink-soft);font-size:.95rem;line-height:1.5}
@media(max-width:860px){.about-grid{grid-template-columns:1fr}}

/* ========== integrations ========== */
.int-group{margin-top:38px}
.int-group h3{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{
  border:1px solid var(--line-light);border-radius:2px;padding:8px 15px;
  font-size:14px;background:var(--paper);
}
.chip.todo{border-style:dashed;color:var(--ink-soft)}
.chip.ok{border-style:solid;border-color:#2E7D5B;color:#2E7D5B;background:rgba(46,125,91,.07);
  font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px}
.int-lede{margin-top:16px;color:var(--ink-soft);max-width:62ch}
.int-live{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px;margin-bottom:8px}
.int-card{background:var(--paper-2);border:1px solid var(--line-light);border-radius:3px;padding:26px}
.int-card h3{margin:14px 0 9px;font-size:1.2rem}
.int-card p{color:var(--ink-soft);font-size:.99rem;margin:0}
.int-sub{color:var(--ink-soft);font-size:.95rem;margin:10px 0 16px;max-width:58ch}
.int-note{margin-top:34px;color:var(--ink-soft);font-size:.99rem;max-width:60ch}
@media(max-width:760px){.int-live{grid-template-columns:1fr}}

/* ========== founder mode ========== */
.founder-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,60px);align-items:start}
.founder-list{list-style:none;margin:26px 0 0;padding:0}
.founder-list li{position:relative;padding:13px 0 13px 26px;border-top:1px solid var(--line-light);font-size:1rem;color:var(--ink-soft)}
.founder-list li:first-child{border-top:0}
.founder-list li::before{content:"";position:absolute;left:0;top:20px;width:7px;height:7px;background:var(--signal);border-radius:1px}
.founder-list b{color:var(--ink);font-weight:600}
.founder-note{margin-top:24px;color:var(--ink-soft);font-size:.96rem;max-width:48ch}
.founder-book{background:var(--paper);border:1px solid var(--line-light);border-radius:4px;padding:10px}
.cal-gate{min-height:400px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:18px;text-align:center;padding:32px 24px}
.cal-gate-copy{color:var(--ink-soft);font-size:.95rem;max-width:34ch;margin:0}
.cal-gate-copy b{color:var(--ink);font-weight:600}
.founder-fallback{margin:10px 6px 4px;font-size:.9rem;color:var(--ink-soft);text-align:center}
.founder-fallback a{color:var(--primary)}
@media(max-width:1080px){.founder-grid{grid-template-columns:1fr;gap:36px}}

/* ========== fit ========== */
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-light);margin-top:48px}
.fit{background:var(--paper-2);padding:clamp(26px,3vw,40px)}
.fit:first-child{padding-left:0}
.fit:last-child{padding-right:0}
.fit h3{margin-bottom:20px;font-size:1.15rem}
.fit ul{list-style:none;margin:0;padding:0}
.fit li{padding:12px 0 12px 28px;border-top:1px solid var(--line-light);position:relative;font-size:.99rem;color:var(--ink-soft)}
.fit li::before{
  position:absolute;left:0;top:12px;font-family:var(--mono);font-size:13px;
}
.fit-yes li::before{content:"+";color:#2E7D5B}
.fit-no li::before{content:"–";color:#A8462F}
@media(max-width:760px){
  .fit-grid{grid-template-columns:1fr}
  .fit:first-child,.fit:last-child{padding-left:clamp(26px,3vw,40px);padding-right:clamp(26px,3vw,40px)}
}

/* ========== pricing ========== */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:52px;align-items:stretch}
.tier{
  border:1px solid var(--line-light);border-radius:3px;padding:30px 26px;
  background:var(--paper);display:flex;flex-direction:column;
}
.tier-name{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:18px}
.tier-price{font-family:var(--display);font-size:2.5rem;font-weight:400;line-height:1;margin-bottom:4px}
.tier-price small{font-family:var(--body);font-size:.85rem;color:var(--ink-soft);letter-spacing:0}
.tier p:not([class]){margin:14px 0 0;color:var(--ink-soft);font-size:.96rem}
.tier ul{list-style:none;margin:20px 0 26px;padding:0}
.tier li{
  padding:8px 0 8px 20px;position:relative;font-size:.92rem;
  color:var(--ink-soft);border-top:1px solid var(--line-light);
}
.tier li::before{
  content:"";position:absolute;left:0;top:16px;
  width:6px;height:6px;background:var(--signal);border-radius:1px;
}
.tier-feature li{color:rgba(255,255,255,.78);border-top-color:rgba(255,255,255,.12)}
.tier .btn{margin-top:auto;align-self:flex-start}
.tier-feature{
  background:var(--night);color:#fff;border-color:var(--night);position:relative;
}
.tier-feature .tier-name,.tier-feature p:not([class]){color:rgba(255,255,255,.62)}
.tier-feature .tier-price{color:#fff}
.tier-feature .tier-price small{color:rgba(255,255,255,.55)}
.tag{
  position:absolute;top:-1px;right:26px;background:var(--signal);color:var(--night);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 9px;
}
.oneoff{
  margin-top:16px;border:1px solid var(--night);border-radius:3px;
  padding:26px 28px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;
}
.oneoff div{flex:1 1 320px}
.oneoff h3{margin-bottom:8px;font-size:1.2rem}
.oneoff p{margin:0;color:var(--ink-soft);font-size:.97rem}
.pricing-note{margin-top:26px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-soft)}
.pricing-trial{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:8px;
  margin-top:22px;background:var(--signal);color:var(--night);
  font-size:1.05rem;line-height:1.4;padding:13px 22px;border-radius:3px;letter-spacing:.005em}
.pricing-trial b{font-weight:600}
@media(max-width:880px){.tiers{grid-template-columns:1fr}}

/* ========== case study slot ========== */
.case{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:center}
.case-img{
  aspect-ratio:4/3;border:1px dashed var(--line-light);border-radius:3px;
  display:grid;place-items:center;text-align:center;padding:24px;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-soft);
  background:var(--paper);
}
.case blockquote{margin:0 0 22px;font-family:var(--display);font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.3;font-weight:400}
.case cite{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-style:normal}
@media(max-width:820px){.case{grid-template-columns:1fr}}

/* ========== faq ========== */
.faq{margin-top:48px;border-top:1px solid var(--line-light)}
details{border-bottom:1px solid var(--line-light)}
summary{
  cursor:pointer;list-style:none;padding:20px 44px 20px 0;position:relative;
  font-family:var(--display);font-size:1.18rem;font-weight:400;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"+";position:absolute;right:8px;top:19px;
  font-family:var(--mono);font-size:1.15rem;color:var(--signal);transition:transform .25s;
}
details[open] summary::after{content:"–"}
details p{margin:0 0 22px;color:var(--ink-soft);max-width:66ch;font-size:1rem}

/* ========== final cta ========== */
.final{text-align:center;position:relative;overflow:hidden}
.final h2{max-width:22ch;margin:0 auto 20px}
.final .lede{max-width:48ch;margin:0 auto 34px}
.final .btn-row{justify-content:center}
.final .reassure{text-align:center}
.arc{
  position:absolute;left:50%;bottom:-58%;transform:translateX(-50%);
  width:min(150%,1300px);aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(255,255,255,.09);
  background:radial-gradient(circle at 50% 30%,rgba(116,217,206,.09),transparent 55%);
  pointer-events:none;
}
.final .wrap{position:relative;z-index:2}

/* ========== footer ========== */
.foot{background:var(--night);color:#fff;padding:44px 0;border-top:1px solid var(--line-dark)}
.foot-in{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.foot .sg-logo{height:36px}
.foot-tag{
  font-family:var(--display);font-style:italic;font-size:1.1rem;
  color:rgba(255,255,255,.72);margin:0;
}
.foot-links{display:flex;gap:22px;margin-left:auto;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.foot-links a{color:rgba(255,255,255,.8);text-decoration:none}
.foot-links a:hover{color:#fff}
.foot-bottom{width:100%;margin-top:26px;padding-top:22px;border-top:1px solid var(--line-dark);
  display:flex;flex-wrap:wrap;gap:12px 22px;align-items:baseline;justify-content:space-between}
.foot-copy{font-size:.82rem;color:rgba(255,255,255,.7);margin:0}

/* ========== reveal + a11y ========== */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.js .rv.in{opacity:1;transform:none}
@media print{.rv{opacity:1!important;transform:none!important}}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
