
:root{
  --navy:        #12213c;
  --navy-deep:   #0b1526;
  --gold:        #f0b429;
  --gold-deep:   #d99a1d;
  --cream:       #f6f3ec;
  --ink:         #1c1c1c;
  --grey-mid:    #6b7280;
  --grey-line:   #e4e1d8;
  --maroon:      #3a0b0b;
  --maroon-deep: #200606;

  --radius-s: 6px;
  --radius-m: 14px;
  --radius-l: 26px;

  --ease: cubic-bezier(.22,.61,.36,1);
  --dur: .45s;
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family:'Manrope', sans-serif;
  color: var(--ink);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
h1,h2,h3{ margin:0; font-family:'Playfair Display', serif; }
p{ margin:0; }
button{ font-family: inherit; cursor:pointer; }

.wrap,
.main_width{
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 28px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ---------- placeholders (swap for real assets) ---------- */
.placeholder-img{
  background:
    repeating-linear-gradient(135deg, #d9d4c6 0 14px, #cfc9b8 14px 28px);
  position:relative;
}

.placeholder-icon{
  width:54px; height:54px; border-radius: var(--radius-s);
  background: var(--navy);
  color: var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-size:22px;
  transition: transform var(--dur) var(--ease), background var(--dur) var(--ease);
}
.placeholder-icon-round{
    background: #fff;
    width: 110px;
    height: 111px;
    border-radius: 10px;
  border:1px solid rgba(255,255,255,.35);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; color:#fff;
  margin: 0 auto 14px;
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.placeholder-icon-round img{
        width: 70px;
}
.placeholder-badge{
 letter-spacing:.08em;
  padding: 3px 9px;
  border-radius: 4px;
}

/* =========================================================
   TOP BAR
   ========================================================= */
.topbar{
    color: rgba(255, 255, 255, .75);
    font-size: 13px;
    position: relative;
    z-index: 9;
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  height: 35px;
}
.topbar__contacts{ 
    display:flex; gap: 24px;
    margin-left:auto;
    padding-top: 6px;
}
.topbar__item{
display: inline-flex;
    align-items: center;
    gap: 7px;
    transition: color var(--dur) var(--ease);
    text-decoration: none!important;
    font-size: 14px;
    line-height: 1;
}
.topbar__item:hover{ color: var(--gold); }
.ico{ width:14px; height:14px; display:inline-block; position:relative; opacity:.85; }
.ico-phone::before{ content:'\260E'; }
.ico-mail::before{ content:'\2709'; }
.topbar__lang{ 
letter-spacing: .08em;
    margin-left: 30px;
    padding-top: 8px;
    
}

/* =========================================================
   HEADER / NAV
   ========================================================= */
.site-header{
  position: sticky;
  top: 0;
  z-index: 60;
  padding: 8px 0;
  transition: padding var(--dur) var(--ease);
}
.site-header.is-scrolled{ padding: 10px 0; }

.nav-shell{
  display:flex;
  align-items:center;
  gap: 28px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  border-radius: 25px;
  padding: 10px 14px 10px 20px;
  box-shadow: 0 10px 30px rgba(18,33,60,.10);
  transition: box-shadow var(--dur) var(--ease);
}
.site-header.is-scrolled .nav-shell{ box-shadow: 0 14px 34px rgba(18,33,60,.16); }

.brand{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.brand__mark{
  width:38px; height:38px; border-radius:50%;
  background: var(--navy);
  color: var(--gold);
  font-family:'Playfair Display',serif;
  font-weight:700;
  display:flex; align-items:center; justify-content:center;
  font-size:14px;
}
.brand__text{ display:flex; flex-direction:column; line-height:1.05; }
.brand__text strong{ font-family:'Playfair Display',serif; font-size:16px; color: var(--navy); }
.brand__text em{ font-style:normal; font-size:9px; letter-spacing:.22em; color: var(--gold-deep); }

.main-nav{
  display:flex;
  gap: 30px;
    margin-left: auto;
}
.nav-link{
  position:relative;
  font-size:18px;
  font-weight:600;
  color: var(--navy);
  padding: 6px 2px;
}
.nav-link::after{
  content:'';
  position:absolute; left:0; right:100%; bottom:0;
  height:2px; background: var(--gold);
  transition: right var(--dur) var(--ease);
}
.nav-link:hover::after{ right:0; }
.nav-link:hover{ color: var(--gold-deep); }

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 26px;
  border-radius: 999px;
  font-weight:700; font-size:14px;
  border: 1px solid transparent;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.btn--primary{
  background: var(--gold);
  color: var(--navy-deep);
}
.btn--primary:hover{
  background: var(--gold-deep);
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(240,180,41,.35);
}
.btn--outline{
  border-color: rgba(255,255,255,.5);
  color:#fff;
}
.btn--outline:hover{
  background:#fff;
  color: var(--maroon-deep);
  transform: translateY(-2px);
}

.burger{
  display:none;
  width:36px; height:36px;
  background:none; border:none;
  flex-direction:column; align-items:end; justify-content:center; gap:5px;
}
.burger span{ width:22px; height:2px; background: var(--navy); transition: var(--dur) var(--ease); }

/* =========================================================
   HERO
   ========================================================= */
.hero{
position: relative;
    min-height: 1000px;
    margin-top: -146px;
    padding-top: 86px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    background: none;
}
.hero__video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit: cover;
}
.hero__overlay{
  position:absolute; inset:0;

}
.hero__content{
  position:relative;
  padding-top: 400px;
  width: 100%;
}
.hero__title{
  font-style: italic;
  font-weight: 500;
  color: #fff;
  font-size: clamp(28px, 4.4vw, 46px);
  line-height: 1.35;
}
.hero__title .reveal-line{
  display:block;
  opacity:0;
  transform: translateY(16px);
  animation: revealLine .8s var(--ease) forwards;
}
.hero__title .reveal-line:nth-child(1){ animation-delay: .15s; }
.hero__title .reveal-line:nth-child(2){ animation-delay: .35s; }
.hero__title .reveal-line:nth-child(3){ animation-delay: .55s; }
@keyframes revealLine{ to{ opacity:1; transform:none; } }

/* Floating services card overlapping hero bottom */
.services-card{
  position: relative;
  z-index: 5;
  margin-top: -110px;
  background: #fff;
  border-radius: var(--radius-l);
  box-shadow: 0 30px 60px rgba(18,33,60,.18);
  padding: 40px 36px 46px;
  overflow:hidden;
}
.services-card__title{
    text-align: center;
    font-size: 32px;
    font-weight: 800;
    color: var(--navy);
    margin-bottom: 30px;
    text-transform: uppercase;
}
.services-grid{
width:100%;
display:inline-block;
}
.service{
  border: 1px solid var(--grey-line);
  border-radius: var(--radius-m);
  text-align:center;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
  position:relative;
  overflow:hidden;
  height:330px;
}
.service:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 32px rgba(18,33,60,.12);
  border-color: transparent;
}
.service:hover .placeholder-icon{ background: var(--gold); color: var(--navy-deep); transform: rotate(8deg); }

.service__thumb{
  width:100%; 
  height: 100%;
    padding: 0;
  border-radius: var(--radius-s);
  margin-bottom: 14px;
  overflow:hidden;
  position:relative;
}

.service__thumb:before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:100%;

background: rgba(255,255,255,0.8);


}



.service__thumb img{
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.service_data{
        position: absolute;
    bottom: 85px;
    padding: 15px;
}
.service h3{
  color: var(--navy);
  margin-bottom: 8px;
  font-weight:bold;
}
.service p{
  line-height:1.55;
  color: #000;
}

/* =========================================================
   TECH BANNER
   ========================================================= */
.tech-banner{
  position: relative;
  min-height: 800px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  width:100%;
}

.tech-banner:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: linear-gradient(to bottom,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0.56) 100%); 
        z-index: 9;
}
.tech-banner__bg{ position:absolute; inset:0; }
.tech-banner__overlay{
    position:absolute;
    inset:0;
    background: url(../images/top_paralax.png)  no-repeat 0px 0px;
    background-size: 100%;
    background-position:0 0;

}
.tech-banner__content{
  position:relative;
  text-align:center;
  color:#fff;
  font-family:'Manrope', sans-serif;
  font-size: clamp(17px, 2.4vw, 36px);
  font-weight:700;
  line-height:1.55;
  z-index:99;
}
.tech-banner__content strong{ color: var(--gold); font-weight:800; }

/* =========================================================
   PORTFOLIO
   ========================================================= */
.portfolio{ 
    padding: 0px 0 100px;
    margin-top: -69px;
    position: relative;
    z-index: 9;    
    
    
}
.section-title{
text-align: center;
    font-size: 74px;
    color: #fff;
    margin-bottom: 40px;
    text-transform: uppercase;
}
.section-title--left{ text-align:left; margin-bottom:0; }

.partners__track-wrap .section-title--left{
    color: #000;
    font-size: 33px;
    line-height: 4;
    font-weight: bold;
}
.portfolio-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.portfolio-card{
  display:block;
  border-radius: var(--radius-m);
  overflow:hidden;
  box-shadow: 0 14px 30px rgba(18,33,60,.10);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
      position: relative;
    height: max-content;
}
.portfolio-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 24px 44px rgba(18,33,60,.22);
}
.portfolio-card__img{
  height: 330px;
  overflow:hidden;
}
.portfolio-card:hover .portfolio-card__img{
  filter: brightness(1.08);
}
.portfolio-card__img::after{ transition: transform var(--dur) var(--ease); }
.portfolio-card:hover .portfolio-card__img::after{ transform: scale(1.06); }
.portfolio-card__caption{
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 16px;
position: absolute;
    width: 100%;
    bottom: 0;
  color:#fff;
  font-size: 15px; 
}



.port_content{
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 70% 30%;
    background: #0C0C0C;
    padding: 0 15px;
    border-radius: 5px;
    height: 55px;
}

.home_port .port_content{
    grid-template-columns: 100%;
    display: grid;
    text-align: center;
    line-height: 50px;
    font-size: 17px;
}

.port_content span{
    display: flex;
    align-items: center;
}
/* =========================================================
   STATS
   ========================================================= */
.stats{
    position:relative; 
    padding: 175px 0; 
    overflow:hidden;
     background: url(../images/middle_bg.jpg)  no-repeat 0px 0px;
    background-size: 100%;
    background-position:0 0;   
    height:500px;

}

.stats__bg  img{
    width:100%;
}


.stats__bg{ position:absolute; inset:0; }
.stats__overlay{ position:absolute; inset:0; background: rgba(11,21,38,.72); }
.stats__grid{
  position:relative;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  text-align:center;
  color:#fff;
}
.stat{ padding: 0 16px; }
.stat:hover .stat__icon{ background: var(--gold); color: var(--navy-deep); transform: translateY(-4px); }
.stat__num{ 
    font-size: 33px;
    font-weight: 700;
    
}
.stat__label{
margin-top: 6px;
    font-size: 17px;
    letter-spacing: .04em;
    color: #fff;
    text-transform: uppercase;
}

/* =========================================================
   PARTNERS
   ========================================================= */
.partners{ padding: 90px 0; }
.partners__head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom: 40px;
}
.partners__arrows{ display:flex; gap:10px; }
.arrow{
  width:40px; height:40px;
  border-radius:50%;
  border: 1px solid var(--grey-line);
  background:#fff;
  color: var(--navy);
  font-size:16px;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.arrow:hover{ background: var(--navy); color:#fff; transform: translateY(-2px); }

.partners__track-wrap{ overflow:hidden; }
.partners__track{
  display:flex;
  gap: 50px;
  transition: transform .5s var(--ease);
}
.partner-logo{
  flex: 0 0 auto;
  display:flex; align-items:center; gap:6px;
  font-family:'Manrope',sans-serif;
  font-weight:800; letter-spacing:.02em;
  font-size:18px;
  color: var(--ink);
  filter: grayscale(1);
  opacity:.55;
  transition: filter var(--dur) var(--ease), opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.partner-logo span{
  width:22px; height:22px; border-radius:5px;
  background:#7cb518; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:13px;
}
.partner-logo em{ font-style:normal; font-size:10px; color: var(--grey-mid); align-self:flex-end; }
.partner-logo:hover{
  filter:none; opacity:1;
  transform: translateY(-3px);
}

/* =========================================================
   ABOUT
   ========================================================= */
.about{ padding: 20px 0 100px; }
.about__grid{
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 56px;
  align-items:center;
}
.about__image{
  height: 320px;
  border-radius: 10px;
  overflow:hidden;
  transition: transform var(--dur) var(--ease);
}
.about__image:hover{ transform: scale(1.015); }
.about__text h2{
  font-size: 32px;
  color: var(--navy);
  margin-bottom: 18px;
  font-weight: bold;
}
.about__text p{
  color: var(--grey-mid);
  font-size:15px;
  line-height:1.75;
  margin-bottom: 16px;
}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{
  position:relative;
  padding: 90px 0 34px;
  overflow:hidden;
  color:#fff;
}
.footer__bg{ position:absolute; inset:0; background-color: var(--maroon-deep); }
.footer__overlay{
  position:absolute; inset:0;
  background: radial-gradient(120% 140% at 50% 0%, rgba(58,11,11,.35), rgba(9,3,3,.92));
}
.footer__content{
  position:relative;
  display:flex; flex-direction:column; align-items:center;
  text-align:center;
}
.footer__brand{
  display:flex; align-items:center; gap:12px;
  margin-bottom: 30px;
}

.footer__brand img{
    height:200px;
}
.footer__brand-mark{
  width:44px; height:44px; border-radius:50%;
  background: var(--gold); color: var(--maroon-deep);
  font-family:'Playfair Display',serif; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.footer__brand div{ 
    text-align:left; line-height:1.1;
     font-size: 52px;
    margin-bottom: 30px;
    font-weight: bold;   
    
}
.footer__brand strong{ display:block; font-family:'Playfair Display',serif; font-size:18px; }
.footer__brand em{ font-style:normal; font-size:10px; letter-spacing:.2em; color: var(--gold); }

.footer__cta{
  font-size: clamp(32px, 5vw, 52px);
  margin-bottom: 30px;
}
.footer__bottom{
  margin-top: 70px;
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.footer__contacts{ display:flex; gap:26px; font-size:13px; color: rgba(255,255,255,.75); }
.footer__socials{ display:flex; gap:10px; }
.social{
  width:36px; height:36px; border-radius:8px;
  background: rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700;
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.social:hover{ background: var(--gold); color: var(--maroon-deep); transform: translateY(-3px); }

/* =========================================================
   TO TOP
   ========================================================= */
.to-top{
  position: fixed;
  right: 26px; bottom: 26px;
  width:46px; height:46px;
  border-radius:50%;
  border:none;
  background: var(--navy);
  color: var(--gold);
  font-size:18px;
  box-shadow: 0 10px 24px rgba(18,33,60,.3);
  opacity:0; visibility:hidden;
  transform: translateY(10px);
  transition: var(--dur) var(--ease);
  z-index: 70;
}
.to-top.is-visible{ opacity:1; visibility:visible; transform:none; }
.to-top:hover{ background: var(--gold); color: var(--navy-deep); }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 980px){
  .services-grid{ grid-template-columns: repeat(2, 1fr); }
  .portfolio-grid{ grid-template-columns: repeat(2, 1fr); }
  .about__grid{ grid-template-columns: 1fr; }
  .about__image{ height:260px; }
  .stats__grid{ grid-template-columns: repeat(2, 1fr); gap: 34px 0; }
}

@media (max-width: 760px){
  .main-nav{ display:none; }
  .nav-cta{ display:none; }
  .burger{ display:flex; }
  .topbar__contacts{ gap:14px; }
  .topbar__item span+*{ display:none; }
  .hero{ min-height: 560px; }
  .services-card{ padding: 30px 20px 34px; }
  .portfolio-grid{ grid-template-columns: 1fr; }
  .footer__bottom{ flex-direction:column; gap:18px; }
}

/* Mobile nav drawer */
.main-nav.is-open{
  display:flex;
  flex-direction:column;
  position:absolute;
  top: 68px; left:14px; right:14px;
  background:#fff;
  border-radius: var(--radius-m);
  padding: 16px;
  box-shadow: 0 20px 40px rgba(18,33,60,.18);
  gap: 4px;
}
.main-nav.is-open .nav-link{ padding: 10px 6px; }
.burger.is-active span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.burger.is-active span:nth-child(2){ opacity:0; }
.burger.is-active span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }


.nav-cta{
    color:#fff!important;
}


.after_video{
        padding-bottom: 100px;
}

.partners{
      background: url(../images/shape_bg.png)  no-repeat 0px 0px;
    background-size: 100%;
    background-position:0 0;  
}

.partners__track-wrap{
   display:grid;
  grid-template-columns: 24% 70%;
  gap: 18px;   
}



/* Родительский контейнер карусели */
.owl-carousel {
  position: relative;
}

/* Общие стили для стрелок */
.owl-nav button.owl-prev,
.owl-nav button.owl-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: rgba(0, 0, 0, 0.5) !important;
  color: #fff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
  margin: 0 !important;
  padding: 0 !important;
}

/* Размеры шрифта для иконок внутри */
.owl-nav button.owl-prev span,
.owl-nav button.owl-next span {
  font-size: 24px;
  line-height: 1;
}

.owl-nav button.owl-prev:hover,
.owl-nav button.owl-next:hover {
  background: rgba(0, 0, 0, 0.8) !important;
}


.owl-nav button.owl-prev {
  left: -55px; 
}


.owl-nav button.owl-next {
  right: -62px;
}

.owl-nav.disabled{
    display:block!important;
}





.item_services ul{
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}


.item_services ul li{
    width: 100%;
    position:relative;
    height:350px;
    border-radius: 5px;
    overflow: hidden;    
}

.item_services ul li:hover .item_service_description{
    display:block;
    color:#fff;
    padding: 0 10px;
    box-sizing: border-box;    
}
.item_services ul li:hover .item_service_title{
     color:#fff;
}

.item_services ul li:hover .item_service_icon:before{
    display:none;
}

.item_services ul li:hover .block_service_icon{
    display:none;
}

.item_services ul li:hover:after{
    content:"";
width:100%;
height:100%;
position:absolute;
left:0;
top:0;
background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 1) 100%);
}


.item_services ul li:nth-of-type(4n){
    float:right;
    margin-right:0;
}

.item_service_icon{
    border: 2px solid #C6DAEA;
border-radius: 5px;
    overflow: hidden;
    position:relative;
    height:100%;
}

.item_service_icon img{
        width: 100%;
    height: 100%;
    object-fit: cover;
}


.item_service_icon:before{
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    background: linear-gradient(to bottom,  rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.9) 100%); 
}

.service_box_content{
    position: absolute;
    top: 100px;
    z-index: 999;
    left: 0;
    padding: 6px;
    width: 100%;
    box-sizing: border-box;
}

.item_service_title{
text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    color: #272040;
    padding-bottom: 10px;
    font-size: 15px;
    margin-bottom: 15px;
    height: 45px;  
        padding: 0 10px;
    box-sizing: border-box;    
}

.item_service_description{
    text-align: center;
    display:none;
    position:absolute;
    width:100%;
    left:0;
}

.block_service_icon{
        text-align: center;
    position: relative;
    top: 0;
    height:120px;
}


.block_service_icon img{
    height: 85px;
    display: inline
}



.service_row ul{
    width: 100%;
    display: inline-block;
    margin: 0;
    padding: 0;
}


.service_page_row{
    width:100%;
    display:inline-block;
    margin-top:20px;
}


.service_row ul li{
display: grid;
    grid-template-columns: 12% 86%;
    gap: 20px;
    margin-bottom: 50px;
}

.service_preview{
    width: 150px;
    height: 150px;

    overflow: hidden;
    margin-right: 15px;
    position:relative;
}

.service_preview img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.service_content_box{
        width: 100%;
}

.service_content_box h3{
    padding-bottom: 10px;
    border-bottom: 1px solid #D5D5D5;
    margin-bottom: 10px;
    color: #034C8C;
    font-weight: bold;
    font-size: 25px;
}

.service_content_box h3 a{
     color: #034D8C;
    font-size: 15px;
    font-weight: bold;  
}

.service_page_cnt p{
    margin:0;
}




.page_block_service_icon{
        position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    top: 40px;
}


.service_preview:before{
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    background: linear-gradient(to bottom,  rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.9) 100%); 
transition: opacity 0.3s ease, transform 0.3s ease;
}

.page_block_service_icon img{
        width: auto;
    height: auto;
    object-fit: fill;
    height: 70px;
    transition: opacity 0.3s ease, transform 0.3s ease;
    display:inline;
}


.service_preview:hover:before{
  opacity: 0;
  transform: translate(-50%, 0);
}

.service_preview:hover .page_block_service_icon{
  opacity: 0;
  transform: translate(-50%, 0);
}

.itemBoxPage{
width: 100%;
    display: inline-block;
    margin-top: 260px;
}


.out_header{
width: 100%;
    display: inline-block;
    background: url(../images/other_page_bg.png) 0px 0px;
    height: 380px;
    background-repeat: repeat-x;
    background-position: 0px -390px;
    background-size: 100%;
        position: absolute;
        top:0;
}


.out_content{
       position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%; 
}


.out_content h1{
position: relative;
    text-align: left;
    color: #fff;
    font-size: 60px;
    text-transform: uppercase;
    font-weight: bold;
    top: 19px;
}


.out_content h1 span{
        display: block;
    opacity: 0.2;
    font-size: 100px;
    font-weight: bold;
}


.pageInner {
    width: 100%;
    display: inline-block;
}


.breadcrumb{
    background: none;
    color: #fff;
    margin: 0;
}


.breadcrumb li span,
.breadcrumb li a{
    color:#fff;
    text-decoration:none;
        font-size: 18px;
}



.breadcrumb-item+.breadcrumb-item::before {
    color: #fff;
    content: "/";
    margin-top: 2px;
}



/* Heading */
  .heading {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 40px;
  }
  .heading .accent { color: #f0b429; }
  .heading .dark { color: #16211f; }

  /* Info cards row */
  .info-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 24px;
  }
  .info-card {
    background: #f9f9f9;
    border-radius: 14px;
    padding: 28px 20px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(20, 30, 28, 0.06);
  }
  .icon-circle {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #d9e6e3;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
  }
  .icon-circle svg {
    width: 22px;
    height: 22px;
    stroke: #16211f;
    fill: none;
  }
  .info-card h3 {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 10px;
    color: #16211f;
  }
  .info-card p {
    font-size: 13px;
    line-height: 1.6;
    color: #6b7876;
    margin: 0;
  }
  .info-card a {
    color: #f0b429;
    text-decoration: none;
    font-weight: 600;
  }

  /* Bottom row: form + map */
  .bottom-row {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 20px;
  }

  .form-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 36px;
  }
  .form-card h2 {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 28px;
    max-width: 340px;
    color: #16211f;
  }

  .field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 22px;
  }
  .field {
    display: flex;
    flex-direction: column;
  }
  .field label {
    font-size: 13px;
    color: #8a9694;
    margin-bottom: 8px;
  }
  .field input,
  .field select,
  .field textarea {
    border: none;
    border-bottom: 1px solid #e1e6e5;
    padding: 4px 0 10px;
    font-size: 14px;
    color: #16211f;
    background: transparent;
    font-family: inherit;
    outline: none;
  }
  .field select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%23334' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 2px center;
  }
  .field textarea {
    resize: none;
    min-height: 22px;
    border-bottom: 1px solid #e1e6e5;
  }
  .field.full {
    grid-column: 1 / -1;
  }

  .submit-btn {
    margin-top: 20px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #16211f;
    color: #fff;
    border: none;
    border-radius: 30px;
    padding: 14px 10px 14px 26px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
  }
  .submit-btn .arrow-circle {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #f0b429;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .submit-btn .arrow-circle svg {
    width: 13px;
    height: 13px;
    stroke: #fff;
    fill: none;
  }

  /* Map card */
  .map-card {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    position: relative;
    min-height: 320px;
  }
  .map-card iframe {
    width: 100%;
    height: 100%;
    min-height: 320px;
    border: 0;
    display: block;
  }
  .open-maps {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #ffffff;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #f0b429;
    display: flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
  }

  @media (max-width: 860px) {
    .info-row { grid-template-columns: repeat(2, 1fr); }
    .bottom-row { grid-template-columns: 1fr; }
    .field-row { grid-template-columns: 1fr; gap: 16px; }
  }
  @media (max-width: 480px) {
    .info-row { grid-template-columns: 1fr; }
  }



.contact_page{
    width: 100%;
    display: inline-block;
    margin-top: 290px;
    padding-bottom:100px;
}


.portfolio_page{
      width: 100%;
    display: inline-block;  
    padding: 50px 0;
}

.low_166{
 display:none;   
}







.portfolio_page .top-row {
display: grid;
    grid-template-columns: 58% 42%;
    gap: 40px;
    margin-bottom: 30px;
  }

.portfolio_page .hero_pages {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
   height:600px;
  }
.portfolio_page .hero-inner {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
.portfolio_page  .hero-mark {
    width: 30px;
    height: 30px;
    opacity: 0.85;
  }
.portfolio_page  .hero-mark svg { width: 100%; height: 100%; fill: #d8b46a; }

.portfolio_page  .hero-text h1 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    line-height: 1.15;
    color: #f2e6c9;
    margin: 18px 0 10px;
    letter-spacing: 1px;
  }
.portfolio_page  .hero-text .sub {
    font-size: 12px;
    letter-spacing: 3px;
    color: #d8b46a;
    margin: 0 0 18px;
  }
.portfolio_page  .hero-text .tag {
    font-size: 11px;
    letter-spacing: 2px;
    color: #c9a565;
    line-height: 1.6;
    margin: 0;
  }

.portfolio_page  .hero-features {
    display: flex;
    gap: 34px;
    margin-top: 20px;
  }
.portfolio_page  .hero-feature {
    text-align: center;
    max-width: 90px;
  }
.portfolio_page  .hero-feature .ico {
    width: 30px;
    height: 30px;
    margin: 0 auto 8px;
    border: 1px solid rgba(216,180,106,0.6);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
.portfolio_page  .hero-feature .ico svg { width: 14px; height: 14px; stroke: #d8b46a; fill: none; }
.portfolio_page  .hero-feature span {
    font-size: 8px;
    letter-spacing: 0.5px;
    color: #cbb98f;
    line-height: 1.5;
    display: block;
  }

  /* Right info panel */
.portfolio_page .info-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 4px;
  }
.portfolio_page  .brand-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 22px;
  }
  
  .brand-logo img{
      height:60px;
  }
  
  
.portfolio_page  .brand-logo svg { width: 22px; height: 22px; fill: #c9a04a; }
 .portfolio_page .brand-logo span {
    font-family: Georgia, serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #c9a04a;
  }

.portfolio_page  .info-panel h2 {
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 14px;
    color: #16211f;
  }
.portfolio_page  .info-panel p {
    font-size: 12.5px;
    line-height: 1.8;
    color: #6d6d6d;
    margin: 0 0 22px;
  }

.portfolio_page .since-box {
display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 2px solid #e0b93c;
    border-radius: 4px;
    padding: 10px 16px;
    font-size: 16px;
    color: #16211f;
    width: fit-content;
    margin-top: 50px;
  }
.portfolio_page  .since-box svg { width: 15px; height: 15px; stroke: #e0b93c; fill: none; flex-shrink: 0; }

  /* ===== Gallery grid ===== */
.portfolio_page  .gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 26px;
  }
.portfolio_page  .gallery a {
    display: block;
    aspect-ratio: 4/3;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
  }
.portfolio_page  .gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
  }
.portfolio_page  .gallery a:hover img { transform: scale(1.06); }

.portfolio_page  .hidden-extra { display: none; }

  /* ===== Bottom nav ===== */
.portfolio_page .bottom-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 50px;
    font-size: 13px;
  }
.portfolio_page  .bottom-nav a {
    color: #16211f;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
        font-size: 17px;
  }
.portfolio_page  .bottom-nav a svg { width: 12px; height: 12px; stroke: #16211f; fill: none; }

.portfolio_page  .grid-dots {
    width: 24px;
    height: 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 2px;
    cursor: pointer;
  }
.portfolio_page  .grid-dots span {
    background: #16211f;
    border-radius: 1px;
  }

  @media (max-width: 760px) {
.portfolio_page    .top-row { grid-template-columns: 1fr; }
 .portfolio_page   .gallery { grid-template-columns: repeat(2, 1fr); }
  }


















