/* ==========================================================================
   ROYAL DIAMOND · Основной стиль
   ========================================================================== */

/* ---------- БАЗА ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-sans); font-size:var(--t-body); line-height:var(--lh-body);
  font-weight:400; letter-spacing:.005em;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}

img,svg,video,canvas{display:block; max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit; color:inherit}
button{cursor:pointer; border:0; background:none; padding:0}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4{margin:0; font-weight:400}
p{margin:0}
ul,ol{margin:0; padding:0; list-style:none}

::selection{background:var(--gold-soft); color:var(--graphite)}

:focus-visible{
  outline:2px solid var(--focus); outline-offset:3px; border-radius:var(--r-sm);
}

.skip-link{
  position:absolute; left:var(--sp-sm); top:calc(var(--sp-sm) + var(--sat));
  transform:translateY(-200%); z-index:calc(var(--z-preloader) + 1);
  background:var(--pearl); color:var(--graphite); padding:.75rem 1.25rem;
  border:1px solid var(--line); font-size:var(--t-small); transition:transform var(--d-fast) var(--e-out);
}
.skip-link:focus{transform:none}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ---------- СЕТКА ---------- */
.wrap{width:100%; max-width:var(--max-w); margin-inline:auto; padding-inline:var(--gutter)}
.wrap--text{max-width:var(--max-text)}
.section{padding-block:var(--sp-3xl); position:relative}
.section--tight{padding-block:clamp(3.5rem,8vw,7rem)}

/* ---------- ТИПОГРАФИКА ---------- */
.eyebrow{
  font-family:var(--font-sans); font-size:var(--t-eyebrow); font-weight:600;
  letter-spacing:var(--ls-eyebrow); text-transform:uppercase; color:var(--text-faint);
  display:flex; align-items:center; gap:.75rem;
}
.eyebrow::before{
  content:''; width:2rem; height:1px; background:var(--gold); opacity:.7; flex:0 0 2rem;
}
.eyebrow--center{justify-content:center}

.display{
  font-family:var(--font-display); font-weight:300;
  font-size:var(--t-display); line-height:var(--lh-display);
  letter-spacing:var(--ls-display); color:var(--text);
}
.display em{font-style:italic; font-weight:300}
.h2{font-family:var(--font-display); font-weight:300; font-size:var(--t-h2); line-height:var(--lh-title); letter-spacing:var(--ls-display)}
.h3{font-family:var(--font-display); font-weight:400; font-size:var(--t-h3); line-height:var(--lh-title)}

.lead{
  font-size:var(--t-lead); line-height:1.62; color:var(--text-muted);
  max-width:var(--measure); font-weight:300;
}
.body{color:var(--text-muted); max-width:var(--measure)}
.caption{font-size:var(--t-caption); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--text-faint)}

.edition-num{
  font-family:var(--font-mono); font-variant-numeric:tabular-nums;
  letter-spacing:.06em; font-size:var(--t-small); color:var(--accent);
}

/* ---------- КНОПКИ ----------
   Тонкая капсула с контуром и стрелкой. Никаких плотных заливок. */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.85rem;
  min-height:52px; padding:.9rem 2rem;
  font-size:var(--t-small); font-weight:500; letter-spacing:var(--ls-wide);
  text-transform:uppercase; border-radius:var(--r-pill);
  border:1px solid var(--line); color:var(--text); background:transparent;
  transition:border-color var(--d-base) var(--e-out), background-color var(--d-base) var(--e-out),
             color var(--d-base) var(--e-out), gap var(--d-base) var(--e-out);
  position:relative;
}
.btn__arrow{width:14px; height:9px; flex:0 0 14px; transition:transform var(--d-base) var(--e-out)}
.btn:hover{border-color:var(--accent); color:var(--accent); gap:1.15rem}
.btn:hover .btn__arrow{transform:translateX(3px)}
.btn--solid{background:var(--graphite); color:var(--ivory); border-color:var(--graphite)}
.btn--solid:hover{background:var(--emerald); border-color:var(--emerald); color:var(--ivory)}
.on-emerald .btn{border-color:var(--emerald-line); color:var(--text)}
.on-emerald .btn:hover{border-color:var(--gold); color:var(--gold)}

.link-quiet{
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:var(--t-small); letter-spacing:var(--ls-wide); text-transform:uppercase;
  color:var(--text-muted); padding-block:.35rem;
  border-bottom:1px solid transparent; transition:.4s var(--e-out);
}
.link-quiet:hover{color:var(--accent); border-bottom-color:var(--gold-line)}

/* ---------- ПРЕЛОАДЕР ---------- */
.preloader{
  position:fixed; inset:0; z-index:var(--z-preloader);
  background:var(--ivory); display:grid; place-items:center;
  transition:opacity var(--d-slow) var(--e-out), visibility var(--d-slow);
}
.preloader.is-done{opacity:0; visibility:hidden; pointer-events:none}
.preloader__inner{text-align:center; display:grid; gap:var(--sp-md); justify-items:center}
.preloader__mark{
  width:clamp(52px,9vw,84px); height:auto; opacity:0;
  animation:pl-mark 1100ms var(--e-out) forwards;
}
.preloader__num{
  font-family:var(--font-mono); font-variant-numeric:tabular-nums;
  font-size:var(--t-caption); letter-spacing:.28em; color:var(--gold-deep);
  opacity:0; animation:pl-num 900ms var(--e-out) 700ms forwards;
}
@keyframes pl-mark{from{opacity:0; transform:translateY(8px) scale(.97)} to{opacity:1; transform:none}}
@keyframes pl-num{from{opacity:0} to{opacity:1}}

/* ---------- НАВИГАЦИЯ ---------- */
.nav{
  position:fixed; inset-inline:0; top:0; z-index:var(--z-nav);
  padding-top:var(--sat);
  transition:background-color var(--d-base) var(--e-out), border-color var(--d-base) var(--e-out),
             backdrop-filter var(--d-base);
  border-bottom:1px solid transparent;
}
.nav__in{
  max-width:var(--max-w); margin-inline:auto; padding:1.15rem var(--gutter);
  display:flex; align-items:center; gap:var(--sp-md);
  transition:padding var(--d-base) var(--e-out);
}
.nav.is-solid{
  background:color-mix(in srgb, var(--ivory) 88%, transparent);
  backdrop-filter:blur(14px) saturate(1.2); -webkit-backdrop-filter:blur(14px) saturate(1.2);
  border-bottom-color:var(--hairline-soft);
}
.nav.is-solid .nav__in{padding-block:.8rem}
.nav__brand{display:flex; align-items:center; gap:.7rem; margin-right:auto}
.nav__brand img{height:26px; width:auto; transition:height var(--d-base) var(--e-out)}
.nav.is-solid .nav__brand img{height:22px}
.nav__links{display:flex; align-items:center; gap:.35rem}
.nav__links a{
  font-size:var(--t-caption); letter-spacing:var(--ls-wide); text-transform:uppercase;
  color:var(--text-muted); padding:.6rem .85rem; border-radius:var(--r-pill);
  transition:color var(--d-fast) var(--e-out);
}
.nav__links a:hover,.nav__links a[aria-current="true"]{color:var(--accent)}

/* Переключатель языка */
.lang{position:relative}
.lang__btn{
  display:inline-flex; align-items:center; gap:.4rem; min-height:40px; padding:.4rem .8rem;
  font-size:var(--t-caption); font-weight:600; letter-spacing:var(--ls-wide);
  border:1px solid var(--line); border-radius:var(--r-pill); color:var(--text-muted);
  transition:.3s var(--e-out);
}
.lang__btn:hover{border-color:var(--accent); color:var(--accent)}
.lang__btn svg{width:9px; height:6px; opacity:.6; transition:transform var(--d-fast) var(--e-out)}
.lang.is-open .lang__btn svg{transform:rotate(180deg)}
.lang__menu{
  position:absolute; right:0; top:calc(100% + .5rem); min-width:170px;
  background:var(--pearl); border:1px solid var(--line); padding:.3rem;
  box-shadow:var(--sh-soft); display:none; z-index:var(--z-drawer);
}
.lang.is-open .lang__menu{display:block}
.lang__menu a{
  display:block; padding:.7rem .9rem; font-size:var(--t-small); color:var(--text-muted);
  transition:.2s;
}
.lang__menu a:hover{background:var(--ivory-deep); color:var(--text)}
.lang__menu a[aria-current="true"]{color:var(--accent); font-weight:600}

.nav__toggle{display:none; width:44px; height:44px; place-items:center; flex:0 0 44px}
.nav__toggle span{display:block; width:20px; height:1px; background:currentColor; transition:.4s var(--e-out)}
.nav__toggle span + span{margin-top:6px}
body.is-drawer .nav__toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
body.is-drawer .nav__toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* Мобильный drawer — простой, без тяжёлых эффектов */
.drawer{
  position:fixed; inset:0; z-index:var(--z-drawer); background:var(--ivory);
  transform:translateY(-100%); transition:transform var(--d-base) var(--e-inout);
  display:flex; flex-direction:column;
  padding:calc(5.5rem + var(--sat)) var(--gutter) calc(2rem + var(--sab));
  overflow-y:auto; visibility:hidden;
}
body.is-drawer .drawer{transform:none; visibility:visible}
.drawer a.drawer__link{
  font-family:var(--font-display); font-size:clamp(1.75rem,7vw,2.5rem); font-weight:300;
  padding-block:.7rem; border-bottom:1px solid var(--hairline-soft);
  display:flex; justify-content:space-between; align-items:baseline;
}
.drawer a.drawer__link span{font-family:var(--font-mono); font-size:var(--t-caption); color:var(--text-faint)}
.drawer__foot{margin-top:auto; padding-top:var(--sp-lg); display:grid; gap:var(--sp-sm)}

/* ---------- HERO ---------- */
.hero{
  min-height:100svh; display:grid; place-content:center;
  padding-top:calc(5.5rem + var(--sat)); position:relative; overflow:hidden;
}
.hero__copy{
  padding:var(--sp-lg) var(--gutter) calc(var(--sp-lg) + var(--sab));
  display:grid; gap:.7rem; justify-items:center; text-align:center;
  max-width:var(--max-text); margin-inline:auto;
}
.hero__brand{
  font-family:var(--font-display); font-size:var(--t-hero); font-weight:300;
  line-height:.95; letter-spacing:.06em; text-transform:uppercase;
}
.hero__tagline{
  font-family:var(--font-display); font-style:italic; font-size:var(--t-lead);
  color:var(--gold-deep); letter-spacing:.01em;
}
.hero__headline{font-family:var(--font-display); font-size:var(--t-h3); font-style:italic; color:var(--text-muted)}
.hero__sub{max-width:44ch; color:var(--text-muted); font-size:var(--t-body)}
.hero__edition{
  font-family:var(--font-mono); font-size:var(--t-caption); letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold-deep);
  padding:.6rem 1.2rem; border:1px solid var(--gold-line); border-radius:var(--r-pill);
}
.hero__actions{display:flex; flex-wrap:wrap; gap:var(--sp-sm); justify-content:center; margin-top:var(--sp-xs); align-items:center}

/* ---------- МАНИФЕСТ ---------- */
.manifesto{text-align:center; display:grid; gap:var(--sp-lg); justify-items:center}
.manifesto__lines{font-family:var(--font-display); font-size:var(--t-display); font-weight:300; line-height:1.18}
.manifesto__lines em{font-style:italic; color:var(--gold-deep)}
.manifesto__rule{width:1px; height:clamp(3rem,7vw,5.5rem); background:var(--gold-line)}

/* ---------- КОЛЛАБОРАЦИЯ ---------- */
.collab__marks{
  display:grid; grid-template-columns:repeat(2,1fr); gap:var(--sp-xl);
  align-items:start; margin-top:var(--sp-xl);
}
.collab__mark{display:grid; gap:var(--sp-sm); padding-top:var(--sp-md); border-top:1px solid var(--line)}
.collab__logo{height:38px; width:auto; max-width:200px; object-fit:contain; object-position:left center; align-self:start}
.collab__role{font-size:var(--t-caption); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--text-faint)}

/* ---------- THE 2200 CIRCLE ---------- */
.circle{position:relative; overflow:hidden}
.circle__head{display:grid; gap:var(--sp-sm); justify-items:center; text-align:center; margin-bottom:var(--sp-xl)}
.circle__grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(52px,1fr));
  gap:2px; margin-block:var(--sp-lg);
  mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
  -webkit-mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
}
.circle__cell{
  aspect-ratio:1/1; display:grid; place-items:center;
  font-family:var(--font-mono); font-size:.5625rem; font-variant-numeric:tabular-nums;
  color:var(--graphite-20); border:1px solid transparent;
  transition:color var(--d-base) var(--e-out), border-color var(--d-base) var(--e-out);
}
.circle__cell.is-lit{color:var(--gold-deep); border-color:var(--gold-line)}
.circle__cell.is-presented{color:var(--emerald); border-color:var(--emerald); font-weight:600}
.circle__empty{text-align:center; color:var(--text-faint); font-style:italic; font-family:var(--font-display); font-size:var(--t-h3)}
.circle__count{display:grid; justify-items:center; gap:.25rem; text-align:center}
.circle__count b{font-family:var(--font-display); font-size:var(--t-display); font-weight:300; color:var(--accent); font-variant-numeric:tabular-nums}

/* ---------- REVEAL / КОЛЛЕКЦИЯ ---------- */
.reveal-stage{position:relative; display:grid; place-items:center; gap:var(--sp-lg)}
.reveal-stage__media{
  width:min(100%, 900px); border-radius:var(--r-sm); overflow:hidden; background:var(--ivory-deep);
}
.reveal-stage__media img{width:100%; height:auto}

/* ---------- РИТУАЛ ---------- */
.ritual{display:grid; gap:var(--sp-xl)}
.ritual__track{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(268px, 1fr);
  gap:var(--sp-md); overflow-x:auto; scroll-snap-type:x mandatory;
  padding-bottom:var(--sp-sm); scrollbar-width:none;
}
.ritual__track::-webkit-scrollbar{display:none}
.step{scroll-snap-align:start; display:grid; gap:var(--sp-sm); align-content:start}
.step__media{
  aspect-ratio:3/4; background:var(--ivory-deep); overflow:hidden; position:relative;
}
.step__media img{width:100%; height:100%; object-fit:contain; transition:transform var(--d-reveal) var(--e-out)}
.step:hover .step__media img{transform:scale(1.03)}
.step__num{
  position:absolute; top:var(--sp-sm); left:var(--sp-sm);
  font-family:var(--font-mono); font-size:var(--t-caption); letter-spacing:.14em; color:var(--gold-deep);
}
.step__name{font-family:var(--font-display); font-size:var(--t-h3); font-weight:400}
.step__vol{font-family:var(--font-mono); font-size:var(--t-caption); letter-spacing:.1em; color:var(--text-faint)}
.step__role{font-size:var(--t-small); color:var(--text-muted); line-height:1.6}
.step__usage{
  font-size:var(--t-small); color:var(--text-muted); line-height:1.6;
  padding-top:var(--sp-xs); border-top:1px solid var(--hairline-soft);
}
.step__usage b{display:block; font-size:var(--t-caption); letter-spacing:var(--ls-wide);
  text-transform:uppercase; color:var(--text-faint); font-weight:600; margin-bottom:.35rem}
.step__pending{font-style:italic; color:var(--text-faint)}

/* ---------- ФОРМУЛА ---------- */
.formula__list{
  display:flex; flex-wrap:wrap; gap:.5rem; margin-top:var(--sp-md);
}
.formula__chip{
  font-size:var(--t-small); color:var(--text-muted);
  padding:.5rem 1rem; border:1px solid var(--line); border-radius:var(--r-pill);
}
.formula__note{
  margin-top:var(--sp-lg); padding-top:var(--sp-md); border-top:1px solid var(--line);
  font-size:var(--t-small); color:var(--text-faint); max-width:var(--measure); font-style:italic;
}

/* ---------- СПЛИТ (текст + медиа) ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:center}
.split--reverse > *:first-child{order:2}
.split__media{position:relative}
.split__media img{width:100%; height:auto; background:var(--ivory-deep)}
.split__body{display:grid; gap:var(--sp-md); align-content:start}

/* ---------- ПУСТЫЕ СОСТОЯНИЯ ---------- */
.empty-state{
  padding:var(--sp-xl) var(--sp-md); text-align:center;
  border:1px solid var(--line); display:grid; gap:var(--sp-sm); justify-items:center;
}
.empty-state p{font-family:var(--font-display); font-style:italic; font-size:var(--t-h3); color:var(--text-faint); max-width:34ch}

/* ---------- ФОРМА ---------- */
.inquiry{max-width:720px; margin-inline:auto}
.field{display:grid; gap:.45rem; margin-bottom:var(--sp-md)}
.field label{font-size:var(--t-caption); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--text-faint)}
.field .req{color:var(--gold-deep)}
.field input,.field select,.field textarea{
  width:100%; background:transparent; border:0; border-bottom:1px solid var(--line);
  padding:.85rem .25rem; font-size:var(--t-body); color:var(--text);
  transition:border-color var(--d-base) var(--e-out); border-radius:0;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none; border-bottom-color:var(--accent)}
.field textarea{min-height:96px; resize:vertical; line-height:1.6}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-bottom-color:var(--error)}
.field__err{font-size:var(--t-caption); color:var(--error); display:none}
.field.is-invalid .field__err{display:block}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-md)}
.consent{display:flex; gap:.85rem; align-items:flex-start; margin-block:var(--sp-md); cursor:pointer}
.consent input{width:18px; height:18px; margin-top:.25rem; accent-color:var(--emerald); flex:0 0 18px}
.consent span{font-size:var(--t-small); color:var(--text-muted); line-height:1.55}
.consent a{border-bottom:1px solid var(--gold-line)}
.form__status{margin-top:var(--sp-md); display:none}
.form__status.is-visible{display:grid; gap:.5rem}
.form__status h3{font-family:var(--font-display); font-size:var(--t-h3)}
.form__status p{color:var(--text-muted); font-size:var(--t-small)}

/* ---------- ФУТЕР ---------- */
.footer{background:var(--emerald); color:#F4EFE6; padding-block:var(--sp-2xl) var(--sp-lg)}
.footer__top{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:var(--sp-xl); align-items:start}
.footer__brand{display:grid; justify-items:center; text-align:center; gap:var(--sp-sm)}
.footer__mark{height:56px; width:auto}
.footer__tagline{font-family:var(--font-display); font-style:italic; color:var(--gold); font-size:var(--t-small)}
.footer h4{
  font-family:var(--font-sans); font-size:var(--t-eyebrow); font-weight:600;
  letter-spacing:var(--ls-eyebrow); text-transform:uppercase; color:rgba(244,239,230,.62);
  margin-bottom:var(--sp-sm);
}
.footer a,.footer p,.footer li{font-size:var(--t-small); color:rgba(244,239,230,.82); line-height:1.9}
.footer a:hover{color:var(--gold)}
.footer li.footer__legal{color:rgba(244,239,230,.66)}
.footer__bottom{
  margin-top:var(--sp-xl); padding-top:var(--sp-md); border-top:1px solid var(--emerald-line);
  display:flex; flex-wrap:wrap; gap:var(--sp-sm) var(--sp-lg); justify-content:space-between;
  font-size:var(--t-caption); color:rgba(244,239,230,.62);
}

/* ---------- ШАПКА ВНУТРЕННЕЙ СТРАНИЦЫ ---------- */
.page-head{padding:calc(8rem + var(--sat)) 0 clamp(2rem,5vw,4rem)}
.page-head .display{max-width:18ch}
.page-head .lead{max-width:56ch}

/* ---------- КАРТОЧКИ ГЛАВ ---------- */
.chapters{display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line); margin-top:var(--sp-lg)}
.chapters--all{grid-template-columns:repeat(4,1fr)}
.chapter{background:var(--bg); padding:var(--sp-lg) var(--sp-md); display:grid; gap:.6rem;
  align-content:start; transition:background var(--d-base) var(--e-out); min-height:190px}
.chapter:hover{background:var(--ivory-soft)}
.chapter__num{font-family:var(--font-mono); font-size:var(--t-caption); color:var(--gold-deep); letter-spacing:.12em}
.chapter h3{font-family:var(--font-display); font-size:var(--t-h3); font-weight:400; line-height:1.16}
.chapter p{font-size:var(--t-small); color:var(--text-muted); line-height:1.55}
.chapter__go{margin-top:auto; padding-top:var(--sp-sm); display:inline-flex; align-items:center; gap:.6rem;
  font-size:var(--t-caption); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--accent)}
.chapter__go svg{transition:transform var(--d-base) var(--e-out)}
.chapter:hover .chapter__go svg{transform:translateX(3px)}

/* ---------- СПИСОК ХАРАКТЕРИСТИК ---------- */
.spec-list{display:grid; margin-top:var(--sp-md); border-top:1px solid var(--line)}
.spec-list div{display:flex; justify-content:space-between; gap:var(--sp-md); align-items:baseline;
  padding:.9rem 0; border-bottom:1px solid var(--hairline-soft)}
.spec-list span{font-size:var(--t-caption); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--text-faint)}
.spec-list b{font-weight:500; text-align:right; font-size:var(--t-small)}

/* ---------- ПОЯВЛЕНИЕ ----------
   Плавное появление по строкам, без «печатания». */
.rv{opacity:0; transform:translateY(18px); transition:opacity var(--d-slow) var(--e-out), transform var(--d-slow) var(--e-out)}
.rv.is-in{opacity:1; transform:none}
.rv-1{transition-delay:.08s} .rv-2{transition-delay:.16s} .rv-3{transition-delay:.24s} .rv-4{transition-delay:.32s}

/* ---------- АДАПТИВ ---------- */
@media (max-width:1024px){
  .footer__top{grid-template-columns:1fr 1fr; gap:var(--sp-lg)}
}
@media (max-width:1100px){
  .chapters--all{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .nav__links{display:none}
  .chapters{grid-template-columns:1fr}
  .page-head{padding-top:calc(6.5rem + var(--sat))}
  .nav__toggle{display:grid}
  .split{grid-template-columns:1fr; gap:var(--sp-lg)}
  .split--reverse > *:first-child{order:0}
  .collab__marks{grid-template-columns:1fr; gap:var(--sp-lg)}
}
@media (max-width:640px){
  .hero{padding-top:calc(5rem + var(--sat))}
  .field-row{grid-template-columns:1fr; gap:0}
  .footer__top{grid-template-columns:1fr; gap:var(--sp-lg)}
  .circle__grid{grid-template-columns:repeat(auto-fill, minmax(40px,1fr))}
}

/* Телефоны: первый экран должен помещаться целиком */
@media (max-width:640px){
    .hero__copy{gap:.5rem; padding-bottom:calc(var(--sp-md) + var(--sab))}
    .hero__edition{padding:.5rem 1rem; font-size:.6875rem}
  .hero__actions{gap:.6rem; flex-direction:column; width:100%}
  .hero__actions .btn{width:100%}
}
@media (max-height:720px){
  .hero{padding-top:calc(4.5rem + var(--sat))}
  .hero__copy{gap:.5rem}
}
@media (max-height:620px){
  .hero{padding-top:calc(3.75rem + var(--sat))}
  .hero__copy{gap:.35rem; padding-block:var(--sp-sm)}
  .hero__headline{display:none}                 /* дублирует смысл подзаголовка */
}

/* ---------- ДОСТУПНОСТЬ ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
  .rv{opacity:1; transform:none}
  .preloader{display:none}
}
@media (prefers-contrast:more){
  :root{--text-muted:var(--graphite); --line:rgba(28,26,23,.4)}
}
@media print{
  .nav,.drawer,.preloader,  body{background:#fff; color:#000}
}
