/* 
    Author     : VVP
*/

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@700&display=swap');
















@font-face{
    font-family: 'Muller';
    src: url('../fonts/MullerBold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face{
    font-family: 'Muller';
    src: url('../fonts/MullerRegular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face{
    font-family: 'Muller';
    src: url('../fonts/MullerThinItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
}

@font-face{
    font-family: 'Uni';
    src: url('../fonts/UniNeueBold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face{
    font-family: 'Uni';
    src: url('../fonts/UniNeueRegular.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face{
    font-family: 'Uni';
    src: url('../fonts/UniNeueBook.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face{
    font-family: 'Uni';
    src: url('../fonts/UniNeueHeavy.woff') format('woff');
    font-weight: 800;
    font-style: normal;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    max-width: 100%;
}

.container {padding-top:10px;}


body{
    font-weight: 400;
    color: #170B25;
    line-height: 1.35;
    font-size: 16px;
    font-family: 'Muller';
    overflow-x: hidden;
}

h1 {
    font-size: 57px;
    font-family: 'Uni';
    font-weight: 500;
    color: #170B25;
    margin-bottom: 15px;
}

.offer h1 {
    font-size: 57px;
    font-family: 'Uni';
    font-weight: 500;
    color: wheat;
    margin-bottom: 15px;
}


h2 {
    font-family: 'Uni';
    font-size: 60px;
    line-height: 81px;
    margin-bottom: 10px;
}

header {
    background: #fff;
    box-shadow: 0px 4px 25px rgba(177, 37, 75, 0.15);
}

.img-fluid{
    /*object-fit: contain;*/
}

.insta {
    color: #B1254B;
    font-size: 14px;

}

.insta i {
    font-size: 25px;
}

.insta:hover {
    color: #B1254B;
    text-decoration: none;
}

.head_phone {
    display: block;
    font-size: 18px;
    font-weight: 700;
    font-family: 'Open Sans', sans-serif;
    color: #170B25;
}

.head_phone:hover{
    color: #170B25;
    text-decoration: none;
}

.phone_icon {
    display: inline-flex;
    width: 40px;
    height: 40px;
    margin-right: 5px;
    border-radius: 50%;
    border: 1px solid #B1254B;
    color: #B1254B;
    align-items: center;
    justify-content: center;
}

.msg_row {
    font-size: 16px;
    
    font-weight: 300;
}

.msg_row a {
    font-size: 25px;
}

.offer {
    /* background: url(../img/offer_bg.jpg) no-repeat center bottom / cover; */
    background:black;
    padding-top: 22px;
    position: relative;
    overflow: hidden;
    padding-bottom: 86px;
}

.masta {
    max-height: 545px;
}

.ttu {
    text-transform: uppercase;
}

.select {
    background: -webkit-linear-gradient(#E20075, #851C7C);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.bolder {
    font-weight: 800;
}

.divider {
    display: flex;
    align-items: center;
    width: 240px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 35px;
}

.offer .divider {
    margin-bottom: 29px;
    width: 100%;
}

.line {
    height: 5px;
    width: 100%;
    border-radius: 5px;
    background: #851C7C;
}

.dot {
    height: 5px;
    width: 5px;
    min-width: 5px;
    margin-left: 6px;
    background: #851C7C;
    border-radius: 5px;
}

.offer .dot {
    margin-left: 15px;
}

.preim {
    margin-bottom: 24px;
    color: white;
    text-align: left;
    overflow: hidden;
}
.preim::after {
    content: '';
    display: table;
    clear: both;
}
.preim_img {
    float: left;
    width: 56px;
    min-width: 56px;
    margin-right: 14px;
    margin-bottom: 4px;
}

.btn:active, .btn:focus {
    box-shadow: none;
}

.main_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 70px;
    box-shadow: 0px 10px 20px rgba(169, 5, 89, 0.25), inset 0px -3px 0px #610959;
    border-radius: 5px;
    /*background: linear-gradient(180deg, #2f690b 0%, #83bf7c 30%, #64970f 100%);*/
    background:#610959;
    color: #fff;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 800;
    font-family: 'Uni';
    background-position: 50% 1%;
    background-size: 200% 200%;
    transition: all .3s;
}

.main_btn:hover {
    color: #fff;
    background-position: 50% 99%;
}

.offer .main_btn {
    max-width: 255px;
}

.offer_btns {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: rgba(23,11,37,.5);
    max-width: 540px;
    margin-bottom: 60px;
}

.white_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 255px;
    height: 70px;
    background: #610959;
    box-shadow: 0px 10px 20px rgba(169, 5, 89, 0.25), inset 0px -3px 0px #610959;
    border-radius: 5px;
    padding: 0;
}

.white_btn_content{
    background: transparent;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border-radius: 5px;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    font-family: 'Uni';
    text-transform: uppercase;
    padding: 0;
    transition: all .3s;
}

.white_btn_content:hover{
    /* background: rgba(255,255,255,0); */
    /*color: #fff;*/
}

.insta_bl {
    position: relative;
    z-index: 3;
    margin-top: -135px;
    margin-bottom: 25px;
    overflow-x: hidden;
    padding-top: 30px;
    padding-bottom: 40px;
    /*height: max-content;*/
}

.insta_block{
    background: #fff;
    box-shadow: 0px 4px 25px rgba(177, 37, 75, 0.15);
    border-radius: 5px;
    padding: 8px 15px;
    /*position: absolute;*/
    font-size: 33px;
    font-family: 'Uni';
    position: relative;
    /*z-index: 3;
    margin-top: -105px;
    margin-bottom: 25px;*/
}

.insta_content {
    border: 2px dotted rgba(226, 0, 117, 0.5);
    box-sizing: border-box;
    border-radius: 5px;
    height: 68px;
    padding-left: 80px;
    padding-right: 450px;
    display: flex;
    align-items: center;
    width: 100%;
}

.insta_block b{
    font-weight: 800;
}

.likes {
    position: absolute;
    max-width: 87px;
    bottom: 0;
    left: 0;
}

.insta_btn {
    background: radial-gradient(110.28% 110.28% at 20.5% 87.39%, #FAE100 0%, #FADC04 5.44%, #FBCE0E 11.67%, #FCB720 18.29%, #FE9838 25.14%, #FF7950 30.54%, #FF1C74 49.22%, #6C1CD1 100%);
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0px 10px 20px rgba(205, 205, 205, 0.5);
    border-radius: 5px;
    color: #fff;
    font-size: 36px;
    font-family: 'Uni';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 450px;
    position: absolute;
    right: -1px;
    top: -1px;
    height: 86px;
}

.insta_btn:hover {
    color: #fff;
}


.btn-facebook {
  background: radial-gradient(110.28% 110.28% at 20.5% 87.39%, #3b5998 0%, #1877F2 100%);
  color: white;
  padding: 2px 10px;
  border-radius: 12px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: transform 0.2s;
}

.btn-facebook:hover {
  transform: scale(1.05);
}


.btn-imessage {
  background: radial-gradient(110.28% 110.28% at 20.5% 87.39%, #00C6FF 0%, #0078FF 100%);
  color: white;
  padding: 2px 10px;
  border-radius: 12px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: transform 0.2s;
}

.btn-imessage:hover {
  transform: scale(1.05);
}





.facebook_btn {
background: radial-gradient(110.28% 110.28% at 20.5% 87.39%, #4c6ef5 0%, #3b82f6 25%, #2563eb 50%, #1d4ed8 75%, #1e3a8a 100%);

    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0px 10px 20px rgba(205, 205, 205, 0.5);
    border-radius: 5px;
    color: #fff;
    font-size: 36px;
    font-family: 'Uni';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 450px;
    position: absolute;
    right: -1px;
    top: -1px;
    height: 86px;
}










.bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    max-width: 100%;
    height: auto;
}

.offer_info {
    width: 161px;
    height: 228px;
    position: absolute;
    right: 0;
    top: 0;
    background: url(../img/info.png) no-repeat center top / cover;
    text-align: right;
    padding-top: 68px;
    padding-left: 10px;
    padding-right: 10px;
}

.offer_info a, .offer_info_block a{
    color: #ffb3cc;
    font-size: 14px;
    text-align: center;
    width: 100%;
}

.offer_info a:hover, .offer_info_block a:hover {
    color: #fff;
    text-decoration: none;
}

.about_dir {
    font-size: 14px;
    color: rgba(255,255,255,.8);
    margin-bottom: 10px;
    margin-top: 5px;
}

.director {
    font-weight: 800;
    font-family: 'Uni';
    color: #fff;
    font-size: 18px;
}

.flowers {
    width: 180px;
    height: auto;
    position: absolute;
    right: -160px;
    bottom: 0;
}

.services {
    padding-top: 10px;
    background: url(../img/services.jpg) no-repeat center top / cover;
    overflow-x: clip;
}

.service {    
    box-shadow: 0px 0px 20px rgba(205, 205, 205, 0.5);
    border-radius: 5px;
    margin-bottom: 33px;
    position: relative;
    z-index: 1;
}

.service.hit{
    margin-bottom: 44px;
    position: relative;
}

.hit_label {
    position: absolute;
    width: 145px;
    height: 96px;
    background: url(../img/hit.png) no-repeat center center / contain;
    top: 0;
    left: -20px;
}

.service img {
    border-radius: 5px 5px 0 0;
    border-bottom: 6px solid #B1254B;
}

.service_info {
    background: #fff;
    padding: 15px 10px;
    border-radius: 0 0 5px 5px;
    border: 1px solid rgba(133, 28, 124, 0.25);
}

.service h3 {
    font-size: 20px;
    color: #B80053;
    font-weight: 800;
    font-family: 'Uni';
    padding-bottom: 10px;
}

.service.hit h3{
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(133, 28, 124, 0.25);
    font-size: 24px;
}

.service {
    font-size: 16px;
}

.serv_info_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.serv_price {
    font-size: 18px;
    font-weight: 500;
    font-family: 'Uni';
	margin-bottom: 10px;
}

.serv_price s {
    color: #999;
    font-size: 0.95em;
    margin-left: 6px;
}

.serv_price b 
{color: black;}

.serv_price strong {
    color: #800080; /* или твой брендовый цвет */
    font-weight: bold;
    font-size: 1.2em;
}





.serv_time {
    font-size: 16px;
    color: rgba(23, 11, 37, 0.5);
}

.smaller {
    text-transform: none;
    font-size: 14px;
    font-weight: 500;
}

.portfolio {
    padding-top: 20px;
    padding-bottom: 35px;
}

.portfolio .nav-item {
    flex: 1;
    min-width: 0;
}
@media (max-width: 991.8px) {
    .portfolio .nav.nav-pills {
        flex-wrap: wrap;
        gap: 8px;
    }
    .portfolio .nav-item {
        flex: 0 0 calc(50% - 4px);
        width: calc(50% - 4px);
    }
    .portfolio .nav-item:last-child {
        flex: 0 0 100%;
        width: 100%;
    }
    .portfolio .nav-link {
        white-space: normal;
        text-align: center;
        border-radius: 8px !important;
        font-size: 13px;
        padding: 10px 8px;
        line-height: 1.3;
        height: 100%;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.portfolio .nav-link{
    font-family: 'Uni';
    font-weight: 500;
    font-size: 20px;
    color: #170B25;
    border: 1px solid rgba(177, 37, 75, 0.5);
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 81px;
    transition: all .3s;
}

.portfolio .nav-link.active{
    font-weight: 800;
    background: linear-gradient(180deg, #E20075 0%, #851C7C 100%);
    box-shadow: 0px 10px 20px rgba(169, 5, 89, 0.25), inset 0px -3px 0px #610959;
}

.portfolio .tab-pane {
    padding: 25px 0px 0px 0px;
}

.portfolio_item {
    border-radius: 5px;
    background: no-repeat center center / cover;
    width: 100%;
    height: 351px;
    margin-bottom: 30px;
    display: block;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.video_btn_container {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(23, 11, 37, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
}

.portfolio .main_btn {
    max-width: 370px;
    margin-top: 40px;
}

.hidden_port {
    display: none;
}

.reviewess {
    padding-top: 40px;
    background: url(../img/rev_bg.png) no-repeat center bottom / cover;
    text-align: center;
    position: relative;
    overflow-x: hidden;
}

ov_hidden {

}

.rev_pereh {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}

.zapis_container {
    position: relative;
    display: flex;
    width: 100%;
    box-shadow: 0px 4px 25px rgba(177, 37, 75, 0.15);
    border-radius: 5px;
    margin-bottom: 60px;
}
.zapis {
    background: #fff url(../img/pat.png);    
    width: 100%;
    padding: 11px 12px;
    padding-right: 0;
    position: relative;
    border-radius: 5px;
}
.zpais_inner {
    width: 100%;
    border: 2px dotted rgba(226, 0, 117, 0.5);
    box-sizing: border-box;
    border-radius: 5px 0 0 5px;
    height: 100%;
    border-right: none;
    background: url(../img/zap_img.png) no-repeat right center;
    text-align: left;
    display: flex;
    align-items: center;
    padding: 0 22px;
    color: #170B25;
    font-family: 'Uni';
    font-size: 36px;
    font-weight: 500;
}

.zapis_right{
    width: 455px;
    min-width: 455px;
    height: 180px;
    background: #851C7C;
    box-shadow: 0px 10px 20px rgba(205, 205, 205, 0.5);
    border-radius: 0px 5px 5px 0px;
    padding: 21px 14px;
    text-align: left;
    color: #fff;
}

.zapis_right .ttl {
    font-size: 24px;
    font-weight: 500;
    font-family: 'Uni';
    margin-bottom: 15px;
}

.masta_soc {
    width: 98px;
    min-width: 98px;
    height: 98px;
    margin-right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.zak_msg{
    border-radius: 5px;
    width: 50px;
    min-width: 50px;
    height: 50px;
    margin-right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 30px;
}
.zak_msg:hover{
    color: #fff;
    text-decoration: none;
}

.insta_btn i {
    margin-right: 10px;
}

.inst_btn {
    background: radial-gradient(110.28% 110.28% at 20.5% 87.39%, #FAE100 0%, #FADC04 5.44%, #FBCE0E 11.67%, #FCB720 18.29%, #FE9838 25.14%, #FF7950 30.54%, #FF1C74 49.22%, #6C1CD1 100%);
    border-radius: 5px;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    height: 50px;
    overflow: hidden;
}

.inst_btn i {
    margin-right: 15px;
    font-size: 21px;
}

.inst_btn:hover {
    color: #fff;
}

.insta_str {
    opacity: .8;
    font-size: 18px;
    margin-bottom: 11px;
}
.zdec_l {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
}
.zdec_r {
    position: absolute;
    top: 100%;
    right: 0;
    transform: translate(60%, -40%);
    height: auto;
    max-width: 143px;
}

.rev_ph {
    position: absolute;
    top: -28px;
    left: 50%;
    height: 504px;
    width: 230px;
    max-width: 230px;
    transform: translateX(-50%);
}

.rev_ph_sh {
    position: absolute;
    top: 3px;
    left: 50%;
    height: 444px;
    width: 230px;
    max-width: 230px;
    transform: translateX(-45%);
    filter: contrast(0) blur(10px) opacity(.7);
}

.phone_slider .swiper-container{
    padding-top: 25px;
    padding-bottom: 20px;
}

.phone_slider .swiper-slide {
    width: 222px;
    height: 459px;
    border-radius: 20px;
    background: no-repeat center center / cover;
    transition: all .3s;
    overflow: hidden;
    position: relative;
    transform: scale(0.8);
}

.phone_slider .swiper-slide .overlay {
    background: rgba(23, 11, 37, 0.7);
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s;
}

.phone_slider .swiper-slide .video_btn_container {
    opacity: 0;
    transition: all .3s;
}

.phone_slider .swiper-slide.swiper-slide-active{
    width: 222px !important;
    height: 459px !important;
    border-radius: 20px;
    transform: scale(1);
}

.phone_slider .swiper-slide-active.swiper-slide .overlay {
    opacity: 0;
}

.phone_slider .swiper-slide-active.swiper-slide  .video_btn_container{
    background: rgba(255,255,255,0);
    opacity: 1;
}

.rev_phone_conteiner {
    position: relative;
}

.phone_slider .swiper-button-next, .phone_slider .swiper-button-prev,
.port_slider .swiper-button-next, .port_slider .swiper-button-prev,
.next_sl, .prev_sl {
    background: linear-gradient(180deg, #E20075 0%, #851C7C 100%);
    border-radius: 50%;
    width: 50px;
    min-width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.phone_slider {
    margin-bottom: 20px;
    padding-top: 25px;
    padding-bottom: 20px;
    max-width: 100vw;
    overflow: hidden;
}

.phone_slider .swiper-button-next:before, .phone_slider .swiper-button-prev:before,
.phone_slider .swiper-button-next:after, .phone_slider .swiper-button-prev:after,
.port_slider .swiper-button-next:before, .port_slider .swiper-button-prev:before,
.port_slider .swiper-button-next:after, .port_slider .swiper-button-prev:after {
    display: none;
}

.left_ar, .right_ar {
    height: 12px;
    width: 12px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
}

.right_ar{
    transform: rotate(-45deg);
    margin-right: 3px;
}

.left_ar {
    transform: rotate(135deg);
    margin-left: 3px;
}

.phone_slider .swiper-button-next {
    right: auto;
    left: calc(50% + 120px);
}

.phone_slider .swiper-button-prev {
    left: auto;
    right: calc(50% + 120px);
}

.port_slider .swiper-button-next {
    right: 5px;
}

.port_slider .swiper-button-prev {
    left: 5px;
}

.bottom_dec {
    height: 61px;
    background: #210112;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

.about {
    padding-top: 25px;
    color: #fff;
    background: #210112 url(../img/about_bg.png) no-repeat center bottom / cover;
}

.about .divider {
    margin-left: 0;
}

.ab_name {
    font-family: 'Uni';
    font-weight: 500;
    font-size: 48px;
    margin-bottom: 20px;
}

.ab_who {
    opacity: .5;
    margin-bottom: 30px;
}

.quote {
    display: flex;
    font-size: 16px;
    margin-bottom: 25px;
}

.quote i {
    margin-right: 15px;
    color: #B1254B;
    font-size: 30px;
}

.ab_li {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 20px;
    display: flex;
    color: rgba(255,255,255,.7);
}

.ab_li:before {
    content: '';
    display: block;
    background: #B1254B;
    height: 8px;
    width: 8px;
    min-width: 8px;
    margin-right: 7px;
    border-radius: 50%;
    margin-top: 5px;
}

.whatch_diplom {
    position: absolute;
    bottom: 45px;
    right: 15px;
    background: rgba(27, 1, 14, 0.8);
    border-radius: 5px;
    border: 1px solid #B40E78;
    width: 205px;
    padding: 10px 6px;
    padding-left: 49px;
    color: #B1254B;
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.whatch_diplom:before {
    content: url(../img/sert.png);
    position: absolute;
    left: -40px;
    bottom: -22px;
}

.how {
    padding-top: 40px;
    background: url(../img/how_bg.jpg) no-repeat center bottom;
    background-size: cover;
    padding-bottom: 33px;
}

.num_container {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 49px;
    height: 49px;
    min-width: 49px;
    border: 1px solid rgba(177, 37, 75, 0.5);
    margin-right: 25px;
    background: #fff;
}

.num {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    min-width: 35px;
    background: linear-gradient(184.91deg, #B1254B 0.39%, #FF6697 98.74%);
    box-shadow: 0px 10px 20px rgba(177, 37, 75, 0.3);
    font-weight: 700;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    padding-top: 3px;
}

.step {
    display: flex;
    margin-bottom: 40px;
    position: relative;
}

.steps {
    position: relative;
}

.steps_line{
    position: absolute;
    top: 2.5%;
    left: 23px;
    height: 92%;
    border-left: 2px dashed rgba(177, 37, 75, 0.5);
    width: 2px;
}

.gall_ttl {
    font-size: 20px;
    font-family: 'Uni';
    text-align: center;
    font-weight: 500;
    margin-bottom: 25px;
}

.gall_insta{
    background: rgba(133, 28, 124, 0.25);
    border-radius: 5px;
    font-size: 18px;
    padding: 3px 6px 6px;
}

.gal_container {
    background: #fff;
    box-shadow: 0px 4px 25px rgba(177, 37, 75, 0.15);
    border-radius: 20px;
    padding: 26px;
    max-width: 313px;
}

.gal_slider img{
    border-radius: 20px;
}

.gallery {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.next_sl, .prev_sl {
    cursor: pointer;
}

.chto {
    background: url(../img/chto_bg.png) no-repeat center bottom;
    padding-top: 60px;
    padding-bottom: 55px;
}

.chto h2 {
    font-size: 48px;
    line-height: 64px;
    margin-bottom: 44px;
}

.shadow_block {
    box-shadow: 0px 4px 25px rgba(177, 37, 75, 0.15);
    border-radius: 8px;
    padding: 12px 11px 7px;
    font-size: 16px;
}

.shadow_block b {
    color: #B1254B;
}

.shadow_inner{
    border: 2px dashed rgba(177, 37, 75, 0.5);
    box-shadow: 0px 10px 20px rgba(205, 205, 205, 0.5);
    border-radius: 8px;
    padding: 15px 10px;
}

.chto .shadow_block {
    margin-top: -10px;
}

.chto_item {
    display: flex;
    align-items: center;
    font-size: 16px;
    margin-bottom: 15px;
}

.cti {
    width: 82px;
    min-width: 82px;
    margin-right: 15px;
}

.chto_item h3 {
    color: #B1254B;
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 10px;
}

.for_you {
    padding-top: 30px;
    background: url(../img/for_bg.png) no-repeat center center;
    padding-bottom: 55px;
}

.usl_text strong {
    color: #B1254B;
}

.usl_text {
    padding: 16px 12px 12px;
    font-size: 16px;
}

.usl_for {
    background: #FFFFFF;
    border: 1px solid rgba(133, 28, 124, 0.25);
    box-sizing: border-box;
    border-radius: 5px;
    overflow: hidden;
    height: 100%;
}

.for_you .shadow_block b {
    color: #B1254B;
}

.reasons {
    background: url(../img/5_bg.png) no-repeat center bottom;
    background-size: cover;
    padding: 15px 0;
}

.subttl {
    font-size: 36px;
    margin-bottom: 35px;
}

.left_reason{
    display: flex;
    justify-content: flex-end;
    margin-bottom: 45px;
    text-align: right;
    max-width: 320px;
}

.left_reason .num_container {
    margin-right: 0;
    margin-left: 19px;
}

.reasons strong {
    color: #B1254B;
}

.left_reason.center_item {
    padding-right: 49px;
}

.right_reason strong {
    color: #B1254B;
}

.right_reason {
    display: flex;
    margin-bottom: 45px;
    text-align: left;
    max-width: 320px;
}

.right_reason.center_item{
    padding-left: 49px;
}

.reasons .main_btn {
    max-width: 255px;
}

.gift{
    background: url(../img/gift_bg.jpg) no-repeat center center / cover;
    padding: 70px 0;
    color: #fff;
}

.gift_block {
    width: 920px;
    background: url(../img/gift_rec.jpg) no-repeat center center / cover;
    position: relative;
    padding: 16px 20px;
    border-radius: 8px;
    /*overflow: hidden;*/
}

.gift_sert {
    position: absolute;
    top: 0;
    right: 0;
    width: 348px;
    height: 100%;
    background: url(../img/sertif_bg.jpg) no-repeat center center / cover;
    border-radius: 5px;
}

.gift_container {
    border: 2px dashed rgba(255, 255, 255, 0.5);
    /*box-shadow: 0px 10px 20px rgba(205, 205, 205, 0.5);*/
    border-radius: 8px;
}

.gift_inner {
    padding: 22px;
    max-width: 520px;
}

.gift h2 {
    font-weight: 800;
}

.gift_desc {
    font-size: 20px;
}

.gift_icon {
    width: 82px;
    min-width: 82px;
}

.white_gift_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 800;
    font-family: 'Uni';
    height: 70px;
    width: 100%;
    max-width: 334px;
    margin-top: 24px;
    background: linear-gradient(180deg, #FFFFFF 0%, #E9E9E9 100%), linear-gradient(180deg, #E20075 0%, #851C7C 100%);
    box-shadow: 0px 10px 20px rgba(226, 0, 117, 0.5), inset 0px -3px 0px #919191;
    border-radius: 5px;
}

.faq {
    background: #fcf7fb;
    padding: 40px 0;
}

.card {
    margin-bottom: 20px;
    background: #FFFFFF;
    border-radius: 7px;
    border: none;
    overflow: hidden;
    box-shadow: 0px 10px 15px rgba(193, 169, 118, 0.1);
}

.card-header {
    background: #fff;
    border: none;
    padding: 12px 20px 0;
}

.card-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: 'Uni';
    color: #170B25;
    padding-bottom: 12px;
    font-weight: 500;
}

.card-body {
    color: rgba(23, 11, 37, 0.8);
    font-size: 16px;
    line-height: 18px;
    padding: 20px;
}

.acc_plus, .acc_minus {
    color: #170B25;
    font-size: 40px;
    margin-left: 20px;
    line-height: 40px;
    transition: all .3s;
}

.acc_minus{
    display: none;
}

.card-link[aria-expanded="false"] .acc_plus{
    display: block;
}
.card-link[aria-expanded="false"] .acc_minus{
    display: none;
}

.card-link[aria-expanded="true"] {
    border-bottom: 2px solid rgba(177, 37, 75, 0.5);
}

.card-link[aria-expanded="true"] .acc_plus{
    display: none;
}
.card-link[aria-expanded="true"] .acc_minus{
    display: block;
}

.card-link:hover, .card-link:hover .acc_plus, .card-link:hover .acc_minus {
    color: #B1254B;
}

.cta {
    background: url(../img/cta_bg.jpg) no-repeat center bottom / cover;
    padding-top: 40px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.cta h2 {
    margin-bottom: 0;
}

.cta_desc {
    font-size: 36px;
    font-family: 'Uni';
    font-weight: 500;
    margin-bottom: 15px;
}

.cta .offer_btns .head_phone{
    white-space: nowrap;
    color: #fff;
    font-weight: 400;
    font-family: 'Muller';
    margin-left: 15px;
}

.rev_pereh_b {
    top: auto;
    bottom: 0;
}

.cta .zdec_r {
    top: 50%;
}

.contacts {
    background: url(../img/contacts_bg.jpg) no-repeat center bottom / cover;
    padding-bottom: 60px;
}

.soc_ttl {
    font-size: 20px;
    font-weight: 500;
    font-family: 'Uni';
    margin-bottom: 15px;
}

.contacts .head_phone {
    font-family: 'Muller';
    font-weight: 400;
}

.contacts .zak_msg i {
    font-size: 30px;
    margin-right: 15px;
	padding-left: 10px;
}

.contacts .zak_msg {
    font-weight: 700;
    font-size: 16px;
    width: 160px;
    min-width: 160px;
}

.soc_text {
    font-weight: 800;
    font-family: 'Uni';
    font-size: 24px;
    margin-bottom: 15px;
}

.soc_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 65px;
    min-width: 65px;
    height: 65px;
    border-radius: 5px;
    margin-right: 30px;
    color: #fff;
    font-size: 40px;
}

.soc_btn i {
    margin-right: 0;
    font-size: 40px;
}

.soc_btn:hover {
    text-decoration: none;
    color: #fff;
}

footer {
    background: #2E0118;
    padding: 15px 0;
}

.policy {
    font-style: italic;
    font-weight: 300;
    font-size: 14px;
    color: rgba(255,255,255,.7);
}

.policy:hover {
    color: rgba(255,255,255,.7);
}

footer .msg_row {
    color: rgba(255,255,255,.7);
}

footer .head_phone {
    font-family: 'Muller';
    font-size: 18px;
    color: #fff;
}

footer .head_phone:hover{
    color: #fff;
    text-decoration: none;
}

header .menu-item{
    width: 100%;
    padding: 12px;
    text-align: center;
    border-right: 1px solid rgba(23, 11, 37, 0.3);
    font-size: 16px;
}

header ul {
    list-style: none;
}

header .menu-item a,
header .menu-item a.nav-link,
header .nav-item > a,
header .nav-item > a.nav-link {
    color: #170B25;
    opacity: 0.8;
}

header .menu-item a:hover,
header .menu-item a.nav-link:hover,
header .nav-item > a:hover,
header .nav-item > a.nav-link:hover {
    color: #B1254B;
    text-decoration: none;
    font-weight: 700;
}

.sviaz {
    display: flex;
    align-items: center;
    font-size: 16px;
    margin-bottom: 18px;
    color: rgba(54, 56, 72, 0.5);
}

.phone_sv, .te_sv, .wa_sv{
    background: #FFFFFF;
    border: 1px solid rgba(54, 56, 72, 0.2);
    width: 49px;
    height: 49px;
    min-width: 49px;
    border-radius: 50%;
    color: rgba(193, 169, 118, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    line-height: 30px;
    transition: all .3s;
}

.sv_toggles {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 177px;
    min-width: 177px;
    margin-left: 15px;
}

.phone_sv {
    color: #4CAF50;
}

.phone_sv.active, .phone_sv:hover{
    color: #4CAF50;
    border: 2px solid #4CAF50;
} 
.te_sv{
    color: #0599F5;
}
.te_sv.active, .te_sv:hover{
    color: #0599F5;
    border: 2px solid #0599F5;
} 
.wa_sv{
    color: #5B5198;
}
.wa_sv.active, .wa_sv:hover {
    color: #5B5198;
    border: 2px solid #5B5198;
}

.modal-content h2 {
    font-weight: 800;
    font-family: 'Uni';
    font-size: 30px;
    line-height: 35px;
    margin-bottom: 10px;
    color: #B1254B;
}
.modal_desc {
    margin-bottom: 30px;
    color: #363848;
}

.modal-content {
    overflow: hidden;
    border-radius: 8px;
}
.modal_inner{
    padding: 20px 65px 25px;
}

.close {
    font-size: 30px;
    position: absolute;
    top: 12px;
    right: 20px;
    opacity: .9;
}

.close:hover {
    opacity: 1 !important;
}

input {
    width: 100%;
    margin-bottom: 24px;
    padding-bottom: 15px;
    border: none;
    border-bottom: 2px solid rgba(46, 1, 24, 0.5);
    padding-left: 25px;
}

input[type="tel"] {
    background: url(../img/mobile-alt.svg) no-repeat left 0px;
}

.input_name {
    background: url(../img/user.svg) no-repeat left 0px;
}

.wpcf7 .ajax-loader {
    display: none;
}

.wpcf7 p {
    margin-bottom: 0;
}

.form_note {
    color: rgba(149, 158, 173, 0.5);
    font-size: 12px;
}

.form_note a, .form_note a:hover{
    text-decoration: underline;
    color: rgba(149, 158, 173, 0.5);
}

.modal-content .main_btn {
    max-width: 100%;
    margin-bottom: 10px;
}

#sert .close {
    color: #fff;
}

#callback .close {
    background: rgba(255,255,255,0.92);
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 10px;
    right: 10px;
    color: #170B25;
    box-shadow: 0 2px 10px rgba(0,0,0,0.18);
    font-size: 24px;
    line-height: 1;
    padding: 0;
}

.offer_info_block {  
    background: rgba(46,1,24,0.8);
    position: absolute;
    top: 50px;
    right: 0;
    border-radius: 5px;
    border: 1px solid #73023c;
    width: 161px;
    height: auto;
    padding: 10px;
    display: none;
}

.offer_info_block.active{
    display: block;
}

.soc_desc_text{
}

.soc_cont_links {
    display: flex;
    align-items: center;
}

.mob_head_row{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-width: 180px;
}
.mob_head_row .phone_icon {
    display: inline-flex;
    width: auto;
    height: auto;
    margin-right: 0px;
    border-radius: 0;
    border: none;
    color: #B1254B;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.mob_head_row i {
    font-size: 24px;
    margin-right: 10px;
}

.ham_btn {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    background: #B1254B;
    color: #fff;
    position: relative;
    margin-left: 10px;
    border-radius: 50%;
}

.ham_line {
    background: #fff;
    position: absolute;
    width: 20px;
    height: 3px;
    left: 10px;
    transition: all .3s;
}

.ham_btn .ham_line:nth-child(1){
    top: 11px;
}

.ham_btn .ham_line:nth-child(2){
    top: 18px;
}

.ham_btn .ham_line:nth-child(3){
    top: 25px;
}

.ham_btn.active .ham_line:nth-child(1){
    top: 18px;
    transform: rotate(45deg);
}

.ham_btn.active .ham_line:nth-child(2){
    top: 18px;
    transform: rotate(-45deg);
}

.ham_btn.active .ham_line:nth-child(3){
    opacity: 0;
}

.mobile_menu{
    position: fixed;
    top: 0;
    left: -300px;
    overflow: hidden;
    transition: all .3s;
    background: #fff url(../img/mob_menu_bg.png) no-repeat left top;
    box-shadow: 10px 5px 30px #363848;
    width: 245px;
    opacity: 0;
    z-index: 20000;
}

.mobile_menu.active{
    opacity: 1;
    left: 0;
}

.mob_menu_container{
    padding: 14px 14px 20px;
}

.mobile_menu .menu-item{
    border-bottom: 1px solid rgba(177, 37, 75, 0.15);
    font-size: 14px;
    padding-top: 10px;
    padding-bottom: 5px;
}

.mobile_menu .menu-item a{
    color: rgba(23, 11, 37, 0.7);
}

.mobile_menu .menu-item:last-child{
    border-bottom: none;
}

.mobile_menu .main_btn{
    border-radius: 0;
    font-size: 18px;
    height: 50px;
}

.mobile_menu .msgrs{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.mobile_menu .zak_msg{
    margin: 0;
    width: 50%;
    max-width: 50%;
    min-width: 50%;
    border-radius: 0;
    font-size: 12px;
}

.mobile_menu .zak_msg i {
    font-size: 30px;
    margin-right: 5px;
}

.mob_soc {
    display: flex;
    align-items: center;
    padding-bottom: 8px;
    flex-wrap: wrap;
}

.mob_soc .soc_btn {
    width: 40px;
    height: 40px;
    min-width: 40px;
    margin-right: 0;
    margin-left: 10px;
    font-size: 30px;
}

.mob_soc .soc_btn i{
    font-size: 30px;
}

.thanks {
    background: url(../img/cta_bg.jpg) no-repeat center bottom / cover;
    padding-top: 140px;
    color: #fff;
    position: relative;
    overflow: hidden;
    padding-bottom: 10px;
}

.thanks_desc {
    max-width: 300px;
    margin-bottom: 15px;
}

.thanks .main_btn{
    max-width: 323px;
    margin-bottom: 160px;
}

.thanks .insta_block{
    margin-top: 0;
    margin-bottom: 0;
    color: #170B25;
}

.mob_header {
    display: flex;
    align-items: center;
}
.mob_header .mob_logo{
    /*margin-right: 20px;*/
}

article {
    background: #fff;
    padding: 80px 0;
    font-size: 18px;
}

article h2 {
    font-weight: 500;
}

article img {
    max-width: 100%;
    height: auto;
}

.wp-block-media-text__media img{
    width: 100%;
    max-width: 63px;
}

.wp-block-pullquote {
    max-width: 521px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}

.wp-block-pullquote p {
    font-size: 16px;
    text-align: left;
}

.wp-block-pullquote blockquote{
    background: #FFFFFF;
    border: 2px solid #610959;
    border-radius: 7px;
    padding: 13px 10px 8px 32px;
    position: relative;
}

.wp-block-pullquote blockquote:before{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px;
    background: url(../img/i.png) no-repeat center center / contain;
}

article figcaption {
    font-size: 16px;
}

.post_port {
    padding-top: 60px;
}

.post_port .divider {
    margin-bottom: 40px;
}

@media screen and (max-width: 1199.8px) {
    header .head_phone {
        font-size: 16px;
    }
    .insta_content {
        line-height: 1;
        font-size: 30px;
    }
    .masta {
        max-height: 453px;
    }
}

@media screen and (max-width: 991.8px) {
    .insta_content{
        padding-right: 20px;
    }
    .insta_btn {
        top: calc(100% - 15px);
        width: 100%;
        right: 0;
    }
	
	.facebook_btn
	{
        top: calc(100% - 15px);
        width: 100%;
        right: 0;
    }
	
	
    .flowers{
        bottom: -70px;
    }
    .offer_btns{
        margin-left: auto;
        margin-right: auto;
        max-width: 580px;
    }
    .offer .preim {
        margin-bottom: 16px;
    }
    .white_btn{
        max-width: 255px;
    }
    .offer {
        background-size: inherit;
        background-position-y: top;
        background-color: #2e0118;
    }
    .insta_block{
        margin-bottom: 100px;
    }
    .chto .shadow_block{
        margin-bottom: 40px;
    }
    .about h2, .ab_name, .ab_who{
        text-align: center;
    }
    .about .divider{
        margin-left: auto;
    }
    .ab_masta {
        max-width: 300px;
    }
    .zapis_container{
        flex-wrap: wrap;
    }
    .zapis_right {
        width: 100%;
        position: relative;
        border-radius: 0 0 5px 5px;
    }
    .zapis{
        border-radius: 5px 5px 0 0;
        padding: 11px 12px;
    }
    .zpais_inner{
        border-radius: 5px;
        border: 2px dotted rgba(226, 0, 117, 0.5);
    }
    .left_reason{
        flex-direction: row-reverse; 
        text-align: left;
    }
    .left_reason .num_container {
        margin-right: 19px;
        margin-left: 0;
    }
    .right_reason.center_item{
        padding-left: 0;
    }
    .left_reason.center_item{
        padding-right: 0;
    }
    .right_reason, .left_reason{
        align-items: center;
    }
    .right_reason p, .left_reason p{
        margin-bottom: 0;
    }
    .gift_container{
        border: none;
        display: flex;
        flex-wrap: wrap;
    }
    .gift_sert {
        position: relative;
        top: auto;
        right: auto;
        height: 200px;
        width: calc(100% + 40px);
        margin-left: -20px;
        border-radius: 0 0 5px 5px;
    }
    .gift_block{
        width: 100%;
        padding-bottom: 0;
    }
    .contacts h2{
        text-align: center;
    }
    .contacts .divider{
        margin-left: auto !important;
    }
    .contacts iframe{
        margin-bottom: 30px;
    }
    .offer_info{
        background: none;
        height: auto;
        width: auto;
        padding: 0;
        z-index: 300;
        cursor: pointer;
    }
    .mob_oi img {
        width: 28px;
        height: 28px;
        object-fit: contain;
        display: block;
    }
    .thanks h1, .thanks .subttl {
        text-align: left;
    }
    .thanks {
        padding-bottom: 80px;
        padding-top: 50px;
    }
    .thanks .main_btn {
        margin-bottom: 50px;
    }
    .thanks{
        background: url(../img/thanks_mob.jpg) no-repeat center top / cover;
    }
    .masta {
        max-height: 404px;
    }
}

@media screen and (max-width: 767.8px) {
    h1, .ab_name {
        font-size: 33px;
    }
    .offer h1 {
        font-size: 36px;
    }
    h2 {
        font-size: 36px;
        line-height: 38px;
    }
    .chto h2{
        font-size: 24px;
        line-height: 32px;
    }
    .insta_btn{
        top: calc(100% - 10px);
    }
    .service h3, .service.hit h3, .card-header {
        font-size: 18px;
    }
    .service, .serv_time, .serv_price, body, .quote, .ab_li, .shadow_block, 
    .chto_item, .usl_text, .gift_desc, .card-body{
        font-size: 17px;
    }
	.serv_price {
    font-size: 17px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.serv_price b
	{color: black;
	font-size: 1.2em;}
	
	
.serv_price .new-price {
    color: #800080; /* замените на брендовый */
    font-weight: bold;
    font-size: 1.2em;
}

.serv_price s,
.serv_price .old-price {
    color: #999;
    text-decoration: line-through;
    font-size: 1em;
}

	
	
	
    .cta_desc, address, .contacts .head_phone{
        font-size: 20px;
    }
    .cta_desc, .cta h2 {
        text-align: center;        
    }
    .card-body{
        line-height: 20px;
    }
    .subttl{
        font-size: 27px;
    }
    .ab_who{
        font-size: 16px;
    }
    .gift h2{
        font-size: 33px;
        text-align: center;
    }
    .white_gift_btn{
        max-width: 100%;
    }
    .gift_desc {
        text-align: center;
    }
    .ab_li{
        margin-bottom: 14px;
    }
    .portfolio .nav-item {
        flex: 0 0 auto;
        width: auto;
    }
    .zpais_inner{
        font-size: 24px;
    }
    .zapis_right{
        min-width: 100%;
        height: auto;
    }
    .zapis_right .ttl {
        font-size: 20px;
        text-align: center;
    }
    .insta_str {
        text-align: center;
    }
    .gift_icon {
        margin-right: 10px;
    }
    .cta p {
        margin-bottom: 0;
    }
    address{
        display: flex;
        align-items: center;
    }
    address .phone_icon{
        min-width: 40px;
    }
    .soc_text{
        font-size: 20px;
    }
    .insta_content{
        font-size: 23px;
    }
    .thanks .main_btn {
        margin-bottom: 50px;
    }
    /*    .flowers{
            display: none;
        }*/
    .masta {
        max-height: 294px;
    }
    .show_port {
        display: none;
    }
}

@media screen and (max-width: 575.8px) {
    .offer h1 {
        font-size: 28px;
    }
    .wp-block-pullquote blockquote {
        padding: 30px 15px 15px;
    }
    .wp-block-pullquote blockquote::before {
        left: 20px;
        top: 0;
        transform: translate(0, -50%);
    }
    .wp-block-pullquote {
        margin-top: 15px;
    }
    .zpais_inner{
        font-size: 24px;
        text-align: center;
        justify-content: center;
        align-items: flex-start;
        height: 250px;
        background: url(../img/mob_zap.png) no-repeat center bottom;
    }
    .contacts .zak_msg{
        margin-right: 0;
        max-width: 100%;
        width: 100%;
    }
    .soc_desc_text{
        text-align: center;
        width: 100%;
    }
    .soc_cont_links {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }
    .soc_btn{
        margin-right: 15px;
        margin-left: 15px;
    }
    .cta .offer_btns {
        flex-wrap: wrap;
        justify-content: center;
    }
    .cta .offer_btns .head_phone {
        margin-left: 0;
        margin-top: 15px;
    }
    .gift_sert{
        height: 333px;
    }
    .gift_inner{
        padding-left: 0;
        padding-right: 0;
    }
    .gallery{
        position: relative;
        max-width: 313px;
        margin-left: auto;
        margin-right: auto;
    }
    #prev_sl{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        z-index: 100;
    }
    #next_sl{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
        z-index: 100;
    }
    .gal_container {
        width: 100%;
    }
    .phone_slider .swiper-button-prev{
        right: calc(50% + 90px);
    }
    .phone_slider .swiper-button-next{
        left: calc(50% + 90px);
    }
    .insta_btn {
        font-size: 30px;
    }
	
	   .facebook_btn {
        font-size: 30px;
    }
	
	.btn .facebook_btn a:hover{color:#0056b3}
	
	
	
    .offer .offer_btns{
        flex-direction: column;
        justify-content: center;
        color: #fff;
    }
    .offer .main_btn {
        margin-bottom: 10px;
    }
    .offer .white_btn{
        margin-top: 10px;
    }
    .offer {background: black;
        /* background: url(../img/mob_offer.jpg) no-repeat center bottom / cover; */
    }
    .sviaz {
        flex-direction: column;
        text-align: center;
    }
    .sv_toggles{
        margin-left: auto;
        margin-right: auto;
        margin-top: 10px;
    }
    .modal_inner{
        padding-left: 20px;
        padding-right: 20px;
    }
    .preim_img{
        min-width: 31px;
        width: 31px;
        margin-left: 0;
    }
    .preim {
        font-size: 12px;
    }
    .how{
        background-position: left bottom;
    }
    header {
        padding: 5px 0;
    }
    header .container {
        padding-top: 0;
        padding-left: 8px;
        padding-right: 8px;
    }
    .mob_logo {
        width: 100%;
        height: auto;
        display: block;
    }
    .mob_head_row {
        flex-shrink: 0;
        min-width: 155px;
    }
    .mob_head_row i {
        font-size: 20px;
        margin-right: 7px;
    }
    .mob_head_row .phone_icon {
        font-size: 20px;
    }
    .portfolio .nav.nav-pills {
        flex-wrap: wrap;
        gap: 8px;
    }
    .portfolio .nav-item {
        flex: 0 0 calc(50% - 4px);
        width: calc(50% - 4px);
    }
    .portfolio .nav-item:last-child {
        flex: 0 0 100%;
        width: 100%;
    }
    .portfolio .nav-link {
        white-space: normal;
        font-size: 12px;
        padding: 8px 6px;
        height: auto;
        min-height: 44px;
        line-height: 1.25;
        border-radius: 8px !important;
    }
    .thanks{
        background: url(../img/thanks_mob.jpg) no-repeat center top / cover;
    }
    .thanks .main_btn {
        margin-bottom: 50px;
    }
    .offer .main_btn, .offer .white_btn{
        max-width: 100%;
    }
}

@media screen and (max-width: 349.8px) {
    .insta_content{
        font-size: 20px;
    }
}



/* Procedures grid: force equal height cards */
.services-grid > [class*="col-"] {
  display: flex !important;
}

/* card */
.services-grid .service {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 560px !important; /* подстрой 450-520 */
}

/* image */
.services-grid .service img {
  width: 100% !important;
  height: 250px !important;
  object-fit: cover !important;
}

/* inner layout */
.services-grid .service_info {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

/* title clamp */
.services-grid .service_info h3 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  min-height: 44px !important;
}

/* description clamp */
.services-grid .service_info p {
  flex: 1 !important;
  margin-bottom: 12px !important;

  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  overflow: hidden !important;

  min-height: 100px !important;
}

/* button pinned to bottom */
.services-grid .service_btn {
  margin-top: auto !important;
  width: 100% !important;
}



.services-grid .service {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.services-grid .service:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}











/* ---- hero Google badge (above H1) ---- */
.hero-google-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border-radius: 50px;
    padding: 8px 18px 8px 10px;
    margin-bottom: 18px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.18);
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s;
}
.hero-google-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(0,0,0,0.22);
    text-decoration: none;
}
.hgb-g {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
}
.hgb-stars {
    color: #FBBC05;
    font-size: 17px;
    letter-spacing: 1px;
    line-height: 1;
}
.hgb-score {
    font-weight: 700;
    font-size: 17px;
    color: #170B25;
    font-family: 'Open Sans', sans-serif;
}
.hgb-count {
    font-size: 13px;
    color: #555;
}
.hgb-sep {
    color: #bbb;
    font-size: 14px;
    line-height: 1;
}

/* ---- hero subheadline ---- */
.hero-subheadline {
    font-size: 19px;
    color: rgba(255,255,255,0.82);
    margin: 10px 0 0;
    font-weight: 700 !important;
    line-height: 1.4;
}

@media (max-width: 767.8px) {
    .hero-google-badge {
        padding: 7px 14px 7px 8px;
        gap: 6px;
        margin-bottom: 14px;
    }
    .hgb-g { width: 24px; height: 24px; }
    .hgb-stars { font-size: 15px; }
    .hgb-score { font-size: 15px; }
    .hgb-count { font-size: 12px; }
    .hero-subheadline { font-size: 16px; font-weight: 700 !important; }
}

/* ---- SEO Text Block (service pages) ---- */
.serv-seo-block {
    padding: 48px 0 40px;
    background: #fff;
    border-top: 1px solid rgba(23,11,37,0.07);
}
.serv-seo-block h2 {
    font-size: 28px;
    margin-bottom: 16px;
    color: #170B25;
}
.serv-seo-text {
    font-size: 15px;
    color: rgba(23,11,37,0.65);
    line-height: 1.8;
    max-width: 800px;
}
.serv-seo-text p { margin-bottom: 12px; }

/* ======================================================
   ANIMATIONS
   ====================================================== */

/* ---- Scroll Reveal ---- */
.sr {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.55s ease, transform 0.55s ease;
    will-change: opacity, transform;
}
.sr.sr-v          { opacity: 1; transform: translateY(0); }
.sr.sr-d1         { transition-delay: 0.08s; }
.sr.sr-d2         { transition-delay: 0.17s; }
.sr.sr-d3         { transition-delay: 0.26s; }
.sr.sr-d4         { transition-delay: 0.35s; }

/* ---- Hero badge: star pulse on load ---- */
@keyframes star-pop {
    0%   { transform: scale(1); }
    45%  { transform: scale(1.3); }
    100% { transform: scale(1); }
}
.hgb-stars {
    display: inline-block;
    animation: star-pop 0.55s cubic-bezier(.36,.07,.19,.97) 0.9s both;
}

/* ---- hero trust bar ---- */
.hero-trust {
    margin-bottom: 22px;
    color: #fff;
}
.hero-trust .hero-google-badge {
    margin-bottom: 10px;
}

.hero-trust-rating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 12px;
    flex-wrap: wrap;
    text-decoration: none;
    cursor: pointer;
}

.hero-trust-rating:hover {
    text-decoration: none;
}

.hero-trust-rating:hover .trust-reviews {
    color: rgba(255,255,255,0.95);
    text-decoration: underline;
}

.google-g {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    font-weight: 700;
    font-size: 12px;
    color: #4285F4;
    font-family: 'Open Sans', sans-serif;
    flex-shrink: 0;
    line-height: 1;
}

.trust-stars {
    color: #FBBC05;
    font-size: 15px;
    letter-spacing: 2px;
    line-height: 1;
}

.trust-score {
    font-weight: 700;
    font-size: 15px;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
}

.trust-reviews {
    font-size: 13px;
    color: rgba(255,255,255,0.7);
}

.trust-ext-icon {
    font-size: 9px;
    opacity: 0.55;
    vertical-align: middle;
    margin-left: 2px;
}

@media (max-width: 991.8px) {
    .trust-ext-icon {
        font-size: 11px;
        opacity: 0.82;
    }
    .trust-cert-i img {
        width: 19px;
        height: 19px;
    }
}

.trust-cert-i {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 3px;
    opacity: 0.85;
    transition: opacity .2s;
}

.trust-cert-i:hover {
    opacity: 1;
    text-decoration: none;
}

.trust-cert-i img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    display: block;
}

.hero-trust-stats {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Desktop master photo — shifts right by Bootstrap container margin */
@media (min-width: 992px) {
    .col-masta-photo {
        padding-right: 0;
    }
    .col-masta-photo .masta-wrap {
        position: relative;
        right: -3vw;
    }
}

/* Desktop master photo caption */
.masta-wrap {
    position: relative;
    display: inline-block;
}
.masta-id {
    position: absolute;
    bottom: -10px;
    right: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: rgba(23,11,37,0.75);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 50px;
    padding: 7px 60px;
    backdrop-filter: blur(6px);
    white-space: nowrap;
    z-index: 10;
}
.masta-id a {
    color: #ffb3cc;
    font-size: 13px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-left: 1px solid rgba(255,255,255,0.2);
    padding-left: 12px;
}
.masta-id a:hover { color: #fff; text-decoration: none; }
.masta-id a i { font-size: 15px; }
.masta-id-name {
    color: #fff;
    font-weight: 700;
    font-family: 'Uni', sans-serif;
    font-size: 14px;
}

.trust-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 16px;
    text-align: center;
}

.trust-stat:first-child {
    padding-left: 0;
}

.trust-stat strong {
    font-family: 'Uni';
    font-weight: 800;
    font-size: 20px;
    color: #fff;
    line-height: 1;
    display: block;
}

.trust-stat span {
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 3px;
    display: block;
    white-space: nowrap;
}

.trust-divider-v {
    width: 1px;
    height: 30px;
    background: rgba(255,255,255,0.25);
    flex-shrink: 0;
}

@media (min-width: 992px) {
    .hero-trust-rating {
        justify-content: flex-start;
    }
    .hero-trust-stats {
        justify-content: flex-start;
    }
    .trust-stat:first-child {
        padding-left: 0;
    }
}

@media (max-width: 575.8px) {
    .trust-stat {
        padding: 0 10px;
    }
    .trust-stat strong {
        font-size: 17px;
    }
}

/* ---- Unified Social Follow Block ---- */
.soc-follow {
    background: #fff;
    padding: 55px 0;
    overflow: hidden;
}
.soc-follow-inner {
    position: relative;
    text-align: center;
    z-index: 2;
}
.soc-likes {
    position: absolute;
    left: -20px;
    bottom: -20px;
    width: 90px;
    pointer-events: none;
}
.soc-flowers {
    position: absolute;
    right: -20px;
    top: -20px;
    width: 90px;
    pointer-events: none;
}
.soc-follow-label {
    font-family: 'Uni', sans-serif;
    font-size: 28px;
    font-weight: 500;
    color: #170B25;
    margin-bottom: 28px;
}
.soc-follow-btns {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.soc-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 40px;
    border-radius: 50px;
    font-family: 'Uni', sans-serif;
    font-size: 22px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    transition: transform 0.25s, box-shadow 0.25s;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}
.soc-btn:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.soc-btn-ig {
    background: radial-gradient(110.28% 110.28% at 20.5% 87.39%, #FAE100 0%, #FCB720 18.29%, #FF7950 30.54%, #FF1C74 49.22%, #6C1CD1 100%);
}
.soc-btn-fb {
    background: linear-gradient(135deg, #4267B2 0%, #1877F2 100%);
}
@media (max-width: 767.8px) {
    .soc-follow { padding: 40px 0; }
    .soc-follow-label { font-size: 22px; }
    .soc-btn { font-size: 18px; padding: 14px 28px; }
    .soc-likes, .soc-flowers { width: 70px; }
}
@media (max-width: 575.8px) {
    .soc-follow { padding: 36px 0; }
    .soc-follow-label { font-size: 19px; margin-bottom: 18px; }
    .soc-follow-btns { flex-direction: column; gap: 10px; }
    .soc-btn { width: 100%; justify-content: center; font-size: 17px; padding: 13px 20px; }
    .soc-likes { left: -15px; bottom: -10px; width: 60px; }
    .soc-flowers { right: -15px; top: -10px; width: 60px; }
}

/* Make Swiper arrows look like "I'm at work" arrows (custom circles) */
.portfolio .swiper-button-next,
.portfolio .swiper-button-prev,
.reviewess .swiper-button-next,
.reviewess .swiper-button-prev {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  /* подставь свой цвет если надо */
  background: #b0007a !important;

  box-shadow: 0 10px 22px rgba(176, 0, 122, 0.25) !important;

  top: 50% !important;
  transform: translateY(-50%) !important;

  margin-top: 0 !important;
  z-index: 20 !important;
}

/* убрать дефолтные стрелки Swiper, которые "догружаются" */
.portfolio .swiper-button-next::after,
.portfolio .swiper-button-prev::after,
.reviewess .swiper-button-next::after,
.reviewess .swiper-button-prev::after {
  content: none !important;
}

/* позиции как обычно: слева/справа */
.portfolio .swiper-button-prev,
.reviewess .swiper-button-prev {
  left: -2px !important;
  right: auto !important;
}

.portfolio .swiper-button-next,
.reviewess .swiper-button-next {
  right: -2px !important;
  left: auto !important;
}

/* чтобы твои иконки left_ar/right_ar были по центру */
.portfolio .swiper-button-prev .left_ar,
.reviewess .swiper-button-prev .left_ar,
.portfolio .swiper-button-next .right_ar,
.reviewess .swiper-button-next .right_ar {
  display: block !important;
}

/* на всякий: убираем любые фильтры/opacity, если Swiper их ставит */
.portfolio .swiper-button-next,
.portfolio .swiper-button-prev,
.reviewess .swiper-button-next,
.reviewess .swiper-button-prev {
  opacity: 1 !important;
}










/* extra safety: if swiper injects svg in other blocks too */
.swiper-button-next svg,
.swiper-button-prev svg {
  display: none !important;
}




/* Make Swiper arrows look like "I'm at work" arrows */
.portfolio .swiper-button-next,
.portfolio .swiper-button-prev,
.reviewess .swiper-button-next,
.reviewess .swiper-button-prev {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  /* same vibe as нижние */
  background: linear-gradient(180deg, #d1007c 0%, #7b0b6b 100%) !important;
  box-shadow: 0 10px 22px rgba(176, 0, 122, 0.25) !important;

  /* убрать лишнее */
  border: 0 !important;
  color: transparent !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin-top: 0 !important;
}

/* Positions similar to bottom slider */
.portfolio .swiper-button-prev,
.reviewess .swiper-button-prev {
  left: -2px !important;
  right: auto !important;
}

.portfolio .swiper-button-next,
.reviewess .swiper-button-next {
  right: -2px !important;
  left: auto !important;
}

/* Use your existing arrow shapes */
.portfolio .swiper-button-next .right_ar,
.reviewess .swiper-button-next .right_ar,
.portfolio .swiper-button-prev .left_ar,
.reviewess .swiper-button-prev .left_ar {
  width: 10px !important;

  opacity: 1 !important;
}

/* hover */
.portfolio .swiper-button-next:hover,
.portfolio .swiper-button-prev:hover,
.reviewess .swiper-button-next:hover,
.reviewess .swiper-button-prev:hover {
  filter: brightness(1.05);
}

/* ---- thank you page ---- */
.thanks_save_num {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 22px;
    max-width: 340px;
}

.thanks_save_label {
    font-size: 13px;
    color: rgba(255,255,255,0.6);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.thanks_phone_save {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.thanks_phone_save:hover {
    color: #fff;
    text-decoration: none;
}

.thanks_phone_save .phone_icon {
    border-color: rgba(255,255,255,0.4);
    color: #fff;
    flex-shrink: 0;
}

.thanks_alt {
    margin-bottom: 20px;
}

.thanks_alt_label {
    font-size: 13px;
    color: rgba(255,255,255,0.6);
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.thanks_alt_btns {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.thanks_msg_btn {
    display: flex !important;
    align-items: center !important;
    gap: 7px;
    width: auto !important;
    min-width: auto !important;
    padding: 0 14px !important;
    font-size: 15px !important;
    border-radius: 8px !important;
}

.thanks_msg_btn span {
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.thanks_insta_btn {
    background: radial-gradient(110.28% 110.28% at 20.5% 87.39%, #FAE100 0%, #FF1C74 49.22%, #6C1CD1 100%) !important;
}

.thanks_back_link {
    display: inline-block;
    margin-top: 20px;
    font-size: 14px;
    color: rgba(255,255,255,0.45);
    text-decoration: none;
    margin-bottom: 30px;
}

.thanks_back_link:hover {
    color: rgba(255,255,255,0.75);
    text-decoration: none;
}

.thanks_insta_block {
    margin-top: 15px;
    margin-bottom: 30px;
}

@media (max-width: 575.8px) {
    .thanks_save_num {
        max-width: 100%;
    }
    .thanks_phone_save {
        font-size: 19px;
    }
}

/* ============================================================
   STICKY MOBILE CTA
   ============================================================ */
.sticky-mob-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9000;
    display: flex;
    align-items: stretch;
    height: 60px;
    box-shadow: 0 -4px 20px rgba(134, 28, 124, 0.25);
    transform: translateY(0);
    transition: transform 0.35s ease;
}
.sticky-mob-cta.hidden {
    transform: translateY(100%);
}
.sticky-cta-book {
    flex: 1;
    background: linear-gradient(90deg, #E20075 0%, #851C7C 100%);
    color: #fff;
    border: none;
    font-family: 'Uni', sans-serif;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: filter 0.2s;
    padding: 0 16px;
}
.sticky-cta-book:hover,
.sticky-cta-book:active {
    filter: brightness(1.1);
}
.sticky-cta-book i {
    font-size: 17px;
}
.sticky-cta-phone {
    width: 60px;
    flex-shrink: 0;
    background: #170B25;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    text-decoration: none;
    border-left: 1px solid rgba(255,255,255,0.1);
    transition: background 0.2s;
}
.sticky-cta-phone:hover {
    background: #2d1545;
    color: #fff;
    text-decoration: none;
}
body.modal-open .sticky-mob-cta {
    display: none;
}

/* ============================================================
   BEFORE / AFTER COMPARISON SLIDER
   ============================================================ */
.ba-section {
    padding: 60px 0;
    background: #fff;
}
.serv-ba-section {
    padding: 60px 0 70px;
    background: #fff;
}
.ba-section .section-title {
    text-align: center;
    margin-bottom: 48px;
}
.ba-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 991.8px) {
    .ba-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575.8px) {
    .ba-grid {
        grid-template-columns: 1fr;
    }
}
.ba-item {}
.ba-item-label {
    font-family: 'Uni', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #170B25;
    letter-spacing: 0.06em;
    margin-bottom: 10px;
    text-align: center;
}
.ba-slider {
    position: relative;
    width: 100%;
    height: 320px;
    border-radius: 10px;
    overflow: hidden;
    cursor: ew-resize;
    user-select: none;
    -webkit-user-select: none;
    box-shadow: 0 8px 30px rgba(134,28,124,0.12);
}
.ba-img {
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.ba-after {
    z-index: 1;
}
.ba-before {
    z-index: 2;
    clip-path: inset(0 50% 0 0);
}
.ba-handle {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: 10;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
}
.ba-handle-line {
    width: 3px;
    flex: 1;
    background: #fff;
    box-shadow: 0 0 8px rgba(0,0,0,0.4);
}
.ba-handle-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(180deg, #E20075 0%, #851C7C 100%);
    box-shadow: 0 4px 16px rgba(134,28,124,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}
.ba-tag {
    position: absolute;
    bottom: 12px;
    z-index: 11;
    background: rgba(23,11,37,0.65);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 10px;
    border-radius: 20px;
    pointer-events: none;
}
.ba-tag.ba-before-tag { left: 10px; }
.ba-tag.ba-after-tag  { right: 10px; }
.ba-range {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: ew-resize;
    z-index: 20;
    margin: 0;
    -webkit-appearance: none;
    appearance: none;
}

/* ============================================================
   GOOGLE REVIEWS SECTION
   ============================================================ */
.greviews-section {
    padding: 60px 0;
    background: #faf8fc;
}
.greviews-header {
    text-align: center;
    margin-bottom: 40px;
}
.greviews-aggregate {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border-radius: 12px;
    padding: 14px 24px;
    box-shadow: 0 4px 20px rgba(134,28,124,0.08);
    margin-top: 20px;
}
.greviews-g {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #dadce0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.greviews-g svg { width: 24px; height: 24px; }
.greviews-score {
    font-size: 28px;
    font-weight: 800;
    color: #170B25;
    line-height: 1;
}
.greviews-stars-big {
    color: #FBBC04;
    font-size: 20px;
    letter-spacing: 1px;
}
.greviews-count {
    font-size: 14px;
    color: rgba(23,11,37,0.55);
    display: flex;
    align-items: center;
    gap: 4px;
}
.greviews-count .google-wordmark-img {
    height: 14px;
    width: auto;
    vertical-align: middle;
    position: relative;
    top: -1px;
}
.greviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 36px;
}
@media (max-width: 991.8px) {
    .greviews-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575.8px) {
    .greviews-grid {
        grid-template-columns: 1fr;
    }
}
.greview-card {
    background: #fff;
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 4px 20px rgba(23,11,37,0.07);
    transition: box-shadow 0.25s, transform 0.25s;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.greview-card:hover {
    box-shadow: 0 8px 30px rgba(134,28,124,0.15);
    transform: translateY(-3px);
}
.greview-top {
    display: flex;
    align-items: center;
    gap: 12px;
}
.greview-avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: linear-gradient(135deg, #E20075 0%, #851C7C 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    flex-shrink: 0;
    overflow: hidden;
}
.greview-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.greview-meta {
    flex: 1;
    min-width: 0;
}
.greview-name {
    font-weight: 700;
    font-size: 15px;
    color: #170B25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.greview-date {
    font-size: 12px;
    color: rgba(23,11,37,0.5);
    margin-top: 2px;
}
.greview-g-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #dadce0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.greview-g-icon svg { width: 16px; height: 16px; }
.greview-stars {
    color: #FBBC04;
    font-size: 15px;
    letter-spacing: 1px;
}
.greview-text {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(23,11,37,0.82);
    flex: 1;
}
.greviews-cta {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.grev-rate-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    padding: 12px 28px;
    background: #4285F4;
    box-shadow: 0 4px 16px rgba(66,133,244,0.35);
    transition: all 0.25s;
}
.grev-rate-btn:hover {
    background: #3367D6;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 6px 24px rgba(66,133,244,0.45);
    transform: translateY(-1px);
}
.greviews-all-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
    color: #170B25;
    text-decoration: none;
    border: 1.5px solid rgba(23,11,37,0.15);
    border-radius: 50px;
    padding: 12px 28px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(23,11,37,0.08);
    transition: all 0.25s;
}
.greviews-all-link svg { width: 18px; height: 18px; }
.greviews-all-link:hover {
    background: #f7f0ff;
    border-color: #7B2FBE;
    color: #7B2FBE;
    text-decoration: none;
    box-shadow: 0 6px 24px rgba(123,47,190,0.15);
}
.google-wordmark-img {
    height: 20px;
    width: auto;
    object-fit: contain;
    vertical-align: middle;
    display: inline-block;
}

/* ---- Google Review Modal ---- */
.grev-modal-dialog { max-width: 540px; }
.grev-modal-content {
    border: none;
    border-radius: 20px;
    padding: 36px 32px 32px;
    position: relative;
    box-shadow: 0 20px 60px rgba(23,11,37,0.18);
}
.grev-modal-close {
    position: absolute;
    top: 14px;
    right: 18px;
    background: none;
    border: none;
    font-size: 26px;
    line-height: 1;
    color: rgba(23,11,37,0.4);
    cursor: pointer;
    padding: 0;
}
.grev-modal-close:hover { color: #170B25; }
#grevModalText {
    font-size: 16px;
    line-height: 1.75;
    color: rgba(23,11,37,0.85);
    max-height: 60vh;
    overflow-y: auto;
}

/* ============================================================
   PRICE PAGE - SERVICE CARDS
   ============================================================ */
.price-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 60px;
}
@media (max-width: 991.8px) {
    .price-services-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.8px) {
    .price-services-grid { grid-template-columns: 1fr; }
}
.price-card {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(23,11,37,0.09);
    display: flex;
    flex-direction: column;
    background: #fff;
    transition: box-shadow 0.25s, transform 0.25s;
}
.price-card:hover {
    box-shadow: 0 10px 36px rgba(134,28,124,0.18);
    transform: translateY(-4px);
}
.price-card-img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    background: #f0eaf5 no-repeat center center / cover;
}
.price-card-body {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.price-card-title {
    font-family: 'Uni', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #170B25;
    line-height: 1.3;
    margin: 0;
}
.price-card-desc {
    font-size: 14px;
    color: rgba(23,11,37,0.65);
    line-height: 1.6;
    flex: 1;
    margin: 0;
}
.price-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 10px;
    border-top: 1px solid rgba(23,11,37,0.08);
}
.price-card-price {
    font-family: 'Uni', sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: #E20075;
    line-height: 1;
}
.price-card-price .price-note {
    font-size: 13px;
    font-weight: 500;
    color: rgba(23,11,37,0.45);
    font-family: 'Open Sans', sans-serif;
}
.price-card-time {
    font-size: 13px;
    color: rgba(23,11,37,0.5);
    display: flex;
    align-items: center;
    gap: 5px;
}
.price-card .btn {
    margin-top: auto;
    width: 100%;
}

/* Secondary services table (touch-ups, waxing) */
.price-secondary {
    background: #faf8fc;
    border-radius: 16px;
    padding: 32px;
    margin-bottom: 40px;
}
.price-secondary h2 {
    font-family: 'Uni', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #170B25;
    margin-bottom: 20px;
}
.price-secondary-table {
    width: 100%;
    border-collapse: collapse;
}
.price-secondary-table tr:not(:last-child) {
    border-bottom: 1px solid rgba(23,11,37,0.08);
}
.price-secondary-table td {
    padding: 12px 8px;
    font-size: 15px;
    color: #170B25;
}
.price-secondary-table td:last-child {
    text-align: right;
    font-weight: 700;
    color: #E20075;
    white-space: nowrap;
}
.price-secondary-table .group-row td {
    font-family: 'Uni', sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: rgba(23,11,37,0.45);
    padding-top: 20px;
}
.price-secondary-table .group-row:first-child td {
    padding-top: 0;
}
.price-note-block {
    margin-top: 20px;
    padding: 14px 20px;
    background: rgba(226,0,117,0.06);
    border-left: 3px solid #E20075;
    border-radius: 0 8px 8px 0;
    font-size: 14px;
    color: rgba(23,11,37,0.7);
    line-height: 1.6;
}

/* ============================================================
   SERVICE PAGE TEMPLATE
   ============================================================ */
.serv-page {}
.serv-page-hero {
    background: #170B25;
    color: #fff;
    padding: 60px 0 0;
    position: relative;
    overflow: hidden;
}
.serv-page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(226,0,117,0.15) 0%, rgba(133,28,124,0.1) 100%);
    pointer-events: none;
}
.serv-page-eyebrow {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #E20075;
    margin-bottom: 12px;
}
.serv-page-hero h1 {
    font-size: 42px;
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 20px;
}
@media (max-width: 767.8px) {
    .serv-page-hero h1 { font-size: 28px; }
}
.serv-page-price-badge {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    background: rgba(226,0,117,0.15);
    border: 1px solid rgba(226,0,117,0.4);
    border-radius: 40px;
    padding: 8px 20px;
    margin-bottom: 24px;
}
.serv-page-price-badge .price-from {
    font-size: 13px;
    color: rgba(255,255,255,0.6);
}
.serv-page-price-badge .price-val {
    font-size: 26px;
    font-weight: 800;
    color: #fff;
    font-family: 'Uni', sans-serif;
}
.serv-page-trust {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 32px;
    font-size: 14px;
    color: rgba(255,255,255,0.7);
}
.serv-page-trust i {
    color: #E20075;
    margin-right: 5px;
}
.serv-page-img {
    width: 100%;
    border-radius: 12px 12px 0 0;
    object-fit: cover;
    height: 400px;
    display: block;
}
@media (max-width: 767.8px) {
    .serv-page-img { height: 240px; }
}
/* price/duration badge inside homepage-style hero on service pages */
.serv-inline-badge {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 30px;
    padding: 8px 20px;
    margin-bottom: 20px;
    color: #fff;
    font-size: 15px;
}
.serv-inline-price strong {
    color: #E20075;
    font-size: 18px;
}
.serv-inline-dur {
    opacity: 0.8;
}

.serv-page-body {
    padding: 60px 0;
    background: #faf8fc;
}
.serv-page-body .price-secondary {
    background: #fff;
}
.serv-page-description {
    font-size: 16px;
    line-height: 1.8;
    color: rgba(23,11,37,0.8);
}
.serv-page-description h2 {
    font-size: 26px;
    font-weight: 700;
    color: #170B25;
    margin: 32px 0 16px;
}
.serv-page-description h2:first-child {
    margin-top: 0;
}
.serv-highlights {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin: 24px 0;
}
@media (max-width: 575.8px) {
    .serv-highlights { grid-template-columns: 1fr; }
}
.serv-highlight-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #faf8fc;
    border-radius: 10px;
    padding: 16px;
}
.serv-highlight-item i {
    color: #E20075;
    font-size: 18px;
    margin-top: 2px;
    flex-shrink: 0;
}
.serv-highlight-item strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #170B25;
    margin-bottom: 3px;
}
.serv-highlight-item span {
    font-size: 13px;
    color: rgba(23,11,37,0.6);
    line-height: 1.5;
}
.serv-faq-title {
    font-size: 26px;
    font-weight: 700;
    color: #170B25;
    margin-bottom: 24px;
}
.serv-page-faq {
    margin-top: 0;
}
.serv-highlights + .serv-page-faq {
    margin-top: 48px;
}
.serv-page-cta {
    background: linear-gradient(135deg, #170B25 0%, #2d1545 100%);
    border-radius: 16px;
    padding: 40px;
    text-align: center;
    color: #fff;
    margin-top: 48px;
}
.serv-page-cta h2 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #fff;
}
.serv-page-cta p {
    font-size: 16px;
    color: rgba(255,255,255,0.7);
    margin-bottom: 24px;
}

/* ---- Header Nav Dropdown ---- */
#menu .dropdown-menu {
    border: none;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(107,45,139,0.13);
    padding: 8px 0;
    min-width: 220px;
    margin-top: 0;
    padding-top: 8px;
}
#menu .dropdown-item {
    font-size: 14px;
    font-weight: 500;
    color: #1a0a2e;
    padding: 9px 20px;
    transition: background 0.15s, color 0.15s;
}
#menu .dropdown-item:hover {
    background: #F3E8FF;
    color: #7B2FBE;
}
#menu .nav-item.dropdown > .nav-link::after {
    display: inline-block;
    margin-left: 5px;
    vertical-align: middle;
    content: '';
    border-top: 5px solid currentColor;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

/* ---- Google Reviews Slider ---- */
.grev-wrapper {
    position: relative;
    padding: 0 52px;
}
@media (max-width: 576px) {
    .grev-wrapper { padding: 0 36px; }
}
.grev-swiper {
    overflow: hidden;
}
.grev-swiper .swiper-slide {
    height: auto;
    display: flex;
}
.greview-card {
    background: #fff;
    border-radius: 20px;
    padding: 28px 24px 22px;
    box-shadow: 0 4px 28px rgba(107,45,139,0.09);
    border: 1px solid rgba(107,45,139,0.07);
    display: flex;
    flex-direction: column;
    width: 100%;
    position: relative;
    transition: transform 0.25s, box-shadow 0.25s;
    overflow: hidden;
}
.greview-card::before {
    content: '\201C';
    font-size: 100px;
    line-height: 1;
    color: rgba(107,45,139,0.06);
    position: absolute;
    top: 4px;
    right: 18px;
    font-family: Georgia, serif;
    pointer-events: none;
}
.greview-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 36px rgba(107,45,139,0.14);
}
.greview-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}
.greview-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 20px;
    flex-shrink: 0;
    overflow: hidden;
}
.greview-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}
.greview-meta { flex: 1; min-width: 0; }
.greview-name {
    font-weight: 700;
    font-size: 15px;
    color: #1a0a2e;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.greview-date {
    font-size: 12px;
    color: rgba(23,11,37,0.45);
    margin-top: 2px;
}
.greview-g-icon {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1.5px solid #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 15px;
    color: #4285F4;
    flex-shrink: 0;
    background: #fff;
}
.greview-stars {
    color: #FBBC04;
    font-size: 17px;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
.greview-text {
    font-size: 14px;
    line-height: 1.7;
    color: rgba(23,11,37,0.72);
    flex: 1;
}
.greview-text.truncated {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.greview-text.truncated.expanded {
    display: block;
    -webkit-line-clamp: unset;
}
.grev-read-more {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 600;
    color: #7B2FBE;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: none;
}
.grev-read-more:hover { text-decoration: underline; }
.grev-prev, .grev-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid rgba(107,45,139,0.2);
    box-shadow: 0 4px 18px rgba(107,45,139,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, border-color 0.2s;
}
.grev-prev { left: -20px; }
.grev-next { right: -20px; }
.grev-prev .left_ar  { border-color: #7B2FBE; }
.grev-next .right_ar { border-color: #7B2FBE; }
.grev-prev:hover, .grev-next:hover { background: #7B2FBE; border-color: #7B2FBE; }
.grev-prev:hover .left_ar  { border-color: #fff; }
.grev-next:hover .right_ar { border-color: #fff; }
.grev-pagination {
    text-align: center;
    margin-top: 28px;
}
.grev-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: rgba(107,45,139,0.25);
    opacity: 1;
    margin: 0 4px;
}
.grev-pagination .swiper-pagination-bullet-active {
    background: #7B2FBE;
    width: 24px;
    border-radius: 4px;
}

/* ============================================================
   Reviews Page
   ============================================================ */
.rev-page-hero {
    background: #170B25;
    padding: 70px 0 60px;
    text-align: center;
    color: #fff;
}
.rev-page-hero-inner {
    max-width: 640px;
    margin: 0 auto;
}
.rev-page-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border-radius: 40px;
    padding: 8px 20px;
    font-size: 15px;
    color: #170B25;
    margin-bottom: 24px;
    text-decoration: none;
}
.rev-page-badge:hover { text-decoration: none; opacity: 0.92; }
.rev-badge-g { width: 26px; height: 26px; object-fit: contain; display: block; flex-shrink: 0; }
.rev-page-hero h1 {
    font-size: clamp(36px, 5vw, 60px);
    color: #fff;
    margin-bottom: 20px;
}
.rev-hero-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 20px;
}
.rev-hstat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 24px;
}
.rev-hstat strong {
    font-size: 28px;
    font-weight: 800;
    color: #fff;
    font-family: 'Uni', sans-serif;
    line-height: 1;
}
.rev-hstat span {
    font-size: 12px;
    color: rgba(255,255,255,0.55);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
}
.rev-hstat-sep {
    width: 1px;
    height: 36px;
    background: rgba(255,255,255,0.15);
    flex-shrink: 0;
}
.rev-page-hero p {
    font-size: 16px;
    color: rgba(255,255,255,0.7);
    line-height: 1.7;
    margin-bottom: 8px;
}
.rev-page-revs { padding-top: 20px; }

/* ============================================================
   About Me Page
   ============================================================ */

/* Hero */
.about-page-hero {
    background: #170B25;
    padding: 60px 0 0;
    overflow: hidden;
    color: #fff;
}
.about-page-eyebrow {
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    margin-bottom: 12px;
}
.about-page-hero h1 {
    font-size: clamp(40px, 6vw, 72px);
    color: #fff;
    margin-bottom: 0;
}
.about-page-lead {
    font-size: 18px;
    line-height: 1.7;
    color: rgba(255,255,255,0.8);
    margin: 20px 0 0;
    max-width: 540px;
}
.about-page-photo {
    max-height: 520px;
    object-fit: cover;
    object-position: top;
    display: block;
    margin: 0 auto;
    transform: scaleX(-1);
}

/* Stats row */
.about-page-stats {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: 32px;
    flex-wrap: wrap;
    gap: 8px 0;
}
.astat {
    text-align: center;
    padding: 0 24px;
}
.astat:first-child { padding-left: 0; }
.astat strong {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
}
.astat span {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.astat-divider {
    width: 1px;
    height: 40px;
    background: rgba(255,255,255,0.15);
}
.astat-link {
    text-decoration: none;
    color: inherit;
}
.astat-star { color: #FFD700; }

/* Story section */
.about-page-story {
    padding: 70px 0 50px;
    background: #fff;
}
.about-page-story h2 {
    margin-bottom: 0;
}
.about-story-block {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin: 36px 0;
    padding: 28px;
    border-radius: 16px;
    background: #faf7ff;
    border-left: 4px solid #7B2FBE;
}
.about-story-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7B2FBE, #B1254B);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
}
.about-story-block h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #170B25;
}
.about-story-block p {
    margin: 0;
    color: rgba(23,11,37,0.7);
    line-height: 1.7;
}
.about-page-quote {
    border: none;
    background: linear-gradient(135deg, #170B25 0%, #2d1545 100%);
    color: #fff;
    border-radius: 16px;
    padding: 32px 36px;
    font-size: 20px;
    font-style: italic;
    line-height: 1.6;
    margin: 36px 0;
    position: relative;
}
.about-page-quote::before {
    content: '\201C';
    font-size: 80px;
    color: rgba(255,255,255,0.15);
    position: absolute;
    top: -10px;
    left: 20px;
    font-family: Georgia, serif;
    line-height: 1;
}
.about-page-closing {
    margin-top: 36px;
    padding: 28px;
    border-radius: 16px;
    background: #faf7ff;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(23,11,37,0.75);
}
.about-closing-invite {
    font-style: italic;
    color: #170B25;
    font-size: 17px;
    margin-bottom: 0;
}

/* Specializations */
.about-page-services {
    padding: 60px 0;
    background: #f8f5ff;
}
.about-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 40px;
}
.about-service-card {
    background: #fff;
    border-radius: 16px;
    padding: 28px 24px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(107,45,139,0.07);
    transition: transform 0.2s, box-shadow 0.2s;
}
.about-service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(107,45,139,0.14);
}
.about-service-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7B2FBE, #B1254B);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    margin: 0 auto 16px;
}
.about-service-card h3 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #170B25;
}
.about-service-card p {
    font-size: 14px;
    color: rgba(23,11,37,0.6);
    line-height: 1.6;
    margin: 0;
}

/* Certifications */
.about-page-certs {
    padding: 60px 0;
    background: #fff;
}
.about-certs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    margin-top: 40px;
}
.about-cert-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    display: block;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.about-cert-item img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}
.about-cert-overlay {
    position: absolute;
    inset: 0;
    background: rgba(107,45,139,0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 24px;
    opacity: 0;
    transition: opacity 0.2s;
}
.about-cert-item:hover .about-cert-overlay { opacity: 1; }

/* Responsive */
@media (max-width: 991.8px) {
    .about-page-hero { padding-top: 40px; }
    .about-page-photo { max-height: 320px; margin-bottom: 0; }
    .about-page-lead { max-width: 100%; }
    .about-services-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.8px) {
    .about-services-grid { grid-template-columns: 1fr; }
    .about-page-stats { gap: 12px 0; }
    .astat { padding: 0 14px; }
    .astat strong { font-size: 22px; }
    .about-page-quote { font-size: 17px; padding: 24px 20px; }
    .about-story-block { flex-direction: column; gap: 12px; }
    .about-certs-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   Footer Redesign
   ============================================================ */
footer { padding: 48px 0 0; }
.ft-row { padding-bottom: 8px; }
.ft-col { padding-bottom: 32px; }

.ft-logo { max-height: 52px; width: auto; }
.ft-logo-link { display: inline-block; margin-bottom: 12px; }
.ft-tagline { font-size: 13px; color: rgba(255,255,255,.5); margin: 0 0 16px; line-height: 1.6; }

.ft-heading {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #E20075;
    margin-bottom: 14px;
}

.ft-nav { list-style: none; padding: 0; margin: 0; }
.ft-nav li { margin-bottom: 8px; }
.ft-nav a, .ft-nav span { font-size: 14px; color: rgba(255,255,255,.65); text-decoration: none; transition: color .2s; }
.ft-nav a:hover { color: #fff; }

.ft-addr { font-size: 14px; color: rgba(255,255,255,.65); line-height: 1.9; font-style: normal; margin: 0 0 8px; }
.ft-map-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #E20075; text-decoration: none; }
.ft-map-link:hover { color: #fff; }

.ft-phone { display: block; margin-bottom: 14px; }
.ft-msg-row { display: flex; flex-wrap: wrap; gap: 8px; }

.ft-soc-row { display: flex; gap: 8px; margin-top: 4px; }
.ft-soc-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.7);
    font-size: 14px;
    text-decoration: none;
    transition: background .2s, color .2s;
}
.ft-soc-btn:hover { background: #E20075; color: #fff; text-decoration: none; }

.ft-bottom {
    border-top: 1px solid rgba(255,255,255,.08);
    padding: 14px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: rgba(255,255,255,.35);
    flex-wrap: wrap;
    gap: 8px;
}
.ft-bottom a { color: rgba(255,255,255,.35); text-decoration: none; }
.ft-bottom a:hover { color: #E20075; }
.ft-bottom-right { display: flex; align-items: center; gap: 20px; }
.ft-bypromo { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.35); font-size: 12px; }
.ft-bypromo:hover { color: rgba(255,255,255,.6); }
.ft-promo-logo { height: 24px; width: auto; opacity: .6; transition: opacity .2s; }
.ft-bypromo:hover .ft-promo-logo { opacity: 1; }

@media (max-width: 575.8px) {
    .ft-col { padding-bottom: 20px; }
    .ft-bottom { flex-direction: column; align-items: flex-start; gap: 6px; }
}


/* ---- Header nav: компактное меню без растяжки ---- */
ul#menu.hdr-nav {
    gap: 4px;
    align-items: center;
    padding-left: 0;
    margin-bottom: 0;
}
#masthead .nav-link {
    padding-left: 18px;
    padding-right: 18px;
    white-space: nowrap;
}
/* вертикальное центрирование nav колонки */
@media (min-width: 992px) {
    #masthead .row {
        align-items: stretch !important;
    }
    #masthead .col-lg-3 {
        display: flex !important;
        align-items: center;
    }
    #masthead .col-lg-6.d-lg-block {
        display: flex !important;
        align-items: center;
    }
    #masthead .col-lg-6.d-lg-block > div {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 7px 0px 0px 0px;
    }
}
/* иконка телефона в шапке — такой же размер как иконки соцсетей */
.hdr-contact .phone_icon {
    width: 28px;
    height: 28px;
    font-size: 14px;
}

/* ---- Header right column layout ---- */
.hdr-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    width: 100%;
}
.hdr-contact {
    text-align: right;
}
.hdr-contact .head_phone {
    white-space: nowrap;
    font-size: 17px;
}
.hdr-icons {
    margin-top: 4px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    font-size: 18px;
}
/* не переопределяем цвета — у каждого своя инлайн-переменная или класс */
.hdr-icons a { transition: opacity .2s; }
.hdr-icons a:hover { opacity: .75; }
.hdr-write-me {
    font-size: 12px;
    font-weight: 600;
    color: #170b25;
    white-space: nowrap;
    margin-right: 2px;
}

/* ---- Header Book Now button ---- */
.hdr-book-btn {
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    padding: 10px 28px;
    font-size: 13px;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.3;
}

/* ---- About Me: Read My Bio button ---- */
.about .read-bio-btn {
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    padding: 12px 32px;
    font-size: 15px;
    margin-top: 20px;
}

