html {
  box-sizing: border-box;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}

body, h1, h2, h3, h4, h5, h6, p, ol, ul, li, figure, figcaption, blockquote, dl, dd {
  margin: 0;
}

body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.2;
}

ul,
ol {
  padding: 0;
  list-style: none;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

a {
  text-decoration: none;
  color: inherit;
}

input,
button,
textarea,
select {
  font: inherit;
}

button {
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
}

.visually-hidden:not(:focus):not(:active) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

/* --- st --- */

body {
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  color: #000;
}


h1 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}

p {
  margin-bottom: 1em;
}

b, strong {
    font-weight: 700;
}


.ins{max-width:1440px;margin:0 auto;padding:0 15px;}
.site-header{background:url(/ipro/img/menu.jpg) no-repeat center/cover;border-radius:30px;padding:20px 45px;margin-top:20px;display:flex;align-items:center;justify-content:space-between;color:#ffffff;}
.logo{flex-shrink:0;}
.logo a{text-decoration:none;color:#ffffff;}
.logo-title{font-size:40px;font-weight:800;margin:0;line-height:1;}
.logo-subtitle{font-size:7.2px;font-weight:300;letter-spacing:0.5px;margin:0;text-transform:uppercase;}
.nav-menu{list-style:none;padding:0;margin:0;display:flex;gap:30px;}
.nav-menu li a{color:#ffffff;text-decoration:none;font-size:18px;transition:color 0.3s ease;opacity:0.9;}
.contact-info{text-align:right;font-size:16px;line-height:1.5;}
.contact-info a{color:#ffffff;text-decoration:none;display:block;transition:color 0.3s ease;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:10px;}
.menu-toggle .bar{display:block;width:25px;height:3px;background-color:#ffffff;margin:5px 0;transition:all 0.3s ease-in-out;}
@media (max-width: 992px) { .site-header { border-radius: 25px; } .nav-menu { display: none; position: absolute; top: 70px; left: 0; right: 0; flex-direction: column; align-items: center; gap: 0; background: rgb(55 73 90 / 84%); backdrop-filter: blur(15px); padding: 20px; border-radius: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.2); margin: 30px 15px 0; z-index: 9; } .nav-menu.is-open { display: flex; } .nav-menu li { width: 100%; text-align: center; } .nav-menu li a { padding: 10px 0; display: block; font-weight: 600; } .contact-info { display: none; } .menu-toggle { display: block; } .menu-toggle.is-open .bar:nth-child(1) { transform: translateY(8px) rotate(45deg); } .menu-toggle.is-open .bar:nth-child(2) { opacity: 0; } .menu-toggle.is-open .bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); } }
.service-promo{position:relative;width:100%;max-width:1410px;height:698px;padding:90px 120px;margin-top:28px;box-sizing:border-box;border-radius:20px;overflow:hidden;color:#ffffff;background-image:url(/ipro/img/bg.jpg);background-size:cover;background-position:center;display:flex;align-items:center;}
.service-promo::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(6, 35, 62, 0.89) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%);z-index:1;}
.service-promo__content{position:relative;z-index:2;max-width:50%;display:flex;flex-direction:column;gap:90px;}
.service-promo__title{font-size:28px;font-weight:700;margin-bottom:40px;line-height:1.2;text-transform:uppercase;}
.service-promo__description{font-size:20px;font-weight:400;margin:0;max-width:500px;}
.service-promo__actions{display:flex;flex-direction:column;gap:16px;margin-top:16px;max-width:330px;}
.btn{display:flex;align-items:center;justify-content:space-between;padding:15px 24px;border:1px solid rgb(159, 162, 164);border-radius:50px;background-color:rgba(25, 33, 48, 0.5);backdrop-filter:blur(10px);text-decoration:none;font-size:18px;text-transform:lowercase;transition:background-color 0.3s ease, border-color 0.3s ease;width:100%;box-sizing:border-box;}
.btn:hover{background-color:rgba(255, 255, 255, 0.1);border-color:rgba(255, 255, 255, 0.8);}
.btn img{width:34px;height:34px;}
.about{margin-top:50px;padding:60px 45px;border-radius:30px;background:linear-gradient(191deg,rgba(218, 232, 246, 1) 0%, rgba(245, 245, 245, 1) 21%);box-shadow:0px 4px 50px rgba(0, 0, 0, 0.11);border:1px #e1e5e9 solid;}
.about h2{font-size:32px;font-weight:700;color:#0e396f;margin-top:0;margin-bottom:40px;}
.aboutxt p{font-size:18px;margin-bottom:1.5em;}
.aboutxt p:last-child{margin-bottom:0;}
.infoblock{margin-top:60px;border-radius:30px;overflow:hidden;display:grid;background:url(/ipro/img/man.png) no-repeat center right/44%, url(/ipro/img/bgman.jpg);grid-template-columns:5fr 6fr;height:560px;}
.blockinfo{padding:60px 0 0 45px;display:flex;flex-direction:column;}
.blockinfo h2{font-size:28px;font-weight:900;line-height:1.3;text-transform:uppercase;margin:0 0 25px 0;color:#0e396f;}
.blockinfo p{font-size:24px;font-weight:700;text-transform:uppercase;margin-bottom:50px;}
.blockstats{display:flex;justify-content:space-between;gap:20px;}
.stat{text-align:left;}
.statnumber{font-size:48px;font-weight:700;color:#0e396f;}
.statlabel{font-size:14px;font-weight:600;color:#69676b;text-transform:uppercase;}
.industries{position:relative;margin-top:50px;}
.industries h2{margin-bottom:30px;font-size:30px;}
.industries-grid{display:flex;overflow-x:auto;gap:30px;scroll-snap-type:x mandatory;scroll-behavior:smooth;cursor:grab;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-ms-overflow-style:none;scrollbar-width:none;}
.industries-grid::-webkit-scrollbar{display:none;}
.industries-grid:active{cursor:grabbing;}
.industry-card{width:210px;height:210px;background-color:#00265e;border-radius:30px;flex-shrink:0;scroll-snap-align:center;color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:15px;box-sizing:border-box;}
.industry-card img{max-width:83px;margin-bottom:15px;}
.industry-card p{font-weight:600;margin:0;}
.license{background:url(/ipro/img/min.jpg) no-repeat center/cover;border-radius:30px;margin-top:50px;padding:90px 45px 100px 45px;color:#fff;}
.license img{margin-bottom:50px;}
.license p{font-size:28px;}
.licenseb{font-weight:600;}
.services-section{margin-top:100px;background:url('/ipro/img/bgserv.jpg')fixed center/cover;padding:50px 0 50px;color:#ffffff;}
.services-container{max-width:1440px;margin:0 auto;padding:0 15px;}
.services-title{font-size:2.5rem;font-weight:600;margin-bottom:50px;}
.services-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:30px;}
.service-card{background-color:#ffffff;color:#1a202c;border-radius:24px;padding:30px;display:flex;align-items:center;gap:20px;transition:transform 0.3s ease, box-shadow 0.3s ease;}
.service-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0, 0, 0, 0.1);}
.service-card__content{flex-grow:1;}
.service-card__title{font-size:28px;font-weight:600;margin-bottom:14px;}
.service-card__description{font-size:14px;margin:0;}
.service-card__icon{flex-shrink:0;}
.service-card__icon img{width:153px;height:130px;object-fit:contain;}

.directions-section{margin-top:50px;}
h2{font-size:32px;font-weight:bold;margin-bottom:30px;}
.directions-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:30px;}
.direction-card{background-color:#1A2D65;color:#ffffff;border-radius:12px;padding:30px 25px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:220px;transition:transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;}
.direction-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0, 0, 0, 0.1);}
.direction-card img{width:91px;height:90px;margin-bottom:20px;object-fit:contain;}
.card-text{font-size:16px;font-weight:600;margin:0;}

.quality{background:#ececf0;padding:70px 0;margin-top:70px;}
.quality-section{max-width:1440px;margin:0 auto;}
.quality-container{display:grid;grid-template-columns:1fr 1.9fr;gap:30px;align-items:stretch;padding:0 15px;}
.quality-card-left{background-color:#293f66;color:#ffffff;padding:45px;display:flex;flex-direction:column;}
.card-left-title{font-size:22px;font-weight:700;}
.logos-container{margin-top:40px;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.logos-container img{width:auto;max-width:30%;object-fit:contain;}
.quality-content-right{padding:10px 0;}
.quality-title{font-size:26px;font-weight:bold;text-transform:uppercase;margin-bottom:20px;}
.quality-text p:last-child{margin-bottom:0;}

.pricing{margin:40px auto;}
.pricing h2{font-size:26px;font-weight:bold;color:#1a1a1a;margin-bottom:15px;text-align:center;}
.pricing>p{font-size:18px;margin-bottom:40px;}
.factors{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:40px;}
.factorcard{background-color:#d3d7e5;border-radius:12px;padding:25px;}
.factorcard h3{font-size:18px;margin-bottom:20px;}
.factorcard p{font-size:18px;}
.warranty-info p{font-size:18px;}
.warranty-info p:last-child{margin-bottom:0;}
.important-note{font-weight:bold;color:#1a1a1a;}

.form-container{background-color:#293f66;color:#ffffff;padding:30px;border-radius:30px;width:100%;}
.form-header{margin-bottom:25px;}
.form-header h2{font-size:22px;font-weight:600;margin:0 0 8px 0;}
.form-header p{font-size:16px;margin:0;opacity:0.9;}
.form-grid{display:grid;gap:16px;grid-template-columns:1fr;}
.form-input,.submit-btn{width:100%;padding:20px 24px;border-radius:50px;border:none;font-size:16px;font-family:inherit;}
.form-input{background-color:#ffffff;color:#333;}
.form-input::placeholder{color:#000;}
.form-input:focus{outline:2px solid #5c7cfa;}
.form-checkbox{display:flex;align-items:center;gap:12px;margin:25px 0;font-size:14px;color:#E0E0E0;cursor:pointer;}
.form-checkbox input[type="checkbox"]{-webkit-appearance:none;appearance:none;background-color:#fff;margin:0;font:inherit;color:currentColor;width:1.15em;height:1.15em;border:1px solid #757575;border-radius:4px;transform:translateY(-0.075em);display:grid;place-content:center;cursor:pointer;}
.form-checkbox input[type="checkbox"]::before{content:"";width:0.65em;height:0.65em;transform:scale(0);transition:120ms transform ease-in-out;box-shadow:inset 1em 1em #3A4A6D;clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);}
.form-checkbox input[type="checkbox"]:checked::before{transform:scale(1);}
.submit-btn{background-color:#E9EBF4;font-weight:600;cursor:pointer;transition:background-color 0.2s ease;}
.submit-btn:hover{background-color:#d8dbe9;}


.dowxcel a {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 30px;
            background-color: #1A2D65;
            color: #ffffff;
            padding: 25px 40px;
            border-radius: 30px;
            text-decoration: none;
            transition: box-shadow 0.2s ease;
            box-sizing: border-box;
  margin-top: 40px;
        }
        
        .dowxcel a:hover {
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
        }

        .dowxcel .infoxcel {
            font-size: 1.1rem;
            line-height: 1.6;
        }

        .dowxcel img {
            display: block;
            width: 80px;
            height: auto;
            flex-shrink: 0;
        }

        @media (max-width: 860px) {
.infoxcel br {
	display: none;
}
}

        @media (max-width: 768px) {
            .dowxcel a {
                flex-direction: column;
                text-align: center;
                padding: 30px 25px;
                border-radius: 30px;
                gap: 25px;
            }

            .dowxcel .infoxcel {
                font-size: 1rem;
            }

            .dowxcel img {
                width: 70px;
            }
        }



.contact-block {
	display: grid;
	background-color: #2C3550;
	color: #ffffff;
	border-radius: 30px 30px 0 0;
	margin: 50px auto 0;
	gap: 25px;
	grid-template-columns: 1fr;
  position: relative;
}


        .contact-map {
            position: relative;
            overflow: hidden;
            width: 100%;
            padding-top: 75%; 
            border-radius: 16px; 
        }

        .contact-map iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: 0; 
        }


        .contact-details {
            display: flex;
            flex-direction: column;
            gap: 20px; 
        }

.contact-intro {
	font-size: 18px;
	font-weight: 700;
}

        .contact-item .item-title {
            font-weight: bold;
            font-size: 18px;
        }

        .contact-item .item-content {
            font-size: 16px;
            line-height: 1.5;
            opacity: 0.95;
        }


        .contact-item a {
            color: inherit; 
            text-decoration: none;
            transition: opacity 0.2s ease;
        }

        .contact-item a:hover {
            opacity: 0.8;
            text-decoration: underline;
        }


        @media (min-width: 992px) {
            .contact-block {
                grid-template-columns: 4fr 5fr; 
                gap: 50px; 
                padding: 40px 50px;
                align-items: center;
            }

            .contact-map {
                padding-top: 0;
                height: 400px; 
            }
        }



@media (min-width: 992px) {.aboutxt {column-count: 2;column-gap: 50px;}}

@media (min-width: 768px) { 
.pricing h2, .pricing > p, .warranty-info p { text-align: left; margin-left: 0; margin-right: 0; } 
.factors { grid-template-columns: repeat(2, 1fr); gap: 25px; } 
.pricing h2 { font-size: 28px; } 
.factorcard { padding: 30px; } 
.form-container { padding: 40px 50px; } 
.form-header h2 { font-size: 24px; } 
.form-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; } 
.submit-btn { width: auto; padding-left: 50px; padding-right: 50px; } 
}

@media (max-width: 1400px) {
.industries-grid::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 90px; pointer-events: none; background: linear-gradient(to right, rgba(255, 255, 255, 0), rgb(255, 255, 255) 80%); }
.industries-grid::before { content: ''; position: absolute; top: 64%; right: 20px; transform: translateY(-50%); width: 32px; height: 32px; pointer-events: none; background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%2300265e" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 17l5-5-5-5M6 17l5-5-5-5"/></svg>'); background-repeat: no-repeat; background-size: contain; animation: bounce-horizontal 2s infinite ease-in-out;z-index: 9;}
}
@keyframes bounce-horizontal {
0%, 100% { transform: translateY(-50%) translateX(0); }
50% { transform: translateY(-50%) translateX(-10px); }
}

@media (max-width: 1200px) {
.service-promo {height: 520px;padding: 60px 45px;}
.service-promo__content {gap: 28px;}
.infoblock {background: url(/ipro/img/bgman.jpg) no-repeat 100%;grid-template-columns: 1fr;height: auto;}
.blockinfo {padding: 40px;order: 1;}
.blockstats {flex-wrap: wrap;}
.license p {font-size: 22px;}
}

@media (max-width: 992px) {
.service-promo__content {max-width: 65%;}
.service-promo {height: 460px;}
.service-promo__title {font-size: 24px;margin-bottom: 30px;}
.service-promo__description {font-size: 1rem;}
.btn img {width: 26px;height: 26px;}
.aboutxt p {font-size: 16px;}
.services-grid {grid-template-columns: 1fr;}
.services-title {font-size: 2rem;}
.directions-grid { grid-template-columns: repeat(2, 1fr); }
.directions-section h2 { font-size: 24px; }
.quality-container { grid-template-columns: 1fr; }
.contact-details {padding: 20px 40px 60px;};
}


@media (max-width: 768px) {
.service-promo {height: auto;padding: 40px;text-align: center;justify-content: center;}
.service-promo::before {background: rgba(10, 15, 24, 0.7);}.service-promo__content {max-width: 100%;align-items: center;gap: 20px;}
.btn {font-size: 16px;gap: 16px;}
.about {padding: 30px 20px;}
.about h2 {font-size: 26px;margin-bottom: 30px;}
.aboutxt p {font-size: 14px;}
.blockinfo {padding: 30px 25px;}
.blockinfo h2 {font-size: 22px;}
.blockinfo p {font-size: 18px;margin-bottom: 30px;}
.statnumber {font-size: 32px;}
.industries h2 {font-size: 24px;}
.license {padding: 50px 30px 45px 30px;}
.license p {font-size: 18px;}
.services-title {font-size: 26px;}
}

@media (max-width: 576px) {
.blockstats {justify-content: flex-start;}
.industries h2 {font-size: 20px;}
.industries-grid::before {top: 64%;}
.license p {font-size: 16px;}
.service-card__title {font-size: 26px;}
.service-card__icon img {display: none;}
.services-section {margin-top: 50px;}
.directions-grid { grid-template-columns: 1fr; } 
.directions-section h2 { text-align: center; font-size: 22px; } 
.direction-card { min-height: auto; padding: 25px 20px; }
.quality { margin-top: 45px; padding: 30px 0; } 
.quality-section { margin: 20px auto; } 
.quality-title { font-size: 22px; margin-top: 20px; } 
.card-left-title, .card-left-standards { font-size: 16px; } 
.quality-text p { font-size: 15px; } 
.quality-card-left { padding: 30px 25px; } 
.logos-container { justify-content: center; flex-wrap: wrap; }
}

@media (max-width: 480px) {
.service-promo {padding: 30px 20px;min-height: 0;}
.service-promo__title {font-size: 22px;}
.service-promo__description {font-size: 14px;}
.btn img {width: 20px;height: 20px;}
.blockstats {justify-content: flex-start;}
}
.by {
	position: absolute;
	right: 0;
	bottom: 0;
	border-radius: 8px;
	overflow: hidden;
	opacity: 0.2;
}