/* =========================================================
   PRIME — кинематографичная тёмная редакторская тема
   Шрифты: Oswald (display, кириллица), Manrope (текст)
   ========================================================= */
:root{
  --bg:        #0A0A0B;
  --bg-2:      #101012;
  --surface:   #141417;
  --surface-2: #1A1A1F;
  --ink:       #F3F1EC;
  --ink-2:     #B7B5AE;
  --ink-3:     #76746E;
  --accent:    #FF2D2D;
  --accent-d:  #D11414;
  --line:      rgba(255,255,255,.10);
  --line-2:    rgba(255,255,255,.18);

  --maxw:      1280px;
  --ease:      cubic-bezier(.16,.84,.32,1);
  --radius:    4px;

  --font:      'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --display:   'Oswald', 'Manrope', 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(--font); background:var(--bg); color:var(--ink);
  line-height:1.65; font-weight:400; overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
/* плёночное зерно — «дорогая» текстура */
body::after{
  content:""; position:fixed; inset:0; z-index:9000; pointer-events:none; opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img,svg,video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
ul{ list-style:none; }
::selection{ background:var(--accent); color:#fff; }

.container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:32px; }
.section{ padding:clamp(80px,11vw,150px) 0; position:relative; }
.sec-num{ display:flex; align-items:baseline; gap:16px; margin-bottom:38px; }
.sec-num b{ font-family:var(--display); font-weight:500; font-size:.9rem; letter-spacing:.2em; color:var(--accent); }
.sec-num span{ font-family:var(--display); font-weight:300; letter-spacing:.22em; text-transform:uppercase; font-size:.82rem; color:var(--ink-3); }
.sec-num::after{ content:""; flex:1; height:1px; background:var(--line); align-self:center; }

.eyebrow{ display:inline-flex; align-items:center; gap:11px; font-family:var(--display); font-weight:400;
  letter-spacing:.22em; text-transform:uppercase; font-size:.76rem; color:var(--accent); margin-bottom:16px; }
.eyebrow::before{ content:""; width:28px; height:1px; background:var(--accent); }
.h-sec{ font-family:var(--display); font-weight:600; font-size:clamp(2.4rem,6vw,5rem); line-height:.98;
  letter-spacing:.005em; text-transform:uppercase; }
.lead{ color:var(--ink-2); font-size:clamp(1.04rem,1.4vw,1.22rem); max-width:60ch; margin-top:22px; font-weight:300; }
.accent{ color:var(--accent); }

.reveal{ opacity:0; transform:translateY(34px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in{ opacity:1; transform:none; }

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:11px;
  padding:16px 30px; border-radius:999px; font-weight:700; font-size:.92rem; letter-spacing:.04em;
  text-transform:uppercase; transition:transform .3s var(--ease), background .3s, color .3s, border-color .3s; white-space:nowrap; }
.btn svg{ width:17px; height:17px; }
.btn--primary{ background:var(--accent); color:#fff; }
.btn--primary:hover{ background:#fff; color:var(--bg); transform:translateY(-2px); }
.btn--ghost{ background:transparent; color:var(--ink); border:1px solid var(--line-2); }
.btn--ghost:hover{ border-color:#fff; background:#fff; color:var(--bg); transform:translateY(-2px); }
.btn--lg{ padding:19px 38px; font-size:.98rem; }
.btn--block{ width:100%; }

/* =========================================================
   BROADCAST BAR + HEADER
   ========================================================= */
.topbar{ position:fixed; inset:0 0 auto 0; z-index:101; background:var(--accent); color:#fff;
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; }
.topbar__in{ max-width:var(--maxw); margin-inline:auto; padding:7px 32px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.topbar .live-dot{ width:7px; height:7px; border-radius:50%; background:#fff; animation:pulse 1.6s infinite; }
.topbar__l{ display:inline-flex; align-items:center; gap:9px; }
.topbar__r{ display:flex; gap:18px; }
.topbar__r a{ opacity:.85; } .topbar__r a:hover{ opacity:1; }
@keyframes pulse{ 0%,100%{ opacity:1 } 50%{ opacity:.25 } }

.header{ position:fixed; inset:31px 0 auto 0; z-index:100; transition:background .4s, border-color .4s, backdrop-filter .4s;
  border-bottom:1px solid transparent; }
.header.scrolled{ background:rgba(10,10,11,.82); backdrop-filter:blur(20px) saturate(140%); border-bottom-color:var(--line); }
.header__inner{ display:flex; align-items:center; justify-content:space-between; height:78px; }
.logo{ display:flex; flex-direction:column; line-height:1.1; }
.logo__name{ font-family:var(--display); font-weight:600; font-size:1.2rem; letter-spacing:.04em; text-transform:uppercase; }
.logo__role{ font-size:.64rem; color:var(--ink-3); letter-spacing:.22em; text-transform:uppercase; margin-top:2px; }
.nav{ display:flex; align-items:center; gap:34px; }
.nav a{ font-size:.78rem; color:var(--ink-2); font-weight:600; letter-spacing:.1em; text-transform:uppercase; transition:color .2s; position:relative; }
.nav a:not(.btn)::after{ content:""; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:var(--accent); transition:width .3s var(--ease); }
.nav a:not(.btn):hover{ color:var(--ink); } .nav a:not(.btn):hover::after{ width:100%; }
.burger{ display:none; width:46px; height:46px; border:1px solid var(--line-2); border-radius:2px;
  align-items:center; justify-content:center; flex-direction:column; gap:5px; }
.burger span{ width:20px; height:1.5px; background:var(--ink); transition:.3s; }
.burger.open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

/* =========================================================
   HERO — кинематографичный сплит
   ========================================================= */
.hero{ position:relative; min-height:100svh; display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.hero__copy{ display:flex; flex-direction:column; justify-content:center; padding:150px 0 70px clamp(32px,5vw,90px);
  padding-right:60px; position:relative; z-index:2; }
.hero__ey{ display:inline-flex; align-items:center; gap:12px; font-family:var(--display); font-weight:400;
  letter-spacing:.24em; text-transform:uppercase; font-size:.76rem; color:var(--ink-2); }
.hero__ey::before{ content:""; width:34px; height:1px; background:var(--accent); }
.hero h1{ font-family:var(--display); font-weight:700; text-transform:uppercase;
  font-size:clamp(3rem,7vw,6.2rem); line-height:.92; letter-spacing:.005em; margin:26px 0 0; }
.hero h1 .accent{ color:var(--accent); }
.hero__name{ font-family:var(--display); font-weight:300; font-size:clamp(1rem,1.6vw,1.4rem); letter-spacing:.18em;
  text-transform:uppercase; color:var(--ink-2); margin-top:22px; }
.hero__sub{ color:var(--ink-2); font-size:1.08rem; max-width:44ch; margin-top:20px; font-weight:300; }
.hero__cta{ display:flex; gap:14px; margin-top:38px; flex-wrap:wrap; }
.hero__stats{ display:flex; gap:38px; margin-top:48px; flex-wrap:wrap; }
.hero__stats div b{ font-family:var(--display); font-weight:600; font-size:2rem; color:#fff; display:block; line-height:1; }
.hero__stats div span{ font-size:.72rem; color:var(--ink-3); letter-spacing:.12em; text-transform:uppercase; margin-top:8px; display:block; }

.hero__media{ position:relative; overflow:hidden; }
.hero__media::before{ content:""; position:absolute; inset:0; z-index:2;
  background:linear-gradient(90deg,var(--bg) 0%,transparent 26%,transparent 100%); }
.hero__media::after{ content:""; position:absolute; inset:0; z-index:2;
  background:linear-gradient(0deg,var(--bg) 0%,transparent 30%); }
.hero-slide{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 18%;
  opacity:0; transition:opacity 1.2s var(--ease); filter:contrast(1.05) saturate(1.05); }
.hero-slide.is-active{ opacity:1; }
.hero__lower{ position:absolute; left:0; bottom:34px; z-index:3; display:flex; align-items:center; gap:0; }
.hero__lower b{ background:var(--accent); color:#fff; font-family:var(--display); font-weight:500; letter-spacing:.06em;
  text-transform:uppercase; font-size:.82rem; padding:9px 16px; }
.hero__lower span{ background:rgba(10,10,11,.8); backdrop-filter:blur(6px); color:var(--ink); font-size:.82rem; font-weight:600;
  padding:9px 16px; border:1px solid var(--line); border-left:none; }
.hero-dots{ position:absolute; right:24px; bottom:38px; z-index:3; display:flex; gap:8px; }
.hero-dots b{ width:26px; height:2px; background:rgba(255,255,255,.3); cursor:pointer; transition:.3s; }
.hero-dots b.on{ background:var(--accent); }

/* =========================================================
   TICKER (лиги)
   ========================================================= */
.ticker{ border-block:1px solid var(--line); background:var(--bg-2); overflow:hidden; padding:16px 0; }
.ticker__track{ display:flex; gap:0; width:max-content; animation:scroll 38s linear infinite; }
.ticker:hover .ticker__track{ animation-play-state:paused; }
.ticker__item{ display:inline-flex; align-items:center; font-family:var(--display); font-weight:300; font-size:1.05rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); white-space:nowrap; padding:0 34px; }
.ticker__item::after{ content:""; width:5px; height:5px; border-radius:50%; background:var(--accent); margin-left:34px; }
@keyframes scroll{ to{ transform:translateX(-50%); } }

/* =========================================================
   ABOUT (редакторский)
   ========================================================= */
.about__grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:center; }
.about__media{ position:relative; }
.about__media img{ width:100%; aspect-ratio:4/5; object-fit:cover; filter:grayscale(.15) contrast(1.05); border:1px solid var(--line); }
.about__media .tag{ position:absolute; left:0; bottom:0; background:var(--accent); color:#fff; font-family:var(--display);
  font-weight:500; letter-spacing:.08em; text-transform:uppercase; font-size:.8rem; padding:10px 16px; }
.about__text p{ color:var(--ink-2); font-size:1.16rem; margin-top:22px; font-weight:300; }
.about__text p strong{ color:var(--ink); font-weight:600; }
.about__list{ margin-top:32px; display:grid; gap:0; border-top:1px solid var(--line); }
.about__list li{ display:flex; gap:18px; align-items:center; padding:18px 0; border-bottom:1px solid var(--line); color:var(--ink); font-weight:500; }
.about__list .n{ font-family:var(--display); color:var(--accent); font-weight:500; font-size:.9rem; letter-spacing:.1em; flex:none; width:34px; }

/* =========================================================
   ON AIR — видео (крупно, кинематографично)
   ========================================================= */
.reels{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:8px; }
.reel{ position:relative; overflow:hidden; border:1px solid var(--line); background:#000; }
.reel video{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; filter:contrast(1.04) saturate(1.05); }
.reel figcaption{ position:absolute; left:0; bottom:0; z-index:2; display:flex; align-items:center; }
.reel figcaption b{ background:var(--accent); color:#fff; font-family:var(--display); font-weight:500; letter-spacing:.06em;
  text-transform:uppercase; font-size:.76rem; padding:8px 13px; }
.reel figcaption span{ background:rgba(10,10,11,.78); color:var(--ink); font-size:.8rem; font-weight:600; padding:8px 14px; }
@media (max-width:720px){ .reels{ grid-template-columns:1fr; } }
.videos__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; margin-top:8px; }
.vid{ border:1px solid var(--line); background:var(--surface); }
.vid__frame{ position:relative; aspect-ratio:16/9; background:#000; }
.vid__frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.vid__cap{ padding:16px 18px; font-weight:600; }

/* =========================================================
   SERVICES
   ========================================================= */
.services__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0; margin-top:8px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.svc{ padding:48px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; transition:background .35s; }
.svc:hover{ background:var(--surface); }
.svc__n{ font-family:var(--display); font-weight:300; font-size:1rem; letter-spacing:.2em; color:var(--accent); }
.svc__ico{ width:54px; height:54px; border:1px solid var(--line-2); display:flex; align-items:center; justify-content:center; color:var(--accent); margin:22px 0; }
.svc__ico svg{ width:26px; height:26px; }
.svc h3{ font-family:var(--display); font-weight:600; text-transform:uppercase; font-size:1.7rem; margin-bottom:14px; }
.svc p{ color:var(--ink-2); font-weight:300; }
.svc__points{ margin-top:22px; display:flex; flex-wrap:wrap; gap:8px; }
.svc__points li{ font-size:.78rem; font-weight:600; letter-spacing:.04em; color:var(--ink-2); padding:7px 13px; border:1px solid var(--line); text-transform:uppercase; }

/* =========================================================
   GALLERY (редакторская сетка)
   ========================================================= */
.gallery{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:1fr; gap:14px; margin-top:8px; }
.gallery a{ position:relative; overflow:hidden; aspect-ratio:1; border:1px solid var(--line); background:#000; }
.gallery a.big{ grid-column:span 2; grid-row:span 2; }
.gallery img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease), filter .5s; filter:grayscale(.1) contrast(1.04); }
.gallery a:hover img{ transform:scale(1.06); filter:none; }
.gallery a::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(10,10,11,.5)); opacity:0; transition:opacity .4s; }
.gallery a:hover::after{ opacity:1; }
@media (max-width:720px){ .gallery{ grid-template-columns:repeat(2,1fr); } }

/* =========================================================
   SOCIALS
   ========================================================= */
.socials__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:0; margin-top:8px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.soc{ display:flex; align-items:center; gap:18px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .35s; }
.soc:hover{ background:var(--surface); }
.soc__ico{ width:46px; height:46px; flex:none; display:flex; align-items:center; justify-content:center; color:#fff; border:1px solid var(--line-2); }
.soc__ico svg{ width:23px; height:23px; }
.soc__b{ display:flex; flex-direction:column; min-width:0; }
.soc__b b{ font-family:var(--display); font-weight:500; letter-spacing:.04em; text-transform:uppercase; font-size:1rem; }
.soc__b span{ font-size:.84rem; color:var(--ink-3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.soc__arrow{ margin-left:auto; color:var(--ink-3); transition:transform .3s, color .3s; }
.soc:hover .soc__arrow{ transform:translate(4px,-4px); color:var(--accent); }

/* =========================================================
   QUOTES
   ========================================================= */
.quotes__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; margin-top:8px; }
.quote{ border:1px solid var(--line); padding:38px; background:var(--surface); }
.quote p{ font-size:1.18rem; color:var(--ink); font-weight:300; }
.quote p::before{ content:"«"; color:var(--accent); }
.quote p::after{ content:"»"; color:var(--accent); }
.quote cite{ display:block; margin-top:22px; color:var(--ink-3); font-style:normal; font-weight:600; font-size:.84rem; letter-spacing:.06em; text-transform:uppercase; }

/* =========================================================
   CONTACT
   ========================================================= */
.cta__grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.cta h2{ font-family:var(--display); font-weight:600; text-transform:uppercase; font-size:clamp(2.4rem,5vw,4rem); line-height:.96; }
.cta__sub{ color:var(--ink-2); margin-top:22px; font-size:1.1rem; font-weight:300; }
.contact-btns{ display:flex; flex-wrap:wrap; gap:12px; margin:30px 0; }
.contact-btn{ display:inline-flex; align-items:center; gap:10px; padding:14px 24px; font-weight:700; font-size:.84rem;
  letter-spacing:.06em; text-transform:uppercase; border:1px solid var(--line-2); color:var(--ink); transition:.3s; }
.contact-btn svg{ width:18px; height:18px; }
.contact-btn:hover{ background:#fff; color:var(--bg); transform:translateY(-2px); }
.contact-btn--tg:hover{ background:#229ED9; color:#fff; border-color:#229ED9; }
.contact-btn--wa:hover{ background:#25D366; color:#fff; border-color:#25D366; }
.cta__direct{ display:flex; flex-direction:column; gap:14px; }
.cta__direct a,.cta__direct span{ display:inline-flex; align-items:center; gap:13px; color:var(--ink-2); font-weight:400; }
.cta__direct svg{ width:18px; height:18px; color:var(--accent); }

.form{ border:1px solid var(--line); padding:38px; background:var(--surface); display:flex; flex-direction:column; gap:16px; }
.form__row{ display:flex; flex-direction:column; gap:8px; }
.form label{ font-size:.72rem; font-weight:700; color:var(--ink-3); letter-spacing:.1em; text-transform:uppercase; }
.form input,.form select,.form textarea{ width:100%; background:var(--bg); border:1px solid var(--line-2); border-radius:0;
  padding:14px 16px; color:var(--ink); font-family:inherit; font-size:.98rem; transition:border-color .2s; }
.form input:focus,.form select:focus,.form textarea:focus{ outline:none; border-color:var(--accent); }
.form textarea{ resize:vertical; min-height:96px; }
.form__consent{ display:flex; gap:11px; align-items:flex-start; font-size:.8rem; color:var(--ink-2); cursor:pointer; font-weight:300; }
.form__consent input{ width:17px; height:17px; margin-top:3px; flex:none; accent-color:var(--accent); }
.form__consent a{ color:var(--ink); text-decoration:underline; }
.form__note{ font-size:.76rem; color:var(--ink-3); font-weight:300; }
.form__note a{ color:var(--ink-2); text-decoration:underline; }
.form__ok{ display:none; padding:14px 16px; background:rgba(255,45,45,.12); border:1px solid var(--accent); color:#ff9a9a; font-weight:600; font-size:.9rem; }
.form__ok.show{ display:block; }

/* =========================================================
   FOOTER
   ========================================================= */
.footer{ border-top:1px solid var(--line); padding:64px 0 40px; background:var(--bg-2); }
.footer__top{ display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.footer__brand b{ font-family:var(--display); font-weight:600; text-transform:uppercase; font-size:1.7rem; letter-spacing:.04em; }
.footer__brand span{ display:block; color:var(--ink-3); font-size:.82rem; margin-top:8px; letter-spacing:.1em; text-transform:uppercase; }
.footer__soc{ display:flex; gap:12px; margin-top:18px; }
.footer__soc a{ width:42px; height:42px; border:1px solid var(--line-2); display:flex; align-items:center; justify-content:center; color:var(--ink-2); transition:.3s; }
.footer__soc a:hover{ background:var(--accent); border-color:var(--accent); color:#fff; }
.footer__soc svg{ width:18px; height:18px; }
.footer__links{ display:flex; gap:30px; flex-wrap:wrap; }
.footer__links a{ color:var(--ink-2); font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.footer__links a:hover{ color:var(--ink); }
.footer__bottom{ margin-top:44px; padding-top:26px; border-top:1px solid var(--line); display:flex; justify-content:space-between;
  gap:16px; flex-wrap:wrap; color:var(--ink-3); font-size:.8rem; }
.footer__bottom a{ color:var(--ink-3); text-decoration:underline; }

/* =========================================================
   SUBPAGES
   ========================================================= */
.pagehero{ padding:160px 0 0; }
.pagehero h1{ font-family:var(--display); font-weight:600; text-transform:uppercase; font-size:clamp(2.6rem,6vw,5rem); line-height:.96; margin-top:20px; }
.pagehero p{ color:var(--ink-2); max-width:60ch; margin-top:20px; font-size:1.1rem; font-weight:300; }
.back-link{ display:inline-flex; align-items:center; gap:9px; color:var(--ink-2); font-weight:600; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.back-link svg{ width:15px; height:15px; }
.prose h2{ font-family:var(--display); font-weight:600; text-transform:uppercase; font-size:1.7rem; margin:42px 0 14px; }
.prose p{ color:var(--ink-2); margin-bottom:14px; font-weight:300; }
.prose ul li{ color:var(--ink-2); padding:10px 0 10px 30px; position:relative; font-weight:300; }
.prose ul li::before{ content:""; position:absolute; left:0; top:18px; width:14px; height:1px; background:var(--accent); }
.card-light{ border:1px solid var(--line); padding:40px; background:var(--surface); }
.card-light h3{ font-family:var(--display); font-weight:600; text-transform:uppercase; font-size:1.5rem; margin-bottom:20px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:980px){
  .hero{ grid-template-columns:1fr; }
  .hero__media{ position:absolute; inset:0; }
  .hero__media::before{ background:linear-gradient(0deg,var(--bg) 8%,rgba(10,10,11,.45) 55%,rgba(10,10,11,.7) 100%); }
  .hero__copy{ position:relative; z-index:3; padding:160px 32px 60px; min-height:100svh; justify-content:flex-end; }
  .about__grid{ grid-template-columns:1fr; gap:40px; }
  .cta__grid{ grid-template-columns:1fr; gap:40px; }
  .services__grid{ grid-template-columns:1fr; }
}
@media (max-width:720px){
  .nav{ position:fixed; inset:78px 0 auto 0; flex-direction:column; align-items:stretch; gap:0;
    background:rgba(10,10,11,.97); backdrop-filter:blur(20px); border-bottom:1px solid var(--line);
    padding:8px 32px 24px; transform:translateY(-130%); transition:transform .45s var(--ease); }
  .nav.open{ transform:none; }
  .nav a{ padding:16px 0; border-bottom:1px solid var(--line); font-size:.9rem; }
  .nav .btn{ margin-top:14px; text-align:center; justify-content:center; }
  .burger{ display:flex; }
  .header__cta--top{ display:none; }
  .topbar__r{ display:none; }
  .gallery{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px){
  .container{ padding-inline:20px; }
  .hero__stats{ gap:24px; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  html{ scroll-behavior:auto; } .reveal{ opacity:1; transform:none; }
}
