*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Montserrat',sans-serif;
background:#050505;
color:white;
}

.container{
width:90%;
max-width:1400px;
margin:auto;
}

.topbar{
background:#000;
padding:12px 0;
font-size:14px;
border-bottom:1px solid #222;
}

.topbar .container{
display:flex;
justify-content:space-between;
align-items:center;
}

.topbar .left{
display:flex;
gap:25px;
align-items:center;
}

.topbar .right{
display:flex;
gap:25px;
align-items:center;
}

.topbar a{
color:#fff;
text-decoration:none;
}

.topbar i{
color:#ff6b00;
margin-right:8px;
}

header{
background:#050505;
position:sticky;
top:0;
z-index:999;
transition:.3s;
}

.hero{
min-height:90vh;
display:flex;
align-items:center;
background:#050505;
position:relative;
overflow:hidden;
}

.hero .overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.28);
}

.hero-content{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
position:relative;
z-index:1;
}

.hero-left{
max-width:720px;
}

.hero-right{
display:flex;
justify-content:center;
align-items:center;
}

.logo img{
height:80px;
}

.nav-container{
display:flex;
align-items:center;
justify-content:space-between;
padding:20px 0;
position:relative;
}

nav ul{
display:flex;
list-style:none;
gap:35px;
}

nav a{
text-decoration:none;
color:white;
font-weight:600;
}

nav a:hover,
nav a.active{
color:#ff6b00;
}

.service-nav{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:10px;
}

.service-nav a{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 18px;
border:1px solid #444;
border-radius:999px;
color:#fff;
text-decoration:none;
font-size:14px;
font-weight:600;
transition:all .25s ease;
background:rgba(255,255,255,.03);
}

.service-nav a:hover,
.service-nav a.active{
border-color:#ff6b00;
color:#ff6b00;
background:rgba(255,107,0,.12);
}

.menu-toggle{
display:none;
background:none;
border:none;
cursor:pointer;
width:36px;
height:30px;
flex-direction:column;
justify-content:space-between;
padding:0;
}

.menu-toggle span{
width:100%;
height:2.5px;
background:#fff;
border-radius:3px;
transition:transform .3s ease, opacity .3s ease;
}

.menu-toggle.active span:nth-child(1){
transform:translateY(6.5px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2){
opacity:0;
}

.menu-toggle.active span:nth-child(3){
transform:translateY(-6.5px) rotate(-45deg);
}

.cta-btn{
background:#ff6b00;
color:white;
padding:15px 25px;
text-decoration:none;
border-radius:6px;
font-weight:700;
}

.subtitle{
color:#ff6b00;
font-weight:700;
font-size:14px;
letter-spacing:1px;
}

.hero h1{
font-size:72px;
margin:25px 0;
font-weight:800;
line-height:1.1;
}

.hero h1 span{
color:#ff6b00;
font-size:22px;
font-weight:700;
letter-spacing:1px;
display:block;
}

.hero p{
font-size:22px;
color:#d0d0d0;
max-width:650px;
line-height:1.6;
}

.features{
display:grid;
grid-template-columns:1fr 1fr;
margin:40px 0;
gap:20px;
}

.features div{
font-size:18px;
}

.features i{
color:#ff6b00;
margin-right:10px;
}

.buttons{
display:flex;
gap:20px;
}

.orange-btn{
background:#ff6b00;
padding:18px 35px;
border-radius:8px;
text-decoration:none;
color:white;
font-weight:700;
}

.dark-btn{
border:1px solid #444;
padding:18px 35px;
border-radius:8px;
text-decoration:none;
color:white;
font-weight:700;
}

.hero-right img{
width:100%;
border-radius:15px;
}

/* SERVICES */

.services{
padding:100px 0;
background:#0a0a0a;
}

.section-title{
margin-bottom:50px;
}

.section-title span{
color:#ff6b00;
font-weight:700;
letter-spacing:2px;
}

.section-title h2{
font-size:48px;
font-weight:800;
margin-top:10px;
}

.section-title h4{
font-size:22px;
font-weight:500;
line-height:1.75;
color:#cfcfcf;
max-width:900px;
margin-top:20px;
}

.services-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.service-card{
background:#121212;
border:1px solid #1f1f1f;
border-radius:15px;
overflow:hidden;
transition:.3s;
display:flex;
flex-direction:column;
min-height:100%;
}

.service-card:hover{
transform:translateY(-10px);
border-color:#ff6b00;
}

.service-image{
height:220px;
overflow:hidden;
}

.service-content{
padding:25px;
display:flex;
flex-direction:column;
flex:1;
}

.service-content p{
color:#bdbdbd;
line-height:1.6;
margin-bottom:20px;
flex:1;
}

.service-content a{
align-self:flex-start;
color:#ff6b00;
text-decoration:none;
font-weight:700;
font-size:15px;
transition:.3s;
}

.service-image img{
width:100%;
height:100%;
object-fit:cover;
transition:.4s;
}

.service-card:hover img{
transform:scale(1.08);
}

.service-content h3{
font-size:24px;
margin-bottom:15px;
}

.service-content a:hover{
color:#ff8c26;
}

/* STATS */

.stats{
padding:80px 0;
background:#050505;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.stat-card{
background:#121212;
padding:40px;
border-radius:15px;
text-align:center;
}

.stat-card h3{
font-size:48px;
color:#ff6b00;
margin-bottom:10px;
}

.stat-card p{
color:#d0d0d0;
}

/* MOBILE */

@media(max-width:1200px){

.services-grid{
grid-template-columns:repeat(2,1fr);
}

.stats-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.services-grid{
grid-template-columns:1fr;
}

.stats-grid{
grid-template-columns:1fr;
}

.section-title h2{
font-size:34px;
}

.hero-content{
grid-template-columns:1fr;
}

nav ul{
gap:15px;
flex-wrap:wrap;
}

}

/* PORTFOLIO */

.portfolio{
padding:120px 0;
background:#0a0a0a;
}

.portfolio-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
}

.portfolio-item{
position:relative;
overflow:hidden;
border-radius:15px;
height:320px;
cursor:pointer;
}

.portfolio-item img{
width:100%;
height:100%;
object-fit:cover;
transition:.5s;
}

.portfolio-content{
    transform:translateY(0px);
    transition:transform .7s ease;
}



.portfolio-overlay{
    position:absolute;
    inset:0;

    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    padding:25px;
    box-sizing:border-box;

    background:linear-gradient(
        rgba(0,0,0,.05),
        rgba(0,0,0,.55)
    );
    pointer-events:none;
}

.portfolio-overlay h3{
    margin:0;
    font-size:24px;
    font-weight:700;

    transition:transform .7s ease;
}

.instagram-card{
    background:#111;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
    color:#fff;
    cursor:pointer;
    text-decoration:none;
    border-radius:15px;
    border:1px solid rgba(255,255,255,0.08);
    box-shadow:0 18px 40px rgba(0,0,0,0.15);
    isolation:isolate;
}

.instagram-card .instagram-icon{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:180px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
    pointer-events:none;
    z-index:1;
}

.instagram-card .instagram-icon i{
    font-size:60px;
    background: linear-gradient(45deg, #f58529, #feda77, #dd2a7b, #8134af, #515bd4);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.instagram-card .instagram-overlay{
    position:absolute;
    inset:0;
    padding:125px 20px 24px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    box-sizing:border-box;
    background:linear-gradient(0deg, rgba(0,0,0,0.75), rgba(0,0,0,0));
    pointer-events:auto;
    text-align:center;
    z-index:2;
}

.instagram-card .instagram-overlay h3{
    font-size:20px;
    margin:0;
}

.instagram-card .instagram-overlay p{
    font-size:14px;
    color:#d0d0d0;
    margin:0;
    line-height:1.6;
}

.instagram-card .instagram-btn{
    width:auto;
    min-width:200px;
    padding:12px 24px;
    font-size:14px;
    pointer-events:none;
}

@media(max-width:768px){
    .instagram-card{
        min-height:390px;
        height:auto;
    }

    .instagram-card .instagram-overlay{
        padding:150px 18px 24px;
        gap:10px;
    }

    .instagram-card .instagram-btn{
        width:100%;
        max-width:300px;
        min-width:0;
        min-height:54px;
        padding:14px 18px;
        font-size:15px;
    }
}

@media(max-width:480px){
    .instagram-card{
        min-height:410px;
    }

    .instagram-card .instagram-overlay h3{
        font-size:18px;
    }

    .instagram-card .instagram-overlay p{
        font-size:13px;
    }
}

.portfolio-description{
    max-height:0;
    opacity:0;
    overflow:hidden;
    transition:max-height .7s ease, opacity .7s ease;
}

.portfolio-description p{
    font-size:12px;
    line-height:1.5;
    margin-top:10px;
}
.portfolio-item:hover img{
    transform:scale(1.1);
    filter:brightness(95%);
}

.portfolio-item:hover .portfolio-overlay h3{
    transform:translateY(-5px);
}

.portfolio-item:hover .portfolio-description{
    max-height:250px;
    opacity:1;
}

.portfolio-item:hover .portfolio-content{
    transform:translateY(0);
}



@media(max-width:1200px){

.portfolio-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.portfolio-grid{
grid-template-columns:1fr;
}

}




.portfolio-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:9999;
    background:rgba(0, 0, 0, 0.70);
    justify-content:center;
    align-items:center;
}

.gallery-container{
    position:relative;
    display:inline-block;
    overflow:visible;
}

#portfolioModalImg{
    max-width:95vw;
    max-height:90vh;
    object-fit:contain;
    display:block;
}

.portfolio-close{
    position:fixed;

    top:20px;
    right:20px;

    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(0,0,0,.6);
    border-radius:50%;

    color:#fff;
    font-size:28px;
    cursor:pointer;
    z-index:10000;
}

.gallery-prev,
.gallery-next{
    position:fixed;
    top:50%;
    transform:translateY(-50%);

    width:50px;
    height:50px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(0,0,0,.6);
    border-radius:50%;

    color:#fff;
    cursor:pointer;
    z-index:10000;
}

.gallery-prev{
    left:20px;
    font-size:40px;
}

.gallery-next{
    right:20px;
    font-size:32px;
}


@media (max-width: 768px){

    .gallery-prev{
        left:10px;
    }

    .gallery-next{
        right:10px;
    }

    .gallery-prev,
    .gallery-next{
        width:40px;
        height:40px;
        font-size:24px;
    }

}


/* CTA */

.cta{
padding:100px 0;
background:#050505;
}

.cta-box{
background:#121212;
padding:70px;
border-radius:20px;
text-align:center;
border:1px solid #1e1e1e;
}

.cta-box h2{
font-size:52px;
margin-bottom:20px;
}

.cta-box p{
font-size:22px;
color:#cfcfcf;
margin-bottom:30px;
}

/* CONTACT */

.contact-section{
padding:120px 0;
background:#0b0b0b;
}

.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

.contact-info h2{
font-size:54px;
margin:20px 0;
}

.contact-info p{
color:#bfbfbf;
}

.contact-item{
display:flex;
gap:20px;
margin-top:30px;
}

.contact-item i{
width:60px;
height:60px;
background:#ff6b00;
border-radius:12px;
display:flex;
justify-content:center;
align-items:center;
font-size:22px;
}

.contact-item h4{
margin-bottom:5px;
}

.contact-form{
background:#121212;
padding:40px;
border-radius:20px;
border:1px solid #1f1f1f;
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:18px;
margin-bottom:20px;
background:#1a1a1a;
border:1px solid #2a2a2a;
border-radius:10px;
color:white;
}

.contact-form textarea{
height:180px;
resize:none;
}

.contact-form button{
border:none;
cursor:pointer;
}

.form-website{
position:absolute;
left:-9999px;
width:1px;
height:1px;
opacity:0;
pointer-events:none;
}

.contact-page-hero{
padding:90px 0 60px;
background:#050505;
border-bottom:1px solid #1e1e1e;
}

.contact-page-hero h1{
font-size:60px;
line-height:1.1;
margin:20px 0;
}

.contact-page-hero p{
max-width:760px;
color:#cfcfcf;
font-size:20px;
line-height:1.7;
}

.contact-page-section{
padding:90px 0;
background:#0b0b0b;
}

.contact-page-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:start;
}

.contact-methods{
display:grid;
gap:16px;
}

.contact-method{
display:flex;
gap:18px;
align-items:flex-start;
padding:22px;
background:#121212;
border:1px solid #242424;
border-radius:10px;
color:#fff;
text-decoration:none;
}

.contact-method i{
width:48px;
height:48px;
display:flex;
align-items:center;
justify-content:center;
flex:0 0 auto;
background:#ff6b00;
border-radius:10px;
font-size:20px;
}

.contact-method h3{
font-size:18px;
margin-bottom:6px;
}

.contact-method p{
color:#cfcfcf;
line-height:1.6;
}

.map-section{
padding:90px 0;
background:#050505;
border-top:1px solid #1e1e1e;
}

.map-frame{
width:100%;
height:520px;
overflow:hidden;
border-radius:12px;
border:1px solid #242424;
background:#121212;
}

.map-frame iframe{
width:100%;
height:100%;
border:0;
display:block;
filter:grayscale(20%) invert(90%) contrast(90%);
}

@media(max-width:992px){

.contact-grid{
grid-template-columns:1fr;
}

.contact-page-grid{
grid-template-columns:1fr;
}

.contact-page-hero h1{
font-size:46px;
}

}

/* FOOTER */

.footer{
background:#050505;
padding:40px 0 20px;
border-top:1px solid #1f1f1f;
}

.footer-grid{
display:grid;
grid-template-columns:2fr 2fr;
gap:30px;
}

.footer-logo{
height:80px;
margin-bottom:20px;
}

.footer h3{
margin-bottom:20px;
color:#ff6b00;
}

.footer ul{
list-style:none;
padding:0;
}

.footer li{
margin-bottom:10px;
}

.footer-bottom{
margin-top:50px;
padding:25px 0;
text-align:center;
border-top:1px solid #1f1f1f;
color:#999;
}

@media(max-width:768px){

.footer-grid{
grid-template-columns:1fr;
gap:25px;
}

.topbar .container{
flex-direction:column;
gap:15px;
}

.buttons{
flex-direction:column;
}

}

.floating-buttons{
position:fixed;
right:25px;
bottom:20px;
display:flex;
flex-direction:column;
align-items:flex-end;
gap:15px;
z-index:9999;
}

.floating-toggle{
display:none;
border:0;
font-family:inherit;
}

.instagram-float-btn,
.telegram-btn,
.viber-btn{
width:65px;
height:65px;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
font-size:28px;
color:white;
text-decoration:none;
box-shadow:0 10px 25px rgba(0,0,0,.4);
transition:.3s;
}

.instagram-float-btn{
background:linear-gradient(45deg, #f58529, #dd2a7b, #8134af, #515bd4);
}

.telegram-btn{
background:#0088cc;
}

.viber-btn{
background:#7360f2;
}

.instagram-float-btn:hover,
.telegram-btn:hover,
.viber-btn:hover{
transform:scale(1.1);
}

header.scrolled{
background:#000;
box-shadow:0 10px 30px rgba(0,0,0,.4);
}

.work-time{
color:#ffffff;
}

.weekend{
color:#ff6b00;
font-weight:600;
}
/* ABOUT */

.about{
padding:120px 0;
background:#0a0a0a;
}

.about-grid{
display:grid;
grid-template-columns:1.2fr 1fr;
gap:70px;
align-items:center;
}

.about-text h2{
font-size:52px;
line-height:1.2;
margin:20px 0 30px;
}

.about-text p{
font-size:18px;
line-height:1.9;
color:#cfcfcf;
margin-bottom:20px;
}

.about-image img{
width:100%;
border-radius:20px;
box-shadow:0 15px 40px rgba(0,0,0,.4);
margin-bottom:25px;
}

.about-counter{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
}

.counter-box{
background:#121212;
padding:30px;
border-radius:15px;
text-align:center;
border:1px solid #222;
transition:.3s;
}

.counter-box:hover{
transform:translateY(-5px);
border-color:#ff6b00;
}

.counter-box h3{
font-size:42px;
color:#ff6b00;
margin-bottom:10px;
}

.counter-box p{
color:#d0d0d0;
}

@media(max-width:992px){

.about-grid{
grid-template-columns:1fr;
}

.about-counter{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.about-counter{
grid-template-columns:1fr;
}

.about-text h2{
font-size:36px;
}

    .hero h1{
        font-size:42px;
    }

    .hero p{
        font-size:16px;
    }

    .service-content h3{
        font-size:20px;
    }

    .service-content p{
        font-size:15px;
    }

    .cta-box h2{
        font-size:40px;
    }

    .cta-box p{
        font-size:18px;
    }

    .about-text p{
        font-size:16px;
    }

    .counter-box h3{
        font-size:36px;
    }

    .portfolio-overlay h3{
        font-size:20px;
    }

    .dark-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:14px 24px;
}

.dark-btn:hover{
    border-color:#ff6b00;
    color:#ff6b00;
}

}

@media (max-width:992px) {
    .topbar .container {
        flex-direction:row;
        justify-content:space-between;
        align-items:center;
        flex-wrap:wrap;
        gap:10px;
    }

    .topbar .left,
    .topbar .right {
        flex-wrap:nowrap;
        justify-content:flex-start;
        gap:10px;
        align-items:center;
    }

    header .nav-container {
        flex-direction:row;
        justify-content:space-between;
        align-items:center;
        gap:16px;
        padding:16px 0;
    }

    nav ul {
        justify-content:center;
        gap:15px;
        flex-wrap:wrap;
    }

    .logo img {
        height:50px;
    }

    .hero h1 {
        font-size:48px;
    }

    .hero p {
        font-size:18px;
        max-width:100%;
    }

    .section-title h2 {
        font-size:40px;
    }

    .section-title h4 {
        font-size:18px;
        max-width:100%;
    }

    .service-content h3 {
        font-size:22px;
    }

    .service-content p {
        font-size:16px;
    }

    .cta-box h2 {
        font-size:44px;
    }

    .cta-box p {
        font-size:20px;
    }

    .footer-grid {
        gap:30px;
    }

    .service-nav a {
        display:inline-flex;
        padding:10px 12px;
        font-size:13px;
        white-space:nowrap;
        line-height:1.2;
    }

    .cta-btn,
    .dark-btn {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:100%;
        max-width:100%;
        height:56px;
        text-align:center;
    }

    .buttons a {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:100%;
        height:56px;
    }

    .portfolio {
        padding:80px 0;
    }

    .portfolio-grid {
        gap:18px;
    }

    .portfolio-item {
        min-height:260px;
        height:auto;
    }

    .portfolio-overlay {
        padding:20px;
    }

    .portfolio-overlay h3 {
        font-size:20px;
    }

    .contact-section {
        padding:80px 0;
    }

    .contact-info h2 {
        font-size:40px;
    }

    .contact-item {
        flex-direction:column;
        align-items:flex-start;
        gap:14px;
    }

    .contact-item i {
        width:50px;
        height:50px;
        font-size:20px;
    }

    .contact-form {
        padding:28px;
    }

    .contact-form input,
    .contact-form textarea {
        padding:16px;
    }

    .footer {
        padding-top:60px;
    }

    .footer-logo {
        height:65px;
    }

    nav:not(.service-nav) {
        position:absolute;
        inset:unset;
        top:100%;
        left:0;
        right:0;
        background:#050505;
        border-top:1px solid #222;
        max-height:0;
        overflow:hidden;
        opacity:0;
        transition:max-height .35s ease, opacity .35s ease;
        padding:0 0;
    }

    nav:not(.service-nav) ul {
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:18px;
        padding:0 20px;
    }

    .service-nav {
        position:static;
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        gap:8px;
        width:100%;
        max-width:100%;
        overflow:visible;
        opacity:1;
        padding:0;
        background:none;
        border:none;
    }

    .header-buttons {
        display:flex;
        flex-direction:column;
        width:100%;
        align-items:center;
        gap:15px;
        padding:0 20px;
        background:#050505;
        border-top:1px solid #222;
        max-height:0;
        overflow:hidden;
        opacity:0;
        transition:max-height .35s ease, opacity .35s ease;
    }

    .service-nav + .header-buttons {
        max-height:none;
        opacity:1;
        padding:16px 20px;
    }

    header.nav-open nav {
        display:block;
        max-height:500px;
        opacity:1;
        padding:20px 0;
    }

    header.nav-open .header-buttons {
        display:flex;
        max-height:400px;
        opacity:1;
        padding:20px;
    }

    .menu-toggle {
        display:flex;
    }

    .floating-buttons {
        right:16px;
        bottom:16px;
    }

    .instagram-float-btn,
    .telegram-btn,
    .viber-btn {
        width:52px;
        height:52px;
        font-size:22px;
    }
}

@media (max-width:768px) {
    .topbar {
        font-size:13px;
        padding:8px 0;
    }

    .topbar .container {
        align-items:center;
        justify-content:space-between;
        gap:10px;
    }

    .topbar .left {
        flex-wrap:wrap;
        gap:10px;
        align-items:center;
    }

    .topbar .right {
        display:none;
    }

    .topbar a {
        font-size:13px;
    }

    .topbar i {
        margin-right:6px;
    }

    .logo img {
        height:48px;
    }

    .hero {
        padding:40px 0;
    }

    .hero-content {
        grid-template-columns:1fr;
        gap:24px;
    }

    .hero-left {
        max-width:100%;
    }

    .service-card {
        min-height:1px;
    }

    .service-content {
        min-height:0;
    }

    .service-content a {
        margin-top:auto;
    }

    .footer {
        padding-top:50px;
    }

    .footer-grid {
        gap:20px;
    }

    .floating-buttons {
        right:14px;
        bottom:14px;
    }

    .instagram-float-btn,
    .telegram-btn,
    .viber-btn {
        width:50px;
        height:50px;
        font-size:22px;
    }

    .section-title h2 {
        font-size:34px;
    }

    .portfolio-overlay h3 {
        font-size:18px;
    }

    .hero h1 {
        font-size:30px;
        line-height:1.15;
    }

    .contact-info h2 {
        font-size:34px;
    }

    .contact-grid {
        grid-template-columns:1fr;
    }

    .about-text h2 {
        font-size:36px;
    }

    .about-counter {
        grid-template-columns:1fr;
    }
}

@media (max-width:480px) {
    .container {
        width:95%;
    }

    .service-nav {
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:8px;
        justify-content:center;
        padding:0;
        width:100%;
    }

    .service-nav a {
        padding:10px 12px;
        font-size:13px;
        line-height:1.2;
        width:100%;
        text-align:center;
    }

    nav ul {
        gap:10px;
    }

    .cta-btn,
    .dark-btn {
        padding:14px 18px;
    }

    .contact-item {
        gap:10px;
    }

    .contact-item h4 {
        font-size:16px;
    }

    .contact-form textarea {
        height:150px;
    }

    .hero{
        min-height:auto;
        padding:35px 0;
    }

    .hero-content{
        grid-template-columns:1fr;
        gap:25px;
    }

    .hero-right img{
        width:100%;
        max-width:420px;
        margin:auto;
        display:block;
    }

    .features{
        grid-template-columns:1fr;
    }

    .buttons{
        flex-direction:column;
        width:100%;
    }

    .buttons a{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:100%;
        max-width:100%;
        height:56px;
    }

    .cta-btn,
    .dark-btn {
        width:100%;
        height:56px;
    }

    .hero h1{
        font-size:32px;
    }

    .hero p{
        font-size:15px;
    }

    .section-title h2{
        font-size:26px;
    }

    .section-title h4{
        font-size:15px;
    }

    .service-content h3{
        font-size:19px;
    }

    .service-content p{
        font-size:14px;
    }

    .cta-box h2{
        font-size:36px;
    }

    .cta-box p{
        font-size:16px;
    }

    .contact-info h2{
        font-size:28px;
    }

    .contact-form{
        padding:20px;
    }

    .contact-form input,
    .contact-form textarea{
        padding:14px;
    }

    .footer-grid{
        gap:20px;
    }

    .footer-logo{
        height:55px;
    }

    .instagram-icon{
        font-size:55px;
    }

    .instagram-btn{
        font-size:16px;
        padding:16px 25px;
    }

    .gallery-prev,
    .gallery-next{
        width:34px;
        height:34px;
        font-size:20px;
    }

    .floating-buttons{
        right:12px;
        bottom:12px;
    }

    .instagram-float-btn,
    .telegram-btn,
    .viber-btn{
        width:48px;
        height:48px;
        font-size:24px;
    }
}
.instagram-block{
    padding:80px 20px;
    text-align:center;
    background:transparent;
}

.instagram-content{
    max-width:700px;
    margin:auto;
}

.instagram-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:540px;
    height:320px;
    margin:0 auto 22px;
    border-radius:15px;
    background:#111;
    border:1px solid rgba(255,255,255,0.08);
    box-shadow:0 18px 40px rgba(0,0,0,0.18);
}

@media (min-width: 992px) {
    .instagram-block{
        max-width:360px;
        margin:0 auto 40px;
    }

    .instagram-icon{
        width:120px;
        height:120px;
        margin-bottom:24px;
        box-shadow:0 18px 40px rgba(0,0,0,0.18);
    }

    .instagram-icon i{
        font-size:52px;
    }
}

.instagram-icon i{
    font-size:58px;
    background: linear-gradient(45deg, #f58529, #feda77, #dd2a7b, #8134af, #515bd4);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.instagram-block h2{
    font-size:24px;
    margin-bottom:12px;
    color:#fff;
    font-weight:700;
    line-height:1.2;
}

.instagram-block p{
    font-size:18px;
    color:#cfcfcf;
    margin-bottom:35px;
    line-height:1.7;
}

.instagram-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    max-width:320px;
    min-height:58px;
    padding:18px 35px;
    border-radius:8px;
    font-size:18px;
    line-height:1;
    margin-top:10px;
}

.instagram-btn i{
    font-size:20px;
}

.instagram-btn:hover{
    transform:translateY(-2px);
}


.seo-content h2{
    color:#fff;
    font-size:34px;
    margin-bottom:25px;
}

.seo-content p{
    color:#bdbdbd;
    font-size:18px;
    line-height:1.9;
    margin-bottom:20px;
}
.seo-content{
    background:#0b0b0b;
    border-top:1px solid #1e1e1e;
    border-bottom:1px solid #1e1e1e;
    margin-top:60px;
}

.seo-summary{
    max-width:1400px;
    width:90%;
    height:80px;

    margin:0 auto;

    display:flex;
    align-items:center;
    cursor:pointer;
    padding:0 5px;
    list-style:none;
}

.seo-summary::-webkit-details-marker{
    display:none;
}

.seo-summary::marker{
    content:"";
}

.seo-line{
    width:5px;
    height:32px;
    background:#ff6b00;
    border-radius:20px;
    margin-right:18px;
}

.seo-title{

    flex:1;

    color:#fff;
    font-size:28px;
    font-weight:700;
    letter-spacing:.5px;

    transition:.3s;
}

.seo-icon{

    width:40px;
    text-align:center;
    color:#ff6b00;
    font-size:34px;
    font-weight:700;
    transition:.3s;
}

.seo-content[open] .seo-icon{
    transform:rotate(45deg);
}

.seo-summary:hover .seo-title{
    color:#ff6b00;
}
.seo-inner{
    padding:40px 0 60px;
       animation:fadeSeo .35s ease;
}

@keyframes fadeSeo{

from{
opacity:0;
transform:translateY(-10px);
}

to{
opacity:1;
transform:none;
}

}

.seo-inner h2{
    font-size:30px;
    margin-bottom:20px;
}

.seo-inner p{
    color:#bdbdbd;
    font-size:18px;
    line-height:1.9;
    margin-bottom:20px;
}

.faq-section,
.reviews-section{
padding:90px 0;
background:#0a0a0a;
border-top:1px solid #1e1e1e;
}

.reviews-section{
background:#050505;
}

.faq-list{
display:grid;
gap:14px;
max-width:980px;
}

.faq-list details{
background:#121212;
border:1px solid #242424;
border-radius:10px;
padding:0 24px;
}

.faq-list summary{
min-height:70px;
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
cursor:pointer;
font-size:18px;
font-weight:700;
list-style:none;
}

.faq-list summary::-webkit-details-marker{
display:none;
}

.faq-list summary::after{
content:"+";
color:#ff6b00;
font-size:30px;
font-weight:700;
line-height:1;
}

.faq-list details[open] summary::after{
content:"×";
}

.faq-list p{
color:#cfcfcf;
font-size:17px;
line-height:1.7;
padding:0 0 24px;
}

.reviews-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.reviews-actions{
display:flex;
justify-content:center;
margin-top:32px;
}

.review-submit-btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
min-height:56px;
}

.review-card{
background:#121212;
border:1px solid #242424;
border-radius:10px;
padding:28px;
min-height:240px;
display:flex;
flex-direction:column;
gap:18px;
}

.review-tag{
color:#ff6b00;
font-size:14px;
font-weight:700;
letter-spacing:1px;
text-transform:uppercase;
}

.review-card p{
color:#d0d0d0;
font-size:17px;
line-height:1.7;
flex:1;
}

.review-card h3{
font-size:18px;
color:#fff;
}

@media(max-width:992px){
    .reviews-grid{
        grid-template-columns:1fr;
    }

    .faq-section,
    .reviews-section{
        padding:70px 0;
    }
}

@media(max-width:480px){
    .faq-list details,
    .review-card{
        padding-left:18px;
        padding-right:18px;
    }

    .faq-list summary{
        min-height:64px;
        font-size:16px;
    }

    .faq-list p,
    .review-card p{
        font-size:15px;
    }

    .reviews-actions{
        margin-top:24px;
    }

    .review-submit-btn{
        width:100%;
        min-height:54px;
        padding:14px 18px;
    }

    .contact-page-hero{
        padding:60px 0 40px;
    }

    .contact-page-hero h1{
        font-size:34px;
    }

    .contact-page-hero p{
        font-size:16px;
    }

    .contact-page-section,
    .map-section{
        padding:60px 0;
    }

    .contact-method{
        padding:18px;
    }

    .map-frame{
        height:360px;
    }
}

/* Final Instagram portfolio card rules: keep it visible after all mobile overrides. */
.portfolio-grid .instagram-card{
    display:flex;
    order:0;
    min-height:320px;
    height:320px;
    color:#fff;
    text-decoration:none;
    background:
        radial-gradient(circle at 20% 10%, rgba(245,133,41,0.45), transparent 34%),
        radial-gradient(circle at 88% 18%, rgba(81,91,212,0.42), transparent 36%),
        linear-gradient(145deg, #181018, #0e0e0e 62%, #181818);
    border:1px solid rgba(255,107,0,0.45);
    box-shadow:0 22px 48px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.12);
}

.portfolio-grid .instagram-card .instagram-icon{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    max-width:none;
    height:145px;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg, rgba(255,255,255,0.1), rgba(255,255,255,0.02));
    pointer-events:none;
}

.portfolio-grid .instagram-card .instagram-icon i{
    font-size:64px;
}

.portfolio-grid .instagram-card .instagram-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    padding:130px 22px 24px;
    text-align:center;
    background:linear-gradient(0deg, rgba(0,0,0,0.84), rgba(0,0,0,0.08));
    pointer-events:none;
}

.portfolio-grid .instagram-card .instagram-overlay h3,
.portfolio-grid .instagram-card .instagram-overlay p{
    display:block;
    opacity:1;
    visibility:visible;
}

.portfolio-grid .instagram-card .instagram-overlay h3{
    color:#fff;
    font-size:22px;
    line-height:1.25;
}

.portfolio-grid .instagram-card .instagram-overlay p{
    color:#f1f1f1;
    font-size:14px;
    line-height:1.55;
}

.portfolio-grid .instagram-card .instagram-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:300px;
    min-width:0;
    min-height:54px;
    margin-top:0;
    padding:14px 18px;
    color:#fff;
    background:#ff6b00;
    border-radius:8px;
    font-size:15px;
    line-height:1.2;
    text-decoration:none;
    opacity:1;
    visibility:visible;
    pointer-events:none;
}

@media(max-width:992px){
    .portfolio-grid .instagram-card{
        min-height:380px;
        height:380px;
    }

    .portfolio-grid .instagram-card .instagram-overlay{
        padding:150px 18px 24px;
    }
}

@media(max-width:480px){
    .portfolio-grid .instagram-card{
        min-height:400px;
        height:400px;
    }

    .portfolio-grid .instagram-card .instagram-overlay{
        padding:145px 16px 22px;
        gap:10px;
    }

    .portfolio-grid .instagram-card .instagram-overlay h3{
        font-size:18px;
        line-height:1.25;
    }

    .portfolio-grid .instagram-card .instagram-overlay p{
        font-size:13px;
        line-height:1.55;
    }
}

/* Mobile polish */
@media(max-width:768px){
    .floating-buttons{
        right:14px;
        bottom:14px;
        gap:10px;
    }

    .floating-toggle{
        order:4;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        min-width:118px;
        height:52px;
        padding:0 16px;
        border-radius:999px;
        background:#ff6b00;
        color:#fff;
        font-size:15px;
        font-weight:700;
        line-height:1;
        box-shadow:0 12px 28px rgba(0,0,0,.38);
        cursor:pointer;
    }

    .floating-toggle i{
        font-size:18px;
    }

    .floating-buttons .instagram-float-btn,
    .floating-buttons .telegram-btn,
    .floating-buttons .viber-btn{
        width:46px;
        height:46px;
        font-size:21px;
        opacity:0;
        pointer-events:none;
        transform:translateY(8px) scale(.9);
        transition:opacity .2s ease, transform .2s ease;
    }

    .floating-buttons.is-open .instagram-float-btn,
    .floating-buttons.is-open .telegram-btn,
    .floating-buttons.is-open .viber-btn{
        opacity:1;
        pointer-events:auto;
        transform:none;
    }
}

@media(max-width:480px){
    .hero{
        padding:26px 0 34px;
    }

    .hero-content{
        gap:18px;
    }

    .subtitle{
        font-size:12px;
        letter-spacing:.5px;
    }

    .hero h1{
        font-size:29px;
        margin:18px 0;
    }

    .hero h1 span{
        font-size:17px;
        line-height:1.35;
    }

    .hero p{
        font-size:14px;
        line-height:1.55;
    }

    .features{
        margin:24px 0;
        gap:12px;
    }

    .features div{
        font-size:15px;
    }

    .buttons{
        gap:12px;
    }

    .hero-right img{
        max-width:320px;
    }

    .services,
    .portfolio{
        padding:68px 0;
    }

    .service-image{
        height:170px;
    }

    .service-content{
        padding:20px;
    }

    .portfolio-item{
        min-height:230px;
    }

    .portfolio-grid .instagram-card{
        min-height:340px;
        height:340px;
    }

    .portfolio-grid .instagram-card .instagram-overlay{
        padding:132px 16px 20px;
    }

    header .nav-container{
        padding:12px 0;
        gap:12px;
        flex-wrap:wrap;
    }

    header .logo{
        order:1;
    }

    .service-nav{
        order:3;
        flex:0 0 100%;
        flex-direction:row;
        flex-wrap:nowrap;
        align-items:center;
        justify-content:flex-start;
        gap:8px;
        width:100%;
        overflow-x:auto;
        padding:4px 0 2px;
        scrollbar-width:none;
    }

    .service-nav::-webkit-scrollbar{
        display:none;
    }

    .service-nav a{
        flex:0 0 auto;
        width:auto;
        padding:10px 12px;
        white-space:nowrap;
    }

    .service-nav + .header-buttons{
        order:2;
        width:auto;
        margin-left:auto;
        padding:0;
    }

    .service-nav + .header-buttons .cta-btn{
        width:auto;
        min-width:122px;
        height:48px;
        padding:0 16px;
    }
}
