/* ОСЬ · тёмный минерал, медный свет, свободное пространство. */
:root { --atelier-copper: #c4a17c; --atelier-paper: #eee5d7; }
[hidden] { display: none !important; }
section[id], #review-form { scroll-margin-top: 6rem; }
.veil { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; contain: strict; opacity: 1; background: radial-gradient(ellipse at 12% 20%, #60455b18, transparent 48%), radial-gradient(ellipse at 88% 65%, #496d7021, transparent 56%), #0b1018; }
.kam-page .veil { display: block; opacity: 1; }
.kam-page::before { background: none; }
.kam-page .aura-clouds { display: none; }
.veil-dim, .veil-warm { opacity: 0 !important; }
.veil__flow, .veil__layer { display: none; }
.grain { opacity: .022; }
.stage__sky { background: radial-gradient(ellipse 42% 55% at 50% 40%, #ba95621b 0%, #70618b0b 65%, transparent 100%), linear-gradient(130deg, #0a111b, #080d15 58%, #16121c); animation: none; }
.veil::before, .stage__sky::before, .veil::after, .stage__sky::after {
  content: ''; display: block; position: absolute; inset: auto; pointer-events: none;
  width: 125vmax; height: 95vmax; border-radius: 46% 54% 61% 39%;
  filter: blur(35px); mix-blend-mode: screen; will-change: transform;
  background-repeat: no-repeat; background-size: 100% 100%;
}
.veil::before, .stage__sky::before {
  left: -34vmax; top: -28vmax; opacity: .5; --mist-opacity: .5;
  background-image: radial-gradient(ellipse at 48% 48%, #b9a07238, transparent 37%), radial-gradient(ellipse at 68% 64%, #a69ac43d, transparent 35%), radial-gradient(ellipse at 27% 70%, #5e9d9b32, transparent 40%);
  animation: atelier-mist-one 32s ease-in-out infinite alternate, atelier-mist-pulse 14s ease-in-out infinite;
}
.veil::after, .stage__sky::after {
  right: -42vmax; bottom: -32vmax; opacity: .44; --mist-opacity: .44;
  background-image: radial-gradient(ellipse at 46% 50%, #6fa9ab42, transparent 38%), radial-gradient(ellipse at 29% 33%, #c4a27b32, transparent 37%), radial-gradient(ellipse at 70% 66%, #8b779c36, transparent 35%);
  animation: atelier-mist-two 47s ease-in-out infinite alternate, atelier-mist-pulse 19s ease-in-out infinite;
}
@keyframes atelier-mist-one { from { transform: translate3d(-3%, -2%, 0) rotate(-12deg) scale(.94); } to { transform: translate3d(13%, 12%, 0) rotate(14deg) scale(1.1); } }
@keyframes atelier-mist-two { from { transform: translate3d(4%, 5%, 0) rotate(9deg) scale(1.08); } to { transform: translate3d(-15%, -10%, 0) rotate(-15deg) scale(.96); } }
.stage__sky::before { opacity: .28; --mist-opacity: .28; }
.stage__sky::after { opacity: .26; --mist-opacity: .26; }
@keyframes atelier-mist-pulse { 0%, 100% { opacity: calc(var(--mist-opacity) * .66); } 48% { opacity: var(--mist-opacity); } }
.stage__rays { opacity: .3; top: var(--seal-top, 34%); }
#field { opacity: .3; }
#energy { opacity: .68; }
.stage__dim { opacity: calc(var(--dimOn, .5) * .62); }
/* The oval shares the seal's own centre and scroll transform on every viewport. */
.stage__pin::after { content: none; }
.seal { top: var(--seal-top, 34%); }
.stage__hero { top: var(--hero-top, 63%); }
.seal::before { content: ''; position: absolute; pointer-events: none; width: var(--oval-size, min(70svh, 78vw, 700px)); height: var(--oval-size, min(70svh, 78vw, 700px)); left: 50%; top: 50%; border: 1px solid #e2c79c85; border-radius: 50%; transform: translate(-50%, -50%) rotate(-23deg) scaleX(.72); box-shadow: 0 0 22px #d0ad7938, inset 0 0 35px #b4a3ca14, 0 0 90px #a1b4cb12; background: radial-gradient(ellipse at 35% 28%, #ddc5a605, transparent 62%); }
.seal__aura { background: radial-gradient(ellipse, #ddba7a30 0%, #9f9bc71c 42%, #6b99950d 65%, transparent 77%); filter: blur(28px); }
.seal__logo { filter: drop-shadow(0 0 28px #ddbd8259) drop-shadow(0 0 70px #b1a9cc38); }
.reviews { background: linear-gradient(180deg, #1a202a7a, #111822bf); }
.review-card { background: #1b232cde; }
.top nav { display: flex; gap: 1.5rem; }
.top nav a { white-space: nowrap; }
.review-inline { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .65rem 1.5rem; margin: 2.2rem auto 0; font-size: .82rem; }
.review-inline a { border-bottom: 1px solid #bca27b55; padding-bottom: .2rem; }
.touch-note { max-width: 52rem; margin: 4rem auto 1rem; padding: clamp(1.6rem, 4vw, 3rem); border: 1px solid #bca27b38; border-radius: 3px 34px 3px 3px; background: linear-gradient(125deg, #a97c4920, #12171df2 70%); }
.touch-note__eyebrow { text-transform: uppercase; letter-spacing: .2em; color: var(--atelier-copper); font-size: .65rem; margin: 0 0 1.2rem; }
.touch-note h3 { font-size: clamp(1.7rem, 4.5vw, 2.4rem); line-height: 1.1; }
.touch-note p:last-child { max-width: 42rem; color: #c3bbaf; font-size: .94rem; margin: 1.2rem 0 0; line-height: 1.9; }
.application-shell { display: grid; grid-template-columns: 15rem minmax(0, 1fr); align-items: start; gap: clamp(1.5rem, 4vw, 4rem); margin-top: 3rem; }
.application-aside { position: sticky; top: 7rem; padding: 2rem 0; text-align: left; }
.application-aside__title { font-family: var(--display); font-size: 2rem; font-weight: 300; line-height: 1.18; margin: 0 0 1rem; }
.application-aside p { color: #b6aea0; font-size: .82rem; line-height: 1.9; }
.application-aside ol { list-style: none; counter-reset: atelier; margin: 1.7rem 0; padding: 0; }
.application-aside li { counter-increment: atelier; padding: .9rem 0; border-top: 1px solid var(--line); font-size: .8rem; color: #cfc5b6; }
.application-aside li::before { content: '0' counter(atelier); display: inline-block; width: 2rem; color: var(--atelier-copper); font-size: .7rem; }
.application-aside a { font-size: .77rem; }
.application-progress { border-top: 1px solid var(--line); padding-top: 1rem; }
.application-progress label { display: block; color: #b6aea0; font-size: .7rem; }
.application-progress progress { display: block; width: 100%; height: 3px; margin: .75rem 0 1rem; border: 0; background: #ffffff15; accent-color: var(--atelier-copper); }
.application-progress progress::-webkit-progress-bar { background: #ffffff15; }
.application-progress progress::-webkit-progress-value { background: var(--atelier-copper); transition: width .2s; }
.application-progress progress::-moz-progress-bar { background: var(--atelier-copper); }
.application-shell .form-glass { width: 100%; max-width: none; margin: 0; padding: clamp(1.3rem, 3.5vw, 2.8rem); border-radius: 4px 30px 4px 4px; background: linear-gradient(135deg, #202126f5, #11171dfc 60%); backdrop-filter: none; box-shadow: 0 24px 80px #0003; border: 1px solid #c1a17d38; }
.application-aside .care { margin-top: 1.8rem; justify-content: flex-start; }
.application-aside .care__tg { padding: .7rem .9rem; border-radius: 5px; background: #2c719014; }
.application-aside .care__tg b { font-size: .75rem; }
.application-aside .care__tg small { font-size: .65rem; }
.application-aside .care__or { display: none; }
.application-designs { border: 1px solid #c7b39532; border-radius: 6px; background: #090d138c; }
.application-designs summary { padding: .9rem 1rem; font-size: .85rem; color: #d8c6aa; cursor: pointer; }
.application-designs .pick { padding: .8rem; margin-top: 0; }
.application-designs[open] summary { border-bottom: 1px solid var(--line); }
.chakra-help { display: flex !important; align-items: flex-start; gap: .75rem; padding: .9rem 1rem; border: 1px solid #c4a17c45; border-radius: 5px; background: #c4a17c0b; cursor: pointer; font-size: .8rem; }
.chakra-help input { width: 18px; height: 18px; min-height: 0; margin: .25rem 0 0; flex: 0 0 18px; accent-color: var(--gold); }
#vazhno { padding-block: 2.5rem; }
#vazhno summary { cursor: pointer; color: #b6aea0; padding-block: .8rem; }
.handling { padding-block: 1rem 2rem; }
.handling .touch-note { margin-block: 0; }
.form-glass .field input:not([type=checkbox]):not([type=radio]):not([type=file]), .form-glass .field textarea, .form-glass .field select { min-height: 52px; font-size: 16px; border-radius: 6px; border-color: #c7b39532; background: #090d138c; color: var(--atelier-paper); }
.form-glass .field input:focus, .form-glass .field textarea:focus, .form-glass .field select:focus { border-color: #c4a17c; box-shadow: 0 0 0 3px #c4a17c12; }
.form-glass .switch { border-radius: 6px; }
.form-glass .field label, .form-glass .field .label { color: #ded5c5; }
.form-glass .field small { color: #aaa396; }
.form-glass .personal { border-top-color: #c4a17c40; }
.reviews { border-top: 1px solid var(--line); background: linear-gradient(180deg, #1a202a7a, #111822bf); }
.reviews__intro { max-width: 38rem; margin: 1.3rem auto 2rem; text-align: center; color: #b6aea0; font-size: .95rem; }
.reviews__actions { display: flex; justify-content: center; margin: 1.8rem auto 3rem; }
.reviews__state { text-align: center; max-width: 35rem; color: #b6aea0; padding: 1.5rem; margin: 0 auto 2rem; font-size: .9rem; }
.review-retry { font: inherit; color: var(--gold); border: 0; border-bottom: 1px solid currentColor; background: none; padding: 0; cursor: pointer; }
.reviews__grid { display: flex; gap: 1.25rem; align-items: stretch; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; padding: .4rem .1rem 1.5rem; }
.reviews__grid::-webkit-scrollbar { display: none; }
.reviews__grid:empty { display: none; }
.review-card { min-width: 0; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid #bfa27b2e; background: #1b232cde; border-radius: 3px 20px 3px 3px; }
.review-card { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; display: flex; flex-direction: column; min-height: 22rem; background: linear-gradient(135deg, #28282d9c, #101820ed 65%); }
.review-card--photo { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr); grid-template-rows: auto 1fr auto; column-gap: 2rem; }
.review-card--photo > :not(.review-card__photo) { grid-column: 1; }
.review-card--photo .review-card__photo { grid-column: 2; grid-row: 1 / span 3; height: 100%; max-height: 360px; margin: 0; align-self: center; border-radius: 3px 16px 3px 3px; }
.review-card__text--clipped:not(.is-expanded) { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.review-card__expand { align-self: start; justify-self: start; font: 400 .75rem var(--body); color: var(--gold); background: none; border: 0; border-bottom: 1px solid var(--gold-dim); padding: .4rem 0; cursor: pointer; margin-top: .7rem; }
.reviews-controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .5rem; }
.reviews-controls__hint { color: #aaa091; font-size: .75rem; margin: 0; }
.reviews-controls__buttons { display: flex; align-items: center; gap: .9rem; }
.reviews-arrow { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #bfa27b70; border-radius: 50%; color: #d9c299; font: 300 1.2rem var(--body); background: #bfa27b09; cursor: pointer; transition: background .2s; }
.reviews-arrow:hover { background: #bfa27b20; }
.reviews-arrow:disabled { opacity: .25; cursor: default; }
.reviews-position { min-width: 3.5rem; text-align: center; color: #b6a993; font-size: .75rem; font-variant-numeric: tabular-nums; }
.reviews-empty { display: grid; grid-template-columns: 15rem minmax(0, 1fr); align-items: center; gap: clamp(1.5rem, 5vw, 4rem); border: 1px solid #bfa27b38; padding: clamp(1.5rem, 4vw, 3rem); border-radius: 4px 32px 4px 4px; background: radial-gradient(ellipse at 15% 45%, #b69b6e12, transparent 60%), #10171fd6; }
.reviews-empty__mark { position: relative; display: grid; place-items: center; height: 13rem; isolation: isolate; }
.reviews-empty__mark::before { content: ''; position: absolute; inset: 8% 15%; border: 1px solid #bfa27b42; border-radius: 50%; transform: rotate(-23deg) scaleX(.78); box-shadow: 0 0 60px #bfa27b12; }
.reviews-empty__mark img { width: 150px; opacity: .55; }
.reviews-empty__copy .sec__eyebrow { text-align: left; margin-bottom: .75rem; }
.reviews-empty__copy h3 { font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.1; }
.reviews-empty__copy > p:not(.sec__eyebrow) { color: #b9b0a2; font-size: .9rem; max-width: 34rem; }
.reviews-empty__copy .btn { margin-top: .8rem; }
.review-waypoint { display: flex; justify-content: center; margin: 2.5rem auto 0; }
.review-waypoint .btn { display: inline-flex; align-items: center; gap: 1.6rem; padding: .85rem 1.4rem; border-radius: 5px; border-color: #bfa27b60; background: #bfa27b07; font-size: .75rem; }
.handling .touch-note--ritual { max-width: none; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; padding: clamp(1.7rem, 5vw, 3.5rem); border-radius: 4px 40px 4px 4px; background: radial-gradient(ellipse at 0% 15%, #ae875220, transparent 60%), linear-gradient(140deg, #1a2029ed, #10171ff0); }
.touch-note__copy h2 { text-align: left; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; }
.touch-note__copy > p:not(.touch-note__eyebrow) { color: #bdb3a5; font-size: .9rem; line-height: 1.9; }
.touch-note__copy .btn { display: inline-flex; align-items: center; gap: 1.5rem; border-radius: 5px; font-size: .73rem; margin-top: 1rem; padding: .75rem 1.2rem; }
.touch-note__route { margin: 0; padding: 0; list-style: none; }
.touch-note__route li { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr); gap: .9rem; padding: 1.2rem 0; border-bottom: 1px solid #bfa27b2b; }
.touch-note__route li:first-child { padding-top: 0; }
.touch-note__route li:last-child { border-bottom: 0; padding-bottom: 0; }
.touch-note__route li > span { color: #ab9571; font-family: var(--display); font-size: 2rem; font-weight: 300; line-height: 1; }
.touch-note__route h3 { font-family: var(--body); font-size: .8rem; font-weight: 500; }
.touch-note__route li p { margin: .4rem 0 0; color: #a79c8c; font-size: .75rem; line-height: 1.7; }
.review-card__head { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 0 .9rem; align-items: center; }
.review-card__initial { grid-row: span 2; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #bba0785c; border-radius: 50%; color: var(--atelier-copper); font-family: var(--display); font-size: 1.4rem; }
.review-card__head h3 { font: 500 .9rem var(--body); color: #e5ddce; overflow-wrap: anywhere; }
.review-card__head time { font-size: .65rem; color: #9f978b; }
.review-card__text { font-family: var(--display); font-size: 1.48rem; line-height: 1.5; color: #d9d0c1; white-space: pre-wrap; overflow-wrap: anywhere; margin: 1.5rem 0 .5rem; }
.review-card__photo { width: 100%; max-height: 420px; object-fit: contain; margin-top: 1.5rem; background: #090d12; border-radius: 2px; }
#reviews-more { display: block; margin: 2rem auto; }
.review-write { display: grid; grid-template-columns: 1fr 1.35fr; gap: clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--line); margin-top: 4rem; padding-top: 3rem; }
.review-write h3 { font-size: clamp(2rem, 5vw, 2.7rem); line-height: 1.1; }
.review-write__note { color: #b6aea0; font-size: .88rem; line-height: 1.9; max-width: 23rem; }
.review-write__privacy { color: #a39a8c; font-size: .75rem; line-height: 1.9; }
.review-form { display: grid; gap: 1.3rem; min-width: 0; }
.review-form label { display: block; font-size: .8rem; margin-bottom: .5rem; color: #d4cbbb; }
.review-form input[type=text], .review-form textarea { display: block; width: 100%; min-height: 52px; background: #0a0e14; border: 1px solid #bfa27b40; padding: .9rem 1rem; color: #eee5d7; font: 400 16px/1.65 var(--body); border-radius: 4px; }
.review-form textarea { min-height: 180px; resize: vertical; }
.review-form input:focus, .review-form textarea:focus { border-color: var(--atelier-copper); }
.review-form__counter { display: block; text-align: right; font-size: .65rem; color: #9f978b; margin-top: .4rem; }
.review-form .review-photo__pick { display: flex; align-items: center; justify-content: center; min-height: 65px; border: 1px dashed #bfa27b60; border-radius: 4px; color: var(--atelier-copper); padding: 1rem; cursor: pointer; overflow-wrap: anywhere; text-align: center; }
.review-photo__input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.review-photo__input:focus-visible + label { outline: 2px solid var(--gold); outline-offset: 3px; }
.review-photo__hint { display: block; font-size: .68rem; color: #aaa193; }
#review-preview { max-height: 160px; width: auto; margin: 1rem 0; border-radius: 4px; }
#review-photo-remove { font: inherit; color: var(--gold); background: none; border: 0; cursor: pointer; font-size: .75rem; padding: .5rem 0; }
.review-form .review-consent { display: flex; align-items: flex-start; gap: .8rem; font-size: .72rem; line-height: 1.8; color: #aaa193; }
.review-consent input { margin: .35rem 0 0; width: 18px; height: 18px; flex: 0 0 18px; accent-color: var(--gold); }
.review-form .btn { width: 100%; min-height: 52px; }
.review-form .btn:disabled { opacity: .5; cursor: wait; }
.review-status { font-size: .8rem; color: #d4c4a3; margin: 0; min-height: 1.8em; }
.review-status.is-error { color: #efa8a0; }
.review-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (min-width: 1100px) { #zayavka .wrap { max-width: 78rem; } }
@media (max-width: 850px) {
  .application-shell { grid-template-columns: minmax(0, 1fr); gap: 1.2rem; }
  .application-aside { position: static; padding: 0; }
  .application-aside__title, .application-aside > p, .application-aside ol { display: none; }
  .application-progress { border: 0; padding: 0; }
  .application-aside > a { display: inline-block; margin-bottom: 1rem; }
}
@media (max-width: 600px) {
  .top { gap: .65rem; padding-inline: 1rem; }
  .top nav { gap: .8rem; font-size: .7rem; }
  .top__section { display: none; }
  .top__mark img { width: 62px; }
  .top__cta { padding: .5rem .7rem; }
  .reviews__grid, .review-write { grid-template-columns: minmax(0, 1fr); }
  .review-write { gap: 1.2rem; }
  .review-card__text { font-size: 1.35rem; }
  .form-glass .field input, .form-glass .field select, .form-glass .field textarea { max-width: 100%; }
}
@media (max-width: 600px) {
  body main p, body section p { text-align: justify !important; text-align-last: start !important; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
  .sec__eyebrow, .touch-note__eyebrow, .reviews__state, .review-status, .field p, .application-aside p, .product-visual p, .format__price { text-align: start !important; text-align-last: start !important; hyphens: none; -webkit-hyphens: none; }
  .sec__eyebrow, .reviews__state, .product-visual p { text-align: center !important; text-align-last: center !important; }
  .veil::before, .veil::after, .stage__sky::before, .stage__sky::after { filter: blur(25px); }
  .seal::before { width: var(--oval-size, min(92vw, 52svh)); height: var(--oval-size, min(92vw, 52svh)); }
}
@media (min-width: 601px) and (max-width: 940px) {
  .top { gap: .75rem; padding: .8rem 1.25rem; }
  .top__mark img { width: 70px; }
  .top__section { font-size: .64rem; padding: .5rem .75rem; }
  .top__section__long { display: none; }
  .top nav { gap: .9rem; font-size: .75rem; }
  .top__cta { padding: .55rem .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .veil::before, .veil::after, .stage__sky::before, .stage__sky::after { animation: none; will-change: auto; }
}
@media (max-width: 760px) {
  .handling .touch-note--ritual, .reviews-empty { grid-template-columns: minmax(0, 1fr); }
  .touch-note__route { border-top: 1px solid #bfa27b2b; padding-top: 1.5rem; }
  .reviews-empty { gap: .75rem; }
  .reviews-empty__mark { width: 10rem; height: 7.5rem; margin-inline: auto; }
  .reviews-empty__mark img { width: 125px; }
  .reviews-empty__copy h3 { text-align: center; }
  .reviews-empty__copy .btn { display: block; text-align: center; }
  .review-card { flex-basis: calc(100% - 1rem); min-height: 20rem; }
  .review-card--photo { display: flex; }
  .review-card--photo .review-card__photo { width: 100%; height: auto; max-height: 280px; margin-top: 1.2rem; }
  .reviews-controls__hint { display: none; }
  .reviews-controls { justify-content: flex-end; }
}

.chakra-help::after { display: none !important; }

html.no-motion .seal { position: relative; left: auto; top: auto; }

/* Depth below the opening: irregular volumes, with no repeated bands or hard rims.
   The opening's .stage__sky and its animations stay independent. */
.veil {
  background: linear-gradient(155deg, #070a11 0%, #0a0e16 45%, #070b12 100%);
}
.veil::before, .veil::after {
  inset: -25%; width: 150%; height: 150%; aspect-ratio: auto;
  border-radius: 0; background-repeat: no-repeat; background-size: 100% 100%;
  mix-blend-mode: normal; filter: none;
  transform-origin: 50% 50%;
}
.veil::before {
  background-image: url('/assets/depth-umber.png'); opacity: .52;
  animation: atelier-depth-near 46s ease-in-out infinite alternate;
}
.veil::after {
  background-image: url('/assets/depth-slate.png'); opacity: .62;
  animation: atelier-depth-far 67s ease-in-out infinite alternate;
}
@keyframes atelier-depth-near {
  0% { transform: translate3d(-4%, 3%, 0) rotate(-5deg) scale(1.04); opacity: .34; }
  48% { opacity: .60; }
  100% { transform: translate3d(6%, -5%, 0) rotate(6deg) scale(1.16); opacity: .42; }
}
@keyframes atelier-depth-far {
  0% { transform: translate3d(5%, -3%, 0) rotate(8deg) scale(1.14); opacity: .66; }
  53% { opacity: .38; }
  100% { transform: translate3d(-6%, 6%, 0) rotate(-7deg) scale(1.02); opacity: .58; }
}
@media (max-width: 600px) {
  .veil::before, .veil::after { filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  .veil::before, .veil::after { animation: none; will-change: auto; }
}

/* No offscreen fog layers while the wordmark is transforming. */
.has-opening .veil { display: none; opacity: var(--veilOn, 0); }
.has-opening .veil.is-on { display: block; }
.has-opening .veil::before, .has-opening .veil::after { animation-play-state: paused; will-change: auto; }
.has-opening .veil.is-on::before, .has-opening .veil.is-on::after { animation-play-state: running; will-change: transform, opacity; }

html.no-motion .veil { display: block; opacity: 1; }

/* Keep the moving SVG sharp; its surrounding aura supplies the soft light.
   Filtering the live glyphs re-rasterizes both large shadows on every scroll frame. */
.seal__logo { filter: none; }
/* The vignette is painted once. Only its opacity follows the transition. */
.stage__dim {
  background: radial-gradient(circle 820px at 50% 40%,
    rgba(3,5,9,0) 0%, rgba(3,5,9,.18) 34%, rgba(3,5,9,.52) 62%,
    rgba(3,5,9,.72) 84%, rgba(3,5,9,.80) 100%);
  will-change: opacity;
}
@media (max-width: 760px), (hover: none) {
  .stage__dim { background-size: auto; background-image: radial-gradient(circle 520px at 50% 36%,
    rgba(3,5,9,0) 0%, rgba(3,5,9,.18) 34%, rgba(3,5,9,.52) 62%,
    rgba(3,5,9,.72) 84%, rgba(3,5,9,.80) 100%); }
}

/* A single rhythm between the home page's content sections. */
body > section[id]:not(#vazhno) { padding-block: clamp(40px, 5vw, 72px); }
body > section[id] > .wrap > :first-child { margin-top: 0; }
body > section[id] > .wrap > :last-child { margin-bottom: 0; }
.top nav .top__guide { display: none; }
@media (max-width: 600px) {
  .top { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: clamp(4px, 1.5vw, 8px); padding-inline: 10px; }
  .top__mark img { width: clamp(44px, 12vw, 54px); }
  .top .top__lang { margin: 0; padding: 7px 8px; gap: 4px; font-size: 11px; }
  .top__lang svg { width: 12px; height: 12px; }
  .top nav { min-width: 0; margin: 0; gap: clamp(5px, 2vw, 10px); justify-content: center; align-items: center; }
  .top nav a { min-height: 40px; display: flex; align-items: center; font-size: 12px; letter-spacing: 0; }
  .top nav .top__forms { display: none; }
  .top nav .top__guide { display: block; text-align: center; line-height: 1.25; padding-block: 5px; }
  .top .top__cta { margin: 0; font-size: clamp(11px, 3vw, 13px); padding: 9px 12px; letter-spacing: .02em; }
}
