:root {
  --ink: #1d0c18;
  --cream: #f4d8b7;
  --paper: #e9b07e;
  --orange: #d96227;
  --rust: #9c3f26;
  --wine: #51212d;
  --acid: #e8b625;
  --theme-text: var(--ink);
  --theme-text-on-deep: var(--cream);
  --theme-paper: var(--cream);
  --theme-deep: var(--ink);
  --theme-mid: var(--wine);
  --theme-warm: var(--orange);
  --theme-accent: var(--acid);
  --theme-shadow: var(--rust);
  --theme-sunset: var(--orange);
  --theme-page-bg:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(180deg, #efc39d 0%, #d76c3b 44%, #3b1726 100%);
  --theme-hero-bg:
    linear-gradient(160deg, rgba(244,216,183,.55), transparent 45%),
    radial-gradient(circle at 50% 56%, #d67a4a 0 15%, #b54c2e 42%, #6f2631 75%, #24101c 100%);
  --theme-card: rgba(244,216,183,.58);
  --theme-card-dark: var(--wine);
  --theme-card-warm: var(--orange);
  --theme-card-wide: var(--acid);
  --theme-gallery-bg: linear-gradient(180deg, transparent, var(--wine) 18%);
  --theme-ring-rgb: 244,216,183;
  --theme-theme-color: #1d0c18;
  --day-page-bg:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(180deg, #efc39d 0%, #d76c3b 44%, #3b1726 100%);
  --night-page-bg:
    radial-gradient(circle at 14% 8%, rgba(103,155,218,.22), transparent 30%),
    radial-gradient(circle at 86% 42%, rgba(104,61,151,.24), transparent 38%),
    linear-gradient(180deg, #111936 0%, #17183c 42%, #090d21 100%);
  --day-hero-bg:
    linear-gradient(160deg, rgba(244,216,183,.55), transparent 45%),
    radial-gradient(circle at 50% 56%, #d67a4a 0 15%, #b54c2e 42%, #6f2631 75%, #24101c 100%);
  --night-hero-bg:
    radial-gradient(circle at 68% 42%, rgba(239,141,114,.16), transparent 28%),
    linear-gradient(155deg, rgba(131,213,230,.12), transparent 42%),
    radial-gradient(circle at 52% 50%, #38477e 0 12%, #27285f 38%, #16183d 70%, #090d21 100%);
  --theme-flow-duration: 1.8s;
  --max: 1280px;
}

html[data-color-theme="night"] {
  color-scheme: dark;
  --theme-text: #dceaff;
  --theme-text-on-deep: #edf5ff;
  --theme-paper: #b9d8ee;
  --theme-deep: #0b1026;
  --theme-mid: #27245f;
  --theme-warm: #4b3f8f;
  --theme-accent: #83d5e6;
  --theme-shadow: #33265f;
  --theme-sunset: #ef8d72;
  --theme-page-bg:
    radial-gradient(circle at 14% 8%, rgba(103,155,218,.22), transparent 30%),
    radial-gradient(circle at 86% 42%, rgba(104,61,151,.24), transparent 38%),
    linear-gradient(180deg, #111936 0%, #17183c 42%, #090d21 100%);
  --theme-hero-bg:
    linear-gradient(155deg, rgba(131,213,230,.12), transparent 42%),
    radial-gradient(circle at 52% 50%, #38477e 0 12%, #27285f 38%, #16183d 70%, #090d21 100%);
  --theme-card: rgba(38,50,101,.82);
  --theme-card-dark: #111936;
  --theme-card-warm: #4b3f8f;
  --theme-card-wide: #337d9f;
  --theme-gallery-bg: linear-gradient(180deg, transparent, #15183d 18%);
  --theme-ring-rgb: 131,213,230;
  --theme-theme-color: #0b1026;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--theme-text);
  position: relative;
  isolation: isolate;
  background: var(--day-page-bg);
  font-family: "Cormorant Garamond", Georgia, serif;
  overflow-x: hidden;
  transition: color .55s ease, background-color .55s ease;
}
body::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:0;
  background:var(--night-page-bg);
  transition:opacity var(--theme-flow-duration) cubic-bezier(.37,0,.2,1);
  will-change:opacity;
}
html[data-color-theme="night"] body::after,
html[data-theme-preview="night"] body::after {
  opacity:1;
}
html[data-theme-preview="day"] body::after {
  opacity:0;
}
body::before {
  content: "";
  position: fixed; inset: 0; pointer-events: none; z-index: 30;
  background: repeating-linear-gradient(90deg, transparent 0 23px, rgba(31,7,17,.025) 24px 25px);
  mix-blend-mode: multiply;
}
html[data-color-theme="night"] body::before {
  background: repeating-linear-gradient(90deg, transparent 0 23px, rgba(131,213,230,.025) 24px 25px);
  mix-blend-mode: screen;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.grain {
  position: fixed; inset: -40%; z-index: 40; pointer-events: none; opacity: .09;
  mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  animation: grain 2.2s steps(4) infinite;
}
@keyframes grain {
  0% { transform: translate(0, 0); }
  25% { transform: translate(1.2%, -.8%); }
  50% { transform: translate(-.8%, 1%); }
  75% { transform: translate(.9%, .6%); }
  100% { transform: translate(-1%, -.5%); }
}

.cursor-orbit {
  position: fixed; z-index: 35; width: 52px; height: 52px; border: 1px solid rgba(var(--theme-ring-rgb),.55); border-radius: 50%;
  pointer-events: none; transform: translate(-50%,-50%); mix-blend-mode: difference; transition: width .2s, height .2s, opacity .2s;
}

.site-header {
  --header-bg:29,12,24;
  --header-fg:244,216,183;
  --header-line:232,182,37;
  position:fixed;
  inset:0 0 auto;
  z-index:36;
  isolation:isolate;
  min-height:96px;
  display:grid;
  grid-template-columns:auto minmax(80px,1fr) auto;
  align-items:start;
  gap:clamp(14px,2.5vw,34px);
  padding:
    max(15px, env(safe-area-inset-top))
    max(18px, env(safe-area-inset-right))
    28px
    max(18px, env(safe-area-inset-left));
  color:rgb(var(--header-fg));
  background:none;
  pointer-events:none;
  transition:color .55s ease;
}
.site-header::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-color:rgb(var(--header-bg));
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.82) 52%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.82) 52%,transparent 100%);
  opacity:0;
  pointer-events:none;
  transition:background-color .55s ease,opacity .45s ease;
}
.site-header.is-active::before {
  opacity:1;
}
.site-header[data-theme="about"] {
  --header-bg:233,176,126;
  --header-fg:29,12,24;
  --header-line:156,63,38;
}
.site-header[data-theme="fursona"] {
  --header-bg:29,12,24;
  --header-fg:244,216,183;
  --header-line:232,182,37;
}
.site-header[data-theme="facts"] {
  --header-bg:217,98,39;
  --header-fg:29,12,24;
  --header-line:81,33,45;
}
.site-header[data-theme="gallery"] {
  --header-bg:81,33,45;
  --header-fg:244,216,183;
  --header-line:232,182,37;
}
.site-header[data-theme="contacts"] {
  --header-bg:29,12,24;
  --header-fg:244,216,183;
  --header-line:217,98,39;
}
html[data-color-theme="night"] .site-header {
  --header-bg:11,16,38;
  --header-fg:220,234,255;
  --header-line:131,213,230;
}
html[data-color-theme="night"] .site-header[data-theme="about"] {
  --header-bg:17,25,54;
  --header-fg:220,234,255;
  --header-line:239,141,114;
}
html[data-color-theme="night"] .site-header[data-theme="fursona"] {
  --header-bg:11,16,38;
  --header-fg:237,245,255;
  --header-line:131,213,230;
}
html[data-color-theme="night"] .site-header[data-theme="facts"] {
  --header-bg:39,36,95;
  --header-fg:237,245,255;
  --header-line:239,141,114;
}
html[data-color-theme="night"] .site-header[data-theme="gallery"] {
  --header-bg:21,24,61;
  --header-fg:220,234,255;
  --header-line:131,213,230;
}
html[data-color-theme="night"] .site-header[data-theme="contacts"] {
  --header-bg:11,16,38;
  --header-fg:237,245,255;
  --header-line:239,141,114;
}
.site-header__brand {
  pointer-events:auto;
  color:inherit;
  font:700 clamp(1.45rem,2vw,2rem)/.9 "UnifrakturCook",Georgia,serif;
  text-decoration:none;
  white-space:nowrap;
  opacity:0;
  transform:translateY(-12px) scale(.78);
  transform-origin:left top;
  pointer-events:none;
  transition:opacity .25s ease,transform .4s cubic-bezier(.2,.8,.2,1);
}
.site-header.is-active .site-header__brand {
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.header-signal {
  width:100%;
  height:32px;
  padding:0;
  border:0;
  color:inherit;
  background:none;
  cursor:crosshair;
  opacity:0;
  pointer-events:none;
  transition:opacity .45s ease;
}
.site-header.is-active .header-signal {
  opacity:1;
  pointer-events:auto;
}
.header-signal canvas {
  display:block;
  width:100%;
  height:100%;
}
.header-signal:focus-visible {
  outline:2px solid rgb(var(--header-line));
  outline-offset:4px;
}
.header-socials {
  display:flex;
  gap:8px;
  pointer-events:auto;
}
.header-socials a {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(var(--header-fg),.48);
  border-radius:50%;
  color:inherit;
  background:rgba(var(--header-bg),.28);
  transition:color .25s,background .25s,border-color .25s,transform .25s;
}
.header-socials svg {
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.hero {
  min-height: 100svh; position: relative; display: grid; place-items: center; overflow: hidden; isolation: isolate;
  padding: 40px 5vw 70px;
  background: var(--day-hero-bg);
  transition: background-color .65s ease, color .55s ease;
}
.hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  pointer-events:none;
  opacity:0;
  background:var(--night-hero-bg);
  transition:opacity var(--theme-flow-duration) cubic-bezier(.37,0,.2,1);
  will-change:opacity;
}
html[data-color-theme="night"] .hero::before,
html[data-theme-preview="night"] .hero::before {
  opacity:1;
}
html[data-theme-preview="day"] .hero::before {
  opacity:0;
}
.hero::after {
  content:"";
  position:absolute;
  inset:-24%;
  z-index:-2;
  pointer-events:none;
  background:repeating-radial-gradient(
    circle at 50% 56%,
    transparent 0 52px,
    rgba(var(--theme-ring-rgb),.11) 54px 56px
  );
  transform-origin:50% 56%;
  animation:signal-converge 22s linear infinite;
  will-change:transform,opacity;
}
@keyframes signal-converge {
  0% { opacity:0; transform:scale(.62); }
  14% { opacity:.72; }
  78% { opacity:.38; }
  100% { opacity:0; transform:scale(1.28); }
}
.sun-disc {
  position:absolute;
  z-index:0;
  border:0;
  padding:0;
  color:inherit;
  background:none;
  border-radius:50%;
  opacity:.9;
  will-change:transform;
}
.sun-disc--one {
  width:42vw;
  aspect-ratio:1;
  left:-12vw;
  top:10%;
  cursor:pointer;
  pointer-events:auto;
}
.sun-disc--two {
  width:28vw;
  aspect-ratio:1;
  right:0;
  bottom:4%;
  pointer-events:none;
}
.celestial-body {
  position:absolute;
  inset:0;
  display:block;
  transform-origin:center;
  will-change:transform,opacity;
}
.celestial-sun,
.celestial-moon,
.celestial-ring,
.celestial-stars {
  position:absolute;
  inset:0;
  display:block;
}
.celestial-sun {
  border-radius:50%;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.22), transparent 34%),
    var(--acid);
  box-shadow:0 0 80px rgba(232,182,37,.25);
  transition:opacity .25s ease,transform .45s cubic-bezier(.2,.8,.2,1);
}
.celestial-moon {
  inset:4%;
  border-radius:50%;
  opacity:0;
  transform:scale(.82) rotate(-8deg);
  background:
    radial-gradient(circle at 36% 30%, rgba(237,245,255,.98) 0 6%, transparent 7%),
    radial-gradient(circle at 62% 68%, rgba(78,101,164,.3) 0 10%, transparent 11%),
    radial-gradient(circle at 43% 46%, #d9e9fb 0 42%, #9fc9e7 70%, #6885be 100%);
  box-shadow:
    0 0 34px rgba(131,213,230,.5),
    0 0 110px rgba(103,142,218,.32);
  transition:opacity .3s ease,transform .55s cubic-bezier(.16,1,.3,1);
}
.celestial-moon::before,
.celestial-moon::after {
  content:"";
  position:absolute;
  z-index:-1;
  right:42%;
  top:18%;
  width:150%;
  height:64%;
  border-radius:50%;
  background:linear-gradient(90deg,transparent,rgba(131,213,230,.2) 66%,rgba(220,234,255,.5));
  filter:blur(20px);
  transform:skewX(-14deg) rotate(-7deg);
  opacity:.72;
}
.celestial-moon::after {
  top:34%;
  width:125%;
  height:38%;
  filter:blur(9px);
  opacity:.46;
}
.celestial-moon__crater {
  position:absolute;
  display:block;
  border-radius:50%;
  background:rgba(50,66,122,.19);
  box-shadow:inset 3px 3px 5px rgba(32,43,90,.18),1px 1px 0 rgba(255,255,255,.2);
}
.celestial-moon__crater--one { width:16%; aspect-ratio:1; left:24%; top:52%; }
.celestial-moon__crater--two { width:10%; aspect-ratio:1; right:26%; top:24%; }
.celestial-moon__crater--three { width:7%; aspect-ratio:1; right:18%; bottom:28%; }
.celestial-ring {
  border:4px solid var(--cream);
  border-radius:50%;
  transition:opacity .25s ease,transform .45s cubic-bezier(.2,.8,.2,1);
}
.celestial-stars {
  opacity:0;
  transform:scale(.72) rotate(-8deg);
  transition:opacity .3s ease,transform .55s cubic-bezier(.16,1,.3,1);
}
.celestial-star {
  position:absolute;
  display:block;
  width:clamp(7px,1vw,14px);
  aspect-ratio:1;
  border:0;
  padding:0;
  background:var(--theme-paper);
  clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);
  filter:drop-shadow(0 0 8px rgba(131,213,230,.72));
}
.celestial-star--one { left:8%; top:32%; transform:scale(.72); }
.celestial-star--two { left:24%; top:13%; transform:scale(1.2); }
.celestial-star--three { left:36%; top:58%; transform:scale(.62); }
.celestial-star--four { left:51%; top:30%; transform:scale(.9); }
.celestial-star--five { left:64%; top:70%; transform:scale(.7); }
.celestial-star--six { left:76%; top:18%; transform:scale(.54); }
.celestial-star--seven { left:88%; top:48%; transform:scale(1.05); }
.celestial-star--eight { left:18%; top:78%; transform:scale(.48); }
.celestial-star--bright {
  right:3%;
  top:6%;
  z-index:2;
  width:48px;
  height:48px;
  min-width:44px;
  min-height:44px;
  clip-path:none;
  border-radius:50%;
  background:transparent;
  opacity:0;
  pointer-events:none;
  cursor:pointer;
  transition:opacity .3s ease,transform .35s ease;
}
.celestial-star--bright::before {
  content:"";
  position:absolute;
  inset:9px;
  background:#f7fbff;
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
  filter:
    drop-shadow(0 0 6px #fff)
    drop-shadow(0 0 16px rgba(131,213,230,.95))
    drop-shadow(0 0 34px rgba(239,141,114,.56));
}
.celestial-star--bright:hover { transform:scale(1.12) rotate(5deg); }
.celestial-star--bright:active { transform:scale(.96); }
.celestial-star--bright:focus-visible,
.theme-toggle:focus-visible {
  outline:3px solid var(--theme-accent);
  outline-offset:7px;
}
.theme-toggle:hover .celestial-sun { transform:scale(1.025); }
.theme-toggle:active .celestial-body--primary { scale:.985; }
.theme-toggle:disabled {
  cursor:wait;
}

html[data-color-theme="night"] .celestial-sun,
html[data-color-theme="night"] .celestial-ring {
  opacity:0;
  transform:scale(.78);
}
html[data-color-theme="night"] .celestial-moon,
html[data-color-theme="night"] .celestial-stars {
  opacity:1;
  transform:none;
}
html[data-color-theme="night"] .celestial-star--bright {
  opacity:1;
  pointer-events:auto;
}

html.star-cursor-active,
html.star-cursor-active * {
  cursor:none !important;
}
html.star-cursor-active .cursor-orbit {
  opacity:0;
}
.star-cursor,
.star-cursor-trail,
.shooting-star-trail {
  position:fixed;
  z-index:70;
  display:block;
  pointer-events:none;
}
.star-cursor {
  left:0;
  top:0;
  width:28px;
  height:28px;
  margin:-14px 0 0 -14px;
  will-change:transform;
  filter:
    drop-shadow(0 0 4px #fff)
    drop-shadow(0 0 12px rgba(131,213,230,.95))
    drop-shadow(0 0 24px rgba(239,141,114,.52));
}
.star-cursor::before {
  content:"";
  position:absolute;
  inset:2px;
  background:#f7fbff;
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
}
.star-cursor-trail {
  width:9px;
  height:9px;
  margin:-4px 0 0 -4px;
  background:#dceaff;
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
  filter:drop-shadow(0 0 7px rgba(131,213,230,.9));
  animation:star-cursor-trail-fade .72s ease-out forwards;
}
.shooting-star-trail {
  width:clamp(96px,13vw,164px);
  height:3px;
  margin-left:calc(clamp(96px,13vw,164px) * -1);
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(131,213,230,.18) 32%,#dceaff 86%,#fff);
  filter:
    drop-shadow(0 0 5px rgba(131,213,230,.9))
    drop-shadow(0 0 14px rgba(239,141,114,.4));
  transform-origin:right center;
  animation:shooting-star-fall .9s cubic-bezier(.2,.65,.3,1) forwards;
}
.shooting-star-trail::after {
  content:"";
  position:absolute;
  right:-7px;
  top:50%;
  width:16px;
  aspect-ratio:1;
  background:#fff;
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
  transform:translateY(-50%);
  filter:drop-shadow(0 0 7px #fff);
}
@keyframes star-cursor-trail-fade {
  from { opacity:.92; transform:translate(-50%,-50%) scale(1) rotate(0); }
  to {
    opacity:0;
    transform:translate(
      calc(-50% + var(--trail-x)),
      calc(-50% + var(--trail-y))
    ) scale(.12) rotate(55deg);
  }
}
@keyframes shooting-star-fall {
  0% { opacity:0; transform:translate3d(-72px,-72px,0) rotate(-45deg) scaleX(.18); }
  18% { opacity:1; }
  72% { opacity:.88; }
  100% { opacity:0; transform:translate3d(120px,120px,0) rotate(-45deg) scaleX(1); }
}

.hero.is-sky-leaving .celestial-body--primary {
  animation:celestial-exit-left .52s cubic-bezier(.7,0,.84,0) both;
}
.hero.is-sky-leaving .celestial-body--secondary,
.hero.is-sky-leaving .celestial-star--bright {
  animation:celestial-exit-right .52s cubic-bezier(.7,0,.84,0) both;
}
.hero.is-sky-entering .celestial-body--primary {
  animation:celestial-enter-left .68s cubic-bezier(.16,1,.3,1) both;
}
.hero.is-sky-entering .celestial-body--secondary,
.hero.is-sky-entering .celestial-star--bright {
  animation:celestial-enter-right .68s cubic-bezier(.16,1,.3,1) both;
}
@keyframes celestial-exit-left {
  to { opacity:0; transform:translate3d(-115vw,-34vh,0) rotate(-22deg) scale(.72); }
}
@keyframes celestial-exit-right {
  to { opacity:0; transform:translate3d(115vw,30vh,0) rotate(20deg) scale(.72); }
}
@keyframes celestial-enter-left {
  from { opacity:0; transform:translate3d(-115vw,-34vh,0) rotate(-22deg) scale(.72); }
}
@keyframes celestial-enter-right {
  from { opacity:0; transform:translate3d(115vw,30vh,0) rotate(20deg) scale(.72); }
}

.hero-kicker { position:absolute; top:104px; left:5vw; font:600 .8rem/1 "Oswald", sans-serif; letter-spacing:.22em; color:var(--theme-text-on-deep); }
/*
  Скругление на самом img — иначе scale/padding уводят плоский низ
  шеи из зоны border-radius обёртки. Float на wrap, overflow visible,
  чтобы уши при наклоне не резались.
*/
.hero-portrait-wrap {
  width: min(730px, 72vw);
  padding: 4% 8% 0;
  align-self: end;
  overflow: visible;
  filter: drop-shadow(0 28px 24px rgba(29,12,24,.42));
  /* На десктопе поднимаем шею к имени; мобильные keyframes ниже сохраняют прежнее положение */
  transform: translateY(-8%);
  transform-origin: 50% 70%;
  animation: float 7s ease-in-out infinite;
  will-change: transform;
}
.hero-portrait {
  width: 100%;
  display: block;
  /* Нативная дуга без ломаной clip-path — без шипов на боках */
  border-radius: 0 0 50% 50% / 0 0 48% 48%;
  transform-origin: 58% 72%;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-drag: none;
}
.hero-portrait.is-buh-jumping {
  animation: hero-buh-jump .58s cubic-bezier(.2,.9,.25,1);
}
@keyframes hero-buh-jump {
  0%, 100% { transform: translateY(0) rotate(0); }
  36% { transform: translateY(-18px) rotate(-1.2deg) scale(1.018); }
  64% { transform: translateY(3px) rotate(.45deg) scale(.994); }
}
/*
  Реплика закреплена возле пасти. Крупная рамка, тёплый жёлтый фон
  и полутоновые точки имитируют печать американских комиксов 1970-х.
*/
.hero-buh {
  --bubble-bg: var(--acid);
  --bubble-ink: var(--ink);
  --bubble-dot: rgba(156,63,38,.32);
  --bubble-shadow: rgba(81,33,45,.55);
  --bubble-highlight: var(--cream);
  position: absolute;
  left: var(--bubble-left, 76%);
  top: 41%;
  z-index: 4;
  width: clamp(92px, 13vw, 158px);
  aspect-ratio: 1.28;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: .4em;
  color: var(--bubble-ink);
  background-color: var(--bubble-bg);
  background-image: radial-gradient(var(--bubble-dot) 1.2px, transparent 1.5px);
  background-size: 7px 7px;
  clip-path: polygon(50% 0,61% 14%,76% 5%,80% 22%,98% 20%,89% 38%,100% 50%,86% 59%,94% 78%,75% 76%,68% 96%,53% 83%,38% 100%,31% 81%,10% 88%,16% 66%,0 56%,14% 43%,3% 25%,24% 24%,27% 6%,42% 17%);
  font: 900 clamp(1.35rem, 3vw, 2.5rem) / 1 "Oswald", sans-serif;
  font-style: italic;
  letter-spacing: -.04em;
  text-align: center;
  text-shadow: 3px 3px 0 var(--bubble-highlight);
  filter:
    drop-shadow(3px 0 0 var(--bubble-ink))
    drop-shadow(-3px 0 0 var(--bubble-ink))
    drop-shadow(0 3px 0 var(--bubble-ink))
    drop-shadow(0 -3px 0 var(--bubble-ink))
    drop-shadow(7px 8px 0 var(--bubble-shadow));
  pointer-events: none;
  opacity: 0;
  transform: translate(12%,12%) scale(.2) rotate(12deg);
  transform-origin: 0 68%;
}
.hero-buh__text,
.hero-buh__aside {
  display: block;
}
.hero-buh__aside {
  display: none;
  max-width: 82%;
  margin-top: .22em;
  font: italic 600 clamp(.55rem, .9vw, .75rem) / 1.05 "Cormorant Garamond", serif;
  letter-spacing: 0;
  text-shadow: none;
}
.hero-buh.has-aside {
  padding: .75em .4em .65em;
}
.hero-buh.has-aside .hero-buh__aside {
  display: block;
}

/* Три независимо выбираемые формы: вспышка, облако и угловатая реплика. */
.hero-buh.shape-burst {
  clip-path: polygon(50% 0,61% 14%,76% 5%,80% 22%,98% 20%,89% 38%,100% 50%,86% 59%,94% 78%,75% 76%,68% 96%,53% 83%,38% 100%,31% 81%,10% 88%,16% 66%,0 56%,14% 43%,3% 25%,24% 24%,27% 6%,42% 17%);
}
.hero-buh.shape-cloud {
  aspect-ratio: 1.38;
  clip-path: polygon(5% 43%,13% 28%,27% 25%,34% 10%,51% 17%,65% 7%,75% 22%,93% 25%,90% 43%,100% 55%,86% 67%,83% 84%,63% 80%,50% 96%,37% 82%,17% 88%,18% 70%,2% 61%);
}
.hero-buh.shape-panel {
  aspect-ratio: 1.48;
  clip-path: polygon(5% 8%,96% 0,91% 72%,68% 78%,56% 100%,48% 79%,0 87%);
}

/* Размер реплики выбирается отдельно от формы, цвета и текста. */
.hero-buh.size-small {
  --bubble-left: 74%;
  width: clamp(78px, 10vw, 122px);
  font-size: clamp(1.05rem, 2.3vw, 1.8rem);
}
.hero-buh.size-small .hero-buh__aside {
  font-size: clamp(.45rem, .68vw, .6rem);
}
.hero-buh.size-medium {
  --bubble-left: 76%;
  width: clamp(92px, 13vw, 158px);
}
.hero-buh.size-large {
  --bubble-left: 78%;
  width: clamp(112px, 15.5vw, 188px);
  font-size: clamp(1.55rem, 3.4vw, 2.9rem);
}
.hero-buh.size-large .hero-buh__aside {
  font-size: clamp(.62rem, 1vw, .82rem);
}

/* Цвета также рандомизируются отдельно от формы и текста. */
.hero-buh.palette-yellow {
  --bubble-bg: var(--acid);
  --bubble-ink: var(--ink);
  --bubble-dot: rgba(156,63,38,.32);
  --bubble-shadow: rgba(81,33,45,.55);
  --bubble-highlight: var(--cream);
}
.hero-buh.palette-cream {
  --bubble-bg: var(--cream);
  --bubble-ink: var(--wine);
  --bubble-dot: rgba(81,33,45,.22);
  --bubble-shadow: rgba(217,98,39,.62);
  --bubble-highlight: var(--acid);
}
.hero-buh.palette-orange {
  --bubble-bg: var(--orange);
  --bubble-ink: var(--cream);
  --bubble-dot: rgba(29,12,24,.3);
  --bubble-shadow: rgba(29,12,24,.64);
  --bubble-highlight: var(--wine);
}
html[data-color-theme="night"] .hero-buh.palette-yellow {
  --bubble-bg:#83d5e6;
  --bubble-ink:#0b1026;
  --bubble-dot:rgba(39,36,95,.25);
  --bubble-shadow:rgba(239,141,114,.55);
  --bubble-highlight:#dceaff;
}
html[data-color-theme="night"] .hero-buh.palette-cream {
  --bubble-bg:#b9d8ee;
  --bubble-ink:#27245f;
  --bubble-dot:rgba(39,36,95,.2);
  --bubble-shadow:rgba(75,63,143,.68);
  --bubble-highlight:#ef8d72;
}
html[data-color-theme="night"] .hero-buh.palette-orange {
  --bubble-bg:#ef8d72;
  --bubble-ink:#0b1026;
  --bubble-dot:rgba(39,36,95,.26);
  --bubble-shadow:rgba(131,213,230,.52);
  --bubble-highlight:#dceaff;
}
.hero-buh.is-popping {
  animation: hero-buh-pop 1.35s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes hero-buh-pop {
  0% { opacity:0; transform:translate(12%,12%) scale(.2) rotate(12deg); }
  18% { opacity:1; transform:translate(12%,12%) scale(1.12) rotate(-5deg); }
  30%, 68% { opacity:1; transform:translate(12%,12%) scale(1) rotate(-2deg); }
  100% { opacity:0; transform:translate(20%,5%) scale(.88) rotate(3deg); }
}
@keyframes float {
  0%, 100% { transform: translateY(-8%) rotate(-.2deg); }
  50% { transform: translateY(calc(-8% - 10px)) rotate(.2deg); }
}
.hero-title { position:absolute; inset:auto 0 28% 0; margin:0; text-align:center; font-family:"UnifrakturCook", Georgia, serif; font-size:clamp(5rem,16vw,15rem); line-height:.72; letter-spacing:-.055em; pointer-events:none; }
.hero-title span { position:absolute; inset:0; display:block; }
.hero-title__ghost { color:transparent; -webkit-text-stroke:9px rgba(var(--theme-ring-rgb),.78); transform:translate(10px,9px) rotate(-1deg); }
.hero-title__main { color:var(--theme-deep); text-shadow:0 2px 0 var(--theme-paper); }
html[data-wolf-name="pivolk"] .hero-title {
  font-family:"Ruslan Display","Cormorant Garamond",Georgia,serif;
  font-size:clamp(5rem,14vw,13rem);
  line-height:.76;
  letter-spacing:.015em;
}
html[data-wolf-name="pivolk"] .site-header__brand {
  font-family:"Ruslan Display","Cormorant Garamond",Georgia,serif;
  letter-spacing:.02em;
}
.hero-title.is-name-switching span,
.site-header.is-active .site-header__brand.is-name-switching {
  animation:wolf-name-arrive .58s cubic-bezier(.16,1,.3,1) both;
}
@keyframes wolf-name-arrive {
  from { opacity:0; filter:blur(7px); transform:translateY(16px) scale(.9); }
  to { opacity:1; filter:blur(0); }
}
.hero-meta { position:absolute; bottom:38px; display:flex; gap:clamp(18px,5vw,76px); font:600 clamp(.92rem,1.4vw,1.2rem)/1.1 "Oswald", sans-serif; text-transform:uppercase; letter-spacing:.08em; color:var(--theme-text-on-deep); text-align:center; }
.hero-meta > :is(span,button)::before { content:"✦"; margin-right:.65em; color:var(--theme-accent); }
.hero-location-toggle {
  min-height:44px;
  appearance:none;
  padding:0;
  border:0;
  color:color-mix(in srgb,var(--theme-text-on-deep) 88%,var(--acid));
  background:transparent;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  cursor:pointer;
  transition:color .2s ease-out,background-color .2s ease-out,transform .2s ease-out;
}
.hero-location-toggle:hover {
  color:color-mix(in srgb,var(--theme-text-on-deep) 72%,var(--acid));
}
.hero-location-toggle:active { transform:translateY(1px) scale(.97); }
.hero-location-toggle:focus-visible {
  outline:2px solid var(--theme-accent);
  outline-offset:4px;
}
.hero-location-toggle:disabled {
  opacity:.5;
  cursor:not-allowed;
}
.scroll-cue { position:absolute; right:4vw; bottom:38px; display:none; align-items:center; gap:12px; text-decoration:none; color:var(--theme-text-on-deep); font:600 .65rem/1 "Oswald",sans-serif; letter-spacing:.18em; }
.scroll-cue i { display:block; width:52px; height:1px; background:currentColor; animation:pulse 1.5s infinite; }
@keyframes pulse { 50%{transform:scaleX(.35);transform-origin:right} }

.section { max-width:var(--max); margin:0 auto; padding:clamp(90px,13vw,190px) 5vw; position:relative; }
.section-label { font:600 .72rem/1 "Oswald",sans-serif; letter-spacing:.22em; text-transform:uppercase; border-top:2px solid currentColor; padding-top:12px; margin-bottom:68px; }
.about { color:var(--theme-text); }
.about-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:8vw; align-items:start; }
.display-heading { margin:0; font:400 clamp(4rem,9vw,9rem)/.78 "Cormorant Garamond",serif; letter-spacing:-.055em; }
.about-copy { font-size:clamp(1.35rem,2.3vw,2.1rem); line-height:1.17; }
.about-copy p { margin:0 0 1.15em; }
.hand-note { font-style:italic; transform:rotate(-2deg); color:var(--theme-mid); }
html[data-color-theme="night"] .hand-note { color:var(--theme-sunset); }

.fursona { max-width:none; background:var(--theme-deep); color:var(--theme-text-on-deep); padding-left:max(5vw, calc((100vw - var(--max))/2 + 5vw)); padding-right:max(5vw, calc((100vw - var(--max))/2 + 5vw)); overflow:hidden; transition:background-color .55s ease,color .55s ease; }
.fursona::before { content:"BEERWOLF"; position:absolute; top:3%; right:-2%; font:600 18vw/.8 "Oswald",sans-serif; color:rgba(var(--theme-ring-rgb),.035); transform:rotate(90deg) translateX(35%); }
.fursona-stage { display:grid; grid-template-columns:.7fr 1.3fr; gap:6vw; align-items:center; }
.fursona-copy h2 { font-size:clamp(3rem,6vw,6.2rem); line-height:.88; margin:.25em 0 .45em; }
.fursona-copy p { font-size:clamp(1.15rem,1.8vw,1.6rem); line-height:1.35; }
.eyebrow { font:600 .75rem/1 "Oswald",sans-serif !important; letter-spacing:.2em; color:var(--theme-accent); }
.fursona-art { margin:0; transform:rotate(1.5deg); box-shadow:18px 18px 0 var(--theme-shadow); }
.fursona-art img {
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  background:var(--theme-paper);
}
.fursona-art figcaption { background:var(--theme-paper); color:var(--theme-deep); font:600 .7rem/1 "Oswald",sans-serif; letter-spacing:.16em; padding:13px 16px; }

.facts { color:var(--theme-text); }
.fact-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.fact-card {
  --card-base: var(--theme-card);
  --flow-a: rgba(217,98,39,.2);
  --flow-b: rgba(232,182,37,.16);
  --flow-line: rgba(81,33,45,.07);
  min-height:340px;
  padding:34px;
  border:3px solid currentColor;
  background:var(--card-base);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .35s ease, box-shadow .35s ease;
}
/*
  Медленный многослойный узор продолжает круговую графику страницы.
  Низкая прозрачность сохраняет контраст и не спорит с текстом.
*/
.fact-card::before {
  content:"";
  position:absolute;
  inset:-42%;
  z-index:-1;
  pointer-events:none;
  opacity:.7;
  background:
    repeating-radial-gradient(circle at 28% 34%, transparent 0 34px, var(--flow-line) 36px 38px, transparent 40px 72px),
    radial-gradient(ellipse at 22% 30%, var(--flow-a) 0, transparent 42%),
    radial-gradient(ellipse at 78% 72%, var(--flow-b) 0, transparent 44%);
  transform:rotate(-8deg) scale(1.08);
  animation:fact-flow 16s ease-in-out infinite alternate;
}
@keyframes fact-flow {
  0% { transform:translate3d(-2%, -1%, 0) rotate(-8deg) scale(1.08); }
  100% { transform:translate3d(3%, 2%, 0) rotate(5deg) scale(1.14); }
}
.fact-card h3 { margin:42px 0 24px; font-size:clamp(2.7rem,5vw,5rem); line-height:.8; }
.fact-card li,.fact-card p { font-size:clamp(1.1rem,1.7vw,1.45rem); }
.fact-no { position:absolute; top:24px; right:26px; font:600 1rem/1 "Oswald",sans-serif; border:2px solid currentColor; border-radius:50%; width:42px; height:42px; display:grid; place-items:center; }
.fact-card--dark {
  --card-base:var(--theme-card-dark);
  --flow-a:rgba(217,98,39,.3);
  --flow-b:rgba(232,182,37,.12);
  --flow-line:rgba(244,216,183,.07);
  color:var(--theme-text-on-deep);
}
.fact-card--warm {
  --card-base:var(--theme-card-warm);
  --flow-a:rgba(244,216,183,.24);
  --flow-b:rgba(156,63,38,.26);
  --flow-line:rgba(81,33,45,.08);
}
.fact-card--wide {
  --card-base:var(--theme-card-wide);
  --flow-a:rgba(217,98,39,.26);
  --flow-b:rgba(244,216,183,.3);
  --flow-line:rgba(81,33,45,.08);
  grid-column:1/-1;
  min-height:240px;
}
.ticker { display:flex; gap:14px; flex-wrap:wrap; }
.ticker span { border:2px solid currentColor; border-radius:999px; padding:11px 18px; font:600 clamp(.8rem,1.4vw,1.1rem)/1 "Oswald",sans-serif; }
.fact-card--lastfm {
  --card-base:var(--theme-deep);
  --flow-a:rgba(217,98,39,.32);
  --flow-b:rgba(232,182,37,.14);
  --flow-line:rgba(244,216,183,.08);
  color:var(--theme-text-on-deep);
  min-height:0;
  align-self:start;
}
html[data-color-theme="night"] .fact-card {
  --flow-a:rgba(131,213,230,.16);
  --flow-b:rgba(104,133,190,.2);
  --flow-line:rgba(220,234,255,.065);
}
html[data-color-theme="night"] .fact-card--dark {
  --flow-a:rgba(75,63,143,.32);
  --flow-b:rgba(239,141,114,.12);
}
html[data-color-theme="night"] .fact-card--warm {
  --flow-a:rgba(131,213,230,.2);
  --flow-b:rgba(239,141,114,.17);
}
html[data-color-theme="night"] .fact-card--wide {
  --flow-a:rgba(220,234,255,.2);
  --flow-b:rgba(75,63,143,.28);
}
.lastfm-status {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--theme-accent);
  font:600 .68rem/1 "Oswald",sans-serif;
  letter-spacing:.16em;
}
.lastfm-status i {
  width:9px;
  height:9px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 0 rgba(var(--theme-ring-rgb),.45);
  animation:lastfm-pulse 2s ease-out infinite;
}
.lastfm-status.is-live i { color:#79d58b; }
@keyframes lastfm-pulse {
  70% { box-shadow:0 0 0 12px rgba(var(--theme-ring-rgb),0); }
  100% { box-shadow:0 0 0 0 rgba(var(--theme-ring-rgb),0); }
}
.lastfm-layout {
  --lastfm-media-width:clamp(150px,15vw,180px);
  --lastfm-title-height:100px;
  display:grid;
  grid-template-columns:var(--lastfm-media-width) minmax(0,1fr);
  grid-template-rows:var(--lastfm-title-height) auto;
  grid-template-areas:
    "title ."
    "cover copy";
  column-gap:20px;
  row-gap:12px;
  align-items:start;
  margin-top:18px;
}
.lastfm-title {
  grid-area:title;
  width:100%;
  height:var(--lastfm-title-height);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.lastfm-cover {
  grid-area:cover;
  aspect-ratio:1;
  position:relative;
  overflow:hidden;
  border:2px solid var(--theme-paper);
  background:var(--theme-mid);
  box-shadow:12px 12px 0 var(--theme-shadow);
}
.lastfm-cover img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.lastfm-cover__placeholder {
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle, var(--theme-accent) 0 13%, transparent 14% 28%, var(--theme-sunset) 29% 43%, transparent 44%),
    var(--theme-mid);
  animation:lastfm-search 8s linear infinite;
}
@keyframes lastfm-search { to { transform:rotate(360deg) scale(1.08); } }
.lastfm-eyebrow {
  flex:0 0 auto;
  margin:0 0 9px !important;
  color:var(--theme-accent);
  font:600 .72rem/1 "Oswald",sans-serif !important;
  letter-spacing:.18em;
}
.lastfm-title h3 {
  margin:0;
  font-size:clamp(2rem,4.4vw,4.5rem);
  line-height:.82;
  overflow-wrap:anywhere;
  animation:lastfm-title-glint 10s ease-in-out infinite;
}
.lastfm-title h3::after {
  content:" ↗";
  display:inline;
  color:var(--theme-accent);
  font:600 .28em/1 "Oswald",sans-serif;
  vertical-align:top;
}
.lastfm-title-link {
  display:block;
  color:inherit;
  text-decoration:none;
}
.lastfm-title-link:focus-visible {
  outline:2px solid var(--theme-accent);
  outline-offset:5px;
}
@keyframes lastfm-title-glint {
  0%,90%,100% { text-shadow:0 0 0 rgba(244,216,183,0); }
  94%,98% { text-shadow:0 0 7px rgba(244,216,183,.16),0 0 15px rgba(232,182,37,.08); }
  96% { text-shadow:0 0 11px rgba(244,216,183,.32),0 0 22px rgba(232,182,37,.12); }
}
.lastfm-copy {
  grid-area:copy;
  min-width:0;
  align-self:start;
}
.lastfm-artist {
  margin:0 0 6px !important;
  color:var(--theme-text-on-deep);
  font-size:clamp(1.1rem,1.8vw,1.5rem) !important;
  font-weight:700;
}
.lastfm-meta {
  margin:0 !important;
  color:rgba(var(--theme-ring-rgb),.62);
  font:600 .72rem/1.3 "Oswald",sans-serif !important;
  letter-spacing:.06em;
}
.lastfm-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.lastfm-actions a {
  min-height:38px;
  display:inline-flex;
  align-items:center;
  border:2px solid currentColor;
  border-radius:999px;
  padding:9px 11px;
  color:var(--theme-text-on-deep);
  font:600 .58rem/1 "Oswald",sans-serif;
  letter-spacing:.08em;
  text-decoration:none;
  transition:color .2s,background .2s,transform .2s;
}
.lastfm-actions a:hover,
.lastfm-actions a:focus-visible {
  color:var(--theme-deep);
  background:var(--theme-paper);
  transform:translateY(-2px);
  outline:none;
}

.gallery { max-width:none; padding-left:5vw; padding-right:5vw; color:var(--theme-text-on-deep); background:var(--theme-gallery-bg); transition:background-color .55s ease,color .55s ease; }
.poster-grid { max-width:var(--max); margin:auto; display:grid; grid-template-columns:1.35fr .75fr .8fr; gap:20px; align-items:stretch; }
.poster { min-height:500px; position:relative; overflow:hidden; border:2px solid var(--theme-paper); background:var(--theme-deep); }
.poster img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.8,.2,1), filter .8s; }
.poster span { position:absolute; left:18px; bottom:18px; background:var(--theme-paper); color:var(--theme-deep); padding:9px 12px; font:600 .7rem/1 "Oswald",sans-serif; letter-spacing:.14em; }
.poster--one img { object-position:center; }
.poster--two img { object-position:center top; }
.poster--three { display:grid; place-items:center; background:repeating-radial-gradient(circle at 30% 20%,var(--theme-sunset) 0 35px,var(--theme-mid) 36px 70px,var(--theme-deep) 71px 108px); }
.poster-quote { font-size:clamp(2.8rem,5vw,5rem); line-height:.82; font-style:italic; text-align:center; text-shadow:3px 3px 0 var(--theme-deep); transform:rotate(-5deg); }
.gallery-more {
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transform:translateY(-18px);
  transition:
    grid-template-rows .65s cubic-bezier(.16,1,.3,1),
    opacity .35s ease,
    transform .55s cubic-bezier(.16,1,.3,1);
}
.gallery-more.is-open {
  grid-template-rows:1fr;
  opacity:1;
  transform:none;
}
.gallery-more__inner {
  min-height:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.poster--extra {
  width:100%;
  min-height:0;
  aspect-ratio:1;
  margin:28px 0 0;
  box-shadow:16px 16px 0 color-mix(in srgb,var(--theme-sunset) 48%,transparent);
}
.poster--extra:only-child {
  grid-column:1/-1;
  width:min(100%,760px);
  justify-self:center;
}
.poster--extra img { object-position:center; }
.gallery-toggle {
  margin:clamp(30px,5vw,64px) auto 0;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  border:0;
  color:var(--theme-text-on-deep);
  background:transparent;
  font:600 .68rem/1 "Oswald",sans-serif;
  letter-spacing:.2em;
  cursor:pointer;
}
.gallery-toggle i {
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:2px solid currentColor;
  border-radius:50%;
  font:normal 1.5rem/1 sans-serif;
  transition:transform .45s cubic-bezier(.16,1,.3,1), color .25s, background .25s;
}
.gallery-toggle[aria-expanded="true"] i { transform:rotate(180deg); }
.gallery-toggle:hover i,
.gallery-toggle:focus-visible i {
  color:var(--theme-deep);
  background:var(--theme-paper);
  transform:translateY(4px);
}
.gallery-toggle[aria-expanded="true"]:hover i,
.gallery-toggle[aria-expanded="true"]:focus-visible i {
  transform:rotate(180deg) translateY(-4px);
}
.gallery-toggle:focus-visible { outline:2px solid var(--theme-accent); outline-offset:8px; }

.is-zoomable {
  cursor:zoom-in;
  outline-offset:5px;
}
.is-zoomable:focus-visible {
  outline:3px solid var(--theme-accent);
}
body.lightbox-open { overflow:hidden; }

/*
  Полноэкранный просмотр продолжает мотивы сигнала: концентрические
  окружности, зерно, винно-оранжевая палитра и слегка смещённая рамка.
*/
.image-lightbox {
  --origin-x:50%;
  --origin-y:50%;
  position:fixed;
  inset:0;
  width:100vw;
  max-width:none;
  height:100dvh;
  max-height:none;
  margin:0;
  padding:clamp(16px,3vw,42px);
  border:0;
  color:var(--theme-text-on-deep);
  background:
    repeating-radial-gradient(circle at var(--origin-x) var(--origin-y), transparent 0 64px, rgba(var(--theme-ring-rgb),.07) 66px 68px),
    radial-gradient(circle at 18% 14%, rgba(var(--theme-ring-rgb),.22), transparent 30%),
    radial-gradient(circle at 82% 84%, color-mix(in srgb,var(--theme-sunset) 26%,transparent), transparent 38%),
    color-mix(in srgb,var(--theme-deep) 96%,transparent);
  opacity:0;
  overflow:hidden;
  transition:opacity .3s ease;
}
.image-lightbox[open] { display:grid; place-items:center; }
.image-lightbox::backdrop {
  background:color-mix(in srgb,var(--theme-deep) 82%,transparent);
  backdrop-filter:blur(8px);
}
.image-lightbox.is-open { opacity:1; }
.image-lightbox__panel {
  width:100%;
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:18px;
  position:relative;
  overflow:hidden;
  opacity:0;
  transform:scale(.72) rotate(-2deg);
  transform-origin:var(--origin-x) var(--origin-y);
  transition:
    opacity .28s ease,
    transform .5s cubic-bezier(.16,1,.3,1);
}
.image-lightbox.is-open .image-lightbox__panel {
  opacity:1;
  transform:none;
}
.image-lightbox.is-closing .image-lightbox__panel {
  opacity:0;
  transform:scale(.86) rotate(1deg);
  transition-duration:.25s;
}
.image-lightbox__stage {
  --stage-top:clamp(48px,6vw,76px);
  --stage-side:clamp(2px,3vw,36px);
  --stage-bottom:8px;
  min-height:0;
  min-width:0;
  display:grid;
  place-items:center;
  padding:0;
  position:relative;
  overflow:hidden;
}
.image-lightbox__stage::before {
  content:"";
  position:absolute;
  width:min(52vw,620px);
  aspect-ratio:1;
  border:clamp(26px,5vw,76px) solid color-mix(in srgb,var(--theme-sunset) 13%,transparent);
  border-radius:50%;
  animation:lightbox-orbit 12s ease-in-out infinite alternate;
}
.image-lightbox__image {
  position:absolute;
  top:var(--stage-top);
  left:var(--stage-side);
  width:calc(100% - var(--stage-side) - var(--stage-side));
  height:calc(100% - var(--stage-top) - var(--stage-bottom));
  max-width:none;
  max-height:none;
  object-fit:contain;
  z-index:1;
  border:0;
  filter:
    drop-shadow(10px 10px 0 color-mix(in srgb,var(--theme-sunset) 65%,transparent))
    drop-shadow(0 24px 34px rgba(0,0,0,.4));
  animation:lightbox-breathe 7s ease-in-out infinite;
}
.image-lightbox__close,
.image-lightbox__download {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid currentColor;
  border-radius:999px;
  padding:11px 17px;
  color:var(--theme-text-on-deep);
  background:color-mix(in srgb,var(--theme-deep) 78%,transparent);
  font:600 .72rem/1 "Oswald",sans-serif;
  letter-spacing:.12em;
  text-decoration:none;
  cursor:pointer;
  transition:color .2s, background .2s, transform .2s;
}
.image-lightbox__close {
  position:absolute;
  top:0;
  right:0;
  z-index:3;
}
.image-lightbox__close:hover,
.image-lightbox__download:hover,
.image-lightbox__close:focus-visible,
.image-lightbox__download:focus-visible {
  color:var(--theme-deep);
  background:var(--theme-paper);
  transform:translateY(-2px);
  outline:none;
}
.image-lightbox__footer {
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:14px;
  border-top:1px solid rgba(var(--theme-ring-rgb),.32);
  position:relative;
  z-index:2;
}
.image-lightbox__caption {
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:600 clamp(.7rem,1vw,.9rem)/1.2 "Oswald",sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
@keyframes lightbox-orbit {
  to { transform:translate(8%,-5%) rotate(9deg) scale(1.08); }
}
@keyframes lightbox-breathe {
  50% { transform:translateY(-4px); }
}

.footer { min-height:82svh; padding:clamp(90px,12vw,160px) 5vw 36px; color:var(--theme-text-on-deep); background:var(--theme-deep); display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; transition:background-color .55s ease,color .55s ease; }
.footer::before { content:""; position:absolute; width:60vw; aspect-ratio:1; border:8vw solid color-mix(in srgb,var(--theme-sunset) 15%,transparent); border-radius:50%; right:-22vw; top:-20vw; pointer-events:none; }
.footer-kicker {
  width:min(100%,1120px);
  align-self:center;
  font:600 .78rem/1 "Oswald",sans-serif;
  letter-spacing:.24em;
  color:var(--theme-accent);
}
.footer h2 {
  width:min(100%,1120px);
  align-self:center;
  margin:.2em 0 0;
  font-size:clamp(5rem,12vw,12rem);
  line-height:.72;
  letter-spacing:-.06em;
  position:relative;
}
.socials {
  width:min(100%,1120px);
  align-self:center;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:clamp(42px,5vw,72px);
  margin-bottom:clamp(86px,9vw,128px);
  position:relative;
}
.socials a {
  position:relative;
  grid-column:span 2;
  min-width:0;
  min-height:124px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:20px 19px;
  border:3px solid rgba(var(--theme-ring-rgb),.68);
  border-radius:2px;
  color:var(--theme-text-on-deep);
  background:
    radial-gradient(circle at 14% 18%, rgba(var(--theme-ring-rgb),.1), transparent 38%),
    rgba(var(--theme-ring-rgb),.035);
  text-decoration:none;
  overflow:hidden;
  isolation:isolate;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), border-color .25s, background .25s, box-shadow .3s;
}
.socials a::before {
  content:"";
  position:absolute;
  width:110px;
  aspect-ratio:1;
  right:-62px;
  bottom:-72px;
  z-index:-1;
  border:18px solid color-mix(in srgb,var(--theme-sunset) 13%,transparent);
  border-radius:50%;
  pointer-events:none;
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.socials a:nth-child(even)::before {
  border-color:rgba(var(--theme-ring-rgb),.12);
}
.socials__icon {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(var(--theme-ring-rgb),.5);
  border-radius:50%;
  color:var(--theme-accent);
  background:color-mix(in srgb,var(--theme-deep) 46%,transparent);
  transition:transform .3s, color .25s, background .25s;
}
.socials__icon svg {
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.socials__copy {
  min-width:0;
  display:block;
}
.socials__copy strong {
  display:block;
  margin-bottom:9px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:600 clamp(1rem,1.35vw,1.3rem)/1 "Oswald",sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.socials__copy small {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(var(--theme-ring-rgb),.68);
  font:600 .62rem/1.2 "Oswald",sans-serif;
  letter-spacing:.04em;
}
.socials__arrow {
  align-self:start;
  color:var(--theme-accent);
  font:600 1.1rem/1 "Oswald",sans-serif;
  transition:transform .25s;
}
.footer-line { position:absolute; left:5vw; right:5vw; bottom:28px; border-top:1px solid rgba(var(--theme-ring-rgb),.35); padding-top:15px; display:flex; justify-content:space-between; gap:12px; font:600 .68rem/1 "Oswald",sans-serif; letter-spacing:.12em; }
.footer-easter-counter {
  color:color-mix(in srgb,var(--theme-text-on-deep) 72%,var(--theme-accent));
  font:inherit;
  letter-spacing:inherit;
  white-space:nowrap;
}
.footer-easter-counter::before {
  content:"✦";
  margin-right:8px;
  color:var(--theme-accent);
}
.footer-easter-counter.is-updated {
  animation:easter-counter-found .62s cubic-bezier(.16,1,.3,1);
}
@keyframes easter-counter-found {
  0% { transform:scale(.82); filter:brightness(1); }
  42% { transform:scale(1.12) rotate(-2deg); filter:brightness(1.8) drop-shadow(0 0 8px var(--theme-accent)); }
  100% { transform:none; filter:brightness(1); }
}

.reveal { opacity:0; transform:translateY(45px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }

/* Hover-эффекты только на устройствах с настоящим hover — на тачскрине не «залипают» */
@media (hover: hover) and (pointer: fine) {
  .header-socials a:hover {
    color:rgb(var(--header-bg));
    border-color:rgb(var(--header-line));
    background:rgb(var(--header-line));
    transform:translateY(-2px);
  }
  .fact-card:hover { transform: translateY(-8px) rotate(-.5deg); box-shadow: 12px 12px 0 color-mix(in srgb,var(--theme-deep) 22%,transparent); }
  .poster:hover img { transform: scale(1.06); filter: saturate(1.2) contrast(1.08); }
  .socials a:hover {
    border-color:var(--theme-accent);
    background:
      radial-gradient(circle at 14% 18%, rgba(var(--theme-ring-rgb),.28), transparent 44%),
      rgba(var(--theme-ring-rgb),.16);
    box-shadow:0 16px 34px rgba(0,0,0,.2);
  }
  .socials a:hover .socials__icon {
    color:var(--theme-deep);
    background:var(--theme-accent);
    transform:rotate(-7deg) scale(1.06);
  }
  .socials a:hover .socials__arrow { transform:translate(3px,-3px); }
}
@media (hover: none) {
  .sun-disc--one { animation:disc-drift-one 9s ease-in-out infinite alternate; }
  .sun-disc--two { animation:disc-drift-two 11s ease-in-out infinite alternate; }
}
@keyframes disc-drift-one {
  to { transform:translate3d(12px,-9px,0) scale(1.025); }
}
@keyframes disc-drift-two {
  to { transform:translate3d(-10px,8px,0) scale(.975); }
}
@media (min-width: 1100px) {
  .scroll-cue { display: flex; }
  .hero-meta {
    left: 5vw;
    right: auto;
    text-align: left;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .hero-location-toggle {
    min-height:0;
    align-self:flex-start;
  }
  .hero-meta > :is(span,button)::before { display: inline; }

  /*
    Портрет центрируется по вертикали страницы и занимает почти всю высоту.
    Название привязано к шее через --hero-art-w (высота арта = ширина * 1.097),
    поэтому при любом размере экрана голова и имя не разъезжаются.
  */
  .hero { --hero-art-w: min(860px, 56vw, 65vh); }
  .hero-portrait-wrap {
    width: var(--hero-art-w);
    align-self: center;
    padding: 0;
    transform: none;
    animation: float-wide 7s ease-in-out infinite;
  }
  @keyframes float-wide {
    0%, 100% { transform: translateY(0) rotate(-.2deg); }
    50% { transform: translateY(-12px) rotate(.2deg); }
  }
  /* Нижняя кромка титула — на уровне шеи: центр минус ~33% высоты арта */
  .hero-title { inset: auto 0 calc(50% - var(--hero-art-w) * 0.33) 0; }
}

/*
  Широкие мониторы: контент занимает больше полезной ширины, но сохраняет
  читаемую строку. Карточки собираются в асимметричную сетку 3 + 2/1.
*/
@media (min-width: 1600px) {
  :root { --max: 1680px; }

  .site-header {
    gap: clamp(24px, 2vw, 46px);
    padding-right: 3vw;
    padding-left: 3vw;
  }

  .hero { padding-right: 3vw; padding-left: 3vw; }
  .hero-kicker,
  .hero-meta { left: 3vw; }
  .scroll-cue { right: 3vw; }
  .hero { --hero-art-w: min(980px, 50vw, 65vh); }
  .hero-title { font-size: clamp(12rem, 13vw, 20rem); }

  .section { padding-left: 3vw; padding-right: 3vw; }
  .about-grid { grid-template-columns: 1.05fr .95fr; gap: clamp(90px, 7vw, 150px); }
  .about-copy { max-width: 720px; }

  .fursona {
    padding-left: max(3vw, calc((100vw - var(--max)) / 2 + 3vw));
    padding-right: max(3vw, calc((100vw - var(--max)) / 2 + 3vw));
  }
  .fursona-stage { grid-template-columns: .72fr 1.28fr; gap: clamp(70px, 5vw, 120px); }

  .fact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fact-card--lastfm { grid-column: span 1; }
  .fact-card--wide {
    grid-column: 1 / -1;
    min-height: 240px;
  }

  .gallery { padding-left: 3vw; padding-right: 3vw; }
  .poster-grid { grid-template-columns: 1.4fr .8fr .8fr; }
  .poster { min-height: 580px; }

  .footer { padding-right: 3vw; padding-left: 3vw; }
  .footer-kicker,
  .footer h2,
  .socials { width: min(100%, 1560px); }
  .socials { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .socials a { grid-column: span 2; }
  .footer-line { left: 3vw; right: 3vw; }
}

/* Планшеты и узкие десктопы */
@media (max-width: 900px) {
  .cursor-orbit { display: none; }

  .section {
    padding: clamp(64px, 12vw, 120px) clamp(18px, 5vw, 40px);
  }
  .section-label { margin-bottom: 36px; letter-spacing: .16em; }

  .about-grid,
  .fursona-stage { grid-template-columns: 1fr; gap: clamp(28px, 6vw, 48px); }

  .fursona {
    padding-left: clamp(18px, 5vw, 40px);
    padding-right: clamp(18px, 5vw, 40px);
  }
  .fursona::before { font-size: 28vw; top: 8%; right: -8%; opacity: .8; }

  .fact-grid { grid-template-columns: 1fr; gap: 16px; }
  .fact-card--wide { grid-column: auto; }

  .poster-grid { grid-template-columns: 1fr; gap: 14px; }
  .poster { min-height: min(420px, 70svh); }
  .poster--extra { min-height:0; }
  .gallery-more__inner { grid-template-columns:1fr; gap:14px; }

  .socials { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .socials a { grid-column:auto; }
}

/* Телефоны: hero как одна композиция без наложений и overflow */
@media (max-width: 700px) {
  .site-header {
    min-height:76px;
    grid-template-columns:auto minmax(34px,1fr) auto;
    gap:9px;
    padding:
      max(12px, env(safe-area-inset-top))
      max(12px, env(safe-area-inset-right))
      22px
      max(12px, env(safe-area-inset-left));
  }
  .site-header__brand { font-size:1.25rem; }
  .header-signal { height:28px; }
  .header-socials { gap:4px; }
  .header-socials a { width:28px; height:28px; }
  .header-socials svg { width:14px; height:14px; }

  .hero {
    min-height: 100svh;
    min-height: 100dvh;
    padding:
      max(82px, calc(env(safe-area-inset-top) + 70px))
      max(16px, env(safe-area-inset-right))
      max(16px, env(safe-area-inset-bottom))
      max(16px, env(safe-area-inset-left));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "kicker"
      "art"
      "meta";
    place-items: center;
    align-content: stretch;
    row-gap: 0;
  }

  .sun-disc--one { width: min(58vw, 220px); left: -18vw; top: 8%; }
  .sun-disc--two { width: min(36vw, 140px); right: 0; bottom: 22%; }
  .sun-disc--two .celestial-ring { border-width:3px; }

  .hero-kicker {
    grid-area: kicker;
    position: relative;
    top: auto;
    left: auto;
    justify-self: start;
    width: 100%;
    margin: 0 0 4px;
    font-size: .58rem;
    letter-spacing: .16em;
    max-width: 100%;
    z-index: 2;
  }

  /* Портрет и бренд делят одну ячейку — title лежит поверх нижней части арта */
  .hero-portrait-wrap {
    grid-area: art;
    width: min(86vw, 400px);
    max-width: 100%;
    max-height: 100%;
    align-self: end;
    justify-self: center;
    margin: 0;
    z-index: 1;
    padding: 5% 9% 0;
    overflow: visible;
    border-radius: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    animation: float-mobile 7s ease-in-out infinite;
  }
  .hero-portrait {
    width: 100%;
    max-height: min(56svh, 500px);
    height: auto;
    object-fit: contain;
    object-position: center bottom;
    transform: none;
    clip-path: none;
    border-radius: 0 0 50% 50% / 0 0 50% 50%;
  }
  @keyframes float-mobile {
    0%, 100% { transform: translateY(0) rotate(-.2deg); }
    50% { transform: translateY(-8px) rotate(.2deg); }
  }

  .hero-title {
    grid-area: art;
    position: relative;
    inset: auto;
    align-self: end;
    justify-self: center;
    width: 100%;
    margin: 0 0 4%;
    font-size: clamp(3.6rem, 19vw, 5.8rem);
    line-height: .78;
    z-index: 2;
    color: var(--theme-deep);
  }
  html[data-wolf-name="pivolk"] .hero-title {
    font-size:clamp(3.35rem,17vw,5.4rem);
    line-height:.8;
  }
  .hero-title span { position: absolute; inset: 0; }
  .hero-title::after {
    content: "Beerwolf";
    display: block;
    visibility: hidden;
    pointer-events: none;
  }
  html[data-wolf-name="pivolk"] .hero-title::after { content:"Пиволк"; }
  .hero-title__ghost {
    -webkit-text-stroke: 4px rgba(var(--theme-ring-rgb),.85);
    transform: translate(5px, 5px) rotate(-1deg);
  }

  .hero-meta {
    grid-area: meta;
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px 14px;
    padding: 14px 4px 6px;
    font-size: clamp(.62rem, 2.8vw, .78rem);
    letter-spacing: .06em;
    text-align: center;
    z-index: 2;
  }
  .hero-meta > :is(span,button) {
    display: inline-flex;
    align-items: center;
  }
  .hero-meta > :is(span,button)::before {
    margin-right: .45em;
    font-size: .85em;
  }

  .scroll-cue { display: none; }

  .display-heading {
    font-size: clamp(2.7rem, 12vw, 4.2rem);
    line-height: .86;
  }
  .about-copy { font-size: clamp(1.15rem, 4.6vw, 1.45rem); line-height: 1.28; }

  .fursona-copy h2 {
    font-size: clamp(2.4rem, 11vw, 3.6rem);
    line-height: .92;
  }
  .fursona-copy p { font-size: clamp(1.05rem, 4.2vw, 1.3rem); }
  .fursona-art {
    transform: none;
    box-shadow: 10px 10px 0 var(--theme-shadow);
  }
  .fursona-art img { aspect-ratio: auto; }

  .fact-card {
    min-height: 0;
    padding: 24px 22px 28px;
  }
  .fact-card h3 {
    margin: 36px 0 16px;
    font-size: clamp(2.2rem, 10vw, 3.4rem);
  }
  .fact-card li,
  .fact-card p { font-size: clamp(1.05rem, 4.2vw, 1.25rem); }
  .fact-no { top: 16px; right: 16px; width: 36px; height: 36px; font-size: .85rem; }
  .fact-card--wide { min-height: 0; }
  .ticker { gap: 8px; }
  .ticker span {
    padding: 9px 12px;
    font-size: .72rem;
    border-radius: 999px;
  }
  .lastfm-layout {
    --lastfm-media-width:96px;
    --lastfm-title-height:96px;
    grid-template-columns:96px minmax(0,1fr);
    grid-template-rows:var(--lastfm-title-height) auto;
    grid-template-areas:
      "title title"
      "cover copy";
    column-gap:16px;
    row-gap:14px;
    margin-top:22px;
  }
  .lastfm-cover { box-shadow:6px 6px 0 var(--theme-shadow); }
  .lastfm-eyebrow { font-size:.56rem !important; letter-spacing:.1em; }
  .lastfm-title h3 {
    margin:0;
    font-size:clamp(1.75rem,8vw,2.5rem);
    line-height:.86;
  }
  .lastfm-artist { font-size:1rem !important; }
  .lastfm-meta { font-size:.58rem !important; }
  .lastfm-actions {
    grid-column:1/-1;
    margin-top:16px;
  }
  .lastfm-actions a { min-height:40px; padding:9px 11px; font-size:.56rem; }

  .gallery { padding-left: clamp(16px, 5vw, 28px); padding-right: clamp(16px, 5vw, 28px); }
  .poster { min-height: min(360px, 62svh); }
  .poster--extra { min-height:0; }
  .poster-quote { font-size: clamp(2.1rem, 10vw, 3.2rem); }

  .image-lightbox { padding:12px; }
  .image-lightbox__panel {
    gap:12px;
    grid-template-rows:minmax(0,1fr) auto;
  }
  .image-lightbox__stage {
    --stage-top:58px;
    --stage-side:0px;
    --stage-bottom:4px;
    padding:0;
  }
  .image-lightbox__image {
    max-width:100%;
    max-height:100%;
    filter:
      drop-shadow(6px 6px 0 color-mix(in srgb,var(--theme-sunset) 65%,transparent))
      drop-shadow(0 16px 24px rgba(0,0,0,.38));
  }
  .image-lightbox__footer { gap:10px; padding-top:10px; }
  .image-lightbox__caption { font-size:.58rem; }
  .image-lightbox__close,
  .image-lightbox__download { padding:10px 13px; font-size:.62rem; }

  .footer {
    min-height: auto;
    padding:
      clamp(72px, 16vw, 120px)
      clamp(16px, 5vw, 28px)
      max(88px, calc(env(safe-area-inset-bottom) + 72px));
    overflow: hidden;
  }
  .footer::before {
    width: min(70vw, 280px);
    border-width: min(10vw, 40px);
    right: -28%;
    top: -12%;
  }
  .footer h2 {
    font-size: clamp(3rem, 14vw, 5.2rem);
    line-height: .8;
    margin: .15em 0 0;
  }
  .socials {
    grid-template-columns:1fr;
    gap:10px;
    margin-top:28px;
    margin-bottom:76px;
  }
  .socials a {
    grid-column:auto;
    min-height:96px;
    padding:14px 15px;
    border-radius:2px;
  }
  .socials__icon { width:44px; height:44px; }
  .footer-line {
    position: absolute;
    left: clamp(16px, 5vw, 28px);
    right: clamp(16px, 5vw, 28px);
    bottom: max(16px, env(safe-area-inset-bottom));
    flex-wrap: wrap;
    row-gap: 10px;
    font-size: .55rem;
    letter-spacing: .08em;
  }
}

/* Узкие телефоны (~320–380) */
@media (max-width: 380px) {
  .hero-title { font-size: 17.5vw; }
  .hero-meta { gap: 6px 10px; font-size: .58rem; }
  .display-heading { font-size: 2.35rem; }
  .footer h2 { font-size: 2.6rem; }
  .footer-line { justify-content: flex-start; }
  .footer-line a { width: 100%; }
}

/* Ландшафт на телефоне: не растягивать hero на весь экран */
@media (max-height: 520px) and (orientation: landscape) {
  .hero {
    min-height: auto;
    padding: 24px 5vw 32px;
    grid-template-rows: auto auto auto;
  }
  .hero-portrait-wrap { width: min(42vh, 240px); animation: float-mobile 7s ease-in-out infinite; }
  .hero-title { margin: -4% 0 8px; font-size: clamp(2.4rem, 10vw, 3.6rem); }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; scroll-behavior: auto !important; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .cursor-orbit { display: none; }
}
