/*
 ________  __       __       __    __  _____      __
|   __   ||  |     /  \     |  |  |  ||  __ \    |  |
|  |__|  ||  |    /    \    |  |\ |  || |__) |   |  |
|   _____||  |   /  /\  \   |  | \|  ||      /   |  |____ ___      ___
|  |      |  |  /  /__\  \  |  |\ |  ||  __  \   |  ___  |\  \    /  /
|  |      |  | /  /    \  \ |  | \|  || |__)  |_ | |___| | \  \__/  /
|__|      |__|/__/      \__\|__|  |__||_______(_)|_______|  \      /
                                                            _|    /
                                                            |     /
                                                           |____/
*/

.page-hero-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.page-hero-breadcrumb li { display: flex; align-items: center; gap: 8px; }
.page-hero-breadcrumb li + li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c-light); flex-shrink: 0; }
.phone-input__error {
    position: absolute;
    background: var(--c-red);
    color: #fff;
    font-size: 0.8em;
    top: calc(100% + 5px);
    padding: 3px;
    border-radius: 3px;
    display: none;
}

.phone-input__error.visible {display: block;}

.scan-line {
    background: linear-gradient(180deg, transparent 0%, rgba(92, 189, 185, 0.03) 50%, transparent 100%);
    animation: scan 4s linear infinite;
    
    height: 8rem;
    width: 100%;
    position: absolute;
}
@keyframes scan {
    0% { transform: translateY(-100%); }
    100% { transform: translateY(100vh); }
}
.hover-underline:hover {text-decoration: underline;}

article {line-height: 1.2;}
article p {margin-bottom: 12px;}

a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,dialog,div,dl,dt,em,embed,fieldset,figcaption,figure,font,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,meter,nav,object,ol,output,p,pre,progress,q,rp,rt,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video,xmp{border:0;margin:0;padding:0;font-size:100%}body,html{height:100%}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,strong{font-weight:700}img{color:transparent;font-size:0;vertical-align:middle;max-width:100%;max-height:100%;width:auto;height:auto;-ms-interpolation-mode:bicubic}ol,ul{list-style:none}li{display:list-item}table{border-collapse:collapse;border-spacing:0}caption,td,th{font-weight:400;vertical-align:top;text-align:left}q{quotes:none}q:after,q:before{content:'';content:none}small,sub,sup{font-size:75%}sub,sup{line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg{overflow:hidden}html{overflow-x:hidden}hr{border:0 #ccc solid;border-top-width:1px;clear:both;height:0}video,iframe{max-width:100%;}

/* === MHDD.BY CUSTOM STYLES === */

.hystmodal__window {border-radius: 20px;background: var(--c-deep);}

/* checkboxes  ---------------------- */  
        input[type=checkbox] {position: relative;background: #fff;border-radius: 2px;cursor: pointer;line-height: 0;margin: 0 0.6em 0 0;outline: 0;padding: 0 !important;vertical-align: text-top;height: 20px;width: 20px;-webkit-appearance: none;border: 1px solid var(--maincolor)}
        input[type=checkbox] + label {cursor: pointer;margin-right: 20px}
        input[type=checkbox]:checked:before {border: solid var(--maincolor);border-width: 0 2px 2px 0;margin: -1px -1px 0 -1px;width: 4px;height: 10px;content: '';position: absolute;right: 50%;top: 50%;transform: rotate(45deg) translate(-50%, -50%);z-index: 2;}
        
        input.checkbox + label {cursor: pointer}
        input.checkbox {vertical-align: top;width: 17px;height: 17px;margin: 0 3px 0 0}
        input.checkbox:not(checked) {position: absolute;opacity: 0}
        input.checkbox:not(checked) + label {padding: 0 0 0 50px;display: block;position: relative;margin: 0;/* align-items: center; */}
        input.checkbox:not(checked) + label:before {content: '';position: absolute;top: 5px;left: 0;width: 40px;height: 18px;border-radius: 13px;background: var(--c-deep);box-shadow: inset 0 2px 3px rgba(0,0,0,.2)}
        input.checkbox:not(checked) + label:after {content: '';position: absolute;top: 8px;left: 2px;width: 11px;height: 11px;border-radius: 10px;background: #FFF;box-shadow: 0 2px 5px rgba(0,0,0,.3);transition: all .2s}
        input.checkbox:checked + label:before {background: var(--c-light)}
        input.checkbox:checked + label:after {left: 26px}


/* Список - галочки  ---------------------- */
    ul.check-list {margin: 15px 0}
    ul.check-list li {list-style-type: none;padding-left: 40px;position: relative;margin-bottom: 5px;margin-left: 0;}
    ul.check-list li:before {background: url(/assets/images/icons/check_black.png) 50% 50%/15px no-repeat;left: 12px;top: 7px;width: 15px;height: 15px;position: absolute;content: "";display: inline-block;}
    
/* Список кружочки  ---------------------- */
     ul.circle-list {margin: 15px 0}
    .circle-list li {list-style-type: none;margin: 0 0 8px 20px;position: relative;}
    .circle-list li:before {right: calc(100% + 10px);top: 5px;border: 2px solid var(--c-light);width: 8px;height: 8px;border-radius: 100px;position: absolute;display: block;content: '';}

/* ol li customization ---------------------- */
    ol.numbered {counter-reset: myCounter;margin: 15px 0}
    ol.numbered li {margin-bottom: 5px;list-style-type: none;padding-left: 10px;position: relative;}
    ol.numbered li:before {background:var(--maincolor);color: #fff;counter-increment:myCounter;content:counter(myCounter);position:absolute;left: -30px;top:-2px;display:inline-block;text-align:center;margin:5px 10px;width:17px;height:17px;line-height:17px;border-radius:20px;font-size:.7em}

/* Fancybox  ---------------------- */  
    a[data-fancybox] {position: relative;display: block;}
    a[data-fancybox]:after {background: url(/assets/images/icons/zoom_white.png) 50% 50%/20px no-repeat, #00000024;display: block;content:"";position: absolute;left: 0;top: 0;width: 100%;height: 100%;opacity: 0;transition:.5s;}
    a[data-fancybox]:hover:after {opacity: 1;}

/* TABLE  ---------------------- */  
    .glass-card.overflow-x-auto.border-teal-30{max-width:100%;overflow-x:auto;width: 100%;}
    .glass-card.overflow-x-auto.border-teal-30 table {width: 100%}
    .glass-card.overflow-x-auto.border-teal-30::-webkit-scrollbar {width: 5px;height: 5px;background: var(--maincolor);}
    .glass-card.overflow-x-auto.border-teal-30::-webkit-scrollbar-track {background: transparent;}
    .glass-card.overflow-x-auto.border-teal-30::-webkit-scrollbar-thumb {background-color: var(--grey);border-radius: 10px;}
    


/* ---- CSS VARIABLES ---- */
:root {
    --c-deep: #0c2340;
    --c-mid: #1a4a6e;
    --c-teal: #2d8a9e;
    --c-light: #5cbdb9;
    --c-red: #C93B3B;
    --c-white: #ffffff;
    --c-text: rgba(255,255,255,0.8);
    --c-text-muted: rgba(255,255,255,0.5);
    --c-text-dim: rgba(255,255,255,0.4);
    --c-border: rgba(92,189,185,0.15);
    --c-border-md: rgba(92,189,185,0.3);
    --c-border-strong: rgba(92,189,185,0.5);
    --c-glass-bg: rgba(26,74,110,0.25);
    --c-glass-hover: rgba(26,74,110,0.45);
    --font-mono: 'JetBrains Mono', monospace;
    --font-sans: 'Work Sans', sans-serif;
}


/* ---- BASE ---- */
*,
*::before,
*::after { box-sizing: border-box; }

body::-webkit-scrollbar {width: 6px;background: transparent;}
body::-webkit-scrollbar-track {background: transparent;}
body::-webkit-scrollbar-thumb {background-color: #2d8a9e;border-radius: 10px;}
::selection {background: #5cbdb9;color: #fff;}

html { scroll-behavior: smooth; }

body {
    font-family: var(--font-sans);
    background-color: var(--c-deep);
    color: var(--c-white);
    margin: 0;
    padding: 0;
    min-height: 100vh;
}

a { text-decoration: none; color: var(--c-teal);}

.mono { font-family: var(--font-mono); }

/* ---- CONTAINER ---- */
.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}
@media (max-width: 768px) {
    .container { padding: 0 16px; }
}

/* ---- BACKGROUNDS ---- */
.bg-deep { background-color: var(--c-deep); }
.bg-mid  { background-color: var(--c-mid); }

.grid-bg {
    background-image:
        linear-gradient(rgba(45,138,158,0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(45,138,158,0.06) 1px, transparent 1px);
    background-size: 40px 40px;
}

.hero-gradient {
    background:
        radial-gradient(ellipse at 30% 50%, rgba(45,138,158,0.15) 0%, transparent 60%),
        radial-gradient(ellipse at 70% 20%, rgba(92,189,185,0.08) 0%, transparent 50%),
        linear-gradient(180deg, var(--c-deep) 0%, #0a1e38 100%);
}

.section-gradient {
    background: linear-gradient(180deg, #0a1e38 0%, var(--c-deep) 100%);
}

/* ---- ANIMATIONS ---- */
@keyframes scan {
    0%   { transform: translateY(-100%); }
    100% { transform: translateY(100vh); }
}

@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(92,189,185,0.4); }
    50%       { box-shadow: 0 0 0 6px rgba(92,189,185,0); }
}

.scan-line {
    background: linear-gradient(180deg, transparent 0%, rgba(92,189,185,0.03) 50%, transparent 100%);
    animation: scan 4s linear infinite;
}

.scan-line-wrapper {
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.pulse-dot {
    animation: pulse-glow 2s ease-in-out infinite;
}

/* ---- GLASS CARD ---- */
.glass-card {
    background: var(--c-glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--c-border);
    transition: all 0.3s ease;
}
.glass-card:hover {
    background: var(--c-glass-hover);
    border-color: rgba(92,189,185,0.4);
    transform: translateY(-2px);
}

/* cards that should NOT hover-lift */
.glass-card.no-hover:hover {
    transform: none;
}

.teal-glow { box-shadow: 0 0 30px rgba(92,189,185,0.2); }

/* Main menu ---------------------- */
        .mobile-mainmenu-button, .mobile-mainmenu-outer {display: none;}

        /* DESKTOP  ---------------------- */
        /* STYLE */
            /* common  ---------------------- */
                ul.desktop-mainmenu {margin-bottom: 0;display: inline-block;}
                ul.desktop-mainmenu li {margin: 0;padding: 0;list-style-type: none;box-sizing: border-box}
                ul.desktop-mainmenu a {color: #fff;height: auto;font-weight: 400;text-decoration: none;}
                ul.desktop-mainmenu a:hover, ul.desktop-mainmenu li.active a, ul.desktop-mainmenu li:hover a {text-decoration:none;}
                    /* submenu */
                    ul.desktop-mainmenu ul.submenu {width: 350px;padding: 15px;background: var(--c-mid);;margin: 0;box-shadow: var(--boxshadow);box-sizing: border-box;} 
    
            /* 1 level */
                li.menu-level-1 {list-style-type: none;transition: 1s;display: inline-block;margin-right: 5px !important;}
                li.menu-level-1.parent > a {padding-right: 25px;}
                li.menu-level-1 > a {line-height: var(--mainmenu-height);/* padding: 0 30px; *//* font-size: 14px; */font-size: 14px;font-weight: 500;color: rgba(255, 255, 255, 0.8);padding: 8px 10px;border-radius: 4px;transition: 0.2s;/* border-right: 1px solid var(--mainmenu-border-right-color); *//* border-left: 1px solid var(--mainmenu-border-left-color); */display: block;}

                /* hover-active-decoration */
                    li.menu-level-1:hover > a, li.menu-level-1.active > a, li.menu-level-2.active > a  {color: var(--c-light);background: var(--c-mid);}
               
                 /* parent */
                    li.menu-level-1.parent > a:after{width: 6px;height: 6px;background: url(/assets/images/icons/arrow_down_white.png) 50% 50%/100% no-repeat;top: 50%;right: 12px;transform:translateY(-50%);position: absolute;content: '';display: block;transition:.35s;}
                    li.menu-level-1.parent:hover > a:after {transform: translateY(-50%) rotate(180deg);}
               
            /* 2 level  ---------------------- */
                li.menu-level-2 > a,
                li.menu-level-3 > a, li.menu-level-4 > a {color: #fff;padding: 10px 10px !important;display: block;border-radius: 5px;margin-bottom: 3px;}

                li.menu-level-2.active > a, li.menu-level-2:hover > a,
                li.menu-level-3.active > a, li.menu-level-3:hover > a,
                li.menu-level-4.active > a, li.menu-level-4:hover > a {background: var(--c-deep);}
                /* parent */
                    li.menu-level-2.parent > a {padding-right: 25px;}
                    li.menu-level-2.parent > a:after{width: 8px;height: 8px;background: url(/assets/images/icons/arrow_right_black.png) 50% 50%/100% no-repeat;top: 50%;right: 10px;transform:translateY(-50%);position: absolute;content: '';display: block;transition:.5s}
                    
            /* 3 level  ---------------------- */
                /* parent  ---------------------- */
                    li.menu-level-3.parent > a {padding-right: 25px;}
                    li.menu-level-2.parent > a:after{width: 8px;height: 8px;background: url(/assets/images/icons/arrow_right_black.png) 50% 50%/100% no-repeat;top: 50%;right: 10px;transform:translateY(-50%);position: absolute;content: '';display: block;transition:.5s}
                    
        /* BEHAVIOR  ---------------------- */
            /* common  ---------------------- */
                ul.desktop-mainmenu li {position: relative}ul.desktop-mainmenu a {position: relative}
            /* 2 level  ---------------------- */
                li.menu-level-1 > ul.submenu {top: calc(100% + 20px);left: 0;z-index: 2;position: absolute;transition: .35s;opacity: 0;visibility: hidden;z-index: 10;}
                li.menu-level-1.parent:hover > ul.submenu {top: 100%;opacity: 1;display: block;visibility: visible}
                
                
            /* 3 level  ---------------------- */
                li.menu-level-2 > ul.submenu  {top: -20px;left: 100%;text-align: left;position: absolute;transition: .35s;box-shadow:20px 0px 30px rgb(0 0 0 / 28%);opacity: 0;visibility: hidden;z-index: 1;min-height: 100%;}
                li.menu-level-2.parent:hover > ul.submenu  {top: 0;opacity: 1;visibility: visible;z-index: 3}

                   
            /* 4 level  ---------------------- */
                li.menu-level-3 > ul.submenu  {top: -20px;max-height: 500px;overflow-y: auto;left: 100%;text-align: left;position: absolute;transition: .35s;box-shadow:20px 0px 30px rgb(0 0 0 / 28%);opacity: 0;visibility: hidden;z-index: 1;}
                li.menu-level-3 > ul.submenu::-webkit-scrollbar {width: 4px;background: transparent;}
                li.menu-level-3 > ul.submenu::-webkit-scrollbar-track {background: transparent;}
                li.menu-level-3 > ul.submenu::-webkit-scrollbar-thumb {background-color: var(--maincolor2);border-radius: 10px;}
                li.menu-level-3 > ul.submenu > li {text-align: left !important;}
                li.menu-level-3.parent:hover > ul.submenu  {top: 0;opacity: 1;visibility: visible;z-index: 3}
      
/* ---- CTA BUTTON ---- */
.cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--c-teal), var(--c-light));
    box-shadow: 0 4px 24px rgba(92,189,185,0.35);
    color: var(--c-deep);
    font-weight: 700;
    font-family: var(--font-sans);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
}
.cta-btn.red, .btn-diag.red, .cta-btn.red, #page-header .cta-btn, .cta-btn.form-submit  {background: #CF4246;box-shadow: 0 4px 24px rgb(239 129 164 / 35%);color: #fff;cursor: pointer;}
.cta-btn:hover {
    box-shadow: 0 8px 36px rgba(92,189,185,0.5);
    transform: translateY(-1px);
}

/* ---- OUTLINE BUTTON ---- */
.outline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: transparent;
    border: 1px solid rgba(92,189,185,0.4);
    color: var(--c-white);
    font-weight: 500;
    font-family: var(--font-sans);
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
}
.outline-btn:hover {
    border-color: rgba(92,189,185,0.7);
    background: rgba(92,189,185,0.1);
}

/* ---- BORDER COLORS ---- */
.border-teal-10 { border: 1px solid rgba(92,189,185,0.1); }
.border-teal-15 { border: 1px solid rgba(92,189,185,0.15); }
.border-teal-20 { border: 1px solid rgba(92,189,185,0.2); }
.border-teal-25 { border: 1px solid rgba(92,189,185,0.25); }
.border-teal-30 { border: 1px solid rgba(92,189,185,0.3); }
.border-teal-40 { border: 1px solid rgba(92,189,185,0.4); }
.border-teal-50 { border: 1px solid rgba(92,189,185,0.5); }
.border-t-teal-10 { border-top: 1px solid rgba(92,189,185,0.1); }
.border-t-teal-15 { border-top: 1px solid rgba(92,189,185,0.15); }
.border-b-teal-10 { border-bottom: 1px solid rgba(92,189,185,0.1); }
.border-b-teal-15 { border-bottom: 1px solid rgba(92,189,185,0.15); }
.border-y-teal-10 { border-top: 1px solid rgba(92,189,185,0.1); border-bottom: 1px solid rgba(92,189,185,0.1); }

/* ---- TEXT COLORS ---- */
.text-white      { color: #ffffff; }
.text-teal       { color: var(--c-teal); }
.text-light      { color: var(--c-light); }
.text-muted      { color: var(--c-text-muted); }
.text-dim        { color: var(--c-text-dim); }
.text-red        { color: var(--c-red); }
.text-yellow     { color: #facc15; }

.img-content-left img {width: 250px; height: 100%; object-fit: cover; flex-shrink: 0;}

/* gradient text */
.text-gradient {
    background: linear-gradient(135deg, var(--c-light), var(--c-teal));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ---- TYPOGRAPHY ---- */
.text-xs   { font-size: 12px; }
.text-sm   { font-size: 14px; }
.text-base { font-size: 16px; }
.text-lg   { font-size: 18px; }
.text-xl   { font-size: 20px; }
.text-2xl  { font-size: 24px; }
.text-3xl  { font-size: 30px; }
.text-4xl  { font-size: 36px; }
.text-5xl  { font-size: 48px; }
.text-6xl  { font-size: 60px; }
.text-7xl  { font-size: 72px; }

.tracking-widest { letter-spacing: 0.1em; }
.tracking-tight  { letter-spacing: -0.025em; }
.leading-none    { line-height: 1; }
.leading-snug    { line-height: 1.375; }
.leading-tight   { line-height: 1.25; }
.leading-relaxed { line-height: 1.625; }
.uppercase       { text-transform: uppercase; }

.font-black  { font-weight: 900; }
.font-bold   { font-weight: 700; }
.font-semi   { font-weight: 600; }
.font-medium { font-weight: 500; }

/* ---- LAYOUT HELPERS ---- */
.relative { position: relative; }
.absolute { position: absolute; }
.fixed    { position: fixed; }
.sticky   { position: sticky; }
.inset-0  { top: 0; right: 0; bottom: 0; left: 0; }
.top-0    { top: 0; }
.z50      { z-index: 50; }
.z10      { z-index: 10; }
.z20      { z-index: 20; }
.overflow-hidden { overflow: hidden; }

.w-full  { width: 100%; }
.h-full  { height: 100%; }
.hvh     { min-height: 100vh; }

.inline-flex { display: inline-flex; }
.items-center { align-items: center; }
.items-start  { align-items: flex-start; }
.justify-center  { justify-content: center; }
.justify-between { justify-content: space-between; }
.flex-wrap  { flex-wrap: wrap; }
.flex-col   { flex-direction: column; }
.flex-shrink-0 { flex-shrink: 0; }
.flex-1    { flex: 1 1 0%; }
.gap4      { gap: 4px; }
.gap6      { gap: 6px; }
.gap8      { gap: 8px; }
.gap12     { gap: 12px; }
.gap16     { gap: 16px; }
.gap24     { gap: 24px; }
.gap32     { gap: 32px; }
.gap40     { gap: 40px; }
.gap48     { gap: 48px; }

/* ---- SPACERS ---- */
.section-pad    { padding-top: 80px;  padding-bottom: 80px; }
.section-pad-lg { padding-top: 112px; padding-bottom: 112px; }
.section-pad-sm { padding-top: 48px;  padding-bottom: 48px; }
@media (max-width: 992px) {
    .section-pad    { padding-top: 56px;  padding-bottom: 56px; }
    .section-pad-lg { padding-top: 56px;  padding-bottom: 56px; }
}
@media (max-width: 1221px) {
 /* mobile menu  ---------------------- */  
      #header #mainmenu {border: none;left: auto;top: auto;height: 100%;transform: none;position: initial;}
    #mainmenu .catalog-menu-wrapper, #mainmenu .desktop-mainmenu, #mainmenu .catalog-menu-button {display: none !important;}

    .header-nav-inner {width: calc(100% - 40px);}
    
    /* button  ---------------------- */  
        .mobile-mainmenu-button {position: absolute;display: block;top: 50%;transform: translateY(-50%);right: 10px;left: auto;width: 30px;transition: .5s;z-index: 95;cursor: pointer;}
        .mobile-mainmenu-button img {width: 100% !important;filter: brightness(0) saturate(100%) invert(68%) sepia(42%) saturate(380%) hue-rotate(135deg) brightness(95%);}
    
    /* wrapper  ---------------------- */  
        .mobile-mainmenu-outer {top: 0;width: 290px;right: -330px;transition: .5s;height: 100%;z-index: 1000;position: fixed;display: block;background: #0e2c46;box-shadow: 5px 5px 10px #00000063;overflow-y: auto;box-sizing: border-box;}
        .mobile-mainmenu-active .mobile-mainmenu-outer {right: 0;}
        /* close  ---------------------- */  
            .mobile-mainmenu-close {width: 18px;padding: 10px; left: 0px;top: 0;cursor:  pointer;position: absolute;}
        	.mobile-mainmenu-close img {width: 100%;filter: brightness(0) saturate(100%);}
        	.mobile-mainmenu-close:hover {transform:rotate(180deg); transition: .7s;}
        /* top block  ---------------------- */  
            .mobile-mainmenu-topBlock {margin-bottom: 30px;text-align: center;display: block;position: relative;}
        	.mobile-mainmenu-topBlock .logo_m {margin: 45px auto 25px; display: block;}
        	.mobile-mainmenu-topBlock a.tel_m {font-size: 16px;/* font-weight: 700; */display: block;padding: 0;margin-bottom: 3px;/* text-decoration: none; */}
        	.mobile-mainmenu-topBlock .adres_m {text-decoration: none;padding: 0 15px;color: #222;display: block;}
        	.mobile-mainmenu-topBlock .socials-url > img {width: 30px;}
        	.mobile-mainmenu-topBlock .address_m > img {width: 25px;transform: translateY(-3px);}
            .mobile-mainmenu-topBlock .logo_m img {width: 140px;}
            .mobile-mainmenu-topBlock .form-messenger-grid {grid-template-columns: 1fr 1fr 1fr;padding: 0 20px;}
        /* common */
            .mobile-mainmenu ul {margin: 0;}
            .mobile-mainmenu li {border-bottom: 1px solid #484848;margin: 0;list-style: none;}
            .mobile-mainmenu li:last-child {border: none;}
            .mobile-mainmenu li a {color: #fff;padding: 12px 20px;font-size: 14px;line-height: 20px;text-decoration: none;display: block;}
            .mobile-mainmenu li.active > a {color: var(--color-red);font-weight: 600;}
            
            /* parent */
            .mobile-mainmenu li.parent {position: relative;}
            .mobile-mainmenu li.parent > a {padding-right: 40px;}
            
            .submenu-toggle {position: absolute;right: 0;top: 0;width: 44px;height: 44px;cursor: pointer;display: flex;align-items: center;justify-content: center;}
            .submenu-toggle::after {width: 10px;height: 10px;filter: brightness(0) saturate(100%) invert(94%) sepia(9%) saturate(18%) hue-rotate(26deg) brightness(107%) contrast(101%);background: url(/assets/images/icons/plus_black.png) 50% 50%/100% no-repeat;display: block;content: '';}
            .submenu-toggle.opened::after {background-image: url(/assets/images/icons/minus_black.png);}

            /* submenu */
            .mobile-submenu {padding-left: 10px;}
}

/* ---- SCAN LINE OVERLAY ---- */
.scan-overlay {
    pointer-events: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 0;
    overflow: hidden;
}
.scan-overlay .scan-line {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 128px;
}

/* ---- HEADER ---- */
.site-header {
    position: fixed;
    z-index: 50;
    width: 100%;
}

.header-top {
    background-color: var(--c-deep);
    border-bottom: 1px solid rgba(92,189,185,0.1);
}

.header-top-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 55px;
}

.header-top-left {
    display: flex;
    align-items: center;
    gap: 24px;
}

.header-top-info {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(92,189,185,0.7);
    font-family: var(--font-mono);
    font-size: 12px;
}

.header-top-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.header-top-right  .form-messenger-grid {grid-template-columns: 1fr 1fr 1fr;}
.header-top-right .form-messenger-label {padding: 6px 7px;}

.header-phone-link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #ffffff;
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 500;
    transition: color 0.2s;
}
.header-phone-link:hover { color: var(--c-light); }

.header-email-link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(92,189,185,0.7);
    font-family: var(--font-mono);
    font-size: 12px;
    transition: color 0.2s;
}
.header-email-link:hover { color: var(--c-light); }

.btn-callback {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(45,138,158,0.2);
    border: 1px solid rgba(92,189,185,0.4);
    color: var(--c-light);
    font-family: var(--font-mono);
    font-size: 12px;
    padding: 4px 12px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
}
.btn-callback:hover { background: rgba(45,138,158,0.3); }

.header-nav-wrap {
    background: rgba(12,35,64,0.95);
    border-bottom: 1px solid rgba(92,189,185,0.15);
    position: sticky;
    top: 0;
    z-index: 50;
}

.header-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
}

.logo-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.logo-text {
    font-family: var(--font-sans);
    font-weight: 900;
    color: var(--c-red);
    font-size: 36px;
    line-height: 1;
    letter-spacing: -0.025em;
}

.logo-text > img {width: 145px;}

.logo-sub {
    font-family: var(--font-mono);
    color: rgba(92,189,185,0.5);
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.main-nav {
    display: flex;
    align-items: center;
}

.main-nav a {
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255,255,255,0.8);
    border-radius: 4px;
    transition: all 0.2s;
}
.main-nav a:hover {
    color: var(--c-light);
    background: rgba(45,138,158,0.1);
}

.header-cta {
    display: flex;
    align-items: center;
    gap: 12px;
}

.btn-diag {
    display: flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--c-teal), var(--c-light));
    box-shadow: 0 4px 24px rgba(92,189,185,0.35);
    color: var(--c-deep);
    font-weight: 600;
    font-size: 14px;
    padding: 8px 20px;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.3s;
}
.btn-diag:hover {
    box-shadow: 0 8px 36px rgba(92,189,185,0.5);
    transform: translateY(-1px);
}

.btn-mobile-menu {
    display: none;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(92,189,185,0.3);
    border-radius: 4px;
    color: var(--c-light);
    background: transparent;
    cursor: pointer;
}

.mobile-menu {
    display: none;
    border-top: 1px solid rgba(92,189,185,0.15);
    background: var(--c-deep);
}

.mobile-menu-inner {
    padding: 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mobile-menu a {
    padding: 8px 16px;
    font-size: 14px;
    color: rgba(255,255,255,0.8);
    border-radius: 4px;
    transition: color 0.2s;
}
.mobile-menu a:hover { color: var(--c-light); }

.mobile-menu.is-open { display: block; }

@media (max-width: 992px) {
    .btn-diag { display: none; }
    .btn-mobile-menu { display: flex; }
    .header-email-link { display: none; }
}
@media (max-width: 576px) {
    .header-top-info-location { display: none; }
    .logo-sub { display: none; }
    .logo-text { font-size: 30px; }
    
}

/* ---- ICON BUTTON (mini icon in header) ---- */
.icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.icon-wrap-sm {
    width: 32px; height: 32px;
    border-radius: 8px;
    background: rgba(45,138,158,0.2);
    border: 1px solid rgba(92,189,185,0.4);
}
.icon-wrap-md {
    width: 40px; height: 40px;
    border-radius: 8px;
    background: rgba(45,138,158,0.15);
    border: 1px solid rgba(92,189,185,0.25);
}
.icon-wrap-lg {
    width: 48px; height: 48px;
    border-radius: 10px;
    background: rgba(45,138,158,0.15);
    border: 1px solid rgba(92,189,185,0.25);
}
.icon-wrap-xl {
    width: 56px; height: 56px;
    border-radius: 12px;
    background: rgba(45,138,158,0.2);
    border: 1px solid rgba(92,189,185,0.3);
}

/* ---- SECTION LABEL (с полосками) ---- */
.section-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.section-label-line {
    width: 24px;
    height: 1px;
    background: var(--c-teal);
}
.section-label-text {
    font-family: var(--font-mono);
    color: var(--c-teal);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.section-label-center {
    justify-content: center;
}

/* ---- HERO ---- */
.hero {
    position: relative;
    overflow: hidden;
    min-height: 680px;
}

.hero-content {
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 48px;
    padding: 80px 0 112px;
}

.hero-text { flex: 1; max-width: 672px; }

.hero-badge {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}
.hero-badge-text {
    font-family: var(--font-mono);
    color: var(--c-light);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.hero-h1 {
    font-size: 64px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.025em;
    color: #ffffff;
    margin-bottom: 24px;
}

.hero-desc {
    font-size: 18px;
    color: rgba(255,255,255,0.6);
    line-height: 1.625;
    margin-bottom: 16px;
    max-width: 512px;
}

.hero-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 32px;
}

.hero-badge-item {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(45,138,158,0.1);
    border: 1px solid rgba(92,189,185,0.3);
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 600;
    color: var(--c-light);
}

.hero-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 40px;
}

.hero-btn-primary {
    padding: 16px 32px;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 700;
}

.hero-btn-secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid rgba(92,189,185,0.4);
    color: #ffffff;
    font-weight: 500;
    font-size: 16px;
    padding: 16px 32px;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s;
}
.hero-btn-secondary:hover {
    border-color: rgba(92,189,185,0.7);
    background: rgba(92,189,185,0.1);
}

.hero-stats {
    display: flex;
    align-items: center;
    gap: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(92,189,185,0.15);
    flex-wrap: wrap;
}
.hero-stat-num {
    font-family: var(--font-mono);
    font-size: 28px;
    font-weight: 700;
    color: var(--c-light);
}
.hero-stat-label {
    color: rgba(255,255,255,0.5);
    font-size: 12px;
    margin-top: 4px;
}
.hero-stat-divider {
    border-left: 1px solid rgba(92,189,185,0.2);
    padding-left: 24px;
}

.hero-image-wrap {
    flex-shrink: 0;
    width: 420px;
}

.hero-image-card {
    border-radius: 16px;
    padding: 4px;
}
.hero-image-inner {
    height: 320px;
    border-radius: 12px;
    overflow: hidden;
}
.hero-image-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-price-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; 
    gap: 12px;
    padding: 16px;
}
.hero-price-item {
    border-radius: 8px;
    padding: 12px;
    text-align: center;
}
.hero-price-label {
    font-family: var(--font-mono);
    color: var(--c-light);
    font-size: 12px;
    font-weight: 700;
}
.hero-price-val {
    font-family: var(--font-mono);
    color: rgba(255,255,255,0.5);
    font-size: 12px;
}

.hero-image-badge {
    position: absolute;
    top: -12px;
    left: 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--c-mid);
    padding: 4px 12px;
    border-radius: 4px;
    border: 1px solid rgba(92,189,185,0.3);
}
.hero-image-badge-dot { width: 6px; height: 6px; border-radius: 50%; background: #4ade80; }
.hero-image-badge-text { font-family: var(--font-mono); font-size: 12px; color: rgba(92,189,185,0.8); }

.hero-code-hint {
    position: absolute;
    top: 32px;
    left: 32px;
        z-index: 2;

    font-family: var(--font-mono);
    color: rgba(45,138,158,0.2);
    font-size: 12px;
    line-height: 1.5;
}

.hero-scan-right {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, transparent 0%, rgba(92, 189, 185, 0.55) 50%, transparent 100%);
    animation: heroScanX 5s ease-in-out infinite;
    z-index: 2;
    pointer-events: none;
}

@keyframes heroScanX {
0%, 100% {
    right: 5%;
    opacity: 0;
}
10% {
    opacity: 1;
}
50% {
    right: 60%;
    opacity: 0.7;
}
90% {
    opacity: 0;
}
}

.hero-svg-deco {
    position: absolute;
    top: 80px;
    right: 0;
    width: 600px;
    height: 600px;
    opacity: 0.05;
}

@media (max-width: 992px) {
    .hero { min-height: auto; }
    .hero-content { flex-direction: column; padding: 48px 0 64px; }
    .hero-image-wrap { display: none; }
    .hero-h1 { font-size: 42px; }
}
@media (max-width: 576px) {
    .hero-h1 { font-size: 32px; }
    .hero-desc { font-size: 15px; }
    .hero-btn-primary, .hero-btn-secondary { padding: 12px 20px; font-size: 14px; }
}



/* ---- PAGE HERO (interior pages) ---- */
.page-hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(92,189,185,0.15);
    min-height: 400px;
    margin-top: 105px;

}
#hero, .page-hero, .content-hero {margin-top: 135px;}

.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-bg-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg, var(--c-deep) 0%, rgba(12,35,64,0.88) 32%, rgba(12,35,64,0.4) 58%, rgba(12,35,64,0.05) 78%, transparent 100%);}
.hero-content-full{display:block;padding:80px 0 112px;}
@media (max-width: 992px){.hero-content-full{padding:48px 0 64px;}.hero-bg-overlay{background:linear-gradient(180deg, rgba(12,35,64,0.6) 0%, rgba(12,35,64,0.92) 55%, var(--c-deep) 100%);}}


.page-hero-sm { min-height: 220px; }
.page-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.page-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.page-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 10;
    background: linear-gradient(135deg, rgba(12,35,64,0.93) 0%, rgba(12,35,64,0.82) 50%, rgba(26,74,110,0.72) 100%);
}
.page-hero-overlay-radial {
    position: absolute;
    inset: 0;
    z-index: 10;
    background: radial-gradient(ellipse at 20% 50%, rgba(45,138,158,0.18) 0%, transparent 60%);
}
.page-hero-content {
    position: relative;
    z-index: 20;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 400px;
    padding: 64px 0;
}
.page-hero-content-sm {
    min-height: 220px;
    padding: 40px 0;
}
.page-hero-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.page-hero-breadcrumb-sep {
    font-family: var(--font-mono);
    color: rgba(92,189,185,0.5);
    font-size: 12px;
}
.page-hero-h1 {
    font-size: 44px;
    font-weight: 900;
    color: #ffffff;
    line-height: 1.2;
    margin-bottom: 20px;
}
.page-hero-desc {
    font-size: 16px;
    color: rgba(255,255,255,0.6);
    line-height: 1.6;
    max-width: 576px;
}

@media (max-width: 992px) {
    .page-hero-h1 { font-size: 30px; }
    .page-hero-content { padding: 48px 0; }
}

/* ---- SERVICE CARDS ---- */
.service-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.service-card:hover .service-arrow {
    transform: translateX(4px);
    color: var(--c-light);
}
.corner-bracket {
    position: relative;
}
.corner-bracket::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 12px; height: 12px;
    border-top: 1px solid rgba(92,189,185,0.6);
    border-left: 1px solid rgba(92,189,185,0.6);
}
.corner-bracket::after {
    content: '';
    position: absolute;
    bottom: 0; right: 0;
    width: 12px; height: 12px;
    border-bottom: 1px solid rgba(92,189,185,0.6);
    border-right: 1px solid rgba(92,189,185,0.6);
}

.service-card-icon-wrap {
    width: 48px; height: 48px;
    border-radius: 8px;
    background: rgba(45,138,158,0.15);
    border: 1px solid rgba(92,189,185,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s;
}
.service-card:hover .service-card-icon-wrap {
    background: rgba(45,138,158,0.25);
}

.service-card-tag {
    font-family: var(--font-mono);
    font-size: 12px;
    color: rgba(92,189,185,0.6);
    background: rgba(92,189,185,0.1);
    border: 1px solid rgba(92,189,185,0.2);
    padding: 2px 8px;
    border-radius: 4px;
}

.service-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 20px;
}
.service-card-title {
    font-weight: 700;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.375;
    margin-bottom: 8px;
}
.service-card-desc {
    color: rgba(255,255,255,0.5);
    font-size: 12px;
    line-height: 1.625;
    margin-bottom: 16px;
}
.service-card-footer {
    padding-top: 16px;
    border-top: 1px solid rgba(92,189,185,0.15);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.service-card-price {
    font-family: var(--font-mono);
    color: var(--c-light);
    font-weight: 700;
    font-size: 14px;
}
.service-card-price-note {
    font-family: var(--font-mono);
    color: rgba(255,255,255,0.4);
    font-size: 12px;
}
.service-arrow {
    color: rgba(92,189,185,0.4);
    transition: all 0.3s;
    font-size: 14px;
}

/* ---- WORKFLOW STEPS ---- */
.workflow-connector {
    display: none;
}
@media (min-width: 992px) {
    .workflow-connector {
        display: block;
        position: absolute;
        top: 52px;
        left: 8%;
        right: 8%;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(92,189,185,0.4) 10%, rgba(92,189,185,0.4) 90%, transparent);
    }
}

.step-node {
    width: 104px; height: 104px;
    background: rgba(12,35,64,0.9);
    border: 1px solid rgba(92,189,185,0.3);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    position: relative;
    z-index: 10;
    transition: all 0.3s;
}
.step-node.active {
    /*border-color: rgba(92,189,185,0.8);
    background: rgba(45,138,158,0.2);*/
}
.step-node:hover { border-color: rgba(92,189,185,0.6); }

.step-num {
    font-family: var(--font-mono);
    color: rgba(92,189,185,0.5);
    font-size: 12px;
    margin-bottom: 4px;
}
.step-icon { font-size: 24px; color: var(--c-light); }
.step-line { width: 8px; height: 1px; background: rgba(92,189,185,0.4); margin-top: 4px; }
.step-title {
    font-family: var(--font-mono);
    color: var(--c-light);
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 8px;
    text-align: center;
}
.step-desc {
    color: rgba(255,255,255,0.4);
    font-size: 12px;
    line-height: 1.625;
    text-align: center;
}
.step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* ---- ABOUT SECTION ---- */
.about-grid-icon {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border-radius: 12px;
}
.about-icon { color: var(--c-light); margin-top: 2px; }
.about-item-title {
    font-weight: 600;
    color: #ffffff;
    font-size: 14px;
    margin-bottom: 4px;
}
.about-item-desc {
    color: rgba(255,255,255,0.5);
    font-size: 12px;
    line-height: 1.5;
}

.about-img-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
}
.about-img-wrap img.about-main-img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
}
.about-img-stats {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    padding: 24px;
}
.about-img-stat {
    text-align: center;
    border: 1px solid rgba(92,189,185,0.2);
}
.about-img-stat:nth-child(2) {
    border-left: 1px solid rgba(92,189,185,0.2);
    border-right: 1px solid rgba(92,189,185,0.2);
}
.about-stat-val {
    font-family: var(--font-mono);
    font-weight: 700;
    font-size: 20px;
    color: var(--c-light);
}
.about-stat-label {
    color: rgba(255,255,255,0.5);
    font-size: 12px;
    margin-top: 4px;
}

.about-deco-tl, .about-deco-br {
    position: absolute;
    width: 96px; height: 96px;
    border-radius: 12px;
    border: 1px solid rgba(92,189,185,0.2);
}
.about-deco-tl { top: -16px; left: -16px; }
.about-deco-br { bottom: -16px; right: -16px; }

.about-clean-room-badge {
    position: absolute;
    top: 16px; right: 16px;
    background: rgba(12,35,64,0.8);
    border: 1px solid rgba(92,189,185,0.3);
    border-radius: 8px;
    padding: 8px 12px;
    font-family: var(--font-mono);
    font-size: 12px;
    color: rgba(92,189,185,0.8);
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ===== QUICK CTA (перезвоните мне) ===== */
.quick-cta {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    padding: 40px 20px;
    border: 1px solid rgba(92,189,185,0.25);
}
.quick-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 78% 50%, rgba(45,138,158,0.16) 0%, transparent 60%);
    pointer-events: none;
}
.quick-cta > * { position: relative; z-index: 1; }

/* ---- левая колонка ---- */
.quick-cta-icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(45,138,158,0.15);
    border: 1px solid rgba(92,189,185,0.3);
    color: var(--c-light);
    font-size: 24px;
}
.quick-cta-body { flex: 1; min-width: 0; }
.quick-cta-eyebrow {
    color: rgba(92,189,185,0.7);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-size: 13px;
}
.quick-cta-title {
    color: #fff;
    font-weight: 900;
    font-size: 34px;
    line-height: 1.15;
    margin: 10px 0 14px;
}
.quick-cta-text {
    color: var(--c-text-muted);
    font-size: 15px;
    line-height: 1.6;
    max-width: 460px;
}
.quick-cta-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin-top: 20px;
}
.quick-cta-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--c-text-muted);
    font-size: 13px;
}
.quick-cta-badge i { color: var(--c-light); font-size: 14px; }

/* ---- правая колонка ---- */
.quick-cta-phone {
    padding: 18px 24px;
    border-radius: 14px;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.02em;
}
.quick-cta-or {
    text-align: center;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 12px;
    margin: 16px 0;
}
.quick-submit {
    padding: 12px 18px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
}
.quick-cta-policy {
    color: rgba(255,255,255,0.4);
    font-size: 12px;
    line-height: 1.5;
    margin-top: 14px;
}
.quick-cta-policy a { color: rgba(92,189,185,0.8); }

/* honeypot */
.af-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
#certificate-section img {
    max-height: 450px;
}
/* ---- адаптив ---- */
@media (max-width: 992px) {
    .quick-cta { padding: 32px 28px; }
    .quick-cta-title { font-size: 28px; }
    .quick-cta-right { margin-top: 32px; }
    .img-content-left {flex-direction: column-reverse;}
}
@media (max-width: 576px) {
    .quick-cta { padding: 24px 18px; }
    .quick-cta-icon { display: none; }
    .quick-cta-title { font-size: 24px; }
    #certificate-section img {
    max-height: none;width: 100%;
}
}
/* ---- TRUST BAR ---- */
.trust-bar {
    padding: 48px 0;
    border-top: 1px solid rgba(92,189,185,0.1);
    border-bottom: 1px solid rgba(92,189,185,0.1);
    background: rgba(26,74,110,0.15);
}

.trust-item {
    text-align: center;
    padding: 0 24px;
    border-right: 1px solid rgba(92,189,185,0.15);
}
.trust-item:last-child { border-right: none; }
.trust-item-title {
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
    font-size: 16px;
}
.trust-item-desc {
    color: rgba(255,255,255,0.5);
    font-size: 14px;
}

@media (max-width: 768px) {
    .trust-item { border-right: none; border-bottom: 1px solid rgba(92,189,185,0.15); padding: 16px 0; }
    .trust-item:last-child { border-bottom: none; }
}

/* ---- CONTACT SECTION ---- */
.contact-trust-item {
    display: flex;
    align-items: center;
    gap: 16px;
    border-radius: 12px;
    padding: 16px 24px;
    border: 1px solid rgba(92,189,185,0.25);
}
.contact-trust-icon {
    width: 40px; height: 40px;
    border-radius: 8px;
    background: rgba(45,138,158,0.2);
    border: 1px solid rgba(92,189,185,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.contact-trust-title {
    color: #ffffff;
    font-weight: 600;
    font-size: 14px;
}
.contact-trust-sub {
    color: rgba(255,255,255,0.45);
    font-size: 12px;
    margin-top: 2px;
}

/* Contact phones */
.phone-item {
    display: flex;
    align-items: center;
    gap: 16px;
    border-radius: 12px;
    padding: 16px 20px;
    border: 1px solid rgba(92,189,185,0.25);
    text-decoration: none;
    transition: border-color 0.3s;
}
.phone-item:hover { border-color: rgba(92,189,185,0.5); }
.phone-icon-wrap {
    width: 36px; height: 36px;
    border-radius: 8px;
    background: rgba(45,138,158,0.2);
    border: 1px solid rgba(92,189,185,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.phone-icon-wrap .op-code {
    font-family: var(--font-mono);
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
    letter-spacing: -0.01em;
    color: var(--c-light);
}

.phone-num {
    font-family: var(--font-mono);
    color: #ffffff;
    font-weight: 700;
    font-size: 16px;
    transition: color 0.2s;
    display: block;
}
.phone-item:hover .phone-num { color: var(--c-light); }
.phone-note {
    color: rgba(255,255,255,0.4);
    font-size: 12px;
}

/* Messenger buttons */
.messenger-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(26,74,110,0.4);
    border: 1px solid rgba(92,189,185,0.25);
    border-radius: 12px;
    padding: 14px 16px;
    text-decoration: none;
    transition: all 0.3s ease;
}
.messenger-btn:hover {
    background: rgba(45,138,158,0.3);
    border-color: rgba(92,189,185,0.6);
    transform: translateY(-2px);
}
.messenger-btn span {
    color: rgba(255,255,255,0.8);
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s;
}
.messenger-btn:hover span { color: #ffffff; }

 /* rating */
.rating img {vertical-align: middle;}
.rating .rating-logo {width: 80px;}
.rating .rating-stars {width: 80px;}
  
  
/* Address block */
.address-block {
    border-radius: 12px;
    padding: 16px 20px;
    border: 1px solid rgba(92,189,185,0.2);
}
.address-line {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.8);
    font-size: 14px;
    font-weight: 500;
}
.address-sub {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.55);
    font-size: 12px;
    margin-top: 8px;
}

/* ---- FORM ---- */
.form-wrap {
    border-radius: 16px;
    padding: 32px;
    border: 1px solid rgba(92,189,185,0.25);
}

.form-label {
    display: block;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 500;
    color: rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
}

.form-input,
.form-textarea,
.form-select {
    width: 100%;
    background: rgba(12,35,64,0.6);
    border: 1px solid rgba(92,189,185,0.3);
    border-radius: 12px;
    padding: 12px 16px;
    color: #ffffff;
    font-size: 14px;
    font-family: var(--font-sans);
    box-sizing: border-box;
    transition: all 0.3s;
    outline: none;
    appearance: none;
}
.form-input::placeholder,
.form-textarea::placeholder { color: rgba(255,255,255,0.35); }
.form-input:focus,
.form-textarea:focus,
.form-select:focus {
    border-color: rgba(92,189,185,0.6);
    background: rgba(12,35,64,0.8);
    box-shadow: 0 0 0 3px rgba(92,189,185,0.08);
}
.form-textarea { resize: none; }

.form-select option {
    background: var(--c-mid);
    color: #ffffff;
}

/* Messenger radio buttons */
.form-messenger-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 8px;
}
.form-messenger-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    border-radius: 8px;
    border: 1px solid rgba(92,189,185,0.25);
    padding: 10px 12px;
    transition: all 0.2s;
    font-size: 12px;
    color: rgba(255,255,255,0.7);
}
.form-messenger-label:hover { border-color: rgba(92,189,185,0.5); }
.form-messenger-label input[type="radio"] { display: none; }
.form-messenger-label:has(input:checked) {
    border-color: var(--c-light);
    background: rgba(45,138,158,0.2);
}

.form-submit {
    width: 100%;
    padding: 16px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 900;
}

@media (max-width: 480px) {
    .form-messenger-grid { grid-template-columns: 1fr 1fr; }
    .form-wrap { padding: 20px; }
}

/* ---- CONTACT INFO CARDS (Contacts page) ---- */
.contact-card {
    background: var(--c-glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(92,189,185,0.15);
    border-radius: 12px;
    padding: 20px;
    transition: all 0.3s ease;
}
.contact-card:hover {
    background: rgba(26,74,110,0.4);
    border-color: rgba(92,189,185,0.35);
}
.contact-card-icon {
    width: 32px; height: 32px;
    border-radius: 8px;
    background: rgba(45,138,158,0.2);
    border: 1px solid rgba(92,189,185,0.3);
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact-card-title {
    font-weight: 600;
    color: #ffffff;
    font-size: 14px;
}

.social-btn {
    width: 40px; height: 40px;
    border-radius: 8px;
    background: rgba(26,74,110,0.3);
    border: 1px solid rgba(92,189,185,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    transition: all 0.3s;
}
.social-btn:hover {
    background: rgba(45,138,158,0.3);
    border-color: rgba(92,189,185,0.5);
    transform: translateY(-2px);
    color: #ffffff;
}


/* Map */
.map-container {
    border: 1px solid rgba(92,189,185,0.2);
    border-radius: 16px;
    overflow: hidden;
    height: 420px;
}
.map-container iframe { display: block; }

/* Requisites table */
.requisites-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 32px;
}
.req-label {
    font-family: var(--font-mono);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.4);
    margin-bottom: 4px;
}
.req-val {
    color: #ffffff;
    font-size: 14px;
}
.req-val-mono {
    font-family: var(--font-mono);
    font-size: 12px;
    word-break: break-all;
}
@media (max-width: 576px) {
    .requisites-grid { grid-template-columns: 1fr; }
    .hero-stats > div {flex: 1 1 calc(48% - 10px);}
    .hero-stat-divider {border-left: none;padding-left: 0;}
    .hero-stat-num {font-size: 25px;}
}

/* ---- FOOTER ---- */
.site-footer {
    position: relative;
    background: var(--c-deep);
    border-top: 1px solid rgba(92,189,185,0.15);
}
.footer-top {
    padding-top: 64px;
    padding-bottom: 32px;
}
.footer-brand p {
    color: rgba(255,255,255,0.5);
    font-size: 14px;
    line-height: 1.625;
    margin-bottom: 20px;
}
.footer-req-block {
    border-radius: 8px;
    padding: 12px;
    font-family: var(--font-mono);
    font-size: 12px;
}
.footer-req-comment { color: rgba(92,189,185,0.6); }
.footer-req-line { color: rgba(255,255,255,0.6); }
.footer-req-line span { color: var(--c-light); }

.footer-col-title {
    font-family: var(--font-mono);
    color: var(--c-light);
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 20px;
    letter-spacing: 0.05em;
}
.footer-links { display: flex; flex-direction: column; gap: 10px; }
.footer-link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.5);
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s;
}
.footer-link:hover { color: var(--c-light); }
.footer-link i { color: rgba(92,189,185,0.4); font-size: 12px; }

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}
.footer-contact-item i { color: var(--c-teal); font-size: 14px; margin-top: 2px; flex-shrink: 0; }
.footer-contact-label {
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    display: block;
    margin-bottom: 2px;
}
.footer-contact-val {
    color: rgba(255,255,255,0.5);
    font-size: 14px;
}
.footer-phone-link {
    display: block;
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
}
.footer-phone-link:hover { color: var(--c-light); }
.footer-phone-note, .footer-time-note {
    color: rgba(255,255,255,0.5);
    font-size: 12px;
    margin-bottom: 4px;
}
.footer-email-link {
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
}
.footer-email-link:hover { color: var(--c-light); }

.footer-social {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 8px;
}
.footer-social-btn {
    width: 32px; height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s;
}
.footer-social-btn:hover { border-color: rgba(92,189,185,0.5); }
.footer-social-btn i { color: var(--c-light); font-size: 14px; }

.footer-bottom {
    border-top: 1px solid rgba(92,189,185,0.15);
    padding: 32px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}
.footer-copyright {
    font-family: var(--font-mono);
    color: rgba(255,255,255,0.3);
    font-size: 12px;
}
.footer-legal {
    display: flex;
    align-items: center;
    gap: 24px;
}
.footer-legal a {
    font-family: var(--font-mono);
    color: rgba(255,255,255,0.3);
    font-size: 12px;
    text-decoration: none;
    transition: color 0.2s;
}
.footer-legal a:hover { color: var(--c-light); }

/* ---- CALLBACK MODAL ---- */
.modal-overlay-wrap {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.modal-overlay-wrap.is-open { display: flex; }
.modal-bg {
    position: absolute;
    inset: 0;
    background: rgba(12,35,64,0.8);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.modal-box {
    position: relative;
    border-radius: 16px;
    padding: 32px;
    max-width: 448px;
    width: 100%;
    border: 1px solid rgba(92,189,185,0.3);
}
.modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
}
.modal-label {
    font-family: var(--font-mono);
    color: var(--c-light);
    font-size: 12px;
    letter-spacing: 0.1em;
    margin-bottom: 4px;
}
.modal-title {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
}
.modal-close-btn {
    width: 32px; height: 32px;
    border-radius: 8px;
    border: 1px solid rgba(92,189,185,0.3);
    background: transparent;
    color: rgba(255,255,255,0.6);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s;
}
.modal-close-btn:hover { color: #ffffff; }
.modal-disclaimer {
    color: rgba(255,255,255,0.3);
    font-size: 12px;
    text-align: center;
    margin-top: 8px;
}

/* ---- NEWS (Новости) ---- */
.news-card {
    background: var(--c-glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(92,189,185,0.15);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    text-decoration: none;
}
.news-card:hover {
    background: rgba(26,74,110,0.5);
    border-color: rgba(92,189,185,0.45);
    transform: translateY(-3px);
    box-shadow: 0 12px 40px rgba(12,35,64,0.5);
}
.news-card-featured {
    background: rgba(26,74,110,0.35);
    border-color: rgba(92,189,185,0.3);
}
.news-card-featured:hover { border-color: rgba(92,189,185,0.6); }

.news-img-wrap { position: relative; overflow: hidden; }
.news-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}
.news-card:hover .news-img-wrap img { transform: scale(1.05); }

.news-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(12,35,64,0.85) 0%, transparent 60%);
}
.news-tag {
    position: absolute;
    top: 12px; left: 12px;
}
.news-tag span {
    font-family: var(--font-mono);
    color: var(--c-light);
    font-size: 12px;
    background: rgba(45,138,158,0.2);
    border: 1px solid rgba(92,189,185,0.3);
    padding: 3px 12px;
    border-radius: 50px;
}
.news-date {
    font-family: var(--font-mono);
    color: rgba(92,189,185,0.7);
    font-size: 12px;
    margin-bottom: 8px;
}
.news-title {
    color: #ffffff;
    font-weight: 700;
    line-height: 1.375;
    transition: color 0.2s;
}
.news-card:hover .news-title { color: var(--c-light); }
.news-excerpt {
    color: rgba(255,255,255,0.55);
    font-size: 14px;
    line-height: 1.625;
    flex: 1;
    margin-bottom: 16px;
}
.news-read-more {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--c-light);
    font-size: 12px;
    font-weight: 600;
    transition: gap 0.2s;
}
.news-card:hover .news-read-more { gap: 10px; }
.news-views {
    display: flex;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,0.3);
    font-family: var(--font-mono);
    font-size: 12px;
}

.news-card-featured .news-title { font-size: 20px; }
.news-card-featured .news-excerpt { font-size: 14px; }
.news-featured-bottom {
    position: absolute;
    bottom: 16px; left: 16px; right: 16px;
}

/* ---- PRICING TABLE ---- */
.pricing-table-wrap {
    overflow-x: auto;
    border-radius: 16px;
    border: 1px solid rgba(92,189,185,0.2);
    max-width: 700px;
    margin: 0 auto;
}
.pricing-table {
    width: 100%;
    font-size: 14px;
    border-collapse: collapse;
}
.pricing-table thead th {
    background: rgba(45,138,158,0.2);
    padding: 16px 24px;
    color: #ffffff;
    font-weight: 600;
    border-bottom: 1px solid rgba(92,189,185,0.2);
    text-align: left;
}
.pricing-table thead th.price-col {
    color: var(--c-light);
    font-weight: 700;
    font-family: var(--font-mono);
    text-align: center;
    white-space: nowrap;
}
.pricing-table tbody tr { border-bottom: 1px solid rgba(92,189,185,0.1); transition: background 0.2s; }
.pricing-table tbody tr:last-child { border-bottom: none; }
.pricing-table tbody tr:nth-child(even) { background: rgba(26,74,110,0.15); }
.pricing-table tbody tr:hover { background: rgba(45,138,158,0.1); }
.pricing-table td { padding: 16px 24px; color: rgba(255,255,255,0.8); }
.pricing-table td.price-val {
    font-family: var(--font-mono);
    font-weight: 700;
    color: var(--c-light);
    text-align: center;
    white-space: nowrap;
}
.pricing-note {
    color: rgba(255,255,255,0.4);
    font-family: var(--font-mono);
    font-size: 12px;
    text-align: center;
    margin-top: 16px;
}

/* ---- FAQ CARDS & ACCORDION (ОБЪЕДИНЕННЫЙ) ---- */
.faq-card {
    border-radius: 12px;
    padding: 24px;
    border: 1px solid rgba(92,189,185,0.3);
}

.question.faq-question { 
    font-weight: 600; 
    color: #ffffff; 
    margin-bottom: 0;
    position: relative;
    cursor: pointer;
    transition: color .3s;
    z-index: 2;
}

.question.faq-question:after {
    position: absolute;
    content: "";
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(/assets/images/icons/arrow_down_white.png) 50% 50% no-repeat;
    width: 12px;
    height: 12px;
    background-size: 12px 12px;
    transition: transform .5s;
}

.question.faq-question.open:after {
    transform: translateY(-50%) rotate(180deg);
}

.answer.faq-answer { 
    margin-top: 20px;
    border-top: 0;
    display: none; 
    color: rgba(255,255,255,0.6); 
    font-size: 14px; 
    line-height: 1.625;
    z-index: 2;
}


/* ---- CHECKLIST ---- */
.check-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}
.check-item i { font-size: 12px; margin-top: 2px; flex-shrink: 0; width: 16px; }
.check-item span { color: rgba(255,255,255,0.7); font-size: 14px; }

/* numbered list */
.num-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}
.num-circle {
    width: 24px; height: 24px;
    border-radius: 50%;
    background: rgba(45,138,158,0.3);
    border: 1px solid rgba(92,189,185,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    color: var(--c-light);
    margin-top: 2px;
}
.num-text { color: rgba(255,255,255,0.6); font-size: 14px; line-height: 1.625; }

/* ---- WARNING BOX ---- */
.warning-box {
    border-radius: 12px;
    padding: 20px;
    border: 1px solid rgba(250,204,21,0.3);
    background: rgba(250,204,21,0.05);
}
.warning-box-title {
    font-family: var(--font-mono);
    color: #facc15;
    font-size: 12px;
    font-weight: 600;
}
.warning-box p { color: rgba(255,255,255,0.7); font-size: 14px; }
.warning-box strong { color: #facc15; font-weight: 700; }

/* ---- INFO BOX ---- */
.info-box {
    border-radius: 12px;
    padding: 20px;
    border: 1px solid rgba(92,189,185,0.2);
    background: rgba(45,138,158,0.05);
}
.info-box-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono);
    color: var(--c-light);
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 8px;
}
.info-box p { color: rgba(255,255,255,0.7); font-size: 14px; }

/* ---- NOTICE BOX (text on teal/5) ---- */
.notice-box {
    border-radius: 12px;
    padding: 20px;
    font-size: 14px;
    border: 1px solid rgba(92,189,185,0.3);
    background: rgba(45,138,158,0.05);
}
.notice-strong { color: var(--c-light); font-weight: 600; }

/* ---- SIDEBAR BOX ---- */
.sidebar-box {
    border-radius: 12px;
    padding: 20px;
    border: 1px solid rgba(92,189,185,0.3);
}
.sidebar-box-title {
    font-family: var(--font-mono);
    color: rgba(92,189,185,0.6);
    font-size: 12px;
    margin-bottom: 12px;
}

/* ---- EXPRESS CTA BAR ---- */
.express-cta {
    border-radius: 16px;
    padding: 24px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.express-cta-icon {
    width: 56px; height: 56px;
    border-radius: 12px;
    background: rgba(45,138,158,0.2);
    border: 1px solid rgba(92,189,185,0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.express-cta-title { font-weight: 700; color: #ffffff; font-size: 18px; margin-bottom: 4px; }
.express-cta-desc { color: rgba(255,255,255,0.5); font-size: 14px; }
.express-cta-btn { padding: 12px 32px; border-radius: 8px; font-size: 14px; white-space: nowrap; flex-shrink: 0; }

/* ---- SMALL DECO ---- */
.section-divider {
    display: flex;
    align-items: center;
    gap: 12px;
}
.section-divider-line { flex: 1; height: 1px; background: rgba(92,189,185,0.15); }

/* overlay grid on sections */
.section-grid-overlay {
    position: absolute;
    inset: 0;
}

#scrollup {width: 45px;height: 45px;right: 20px;bottom: 20px;position: fixed;border-radius: 5px;opacity: 0;visibility: hidden;background: var(--c-teal);cursor: pointer;text-align: center;display: flex;justify-content: center;align-items: center;transition: 0.5s;transform: rotate(180deg);z-index: 10;}


/* ---- RESPONSIVE HELPERS ---- */
.hide-mobile { display: block; }
.show-mobile { display: none; }
@media (max-width: 768px) {
    .hide-mobile { display: none; }
    .show-mobile { display: block; }
}

/* ---- CONTENT SECTION SHARED ---- */
.content-section {
    position: relative;
    border-top: 1px solid rgba(92,189,185,0.15);
}


/* intro grid in service pages */
.service-intro-text h2 {
    font-size: 26px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 16px;
}
.service-intro-text p, .service-intro-text li {
    color: rgba(255,255,255,0.6);
    font-size: 14px;
    line-height: 1.625;
    margin-bottom: 16px;
    text-align: justify;
}
.service-intro-text h3 {
    color: #ffffff;
    font-weight: 700; 
    font-size: 18px;
    margin-bottom: 12px;
    padding-top: 8px;
}

/* Corporate page */
.corp-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border-radius: 12px;
    padding: 16px;
    border: 1px solid rgba(92,189,185,0.12);
    background: rgba(26,74,110,0.2);
    transition: all 0.3s ease;
}
.corp-benefit-item:hover {
    background: rgba(26,74,110,0.35);
    border-color: rgba(92,189,185,0.3);
}

/* ---- BACK TO TOP / MISC ---- */
.hidden-lg { display: none; }
@media (min-width: 992px) {
    .hidden-lg { display: block; }
}

/* ---- TABLE ROW HOVER ---- */
.table-row-hover:hover { background: rgba(45,138,158,0.1); }

@media (max-width: 571px) {
    .page-hero-breadcrumb {display: none;}
    .main-nav a {padding: 8px 10px;}
    .header-top-right .form-messenger-label {padding: 6px 4px;}

    .hystmodal__close {filter: brightness(0) invert(1);}
    .about-img-stats {padding: 4px;}
    .glass-card.overflow-x-auto.border-teal-30 {position: relative;padding-top: 40px;}
    .glass-card.overflow-x-auto.border-teal-30:after {content: '';position: absolute;top: 0;left: 80px;width: 35px;height: 35px;display: block;background: url(/assets/images/icons/hand.png);background-size: 35px 35px;z-index: 3;}
    .hero-scan-right {background: linear-gradient(180deg, transparent 0%, rgb(92 189 185 / 20%) 50%, transparent 100%);}
    #scrollup {width: 35px;height: 35px;right: 5px;}
}

