@font-face { font-family: Syne; src: url("../fonts/syne-complete.woff2") format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; unicode-range: U+0-24F, U+1E00-1EFF, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: Syne; src: url("../fonts/manrope-cyrillic.woff2") format("woff2"); font-weight: 400 800; font-display: swap; unicode-range: U+400-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }

@font-face { font-family: "DM Mono"; src: url("../fonts/dm-mono-complete-500.woff2") format("woff2"); font-weight: 500; font-display: swap; unicode-range: U+0-24F, U+1E00-1EFF, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "DM Mono"; src: url("../fonts/roboto-mono-cyrillic.woff2") format("woff2"); font-weight:500; font-display: swap; unicode-range: U+400-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }

:root { --red: #fa2d37; --icon-red: #930f17; --button-red: #e7000b; --button-red-hover: #ff1a23; --ink: #141414; --line-dark: rgba(255,255,255,.08); --muted-dark: rgba(255,255,255,.42); --muted-light: #737373; --font-ui: Syne, sans-serif; --font-mono: "DM Mono", monospace; }
* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; color: #0a0a0a; background: #fff; font-family: var(--font-ui); }
img { max-width: 100%; }
main > section:not(.original-hero) { content-visibility: auto; contain-intrinsic-size: auto 800px; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
[hidden] { display: none !important; }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 12px 16px; border-radius: 10px; color: #fff; background: #141414; box-shadow: 0 8px 28px rgba(0,0,0,.28); font-size: 14px; font-weight: 700; transform: translateY(calc(-100% - 16px)); transition: transform .16s ease; }
.skip-link:focus { transform: translateY(0); outline: 2px solid #fff; outline-offset: 2px; }
.main-content-anchor { position: absolute; width: 1px; height: 1px; overflow: hidden; }

.original-header { position: fixed; z-index: 50; top: 0; left: 0; right: 0; padding: 20px 24px 18px; background: transparent; pointer-events: none; }
.header-shell { position: relative; width: 100%; max-width: 1280px; min-height: 66px; margin: 0 auto; padding: 14px 20px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; color: #fff; border: 1px solid transparent; border-radius: 16px; background: transparent; box-shadow: none; backdrop-filter: none; pointer-events: auto; transition: background-color .24s ease, border-color .24s ease, backdrop-filter .24s ease; }
.original-header.is-scrolled .header-shell,
.route-checkout .header-shell,
.route-company-information .header-shell,
.route-privacy-policy .header-shell,
.route-terms .header-shell,
.route-cookie-policy .header-shell,
.route-404 .header-shell { border-color: rgba(255,255,255,.08); background: rgba(20,20,20,.9); backdrop-filter: blur(24px); }
@media (min-width: 1024px) {
  /* The product hero is deliberately split light/dark. Keep the desktop header
     transparent while preserving contrast over the light product panel. */
  .route-product_detail .original-header:not(.is-scrolled) .original-brand,
  .route-product_detail .original-header:not(.is-scrolled) .original-nav > a:first-child,
  .route-product_detail .original-header:not(.is-scrolled) .original-nav > .nav-group:nth-child(2) > a,
  .route-product_detail .original-header:not(.is-scrolled) .original-nav > .nav-group:nth-child(3) > a { color: rgba(20,20,20,.68); }
  .route-product_detail .original-header:not(.is-scrolled) .original-nav > a:first-child:hover,
  .route-product_detail .original-header:not(.is-scrolled) .original-nav > .nav-group:nth-child(2):hover > a,
  .route-product_detail .original-header:not(.is-scrolled) .original-nav > .nav-group:nth-child(2):focus-within > a,
  .route-product_detail .original-header:not(.is-scrolled) .original-nav > .nav-group:nth-child(3):hover > a,
  .route-product_detail .original-header:not(.is-scrolled) .original-nav > .nav-group:nth-child(3):focus-within > a { color: rgba(20,20,20,.92); background: rgba(20,20,20,.055); }
  .route-product_detail .original-header:not(.is-scrolled) .original-nav > .nav-group:nth-child(2) .chevron-icon,
  .route-product_detail .original-header:not(.is-scrolled) .original-nav > .nav-group:nth-child(3) .chevron-icon { color: rgba(20,20,20,.34); }
  .route-product_detail .original-nav > .nav-group:nth-child(4) { margin-left: 32px; }
}
.original-brand { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.80); font-family: Syne, sans-serif; font-size: 15px; font-weight: 700; line-height: 22.5px; letter-spacing: -.01em; white-space: nowrap; }
.brand-copy { display: flex; flex-direction: column; gap: 1px; }
.brand-copy strong { color: inherit; font: inherit; line-height: 1; }
.brand-copy small { margin: 0; color: rgba(255,255,255,.32); font-family: "DM Mono", monospace; font-size: 6.5px; font-weight:500; line-height: 1; letter-spacing: .19em; text-transform: uppercase; }
.logo-box { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.logo-box img { width: 26px; height: 26px; object-fit: contain; }
.original-nav { height: 36px; display: flex; align-items: center; justify-content: center; gap: 2px; font-size: 14px; font-weight: 500; line-height: 20px; }
.original-nav > a, .nav-group > a { min-height: 36px; padding: 8px 16px; display: inline-flex; align-items: center; gap: 6px; border-radius: 14px; color: rgba(255,255,255,.45); transition: color .2s, background .2s; white-space: nowrap; }
.original-nav > a:hover, .nav-group:hover > a, .nav-group:focus-within > a { color: rgba(255,255,255,.9); background: rgba(255,255,255,.05); }
.nav-group { position: relative; height: 36px; }
.nav-group::after { content: ""; position: absolute; z-index: 0; top: 34px; left: 0; width: 100%; height: 20px; }
.chevron-icon { width: 14px; height: 14px; color: rgba(255,255,255,.25); transition: transform .2s cubic-bezier(.4,0,.2,1); }
.nav-group:hover > a .chevron-icon, .nav-group:focus-within > a .chevron-icon { transform: rotate(180deg); }
.products-menu, .catalog-menu { position: absolute; z-index: 1; top: 48px; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px); transition: .2s ease; }
.nav-group:hover > .products-menu, .nav-group:focus-within > .products-menu, .nav-group:hover > .catalog-menu, .nav-group:focus-within > .catalog-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.products-menu { top: 44px; left: 0; width: 208px; padding: 6px; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: rgba(20,20,20,.96); box-shadow: 0 24px 60px rgba(0,0,0,.55); backdrop-filter: blur(24px); }
.products-menu a { padding: 10px 16px; display: block; border-radius: 12px; color: rgba(255,255,255,.45); font-family: var(--font-ui); font-size: 14px; font-weight: 400; line-height: 20px; transition: color .2s cubic-bezier(.4,0,.2,1), background-color .2s cubic-bezier(.4,0,.2,1); }
.products-menu a + a { margin-top: 2px; }
.products-menu a:hover { color: rgba(255,255,255,.9); background: rgba(255,255,255,.06); }
.catalog-menu { left: 50%; width: min(1040px, calc(100vw - 80px)); display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .72fr); overflow: hidden; border: 1px solid var(--line-dark); border-radius: 16px; background: #080808; box-shadow: 0 30px 70px rgba(0,0,0,.65); transform: translate(-47%, 8px); }
.nav-group:hover > .catalog-menu, .nav-group:focus-within > .catalog-menu { transform: translate(-47%, 0); }
.catalog-menu-items { max-height: min(560px, calc(100vh - 130px)); padding: 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 4px 16px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.16) transparent; }
.catalog-menu-items a { min-height: 72px; padding: 8px 10px; display: grid; grid-template-columns: 66px minmax(0, 1fr); align-items: center; gap: 14px; border: 1px solid transparent; border-radius: 12px; color: rgba(255,255,255,.52); transition: color .2s cubic-bezier(.4,0,.2,1), border-color .2s cubic-bezier(.4,0,.2,1), background-color .2s cubic-bezier(.4,0,.2,1); }
.catalog-menu-items a:hover { color: #fff; border-color: rgba(255,255,255,.09); background: rgba(255,255,255,.035); }
.catalog-menu-items strong { min-width: 0; font-size: 13px; font-weight: 600; line-height: 18px; }
.catalog-sample { width: 56px; height: 56px; display: block; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; background: #ebe8e1; box-shadow: 0 7px 18px rgba(0,0,0,.22); transition: border-color .2s cubic-bezier(.4,0,.2,1), transform .2s cubic-bezier(.4,0,.2,1), box-shadow .2s cubic-bezier(.4,0,.2,1); }
.catalog-menu-items a:hover .catalog-sample { border-color: rgba(255,255,255,.32); box-shadow: 0 9px 22px rgba(0,0,0,.32); transform: translateY(-1px) scale(1.035); }
.catalog-sample img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.catalog-menu-items a:hover .catalog-sample img { transform: scale(1.045); }
.catalog-sample.swatch img { background: #f2f0eb; }
.catalog-sample.product-preview { width: 64px; height: 48px; border-radius: 11px; background: #efede7; box-shadow: 0 7px 18px rgba(0,0,0,.18); }
.catalog-sample.product-preview img { padding: 4px; object-fit: contain; background: #efede7; }
.catalog-sample.liquid img { padding: 0; object-fit: cover; object-position: 50% 11%; }
.catalog-sample.powder img { padding: 0; object-fit: cover; object-position: 28% 48%; }
.catalog-sample.tools img { padding: 0; object-fit: cover; object-position: 50% 76%; }
.catalog-sample.mirka img { padding: 4px; object-position: center; }
.catalog-sample.come img { padding: 3px; object-position: center; }
.catalog-sample.all { background: conic-gradient(#d4d0c9 0 25%, #956f37 0 50%, #55585a 0 75%, #c7c0b6 0); }
.catalog-menu aside { padding: 46px 38px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid rgba(255,255,255,.1); background: radial-gradient(circle at 100% 0, rgba(220,38,38,.16), transparent 52%), #0c0c0c; }
.catalog-menu aside small { color: rgba(255,255,255,.3); font-family: var(--font-mono); font-size: 9px; letter-spacing: .28em;  font-weight: 500;}
.catalog-menu aside h3 { margin: 16px 0; color: rgba(255,255,255,.78); font-family: Syne; font-size: 30px; line-height: 1.05; text-transform: uppercase; }
.catalog-menu aside p { margin: 0 0 26px; color: rgba(255,255,255,.34); font-size: 13px; line-height: 1.7; }
.catalog-menu aside a { width: max-content; padding: 12px 16px; border: 1px solid rgba(255,255,255,.35); color: rgba(255,255,255,.75); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.language-switcher { position: relative; flex: 0 0 auto; }
.language-switcher > summary { width: 46px; height: 36px; padding: 0 9px; display: flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; color: rgba(255,255,255,.48); background: rgba(255,255,255,.015); font-family: "DM Mono", monospace; font-size: 9px; font-weight: 500; line-height: 1; letter-spacing: .08em; list-style: none; cursor: pointer; transition: color .15s cubic-bezier(.4,0,.2,1), border-color .15s cubic-bezier(.4,0,.2,1), background-color .15s cubic-bezier(.4,0,.2,1); }
.language-switcher > summary::-webkit-details-marker { display: none; }
.language-switcher > summary:hover, .language-switcher[open] > summary { color: rgba(255,255,255,.82); border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.05); }
.language-chevron { width: 10px; height: 10px; color: rgba(255,255,255,.28); transition: transform .2s cubic-bezier(.4,0,.2,1); }
.language-switcher[open] .language-chevron { transform: rotate(180deg); }
.language-menu { position: absolute; z-index: 70; top: 44px; right: 0; width: 164px; padding: 6px; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 15px; background: rgba(20,20,20,.98); box-shadow: 0 22px 54px rgba(0,0,0,.52); backdrop-filter: blur(24px); }
.language-menu a { width: 100%; min-height: 38px; padding: 8px 10px; display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 8px; border: 0; border-radius: 10px; color: rgba(255,255,255,.42); background: transparent; text-align: left; cursor: pointer; transition: color .15s cubic-bezier(.4,0,.2,1), background-color .15s cubic-bezier(.4,0,.2,1); }
.language-menu a + a { margin-top: 2px; }
.language-menu a:hover { color: rgba(255,255,255,.82); background: rgba(255,255,255,.055); }
.language-menu a.is-active { color: #fff; background: rgba(255,255,255,.07); }
.language-menu a span { color: var(--red); font-family: "DM Mono", monospace; font-size: 9px; font-weight: 500; letter-spacing: .08em; }
.language-menu a small { color: inherit; font-family: var(--font-ui); font-size: 12px; font-weight: 500; line-height: 16px; }
.calculator { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; color: rgba(255,255,255,.36); transition: color .15s cubic-bezier(.4,0,.2,1), border-color .15s cubic-bezier(.4,0,.2,1); }
.calculator-icon { width: 16px; height: 16px; }
.calculator:hover { color: rgba(255,255,255,.7); border-color: rgba(255,255,255,.15); }
.quote, .red-button { display: inline-flex; align-items: center; gap: 8px; background: var(--button-red); color: #fff; font-weight: 600; }
.quote { height: 36px; padding: 0 20px; border-radius: 14px; font-size: 14px; white-space: nowrap; transition: background-color .15s cubic-bezier(.4,0,.2,1); }
.quote:hover, .red-button:hover { background-color: var(--button-red-hover); }
.quote span { font-size: 14px; }
.quote .arrow-icon { width: 14px; height: 14px; }
.mobile-nav { display: none; }
.mobile-header-bar { display: none; }

.original-hero { position: relative; min-height: 100vh; overflow: hidden; background: var(--ink); color: #fff; }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-overlay-one { position: absolute; inset: 0; background: linear-gradient(to top right, rgba(20,20,20,.98), rgba(20,20,20,.70), rgba(20,20,20,.20)); }
.hero-overlay-two { position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,20,20,.70), transparent 50%); }
.hero-noise { position: absolute; inset: 0; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E"); background-size: 180px 180px; pointer-events: none; }
.corner { position: absolute; width: 40px; height: 40px; }
.corner-top { top: 32px; left: 32px; border-top: 1px solid rgba(255,255,255,.08); border-left: 1px solid rgba(255,255,255,.08); }
.corner-bottom { right: 32px; bottom: 32px; border-right: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }
.original-hero-inner { position: relative; z-index: 2; min-height: 100vh; padding: 0 96px 76px; display: flex; flex-direction: column; justify-content: flex-end; }
.original-hero-copy { max-width: 672px; display: flex; flex-direction: column; gap: 32px; }
.mono-label { margin: 0; font-family: var(--font-mono); font-size: 10px; font-weight: 500; line-height: 15px; text-transform: uppercase; letter-spacing: .32em; color: #a8a29e; }
.original-hero .mono-label { font-size: 11px; line-height: 16.5px; letter-spacing: .45em; }
.mono-label.red, .red { color: var(--red); }
.hero-title-row { display: flex; align-items: stretch; gap: 20px; }
.red-line { width: 3px; flex: 0 0 3px; border-radius: 99px; background: var(--red); }
.hero-title-row h1 { margin: 0; color: #fff; font-family: Syne, sans-serif; font-size: 72px; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.hero-title-row h1 em { color: rgba(255,255,255,.55); font-style: normal; }
.rotating-word { color: var(--red); text-shadow: 0 0 40px rgba(250,45,55,.5); }
.typing-cursor { color: var(--red); animation: pulse 2s cubic-bezier(.4,0,.6,1) infinite; }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .5; } }
.hero-description { max-width: 448px; margin: 0; color: rgba(255,255,255,.4); font-size: 18px; line-height: 32px; }
.original-hero-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.red-button { height: 48px; padding: 0 28px; border-radius: 14px; font-size: 14px; transition: background-color .15s cubic-bezier(.4,0,.2,1); }
.red-button .arrow-icon { width: 16px; height: 16px; }
.glass-button { height: 48px; padding: 0 20px; display: inline-flex; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; color: rgba(255,255,255,.7); background: rgba(255,255,255,.06); backdrop-filter: blur(8px); font-size: 14px; font-weight: 500; transition: color .15s cubic-bezier(.4,0,.2,1), background-color .15s cubic-bezier(.4,0,.2,1), border-color .15s cubic-bezier(.4,0,.2,1); }
.glass-button:hover { color: #fff; background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.22); }
.flask { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; background: rgba(255,255,255,.08); font-size: 12px; }
.flask-icon { width: 14px; height: 14px; }
.arrow-icon { width: 16px; height: 16px; flex: 0 0 auto; }
.hero-stats { padding-top: 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 24px; border-top: 1px solid rgba(255,255,255,.08); }
.hero-stats div { display: flex; align-items: baseline; gap: 8px; }
.hero-stats strong { font-family: Syne; font-size: 24px; }
.hero-stats span { color: rgba(255,255,255,.3); font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: .32em;  font-weight: 500;}
.hero-stats i { width: 1px; height: 16px; background: rgba(255,255,255,.1); }

.metrics-band { background: #141414; color: #fff; border-top: 1px solid rgba(255,255,255,.05); }
.metrics-grid { width: 100%; max-width: 1152px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); }
.metrics-grid > div { padding: 40px 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border-right: 1px solid rgba(255,255,255,.05); }
.metrics-band strong { font-family: Syne, sans-serif; font-size: 30px; font-weight: 700; line-height: 36px; }
.metrics-band span { color: rgba(255,255,255,.30); font-family: "DM Mono", monospace; font-size: 9px; line-height: 13.5px; text-transform: uppercase; letter-spacing: .32em;  font-weight: 500;}
.metrics-certifications { padding: 16px 0; text-align: center; border-top: 1px solid rgba(255,255,255,.05); }
.metrics-certifications p { margin: 0; color: rgba(255,255,255,.20); font-family: "DM Mono", monospace; font-size: 9px; line-height: 13.5px; text-transform: uppercase; letter-spacing: .42em;  font-weight: 500;}

.light-section, .contact-block { padding: 80px max(40px, calc((100vw - 1104px) / 2)); background: #fff; }
.section-topline { margin-bottom: 56px; padding-bottom: 32px; display: flex; align-items: end; justify-content: space-between; border-bottom: 1px solid rgba(214,211,209,.60); }
.section-topline h2, .simple-heading h2, .about-content h2 { margin: 12px 0 0; font-family: Syne, sans-serif; font-size: 36px; font-weight: 700; line-height: 40px; letter-spacing: -.02em; }
.section-topline > a { display: block; flex: 0 0 auto; color: #a8a29e; font-family: var(--font-mono); font-size: 10px; line-height: 15px; text-transform: uppercase; letter-spacing: .36em; transition: color .15s cubic-bezier(.4,0,.2,1);  font-weight: 500;}
.section-topline > a:hover { color: #44403c; }
.systems-section { padding-top: 80px; padding-bottom: 80px; }
.systems-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.system-card { display: flex; flex-direction: column; overflow: hidden; color: #fff; border: 1px solid rgba(255,255,255,.07); border-radius: 16px; background: #141414; box-shadow: 0 8px 20px rgba(0,0,0,.05); }
.system-card header { padding: 20px; display: flex; justify-content: space-between; color: rgba(255,255,255,.26); border-bottom: 1px solid rgba(255,255,255,.06); font-family: var(--font-mono); font-size: 9px; line-height: 13.5px; text-transform: uppercase; letter-spacing: .3em;  font-weight: 500;}
.system-card-body { flex: 1; padding: 24px 20px; display: flex; flex-direction: column; gap: 20px; }
.system-card h3 { margin: 0; color: rgba(255,255,255,.85); font-family: Syne, sans-serif; font-size: 24px; font-weight: 700; line-height: 32px; letter-spacing: -.02em; }
.system-card p { flex: 1; margin: 0; color: rgba(255,255,255,.40); font-size: 14px; line-height: 24px; }
.system-card ul { margin: 0; padding: 16px 0 0; list-style: none; border-top: 1px solid rgba(255,255,255,.06); }
.system-card li { display: flex; align-items: flex-start; gap: 12px; color: rgba(255,255,255,.45); font-size: 13px; line-height: 20px; }
.system-card li + li { margin-top: 8px; }
.system-card li span { flex: 0 0 auto; color: var(--icon-red); font-family: var(--font-mono); font-size: 9px; line-height: 20px;  font-weight: 500;}
.system-card footer { min-height: 34px; padding-top: 4px; display: flex; align-items: center; justify-content: flex-start; gap: 8px; color: rgba(255,255,255,.32); font-family: var(--font-mono); font-size: 10px; line-height: 15px; text-transform: uppercase; letter-spacing: .32em;  font-weight: 500;}
.text-arrow { flex: 0 0 auto; color: rgba(255,255,255,.25); font-family: "DM Mono", monospace; letter-spacing: 0; transition: color .2s cubic-bezier(.4,0,.2,1), transform .2s cubic-bezier(.4,0,.2,1);  font-weight: 500;}
.system-card { transition: border-color .3s cubic-bezier(.4,0,.2,1); }
.system-card:hover { border-color: rgba(255,255,255,.15); background: #141414; transform: none; }
.system-card:hover footer { color: rgba(255,255,255,.52); }
.system-card:hover .text-arrow, .feature-card:hover .text-arrow, .service-card:hover .text-arrow { color: rgba(255,255,255,.60); transform: translateX(4px); }
.system-card:last-child { grid-column: 1; }

.dark-about { padding: 80px max(40px, calc((100vw - 1104px) / 2)); display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 56px; color: #fff; background: #141414; }
.about-image-wrap { aspect-ratio: 6 / 5; overflow: hidden; border: 1px solid rgba(255,255,255,.07); border-radius: 16px; }
.about-image-wrap, .about-content { min-width: 0; }
.about-image-wrap img { width: 100%; height: 100%; display: block; object-fit: cover; opacity: .8; }
.about-content h2 { margin: 12px 0 0; font-size: 36px; }
.about-content > p:not(.mono-label) { margin: 20px 0 0; color: rgba(255,255,255,.40); font-size: 15px; line-height: 28px; }
.values-grid { margin: 28px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.values-grid div { height: 136px; padding: 20px; border: 1px solid rgba(255,255,255,.07); border-radius: 14px; background: rgba(255,255,255,.03); }
.values-grid b { height: 16px; display: block; color: var(--icon-red); line-height: 16px; }
.values-grid b svg { width: 16px; height: 16px; }
.values-grid strong { margin-top: 12px; display: block; color: rgba(255,255,255,.80); font-family: Syne, sans-serif; font-size: 14px; font-weight: 700; line-height: 20px; }
.values-grid span { margin-top: 6px; display: block; color: rgba(255,255,255,.35); font-size: 13px; line-height: 20px; }
.outline-button { width: max-content; height: 40px; padding: 0 20px; display: flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; color: rgba(255,255,255,.60); background: rgba(255,255,255,.04); font-size: 14px; font-weight: 500; line-height: 20px; }
.outline-button { transition: color .15s cubic-bezier(.4,0,.2,1), background-color .15s cubic-bezier(.4,0,.2,1), border-color .15s cubic-bezier(.4,0,.2,1); }
.outline-button:hover { color: rgba(255,255,255,.9); background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.2); }

.simple-heading { margin-bottom: 56px; padding-bottom: 32px; border-bottom: 1px solid rgba(214,211,209,.60); }
.simple-heading h2 { font-size: 36px; }
.simple-heading > p:last-child { max-width: 576px; margin: 16px 0 0; color: #737373; font-size: 15px; line-height: 28px; }
.three-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.feature-card, .service-card { height: 343px; padding: 28px; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.07); border-radius: 16px; color: #fff; background: #141414; }
.feature-card header, .service-card header { display: flex; justify-content: space-between; align-items: start; }
.feature-card header b, .service-card header b { width: 44px; height: 44px; display: grid; place-items: center; color: var(--icon-red); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.04); }
.feature-card header b svg, .service-card header b svg { width: 20px; height: 20px; }
.service-card header b { width: 20px; height: 20px; display: block; color: var(--icon-red); border: 0; border-radius: 0; background: transparent; }

.home-partners { padding: 74px 0; overflow: hidden; color: #1c1917; background: #f7f7f5; }
.home-partners-heading { margin: 0 auto; padding: 0 max(40px, calc((100vw - 1104px) / 2)) 26px; display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; }
.home-partners-heading .mono-label { margin: 0; }
.home-partners-heading h2 { margin: 12px 0 0; font-family: Syne, sans-serif; font-size: 36px; line-height: 1.16; letter-spacing: -.025em; }
.home-partners-heading > p { max-width: 420px; margin: 0; color: #747870; font-size: 14px; line-height: 24px; }
.home-partners-marquee { width: 100%; overflow: hidden; border-top: 1px solid #ddded9; border-bottom: 1px solid #ddded9; background: #fff; -webkit-mask-image: linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); mask-image: linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.home-partners-track { width: max-content; display: flex; }
.home-partners-group { display: flex; flex: 0 0 auto; }
.home-partners-marquee.is-animated .home-partners-track { animation: home-partners-scroll 34s linear infinite; }
.home-partners-marquee.is-animated:hover .home-partners-track,
.home-partners-marquee.is-animated:focus-within .home-partners-track { animation-play-state: paused; }
.home-partners-marquee.is-static { -webkit-mask-image: none; mask-image: none; }
.home-partners-marquee.is-static .home-partners-track { width: 100%; }
.home-partners-marquee.is-static .home-partners-group:first-child { width: 100%; justify-content: center; }
.home-partners-marquee.is-static .home-partners-group[aria-hidden="true"] { display: none; }
.home-partner-logo { position: relative; width: 250px; height: 126px; padding: 18px 26px 15px; display: grid; grid-template-rows: minmax(0,1fr) auto; grid-template-columns: minmax(0,1fr) auto; align-items: end; column-gap: 12px; color: #252723; border-right: 1px solid #e4e5e1; background: #fff; text-decoration: none; transition: background .22s ease; }
.home-partner-logo:hover, .home-partner-logo:focus-visible { background: #f5f5f2; }
.home-partner-logo > span { grid-column: 1 / -1; align-self: center; width: 100%; height: 58px; display: grid; place-items: center; overflow: hidden; }
.home-partner-logo > span img { width: 100%; max-width: 164px; height: 100%; object-fit: contain; filter: grayscale(1); opacity: .62; mix-blend-mode: multiply; transition: filter .22s ease, opacity .22s ease, transform .22s ease; }
.home-partner-logo:hover > span img, .home-partner-logo:focus-visible > span img { filter: none; opacity: 1; transform: scale(1.035); }
.home-partner-logo > span b { width: 52px; height: 52px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: #181a17; font: 650 20px Syne, sans-serif; }
.home-partner-logo strong { min-width: 0; overflow: hidden; font: 620 10px Syne, sans-serif; letter-spacing: .01em; text-overflow: ellipsis; white-space: nowrap; }
.home-partner-logo small { display: none; }
.home-partner-logo i { color: #9b1118; font-size: 13px; font-style: normal; opacity: .42; transition: opacity .22s ease, transform .22s ease; }
.home-partner-logo:hover i, .home-partner-logo:focus-visible i { opacity: 1; transform: translate(2px,-2px); }
@keyframes home-partners-scroll { to { transform: translateX(-50%); } }
.feature-card header small, .service-card header small { color: rgba(255,255,255,.2); font-family: var(--font-mono); font-size: 9px;  font-weight: 500;}
.feature-card h3, .service-card h3 { margin: 24px 0 0; color: rgba(255,255,255,.85); font-family: Syne, sans-serif; font-size: 24px; font-weight: 700; line-height: 32px; letter-spacing: -.02em; }
.feature-card p, .service-card p { margin: 12px 0 0; color: rgba(255,255,255,.38); font-size: 14px; line-height: 24px; }
.feature-card footer, .service-card footer { margin-top: auto; padding-top: 20px; display: flex; align-items: center; justify-content: flex-start; gap: 8px; border-top: 1px solid rgba(255,255,255,.06); color: rgba(255,255,255,.28); font-family: var(--font-mono); font-size: 10px; line-height: 15px; text-transform: uppercase; letter-spacing: .32em;  font-weight: 500;}
.feature-card footer .arrow-icon, .service-card footer .arrow-icon { margin-left: 0; color: rgba(255,255,255,.20); }
.feature-card, .service-card { transition: background-color .2s cubic-bezier(.4,0,.2,1), border-color .2s cubic-bezier(.4,0,.2,1), transform .2s cubic-bezier(.4,0,.2,1); }
.feature-card:hover { border-color: rgba(255,255,255,.14); background: #141414; transform: none; }
.feature-card:hover footer, .service-card:hover footer { color: rgba(255,255,255,.5); }
.dark-services { padding: 80px max(40px, calc((100vw - 1104px) / 2)); color: #fff; background: #141414; }
.simple-heading.dark { border-color: rgba(255,255,255,.06); }
.simple-heading.dark > p:last-child { color: rgba(255,255,255,.35); }
.service-card { height: 315px; background: transparent; }
.service-card h3 { margin-top: 24px; font-size: 20px; line-height: 28px; letter-spacing: -.01em; }
.service-card p { color: rgba(255,255,255,.35); }
.service-card:hover { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.02); transform: none; }

.contact-block { padding-bottom: 80px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.contact-info { display: flex; flex-direction: column; gap: 16px; }
.contact-info h3 { margin: 0; color: #1c1917; font-family: Syne, sans-serif; font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: -.01em; }
.contact-details > div { padding: 20px 0; display: flex; align-items: flex-start; gap: 16px; border-bottom: 1px solid rgba(231,229,228,.80); }
.contact-details > div:first-child { padding-top: 0; }
.contact-details > div > b { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border: 1px solid #e7e5e4; border-radius: 12px; color: #78716c; background: #fff; }
.contact-details > div > b svg { width: 16px; height: 16px; }
.contact-info span { display: flex; flex-direction: column; }
.contact-info small { color: #a8a29e; font-family: var(--font-mono); font-size: 9px; line-height: 13.5px; text-transform: uppercase; letter-spacing: .28em;  font-weight: 500;}
.contact-info strong { margin-top: 4px; color: #292524; font-size: 14px; font-weight: 500; line-height: 20px; }
.contact-info span p { margin: 2px 0 0; color: #737373; font-size: 13px; line-height: 20px; }
.contact-socials { padding-top: 20px; border-top: 1px solid rgba(231,229,228,.80); }
.contact-socials > p { margin: 0 0 16px; color: #a8a29e; font-family: "DM Mono", monospace; font-size: 9px; line-height: 13.5px; text-transform: uppercase; letter-spacing: .32em;  font-weight: 500;}
.contact-socials > div { display: flex; gap: 8px; }
.contact-socials a, .contact-socials > div > span { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #e7e5e4; border-radius: 12px; color: #78716c; background: #fff; transition: color .2s, border-color .2s, background-color .2s, transform .2s; }
.contact-socials > div > span { cursor: default; opacity: .72; }
.contact-socials .social-facebook { color: #1877f2; }
.contact-socials .social-instagram { color: #e1306c; }
.contact-socials .social-tiktok { color: #111; }
.contact-socials a:hover { color: #fff; border-color: transparent; }
.contact-socials .social-facebook:hover { background: #1877f2; }
.contact-socials .social-instagram:hover { background: linear-gradient(135deg, #833ab4, #fd1d1d 58%, #fcb045); }
.contact-socials .social-tiktok:hover { background: #111; }
.contact-socials svg { width: 16px; height: 16px; }
.contact-form { min-height: 644px; height: auto; overflow: hidden; border: 1px solid #e7e5e4; border-radius: 16px; background: #fff; }
.contact-form > header { height: 80px; padding: 20px 28px; border-bottom: 1px solid #f5f5f4; }
.contact-form > header .mono-label { font-size: 10px; line-height: 15px; letter-spacing: .32em; }
.contact-form > header span { display: block; margin-top: 4px; color: #737373; font-size: 14px; line-height: 20px; }
.form-body { margin: 24px 28px; padding: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; border: 1px solid #e7e5e4; border-radius: 14px; }
.form-body label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 500; line-height: 14px; }
.form-body .full, .form-body button { grid-column: 1 / -1; }
.form-body input, .form-body textarea { width: 100%; height: 36px; padding: 4px 12px; border: 1px solid #e7e5e4; border-radius: 8px; background: transparent; color: #1c1917; font-size: 14px; font-weight: 400; line-height: 20px; outline: none; }
.form-body textarea { height: 120px; min-height: 120px; padding-top: 8px; resize: vertical; }
.form-body input:focus, .form-body textarea:focus { border-color: #999; }
.form-body button { height: 36px; border: 0; border-radius: 8px; color: #fff; background: var(--button-red); font-size: 14px; font-weight: 500; cursor: pointer; }
.form-body button { transition: background-color .15s cubic-bezier(.4,0,.2,1); }
.form-body button:hover { background-color: var(--button-red-hover); }

.contact-map { position: relative; height: 340px; margin-top: 40px; display: block; overflow: hidden; border: 1px solid #e7e5e4; border-radius: 16px; background: radial-gradient(circle at 50% 42%, rgba(147,15,23,.13), transparent 38%), #141414; }
.contact-map iframe { width: 100%; height: 100%; display: block; border: 0; }
.contact-map iframe[hidden], .contact-map-consent[hidden], .contact-map-open[hidden] { display: none; }
.contact-map-consent { width: 100%; height: 100%; padding: 28px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; text-align: center; }
.contact-map-consent > span { width: 48px; height: 48px; display: grid; place-items: center; color: #fa2d37; border: 1px solid rgba(250,45,55,.24); border-radius: 15px; background: rgba(147,15,23,.11); }
.contact-map-consent > span svg { width: 20px; height: 20px; }
.contact-map-consent > strong { margin-top: 16px; font-family: Syne, sans-serif; font-size: 21px; line-height: 28px; }
.contact-map-consent > p { max-width: 470px; margin: 8px 0 0; color: rgba(255,255,255,.46); font-size: 13px; line-height: 21px; }
.contact-map-consent > div { margin-top: 18px; display: flex; align-items: center; justify-content: center; gap: 10px; }
.contact-map-consent button, .contact-map-consent a { height: 42px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 11px; font-size: 11px; font-weight: 700; }
.contact-map-consent button { color: #fff; border: 1px solid #e7000b; background: #e7000b; cursor: pointer; }
.contact-map-consent button:hover { border-color: #fa2d37; background: #fa2d37; }
.contact-map-consent a { color: rgba(255,255,255,.65); border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.035); }
.contact-map-consent a:hover { color: #fff; border-color: rgba(255,255,255,.24); }
.contact-map-consent a svg { width: 14px; height: 14px; }
.contact-map-open { position: absolute; right: 14px; bottom: 14px; height: 42px; padding: 0 15px; display: inline-flex; align-items: center; gap: 8px; color: #fff; border: 1px solid rgba(255,255,255,.16); border-radius: 11px; background: rgba(20,20,20,.90); box-shadow: 0 12px 34px rgba(0,0,0,.20); backdrop-filter: blur(14px); font-size: 11px; font-weight: 700; }
.contact-map-open svg { width: 14px; height: 14px; }

.original-footer { color: rgba(255,255,255,.38); background: #141414; }
.footer-action-bar, .footer-main, .footer-bottom { width: 100%; max-width: 1104px; margin: 0 auto; }
.footer-action-bar { min-height: 108px; padding: 28px 0; display: flex; align-items: center; justify-content: space-between; gap: 32px; border-bottom: 1px solid rgba(255,255,255,.06); }
.footer-action-copy { display: flex; flex-direction: column; gap: 7px; }
.footer-action-copy small { margin: 0; color: var(--red); }
.footer-action-copy strong { color: rgba(255,255,255,.78); font-family: Syne, sans-serif; font-size: 19px; font-weight: 600; line-height: 24px; letter-spacing: -.01em; }
.footer-action-buttons { display: flex; align-items: center; gap: 8px; }
.footer-whatsapp, .footer-calculator { height: 52px; display: inline-flex; align-items: center; justify-content: center; border-radius: 16px; transition: color .15s cubic-bezier(.4,0,.2,1), border-color .15s cubic-bezier(.4,0,.2,1), background-color .15s cubic-bezier(.4,0,.2,1), transform .15s cubic-bezier(.4,0,.2,1); }
.footer-whatsapp { min-width: 202px; padding: 0 20px; gap: 10px; color: #fff; background: var(--button-red); font-family: Syne, sans-serif; font-size: 14px; font-weight: 700; }
.footer-whatsapp svg { width: 17px; height: 17px; }
.footer-whatsapp svg:last-child { width: 14px; height: 14px; margin-left: 2px; }
.footer-whatsapp:hover { background: var(--button-red-hover); transform: translateY(-1px); }
.footer-calculator { width: 52px; flex: 0 0 52px; border: 1px solid rgba(255,255,255,.10); color: rgba(255,255,255,.48); background: rgba(255,255,255,.025); }
.footer-calculator svg { width: 18px; height: 18px; }
.footer-calculator:hover { color: rgba(255,255,255,.84); border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.055); transform: translateY(-1px); }
.footer-main { padding: 64px 0; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px; border-bottom: 1px solid rgba(255,255,255,.06); }
.footer-links { display: flex; flex-direction: column; gap: 12px; font-size: 14px; line-height: 24px; }
.original-footer small { margin-bottom: 12px; color: rgba(255,255,255,.25); font-family: var(--font-mono); font-size: 9px; line-height: 13.5px; text-transform: uppercase; letter-spacing: .36em;  font-weight: 500;}
.footer-brand .original-brand { color: #fff; }
.footer-brand p { max-width: 320px; margin: 24px 0 0; font-size: 14px; line-height: 24px; }
.footer-socials { margin-top: 24px; display: flex; flex-wrap: nowrap; gap: 8px; }
.footer-socials a, .footer-socials > span { height: 32px; padding: 0 12px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; color: rgba(255,255,255,.30); font-family: "DM Mono", monospace; font-size: 9px; line-height: 13.5px; text-transform: uppercase; letter-spacing: .28em;  font-weight: 500;}
.footer-socials > span { cursor: default; opacity: .58; }
.footer-socials svg { width: 10px; height: 10px; }
.footer-bottom { padding: 24px 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.footer-bottom p { margin: 0; color: rgba(255,255,255,.22); font-family: "DM Mono", monospace; font-size: 10px; line-height: 15px; text-transform: uppercase; letter-spacing: .28em;  font-weight: 500;}
.developer-credit span { color: var(--red); }
.developer-credit a { color: rgba(255,255,255,.40); transition: color .15s cubic-bezier(.4,0,.2,1); }
.developer-credit a:hover { color: rgba(255,255,255,.70); }

@media (max-width: 1180px) {
  .original-nav > a, .nav-group > a { padding-left: 10px; padding-right: 10px; font-size: 12px; }
  .original-hero-inner { padding-left: 64px; }
}

@media (max-width: 1023px) {
  .icr-site main > section[id] {
    scroll-margin-top: 78px;
  }

  .original-header { display: none; }
  .mobile-header-bar { position: sticky; z-index: 50; top: 10px; width: auto; height: 58px; margin: 10px 10px 0; padding: 0 10px; display: flex; align-items: center; justify-content: space-between; color: #fff; border: 1px solid rgba(255,255,255,.1); border-radius: 17px; background: rgba(20,20,20,.98); box-shadow: 0 4px 12px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.025); isolation: isolate; }
  body::before { content: ""; position: absolute; z-index: 0; top: 0; right: 0; left: 0; height: 80px; background: linear-gradient(180deg, rgba(20,20,20,.98) 0%, rgba(20,20,20,.94) 74%, rgba(20,20,20,0) 100%); pointer-events: none; }
  .mobile-brand { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.80); font-family: Syne, sans-serif; font-size: 15px; font-weight: 700; line-height: 22.5px; letter-spacing: -.01em; white-space: nowrap; }
  .mobile-logo-box { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
  .mobile-logo-box img { width: 22px; height: 22px; object-fit: contain; }
  .mobile-header-actions { display: flex; align-items: center; gap: 8px; }
  .language-switcher-mobile > summary { width: 44px; height: 44px; border-radius: 12px; }
  .language-switcher-mobile .language-menu { top: 50px; width: 156px; }
  .language-switcher-mobile .language-menu a { min-height: 44px; }
  .mobile-quote { height: 44px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 12px; color: #fff; background: var(--button-red); font-size: 12px; font-weight: 600; line-height: 16px; text-align: center; white-space: nowrap; }
  .mobile-quote svg { width: 12px; height: 12px; }
  html[lang="ru"] .mobile-quote { width: 44px; padding: 0; justify-content: center; }
  html[lang="ru"] .mobile-quote-label { display: none; }
  html.mobile-menu-open, body.mobile-menu-open { overflow: hidden; }
  .mobile-nav { position: relative; display: block; }
  .mobile-menu-toggle { position: relative; z-index: 1; width: 44px; height: 44px; padding: 0; display: grid; place-content: center; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; color: rgba(255,255,255,.50); background: transparent; cursor: pointer; }
  .mobile-menu-toggle[aria-expanded="true"] { color: #fff; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.06); }
  .mobile-nav .menu-icon { width: 16px; height: 16px; }
  .mobile-menu-backdrop { position: fixed; z-index: 150; inset: 0; border: 0; background: rgba(0,0,0,.68); backdrop-filter: blur(7px); animation: mobile-menu-fade .24s ease both; }
  .mobile-menu-panel { position: fixed; z-index: 151; top: 8px; right: 8px; bottom: 8px; width: min(390px, calc(100vw - 16px)); padding: 18px 18px 14px; display: flex; flex-direction: column; overflow-x: hidden; overflow-y: auto; border: 1px solid rgba(255,255,255,.11); border-radius: 24px; color: #fff; background: radial-gradient(circle at 100% 0, rgba(231,0,11,.20), transparent 31%), linear-gradient(145deg, rgba(255,255,255,.035), transparent 32%), #111; box-shadow: -24px 24px 80px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.025); scrollbar-width: none; animation: mobile-menu-reveal .34s cubic-bezier(.2,.78,.2,1) both; }
  .mobile-menu-panel::-webkit-scrollbar { display: none; }
  .mobile-menu-panel::before { content: "ICR"; position: absolute; z-index: -1; right: -18px; bottom: 112px; color: rgba(255,255,255,.018); font-family: Syne, sans-serif; font-size: 110px; font-weight: 800; line-height: .8; letter-spacing: -.08em; pointer-events: none; }
  .mobile-menu-head { min-height: 52px; padding: 0 0 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.09); }
  .mobile-menu-identity { display: flex; align-items: center; gap: 11px; }
  .mobile-menu-logo { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.28); }
  .mobile-menu-logo img { width: 27px; height: 27px; object-fit: contain; }
  .mobile-menu-identity > span:last-child { display: flex; flex-direction: column; gap: 2px; }
  .mobile-menu-identity small { color: rgba(255,255,255,.34); font-family: "DM Mono", monospace; font-size: 7.5px; font-weight:500; line-height: 1; letter-spacing: .13em; text-transform: uppercase; }
  .mobile-menu-identity strong { color: rgba(255,255,255,.9); font-family: Syne, sans-serif; font-size: 15px; font-weight: 700; line-height: 1.15; }
  .mobile-menu-head button { position: relative; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.11); border-radius: 12px; color: rgba(255,255,255,.72); background: rgba(255,255,255,.045); cursor: pointer; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
  .mobile-menu-head button:hover { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); transform: rotate(4deg); }
  .mobile-menu-head button span { position: absolute; top: 50%; left: 50%; width: 14px; height: 1.5px; border-radius: 99px; background: currentColor; transform: translate(-50%,-50%) rotate(45deg); }
  .mobile-menu-head button span + span { transform: translate(-50%,-50%) rotate(-45deg); }
  .mobile-menu-links { margin: 18px 0 15px; display: block; border-top: 1px solid rgba(255,255,255,.085); }
  .mobile-menu-primary, .mobile-menu-links summary { min-height: 54px; padding: 0 7px; display: grid; grid-template-columns: minmax(0,1fr) 28px; align-items: center; gap: 10px; border-bottom: 1px solid rgba(255,255,255,.075); outline: none; color: rgba(255,255,255,.76); list-style: none; cursor: pointer; transition: color .18s ease, padding .18s ease, background-color .18s ease, box-shadow .18s ease; }
  .mobile-menu-primary:focus-visible, .mobile-menu-links summary:focus-visible, .mobile-submenu-grid a:focus-visible, .mobile-menu-contact:focus-visible, .mobile-menu-head button:focus-visible { outline: none; box-shadow: inset 0 0 0 1px rgba(250,45,55,.72); }
  .mobile-menu-primary > span, .mobile-menu-links summary > span { min-width: 0; font-family: Syne, sans-serif; font-size: 17px; font-weight: 600; line-height: 1.15; letter-spacing: -.015em; }
  .mobile-menu-primary svg { width: 15px; height: 15px; justify-self: center; color: rgba(255,255,255,.24); transition: color .18s ease, transform .18s ease; }
  .mobile-menu-primary:hover, .mobile-menu-links summary:hover { padding-left: 9px; color: #fff; background: linear-gradient(90deg, rgba(231,0,11,.08), transparent 70%); }
  .mobile-menu-primary:hover svg { color: var(--red); transform: translate(2px,-2px); }
  .mobile-menu-links summary::after { content: "+"; width: 25px; height: 25px; display: grid; place-items: center; justify-self: center; border: 1px solid rgba(255,255,255,.09); border-radius: 9px; color: rgba(255,255,255,.38); font-family: "DM Mono", monospace; font-size: 13px; line-height: 1; transition: color .18s ease, border-color .18s ease, transform .25s ease;  font-weight: 500;}
  .mobile-menu-links details[open] > summary { color: #fff; background: linear-gradient(90deg, rgba(231,0,11,.09), transparent 72%); }
  .mobile-menu-links summary::-webkit-details-marker { display: none; }
  .mobile-submenu-grid { padding: 8px 5px 12px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 5px; border-bottom: 1px solid rgba(255,255,255,.075); background: rgba(0,0,0,.16); }
  .mobile-submenu-grid a { min-height: 44px; padding: 9px; display: flex; align-items: center; border: 1px solid rgba(255,255,255,.065); border-radius: 10px; color: rgba(255,255,255,.42); background: rgba(255,255,255,.022); font-size: 11px; line-height: 1.25; transition: color .18s ease, border-color .18s ease, background-color .18s ease; }
  .mobile-submenu-grid a:hover { color: rgba(255,255,255,.9); border-color: rgba(231,0,11,.25); background: rgba(231,0,11,.07); }
  .mobile-menu-actions { margin-top: auto; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .mobile-menu-contact { position: relative; min-width: 0; min-height: 92px; padding: 13px; display: flex; align-items: flex-end; border: 1px solid rgba(231,0,11,.32); border-radius: 16px; color: #fff; background: linear-gradient(125deg, rgba(231,0,11,.22), rgba(231,0,11,.055)); transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
  .mobile-menu-contact:hover { border-color: rgba(250,45,55,.55); background-color: rgba(231,0,11,.08); transform: translateY(-1px); }
  .mobile-menu-contact > span { min-width: 0; padding-right: 28px; display: flex; flex-direction: column; gap: 5px; }
  .mobile-menu-contact small { color: rgba(255,255,255,.38); font-family: "DM Mono", monospace; font-size: 7px; line-height: 1.15; letter-spacing: .14em; text-transform: uppercase;  font-weight: 500;}
  .mobile-menu-contact strong { font-family: Syne, sans-serif; font-size: 13px; font-weight: 700; line-height: 1.2; }
  .mobile-menu-contact i { position: absolute; top: 10px; right: 10px; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: var(--button-red); }
  .mobile-menu-contact svg { width: 15px; height: 15px; }
  .mobile-menu-calculator { border-color: rgba(255,255,255,.1); background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); }
  .mobile-menu-calculator:hover { border-color: rgba(250,45,55,.3); background-color: rgba(255,255,255,.025); }
  .mobile-menu-calculator i { color: var(--red); background: rgba(250,45,55,.1); }
  .mobile-menu-links > * { animation: mobile-menu-item .38s cubic-bezier(.2,.75,.2,1) both; }
  .mobile-menu-links > :nth-child(2) { animation-delay: .025s; }
  .mobile-menu-links > :nth-child(3) { animation-delay: .05s; }
  .mobile-menu-links > :nth-child(4) { animation-delay: .075s; }
  .mobile-menu-links > :nth-child(5) { animation-delay: .1s; }
  .mobile-menu-links > :nth-child(6) { animation-delay: .125s; }
  .mobile-menu-links > :nth-child(7) { animation-delay: .15s; }
  .mobile-menu-links > :nth-child(8) { animation-delay: .175s; }
  @keyframes mobile-menu-fade { from { opacity: 0; } to { opacity: 1; } }
  @keyframes mobile-menu-fade-out { from { opacity: 1; } to { opacity: 0; } }
  @keyframes mobile-menu-reveal { from { opacity: 0; transform: translateX(34px) scale(.975); } to { opacity: 1; transform: translateX(0) scale(1); } }
  @keyframes mobile-menu-hide { from { opacity: 1; transform: translateX(0) scale(1); } to { opacity: 0; transform: translateX(34px) scale(.975); } }
  @keyframes mobile-menu-item { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }
  .mobile-menu-panel.is-closing { pointer-events: none; animation: mobile-menu-hide .28s cubic-bezier(.55,.05,.7,.2) both; }
  .mobile-menu-backdrop.is-closing { pointer-events: none; animation: mobile-menu-fade-out .24s ease both; }
  body.mobile-menu-open .footer-action-bar,
  body.mobile-menu-open .commerce-cart-trigger,
  body.mobile-menu-open .commerce-cart-toast,
  body.mobile-menu-open .privacy-consent { visibility: hidden; opacity: 0; pointer-events: none; }
  .metrics-grid { grid-template-columns: 1fr 1fr; }
  .systems-grid { grid-template-columns: repeat(2, 1fr); }
  .system-card:last-child { grid-column: auto; }
  .dark-about, .contact-grid { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .original-hero-inner { padding-left: 64px; padding-right: 64px; padding-bottom: 80px; }
  .hero-title-row h1 { font-size: 60px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .original-hero, .original-hero-inner {
    min-height: calc(100vh - 68px);
    min-height: calc(100svh - 68px);
  }
  .original-hero-inner { padding-bottom: 132px; }
}

@media (max-width: 767px) {
  .original-footer { padding-bottom: max(84px, calc(72px + env(safe-area-inset-bottom))); }
  .original-hero-inner { padding: 0 32px 64px; }
  .hero-title-row h1 { font-size: 48px; }
  .rotating-word.is-long-word { font-size: .78em; }
  .three-card-grid { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-action-bar { position: fixed; z-index: 49; left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); width: auto; max-width: none; min-height: 0; margin: 0; padding: 8px; display: block; border: 1px solid rgba(255,255,255,.10); border-radius: 20px; background: rgba(20,20,20,.94); box-shadow: 0 18px 50px rgba(0,0,0,.45); backdrop-filter: blur(24px); }
  .footer-action-copy { display: none; }
  .footer-action-buttons { width: 100%; gap: 8px; }
  .footer-whatsapp { min-width: 0; flex: 1 1 auto; }
  .footer-socials a, .footer-socials > span { min-height: 44px; }
  .contact-map-consent button, .contact-map-consent a, .contact-map-open { min-height: 44px; }
  .privacy-settings-link { min-height: 44px; display: inline-flex; align-items: center; }
  .home-partners { padding: 64px 0; }
  .home-partners-heading { padding: 0 24px 24px; align-items: flex-start; flex-direction: column; gap: 14px; }
  .home-partners-heading h2 { font-size: 30px; line-height: 36px; }
  .home-partners-heading > p { max-width: 100%; }
  .home-partners-marquee { -webkit-mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
  .home-partner-logo { width: 210px; height: 108px; padding: 14px 20px 12px; }
  .home-partner-logo > span { height: 50px; }
  .home-partner-logo > span img { max-width: 142px; }
}

@media (max-width: 430px) {
  .mobile-header-bar { margin-left: 7px; margin-right: 7px; padding-left: 8px; padding-right: 8px; }
  .mobile-brand { gap: 7px; font-size: 14px; }
  .mobile-header-actions { gap: 5px; }
  .language-switcher-mobile > summary { width: 44px; }
  .mobile-quote { padding-left: 10px; padding-right: 10px; }
  .rotating-word.is-long-word { font-size: .74em; }
}

@media (max-width: 380px) {
  .mobile-header-bar { margin-left: 8px; margin-right: 8px; padding-left: 10px; padding-right: 10px; }
  .mobile-brand > span:last-child { display: none; }
}

@media (max-width: 340px) {
  .mobile-quote { width: 44px; padding: 0; justify-content: center; }
  .mobile-quote-label { display: none; }
  .footer-whatsapp { padding: 0 10px; gap: 6px; font-size: 12px; white-space: nowrap; }
  .footer-whatsapp svg { width: 15px; height: 15px; }
  .footer-whatsapp svg:last-child { width: 11px; height: 11px; margin-left: 0; }
}

@media (max-width: 639px) {
  .light-section, .contact-block, .dark-about, .dark-services { padding: 80px 24px; }
  .section-topline { align-items: start; flex-direction: column; gap: 26px; }
  .section-topline h2, .simple-heading h2, .about-content h2 { font-size: 30px; line-height: 36px; }
  .systems-grid { grid-template-columns: 1fr; }
  .system-card { min-height: 0; }
  .systems-section .section-topline { gap: 15px; }
  .system-card footer { min-height: 28px; }
  .about-image-wrap { width: 100%; height: 360px; aspect-ratio: auto; }
  .values-grid, .form-body { grid-template-columns: 1fr; }
  .values-grid div { height: 116px; }
  .feature-card { height: auto; min-height: 319px; }
  .feature-card:last-child { min-height: 343px; }
  .contact-form { min-height: 812px; height: auto; }
  .contact-info { height: 426px; }
  .form-body label, .form-body .full, .form-body button { grid-column: 1; }
  .footer-main, .footer-bottom { width: auto; margin-left: 24px; margin-right: 24px; }
  .footer-main { padding: 64px 0; gap: 48px; }
  .footer-bottom { padding: 24px 0; }
  .footer-bottom { flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 12px; }
  .footer-bottom p { min-height: 30px; }
  .footer-socials { flex-wrap: wrap; }
  .contact-map { height: 380px; }
  .contact-map-consent { padding: 22px; }
  .contact-map-consent > div { width: 100%; flex-direction: column; }
  .contact-map-consent button, .contact-map-consent a { width: 100%; max-width: 290px; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } .home-partners-marquee.is-animated .home-partners-track { animation: none !important; } }

.icr-honeypot{display:none!important;}.quick-quote-panel{width:100%;padding:17px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025);}.quick-quote-heading{display:flex;flex-direction:column;}.quick-quote-heading small{color:#fa2d37;font:500 8px "DM Mono",monospace;letter-spacing:.23em;}.quick-quote-heading strong{margin-top:7px;color:rgba(255,255,255,.86);font-family:Syne,sans-serif;font-size:14px;line-height:18px;}.quick-quote-heading>span{margin-top:4px;color:rgba(255,255,255,.35);font-size:10px;line-height:16px;}.quick-quote-form{margin-top:13px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;}.quick-quote-form label{display:flex;flex-direction:column;gap:5px;}.quick-quote-form label>span{color:rgba(255,255,255,.32);font-size:8px;text-transform:uppercase;letter-spacing:.14em;}.quick-quote-form input{width:100%;height:42px;padding:0 11px;color:#fff;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(255,255,255,.035);font-size:12px;outline:0;}.quick-quote-form input:focus{border-color:rgba(250,45,55,.58);box-shadow:0 0 0 3px rgba(231,0,11,.08);}.quick-quote-form button{min-width:132px;height:42px;align-self:end;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;border:0;border-radius:10px;background:#e7000b;font-size:11px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s;}.quick-quote-form button svg{width:14px;height:14px;}.quick-quote-form button b{font-size:14px;}.quick-quote-form button:hover{background:#fa2d37;transform:translateY(-1px);}.quick-quote-notice{margin:12px 0 0;padding:9px 11px;border-radius:8px;font-size:9px;line-height:15px;}.quick-quote-notice.success{color:#a7e3b8;background:rgba(22,101,52,.22);}.quick-quote-notice.error{color:#fecaca;background:rgba(153,27,27,.22);}
@media(max-width:767px){.quick-quote-form{grid-template-columns:1fr;}.quick-quote-form button{width:100%;margin-top:3px;}}

.form-privacy-consent {
  min-width: 0;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: 10px !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 17px !important;
}
.form-privacy-consent input[type="checkbox"] { width: 17px !important; height: 17px !important; margin: 0; padding: 0; flex: 0 0 17px; accent-color: var(--button-red); }
.form-privacy-consent > span { color: #78716c !important; font-family: var(--font-ui) !important; font-size: 11px !important; font-weight: 400 !important; line-height: 17px !important; letter-spacing: 0 !important; text-transform: none !important; }
.form-privacy-consent a { color: #292524; font-weight: 650; text-decoration: underline; text-decoration-color: #d6d3d1; text-underline-offset: 2px; }
.form-privacy-consent a:hover { color: #930f17; text-decoration-color: #930f17; }
.quick-quote-form .quick-quote-privacy { grid-column: 1 / -1; margin-top: 2px; color: rgba(255,255,255,.46); }
.quick-quote-form .quick-quote-privacy > span { color: rgba(255,255,255,.46) !important; font-size: 9px !important; line-height: 14px !important; }
.quick-quote-form .quick-quote-privacy a { color: rgba(255,255,255,.78); text-decoration-color: rgba(255,255,255,.25); }

/* Quotation actions preserve the existing ICR type hierarchy. */
.catalog-menu-family.family-left { grid-column: 1; }
.catalog-menu-family.family-right { grid-column: 2; }
.catalog-menu-family.family-row-1 { grid-row: 1; }
.catalog-menu-family.family-row-2 { grid-row: 2; }
.catalog-menu-family.family-row-3 { grid-row: 3; }
.catalog-menu-family.family-row-4 { grid-row: 4; }
.catalog-menu-family.family-row-5 { grid-row: 5; }
.quote-product-actions { display: flex; align-items: end; gap: 12px; min-width: 0; width: 100%; }
.quote-product-actions label { flex: 0 0 80px; display: grid; gap: 8px; font-size: 12px; }
.quote-product-actions input { width: 80px; height: 46px; border: 1px solid #d6d3d1; border-radius: 10px; padding: 0 12px; color: #141414; background: #fff; }
.quote-list-add { min-height: 46px; flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 12px 14px; border: 1px solid #e7000b; border-radius: 12px; background: #e7000b; color: #fff; font-family: var(--font-ui); font-size: 13px; font-weight: 600; line-height: 20px; cursor: pointer; transition: background-color .15s, border-color .15s; }
.quote-list-add:hover { background: #ff1a23; border-color: #ff1a23; }
.quote-list-add:focus-visible { outline: 2px solid #fa2d37; outline-offset: 3px; }
.quote-list-add svg { width: 17px; height: 17px; flex: 0 0 auto; }
.product-index-card > .quote-product-actions, .catalog-product-card > .quote-product-actions { padding: 0 16px 16px; margin-top: auto; }
.catalog-product-card { display: flex; flex-direction: column; }
.catalog-product-link { flex: 1; }
.product-detail-quote-actions .quote-product-actions label { color: rgba(255,255,255,.65); }
.commerce-cart-trigger-copy small { font-size: 8px; letter-spacing: .1em; }
.commerce-cart-drawer > footer > div { align-items: start; gap: 15px; }
.commerce-cart-drawer > footer > div strong { font-size: 14px; }
@media (max-width: 380px) { .quote-list-add { font-size: 12px; padding-inline: 9px; } .quote-product-actions { gap: 8px; } }

.quote-list-limit{margin:12px 24px 0;padding:12px;border-radius:8px;background:#fff0f1;color:#930f17;font-size:13px;}

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

/* First-visit welcome — fully centered, with a short automatic reveal. */
html.icr-welcome-active, html.icr-welcome-active body { overflow: hidden; }
html.icr-welcome-active [data-privacy-banner], html.icr-welcome-cookie-wait [data-privacy-banner] { visibility: hidden; }
.icr-welcome { position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 24px; overflow: hidden; border: 0; color: #fff; background: #101010; opacity: 1; transition: opacity .45s ease; }
.icr-welcome[open] { display: flex; align-items: center; justify-content: center; }
.icr-welcome::backdrop { background: #101010; opacity: 1; transition: opacity .45s ease; }
.icr-welcome.is-leaving, .icr-welcome.is-leaving::backdrop { opacity: 0; }
.icr-welcome-glow { position: absolute; left: 50%; top: 55%; width: min(90vw, 820px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(231,0,11,.14), rgba(147,15,23,.035) 48%, transparent 70%); transform: translate(-50%, -50%); animation: icr-welcome-glow 2.5s ease-out both; pointer-events: none; }
.icr-welcome-frame { position: absolute; inset: clamp(18px, 4vw, 56px); border: 1px solid rgba(255,255,255,.045); border-radius: 24px; pointer-events: none; }
.icr-welcome-frame::before, .icr-welcome-frame::after { content: ''; position: absolute; width: 42px; height: 42px; border-color: rgba(231,0,11,.65); border-style: solid; animation: icr-welcome-corner 1.2s ease both; }
.icr-welcome-frame::before { top: -1px; left: -1px; border-width: 1px 0 0 1px; border-top-left-radius: 24px; }
.icr-welcome-frame::after { right: -1px; bottom: -1px; border-width: 0 1px 1px 0; border-bottom-right-radius: 24px; }
.icr-welcome-center { position: relative; z-index: 1; width: 100%; max-width: 950px; display: flex; flex-direction: column; align-items: center; text-align: center; transform: translateY(-10px); }
.icr-welcome-logo { width: 118px; height: 118px; margin-bottom: 32px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 30px; background: #fff; box-shadow: 0 16px 70px rgba(231,0,11,.11); animation: icr-welcome-in .65s cubic-bezier(.16,1,.3,1) both; }
.icr-welcome-logo img { width: 88px; height: 88px; object-fit: contain; }
.icr-welcome-kicker { margin: 0 0 16px; color: rgba(255,255,255,.6); font: 500 12px/1.7 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .24em; animation: icr-welcome-in .65s .1s cubic-bezier(.16,1,.3,1) both; }
.icr-welcome-name { margin: 0; font: 700 clamp(42px, 7.5vw, 92px)/1.08 Syne, sans-serif; letter-spacing: -.045em; animation: icr-welcome-in .75s .2s cubic-bezier(.16,1,.3,1) both; }
.icr-welcome-name span { color: #fa2d37; }
.icr-welcome-country { margin-top: 19px; color: rgba(255,255,255,.34); font: 500 10px/1.5 'DM Mono', monospace; letter-spacing: .38em; animation: icr-welcome-in .65s .3s cubic-bezier(.16,1,.3,1) both; }
.icr-welcome-line { width: 120px; height: 2px; margin-top: 32px; border-radius: 2px; background: linear-gradient(90deg, transparent, #e7000b 25%, #fa2d37 75%, transparent); animation: icr-welcome-line 1.4s .3s cubic-bezier(.16,1,.3,1) both; }
.icr-welcome-skip { position: absolute; left: 50%; bottom: max(40px, env(safe-area-inset-bottom, 0px)); z-index: 2; min-height: 44px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(255,255,255,.64); background: rgba(255,255,255,.025); font: 500 10px/1.5 'DM Mono', monospace; letter-spacing: .07em; cursor: pointer; transform: translateX(-50%); white-space: nowrap; }
.icr-welcome-skip b { font-size: 17px; font-weight: 500; }
.icr-welcome-skip:hover { color: #fff; border-color: rgba(255,255,255,.4); }
.icr-welcome-skip:focus-visible { outline: 2px solid #fa2d37; outline-offset: 5px; }
@keyframes icr-welcome-in { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes icr-welcome-line { from { opacity: 0; transform: scaleX(0); } to { opacity: 1; transform: scaleX(1); } }
@keyframes icr-welcome-glow { from { opacity: 0; transform: translate(-50%, -50%) scale(.75); } to { opacity: 1; transform: translate(-50%, -50%) scale(1.1); } }
@keyframes icr-welcome-corner { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 600px) {
  .icr-welcome { padding: 28px; }
  .icr-welcome-logo { width: 92px; height: 92px; margin-bottom: 28px; border-radius: 24px; }
  .icr-welcome-logo img { width: 70px; height: 70px; }
  .icr-welcome-kicker { font-size: 10px; letter-spacing: .18em; }
  .icr-welcome-name { max-width: 360px; font-size: clamp(36px, 9.3vw, 54px); }
  .icr-welcome-country { margin-top: 16px; font-size: 9px; }
  .icr-welcome-skip { bottom: max(32px, env(safe-area-inset-bottom, 0px)); }
}
@media (max-height: 520px) {
  .icr-welcome-logo { width: 58px; height: 58px; margin-bottom: 14px; border-radius: 15px; }
  .icr-welcome-logo img { width: 44px; height: 44px; }
  .icr-welcome-kicker { margin-bottom: 8px; font-size: 9px; }
  .icr-welcome-name { font-size: 38px; }
  .icr-welcome-country { margin-top: 9px; font-size: 8px; }
  .icr-welcome-line { margin-top: 15px; }
  .icr-welcome-skip { bottom: 14px; min-height: 36px; }
}
@media (prefers-reduced-motion: reduce) { .icr-welcome, .icr-welcome::backdrop, .icr-welcome * { animation: none !important; transition: none !important; } }

/* Mobile navigation and touch refinements. */
@media (max-width: 1023px) {
  .mobile-menu-panel { max-height: calc(100dvh - 16px); overflow: hidden; background: #111; animation-duration: .24s; }
  .mobile-menu-panel::before { content: none; }
  .mobile-menu-head { flex: 0 0 auto; }
  .mobile-menu-head button:hover { transform: none; }
  .mobile-menu-links { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #393939 transparent; }
  .mobile-menu-links > * { animation: none; }
  .mobile-menu-links summary::after { content: ""; width: 8px; height: 8px; min-height: 0; border: 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; border-radius: 0; transform: translateY(-2px) rotate(45deg); transition: color .2s, transform .24s; }
  .mobile-menu-links details > summary[aria-expanded="true"]::after { transform: translateY(2px) rotate(225deg); color: #fa2d37; border-color: currentColor; }
  .mobile-submenu-grid a { color: rgba(255,255,255,.72); }
  .mobile-submenu-grid .mobile-submenu-all { grid-column: 1 / -1; justify-content: space-between; color: #fff; border-color: rgba(250,45,55,.28); background: rgba(250,45,55,.08); }
  .mobile-menu-actions { flex: 0 0 auto; margin-top: 0; }
  .mobile-menu-contact { background: rgba(231,0,11,.10); }
  .mobile-menu-calculator { background: rgba(255,255,255,.035); }
  .mobile-menu-panel.is-closing { animation-duration: .24s; }
  .mobile-menu-backdrop { touch-action: none; }
  .icr-site button, .icr-site summary { min-height: 44px; }
  .icr-site button[aria-label] { min-width: 44px; }
  .icr-site .mobile-menu-links summary { min-height: 54px; }
  .icr-site input, .icr-site textarea, .icr-site select { font-size: 16px !important; }
  .icr-site input:focus-visible, .icr-site textarea:focus-visible, .icr-site select:focus-visible { outline: 2px solid rgba(231,0,11,.65); outline-offset: 2px; }
  .footer-links { gap: 0; }
  .footer-links > a { min-height: 44px; display: flex; align-items: center; color: rgba(255,255,255,.65); }
  .footer-links > small { margin-bottom: 10px; }
  .footer-action-bar { transition: opacity .16s ease, transform .16s ease; }
  body.is-form-editing .footer-action-bar, body.is-form-editing .commerce-cart-trigger { visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(12px); }
  .quote-list-add:active, .mobile-quote:active, .footer-whatsapp:active { background: #c6000a; }
}

/* Mobile form fields retain a comfortable hit area without enlarging checkboxes. */
@media (max-width: 1023px) {
  .icr-site input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]), .icr-site select { min-height: 44px; min-width: 0; }
  .icr-site .products-search, .icr-site .catalog-search, .icr-site .category-search { height: 48px; }
  .form-privacy-consent { min-height: 44px; align-items: center; }
  .icr-site .contact-form-fields label > span { color: #69635e; font-size: 11px; line-height: 17px; letter-spacing: .16em; }
}

/* Preserve the original mobile chrome and the improved hero readability. */
@media (max-width: 767px) {
  .route-home .original-hero,
  .route-home .original-hero-inner { min-height: 100vh; min-height: 100svh; }
  .route-home .original-hero-inner {
    padding: 100px 20px calc(88px + env(safe-area-inset-bottom)); justify-content: center;
  }
  .route-home .original-hero-copy { width: 100%; max-width: 460px; margin-inline: auto; gap: 24px; }
  .route-home .original-hero .mono-label { font-size: 9px; line-height: 16px; letter-spacing: .16em; }
  .route-home .hero-title-row { gap: 12px; }
  .route-home .red-line { width: 2px; flex-basis: 2px; }
  .route-home .hero-title-row h1 { min-width: 0; font-size: clamp(36px, 11.6vw, 48px); line-height: 1.04; }
  .route-home .hero-description { max-width: 38ch; color: rgba(255,255,255,.65); font-size: 15px; line-height: 23px; }
  .route-home .original-hero-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .route-home .original-hero-buttons > a { min-width: 0; height: 44px; padding-inline: 10px; justify-content: center; gap: 6px; border-radius: 10px; font-size: 12px; }
  .route-home .original-hero-buttons .flask { display: none; }
  .route-home .hero-stats { display: grid; grid-template-columns: .8fr 1.8fr .7fr; gap: 12px; padding-top: 18px; align-items: start; }
  .route-home .hero-stats div { min-width: 0; flex-direction: column; align-items: flex-start; gap: 5px; }
  .route-home .hero-stats div:nth-of-type(2) { border-inline: 1px solid rgba(255,255,255,.12); padding-inline: 12px; }
  .route-home .hero-stats strong { font-family: var(--font-ui); font-size: 20px; line-height: 24px; white-space: nowrap; }
  .route-home .hero-stats span { color: rgba(255,255,255,.58); font-size: 8px; line-height: 13px; letter-spacing: .10em; }
  .route-home .hero-stats > i, .route-home .original-hero > .corner { display: none; }


}
@media (max-width: 359px) {
  .route-home .hero-stats { gap: 8px; }
  .route-home .hero-stats div:nth-of-type(2) { padding-inline: 8px; }
  .route-home .hero-stats strong { font-size: 18px; }
  html[lang="ru"] .route-home .original-hero-buttons { grid-template-columns: 1fr; }
}

/* The hero extends behind the header; overscroll never reveals a white canvas. */
html { background: #141414; }
@media (max-width: 1023px) {
  body.icr-site { background: #141414; }
  body.icr-site::before { content: none; }
  .route-home .original-hero { margin-top: -68px; }
  .mobile-menu-panel { background: radial-gradient(circle at 100% 0, rgba(231,0,11,.20), transparent 31%), linear-gradient(145deg, rgba(255,255,255,.035), transparent 32%), #111; }
  .mobile-menu-panel::before { content: "ICR"; }
  .mobile-menu-contact { background: linear-gradient(125deg, rgba(231,0,11,.22), rgba(231,0,11,.055)); }
  .mobile-menu-calculator { background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); }
  .mobile-menu-links summary::after { content: "+"; width: 25px; height: 25px; border: 1px solid rgba(255,255,255,.09); border-radius: 9px; transform: none; }
  .mobile-menu-links details > summary[aria-expanded="true"]::after { content: "−"; color: var(--red); border-color: rgba(231,0,11,.28); transform: rotate(180deg); }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .route-home .original-hero, .route-home .original-hero-inner { min-height: 100vh; min-height: 100svh; }
  .route-home .original-hero-inner { padding-top: 100px; }
}

@media (max-width: 767px) and (max-height: 650px) {
  .route-home .original-hero-inner { padding-top: 88px; }
  .route-home .original-hero-copy { gap: 20px; }
}
