:root{
    --color-primary:#6f2f2f;
    --color-primary-hover:#5b2525;
    --color-primary-soft:rgba(111,47,47,.08);

    --color-text:#2d2d2d;
    --color-text-light:#777777;

    --color-bg:#f7f4f3;
    --color-bg-soft:#fbfafa;
    --color-white:#ffffff;

    --color-border:#e1d2d2;
    --color-accent-light:#f4efef;

    --shadow-soft:0 18px 45px rgba(72,45,45,.08);
    --shadow-card:0 20px 60px rgba(72,45,45,.10);

    --radius-sm:12px;
    --radius-md:24px;
    --radius-lg:36px;

    --container-width:1200px;

    --font-title:'Cormorant Garamond', serif;
    --font-main:'Inter', sans-serif;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}
body.menu-open{
    overflow:hidden;
}
body{
    background:var(--color-bg);
    color:var(--color-text);
    font-family:var(--font-main);
}
html,
body{
    width:100%;
    overflow-x:hidden;
}
body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-2;
    pointer-events:none;
    background:
        radial-gradient(circle at 8% 18%, rgba(111,47,47,.08), transparent 24%),
        radial-gradient(circle at 92% 12%, rgba(111,47,47,.08), transparent 20%),
        radial-gradient(circle at 85% 85%, rgba(111,47,47,.06), transparent 24%);
}

a{
    text-decoration:none;
    color:inherit;
}

img{
    width:100%;
    display:block;
}

.container{
    max-width:var(--container-width);
    margin:0 auto;
    padding:0 20px;
}


.about-page{
    background:var(--color-bg);
}

/* Hero */

.about-hero{
    padding:90px 0 70px;
    background:var(--color-white);
}

.page-title{
    max-width:800px;
    margin-bottom:24px;

    font-family:var(--font-title);
    font-size:72px;
    line-height:1;
    color:var(--color-primary);
}

.page-subtitle{
    max-width:620px;

    font-size:20px;
    line-height:1.7;
    color:var(--color-text);
}

/* Общие элементы */

.section-label{
    display:block;
    margin-bottom:14px;

    color:var(--color-primary);
    font-size:13px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
}

.section-title{
    font-family:var(--font-title);
    font-size:52px;
    line-height:1.05;
    color:var(--color-primary);
    margin-bottom:24px;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:16px 30px;
    border-radius:999px;

    background:var(--color-primary);
    color:var(--color-white);

    font-size:14px;
    font-weight:600;

    border:1px solid var(--color-primary);
    transition:.3s;
}
.pochta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:6px 30px;
    border-radius:999px;

    background-color: inherit;
    color:var(--color-primary);

    font-size:14px;
    font-weight:600;

    border:1px solid var(--color-primary);
    transition:.3s;
    line-height: 25px;
}

.btn:hover{
    background:var(--color-primary-hover);
    border-color:var(--color-primary-hover);
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(111,47,47,.18);
}

.btn--outline{
    background:transparent;
    color:var(--color-primary);
}

.btn--outline:hover{
    background:var(--color-primary);
    color:var(--color-white);
}

/* Header */

.header{
    position:sticky;
    top:0;
    z-index:20;

    padding:16px 0;

    background:rgba(255,255,255,.82);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(225,210,210,.55);
}

.header__inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:28px;
}

.logo{
    display:flex;
    align-items:center;
    gap:14px;
}

.logo img{
    width:52px;
}

.logo__text h3{
    font-family:var(--font-title);
    font-size:22px;
    line-height:1;
    color:var(--color-primary);
}

.logo__text p{
    margin-top:4px;
    font-size:12px;
    color:var(--color-text-light);
}

.menu{
    display:flex;
    gap:32px;
}

.menu a{
    position:relative;
    font-size:14px;
    font-weight:500;
    transition:.3s;
}

.menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-7px;

    width:0;
    height:1px;

    background:var(--color-primary);
    transition:.3s;
}

.menu a:hover{
    color:var(--color-primary);
}

.menu a:hover::after{
    width:100%;
}

.btn--header{
    padding:13px 25px;
}

/* Hero */

.hero{
    position:relative;
    overflow:hidden;

    padding:90px 0 100px;

    background:
        linear-gradient(120deg, rgba(255,255,255,.95), rgba(247,244,243,.78)),
        radial-gradient(circle at 76% 35%, rgba(111,47,47,.14), transparent 30%);
}

.hero::before{
    content:"";
    position:absolute;
    right:-120px;
    top:80px;

    width:420px;
    height:420px;

    border:1px solid rgba(111,47,47,.12);
    border-radius:50%;
}

.hero::after{
    content:"";
    position:absolute;
    left:-80px;
    bottom:-100px;

    width:300px;
    height:300px;

    background:rgba(111,47,47,.06);
    border-radius:50%;
}

.hero__inner{
    position:relative;
    z-index:1;

    display:grid;
    grid-template-columns:1fr .95fr;
    align-items:center;
    gap:70px;
}

.hero__subtitle{
    display:block;
    margin-bottom:22px;

    color:var(--color-primary);
    font-size:13px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
}

.hero__title{
    font-family:var(--font-title);
    font-size:88px;
    line-height:.92;
    color:var(--color-primary);
    margin-bottom:30px;
}

.hero__text{
    max-width:560px;
    margin-bottom:42px;

    font-size:18px;
    line-height:1.8;
    color:var(--color-text);
}

.hero__buttons{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
}

.hero__image{
    position:relative;
}

.hero__image::before{
    content:"";
    position:absolute;
    inset:35px -25px -25px 35px;

    border-radius:var(--radius-lg);
    background:var(--color-primary-soft);
    z-index:-1;
}

.hero__image::after{
    content:"";
    position:absolute;
    right:-32px;
    top:-32px;

    width:120px;
    height:120px;

    border-radius:50%;
    border:1px solid rgba(111,47,47,.22);
}

.hero__image img{
    height:560px;
    object-fit:cover;
    object-position:center top;

    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-card);
}

/* About */

.about{
    position:relative;
    overflow:hidden;
    padding:105px 0;
    background:var(--color-white);
}

.about::before{
    content:"";
    position:absolute;
    right:-120px;
    top:520px;

    width:240px;
    height:240px;

    border-radius:50%;
    background:var(--color-primary-soft);
}

.about__inner{
    position:relative;
    z-index:1;

    display:grid;
    grid-template-columns:1fr 1fr ;
    gap:40px;
    align-items:center;
}

.about__text{
    margin-bottom:18px;

    font-size:17px;
    line-height:1.85;
    color:var(--color-text);
}

.about__content .btn{
    margin-top:18px;
}

.about__image{
    position:relative;
}

.about__image::after{
    content:"";
    position:absolute;
    left:-22px;
    bottom:-22px;

    width:110px;
    height:110px;

    border-radius:50%;
    background:rgba(111,47,47,.10);
    z-index:-1;
}

.about__image img{
    height:410px;
    object-fit:cover;
    border-radius:var(--radius-lg) 8px var(--radius-lg) var(--radius-lg);
    box-shadow:var(--shadow-card);
}

.about__stats{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.about-stat{
    position:relative;
    overflow:hidden;

    padding:28px 24px;
    border-radius:24px 24px 24px 6px;

    background:var(--color-bg);
    border:1px solid var(--color-border);
}

.about-stat::after{
    content:"";
    position:absolute;
    right:-30px;
    top:-30px;

    width:80px;
    height:80px;

    border-radius:50%;
    background:rgba(111,47,47,.08);
}

.about-stat span{
    display:block;
    margin-bottom:8px;

    font-family:var(--font-title);
    font-size:40px;
    font-weight:700;
    color:var(--color-primary);
}

.about-stat p{
    font-size:14px;
    line-height:1.5;
}

/* Methods */

.methods{
    position:relative;
    overflow:hidden;

    padding:105px 0;
    background:var(--color-bg);
}

.methods::before{
    content:"";
    position:absolute;
    left:-120px;
    top:160px;

    width:260px;
    height:260px;

    border-radius:50%;
    border:1px solid rgba(111,47,47,.14);
}

.methods__head{
    max-width:760px;
    margin:0 auto 60px;
    text-align:center;
}

.methods__inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    align-items:stretch;
}

.methods__list{
    position:relative;
    overflow:hidden;

    padding:38px;
    border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) 8px;
    background:var(--color-white);
    border:1px solid var(--color-border);
    box-shadow:var(--shadow-soft);
}

.methods__list::after{
    content:"";
    position:absolute;
    right:-55px;
    bottom:-55px;

    width:140px;
    height:140px;

    border-radius:50%;
    background:var(--color-primary-soft);
}

.methods__list h3{
    position:relative;
    z-index:1;

    margin-bottom:26px;
    font-family:var(--font-title);
    font-size:34px;
    color:var(--color-primary);
}

.methods__list ul{
    position:relative;
    z-index:1;
    list-style:none;
}

.methods__list li{
    position:relative;
    padding-left:34px;
    margin-bottom:18px;

    font-size:16px;
    line-height:1.5;
}

.methods__list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;

    width:21px;
    height:21px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid var(--color-border);
    border-radius:50%;

    color:var(--color-primary);
    font-size:12px;
}

.methods__bottom{
    margin-top:45px;
    text-align:center;
}

/* Services */

.services{
    position:relative;
    overflow:hidden;

    padding:105px 0;
    background:var(--color-white);
}

.services::before{
    content:"";
    position:absolute;
    left: -70px;
    bottom: 120px;
    width: 400px;
    height: 400px;

    border-radius:50%;
    background:rgba(111,47,47,.06);
}

.services__head{
    max-width:760px;
    margin:0 auto 60px;
    text-align:center;
}

.services__subtitle{
    margin-top:18px;
    font-size:17px;
    line-height:1.7;
    color:var(--color-text-light);
}

.services__grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:26px;
}

.service-card{
    position:relative;
    overflow:hidden;

    min-height:370px;
    padding:30px 26px;

    display:flex;
    flex-direction:column;

    border-radius:30px 30px 30px 6px;
    background:var(--color-bg);
    border:1px solid var(--color-border);

    transition:.3s;
}

.service-card::before{
    content:"";
    position:absolute;
    top:-70px;
    right:-70px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:rgba(111,47,47,.08);
}

.service-card::after{
    content:"";
    position:absolute;
    right: -20px;
    bottom:24px;
    width:62px;
    height:62px;
    border-radius:50%;
    border:1px solid rgba(111,47,47,.18);
}

.service-card:hover{
    transform:translateY(-7px);
    box-shadow:var(--shadow-card);
}

.service-card--accent{
    background:var(--color-primary);
    color:var(--color-white);
}

.service-card--accent::before{
    background:rgba(255,255,255,.12);
}

.service-card--accent::after{
    border-color:rgba(255,255,255,.25);
}

.service-card__top,
.service-card h3,
.service-card p,
.service-card__meta,
.service-card__link{
    position:relative;
    z-index:1;
}

.service-card__top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:15px;
    margin-bottom:35px;
}

.service-card__tag{
    padding:8px 12px;

    border-radius:999px;
    background:var(--color-white);
    color:var(--color-primary);

    font-size:12px;
    font-weight:600;
}

.service-card__price{
    font-family:var(--font-title);
    font-size:29px;
    font-weight:700;
    color:var(--color-primary);
    white-space:nowrap;
}

.service-card--accent .service-card__tag{
    background:rgba(255,255,255,.14);
    color:var(--color-white);
}

.service-card--accent .service-card__price{
    color:var(--color-white);
}

.service-card h3{
    margin-bottom:18px;

    font-family:var(--font-title);
    font-size:31px;
    line-height:1.1;
    color:var(--color-primary);
}

.service-card--accent h3{
    color:var(--color-white);
}

.service-card p{
    margin-bottom:28px;

    font-size:15px;
    line-height:1.75;
    color:var(--color-text);
}

.service-card--accent p{
    color:rgba(255,255,255,.86);
}

.service-card__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;

    margin-top:auto;
    margin-bottom:26px;
}

.service-card__meta span{
    padding:7px 10px;

    border-radius:999px;
    background:var(--color-white);
    border:1px solid var(--color-border);

    font-size:12px;
    color:var(--color-text-light);
}

.service-card--accent .service-card__meta span{
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.2);
    color:var(--color-white);
}

.service-card__link{
    width:max-content;

    font-size:14px;
    font-weight:600;
    color:var(--color-primary);
}

.service-card__link::after{
    content:" →";
}

.service-card--accent .service-card__link{
    color:var(--color-white);
}

.services__bottom{
    margin-top:45px;
    text-align:center;
}

/* Steps */

.steps{
    position:relative;
    overflow:hidden;

    padding:105px 0;
    background:var(--color-bg);
}
.steps::after{
    content: "";
    position: absolute;
    right: -32px;
    top: -32px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    border: 1px solid rgba(111, 47, 47, 0.22);
}

.steps__head{
    text-align:center;
    margin-bottom:60px;
}

.steps__grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
}

.step-card{
    position:relative;
    overflow:hidden;

    padding:32px 28px;
    border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) 8px;
    background:var(--color-white);
    border:1px solid var(--color-border);
    box-shadow:var(--shadow-soft);
}

.step-card::after{
    content:"";
    position:absolute;
    right:-35px;
    top:-35px;

    width:95px;
    height:95px;

    border-radius:50%;
    background:var(--color-primary-soft);



    
}

.step-card span{
    position:relative;
    z-index:1;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:56px;
    height:56px;

    margin-bottom:24px;

    border-radius:50%;
    background:var(--color-primary);
    color:var(--color-white);

    
    font-size:28px;
}

.step-card h3{
    position:relative;
    z-index:1;

    margin-bottom:15px;

    font-family:var(--font-title);
    font-size:28px;
    line-height:1.15;
    color:var(--color-primary);
}

.step-card p{
    position:relative;
    z-index:1;

    font-size:15px;
    line-height:1.7;
}

/* Reviews */

.reviews{
    position:relative;
    overflow:hidden;

    padding:105px 0;
    background:var(--color-white);
}
.reviews__bottom{
    margin-top: 60px;
    text-align: center;
}

.reviews__head{
    text-align:center;
    margin-bottom:60px;
}

.reviews__gallery{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:22px;
}

.review-image{
    display:block;
    overflow:hidden;

    border-radius:30px 30px 30px 6px;
    background:var(--color-bg);
    border:1px solid var(--color-border);
    box-shadow:var(--shadow-soft);

    transition:.3s;
}

.review-image:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-card);
}

.review-image img{
    width:100%;
    height:350px;
    object-fit:cover;
    object-position:top;
    display:block;
}

/* Contact */

.contact{
    position:relative;
    overflow:hidden;

    padding:105px 0;
    background:var(--color-bg);
}

.contact::before{
    content:"";
    position:absolute;
    right:-120px;
    bottom:-120px;

    width:300px;
    height:300px;

    border-radius:50%;
    background:rgba(111,47,47,.08);
}

.contact__inner{
    position:relative;
    z-index:1;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:start;
}

.contact__text{
    max-width:520px;
    margin-bottom:35px;

    font-size:17px;
    line-height:1.8;
}

.contact__links{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.contact-link{
    padding:14px 22px;
    border-radius:999px;
    background:var(--color-white);
    border:1px solid var(--color-border);
    color:var(--color-primary);

    font-size:14px;
    font-weight:600;

    transition:.3s;
}

.contact-link:hover{
    background:var(--color-primary);
    color:var(--color-white);
    transform:translateY(-2px);
}

.contact__form{
    padding:38px;

    border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) 8px;
    background:var(--color-white);
    border:1px solid var(--color-border);
    box-shadow:var(--shadow-card);
}

.contact__form input,
.contact__form textarea{
    width:100%;
    margin-bottom:16px;
    padding:17px 18px;

    border:1px solid var(--color-border);
    border-radius:16px;

    background:var(--color-bg-soft);

    font-family:var(--font-main);
    font-size:15px;
    color:var(--color-text);
    outline:none;
}

.contact__form textarea{
    min-height:140px;
    resize:vertical;
}

.contact__form input:focus,
.contact__form textarea:focus{
    border-color:var(--color-primary);
    background:var(--color-white);
}

.contact__form .btn{
    width:100%;
    border:none;
    cursor:pointer;
    font-family:var(--font-main);
}

/* Footer */

.footer{
    padding:40px 0;
    background:#3f2c2c;
    color:var(--color-white);
}

.footer__inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
}

.footer__logo{
    font-family:var(--font-title);
    font-size:30px;
}

.footer__menu{
    display:flex;
    flex-wrap:wrap;
    gap:25px;
}

.footer__menu a{
    font-size:14px;
    opacity:.82;
    transition:.3s;
}

.footer__menu a:hover{
    opacity:1;
}

.footer__bottom{
    margin-top:25px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.18);
    font-size:13px;
    opacity:.72;
    display: flex;
    flex-direction: column;
    gap: 20px;
}





.reviews-modal{
    position:fixed;
    inset:0;
    z-index:9999;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:40px 80px;

    background:rgba(0,0,0,.85);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:.3s;
}

.reviews-modal.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.reviews-modal__img{
    max-width:90%;
    max-height:90vh;

    object-fit:contain;

    border-radius:14px;
    box-shadow:0 20px 60px rgba(0,0,0,.45);
}

.reviews-modal__close,
.reviews-modal__arrow{
    position:absolute;

    border:none;
    background:rgba(255,255,255,.12);
    color:white;

    cursor:pointer;
    transition:.3s;
}

.reviews-modal__close:hover,
.reviews-modal__arrow:hover{
    background:rgba(255,255,255,.25);
}

.reviews-modal__close{
    top:24px;
    right:32px;

    width:48px;
    height:48px;

    border-radius:50%;

    font-size:40px;
    line-height:1;
}

.reviews-modal__arrow{
    top:50%;
    transform:translateY(-50%);

    width:56px;
    height:56px;

    border-radius:50%;

    font-size:52px;
    line-height:.8;
}

.reviews-modal__arrow--prev{
    left:32px;
}

.reviews-modal__arrow--next{
    right:32px;
}



.burger{
    display:none;

    width:40px;
    height:40px;

    border:none;
    background:none;
    cursor:pointer;

    flex-direction:column;
    justify-content:center;
    gap:6px;
}

.burger span{
    display:block;
    width:28px;
    height:2px;

    background:var(--color-primary);

    transition:.3s;
}



.burger.active span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
}

.burger.active span:nth-child(2){
    opacity:0;
}

.burger.active span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
}



/* =========================
   ADAPTIVE
========================= */

@media(max-width:1200px){

    .container{
        max-width:100%;
        padding:0 28px;
    }

    .hero__title{
        font-size:76px;
    }

    .services__grid,
    .steps__grid,
    .reviews__gallery{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media(max-width:992px){

    .btn--header{
        display:none;
    }

    .burger{
        display:flex;
        position:relative;
        z-index:1001;
    }

    .menu{
        position:fixed;
        inset:0;
        z-index:1000;

        width:100%;
        height:100vh;

        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:28px;

        background:var(--color-white);

        opacity:0;
        visibility:hidden;
        pointer-events:none;

        transition:.3s;
    }

    .menu.active{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }

    .menu a{
        font-family:var(--font-title);
        font-size:34px;
        color:var(--color-primary);
    }

    .menu a::after{
        display:none;
    }

    .hero,
    .about,
    .methods,
    .services,
    .steps,
    .reviews,
    .contact,
    .about-hero{
        padding:75px 0;
    }

    .hero__inner,
    .about__inner,
    .methods__inner,
    .contact__inner{
        grid-template-columns:1fr;
        gap:42px;
    }

    .hero__title,
    .page-title{
        font-size:62px;
    }

    .section-title{
        font-size:44px;
    }

    .hero__image img,
    .about__image img{
        height:auto;
        max-height:560px;
    }

    .about__image{
        order:-1;
    }

    .methods__list{
        padding:32px;
    }

    .contact__form{
        padding:32px;
    }

    .footer__inner{
        flex-direction:column;
        align-items:flex-start;
    }

    .footer__menu{
        gap:16px;
    }
}

@media(max-width:768px){

    .container{
        padding:0 20px;
    }

    .header{
        padding:12px 0;
    }

    .header__inner{
        gap:16px;
    }

    .logo img{
        width:44px;
    }

    .logo__text h3{
        font-size:18px;
    }

    .logo__text p{
        font-size:11px;
    }

    .hero__title,
    .page-title{
        font-size:52px;
    }

    .page-subtitle{
        font-size:17px;
    }

    .section-title{
        font-size:38px;
    }

    .hero__text,
    .about__text,
    .contact__text{
        font-size:16px;
        line-height:1.75;
    }

    .hero__buttons{
        flex-direction:column;
    }

    .btn{
        width:100%;
        padding:15px 24px;
    }

    .services__grid,
    .steps__grid,
    .reviews__gallery{
        grid-template-columns:1fr;
    }

    .service-card{
        min-height:auto;
    }

    .service-card__top{
        flex-direction:column;
        margin-bottom:26px;
    }

    .step-card,
    .methods__list,
    .contact__form{
        border-radius:var(--radius-md);
    }

    .review-image img{
        height:260px;
    }

    .footer__menu{
        flex-direction:column;
        gap:12px;
    }

    .reviews-modal{
        padding:30px 18px;
    }

    .reviews-modal__img{
        max-width:100%;
        max-height:86vh;
    }

    .reviews-modal__close{
        top:14px;
        right:14px;
        width:42px;
        height:42px;
        font-size:34px;
    }

    .reviews-modal__arrow{
        width:42px;
        height:42px;
        font-size:40px;
    }

    .reviews-modal__arrow--prev{
        left:10px;
    }

    .reviews-modal__arrow--next{
        right:10px;
    }
}

@media(max-width:576px){

    .container{
        padding:0 16px;
    }

    .hero,
    .about,
    .methods,
    .services,
    .steps,
    .reviews,
    .contact,
    .about-hero{
        padding:56px 0;
    }

    .hero__title,
    .page-title{
        font-size:44px;
        line-height:1;
    }

    .section-title{
        font-size:34px;
    }

    .section-label{
        font-size:11px;
        letter-spacing:1.6px;
    }

    .menu a{
        font-size:30px;
    }

    .hero__image::before,
    .hero__image::after,
    .about__image::after,
    .hero::before,
    .hero::after,
    .about::before,
    .methods::before,
    .services::before,
    .steps::after,
    .contact::before{
        display:none;
    }

    .hero__image img,
    .about__image img{
        border-radius:var(--radius-md);
    }

    .methods__list,
    .service-card,
    .step-card,
    .contact__form{
        padding:26px 22px;
    }

    .methods__list h3,
    .service-card h3,
    .step-card h3{
        font-size:28px;
    }

    .contact__links{
        flex-direction:column;
    }

    .contact-link{
        width:100%;
        text-align:center;
    }

    .footer{
        padding:34px 0;
    }

    .footer__logo{
        font-size:26px;
    }

    .review-image img{
        height:220px;
    }
}

/* =========================
   ABOUT PAGE ADAPTIVE
========================= */

@media(max-width:992px){

    .story,
    .turning-point,
    .education,
    .approach,
    .media,
    .page-cta{
        padding:75px 0;
    }

    .story__inner,
    .approach__inner{
        grid-template-columns:1fr;
        gap:36px;
        width:100%;
        max-width:100%;
    }

    .story__content,
    .story__image,
    .approach__content,
    .approach__image{
        width:100%;
        max-width:100%;
        min-width:0;
    }

    .story__image img,
    .approach__image img{
        width:100%;
        height:auto;
        max-height:540px;
        object-fit:cover;
    }

    .education__gallery{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media(max-width:768px){

    .story__inner,
    .approach__inner{
        display:flex;
        flex-direction:column;
        gap:28px;
    }

    .story__content p,
    .turning-point p,
    .approach__content p,
    .media__box p,
    .page-cta p{
        font-size:16px;
        line-height:1.75;
        overflow-wrap:break-word;
    }

    .turning-point__box,
    .media__box{
        padding:36px 26px;
    }

    .education__gallery{
        gap:18px;
    }

    .education__gallery img{
        height:300px;
    }

    .media__buttons,
    .page-cta__buttons{
        flex-direction:column;
    }
}

@media(max-width:576px){

    .story,
    .turning-point,
    .education,
    .approach,
    .media,
    .page-cta{
        padding:56px 0;
    }

    .education__gallery{
        grid-template-columns:1fr;
    }

    .education__gallery img{
        height:auto;
    }

    .turning-point__box,
    .media__box{
        padding:28px 20px;
        border-radius:var(--radius-md);
    }

    .page-cta__buttons .btn,
    .media__buttons .btn{
        width:100%;
    }
}