/* ══════════════════════════════════════════════════════════
   澱／重なる／記憶 — 下層ページ共通
   ══════════════════════════════════════════════════════════ */
:root{
  --ink:#04070a; --abyss:#070d14; --deep:#0b1a25;
  --ice-d:#10344a; --ice:#2b6b85; --ice-l:#8fb9c6; --frost:#d6e6ea;
  --flesh:#8d4a42; --flesh-l:#c68e6c; --plum:#4b2a4f; --blood:#6e1f2b;
  --line:rgba(143,185,198,.16); --line-s:rgba(143,185,198,.30);
  --thaw:.06; --mx:50%; --my:40%; --lens:280px;
  --serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
  --latin:"Cormorant Garamond","Noto Serif JP",serif;
  --pad:clamp(22px,5vw,86px);
  /* 記憶の言葉（背景を流れる文字）— 柔らかく、ふんわり */
  --soft:  "Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic UI",sans-serif;
}
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0 }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100% }
body{
  font-family:var(--serif); font-weight:300; background:var(--ink); color:#c3d4da;
  line-height:2.05; letter-spacing:.09em; overflow-x:hidden;
  font-feature-settings:"palt" 1; -webkit-font-smoothing:antialiased; min-height:100vh;
}
img{ max-width:100%; display:block }
a{ color:inherit; text-decoration:none }
::selection{ background:rgba(110,31,43,.55); color:var(--frost) }

/* ── 水 ─────────────────────────────────── */
.env{ position:fixed; inset:0; pointer-events:none; z-index:0 }
.env > *{ position:absolute; inset:0 }
.env__water{
  background:
    radial-gradient(108% 58% at 50% -12%, rgba(226,244,248,.34) 0%, rgba(164,208,222,.22) 24%, transparent 60%),
    radial-gradient(120% 72% at 50% -14%, rgba(124,182,204,.30) 0%, rgba(48,124,156,.20) 28%, transparent 64%),
    radial-gradient(78% 48% at 84% 8%,  rgba(132,174,196,.16) 0%, transparent 62%),
    radial-gradient(92% 62% at 8% 96%,  rgba(26,80,112,.34) 0%, transparent 72%),
    /* 氷を透かして水中へ落ちる光の筋。動かさない＝凍った光 */
    linear-gradient(101deg, transparent 12%, rgba(216,240,248,.078) 17%, transparent 23%,
                    transparent 44%, rgba(216,240,248,.056) 49%, transparent 55%,
                    transparent 71%, rgba(198,230,242,.070) 76%, transparent 83%),
    linear-gradient(97deg,  transparent 30%, rgba(228,246,250,.042) 34%, transparent 39%,
                    transparent 60%, rgba(228,246,250,.036) 65%, transparent 70%),
    linear-gradient(180deg, #1a4058 0%, #123044 26%, #0b2032 58%, #08151f 100%);
}
.env__marble{
  /* stitchTiles とフィルタ領域の明示が無いとタイルの継ぎ目が四角く出る。
     さらに氷は凍っている＝動かさない（動かすと継ぎ目が流れて見える） */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900'%3E%3Cfilter id='f' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.0045 0.014' numOctaves='5' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='900' height='900' filter='url(%23f)'/%3E%3C/svg%3E");
  background-size:1400px 1400px; mix-blend-mode:soft-light; opacity:.42;
}
.env__meat{
  background:url("moss-forest.jpg") center / cover no-repeat;
  mix-blend-mode:overlay; opacity:calc(var(--thaw) * 1.1);
  transition:opacity 1.2s linear;
}
@keyframes breath{ from{ transform:scale(1.015) } to{ transform:scale(1.12) } }

.thaw{
  position:fixed; inset:0; z-index:2; pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse calc(var(--lens)*1.5) calc(var(--lens)*.95) at var(--mx) var(--my), #000 0%, rgba(0,0,0,.56) 26%, rgba(0,0,0,.22) 50%, transparent 90%);
          mask-image:radial-gradient(ellipse calc(var(--lens)*1.5) calc(var(--lens)*.95) at var(--mx) var(--my), #000 0%, rgba(0,0,0,.56) 26%, rgba(0,0,0,.22) 50%, transparent 90%);
  will-change:mask-image;
}
.thaw__a{
  position:absolute; inset:0;
  background:radial-gradient(70% 50% at 30% 34%, rgba(88,146,76,.9) 0%, transparent 66%),
             radial-gradient(60% 46% at 74% 64%, rgba(52,96,58,.85) 0%, transparent 64%),
             linear-gradient(150deg,#1c3320,#101a12);
  mix-blend-mode:overlay; opacity:.44;
}
.thaw__f{
  position:absolute; inset:0;
  background:url("moss-forest.jpg") center / cover no-repeat;
  mix-blend-mode:lighten; opacity:.95;
}
.grain{
  position:fixed; inset:-160px; z-index:60; pointer-events:none; opacity:.055; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.1s steps(4) infinite;
}
@keyframes grain{ 0%{transform:translate(0,0)} 25%{transform:translate(-9px,7px)} 50%{transform:translate(6px,-11px)} 75%{transform:translate(-13px,-5px)} 100%{transform:translate(11px,9px)} }
.vignette{
  position:fixed; inset:0; z-index:59; pointer-events:none;
  background:radial-gradient(124% 94% at 50% 44%, transparent 48%, rgba(2,4,7,.40) 84%, rgba(2,4,7,.70) 100%);
  opacity:calc(.42 + var(--thaw) * .58);
}


/* ── 記憶の言葉・水泡・きらめき（TOPと同じ演出）───────────
   いずれも「1レイヤー＋小さな子要素」。全画面のぼかしや合成は増やさない */
.flood{ position:fixed; inset:0; z-index:1; pointer-events:none; overflow:hidden; contain:strict }
.flood i{
  position:absolute; bottom:-26%; font-style:normal; display:block;
  animation:rise var(--d) linear infinite; animation-delay:var(--dl);
  will-change:transform;
}
.flood i b{
  display:block; font-family:var(--soft); font-weight:300;
  writing-mode:vertical-rl; text-orientation:upright; white-space:nowrap;
  font-size:var(--s); letter-spacing:.42em; line-height:1;
  color:var(--c); filter:blur(var(--b));
  animation:sway var(--sw) ease-in-out infinite alternate, surface var(--d) linear infinite;
  animation-delay:var(--dl), var(--dl);
  will-change:transform, opacity;
}
.flood i.en b{ text-orientation:mixed; letter-spacing:.30em; font-size:calc(var(--s) * .92) }
:root.lite .flood i b{ filter:none }
@keyframes rise   { from{ transform:translate3d(0,0,0) } to{ transform:translate3d(0,-142vh,0) } }
@keyframes sway   { from{ transform:translateX(-14px) rotate(-1.6deg) } to{ transform:translateX(14px) rotate(1.6deg) } }
@keyframes surface{
   0%{ opacity:0 }
  14%{ opacity:calc(var(--o) * (var(--thaw) + .24)) }
  56%{ opacity:calc(var(--o) * (var(--thaw) + .24) * .66) }
  88%{ opacity:calc(var(--o) * (var(--thaw) + .24) * .16) }
 100%{ opacity:0 }
}

.aqua{ position:fixed; inset:0; z-index:1; pointer-events:none; overflow:hidden; contain:strict }
.aqua i{ position:absolute; display:block; border-radius:50%; will-change:transform, opacity }
.aqua .b{
  left:var(--x); bottom:-8vh; width:var(--w); height:var(--w);
  background:
    radial-gradient(circle at 34% 27%, rgba(255,255,255,.95) 0 8%, rgba(255,255,255,.30) 17%, transparent 34%),
    radial-gradient(circle at 62% 74%, rgba(206,236,248,.34) 0 6%, transparent 22%),
    radial-gradient(circle at 50% 50%, rgba(206,234,244,.05) 40%, rgba(206,238,250,.52) 76%,
                    rgba(255,255,255,.34) 88%, transparent 96%);
  opacity:0;
  animation:bub-rise var(--d) linear infinite; animation-delay:var(--dl);
}
@keyframes bub-rise{
   0%{ transform:translate3d(0,0,0)        scale(.92); opacity:0 }
   9%{ opacity:var(--o) }
  25%{ transform:translate3d(10px,-30vh,0) scale(1) }
  50%{ transform:translate3d(-8px,-58vh,0) scale(1.02) }
  75%{ transform:translate3d(9px,-86vh,0)  scale(1.05) }
  91%{ opacity:var(--o) }
 100%{ transform:translate3d(0,-116vh,0)   scale(1.08); opacity:0 }
}
.aqua .s{
  left:var(--x); top:var(--y); width:var(--w); height:var(--w);
  background:radial-gradient(circle, rgba(255,255,255,.95) 0 16%, rgba(206,236,248,.46) 34%, transparent 72%);
  opacity:0;
  animation:ice-spark var(--d) ease-in-out infinite; animation-delay:var(--dl);
}
@keyframes ice-spark{
   0%{ opacity:0;        transform:scale(.5) }
  46%{ opacity:var(--o); transform:scale(1) }
  62%{ opacity:calc(var(--o) * .5); transform:scale(.92) }
 100%{ opacity:0;        transform:scale(.5) }
}

/* ── 器 ─────────────────────────────────── */
main{ position:relative; z-index:3 }
.wrap{ max-width:1080px; margin-inline:auto; padding-inline:var(--pad) }
.narrow{ max-width:720px; margin-inline:auto; padding-inline:var(--pad) }

.topbar{
  position:relative; z-index:5; display:flex; align-items:baseline; gap:1.4em;
  padding:clamp(22px,4vh,38px) var(--pad); flex-wrap:wrap;
}
.topbar a.home{ font-size:.72rem; letter-spacing:.34em; color:var(--frost); opacity:.85 }
.topbar a.home:hover{ color:#e8cbb8 }
.topbar .sub{ font-size:.64rem; letter-spacing:.28em; color:var(--ice-l); opacity:.45 }

.phead{ padding:clamp(30px,7vh,80px) 0 clamp(26px,5vh,52px) }
.phead h1{
  font-size:clamp(1.35rem,3.4vw,2.1rem); font-weight:200; letter-spacing:.3em; color:#e6f1f4;
}
.phead .en{
  display:block; font-family:var(--latin); font-style:italic; font-size:.72rem;
  letter-spacing:.28em; color:var(--ice-l); opacity:.45; margin-top:1em;
}
.phead p{ margin-top:1.6em; font-size:.86rem; line-height:2.5; color:#a9c0c8 }
.rule{ height:1px; background:linear-gradient(90deg,var(--line-s),transparent) }

.rv{ opacity:0; transform:translateY(20px); filter:blur(10px);
     transition:opacity 1.3s cubic-bezier(.2,.7,.25,1), transform 1.3s cubic-bezier(.2,.7,.25,1), filter 1.3s ease }
.rv.in{ opacity:1; transform:none; filter:blur(0) }

.note{ font-size:.72rem; letter-spacing:.18em; color:var(--ice-l); opacity:.5; line-height:2.3 }

/* ── 予約フォーム ───────────────────────── */
.applyGrid{ display:grid; gap:clamp(34px,5vh,58px) }
@media(min-width:900px){ .applyGrid{ grid-template-columns:340px 1fr; gap:clamp(40px,5vw,80px); align-items:start } }

.who{ position:relative; border:1px solid var(--line); overflow:hidden; background:var(--abyss) }
.who img{ width:100%; aspect-ratio:3/4; object-fit:cover; filter:contrast(1.02) }
.who__cap{ padding:1.2em 1.3em 1.4em; background:linear-gradient(0deg,rgba(3,6,10,.94),rgba(3,6,10,.4)) }
.who__cap b{ display:block; font-weight:300; font-size:1.06rem; letter-spacing:.2em; color:#e6f1f4 }
.who__cap i{ display:block; font-style:normal; font-size:.66rem; letter-spacing:.28em; color:var(--ice-l); opacity:.55; margin-top:.7em }

form fieldset{ border:0; margin-bottom:clamp(26px,4vh,44px) }
form legend{
  font-size:.66rem; letter-spacing:.32em; color:var(--ice-l); opacity:.5;
  padding-bottom:1em; margin-bottom:1.3em; border-bottom:1px solid var(--line); width:100%;
}
.field{ margin-bottom:1.5em }
.field > label{ display:block; font-size:.72rem; letter-spacing:.24em; color:var(--ice-l); opacity:.66; margin-bottom:.7em }
.field .req{ color:#c68e6c; opacity:.9; margin-left:.6em; font-size:.9em }
input[type=text], input[type=email], input[type=tel], input[type=number],
input[type=password], input[type=search], select, textarea{
  width:100%; padding:.95em 1.1em; font-family:var(--serif); font-size:.92rem; letter-spacing:.08em;
  color:#e6f1f4; background:rgba(8,18,26,.5); border:1px solid var(--line);
  transition:border-color .5s, background .5s;
}
textarea{ min-height:6.5em; resize:vertical; line-height:2 }
input:focus, select:focus, textarea:focus{ outline:0; border-color:rgba(198,142,108,.5); background:rgba(14,28,38,.6) }
select{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--ice-l) 50%),linear-gradient(135deg,var(--ice-l) 50%,transparent 50%);
  background-position:calc(100% - 20px) 1.35em, calc(100% - 14px) 1.35em; background-size:6px 6px,6px 6px; background-repeat:no-repeat }
select option{ background:#0a151e; color:#e6f1f4 }

.choices{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line) }
.choices label{
  display:flex; align-items:baseline; gap:1em; padding:1.05em 1.2em; cursor:pointer;
  background:rgba(7,15,22,.6); transition:background .5s, color .5s;
}
.choices label:hover{ background:rgba(18,34,45,.7) }
.choices input{ appearance:none; width:9px; height:9px; border:1px solid var(--ice-l); border-radius:50%; flex:0 0 auto;
  position:relative; top:-.1em; transition:background .4s, box-shadow .4s, border-color .4s }
.choices input:checked{ background:#c68e6c; border-color:#c68e6c; box-shadow:0 0 12px rgba(198,142,108,.6) }
.choices label:has(input:checked){ background:rgba(46,22,18,.6) }
.choices .n{ font-size:.9rem; letter-spacing:.14em; color:#cfe0e5 }
.choices .n em{ display:block; font-style:normal; font-size:.7em; letter-spacing:.14em; color:var(--ice-l); opacity:.5; margin-top:.4em; line-height:1.9 }
.choices .y{ margin-left:auto; font-family:var(--latin); font-size:1.02rem; color:var(--frost); white-space:nowrap }

.btn{
  display:inline-block; position:relative; overflow:hidden; z-index:0; cursor:pointer;
  padding:1.2em 3.4em; border:1px solid var(--line-s); font-family:var(--serif);
  font-size:.82rem; letter-spacing:.36em; color:var(--frost);
  background:rgba(8,18,26,.5); transition:color .7s, border-color .7s, letter-spacing .7s;
}
.btn::before{ content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(120deg, rgba(110,31,43,.75), rgba(141,74,66,.6));
  transform:translateY(101%); transition:transform .8s cubic-bezier(.2,.7,.25,1) }
.btn:hover{ color:#fff; border-color:rgba(198,142,108,.55); letter-spacing:.42em }
.btn:hover::before{ transform:translateY(0) }
.btn[disabled]{ opacity:.4; pointer-events:none }
.btn--ghost{ padding:.9em 2.2em; font-size:.72rem; letter-spacing:.28em }

.sent{ display:none; border:1px solid rgba(198,142,108,.28); padding:clamp(26px,4vw,40px);
  background:linear-gradient(150deg, rgba(42,21,18,.42), rgba(8,14,20,.3)) }
.sent.on{ display:block }
.sent h3{ font-size:1rem; font-weight:300; letter-spacing:.28em; color:#e8cbb8; margin-bottom:1.2em }
.sent p{ font-size:.84rem; line-height:2.5; color:#b3c7ce }
.err{ color:#e0a08c; font-size:.78rem; letter-spacing:.14em; margin-top:1.2em; display:none }
.err.on{ display:block }

/* ── 出演者一覧（予約の入口）───────────── */
.pick{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line);
  grid-template-columns:repeat(2,1fr) }
@media(min-width:640px){ .pick{ grid-template-columns:repeat(3,1fr) } }
@media(min-width:980px){ .pick{ grid-template-columns:repeat(5,1fr) } }
.pick a{ position:relative; display:block; aspect-ratio:3/4; overflow:hidden; background:var(--abyss) }
.pick img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  filter:grayscale(.5) brightness(.9) blur(2px); transform:scale(1.05);
  transition:filter 1.2s cubic-bezier(.2,.7,.25,1), transform 1.4s cubic-bezier(.2,.7,.25,1) }
.pick .tint{ position:absolute; inset:0; z-index:2; mix-blend-mode:multiply; opacity:.74;
  background:linear-gradient(163deg,#16405c,#0c2233 58%,#050d15); transition:opacity 1.2s ease }
.pick .cap{ position:absolute; z-index:3; inset:auto 0 0 0; padding:1em .9em 1.05em;
  background:linear-gradient(0deg,rgba(3,6,10,.93) 14%,transparent) }
.pick .cap b{ display:block; font-weight:300; font-size:clamp(.8rem,1.4vw,.95rem); letter-spacing:.16em; color:#e2eef1 }
.pick .cap i{ display:block; font-style:normal; font-size:.6rem; letter-spacing:.26em; color:var(--ice-l); opacity:.5; margin-top:.5em }
.pick a:hover img{ filter:grayscale(0) brightness(1.02) blur(0); transform:scale(1) }
.pick a:hover .tint{ opacity:.1 }

/* ── ギャラリー ─────────────────────────── */
.gal{ columns:2; column-gap:10px; padding-bottom:clamp(40px,7vh,80px) }
@media(min-width:760px){ .gal{ columns:3 } }
@media(min-width:1200px){ .gal{ columns:4 } }
.gal figure{ break-inside:avoid; margin:0 0 10px; position:relative; background:var(--abyss);
  border:1px solid var(--line); overflow:hidden; cursor:zoom-in }
.gal img, .gal video{ width:100%; display:block; filter:brightness(.86) saturate(.8);
  transition:filter 1s cubic-bezier(.2,.7,.25,1), transform 1.2s cubic-bezier(.2,.7,.25,1); transform:scale(1.02) }
.gal figure:hover img, .gal figure:hover video{ filter:brightness(1.02) saturate(1); transform:scale(1) }
.gal .play{ position:absolute; inset:0; display:grid; place-items:center; pointer-events:none }
.gal .play::before{ content:""; width:46px; height:46px; border:1px solid rgba(214,230,234,.6); border-radius:50%;
  background:rgba(4,8,12,.4); backdrop-filter:blur(2px) }
.gal .play::after{ content:""; position:absolute; width:0; height:0;
  border-left:12px solid rgba(214,230,234,.85); border-block:7px solid transparent; margin-left:4px }
/* コメントは写真の下に置く（2026-09-12 変更）。
   旧: position:absolute で写真の上に重ね、opacity:0 → hover でのみ表示。
   これだと (1) 写真の絵柄と文字が重なって読めない
   (2) hover の無いスマホでは出ないか、タップで拡大が開いてしまい読めない
   の2つが同時に起きていた。常時表示・写真の外・字間も日本語向けに詰める。 */
.gal figcaption{
  /* 画像は scale(1.02) で少し大きく描かれるので、その裾がキャプションに
     被らないよう前面に置く（hover で 1.02→1 に動くあいだも同じ） */
  position:relative; z-index:1;
  padding:.75em .9em .85em;
  font-size:.74rem; line-height:1.9; letter-spacing:.04em;
  color:var(--ice-l);
  background:rgba(6,14,22,.55);
  border-top:1px solid var(--line);
  word-break:break-word;
}

.day{ margin:clamp(34px,5vh,58px) 0 1.4em; display:flex; align-items:baseline; gap:1.2em }
.day h2{ font-family:var(--latin); font-size:1.1rem; font-weight:300; letter-spacing:.2em; color:#e6f1f4 }
.day span{ font-size:.64rem; letter-spacing:.26em; color:var(--ice-l); opacity:.45 }
.day::after{ content:""; flex:1; height:1px; background:var(--line) }

.lightbox{ position:fixed; inset:0; z-index:200; display:none; place-items:center;
  background:rgba(2,5,8,.94); backdrop-filter:blur(8px); padding:3vh 3vw; cursor:zoom-out }
.lightbox.on{ display:grid }
.lightbox img, .lightbox video{ max-width:100%; max-height:94vh; width:auto; margin:auto;
  box-shadow:0 0 90px rgba(0,0,0,.8) }
.lightbox .x{ position:absolute; top:2vh; right:3vw; font-size:.72rem; letter-spacing:.3em; color:var(--ice-l) }

/* ── 投稿 ───────────────────────────────── */
.drop{
  display:block; cursor:pointer; margin-top:clamp(24px,4vh,40px);
  border:1px dashed var(--line-s); padding:clamp(38px,7vw,72px) clamp(20px,4vw,40px);
  text-align:center; background:rgba(8,18,26,.35); transition:border-color .5s, background .5s;
}
.drop.hot{ border-color:rgba(198,142,108,.6); background:rgba(42,21,18,.4) }
.drop b{ display:block; font-weight:300; font-size:1rem; letter-spacing:.24em; color:#e6f1f4; margin-bottom:1.2em }
.drop .note{ margin-top:1.4em }
.queue{ list-style:none; margin-top:clamp(26px,4vh,44px) }
.queue li{ display:flex; align-items:center; gap:1.1em; padding:.9em 0; border-bottom:1px solid var(--line);
  font-size:.78rem; letter-spacing:.12em; color:#b3c7ce }
.queue .thumb{ width:56px; height:56px; flex:0 0 auto; object-fit:cover; background:var(--abyss); border:1px solid var(--line) }
.queue .st{ margin-left:auto; font-size:.66rem; letter-spacing:.22em; color:var(--ice-l); opacity:.6 }
.queue .st.ok{ color:#a8d0b4; opacity:1 }
.queue .st.ng{ color:#e0a08c; opacity:1 }
.bar{ height:1px; background:var(--line); position:relative; margin-top:.6em }
.bar i{ position:absolute; inset:0 auto 0 0; background:linear-gradient(90deg,var(--ice-l),#c68e6c); width:0; transition:width .3s }

/* ── footer ─────────────────────────────── */
.pfoot{ position:relative; z-index:3; margin-top:clamp(70px,11vh,130px);
  padding:clamp(44px,7vh,80px) var(--pad); border-top:1px solid var(--line); text-align:center }
.pfoot a{ font-size:.72rem; letter-spacing:.26em; color:var(--ice-l); opacity:.7 }
.pfoot a:hover{ color:#e8cbb8; opacity:1 }
.pfoot .copy{ font-family:var(--latin); font-size:.64rem; letter-spacing:.26em; color:var(--ice-l); opacity:.3; margin-top:2.2em }

:root.lite .grain{ animation:none; opacity:.045 }
:root.lite .pick img{ filter:grayscale(.5) brightness(.92); transform:none }
:root.lite .pick a:hover img{ filter:none; transform:none }
:root.lite .gal img, :root.lite .gal video{ transform:none }
:root.lite .rv{ filter:none; transform:translateY(14px) }
:root.lite .rv.in{ filter:none }
:root.lite .lightbox{ backdrop-filter:none; background:rgba(2,5,8,.97) }
:root.lite .btn{ backdrop-filter:none }

@media(prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.15s !important }
  html{ scroll-behavior:auto } .rv{ opacity:1; transform:none; filter:none }
}
