/* =========================
   СБРОС СТИЛЕЙ
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Montserrat',sans-serif;
    background:#FFF8F4;
    color:#2E2E2E;
    line-height:1.7;
}

/* =========================
   ОБЩИЕ СТИЛИ
========================= */

.container{
    width:90%;
    max-width:1300px;
    margin:0 auto;
}

section{
    padding:100px 0;
}

h1,
h2,
h3,
h4{
    font-weight:700;
}

h2{
    font-size:46px;
    text-align:center;
    margin-bottom:25px;
    color:#2E2E2E;
}

p{
    font-size:18px;
    color:#555;
}

/* =========================
   HEADER
========================= */

.header{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:25px 5%;
    z-index:100;
}

.logo{

    color:white;

    font-size:32px;

    font-weight:800;

    letter-spacing:1px;

    transition:.3s;

}

.logo:hover{

    transform:scale(1.03);

}

/* =========================
   НАВИГАЦИЯ
========================= */

nav{

    display:flex;

    align-items:center;

    gap:20px;

}

nav a{

    position:relative;

    color:white;

    text-decoration:none;

    font-size:16px;

    font-weight:600;

    transition:.3s;

    white-space:nowrap;

}

nav a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-5px;

    width:0;

    height:2px;

    background:white;

    transition:.3s;

}

nav a:hover{

    color:#FFE9DC;

}

nav a:hover::after{

    width:100%;

}

/* =========================
   HERO
========================= */

.hero{

    min-height:100vh;

    background:
    linear-gradient(
        rgba(0,0,0,.55),
        rgba(0,0,0,.55)
    ),
    url("../images/hero.jpg");

    background-size:cover;

    background-position:center;

    display:flex;

    align-items:center;

}


.hero-content{
    max-width:700px;
    margin:0 auto;
    padding:0 20px;
}


.hero h1{

    color:white;

    font-size:60px;

    font-weight:800;

    line-height:1.2;

    text-align:left;

}


.hero p{

    color:#f0f0f0;

    font-size:22px;

    margin-top:20px;

    max-width:650px;

    line-height:1.6;

    text-align:left;

}

/* =========================
   КНОПКИ
========================= */

.button,
.btn{

    display:inline-block;

    margin-top:35px;

    padding:18px 42px;

    border-radius:50px;

    background:white;

    color:#2E2E2E;

    text-decoration:none;

    font-weight:700;

    font-size:17px;

    transition:.3s;

    box-shadow:0 15px 35px rgba(0,0,0,.15);

}

.button:hover,
.btn:hover{

    background:#FFE9DC;

    transform:translateY(-5px);

    box-shadow:0 22px 40px rgba(0,0,0,.18);

}
/* =========================
   УСЛУГИ
========================= */

.services{
    background:#FFF8F4;
}

.services-text{
    max-width:800px;
    margin:0 auto 60px;
    text-align:center;
    font-size:18px;
    color:#666;
}

.services-container{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

    margin-top:60px;

}

.service-card{

    background:white;

    border-radius:22px;

    padding:35px;

    text-align:center;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.35s;

}

.service-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 45px rgba(0,0,0,.12);

}

.service-card img{

    width:85px;

    margin-bottom:25px;

}

.service-card h3{

    font-size:28px;

    margin-bottom:18px;

    color:#2E2E2E;

}

.service-card p{

    font-size:17px;

    color:#666;

    line-height:1.8;

}

/* =========================
   ПРЕИМУЩЕСТВА
========================= */

.advantages{

    background:#FFF8F4;

}

.advantages-container{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

    margin-top:50px;

}

.advantage-card{

    background:white;

    border-radius:20px;

    padding:35px 25px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.3s;

}

.advantage-card:hover{

    transform:translateY(-8px);

}

.advantage-card h3{

    font-size:24px;

    margin-bottom:15px;

}

.advantage-card p{

    font-size:17px;

    line-height:1.8;

}

/* =========================
   ГАЛЕРЕЯ
========================= */

.gallery{

    background:#FFF8F4;

}

.gallery-text{

    max-width:850px;

    margin:0 auto 70px;

    text-align:center;

    font-size:18px;

}

.gallery-block{

    margin-bottom:90px;

    padding-bottom:50px;

    border-bottom:1px solid #F1DDD2;

}

.gallery-block:last-child{

    border-bottom:none;

}

.gallery-block h3{

    text-align:center;

    font-size:34px;

    margin-bottom:40px;

}

.gallery-grid {

    display:flex;

    gap:25px;

    overflow-x:auto;

    scroll-behavior:smooth;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;

    scroll-snap-type:x mandatory;

}


.gallery-grid::-webkit-scrollbar {

    display:none;

}


.gallery-grid .work-card {

    min-width:320px;

    flex-shrink:0;

    scroll-snap-align:start;

}


.gallery-grid::-webkit-scrollbar {

    display:none;

}


.gallery-grid .work-card {

    min-width:320px;

    flex-shrink:0;

}

/* =========================
   КАРТОЧКИ ПРОЕКТОВ
========================= */

.work-card{

    background:white;

    min-width:320px;

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.35s;

    cursor:pointer;

}

.work-card:hover {

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.work-card img{

    width:100%;

    height:270px;

    object-fit:cover;

}

.work-info{

    padding:25px;

}

.work-info h4{

    font-size:24px;

    margin-bottom:12px;

    color:#2E2E2E;

}

.work-info p{

    font-size:17px;

    color:#666;

    margin-bottom:10px;

}

.work-info span{

    display:block;

    font-size:16px;

    line-height:1.7;

    color:#888;

}
/* =========================
   О КОМПАНИИ
========================= */

.about{
    background:#FFF8F4;
}

.about-content{

    display:flex;

    align-items:center;

    gap:70px;

}

.about-text{

    flex:1;

}

.about .section-title{

    text-align:left;

    margin-bottom:30px;

}

.about-text p{

    font-size:19px;

    line-height:1.9;

    margin-bottom:22px;

    color:#555;

}

.about-stats{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

    margin-top:45px;

}

.stat{

    background:white;

    border-radius:18px;

    padding:28px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.stat h3{

    font-size:40px;

    color:#D47D4A;

    margin-bottom:10px;

}

.stat p{

    font-size:16px;

}

.about-image{

    flex:1;

    text-align:center;

}

.about-image img{

    width:100%;

    max-width:520px;

    border-radius:25px;

    box-shadow:0 25px 50px rgba(0,0,0,.12);

}

/* Круглый логотип */

.company-logo{

    width:180px;

    height:180px;

    border-radius:50%;

    object-fit:cover;

    margin-top:35px;

    border:8px solid white;

    box-shadow:0 15px 35px rgba(0,0,0,.15);

}

/* =========================
   ИСТОРИЯ ПРОЕКТОВ
========================= */

.projects-history{

    background:#FFF3EC;

}

.section-subtitle{

    text-align:center;

    font-size:19px;

    color:#666;

    margin-bottom:55px;

}

.year-block{

    background:white;

    border-radius:22px;

    overflow:hidden;

    margin-bottom:25px;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

}

.year-btn{

    width:100%;

    border:none;

    background:white;

    padding:25px 35px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    font-size:28px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

.year-btn:hover{

    background:#FFE5D6;

}

.year-content{

    display:none;

    padding:30px 35px;

}

.project-item{

    padding:18px 0;

    border-bottom:1px solid #EFEFEF;

    font-size:18px;

    line-height:1.8;

}

.project-item:last-child{

    border:none;

}

/* =========================
   КОНТАКТЫ
========================= */

.contacts{

    background:#FFF8F4;

}

.contacts-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:40px;

}

.contacts-info {
    max-width: 500px;
    margin: 0 auto;
    background: #ffffff;
    padding: 35px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.contacts-info h3,
.contacts-form h3{

    font-size:28px;

    margin-bottom:25px;

}

.contacts-info p{

    font-size:18px;

    margin-bottom:18px;

}

.contacts-form input,
.contacts-form textarea{

    width:100%;

    padding:16px;

    margin-bottom:18px;

    border:1px solid #E5E5E5;

    border-radius:12px;

    font-size:16px;

}

.contacts-form textarea{

    min-height:140px;

    resize:vertical;

}

.contacts-form button{

    background:#D47D4A;

    color:white;

    border:none;

    padding:18px;

    border-radius:12px;

    cursor:pointer;

    font-size:17px;

    font-weight:600;

    transition:.3s;

}

.contacts-form button:hover{

    background:#BF6B3D;

}
/* ===== Окно проекта ===== */

.project-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: rgba(0,0,0,0.85);

    justify-content: center;
    align-items: center;

    z-index: 9999;

    padding: 20px;
}


.modal-content {

    position: relative;

    max-width: 900px;
    width: 100%;

    max-height: 90vh;

    overflow-y: auto;

    text-align: center;

}


.modal-content img {

    width: 100%;

    max-height: 65vh;

    object-fit: contain;

    border-radius: 15px;

}


/* Текст проекта */

.modal-info h2{

    color:#ffffff;

    font-size:34px;

    margin-bottom:18px;

    font-weight:700;

}

.modal-info p{

    color:#ffffff;

    font-size:18px;

    line-height:1.8;

    margin:10px 0;

}

.modal-info span{

    color:#F6F6F6;

    font-size:17px;

    line-height:1.8;

}


/* Крестик */

.modal-close {

    position: absolute;

    top: -10px;

    right: -10px;

    width: 45px;

    height: 45px;

    border-radius: 50%;

    background: white;

    color: #333;

    font-size: 35px;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    z-index: 10;

    transition: .3s;

}


.modal-close:hover {

    transform: scale(1.1);

}


/* Стрелки */

.prev,
.next {

    position: absolute;

    top: 45%;

    width: 45px;

    height: 45px;

    border-radius: 50%;

    border: none;

    font-size: 25px;

    cursor: pointer;

}


.prev {

    left: 10px;

}


.next {

    right: 10px;

}
/* Миниатюры проекта */

.project-thumbnails {

    display:flex;

    justify-content:center;

    gap:10px;

    margin-top:20px;

    flex-wrap:wrap;

}


.project-thumbnails img {

    width:80px;

    height:60px;

    object-fit:cover;

    border-radius:8px;

    cursor:pointer;

    opacity:.7;

    transition:.3s;

}


.project-thumbnails img:hover {

    opacity:1;

    transform:scale(1.05);

}


/* Маленькие стрелки */

.prev,
.next {

    width:35px;
    height:35px;

    border-radius:50%;

    background:rgba(255,255,255,0.25);

    color:white;

    border:none;

    font-size:28px;

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    transition:.3s;

}


.prev:hover,
.next:hover {

    background:rgba(255,255,255,0.5);

}


.prev {

    left:15px;

}


.next {

    right:15px;

}
.modal-content{

    background:#1F1F1F;

    border-radius:25px;

    padding:25px;

    max-width:950px;

}

.modal-info{

    margin-top:25px;

    background:#2A2A2A;

    border-radius:18px;

    padding:25px;

    text-align:left;

}

.modal-info h2{

    color:white;

    font-size:34px;

    margin-bottom:18px;

}

.modal-info p{

    color:white;

    font-size:18px;

    line-height:1.8;

}

.project-thumbnails{

    display:flex;

    justify-content:center;

    gap:12px;

    margin-top:25px;

    flex-wrap:wrap;

}

.project-thumbnails img{

    width:90px;

    height:70px;

    object-fit:cover;

    border-radius:10px;

    cursor:pointer;

    transition:.3s;

    opacity:.7;

}

.project-thumbnails img:hover{

    opacity:1;

    transform:scale(1.08);

}
.more-project{

    margin-top:20px;

    color:#D47D4A;

    font-weight:700;

    font-size:16px;

}
/* ===== Стрелки галереи ===== */

.gallery-wrapper {

    position:relative;

    display:flex;

    align-items:center;

}


.gallery-arrow {

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:45px;

    height:45px;

    border-radius:50%;

    border:none;

    background:rgba(255,255,255,0.9);

    font-size:35px;

    cursor:pointer;

    z-index:5;

    box-shadow:0 5px 15px rgba(0,0,0,.15);

}


.gallery-arrow.left {

    left:10px;

}


.gallery-arrow.right {

    right:10px;

}


.gallery-arrow:hover {

    background:white;

}
/* ===== Мобильная галерея ===== */

@media (max-width:768px){


.gallery {

    padding:60px 0;

}


.gallery-block h3 {

    font-size:26px;

}


.gallery-wrapper {

    padding:0 10px;

}


.gallery-grid {

    gap:15px;

}


.gallery-grid .work-card {

    min-width:85%;

}


.gallery-arrow {

    width:38px;

    height:38px;

    font-size:28px;

}


.gallery-arrow.left {

    left:5px;

}


.gallery-arrow.right {

    right:5px;

}


.work-card img {

    height:220px;

}


.work-info h4 {

    font-size:20px;

}


.work-info span {

    font-size:14px;

}

}
/* ===== Адаптация под планшеты и телефоны ===== */

@media (max-width: 900px){

    .header{
        padding:20px;
    }

    .logo{
        font-size:26px;
    }

    nav{
        gap:10px;
        flex-wrap:wrap;
        justify-content:center;
    }

    nav a{
        font-size:13px;
    }

    .hero h1{
        font-size:38px;
    }

    .hero p{
        font-size:18px;
    }

    .about-content{
        display:flex;
        flex-direction:column;
        gap:30px;
    }

    .contacts-wrapper{
        display:grid;
        grid-template-columns:1fr;
    }

    .services-container{
        grid-template-columns:1fr;
    }

    .advantages-container{
        grid-template-columns:1fr;
    }
}


    .service-card{

        width:90%;

    }


    .about-content{

        gap:30px;

    }


    .about-image img{

        width:100%;

    }


   .contacts-info {

    max-width:600px;

    margin:0 auto;

    background:#ffffff;

    padding:45px;

    border-radius:25px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    text-align:center;

}


@media (max-width:600px){


    h1{
        font-size:32px;
    }


    .hero{

        min-height:90vh;

        text-align:center;

    }


    .hero h1{

        font-size:32px;

    }


    .section-title{

        font-size:32px;

    }


    .gallery h2,
    .services h2,
    .contacts h2{

        font-size:30px;

    }


    .gallery-grid .work-card{

        min-width:90%;

    }


    .modal-content{

        width:95%;

    }


    .modal-info h2{

        font-size:24px;

    }


}
/* Логотип в контактах */

.contacts-logo {

    width:120px;

    height:120px;

    object-fit:cover;

    border-radius:50%;

    margin-bottom:25px;

    box-shadow:0 10px 25px rgba(0,0,0,.15);

}
.contact-line {
    display:flex;
    gap:12px;
    justify-content:center;
    margin-bottom:18px;
    color:#555;
    line-height:1.5;
}


.contact-feature {
    display:flex;
    align-items:flex-start;
    gap:18px;
    margin-top:25px;
}


.contact-feature span {

    width:45px;
    height:45px;

    background:#FFE9DC;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:22px;

}


.contact-feature strong {

    display:block;
    margin-bottom:5px;

}


.contact-feature small {

    color:#777;
    line-height:1.5;

}
/* ===========================
   Мобильная версия
=========================== */
@media (max-width: 768px) {

    .hero,
    .hero-content,
    .hero-container {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }

    .hero h1 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .hero p {
        font-size: 1rem;
    }

    .hero-buttons {
        display: flex;
        flex-direction: column;
        gap: 15px;
        width: 100%;
        align-items: center;
    }

    .hero-buttons a,
    .hero-buttons button {
        width: 90%;
        max-width: 320px;
    }

    section {
        padding-left: 20px;
        padding-right: 20px;
    }

    img {
        max-width: 100%;
        height: auto;
    }
}
/* ===== Исправление мобильной версии ===== */

@media (max-width: 768px) {

    .hero {
        min-height: auto;
        padding: 120px 20px 70px;
    }

    .hero-content {
        margin-left: 0;
        max-width: 100%;
        text-align: center;
    }

    .hero h1 {
        font-size: 34px;
        line-height: 1.2;
        text-align: center;
    }

    .hero p {
        font-size: 17px;
        text-align: center;
    }

    .button {
        display: block;
        width: 100%;
        max-width: 320px;
        margin: 30px auto 0;
        text-align: center;
        padding: 16px 24px;
    }
}
html,
body{
    width:100%;
    overflow-x:hidden;
}
@media (max-width:768px){

    .header{
        flex-direction:column;
        gap:20px;
        padding:20px;
    }

    nav{
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        gap:12px;
        width:100%;
    }

    nav a{
        font-size:14px;
    }

}
@media(max-width:768px){

.about-stats{
    grid-template-columns:1fr;
}

}
.contacts-process{
    margin-top:40px;
}
/* ===== Более насыщенный фон на мобильных ===== */

@media (max-width:768px){

    body,
    .services,
    .advantages,
    .gallery,
    .about,
    .contacts{
        background:#f7ddcf;
    }

}