@font-face {font-family:'Circe';src:url('../fonts/circe_bold.woff2') format('woff2');font-weight:bold;font-style:normal;font-display:swap;}
@font-face {font-family:'Circe';src:url('../fonts/circe_extrabold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;}
@font-face {font-family:'Circe';src:url('../fonts/circe_light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face {font-family:'Circe';src:url('../fonts/circe.woff2') format('woff2');font-weight:normal;font-style:normal;font-display:swap;}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:130px}
body {margin:0;font:19px/1.45 'Circe',sans-serif;color:#191919;background:#fff}
button,a {-webkit-tap-highlight-color:transparent}
button {font:inherit;cursor:pointer}
img {max-width:100%;height:auto;vertical-align:middle}
a {color:#3c2b99;text-underline-offset:4px}
a:hover {text-decoration-thickness:2px}
:focus-visible {outline:3px solid #ed8b23;outline-offset:5px}
[hidden] {display:none!important}
h1,h2,p,ul {margin-top:0}
h1 {font-size:clamp(32px,3.5vw,49px);line-height:1.12;font-weight:800;color:#333;margin-bottom:24px}
h2 {font-size:29px;line-height:1.2;font-weight:800;color:#3c2b99;margin-bottom:24px}
p {margin-bottom:20px}
.wrap {max-width:1200px;margin-inline:auto}
.cover {padding-inline:25px}
.flex {display:flex;justify-content:space-between;align-items:center;gap:24px}
.top {position:sticky;top:0;z-index:20;background:#f6f7f7;border-bottom:1px solid #e3e4e4;box-shadow:0 3px 12px #00000008}
.header {min-height:100px;position:relative;gap:20px}
.logo {flex:0 1 240px}
.logo img {width:100%;height:auto}
.nav ul,.nav_second ul {list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:24px;font-size:17px}
.nav a,.services-toggle {color:#191919;text-decoration:none;border:0;border-bottom:1px dashed currentColor;background:none;padding:0}
.nav a:hover,.services-toggle:hover {color:#3c2b99}
.nav_second {border-top:1px solid #fff;padding:18px 0}
.nav_second ul {font-size:15px;flex-wrap:wrap;gap:16px 32px}
.phone {font-size:17px;white-space:nowrap}
.phone a {color:#191919;font-weight:bold;text-decoration:none}
.phone a:hover {color:#3c2b99}
.contacts {gap:16px}
.timework {font-size:15px;color:#555;border-left:1px dashed #aaa;padding-left:12px;white-space:nowrap}
.btn {border:0;background:#3c2b99;color:#fff;font-weight:bold;text-decoration:none;padding:12px 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:16px;line-height:1.3;text-align:center;min-height:44px;transition:background .15s,transform .15s}
.btn:hover {background:#302279}
.btn:active {transform:translateY(1px);background:#25195f}
.btn-big {font-size:20px;padding:15px 40px}
.btn-green {background:#087d20}
.btn-green:hover {background:#076519}
.menu-toggle {display:none;border:1px solid #3c2b99;background:transparent;border-radius:8px;padding:10px 12px;color:#3c2b99;min-height:44px;font-size:16px}
.phone_mobile,.email_mobile {display:none;background:#3c2b99;padding:10px;border-radius:10px;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.phone_mobile img,.email_mobile img {width:22px;height:22px;object-fit:contain}
.container {padding-block:50px}
.gray {background:#f6f7f7}
.banner {gap:48px;min-height:400px}
.banner_name {flex:1 1 55%;min-width:0}
.banner p {font-size:20px;font-weight:300;line-height:1.5}
.banner p:last-child {margin-bottom:0}
.banner_img {flex:1 1 40%;min-width:0;text-align:right}
.banner_img img {max-height:450px;object-fit:contain}
.text-center {text-align:center}
.services {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;text-align:center}
.services a {font-size:20px;font-weight:bold;color:#191919;text-decoration:none;display:block;border-radius:6px}
.services img {width:100%;aspect-ratio:1.5;object-fit:cover;border:1px solid #ddd;padding:2px;margin-bottom:12px}
.services span {text-decoration:underline;text-decoration-style:dotted;text-underline-offset:5px}
.services a:hover {color:#3c2b99}
.cols {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px}
.list {padding-left:26px;margin-bottom:24px}
.list li {margin:0 0 8px}
.product-descript {max-width:920px;margin:auto}
table {width:100%;border-collapse:collapse;font-size:17px;background:#fff}
th,td {padding:14px 18px;text-align:left;vertical-align:top;border:0;border-bottom:4px solid #f6f7f7}
th {font-weight:bold;color:#3c2b99;background:#eeecf7}
td {font-weight:300;background:#fff}
td:last-child {white-space:nowrap;width:30%}
.make_order {text-align:center;margin-top:28px}
.callbackus {gap:60px}
.callbackus_text {flex:1 1 65%;min-width:0}
.callbackus_text h2 {font-size:clamp(29px,3.5vw,46px);color:#333}
.callbackus_text p {max-width:600px;font-weight:300}
.callbackus_text p:last-child {margin-bottom:0}
.callbackus_img {flex:0 1 30%;text-align:center}
.callbackus_img img {max-height:310px}
.blue {background:#2f3542;color:#fff}
.footer {align-items:flex-start;gap:60px;font-size:16px}
.footer_contacts {flex:1;min-width:0;overflow-wrap:anywhere}
.footer p {margin-bottom:10px}
.footer a {color:#fff}
dialog {border:0;border-radius:16px;padding:44px 32px 32px;max-width:560px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;color:#191919;box-shadow:0 20px 80px #0004}
dialog::backdrop {background:#1119}
dialog p {font-size:18px}
.dialog-close {position:absolute;right:8px;top:8px;border:0;background:none;font-size:30px;line-height:1;width:44px;height:44px;color:#555;border-radius:6px}
.dialog-close:hover {background:#eee}
form {display:grid;gap:8px}
form label {font-size:16px;font-weight:bold;margin-top:8px}
input,textarea {font:inherit;font-size:17px;min-width:0;width:100%;padding:11px 12px;border:1px solid #9296a1;border-radius:7px;background:#fff;color:#191919}
textarea {resize:vertical;min-height:90px}
input:hover,textarea:hover {border-color:#3c2b99}
input:user-invalid {border-color:#b32424}
form small,.demo-note {font-size:14px;color:#555}
.consent {display:flex;align-items:flex-start;gap:10px;font-weight:normal;cursor:pointer}
.consent input {width:20px;height:20px;flex:0 0 20px;margin:2px 0;accent-color:#3c2b99}
.demo-note {margin:8px 0}
.form-status {font-size:16px;margin:8px 0 0;color:#3c2b99}
.form-status:empty {display:none}
.visually-hidden,.skip-link:not(:focus) {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus {position:fixed;left:16px;top:10px;z-index:100;background:#fff;padding:12px}
@media(max-width:1100px) {.timework{display:none}.header{gap:16px}.nav ul{gap:18px}.contacts{gap:12px}}
@media(max-width:950px) {
 .menu-toggle{display:inline-flex;gap:12px;align-items:center;margin-left:auto}
 .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#f6f7f7;padding:20px;border-top:1px solid #ddd;box-shadow:0 12px 18px #0001}
 .header:has(.menu-toggle[aria-expanded="true"]) .nav{display:block}
 .nav ul{justify-content:flex-start;gap:28px}
 .nav a,.services-toggle{display:inline-block;padding:8px 0}
 .top:has(.menu-toggle[aria-expanded="true"]) .nav_second{position:absolute;top:calc(100% + 82px);left:0;right:0;background:#f6f7f7;padding:18px 25px;box-shadow:0 12px 18px #0001}
 .banner{gap:28px;min-height:320px}.services{gap:24px}.cols{gap:32px}.callbackus{gap:32px}
}
@media(max-width:750px) {
 body{font-size:18px}.header{min-height:80px;gap:12px}.logo{flex-basis:190px}.phone,.button{display:none}.contacts{gap:8px}
 .phone_mobile,.email_mobile{display:flex}.container{padding-block:32px}.banner p{font-size:18px}.btn-big{font-size:18px;padding:14px 28px}
 .services a{font-size:18px}.services{gap:18px}.footer{gap:28px}.banner{min-height:0}.callbackus_img{flex-basis:27%}
 h2{font-size:25px}.cols{gap:28px}.callbackus_text h2{font-size:30px}
}
@media(max-width:600px) {
 .cover{padding-inline:20px}.header{flex-wrap:wrap;gap:10px}.logo{flex-basis:150px}.menu-toggle{font-size:14px;gap:8px;padding:10px}.contacts{gap:6px}.email_mobile{display:none}
 .nav ul{gap:20px;flex-wrap:wrap}.nav_second ul{align-items:flex-start;flex-direction:column;gap:16px}
 .banner{flex-direction:column;text-align:center;gap:24px}.banner_img{width:min(100%,300px);text-align:center}.banner_img img{max-height:230px}
 .services,.cols{grid-template-columns:1fr}.services{gap:28px}.services>div{max-width:360px;width:100%;margin:auto}
 .footer{flex-direction:column;gap:28px}.footer_contacts{width:100%}.callbackus{text-align:center}.callbackus_img{display:none}
 td,th{padding:12px 10px}table{font-size:16px}td:last-child{width:auto}.callbackus_text h2{font-size:29px}
 dialog{padding:48px 22px 24px}dialog h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}.btn{transition:none}}

/* Keep the outer rounded frame intact when the form scrolls. */
#request-dialog {padding:0;overflow:hidden}
#request-dialog .dialog-scroll {padding:44px 32px 32px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:600px) {#request-dialog .dialog-scroll {padding:48px 22px 24px}}

/* Compact, inset scrollbar for the request dialog. */
#request-dialog .dialog-scroll {
  margin:16px 8px 16px 0;
  padding:28px 24px 16px 32px;
  max-height:calc(100dvh - 64px);
  scrollbar-width:auto;
  scrollbar-color:auto;
}
#request-dialog .dialog-scroll::-webkit-scrollbar {width:6px}
#request-dialog .dialog-scroll::-webkit-scrollbar-track {background:transparent;margin:32px 0 8px}
#request-dialog .dialog-scroll::-webkit-scrollbar-thumb {background:#b9b1d4;border-radius:999px}
#request-dialog .dialog-scroll::-webkit-scrollbar-thumb:hover {background:#8070b5}
#request-dialog .dialog-scroll::-webkit-scrollbar-button {display:none;width:0;height:0}
#request-dialog .dialog-scroll::-webkit-scrollbar-corner {background:transparent}
#request-dialog .dialog-close {right:20px;z-index:1}
@supports not selector(::-webkit-scrollbar) {
  #request-dialog .dialog-scroll {scrollbar-width:thin;scrollbar-color:#b9b1d4 transparent}
}
@media(max-width:600px) {
  #request-dialog .dialog-scroll {padding:32px 16px 8px 22px}
}

@media(max-width:360px) {.logo{flex-basis:128px}}

/* Crisp vector icons on mobile and high-density screens. */
.ui-icon {display:block;width:22px;height:22px;flex-shrink:0;pointer-events:none}
.menu-toggle .ui-icon {width:18px;height:18px}
.dialog-close {display:flex;align-items:center;justify-content:center}
.dialog-close .ui-icon {width:20px;height:20px}
.phone_mobile:hover,.email_mobile:hover {background:#302279}
@media(max-width:360px) {.menu-toggle{gap:6px;padding-inline:8px}}
.phone_mobile,.email_mobile {color:#fff}
