@font-face {
  font-family: "TT Firs Neue";
  src: url("tt-firs-neue-bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("source-sans-3-cyrillic.woff2") format("woff2");
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("source-sans-3-latin.woff2") format("woff2");
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  color-scheme: dark;
  --ink: #f2f2f5;
  --slate: #b4b6c0;
  --paper: #0a0b13;
  --white: #fff;
  --mist: #141620;
  --rule: #303341;
  --blue: #344dc8;
  --deep-blue: #121837;
  --focus: #f2f2f5;
  --gutter: clamp(1.25rem, 5.2vw, 5.5rem);
  --title-font: "TT Firs Neue", system-ui, sans-serif;
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-synthesis: none;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); }
img, video { display: block; max-width: 100%; }
a { color: inherit; }
button, summary { font: inherit; }
button { color: inherit; }
a, button, summary { touch-action: manipulation; -webkit-tap-highlight-color: #5a5edc50; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
[id] { scroll-margin-block-start: 1.5rem; }
.sr-only, .skip:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip:focus { position: fixed; z-index: 5; top: 1rem; left: 1rem; padding: .8rem 1rem; background: #141620; color: var(--ink); }

h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-family: var(--title-font); font-weight: 700; text-wrap: balance; overflow-wrap: break-word; }
h1, h2 { letter-spacing: -.042em; line-height: 1.06; }
h2 { font-size: clamp(2rem, 4.4vw, 4.35rem); }
h3 { font-size: clamp(1.13rem, 1.8vw, 1.6rem); line-height: 1.2; letter-spacing: -.027em; }
.title-mask { overflow: hidden; padding: 0 .055em .14em; margin: 0 -.055em -.14em; }
.title-ink { display: block; }
p, address { line-height: 1.64; }
address { font-style: normal; }
svg { display: block; width: 1.25rem; height: 1.25rem; flex: none; }

.wrap {
  width: 100%;
  max-width: 100rem;
  margin-inline: auto;
  padding-inline: max(var(--gutter), env(safe-area-inset-left)) max(var(--gutter), env(safe-area-inset-right));
}
.section { padding-block: clamp(3.7rem, 7.6vw, 7.5rem); }
.actions { display: flex; flex-wrap: wrap; gap: .65rem 1.4rem; align-items: center; }
.button, .text-link { display: inline-flex; align-items: center; gap: .65rem; width: fit-content; max-width: 100%; min-height: 2.75rem; font-size: 1rem; font-weight: 700; line-height: 1.35; }
.button { justify-content: center; padding: .86rem 1.12rem; border: 1px solid transparent; border-radius: .38rem; text-decoration: none; }
.button--bright { background: var(--blue); color: #fff; }
.button--bright:hover { background: #273b9e; }
.button--outline { border-color: #727686; color: white; }
.button--outline:hover { background: #ffffff21; }
.text-link { text-decoration-color: #81949f; text-decoration-thickness: 1px; text-underline-offset: .28em; }
.text-link:hover { text-decoration-color: currentColor; color: #fff; }

.site-header { position: relative; z-index: 3; background: var(--paper); border-bottom: 1px solid var(--rule); }
.header-inner { min-height: 4.65rem; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: clamp(1rem, 3.2vw, 3.1rem); }
.brand { display: inline-flex; align-items: center; min-height: 2.75rem; flex: none; }
.brand img { width: clamp(7.3rem, 12vw, 9rem); height: auto; }
.desktop-nav { display: flex; justify-content: flex-end; gap: clamp(1.25rem, 3vw, 3.1rem); align-items: center; font-size: .98rem; font-weight: 650; }
.desktop-nav a, .mobile-panel nav a { display: flex; align-items: center; min-height: 2.75rem; text-decoration: none; }
.desktop-nav a:hover, .mobile-panel nav a:hover { color: white; text-decoration: underline; text-underline-offset: .28em; }
.desktop-nav a[aria-current] { text-decoration: underline; text-underline-offset: .35em; }
.desktop-languages { position: relative; }
.desktop-languages summary { min-width: 2.75rem; min-height: 2.75rem; display: flex; align-items: center; gap: .28rem; list-style: none; cursor: pointer; font-size: .78rem; font-weight: 760; }
.desktop-languages summary::-webkit-details-marker { display: none; }
.desktop-languages summary svg { width: .9rem; height: .9rem; }
.desktop-languages[open] summary svg { transform: rotate(180deg); }
.language-options { position: absolute; inset: calc(100% + .35rem) 0 auto auto; min-width: 9rem; padding: .45rem .6rem; border: 1px solid var(--rule); background: #151724; }
.language-options .languages { display: grid; align-items: stretch; }
.language-options .languages a { justify-content: start; padding-inline: .55rem; font-size: .86rem; }
.languages { display: flex; align-items: center; gap: .1rem; color: var(--slate); font-size: .73rem; font-weight: 750; }
.languages a { display: grid; min-width: 2.75rem; min-height: 2.75rem; place-items: center; text-decoration: none; border-radius: .36rem; }
.languages a[aria-current] { color: white; text-decoration: underline; text-underline-offset: .32em; }
.languages a:hover { color: white; text-decoration: underline; text-underline-offset: .25em; }
.mobile-menu { display: none; }

.hero {
  --focus: #fff;
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  min-height: clamp(34rem, 46vw, 59rem);
  background: #090b13;
  color: #fff;
}
.hero-inner { position: relative; z-index: 1; padding-block: 4.8rem 5.3rem; }
.hero-copy { max-width: 44%; }
.hero-kicker { display: flex; gap: .7rem; align-items: center; margin-bottom: .85rem; color: #c6c8d8; font-size: .72rem; font-weight: 680; letter-spacing: .12em; line-height: 1.35; text-transform: uppercase; }
.hero-rule { flex: 0 0 1.6rem; height: 1px; background: #7c8ae3; transform-origin: left; }
.hero h1 { font-size: clamp(2.375rem, 4.55vw, 4.7rem); text-wrap: wrap; text-transform: uppercase; letter-spacing: -.04em; }
.hero h1:lang(ru) { font-size: clamp(2.25rem, 4.2vw, 4.375rem); }
.hero-intro { color: var(--slate); font-size: clamp(1.0625rem, 1.45vw, 1.25rem); max-width: 23rem; margin-top: 1.35rem; }
.hero .actions { margin-top: 1.65rem; }
.hero .text-link { color: #f2f2f5; text-decoration-color: #858794; }
.hero .text-link:hover { text-decoration-color: #fff; }

.hero-figure { position: absolute; inset: 0; }
.hero-media { position: absolute; inset: 0; max-width: 120rem; margin-inline: auto; overflow: hidden; }
.hero-media picture, .hero-media video { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-media img, .hero-media video { width: 100%; height: 100%; object-fit: cover; }
.hero-media img, .hero-media video { object-position: 71% 50%; }
.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, #090b13 0%, #090b13ee 24%, #090b1380 39%, transparent 51%);
}
.hero-media.has-video picture { opacity: 0; pointer-events: none; }
.film-loader {
  position: absolute;
  z-index: 2;
  inset: clamp(2.1rem, 5.1vw, 4.6rem) max(var(--gutter), env(safe-area-inset-right)) auto auto;
  padding: .28rem .65rem;
  pointer-events: none;
  color: #e3e5ef;
  background: #0a0b13d9;
  font-size: .72rem;
  letter-spacing: .06em;
}
.hero-figure > .motion {
  position: absolute;
  z-index: 2;
  inset: auto max(var(--gutter), env(safe-area-inset-right)) 1.35rem auto;
}
.motion {
  display: inline-grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  background: #10111bdf;
  color: #fff;
  border: 1px solid #737588;
  border-radius: 50%;
  cursor: pointer;
}
.motion:hover { background: #242637; border-color: #dddde5; }
.motion svg { width: 1.05rem; height: 1.05rem; }
.motion-pause, .motion.is-playing .motion-play { display: none; }
.motion.is-playing .motion-pause { display: block; }
.motion-status {
  position: absolute;
  z-index: 2;
  inset: auto max(var(--gutter), env(safe-area-inset-right)) 4.5rem auto;
  max-width: 28ch;
  color: white;
  background: #090b13;
  padding: .6rem .8rem;
  font-size: .85rem;
}
.motion-status:empty { display: none; }
.supplier { background: #10132a; border-block: 1px solid #242948; }

.supplier-strip { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem 1.8rem; padding-block: .55rem; font-size: .86rem; font-weight: 680; }
.supplier-strip p, .supplier-phone { display: inline-flex; align-items: center; gap: .46rem; }
.supplier-strip .experience { gap: .65rem; padding-inline-end: 1.5rem; border-inline-end: 1px solid #343a58; }
.experience strong { color: #fff; font-family: var(--title-font); font-size: clamp(2.1rem, 3.8vw, 3rem); font-weight: 700; line-height: 1; letter-spacing: -.05em; }
.experience span { color: var(--slate); max-width: 13ch; line-height: 1.25; }
.supplier-strip svg { width: 1rem; height: 1rem; color: #b6b7c6; }
.supplier-phone { margin-inline-start: auto; min-height: 2.75rem; color: #efeff5; text-decoration-thickness: 1px; text-underline-offset: .22em; font-variant-numeric: tabular-nums; }
.supplier-phone:hover { color: #fff; text-decoration-thickness: 2px; }
.chapter-mark { display: flex; align-items: center; gap: .6rem; margin-bottom: .7rem; color: #a5afeb; font-size: .72rem; font-weight: 720; letter-spacing: .14em; font-variant-numeric: tabular-nums; }
.chapter-rule { width: 2rem; height: 1px; background: #656fae; transform-origin: left; }

.materials-section { background: #0b0d16; }
.section-intro { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 3rem; align-items: end; margin-bottom: clamp(1.8rem, 3.6vw, 3.1rem); }
.section-intro h2 { max-width: 15ch; }
.section-intro p { color: var(--slate); max-width: 39ch; }
.section-intro .text-link { color: #f1f1f4; }
.atlas { display: grid; gap: clamp(1.25rem, 3.2vw, 3rem); }
.material-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-block: 1px solid var(--rule); }
.material-link { display: flex; align-items: center; justify-content: space-between; gap: .65rem; min-height: 3.65rem; padding: .58rem .75rem; text-decoration: none; font-size: clamp(.88rem, 1.4vw, 1.05rem); font-weight: 780; }
.material-link + .material-link { border-inline-start: 1px solid var(--rule); }
.material-link svg { width: 1rem; height: 1rem; }
.material-link:hover, .material-link[data-pending] { color: #fff; background: #191b2a; }
.material-link[aria-current] { background: #181d37; color: #fff; box-shadow: inset 0 -3px 0 var(--blue); }
.material-panels { display: grid; gap: 2rem; min-width: 0; }
.specimen { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: clamp(1rem, 4.6vw, 5rem); align-items: center; min-width: 0; }
.specimen-image { position: relative; aspect-ratio: 1.65; overflow: hidden; background: var(--mist); }
.specimen-image img { width: 100%; height: 100%; object-fit: cover; }
.image-shutter {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, #10131e, #262e4c);
  border-inline-start: 2px solid #7385d4;
  transform: scaleX(0);
  transform-origin: right center;
  opacity: 0;
}
.specimen--ceramic .specimen-image img { object-position: 62% center; }
.specimen-image figcaption { position: absolute; inset: auto auto .56rem .56rem; padding: .23rem .44rem; background: #141620; color: var(--ink); border-radius: .2rem; font-size: .68rem; }
.specimen-copy h3 { font-size: clamp(1.42rem, 2.3vw, 2.15rem); }
.specimen-copy p { color: var(--slate); margin-top: .62rem; font-size: .94rem; }
.specimen-copy strong { display: block; color: var(--ink); margin-bottom: .14rem; font-weight: 790; }
.specimen-copy .specimen-details { margin-top: .85rem; padding-top: .75rem; border-top: 1px solid var(--rule); }

.process-section, .interior-hero {
  --focus: #f8fbff;
  background: var(--deep-blue);
  color: var(--white);
}
.process-grid, .reference-grid, .company-grid, .faq-grid, .contact-grid, .closing-grid { display: grid; grid-template-columns: minmax(0, .87fr) minmax(0, 1.13fr); align-items: start; gap: clamp(1.6rem, 6vw, 7rem); }
.process-lead p, .interior-hero p { margin-top: 1rem; max-width: 45ch; color: #c1c4cf; }
.process-lead .button { margin-top: 1.35rem; }
.process-list { position: relative; margin: 0; padding: 0; list-style: none; counter-reset: step; }
.process-list::after { content: ""; position: absolute; inset: .95rem auto .95rem 1.95rem; width: 1px; pointer-events: none; background: #424a78; }
.process-list li { position: relative; padding: 1.12rem 0 1.22rem 3rem; border-top: 1px solid #343956; counter-increment: step; }
.process-list li:last-child { border-bottom: 1px solid #343956; }
.step-rule { position: absolute; inset: -1px 0 auto; height: 1px; background: #57669c; transform-origin: left; }
.process-list li::before { content: counter(step, decimal-leading-zero); position: absolute; top: 1.25rem; left: 0; color: #d6d8e5; font-size: .9rem; font-weight: 790; font-variant-numeric: tabular-nums; }
.process-list h3 { text-wrap: initial; }
.process-list p { margin-top: .4rem; color: #c1c4cf; font-size: .95rem; }

.reference-section { background: #0d101b; border-block: 1px solid #242632; }
.reference-grid { grid-template-areas: "photo intro" "photo tips"; row-gap: 1.15rem; }
.reference-intro { grid-area: intro; }
.reference-photo { grid-area: photo; align-self: center; }
.reference-frame { position: relative; overflow: hidden; border-radius: .8rem .8rem 2.25rem .8rem; }
.reference-photo img { width: 100%; height: auto; }
.reference-photo figcaption { margin-top: .48rem; color: var(--slate); font-size: .76rem; }
.reference-grid h2 { font-size: clamp(1.85rem, 3.9vw, 3.6rem); }
.reference-grid p, .company-copy p { margin-top: .9rem; color: var(--slate); max-width: 57ch; }
.reference-list { grid-area: tips; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.reference-list li { position: relative; padding: .8rem 0 .8rem 1.35rem; border-bottom: 1px solid var(--rule); line-height: 1.55; }
.reference-list li::before { content: ""; position: absolute; width: .38rem; height: .38rem; top: 1.36rem; left: .1rem; background: var(--blue); border-radius: 50%; }

.company-section { background: #090b13; }
.location-card { padding: .8rem clamp(1.3rem, 3.4vw, 2.6rem); border-inline-start: 1px solid var(--rule); }
.location-pin { width: 2.6rem; height: 2.6rem; display: grid; place-items: center; background: #202644; color: #fff; border-radius: 50%; margin-bottom: .55rem; }
.location-city { font-family: var(--title-font); font-size: clamp(1.32rem, 2.5vw, 2.15rem); font-weight: 700; letter-spacing: -.035em; }
.location-card .text-link, .contact-location .text-link, .legal-copy .text-link { color: #f2f2f5; margin-top: .55rem; }
.waste-registration { margin-top: 1.3rem; padding: 1.15rem 1.2rem .8rem; border: 1px solid var(--rule); background: var(--mist); }
.waste-registration dl { margin: .65rem 0; }
.waste-registration dl div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .7rem; align-items: baseline; padding-block: .45rem; border-bottom: 1px solid var(--rule); }
.waste-registration dt, .waste-registration p { color: var(--slate); font-size: .94rem; }
.waste-registration dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.waste-registration .text-link { margin-top: .35rem; }

.faq-section { border-top: 1px solid var(--rule); }
.faq-list { border-top: 1px solid var(--rule); }
.faq-list details { border-bottom: 1px solid var(--rule); }
.faq-list summary { position: relative; list-style: none; padding: 1rem 2rem 1rem 0; font-weight: 760; cursor: pointer; min-height: 2.75rem; }
.faq-list summary:hover { color: #fff; text-decoration: underline; text-underline-offset: .28em; }
.faq-list summary::-webkit-details-marker, .mobile-menu summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: .15rem; top: .68rem; font-size: 1.42rem; font-weight: 500; color: #bdbecb; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list p { color: var(--slate); margin: 0 2rem 1.1rem 0; }

.closing { --focus: #fff; padding-block: clamp(2.85rem, 6vw, 5.5rem); background: #121734; color: var(--white); }
.closing-grid { align-items: center; }
.closing h2 { font-size: clamp(2rem, 4.15vw, 3.7rem); }
.closing p { color: #c7cad8; margin-top: .65rem; }
.closing .actions { justify-content: flex-end; }
.site-footer { --focus: #fff; padding-block: 1.6rem; background: #080911; color: #b4b6c0; }
.footer-inner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 1rem 1.6rem; }
.footer-inner .brand img { width: 110px; }
.footer-inner p { font-size: .82rem; }
.footer-links { display: flex; gap: 0 .9rem; flex-wrap: wrap; font-size: .84rem; }
.footer-links :is(a, button) { display: flex; align-items: center; min-height: 2.75rem; text-decoration: underline; text-decoration-color: #8fa3b1; text-underline-offset: .24em; }
.footer-links button { padding: 0; background: transparent; border: 0; cursor: pointer; text-align: start; }
.footer-links :is(a, button):hover { color: white; text-decoration-color: white; }
.site-footer .languages { color: #b4b6c0; }
.site-footer .languages a[aria-current] { color: white; }
.site-footer .languages a:hover { color: white; }

body:has(.cookie-notice:not([hidden])) { display: flex; flex-direction: column; min-height: 100dvh; }
body:has(.cookie-notice:not([hidden])) > main { flex-grow: 1; }
.cookie-notice {
  position: sticky;
  inset-block-end: 0;
  align-self: flex-start;
  z-index: 4;
  margin-inline: max(var(--gutter), env(safe-area-inset-left)) max(var(--gutter), env(safe-area-inset-right));
  background: #161927;
  border: 1px solid #393e57;
  border-block-end: 0;
  border-radius: .4rem .4rem 0 0;
  padding-block-end: env(safe-area-inset-bottom);
}
.cookie-notice-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: .45rem 1rem; padding: .4rem .8rem; }
.cookie-notice h2 { font-size: 1.04rem; letter-spacing: -.025em; }
.cookie-policy-compact { display: none; }
.cookie-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.cookie-notice .button, .cookie-notice .text-link { font-size: .94rem; }
.cookie-notice .button { width: 100%; padding: .45rem .72rem; background: transparent; cursor: pointer; }
.cookie-notice .button:hover { background: #ffffff12; }

.interior-hero { padding-block: clamp(2.7rem, 6vw, 5.8rem); }
.interior-hero h1, .legal-copy h1 { font-size: clamp(2.6rem, 6vw, 5.7rem); max-width: 18ch; }
.interior-hero h1:lang(ru) { font-size: clamp(2.3rem, 6vw, 5.7rem); }
.legal-copy h1:lang(ru) { font-size: clamp(1.52rem, 6.85vw, 4.45rem); max-width: none; }
.interior-hero p { max-width: 56ch; font-size: 1.05rem; }
.interior-hero .actions { margin-top: 1.4rem; }
.contact-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.contact-details { border-top: 1px solid var(--rule); }
.contact-method { padding: .85rem 0; border-bottom: 1px solid var(--rule); }
.contact-method > span { display: block; color: var(--slate); font-size: .85rem; }
.contact-value { display: inline-flex; align-items: center; gap: .68rem; font-size: clamp(1.15rem, 2.65vw, 1.9rem); font-weight: 790; letter-spacing: -.035em; min-height: 2.75rem; text-decoration: none; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.contact-value:hover { color: #fff; text-decoration: underline; text-underline-offset: .24em; }
.contact-value svg { color: #b4b6c0; }
.contact-location { margin-top: 1.8rem; }
.contact-location h2, .contact-checklist h2, .legal-copy h2 { font-size: clamp(1.35rem, 3vw, 2.3rem); letter-spacing: -.032em; }
.contact-location address, .contact-location p { margin-top: .5rem; color: var(--slate); }
.contact-checklist { padding: clamp(1.25rem, 4vw, 2.25rem); background: var(--mist); border-radius: .8rem .8rem 2.5rem .8rem; }
.contact-checklist ul { padding-left: 1.2rem; margin: 1rem 0 0; line-height: 1.6; }
.contact-checklist li + li { margin-top: .55rem; }
.legal-copy { max-width: 63rem; }
.legal-copy p { max-width: 65ch; color: var(--slate); margin-top: .75rem; }
.legal-intro { font-size: 1.06rem; }
.legal-copy section { margin-top: 2rem; }

@media (max-width: 840px) {
  .desktop-nav, .desktop-languages { display: none; }
  .header-inner { position: relative; display: block; min-height: 0; padding-block: .52rem; }
  .header-inner > .brand { position: absolute; inset-block-start: .52rem; inset-inline-start: max(var(--gutter), env(safe-area-inset-left)); }
  .mobile-menu { display: block; }
  .mobile-menu summary { list-style: none; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin-inline-start: auto; cursor: pointer; }
  .mobile-menu summary svg { width: 1.45rem; height: 1.45rem; }
  .mobile-menu summary:hover { color: var(--blue); }
  .menu-close, .mobile-menu[open] .menu-open { display: none; }
  .mobile-menu[open] .menu-close { display: block; }
  .mobile-panel { margin-top: .5rem; border-top: 1px solid var(--rule); padding-top: .3rem; }
  .mobile-panel nav { display: grid; margin-bottom: .35rem; }
  .mobile-panel nav a { min-height: 3.45rem; border-bottom: 1px solid var(--rule); font-size: 1.28rem; font-weight: 720; letter-spacing: -.035em; }
  .mobile-panel .languages { gap: .85rem; flex-wrap: wrap; }
  .footer-inner { grid-template-columns: auto minmax(0, 1fr); }
  .footer-links { grid-column: 2; grid-row: 2; }
  .footer-inner > .languages { grid-column: 1; grid-row: 2; }
}
@media (max-width: 900px) {
  .brand img { width: 108px; }
  .hero { display: block; min-height: 0; }
  .hero-inner { padding-block: 1.65rem .8rem; }
  .hero-copy { max-width: 100%; }
  .hero-kicker { margin-bottom: .62rem; }
  .hero h1, .hero h1:lang(ru) { font-size: clamp(1.9rem, 8.6vw, 4.55rem); }
  .hero-figure { position: relative; inset: auto; }
  .hero-media { position: relative; aspect-ratio: 1216 / 780; }
  .hero-media img, .hero-media video { object-position: center; }
  .hero-media::after { background: linear-gradient(#090b13, transparent 24%, transparent 76%, #090b13c9); }
  .film-loader { inset: .45rem auto auto max(var(--gutter), env(safe-area-inset-left)); }
  .hero-figure > .motion { inset: .35rem max(var(--gutter), env(safe-area-inset-right)) auto auto; }
  .hero-intro { margin-top: .8rem; }
  .hero .actions { margin-top: .85rem; gap: .4rem 1rem; }
}
@media (max-width: 900px) and (max-height: 500px) {
  .hero-inner { padding-block: 1rem .45rem; }
  .hero h1, .hero h1:lang(ru) { font-size: clamp(1.65rem, 7.7vw, 3.35rem); }
  .hero-intro { margin-top: .55rem; line-height: 1.5; }
  .hero .actions { margin-top: .55rem; column-gap: .65rem; }
  .hero .actions :is(.button, .text-link) { font-size: .92rem; }
  .hero .actions .button { padding: .66rem .8rem; }
}
@media (min-width: 560px) and (max-width: 900px) and (max-height: 540px) and (orientation: landscape) {
  .hero { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-inner { padding-block: 1.2rem; padding-inline-end: 0; }
  .hero h1, .hero h1:lang(ru) { font-size: clamp(1.65rem, 4.5vw, 2.65rem); }
  .hero-figure { min-width: 0; }
}
@media (max-width: 760px) {
  .supplier-strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "experience experience" "location phone" "scope scope";
    gap: .12rem .65rem;
    padding-block: .85rem .95rem;
  }
  .supplier-strip .experience { grid-area: experience; gap: .9rem; border-inline-end: 0; border-block-end: 1px solid #343a58; padding: 0 0 .55rem; }
  .experience strong { font-size: clamp(3.15rem, 11vw, 4.25rem); }
  .experience span { max-width: none; color: var(--ink); font-size: 1.06rem; }
  .supplier-location { grid-area: location; }
  .supplier-scope { grid-area: scope; color: var(--slate); }
  .supplier-phone { grid-area: phone; margin-inline-start: 0; }
  .atlas, .process-grid, .reference-grid, .company-grid, .faq-grid, .contact-grid, .closing-grid { grid-template-columns: 1fr; gap: 1.3rem; }
  .reference-grid { grid-template-areas: "intro" "photo" "tips"; }
  .material-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); border: 0; border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
  .material-link, .material-link + .material-link { border: 0; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); min-height: 2.9rem; }
  .material-link[aria-current] { box-shadow: inset 3px 0 0 var(--blue); }
  .material-link:last-child:nth-of-type(odd) { grid-column: 1 / -1; }
  .specimen { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: center; }
  .location-card { padding: 1rem 0 0; border-inline-start: 0; border-block-start: 1px solid var(--rule); }
  .closing .actions { justify-content: flex-start; }
}
@media (max-width: 680px) {
  .cookie-notice { align-self: stretch; margin-inline: 0; border-inline: 0; border-radius: 0; }
  .cookie-notice-inner { grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right)); }
  .cookie-notice h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .cookie-policy-long { display: none; }
  .cookie-policy-compact { display: block; overflow-wrap: anywhere; }
  .cookie-notice .button, .cookie-notice .text-link { font-size: .9rem; }
  .cookie-notice .button { padding-inline: .48rem; }
}
@media (max-width: 540px) {
  .specimen { grid-template-columns: 1fr; }
  .specimen-image { aspect-ratio: 1.72; }
  .footer-inner { gap: .55rem .85rem; }
  .footer-inner .brand img { width: 94px; }
  .footer-links { grid-column: 1 / -1; grid-row: 2; border-block-start: 1px solid var(--rule); padding-block-start: .3rem; }
  .footer-inner > .languages { grid-column: 1 / -1; grid-row: 3; }
}
@media (prefers-reduced-motion: no-preference) {
  .intro-pending [data-intro="title"] .title-ink { transform: translateY(108%); }
  .intro-pending .hero-rule { transform: scaleX(0); }
  .intro-pending [data-intro="copy"] { opacity: .42; }
  .hero-media.has-video picture { transition: opacity 210ms ease-out; }
  .button, .material-link, .motion { transition: background-color 140ms ease-out, border-color 140ms ease-out; }
}
