*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
    background-color: #000;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    font-optical-sizing: auto;
}
a{
    text-decoration: none;
}
button, input, textarea, select {
    font: inherit;
    outline: none;
}
::-webkit-input-placeholder{
  color: #9c9c9c;
}
::-moz-placeholder{
  color: #9c9c9c;
}
:-ms-input-placeholder{
  color: #9c9c9c;
}
:-moz-placeholder{
  color: #9c9c9c;
}
.gold{
    color: #f5ad00;
    text-shadow: 1px 1px 0 #000;
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
    .gold,.gold::before,.gold::after{
        text-shadow:none;
        background-image:url("../img/gold_bg.png");
        background-position:center;
        background-size:cover;
        background-repeat:no-repeat;
        -webkit-background-clip:text;
        background-clip:text;
        -webkit-text-fill-color:transparent;
    }
}
.mt5{
    margin-top: 5px;
}
.mt10{
    margin-top: 10px;
}
.mt15{
    margin-top: 15px;
}
.mt20{
    margin-top: 20px;
}
.mt25{
    margin-top: 25px;
}
.mt30{
    margin-top: 30px;
}
.mt35{
    margin-top: 35px;
}
.mt40{
    margin-top: 40px;
}
.mt45{
    margin-top: 45px;
}
.mt50{
    margin-top: 50px;
}
.mt55{
    margin-top: 55px;
}
.mt60{
    margin-top: 60px;
}
.mt65{
    margin-top: 65px;
}
.mt70{
    margin-top: 70px;
}
.mt75{
    margin-top: 75px;
}
.mt80{
    margin-top: 80px;
}
.mt85{
    margin-top: 85px;
}
.mt90{
    margin-top: 90px;
}
.mt95{
    margin-top: 95px;
}
.mt100{
    margin-top: 100px;
}
.w100{
    width: 100%;
}
.mobile{
    max-width: 430px;
    margin: 0 auto;
    background-color: #1b0202;
    background-image: url(../img/bg.png);
    background-size: auto;
    background-repeat: repeat-y;
    background-position: center;
    overflow-x: hidden;
}
.text_default{
    font-size: 16px;
    line-height: 24px;
    text-align: center;
}
.container{
    padding: 0 15px;
}
header{
    text-align: center;
}
.header_name{
    font-family: 'Great Vibes';
    font-size: 125px;
    line-height: 1.18;
    font-weight: normal;
    font-style: normal;
    margin-top: -40px;
    position: relative;
    z-index: 1;
}
.header_name::before{
    content: 'Гадалка с даром от Бога';
    position: absolute;
    right: 10px;
    top: 20px;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 400;
    font-style: normal;
    padding-bottom: 9px;
    border-bottom: 1px solid #f5ad00;
}
.line{
    width: 340px;
    margin: 0 auto;
}
.header_line{
    margin: -15px auto 0;
}
.header_title h1{
    font-size: 30px;
    font-weight: 800;
    text-transform: uppercase;
}
.header_divider{
    margin-top: -150px;
}
.phone{
    font-size: 34px;
    font-weight: 800;
}
.messenger{
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
    position: relative;
    padding-left: 20px;
}
.messenger a{
    padding: 0 20px;
    min-height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    will-change: transform;
    animation: messenger_btn 4s ease-in-out infinite;
    position: relative;
    z-index: 2;
}
.messenger a.callback, .modal_btn a.callback{
    background-color: #ffa600;
    background-image: linear-gradient(0deg, #b45a00 0%, #ffa600 100%);
    box-shadow: 0 8px 20px rgba(255, 166, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.messenger a.whatsapp, .modal_btn a.whatsapp{
    background-color: #00aa2a;
    background-image: linear-gradient(0deg, #004210 0%, #00aa2a 100%);
    box-shadow: 0 8px 20px rgba(0, 170, 42, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}
.messenger a.telegram, .modal_btn a.telegram{
    background-color: #0092ff;
    background-image: linear-gradient(0deg, #004274 0%, #0092ff 100%);
    box-shadow: 0 8px 20px rgba(0, 146, 255, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}
.messenger a.max, .modal_btn a.max{
    background-color: #667dff;
    background-image: linear-gradient(0deg, #8400d1 0%, #667dff 100%);
    box-shadow: 0 8px 20px rgba(132, 0, 209, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}
.messenger a::before, .modal_btn a::before{
    content: "";
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.messenger a.callback::before, .modal_btn a.callback::before{
    width: 14px;
    height: 14px;
    background-image: url("../img/phone.svg");
}
.messenger a.whatsapp::before, .modal_btn a.whatsapp::before{
    width: 16px;
    height: 16px;
    background-image: url("../img/whatsapp.svg");
}
.messenger a.telegram::before, .modal_btn a.telegram::before{
    width: 16px;
    height: 16px;
    background-image: url("../img/telegram.svg");
}
.messenger a.max::before, .modal_btn a.max::before{
    width: 16px;
    height: 16px;
    background-image: url("../img/max.svg");
}
.messenger a:nth-of-type(1){
    animation-delay: 0s;
}
.messenger a:nth-of-type(2){
    animation-delay: 1s;
}
.messenger a:nth-of-type(3){
    animation-delay: 2s;
}
.messenger a:nth-of-type(4){
    animation-delay: 3s;
}
@keyframes messenger_btn{
    0%{
        transform: scale(1);
    }
    12%{
        transform: scale(1.04);
    }
    24%{
        transform: scale(1);
    }
    100%{
        transform: scale(1);
    }
}
.contact_tile{
    position: relative;
    overflow: hidden;
    padding: 22px 16px 16px;
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%), rgba(18,12,10,0.24);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 16px 38px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.07);
    backdrop-filter: blur(8px);
}
.contact_tile::before{
    content:"";
    position:absolute;
    right:-90px;
    top:-90px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,166,0,0.16) 0%, rgba(255,166,0,0) 72%);
    pointer-events:none;
}
.contact_tile_head{
    position:relative;
    z-index:2;
}
.contact_tile_label{
    display:inline-flex;
    min-height:28px;
    align-items:center;
    padding:0 12px;
    border-radius:999px;
    background:rgba(255,166,0,0.10);
    border:1px solid rgba(255,166,0,0.22);
    color:#ffd18a;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.contact_tile_title{
    margin-top:15px;
    color:#fff;
    font-size:24px;
    text-transform: uppercase;
    line-height:1.15;
    font-weight:800;
}
.contact_tile_text{
    margin-top:15px;
    color:rgba(255,255,255,0.74);
    font-size:14px;
    line-height:1.45;
}
.contact_tile_grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:20px;
}
.contact_tile_item{
    --accent1:#999;
    --accent2:#666;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:138px;
    padding:16px 14px;
    border-radius:22px;
    text-decoration:none;
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg, rgba(255,255,255,0.055) 0%, rgba(255,255,255,0.02) 100%);
    border:1px solid rgba(255,255,255,0.08);
    box-shadow:0 10px 24px rgba(0,0,0,0.18);
    text-align: left;
}
.contact_tile_item::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, color-mix(in srgb, var(--accent1) 22%, transparent) 0%, color-mix(in srgb, var(--accent2) 12%, transparent) 100%);
    opacity:.9;
    pointer-events:none;
}
.contact_tile_icon{
    position:relative;
    z-index:2;
    width:52px;
    height:52px;
    border-radius:18px;
    background:linear-gradient(180deg, var(--accent1) 0%, var(--accent2) 100%);
    box-shadow:0 10px 20px color-mix(in srgb, var(--accent1) 28%, transparent), inset 0 1px 0 rgba(255,255,255,0.24);
}
.contact_tile_icon::before{
    content:"";
    position:absolute;
    inset:0;
    margin:auto;
    width:20px;
    height:20px;
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
}
.contact_tile_name{
    position:relative;
    z-index:2;
    margin-top:14px;
    color:#fff;
    font-size:14px;
    line-height:1.25;
    font-weight:800;
    text-transform: uppercase;
}
.contact_tile_desc{
    position:relative;
    z-index:2;
    margin-top:6px;
    color:rgba(255,255,255,0.74);
    font-size:12px;
    line-height:1.4;
}
.contact_tile_item.callback{--accent1:#ffa600;--accent2:#b45a00;}
.contact_tile_item.whatsapp{--accent1:#00aa2a;--accent2:#004210;}
.contact_tile_item.telegram{--accent1:#0092ff;--accent2:#004274;}
.contact_tile_item.max{--accent1:#667dff;--accent2:#8400d1;}
.contact_tile_item.callback .contact_tile_icon::before{background-image:url("../img/phone.svg");}
.contact_tile_item.whatsapp .contact_tile_icon::before{background-image:url("../img/whatsapp.svg");}
.contact_tile_item.telegram .contact_tile_icon::before{background-image:url("../img/telegram.svg");}
.contact_tile_item.max .contact_tile_icon::before{background-image:url("../img/max.svg");}
.msg_quote{
    position:relative;
    overflow:hidden;
    padding:2px;
    border-radius:25px;
    background:linear-gradient(135deg, rgba(255,166,0,0.45) 0%, rgba(255,166,0,0.10) 35%, rgba(255,255,255,0.04) 100%);
    box-shadow:0 18px 42px rgba(0,0,0,0.30);
    text-align: center;
}
.msg_quote_inner{
    position:relative;
    z-index:2;
    overflow:hidden;
    padding:20px 16px 16px;
    border-radius:25px;
    background:linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%), linear-gradient(135deg, rgba(255,166,0,0.08) 0%, rgba(255,255,255,0.02) 100%), rgba(12,8,8,0.46);
    backdrop-filter:blur(8px);
}
.msg_quote_glow{
    position:absolute;
    right:-60px;
    top:-60px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,166,0,0.22) 0%, rgba(255,166,0,0.07) 42%, rgba(255,166,0,0) 72%);
    pointer-events:none;
}
.msg_quote_mark{
    color:rgba(255,166,0,0.70);
    font-size:56px;
    line-height:.8;
    font-weight:800;
}
.msg_quote_text{
    color:#fff;
    font-size:18px;
    font-weight:700;
    max-width:420px;
}
.msg_quote_bottom{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,0.08);
}
.msg_quote_avatar{
    width:54px;
    height:54px;
    flex:0 0 54px;
    padding:2px;
    border-radius:50%;
    background:linear-gradient(180deg, #ffa600 0%, #8d4200 100%);
    box-shadow:0 8px 18px rgba(255,166,0,0.16), inset 0 1px 0 rgba(255,255,255,0.22);
}
.msg_quote_avatar img{
    display:block;
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
}
.msg_quote_info{
    flex:1;
    min-width:0;
    text-align: left;
}
.msg_quote_name{
    color:#fff;
    font-size:13px;
    line-height:1.2;
    font-weight:800;
    text-transform: uppercase;
}
.msg_quote_desc{
    margin-top:4px;
    color:rgba(255,255,255,0.64);
    font-size:10px;
    line-height:1.35;
}
.msg_quote_status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    color:#cfffdb;
    font-size:11px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    background:rgba(24,212,95,0.10);
    border:1px solid rgba(24,212,95,0.18);
    white-space:nowrap;
}
.msg_quote_status span{
    position:relative;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#18d45f;
    box-shadow:0 0 0 3px rgba(24,212,95,0.16);
}
.msg_quote_status span::before{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:50%;
    background:rgba(24,212,95,0.28);
    animation:msgQuotePulse 1.8s ease-out infinite;
}
@keyframes msgQuotePulse{
    0%{
        transform:scale(.7);
        opacity:.7;
    }
    75%{
        transform:scale(1.8);
        opacity:0;
    }
    100%{
        transform:scale(1.8);
        opacity:0;
    }
}
.service_path{
    position:relative;
    overflow:hidden;
    padding:22px 25px 26px 24px;
    border-radius:28px;
    background:linear-gradient(180deg, rgba(255,255,255,0.055) 0%, rgba(255,255,255,0.02) 100%), linear-gradient(135deg, rgba(255,166,0,0.09) 0%, rgba(75,20,8,0.14) 100%), rgba(16,8,7,0.96);
    border:1px solid rgba(255,166,0,0.16);
    box-shadow:0 18px 42px rgba(0,0,0,0.30), inset 0 1px 0 rgba(255,255,255,0.07);
}
.service_path::before{
    content:"";
    position:absolute;
    right:-90px;
    bottom:-90px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,166,0,0.18) 0%, rgba(255,166,0,0.06) 45%, rgba(255,166,0,0) 72%);
    pointer-events:none;
}
.service_path_line{
    position:absolute;
    left:24px;
    top:39px;
    bottom:24px;
    width:1px;
    background:linear-gradient(180deg, rgba(255,166,0,0.80) 0%, rgba(255,166,0,0.24) 48%, rgba(255,166,0,0) 100%);
    box-shadow:0 0 16px rgba(255,166,0,0.24);
}
.service_path_head{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:12px;
    padding-left:26px;
}
.service_path_dot{
    position:absolute;
    left:-5px;
    top: 7px;
    width:10px;
    height:10px;
    border-radius:50%;
    background:linear-gradient(180deg, #ffa600 0%, #b45a00 100%);
    box-shadow:0 0 0 6px rgba(255,166,0,0.12), 0 0 18px rgba(255,166,0,0.38);
}
.service_path_body{
    position:relative;
    z-index:2;
    padding-left:28px;
}
.service_path_descr{
    color:rgba(255,255,255,0.82);
    font-size:14px;
    line-height:1.55;
}
.service_path_list{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:15px;
}
.service_path_list li{
    position:relative;
    padding-left:20px;
    color:rgba(255,255,255,0.86);
    font-size:12px;
    line-height:1.45;
}
.service_path_list li::before{
    content:"";
    position:absolute;
    left:0;
    top:5px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:linear-gradient(180deg, #ffa600 0%, #b45a00 100%);
    box-shadow:0 0 12px rgba(255,166,0,0.34);
}




.callback_card{
    position:relative;
    overflow:hidden;
    padding:20px 16px 16px;
    border-radius:28px;
    background:linear-gradient(180deg, rgba(255,255,255,0.065) 0%, rgba(255,255,255,0.025) 100%), linear-gradient(135deg, rgba(255,166,0,0.12) 0%, rgba(70,20,8,0.16) 100%), rgba(18,9,7,0.95);
    border:1px solid rgba(255,166,0,0.18);
    box-shadow:0 18px 42px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,255,255,0.08);
    backdrop-filter:blur(8px);
}
.callback_card_light{
    position:absolute;
    right:-80px;
    top:-80px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,166,0,0.24) 0%, rgba(255,166,0,0.08) 45%, rgba(255,166,0,0) 72%);
    pointer-events:none;
}
.callback_card::after{
    content:"";
    position:absolute;
    left:-80px;
    bottom:-90px;
    width:190px;
    height:190px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0) 70%);
    pointer-events:none;
}
.callback_card_head{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.callback_card_status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    color:#fff;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,166,0,0.16);
    font-size:11px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.callback_card_dot{
    position:relative;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#18d45f;
    box-shadow:0 0 0 3px rgba(24,212,95,0.16);
}
.callback_card_dot::before{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:50%;
    background:rgba(24,212,95,0.28);
    animation:callbackCardPulse 1.8s ease-out infinite;
}
.callback_card_time{
    min-height:30px;
    display:inline-flex;
    align-items:center;
    padding:0 12px;
    border-radius:999px;
    color:#ffd18a;
    background:rgba(255,166,0,0.12);
    border:1px solid rgba(255,166,0,0.18);
    font-size:11px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.callback_card_content{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:25px;
}
.callback_card_icon{
    position:relative;
    width:82px;
    height:82px;
    flex:0 0 82px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.callback_card_icon img{
    display:block;
    width:86px;
    max-width:none;
    filter:drop-shadow(0 12px 18px rgba(0,0,0,0.26));
    transform-origin:center;
    animation:callbackPhoneFloat 3.6s ease-in-out infinite;
}
.callback_card_text{
    min-width:0;
}
.callback_card_label{
    color:#ffd18a;
    font-size:11px;
    line-height:1.2;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.callback_card_title{
    margin-top:7px;
    font-size:28px;
    font-weight:800;
    text-transform:uppercase;
}
.callback_card_descr{
    margin-top:4px;
    color:rgba(255,255,255,0.82);
    font-size:13px;
    line-height:1.5;
}
.callback_card_form{
    position:relative;
    z-index:2;
    margin-top:20px;
}
.offer form{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 20px;
}
input, button, textarea{
    border-radius: 999px;
}
.callback_card_form input{
    width:100%;
    min-width:0;
    height:50px;
    padding:0 16px;
    border-radius:999px;
    border: 1px solid rgba(245, 173, 0, 0.5);
    outline:none;
    color:#fff;
    background:rgba(255,255,255,0.055);
    font-size: 16px;
    font-weight: 400;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
    transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
    text-align: center;
}
.callback_card_form input::placeholder{
    color:rgba(255,255,255,0.54);
}
.callback_card_form input:focus{
    border-color:rgba(255,166,0,0.55);
    background:rgba(255,255,255,0.075);
    box-shadow:0 0 0 3px rgba(255,166,0,0.10), inset 0 1px 0 rgba(255,255,255,0.05);
}
.callback_card_form button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 26px;
    border: none;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    background: linear-gradient(0deg, rgba(180, 90, 0, 1) 0%, rgba(255, 166, 0, 1) 100%);
    box-shadow: 0 10px 24px rgba(255, 166, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.24);
    cursor: pointer;
    width: 100%;
}
.callback_card_form button::after{
    content: "";
    width: 16px;
    height: 16px;
    background: url("../img/arrow_right.svg") center / contain no-repeat;
    animation: arrow_right_anim 2s ease-in-out infinite;
}
/* 
.offer form input{
    text-align: center;
    width: 100%;
    max-width: 240px;
    border: 1px solid rgba(245, 173, 0, 0.5);
    background: rgba(0, 0, 0, 0.28);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02), 0 8px 18px rgba(0, 0, 0, 0.18);
    padding: 14px 18px;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
} */
/* .offer form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 26px;
    border: none;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    background: linear-gradient(0deg, rgba(180, 90, 0, 1) 0%, rgba(255, 166, 0, 1) 100%);
    box-shadow: 0 10px 24px rgba(255, 166, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.24);
    cursor: pointer;
}
.offer form button::after{
    content: "";
    width: 16px;
    height: 16px;
    background: url("../img/arrow_right.svg") center / contain no-repeat;
    animation: arrow_right_anim 2s ease-in-out infinite;
} */
.callback_card_features{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:14px;
}
.callback_card_features div{
    position:relative;
    min-height:32px;
    display:flex;
    align-items:center;
    padding:7px 10px 7px 28px;
    border-radius:999px;
    color:rgba(255,255,255,0.82);
    background:rgba(255,255,255,0.055);
    border:1px solid rgba(255,255,255,0.08);
    font-size:10px;
    line-height:1.2;
    font-weight:700;
}
.callback_card_features div::before{
    content:"";
    position:absolute;
    left:11px;
    top:50%;
    width:7px;
    height:7px;
    border-radius:50%;
    background:linear-gradient(180deg, #ffa600 0%, #b45a00 100%);
    box-shadow:0 0 12px rgba(255,166,0,0.36);
    transform:translateY(-50%);
}
@keyframes callbackCardPulse{
    0%{
        transform:scale(.7);
        opacity:.7;
    }
    75%{
        transform:scale(1.8);
        opacity:0;
    }
    100%{
        transform:scale(1.8);
        opacity:0;
    }
}
@keyframes callbackPhoneFloat{
    0%,100%{
        transform:translateX(0);
    }
    50%{
        transform:translateX(6px);
    }
}
.delay-link.is-locked {
    pointer-events: none;
    cursor: default;
}
.message_container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
}
.message{
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 15px;
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f8f5ef 100%);
    border: 1px solid rgba(255, 166, 0, 0.18);
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.16), 0 2px 10px rgba(255, 166, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.85);
    text-align: left;
}
.message_glow{
    position: absolute;
    top: -50px;
    right: -20px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 190, 70, 0.18) 0%, rgba(255, 166, 0, 0.08) 45%, rgba(255, 166, 0, 0) 75%);
    pointer-events: none;
    z-index: 0;
}
.message_img, .message_container{
    position: relative;
    z-index: 1;
}
.message_img{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    flex: 0 0 80px;
    padding: 3px;
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(255, 166, 0, 0.9) 0%, rgba(226, 160, 40, 0.35) 100%);
    box-shadow: 0 8px 18px rgba(255, 166, 0, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
.message_img img{
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}
.badge{
    width: max-content;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #7c5101;
    background: rgba(255, 190, 70, 0.1);
    border: 1px solid rgba(255, 166, 0, 0.16);
}
.message_title{
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #1b0202;
}
.online{
    position: relative;
    width: 8px;
    height: 8px;
    min-width: 8px;
    border-radius: 50%;
    background: #14c85a;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
}
.online::before,
.online::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(26, 176, 81, 0.55);
    transform: translate(-50%, -50%) scale(1);
    animation: online 2s infinite ease-out;
}
.online::after{
    animation-delay: 1s;
}
@keyframes online{
    0%{
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.8;
    }
    70%{
        transform: translate(-50%, -50%) scale(2.8);
        opacity: 0;
    }
    100%{
        transform: translate(-50%, -50%) scale(2.8);
        opacity: 0;
    }
}
.message_text{
    font-size: 10px;
    color: #1b0202;
}
section.ornament{
    position: relative;
    padding: 20px 0;
}
section.ornament::before,
section.ornament::after{
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 40px;
    background-image: url("../img/border.svg");
    background-repeat: repeat-x;
    background-size: auto 100%;
    pointer-events: none;
}
section.ornament::before{
    top: -40px;
}
section.ornament::after{
    bottom: -40px;
}
.section_title{
    text-align: center;
}
.section_title h2{
    font-size: 30px;
    font-weight: 800;
    text-transform: uppercase;
}
.section_line{
    width: 340px;
    margin: 20px auto 0 auto;
}
section.divider{
    text-align: center;
}
.divider_item_title h3{
    font-size: 28px;
    font-weight: 800;
    text-transform: uppercase;
}
.divider_item_img img{
    width: 320px;
}
section.service{
    padding-top: 60px;
}
.service_item{
    position: relative;
}
.service_item_header{
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 20px;
    min-height: 260px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    text-align: left;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28), inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}
.service_item_overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(16, 7, 3, 0.28) 0%, rgba(16, 7, 3, 0.62) 55%, rgba(10, 4, 2, 0.82) 100%);
    z-index: 1;
}
.service_item_img_1{
    background-image: url("../img/service_item_img_1.png");
}
.service_item_img_2{
    background-image: url("../img/service_item_img_2.png");
}
.service_item_img_3{
    background-image: url("../img/service_item_img_3.png");
}
.service_item_img_4{
    background-image: url("../img/service_item_img_4.png");
}
.service_item_img_5{
    background-image: url("../img/service_item_img_5.png");
}
.service_item_img_6{
    background-image: url("../img/service_item_img_6.png");
}
.service_item_img_7{
    background-image: url("../img/service_item_img_7.png");
}
.service_item_img_8{
    background-image: url("../img/service_item_img_8.png");
}
.service_item_img_9{
    background-image: url("../img/service_item_img_9.png");
}
.service_item_title h3{
    font-size: 26px;
    font-weight: 800;
    text-transform: uppercase;
}
.service_item_title{
    position: relative;
    z-index: 2;
}
.offer{
    position: relative;
    padding: 150px 0;
}
.offer::before{
    content: '';
    width: 100%;
    height: 286px;
    position: absolute;
    background-image: url("../img/offer_top.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    top: -130px;
    left: 0;
}
.offer::after{
    content: '';
    width: 100%;
    height: 328px;
    position: absolute;
    background-image: url("../img/offer_bottom.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    bottom: -168px;
    left: 0;
}
.review_story{
    position:relative;
    overflow:hidden;
    padding:24px 18px;
    border-radius:28px;
    background:linear-gradient(180deg,rgba(255,255,255,0.06) 0%,rgba(255,255,255,0.02) 100%),linear-gradient(135deg,rgba(255,166,0,0.10) 0%,rgba(90,20,8,0.12) 100%),rgba(18,9,7,0.94);
    border:1px solid rgba(255,166,0,0.18);
    box-shadow:0 18px 42px rgba(0,0,0,0.30),inset 0 1px 0 rgba(255,255,255,0.07);
}
.review_story::before{
    content:"";
    position:absolute;
    right:-80px;
    top:-80px;
    width:210px;
    height:210px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,166,0,0.22) 0%,rgba(255,166,0,0.06) 45%,rgba(255,166,0,0) 72%);
    pointer-events:none;
}
.review_story_mark{
    position:absolute;
    right:20px;
    top:12px;
    color:rgba(255,166,0,0.20);
    font-size:96px;
    line-height:1;
    font-weight:800;
}
.review_story_content{
    position:relative;
    z-index:2;
}
.review_story_label{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    color:#ffd18a;
    background:rgba(255,166,0,0.12);
    border:1px solid rgba(255,166,0,0.20);
    font-size:10px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.review_story_title{
    margin-top:14px;
    color:#fff;
    font-size:23px;
    line-height:1.15;
    font-weight:800;
    text-transform:uppercase;
}
.review_story_text{
    margin-top:10px;
    color:rgba(255,255,255,0.82);
    font-size:13px;
    line-height:1.6;
}
.review_story_btn{
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    margin-top:18px;
    padding:0 24px;
    border-radius:999px;
    color:#fff;
    text-decoration:none;
    background:linear-gradient(180deg,#ffa600 0%,#b45a00 100%);
    box-shadow:0 12px 24px rgba(255,166,0,0.24),inset 0 1px 0 rgba(255,255,255,0.26);
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.review_story_btn::after{
    content:"";
    width:15px;
    height:15px;
    margin-left:8px;
    background:url("../img/arrow_right.svg") center/contain no-repeat;
    animation:reviewStoryArrow 2s ease-in-out infinite;
}
@keyframes reviewStoryArrow{
    0%{transform:translateX(0);}
    50%{transform:translateX(6px);}
    100%{transform:translateX(0);}
}
section.review{
    padding-top: 130px;
}
.review_swiper{
    padding: 0 15px;
}
.review_swiper .swiper-wrapper{
    align-items: stretch;
}
.review_swiper .swiper-slide{
    display: flex;
    align-items: stretch;
    height: auto;
}
.review_first{
    padding: 20px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.025) 100%);
    border: 1px solid rgba(255, 166, 0, 0.18);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.26), inset 0 0 24px rgba(255, 166, 0, 0.04);
    backdrop-filter: blur(6px);
}
.review_first_title h3{
    font-size: 20px;
    text-transform: uppercase;
    font-weight: 800;
}
.review_first_title h3 img{
    width: 20px;
    height: auto;
    margin-left: 4px;
    display: inline-block;
    vertical-align: -3px;
    animation: review_arrow 2.8s ease-in-out infinite;
    will-change: transform;
}
@keyframes review_arrow{
    0%{
        transform: translateX(0);
    }
    50%{
        transform: translateX(6px);
    }
    100%{
        transform: translateX(0);
    }
}
.review_first_descr{
    font-size: 12px;
    line-height: 20px;
    color: rgba(255, 255, 255, 0.85);
}
.review_first_icons{
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.review_first_item{
    padding: 15px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 166, 0, 0.14);
    display: flex;
    gap: 10px;
}
.review_first_item_icon{
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.16);
}
.review_first_item_icon img{
    width: 42px;
    max-height: 36px;
    object-fit: contain;
}
.review_first_item_wrapper{
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.review_first_item_title{
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}
.review_first_item_rating{
    display: flex;
    gap: 4px;
    margin-top: -1px;
}
.review_first_item_rating span{
    width: 10px;
    height: 10px;
    background-image: url(../img/star.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.review_first_item_count{
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
}
.review_item{
    display: flex;
    flex-direction: column;
    padding: 20px;
    border-radius: 20px;
    gap: 15px;
    background: #fff;
    color: #1b0202;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
.review_item_user{
    display: flex;
    gap: 15px;
    align-items: center;
}
.review_item_user_avatar{
    display: flex;
    align-items: center;
}
.review_item_user_avatar img{
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: cover;
}
.review_item_user_wrapper{
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.review_item_user_name{
    font-size: 13px;
    font-weight: 700;
}
.review_item_user_city{
    font-size: 11px;
    color: rgba(27, 2, 2, 0.68);
}
.review_item_descr{
    font-size: 12px;
    line-height: 18px;
    color: rgba(27, 2, 2, 0.9);
    flex: 1;
}
.review_item_rating{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
}
.review_item_rating_title{
    font-size: 12px;
    font-weight: 600;
}
.review_item_rating_stars{
    display: flex;
    gap: 4px;
    margin-top: -2px;
}
.review_item_rating_stars span{
    width: 13px;
    height: 13px;
    background-image: url("../img/star.svg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.review_last{
    padding: 20px;
    border-radius: 20px;
    display: flex;
    gap: 10px;
    flex-direction: column;
    justify-content: center;
    background: radial-gradient(circle at top center, rgba(255, 166, 0, 0.18) 0%, rgba(255, 166, 0, 0.03) 35%, rgba(255, 255, 255, 0.03) 100%);
    border: 1px solid rgba(255, 166, 0, 0.22);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25), inset 0 0 24px rgba(255, 166, 0, 0.04);
}
.review_last_title h3{
    font-size: 22px;
    text-transform: uppercase;
    font-weight: 800;
}
.review_last_descr{
    font-size: 12px;
    line-height: 18px;
    color: rgba(255, 255, 255, 0.85);
}
section.about{
    padding-top: 60px;
}
.about_help{
    position: relative;
    padding: 24px 18px;
    border-radius: 24px;
    overflow: hidden;
    text-align: center;
    background: radial-gradient(circle at top center, rgba(255, 166, 0, 0.18) 0%, rgba(255, 166, 0, 0.03) 35%, rgba(255, 255, 255, 0.03) 100%);
    border: 1px solid rgba(255, 166, 0, 0.22);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25), inset 0 0 24px rgba(255, 166, 0, 0.04);
}
.about_bottom{
    padding: 24px 18px;
    border-radius: 20px;
    text-align: center;
    background: radial-gradient(circle at top center, rgba(255, 166, 0, 0.18) 0%, rgba(255, 166, 0, 0.03) 35%, rgba(255, 255, 255, 0.03) 100%);
    border: 1px solid rgba(255, 166, 0, 0.22);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25), inset 0 0 24px rgba(255, 166, 0, 0.04);
}
.about_help_title{
    font-size: 26px;
    font-weight: 800;
    text-transform: uppercase;
}
.about_help_descr{
    font-size: 13px;
    line-height: 20px;
    color: rgba(255, 255, 255, 0.85);
}
.about_swiper{
    padding: 0 15px;
}
.about_swiper .swiper-wrapper{
    align-items: stretch;
}
.about_swiper .swiper-slide{
    display: flex;
    align-items: stretch;
    height: auto;
}
.about_first{
    padding: 24px 20px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.025) 100%);
    border: 1px solid rgba(255, 166, 0, 0.18);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28), inset 0 0 24px rgba(255, 166, 0, 0.04);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.about_first_title h3{
    font-size: 20px;
    text-transform: uppercase;
    font-weight: 800;
}
.about_first_title h3 img{
    width: 20px;
    height: auto;
    margin-left: 6px;
    display: inline-block;
    vertical-align: -3px;
    animation: arrow_right_anim 2.6s ease-in-out infinite;
    will-change: transform;
}
.about_first_descr{
    font-size: 12px;
    line-height: 18px;
    color: rgba(255, 255, 255, 0.85);
}
.about_first_message{
    background: #fff;
    color: #1b0202;
    padding: 16px 20px;
    border-radius: 20px;
    font-size: 12px;
    line-height: 18px;
    position: relative;
}
.about_first_message::before{
    content: "";
    position: absolute;
    bottom: -8px;
    left: 28px;
    width: 16px;
    height: 16px;
    background: #fff;
    transform: rotate(45deg);
}
.about_first_user{
    display: flex;
    align-items: center;
    gap: 12px;
    padding-left: 12px;
}
.about_first_user_img{
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 50%;
    padding: 2px;
    background: linear-gradient(180deg,rgba(255, 166, 0, 0.8) 0%,rgba(255, 166, 0, 0.25) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}
.about_first_user_img img{
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}
.about_first_user_wrapper{
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.about_first_user_descr{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.85);
}
.about_first_user_title{
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}
.about_item{
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 166, 0, 0.16);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}
.about_item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}
section.contacts{
    padding-top: 60px;
}
a.default_btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 30px;
    border-radius: 999px;
    text-decoration: none;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    background: linear-gradient(0deg, rgba(180, 90, 0, 1) 0%, rgba(255, 166, 0, 1) 100%);
    box-shadow: 0 10px 24px rgba(255, 166, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}
a.default_btn::after{
    content: "";
    width: 16px;
    height: 16px;
    background: url("../img/arrow_right.svg") center / contain no-repeat;
    animation: arrow_right_anim 2s ease-in-out infinite;
}
@keyframes arrow_right_anim{
    0%{
        transform: translateX(0);
    }
    50%{
        transform: translateX(6px);
    }
    100%{
        transform: translateX(0);
    }
}
footer{
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
}
footer a{
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
}
.modal_header{
    display: flex;
    align-items: center;
    gap: 40px;
    justify-content: space-between;
}
.modal_header_title h3{
    font-size: 24px;
    font-weight: 800;
    text-transform: uppercase;
}
.modal_header_close{
    display: flex;
    align-items: center;
}
.modal_header_close button{
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    outline: none;
    background-color: transparent;
    background-image: url('../img/close.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}
.modal_main{
    font-size: 14px;
    line-height: 20px;
}
.modal_btn{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
}
.modal_btn a{
    padding: 0 20px;
    min-height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}
.modal_btn button.close{
    padding: 0 20px;
    min-height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    border: 0;
    outline: none;
    cursor: pointer;
    background-color: #c74848;
    background-image: linear-gradient(0deg, #6e1414 0%, #c74848 100%);
    box-shadow: 0 8px 20px rgba(199, 72, 72, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.20);
}
.modal_form input, .modal_form textarea{
    text-align: left;
    width: 100%;
    max-width: 320px;
    border: 1px solid rgba(245, 173, 0, 0.5);
    background: rgba(0, 0, 0, 0.28);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02), 0 8px 18px rgba(0, 0, 0, 0.18);
    padding: 14px 18px;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}
.modal_form textarea{
    resize: none;
    min-height: 80px;
    border-radius: 30px;
}
.modal_form button.send {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 20px;
    border: none;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    background: linear-gradient(0deg, rgba(180, 90, 0, 1) 0%, rgba(255, 166, 0, 1) 100%);
    box-shadow: 0 10px 24px rgba(255, 166, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.24);
    cursor: pointer;
}
#modal_contact .messenger{
    padding-left: 0;
}
.review_message{
    margin-top: 15px;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.4;
    display: none;
    text-align: left;
}
.review_message.error{
    display: block;
    color: #ff6666;
}
.review_message.success{
    display: block;
    color: #98ff6f;
}
section.info{
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.info_btn{ 
    display: flex;
    justify-content: center;
}
.ritual_steps{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:18px;
}
.ritual_steps::before{
    content:"";
    position:absolute;
    left:28px;
    top:18px;
    bottom:18px;
    width:2px;
    background:linear-gradient(180deg, rgba(255,166,0,0.9) 0%, rgba(255,166,0,0.28) 58%, rgba(255,166,0,0.05) 100%);
    box-shadow:0 0 18px rgba(255,166,0,0.18);
    border-radius:999px;
}
.ritual_steps_item{
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:14px;
}
.ritual_steps_marker{
    position:relative;
    z-index:2;
    width:58px;
    height:58px;
    flex:0 0 58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(180deg, rgba(255,166,0,0.18) 0%, rgba(180,90,0,0.06) 100%), rgba(18,9,7,0.96);
    border:1px solid rgba(255,166,0,0.20);
    box-shadow:0 10px 24px rgba(0,0,0,0.26), 0 0 18px rgba(255,166,0,0.10), inset 0 1px 0 rgba(255,255,255,0.08);
}
.ritual_steps_marker span{
    font-size:20px;
    line-height:1;
    font-weight:800;
}
.ritual_steps_content{
    position:relative;
    z-index:2;
    flex:1;
    min-width:0;
    padding:16px 14px;
    border-radius:22px;
    background:linear-gradient(180deg, rgba(255,255,255,0.055) 0%, rgba(255,255,255,0.02) 100%), linear-gradient(135deg, rgba(255,166,0,0.10) 0%, rgba(70,20,8,0.14) 100%), rgba(16,8,7,0.96);
    border:1px solid rgba(255,166,0,0.16);
    box-shadow:0 12px 28px rgba(0,0,0,0.26), inset 0 1px 0 rgba(255,255,255,0.06);
}
.ritual_steps_badge{
    width:max-content;
    padding:7px 10px;
    border-radius:999px;
    color:#ffd18a;
    background:rgba(255,166,0,0.12);
    border:1px solid rgba(255,166,0,0.20);
    font-size:10px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.07em;
}
.ritual_steps_title{
    margin-top:10px;
    font-size:22px;
    line-height:1.15;
    font-weight:800;
    text-transform:uppercase;
}
.ritual_steps_descr{
    margin-top:8px;
    color:rgba(255,255,255,0.84);
    font-size:12px;
    line-height:1.55;
}
.glass_profile{
    position: relative;
}
.glass_profile_media{
    position: relative;
    overflow: hidden;
    height: 320px;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255, 166, 0, 0.12) 0%, rgba(0, 0, 0, 0) 100%), rgba(16, 8, 7, 0.96);
    border: 1px solid rgba(255, 166, 0, 0.18);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.30);
}
.glass_profile_media::before{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(16, 8, 7, 0.10) 0%, rgba(16, 8, 7, 0.24) 44%, rgba(16, 8, 7, 0.78) 100%);
    z-index: 1;
}
.glass_profile_media img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.glass_profile_card{
    position: relative;
    z-index: 2;
    margin: -54px 0 0;
    padding: 18px 14px 14px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%), rgba(18, 9, 7, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
}
.glass_profile_top{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}
.glass_profile_status{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 28px;
    padding: 0 11px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 166, 0, 0.16);
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}
.glass_profile_status span{
    position: relative;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #18d45f;
    box-shadow: 0 0 0 3px rgba(24, 212, 95, 0.14);
}
.glass_profile_status span::before{
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    background: rgba(24, 212, 95, 0.28);
    animation: glassProfilePulse 1.8s ease-out infinite;
}
.glass_profile_badge{
    width: max-content;
    padding: 7px 11px;
    border-radius: 999px;
    color: #ffd18a;
    background: rgba(255, 166, 0, 0.12);
    border: 1px solid rgba(255, 166, 0, 0.18);
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.glass_profile_name{
    margin-top: 20px;
    font-size: 24px;
    line-height: 1.12;
    font-weight: 900;
    text-transform: uppercase;
}
.glass_profile_text{
    margin-top: 15px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
    line-height: 1.6;
}
.glass_profile_gallery{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 15px;
}
.glass_profile_gallery img{
    display: block;
    width: 100%;
    height: 90px;
    object-fit: cover;
    border-radius: 16px;
    border: 1px solid rgba(255, 166, 0, 0.16);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.20);
}
@keyframes glassProfilePulse{
    0%{
        transform: scale(0.7);
        opacity: 0.7;
    }
    75%{
        transform: scale(1.8);
        opacity: 0;
    }
    100%{
        transform: scale(1.8);
        opacity: 0;
    }
}
.fixed_bottom_note{
    position:fixed;
    left:15px;
    right:15px;
    bottom:15px;
    z-index:100;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 8px 8px 10px;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(255,255,255,0.035) 0%,rgba(255,255,255,0.015) 100%),rgba(18,9,7,0.56);
    border:1px solid rgba(255,166,0,0.20);
    box-shadow:0 16px 34px rgba(0,0,0,0.32),inset 0 1px 0 rgba(255,255,255,0.08);
    backdrop-filter:blur(8px);
    opacity:0;
    visibility:hidden;
    transform:translateY(22px);
    transition:transform .45s ease,opacity .45s ease,visibility .45s ease;
    pointer-events:none;
}
.fixed_bottom_person{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
.fixed_bottom_avatar{
    position:relative;
    width:46px;
    height:46px;
    flex:0 0 46px;
    padding:2px;
    border-radius:50%;
    background:linear-gradient(180deg,#ffa600 0%,#8d4200 100%);
    box-shadow:0 8px 18px rgba(255,166,0,0.16),inset 0 1px 0 rgba(255,255,255,0.24);
}
.fixed_bottom_avatar img{
    display:block;
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
}
.fixed_bottom_avatar span{
    position:absolute;
    right:5px;
    bottom:5px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#18d45f;
    box-shadow:0 0 0 4px rgba(24,212,95,0.14);
}
.fixed_bottom_avatar span::before{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:50%;
    background:rgba(24,212,95,0.28);
    animation:fixedBottomPulse 1.8s ease-out infinite;
}
.fixed_bottom_info{
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
    text-align: left;
}
.fixed_bottom_name{
    color:#fff;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    white-space:nowrap;
}
.fixed_bottom_role{
    color:rgba(255,255,255,0.68);
    font-size:10px;
    white-space:nowrap;
}
.fixed_bottom_note a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 16px;
    border-radius:999px;
    color:#fff;
    text-decoration:none;
    background:linear-gradient(180deg,#ffa600 0%,#b45a00 100%);
    box-shadow:0 10px 20px rgba(255,166,0,0.22),inset 0 1px 0 rgba(255,255,255,0.26);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    white-space:nowrap;
}
.fixed_bottom_note.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}
@keyframes fixedBottomPulse{
    0%{transform:scale(.7);opacity:.7;}
    75%{transform:scale(1.8);opacity:0;}
    100%{transform:scale(1.8);opacity:0;}
}
.connect_panel{
    position:relative;
    overflow:hidden;
    padding:22px 16px 16px;
    border-radius:26px;
    background:linear-gradient(180deg,rgba(255,255,255,0.06) 0%,rgba(255,255,255,0.02) 100%),rgba(18,12,10,0.24);
    border:1px solid rgba(255,255,255,0.08);
    box-shadow:0 16px 38px rgba(0,0,0,0.28),inset 0 1px 0 rgba(255,255,255,0.07);
    backdrop-filter:blur(8px);
    text-align:center;
}
.connect_panel::before{
    content:"";
    position:absolute;
    right:-90px;
    top:-90px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,166,0,0.16) 0%,rgba(255,166,0,0) 72%);
    pointer-events:none;
}
.connect_panel::after{
    content:"";
    position:absolute;
    left:-90px;
    bottom:-100px;
    width:190px;
    height:190px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,255,255,0.07) 0%,rgba(255,255,255,0) 70%);
    pointer-events:none;
}
.connect_panel_head{
    position:relative;
    z-index:2;
}
.connect_panel_label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:28px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(255,166,0,0.10);
    border:1px solid rgba(255,166,0,0.22);
    color:#ffd18a;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.connect_panel_label span{
    position:relative;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#18d45f;
    box-shadow:0 0 0 3px rgba(24,212,95,0.14);
}
.connect_panel_label span::before{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:50%;
    background:rgba(24,212,95,0.28);
    animation:connectPanelPulse 1.8s ease-out infinite;
}
.connect_panel_title{
    margin-top:15px;
    color:#fff;
    font-size:24px;
    text-transform:uppercase;
    line-height:1.15;
    font-weight:800;
}
.connect_panel_text{
    margin-top:15px;
    color:rgba(255,255,255,0.74);
    font-size:14px;
    line-height:1.45;
}
.connect_panel_grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:20px;
}
.connect_panel_item{
    --accent1:#999;
    --accent2:#666;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:138px;
    padding:16px 14px;
    border-radius:22px;
    text-decoration:none;
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(255,255,255,0.055) 0%,rgba(255,255,255,0.02) 100%);
    border:1px solid rgba(255,255,255,0.08);
    box-shadow:0 10px 24px rgba(0,0,0,0.18);
}
.connect_panel_item::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.9;
    pointer-events:none;
}
.connect_panel_icon{
    position:relative;
    z-index:2;
    width:52px;
    height:52px;
    border-radius:18px;
    background:linear-gradient(180deg,var(--accent1) 0%,var(--accent2) 100%);
    box-shadow:0 10px 20px rgba(0,0,0,0.18),inset 0 1px 0 rgba(255,255,255,0.24);
}
.connect_panel_icon::before{
    content:"";
    position:absolute;
    inset:0;
    margin:auto;
    width:20px;
    height:20px;
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
}
.connect_panel_name{
    position:relative;
    z-index:2;
    margin-top:14px;
    color:#fff;
    font-size:14px;
    line-height:1.25;
    font-weight:800;
    text-transform:uppercase;
}
.connect_panel_desc{
    position:relative;
    z-index:2;
    margin-top:6px;
    color:rgba(255,255,255,0.74);
    font-size:12px;
    line-height:1.4;
    text-align: left;
}
.connect_panel_telegram{
    --accent1:#0092ff;
    --accent2:#004274;
}
.connect_panel_whatsapp{
    --accent1:#00aa2a;
    --accent2:#004210;
}
.connect_panel_max{
    --accent1:#667dff;
    --accent2:#8400d1;
}
.connect_panel_phone{
    --accent1:#ffa600;
    --accent2:#b45a00;
}
.connect_panel_telegram::before{
    background:linear-gradient(135deg,rgba(0,146,255,0.22) 0%,rgba(0,66,116,0.12) 100%);
}
.connect_panel_whatsapp::before{
    background:linear-gradient(135deg,rgba(0,170,42,0.22) 0%,rgba(0,66,16,0.12) 100%);
}
.connect_panel_max::before{
    background:linear-gradient(135deg,rgba(102,125,255,0.22) 0%,rgba(132,0,209,0.12) 100%);
}
.connect_panel_phone::before{
    background:linear-gradient(135deg,rgba(255,166,0,0.22) 0%,rgba(180,90,0,0.12) 100%);
}
.connect_panel_telegram .connect_panel_icon::before{
    background-image:url("../img/telegram.svg");
}
.connect_panel_whatsapp .connect_panel_icon::before{
    background-image:url("../img/whatsapp.svg");
}
.connect_panel_max .connect_panel_icon::before{
    background-image:url("../img/max.svg");
}
.connect_panel_phone .connect_panel_icon::before{
    background-image:url("../img/phone.svg");
}
.connect_panel_callback{
    position:relative;
    z-index:2;
    margin-top:16px;
    padding:18px 14px;
    border-radius:22px;
    text-align:center;
    background:radial-gradient(circle at top center,rgba(255,166,0,0.16) 0%,rgba(255,166,0,0.04) 42%,rgba(255,255,255,0.025) 100%);
    border:1px solid rgba(255,166,0,0.18);
    box-shadow:0 12px 28px rgba(0,0,0,0.22),inset 0 1px 0 rgba(255,255,255,0.06);
}
.connect_panel_callback_title{
    color:#fff;
    font-size:17px;
    line-height:1.2;
    font-weight:800;
    text-transform:uppercase;
}
.connect_panel_callback_text{
    margin-top:15px;
    color:rgba(255,255,255,0.78);
    font-size:13px;
    line-height:1.5;
}
.connect_panel_callback_btn{
    margin-top: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 30px;
    border-radius: 999px;
    text-decoration: none;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    background: linear-gradient(0deg, rgba(180, 90, 0, 1) 0%, rgba(255, 166, 0, 1) 100%);
    box-shadow: 0 10px 24px rgba(255, 166, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}
.connect_panel_callback_btn::after{
    content:"";
    width:15px;
    height:15px;
    margin-left:8px;
    background:url("../img/arrow_right.svg") center/contain no-repeat;
    animation:connectPanelArrow 2s ease-in-out infinite;
}
@keyframes connectPanelPulse{
    0%{transform:scale(.7);opacity:.7;}
    75%{transform:scale(1.8);opacity:0;}
    100%{transform:scale(1.8);opacity:0;}
}
@keyframes connectPanelArrow{
    0%{transform:translateX(0);}
    50%{transform:translateX(6px);}
    100%{transform:translateX(0);}
}
.modal_contact_grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.modal_contact_item{
    --accent1:#999;
    --accent2:#666;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:128px;
    padding:14px 12px;
    border-radius:20px;
    text-decoration:none;
    text-align:left;
    color:#fff;
    background:linear-gradient(180deg,rgba(42,20,12,0.96) 0%,rgba(20,9,7,0.98) 100%);
    border:1px solid rgba(255,166,0,0.14);
    box-shadow:0 10px 24px rgba(0,0,0,0.24),inset 0 1px 0 rgba(255,255,255,0.06);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.modal_contact_item::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,color-mix(in srgb,var(--accent1) 26%,transparent) 0%,color-mix(in srgb,var(--accent2) 14%,transparent) 100%);
    opacity:.55;
    pointer-events:none;
}
.modal_contact_item::after{
    content:"";
    position:absolute;
    inset:1px;
    border-radius:19px;
    background:linear-gradient(180deg,rgba(255,255,255,0.04) 0%,rgba(255,255,255,0) 100%);
    pointer-events:none;
}
.modal_contact_item:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 34px rgba(0,0,0,0.34);
    border-color:rgba(255,166,0,0.24);
}
.modal_contact_icon{
    position:relative;
    z-index:2;
    width:48px;
    height:48px;
    border-radius:16px;
    background:linear-gradient(180deg,var(--accent1) 0%,var(--accent2) 100%);
    box-shadow:0 10px 20px color-mix(in srgb,var(--accent1) 28%,transparent),inset 0 1px 0 rgba(255,255,255,0.24);
}
.modal_contact_icon::before{
    content:"";
    position:absolute;
    inset:0;
    margin:auto;
    width:20px;
    height:20px;
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
}
.modal_contact_name{
    position:relative;
    z-index:2;
    margin-top:12px;
    color:#fff;
    font-size:13px;
    line-height:1.25;
    font-weight:800;
    text-transform:uppercase;
}
.modal_contact_desc{
    position:relative;
    z-index:2;
    margin-top:5px;
    color:rgba(255,255,255,0.74);
    font-size:11px;
    line-height:1.35;
}
.modal_contact_item.callback{
    --accent1:#ffa600;
    --accent2:#b45a00;
}
.modal_contact_item.whatsapp{
    --accent1:#00aa2a;
    --accent2:#004210;
}
.modal_contact_item.telegram{
    --accent1:#0092ff;
    --accent2:#004274;
}
.modal_contact_item.max{
    --accent1:#667dff;
    --accent2:#8400d1;
}
.modal_contact_item.callback .modal_contact_icon::before{
    background-image:url("../img/phone.svg");
}
.modal_contact_item.whatsapp .modal_contact_icon::before{
    background-image:url("../img/whatsapp.svg");
}
.modal_contact_item.telegram .modal_contact_icon::before{
    background-image:url("../img/telegram.svg");
}
.modal_contact_item.max .modal_contact_icon::before{
    background-image:url("../img/max.svg");
}
@media (max-width: 400px) {
    .header_name {
        font-size: 115px;
    }
    .header_name::before {
        right: 28px;
        top: 19px;
        font-size: 12px;
        padding-bottom: 6px;
    }
}
@media (max-width: 390px) {
    .section_title h2 {
        font-size: 29px;
    }
    .header_name::before {
        right: 20px;
    }
}
@media (max-width: 380px) {
    .line,.section_line {
        max-width: 90%;
    }
    .phone {
        font-size: 33px;
    }
    .section_title h2 {
        font-size: 28px;
    }
    .header_name {
        font-size: 105px;
    }
    .header_name::before {
        right: 24px;
        top: 15px;
        font-size: 11px;
        padding-bottom: 6px;
    }
    .contact_tile_grid {
        grid-template-columns: 1fr;
    }
    .divider_item_img img {
        width: 100%;
    }
    .connect_panel_grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 370px) {
    .phone {
        font-size: 32px;
    }
    .message {
        gap: 10px;
    }
    .section_title h2 {
        font-size: 27px;
    }
    .modal_contact_grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 360px) {
    .phone {
        font-size: 31px;
    }
    .message{
        flex-wrap: wrap;
        justify-content: center;
    }
    .message_container{
        align-items: center;
    }
    .message_text {
        text-align: center;
    }
    .section_title h2 {
        font-size: 26px;
    }
    .header_name::before {
        right: 17px;
    }
}
@media (max-width: 350px) {
    .phone {
        font-size: 30px;
    }
    .section_title h2 {
        font-size: 25px;
    }
}
@media (max-width: 345px) {
    .header_title h1 {
        font-size: 28px;
    }
}
@media (max-width: 340px) {
    .phone {
        font-size: 29px;
    }
    .header_name {
        font-size: 100px;
    }
    .header_name::before {
        font-size: 10px;
    }
}
@media (max-width: 330px) {
    .header_name::before {
        right: 10px;
    }
}