/* ==========================================================================
   Tokens
   ========================================================================== */
:root{
  --bg:#090d16;--bg-2:#0d131f;
  --panel:#111827;--panel-2:#161f30;
  --line:#1e293b;--line-hi:#2a3a52;
  --cyan:#38bdf8;--cyan-soft:rgba(56,189,248,.12);--cyan-line:rgba(56,189,248,.38);
  --ok:#10b981;--warn:#f59e0b;--err:#f87171;
  --text:#f1f5f9;--muted:#94a3b8;--faint:#64748b;
  --mono:"JetBrains Mono","Cascadia Code",ui-monospace,SFMono-Regular,Consolas,monospace;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --tabbar-h:44px;--status-h:28px;
}

/* ==========================================================================
   Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--tabbar-h) + 20px);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;padding-bottom:var(--status-h);background:linear-gradient(180deg,var(--bg-2) 0,var(--bg) 720px);color:var(--text);font:400 1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--cyan);text-decoration:none}
button{font:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
::selection{background:rgba(56,189,248,.3);color:var(--text)}
.icon{width:1em;height:1em;flex:none;fill:currentColor}
.mono{font-family:var(--mono)}
.dim{color:var(--faint)}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Technical dot matrix background */
.bg-matrix{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(circle,rgba(148,163,184,.16) 1px,transparent 1.3px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse 75% 55% at 50% 0%,#000 25%,transparent 78%);
          mask-image:radial-gradient(ellipse 75% 55% at 50% 0%,#000 25%,transparent 78%)}

/* ==========================================================================
   Buttons, badges, tags
   ========================================================================== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);font:600 .8rem/1 var(--mono);white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}
.btn:hover{border-color:var(--cyan);color:var(--cyan)}
.btn-primary{background:var(--cyan);border-color:var(--cyan);color:#04121f}
.btn-primary:hover{background:#7dd3fc;border-color:#7dd3fc;color:#04121f}
.btn-outline{background:transparent;border-color:var(--cyan-line);color:var(--cyan)}
.btn-outline:hover{background:var(--cyan-soft)}
.btn-sm{padding:7px 11px;font-size:.72rem}
.btn.is-copied{background:transparent;border-color:var(--ok);color:var(--ok)}

.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font:600 .66rem/1.5 var(--mono);letter-spacing:.06em;white-space:nowrap}
.badge.ok{color:var(--ok);border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.07)}
.badge.warn{color:var(--warn);border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.07)}
.badge.cy{color:var(--cyan);border-color:var(--cyan-line);background:var(--cyan-soft)}

.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.tag{padding:3px 9px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--muted);font:500 .72rem/1.5 var(--mono);transition:border-color .2s,color .2s}
.tag.hl{color:var(--cyan);border-color:var(--cyan-line)}
.panel:hover .tag{border-color:var(--line-hi);color:#cbd5e1}
.panel:hover .tag.hl{border-color:var(--cyan);color:var(--cyan)}

/* ==========================================================================
   Windows Terminal style tab bar (navigation)
   ========================================================================== */
.tabbar{position:sticky;top:0;z-index:50;display:flex;height:var(--tabbar-h);background:rgba(9,13,22,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.tabs{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:flex-end;gap:2px;padding:6px 6px 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}
.tabs::-webkit-scrollbar{display:none}
.tab{position:relative;flex:none;display:flex;align-items:center;gap:8px;height:100%;padding:0 14px;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0;color:var(--faint);font:500 .74rem/1 var(--mono);white-space:nowrap;transition:color .15s,background-color .15s}
.tab:hover{color:var(--text);background:rgba(22,31,48,.7)}
.tab .ti{color:var(--faint);transition:color .15s}
.tab:hover .ti,.tab.is-current .ti{color:var(--cyan)}
.tab.is-current{color:var(--text);background:var(--panel)}
.tab.is-current::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:var(--cyan)}
.tab-session{background:var(--bg-2);border-color:var(--line);color:var(--text);padding-right:18px}
.tab-session::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:2px;border-radius:6px 6px 0 0;background:var(--cyan)}
.tab-session .icon{width:15px;height:15px}
.tab-plus{flex:none;align-self:center;width:30px;height:26px;margin-left:2px;border:0;border-radius:4px;background:transparent;color:var(--muted);font:400 1.05rem/1 var(--mono);cursor:pointer;transition:background-color .15s,color .15s}
.tab-plus:hover{background:var(--panel);color:var(--text)}
.tabbar-actions{flex:none;display:flex;align-items:center;gap:6px;padding-left:10px;border-left:1px solid var(--line)}
.winctl{display:flex;align-self:stretch;margin-left:4px}
.winctl span{display:grid;place-items:center;width:44px;color:var(--muted);font:400 .78rem var(--mono);transition:background-color .15s,color .15s}
.winctl span:hover{background:var(--panel);color:var(--text)}
.winctl .x:hover{background:#c42b1c;color:#fff}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{padding:72px 0 64px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:56px;align-items:center}
.status{display:inline-flex;align-items:center;gap:10px;margin:0;padding:6px 12px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--muted);font:500 .7rem/1.4 var(--mono);letter-spacing:.07em}
.status b{color:var(--ok);font-weight:700}
.pulse{width:8px;height:8px;flex:none;border-radius:50%;background:var(--ok);animation:ping 2s ease-out infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(16,185,129,.55)}70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}
h1{margin:22px 0 10px;font:700 clamp(2.5rem,6vw,4.1rem)/1.04 var(--sans);letter-spacing:-.035em}
.subtitle{margin:0 0 22px;color:var(--text);font:600 clamp(1rem,2.1vw,1.2rem)/1.5 var(--mono)}
.subtitle .gt{color:var(--faint)}
.subtitle .accent{color:var(--cyan)}
.caret{display:inline-block;width:.6em;height:1.1em;margin-left:4px;vertical-align:-.18em;background:var(--cyan);animation:blink 1.1s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}
.lead{max-width:56ch;margin:0 0 24px;color:var(--muted);font-size:1.05rem}
.comment{max-width:60ch;margin:0 0 28px;padding:12px 16px;border:1px solid var(--line);border-left:2px solid var(--cyan);border-radius:0 6px 6px 0;background:rgba(13,19,31,.85);font:400 .84rem/1.7 var(--mono);color:var(--muted)}
.comment .hash{color:var(--faint)}
.comment q{color:var(--text);quotes:"\201C" "\201D"}
.comment .by{color:var(--faint)}
.comment .label{color:var(--warn)}
.cta{display:flex;flex-wrap:wrap;gap:10px}
.js .rise{animation:rise .38s ease-out both}
.js .rise:nth-child(2){animation-delay:.04s}.js .rise:nth-child(3){animation-delay:.08s}
.js .rise:nth-child(4){animation-delay:.12s}.js .rise:nth-child(5){animation-delay:.16s}.js .rise:nth-child(6){animation-delay:.2s}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ==========================================================================
   Interactive pwsh.exe window
   ========================================================================== */
.wt{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#0b111d;box-shadow:0 30px 70px -30px rgba(0,0,0,.8);transition:border-color .2s}
.wt:focus-within{border-color:var(--cyan-line)}
.wt-bar{display:flex;align-items:flex-end;height:38px;padding-left:8px;background:#080c15;border-bottom:1px solid var(--line);user-select:none}
.wt-tab{position:relative;display:flex;align-items:center;gap:8px;height:31px;margin-bottom:-1px;padding:0 10px 0 12px;border:1px solid var(--line);border-bottom:0;border-radius:6px 6px 0 0;background:#0b111d;color:var(--text);font:500 .72rem/1 var(--mono)}
.wt-tab .icon{width:14px;height:14px}
.wt-tab-x{margin-left:16px;color:var(--faint);font-size:.62rem}
.wt-ghost{align-self:center;padding:0 9px;color:var(--muted);font:400 .9rem/1 var(--mono)}
.wt-ctl{display:flex;align-self:stretch;margin-left:auto}
.wt-ctl span{display:grid;place-items:center;width:42px;color:var(--muted);font-size:.72rem}
.wt-screen{height:360px;overflow-y:auto;padding:14px 16px 12px;color:#cbd5e1;font:400 .8rem/1.6 var(--mono);cursor:text;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.wt-screen::-webkit-scrollbar{width:8px}
.wt-screen::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
.ln{min-height:1.6em;white-space:pre-wrap;word-break:break-word}
.ln.gap{min-height:.75em}
.t-prompt{color:var(--muted)}
.t-cmd{color:var(--text);font-weight:600}
.t-param{color:var(--faint)}
.t-arg{color:var(--cyan)}
.t-ok{color:var(--ok);font-weight:600}
.t-warn{color:var(--warn)}
.t-err{color:var(--err)}
.t-head{color:var(--cyan);font-weight:600}
.t-key{color:var(--cyan)}
.t-dim{color:var(--faint)}
.wt-out a{color:var(--cyan);text-decoration:underline;text-decoration-color:var(--cyan-line);text-underline-offset:3px}
.wt-out a:hover{text-decoration-color:var(--cyan)}
.wt-prompt{display:flex;align-items:center;margin:0}
.wt-prompt label{flex:none;margin-right:1ch;color:var(--muted)}
.wt-prompt input{flex:1;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--text);font:600 .8rem/1.6 var(--mono);caret-color:var(--cyan)}
.wt-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;border-top:1px solid var(--line);background:#080c15}
.chips-label{margin-right:4px;color:var(--faint);font:500 .68rem var(--mono)}
.chip{padding:4px 9px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--muted);font:500 .72rem/1.4 var(--mono);cursor:pointer;transition:border-color .15s,color .15s}
.chip:hover{border-color:var(--cyan);color:var(--cyan)}

/* ==========================================================================
   Sections & panels
   ========================================================================== */
.section{padding:72px 0}
.sec-head{margin-bottom:28px}
.cmdline{margin:0 0 10px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;color:var(--muted);font:500 .8rem/1.6 var(--mono)}
.cmdline::-webkit-scrollbar{display:none}
.cmdline .p{color:var(--faint)}
.cmdline .k{color:var(--text);font-weight:600}
.cmdline .op{color:var(--cyan)}
.cmdline .a{color:var(--faint)}
.cmdline .v{color:var(--cyan)}
h2{display:flex;align-items:baseline;gap:14px;margin:0;font:700 clamp(1.6rem,3.2vw,2.1rem)/1.2 var(--sans);letter-spacing:-.02em}
h2 .idx{color:var(--cyan);font:600 .85rem var(--mono);letter-spacing:0}
.dirline{margin:0 0 14px;color:var(--faint);font:400 .75rem var(--mono);white-space:pre}
.dirline span{color:var(--muted)}

.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}

.panel{position:relative;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:linear-gradient(180deg,var(--panel),var(--bg-2));transition:border-color .2s}
.panel::before,.panel::after{content:"";position:absolute;bottom:6px;width:10px;height:10px;border-bottom:1px solid var(--cyan);opacity:0;pointer-events:none;transition:opacity .2s}
.panel::before{left:6px;border-left:1px solid var(--cyan)}
.panel::after{right:6px;border-right:1px solid var(--cyan)}
.panel:hover,.panel:focus-within{border-color:var(--cyan)}
.panel:hover::before,.panel:hover::after,.panel:focus-within::before,.panel:focus-within::after{opacity:1}
.panel-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:7px 14px;border-bottom:1px solid var(--line);background:var(--panel-2);color:var(--faint);font:500 .72rem/1.4 var(--mono);transition:color .2s,background-color .2s,border-color .2s}
.panel-bar .file{display:flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.panel-bar .file::before{content:">";display:inline-block;width:0;margin-right:0;overflow:hidden;opacity:0;color:var(--cyan);font-weight:700;transition:width .2s,margin .2s,opacity .2s}
.panel:hover .panel-bar,.panel:focus-within .panel-bar{color:var(--text);background:#13223a;border-bottom-color:rgba(56,189,248,.25)}
.panel:hover .panel-bar .file::before,.panel:focus-within .panel-bar .file::before{width:1ch;margin-right:1ch;opacity:1}
.perm{margin-right:1ch;color:var(--faint)}
.panel-body{padding:20px}
.panel h3{margin:0 0 8px;font:600 1.03rem/1.35 var(--sans);letter-spacing:-.01em}
.panel p{margin:0;color:var(--muted);font-size:.95rem}
.panel-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px dashed var(--line);color:var(--faint);font:500 .74rem/1.4 var(--mono)}
.panel-foot a{display:inline-flex;gap:6px;color:var(--cyan);white-space:nowrap}
.panel-foot a:hover{text-decoration:underline;text-underline-offset:3px}

/* About: neofetch / Format-List */
.fetch{display:grid;grid-template-columns:auto minmax(0,1fr);gap:36px;align-items:start}
.ascii{margin:0;color:var(--cyan);font:600 .82rem/1.15 var(--mono)}
.fetch-user{margin:0;color:var(--text);font:600 .9rem var(--mono)}
.fetch-user span{color:var(--cyan)}
.fetch-rule{margin:0 0 8px;color:var(--faint);font:400 .9rem/1 var(--mono)}
.fl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 0;margin:0;font:400 .84rem/1.6 var(--mono)}
.fl dt{padding-right:1ch;color:var(--cyan)}
.fl dd{margin:0;color:var(--text)}
.fl dd::before{content:": ";color:var(--faint)}
.fl .ok{color:var(--ok);font-weight:600}
.swatches{display:flex;gap:0;margin-top:14px}
.swatches i{width:26px;height:12px}
.about-grid{margin-top:16px}
.uptime{display:flex;align-items:flex-end;gap:10px;margin-bottom:10px}
.uptime .big{color:var(--cyan);font:700 2.6rem/1 var(--mono)}
.uptime .unit{padding-bottom:4px;color:var(--muted);font:600 .7rem/1.2 var(--mono);letter-spacing:.08em}

/* Stack: module manifest */
.meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0 0 16px;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--bg);font:400 .72rem/1.5 var(--mono)}
.meta div{display:flex;gap:8px}
.meta dt{color:var(--faint)}
.meta dd{margin:0;color:var(--text)}
.meta dd.ok{color:var(--ok);font-weight:600}
.exports{margin:0 0 8px!important;color:var(--faint)!important;font:500 .68rem var(--mono)!important;letter-spacing:.08em}

/* Projects */
.project{display:flex;flex-direction:column}
.project .panel-body{flex:1;display:flex;flex-direction:column;gap:14px}
.proj-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.proj-head h3{margin:0 auto 0 0}

/* Community matrix */
.intro{max-width:72ch;margin-bottom:18px!important}
.readout{display:flex;flex-wrap:wrap;gap:0 1ch;min-height:2.4em;margin-bottom:12px;padding:7px 12px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--text);font:400 .76rem/1.6 var(--mono)}
.readout .p{color:var(--cyan)}
.matrix-scroll{overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.matrix{display:grid;grid-template-columns:2.6em repeat(26,minmax(10px,1fr));gap:3px;min-width:520px;border-radius:4px}
.matrix:focus-visible{outline-offset:4px}
.mx-month{overflow:visible;color:var(--faint);font:400 .62rem/1.6 var(--mono);white-space:nowrap}
.mx-day{align-self:center;color:var(--faint);font:400 .6rem/1 var(--mono)}
.c{display:block;aspect-ratio:1;border-radius:2px;background:#131b2a}
.c.l1{background:rgba(56,189,248,.2)}
.c.l2{background:rgba(56,189,248,.4)}
.c.l3{background:rgba(56,189,248,.66)}
.c.l4{background:var(--cyan)}
.c.is-future{visibility:hidden}
.matrix .c{cursor:crosshair}
.matrix .c:hover,.matrix .c.is-sel{outline:1px solid var(--text);outline-offset:1px}
.matrix-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:var(--faint);font:400 .7rem var(--mono)}
.legend{display:inline-flex;align-items:center;gap:4px}
.legend .c{width:10px}

/* Support */
.sol-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:32px;align-items:start}
.sol-sub{margin-bottom:18px!important;font-size:1rem!important}
.verify{margin:0;padding:0;list-style:none;font:400 .76rem/1.9 var(--mono);color:var(--muted)}
.verify .t-ok,.verify .t-warn{margin-right:1ch}
.wallet{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
.wallet-row{display:grid;grid-template-columns:9.5ch minmax(0,1fr);align-items:center;gap:12px}
.wk{color:var(--faint);font:600 .68rem var(--mono);letter-spacing:.08em}
.wallet code{color:var(--text);font:500 .82rem/1.5 var(--mono);word-break:break-all}
.wallet .addr{padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:#070a12;color:var(--cyan)}
.wallet .btn{justify-self:start;margin-top:6px}

/* End of session */
.end{padding:24px 0 48px}
.end p{margin:0;font:400 .8rem/1.8 var(--mono)}

/* ==========================================================================
   Toast
   ========================================================================== */
.toast{position:fixed;right:16px;bottom:calc(var(--status-h) + 16px);z-index:60;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:11px 16px;border:1px solid var(--line);border-left:2px solid var(--ok);border-radius:6px;background:var(--panel);box-shadow:0 18px 40px -16px rgba(0,0,0,.8);color:var(--text);font:500 .78rem/1.4 var(--mono);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s}
.toast.show{opacity:1;transform:none}
.toast-tag{color:var(--ok);font-weight:700}
.toast.is-error{border-left-color:var(--err)}
.toast.is-error .toast-tag{color:var(--err)}

/* ==========================================================================
   TUI status bar
   ========================================================================== */
.statusbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:stretch;height:var(--status-h);overflow:hidden;background:#070b13;border-top:1px solid var(--line);color:var(--muted);font:500 .68rem/1 var(--mono)}
.sb-mode,.sb-seg{display:flex;align-items:center;gap:6px;padding:0 12px;white-space:nowrap}
.sb-seg{border-right:1px solid var(--line)}
.sb-mode{background:var(--cyan);color:#04121f;font-weight:700;letter-spacing:.08em;transition:background-color .15s}
.sb-mode.is-insert{background:var(--warn)}
.sb-shell{background:var(--panel-2);color:var(--text)}
.sb-ok{color:var(--ok)}
.sb-fill{flex:1}
.sb-right{border-right:0;border-left:1px solid var(--line)}
a.sb-seg{color:var(--muted);transition:color .15s,background-color .15s}
a.sb-seg:hover{background:var(--panel);color:var(--cyan)}

/* ==========================================================================
   Scroll reveal (short, never hides hero)
   ========================================================================== */
.js .reveal{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease,border-color .2s}
.js .reveal.in{opacity:1;transform:none}
.grid-2>.reveal:nth-child(2),.grid-3>.reveal:nth-child(2){transition-delay:.06s,.06s,0s}
.grid-2>.reveal:nth-child(3),.grid-3>.reveal:nth-child(3){transition-delay:.12s,.12s,0s}
.grid-2>.reveal:nth-child(4){transition-delay:.18s,.18s,0s}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1000px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .winctl{display:none}
  .tabbar-actions{padding-right:8px}
}
@media (max-width:760px){
  .grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}
  .sol-body{grid-template-columns:minmax(0,1fr);gap:20px}
  .fetch{grid-template-columns:minmax(0,1fr);gap:18px}
  .ascii{font-size:.6rem}
  .hide-sm{display:none}
  .section{padding:56px 0}
  .hero{padding:48px 0 40px}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .tab{padding:0 11px;font-size:.7rem}
  .hide-xs{display:none}
  .wt-screen{height:320px;padding:12px}
  .wt-prompt input{font-size:16px}
  .wt-ctl span{width:34px}
  .wallet-row{grid-template-columns:minmax(0,1fr);gap:4px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal,.js .rise{opacity:1;transform:none}
}
