﻿/*==================================================
                    ROOT
==================================================*/

:root{

    --black:#111111;
    --white:#ffffff;
    --text:#222222;

    --wrapper:1500px;

    --transition:.3s ease;

}

/*==================================================
                    RESET
==================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:"Inria Serif",serif;
    background:#fff;
    color:var(--text);
    overflow-x:hidden;

}

img{
    display:block;
    max-width:100%;
    height:auto;
    user-select:none;
    -webkit-user-drag:none;
}

a{
    text-decoration:none;
    color:inherit;
}

ul{
    list-style:none;
    margin:0;
    padding:0;
}

/*==================================================
                    WRAPPER
==================================================*/

.wrapper{

    width:min(var(--wrapper),92%);
    margin:auto;

}

/*==================================================
                    HEADER
==================================================*/

.site-header{

    position:sticky;
    top:0;
    z-index:9999;

    background:#fff;

    border-bottom:2px solid #111;

    transition:
        background .3s ease,
        box-shadow .3s ease;

}

.site-header.scrolled{

    box-shadow:0 8px 25px rgba(0,0,0,.12);

}

.header-row{

    height:120px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.site-logo{

    width: 130px;
    display:block;
    margin-top: 10px;
    margin-bottom: 10px;;

}

/*==========================
    DESKTOP NAV
==========================*/

.desktop-nav{

    display:flex;

    align-items:center;

    justify-content:flex-end;

    flex:1;

    gap:55px;

    margin-left:100px;

}

.desktop-nav a{

    font-size:22px;

    font-weight:400;

    color:#111;

    transition:var(--transition);

}

.desktop-nav a.active{

    font-weight:700;

}

.desktop-nav a:hover{

    color:#666;

}

/*==========================
    HAMBURGER
==========================*/

.navbar-toggler{

    display:none;

    border:none;

    background:transparent;

    padding:0;

    box-shadow:none;

}

.navbar-toggler:focus{

    box-shadow:none;

}

/* Bootstrap ikon fekete */

.navbar-toggler-icon{

    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2817,17,17,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.3' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");

}

/*==========================
    MOBILE MENU
==========================*/

.mobile-menu{

    display:none;

}

.mobile-menu.show{

    display:block;

}

.mobile-menu nav{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:22px 0;

}

.mobile-menu nav a{

    width:100%;

    display:block;

    padding:12px 0;

    font-size:20px;

}

.mobile-menu nav a.active{

    font-weight:700;

}

/*==================================================
                    HERO
==================================================*/

.hero{

    position:relative;

    background-image:url("/.netlify/images?url=/images/background.png&w=1894&q=80");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    margin-top:-2px;

    padding:55px 0 65px;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.10);

}

.hero .wrapper{

    position:relative;

    z-index:2;

}

/*==================================================
                HERO GRID
==================================================*/

.hero-layout{

    display:grid;

    grid-template-columns:

        220px
        420px
        500px;

    justify-content:space-between;

    align-items:center;

    column-gap:70px;

}

/*==================================================
                BAL OLDAL
==================================================*/

.hero-left{

    justify-self:start;

}

.portrait-frame{

    border:5px solid #fff;

}

.portrait-image{

    width:100%;

    aspect-ratio:1;

    object-fit:cover;

}

.artist-name{

    color:#fff;

    text-align:center;

    margin-top:18px;

    font-size:25px;

    font-weight:700;

}

.artist-job{

    color:#fff;

    text-align:center;

    font-size:21px;

    margin-top:4px;

}

/*==================================================
                KĂ–ZĂ‰PSĹ RĂ‰SZ
==================================================*/

.hero-center{

    justify-self:start;

}

.hero-text{

    max-width:420px;

}

.hero-text p{

    color:#fff;

    font-size:21px;

    line-height:1.55;

    margin-bottom:22px;

}

.hero-button{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:14px 34px;

    background:#fff;

    color:#111;

    border:2px solid #fff;

    border-radius:999px;

    font-size:19px;

    font-weight:700;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease;

}

.hero-button:hover{

    background:transparent;

    color:#fff;

    transform:translateY(-2px);

}

.hero-button span{

    transition:transform .3s ease;

}

.hero-button:hover span{

    transform:translateX(4px);

}
/*==================================================
                    SLIDER
==================================================*/

.hero-right{

    width:100%;

    max-width:500px;

    justify-self:end;

}

.hero-slider-link{

    display:block;

    width:100%;

}

#heroSlider{

    width:100%;

    overflow:hidden;

    border:5px solid #fff;

    background:#fff;

}

.hero-slider-image{

    display:block;

    width:100%;

    aspect-ratio:5 / 4;

    object-fit:cover;

    transition:
        transform 7s ease,
        filter .35s ease;

}

.carousel-item.active .hero-slider-image{

    transform:scale(1.04);

}

.hero-slider-link:hover .hero-slider-image{

    filter:brightness(.92);

}

/* Bootstrap indikĂˇtorok elrejtĂ©se */

.carousel-indicators{

    display:none;

}

/*==================================================
                SAJĂT PĂ–TTYĂ–K
==================================================*/

.slider-dots{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    margin-top:18px;

    min-height:18px;

}

.slider-dots button{

    width:14px;

    height:14px;

    padding:0;

    border-radius:50%;

    border:2px solid #fff;

    background:transparent;

    cursor:pointer;

    transition:
        background .3s ease,
        border-color .3s ease;

}

.slider-dots button.active{

    background:#fff;

}

/*==================================================
                GALĂ‰RIA
==================================================*/

.gallery-preview{

    padding:90px 0 120px;

    background:#fff;

}

.gallery-preview-wrapper{

    position:relative;

}

.gallery-preview-link{
    display:block;
    color:inherit;
}

.gallery-preview-link:focus-visible{
    outline:3px solid #111;
    outline-offset:8px;
}

.gallery-preview-image{

    width:100%;

    display:block;

}

.gallery-button{

    position:absolute;

    left:50%;

    bottom:-34px;

    transform:translateX(-50%);

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:16px 42px;

    background:#111;

    color:#fff;

    border:2px solid #111;

    border-radius:999px;

    font-size:20px;

    font-weight:700;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease;

    z-index:10;

}

.gallery-button:hover{

    background:#fff;

    color:#111;

}

/*==================================================
                    FOOTER
==================================================*/

.site-footer{

    color:#fff;

}

.footer-background{

    position:relative;

    background-image:url("/.netlify/images?url=/images/background.png&w=1894&q=80");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    padding:65px 0;

}

.footer-background::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.10);

}

.footer-content{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:220px 1fr 1fr;

    gap:80px;

    align-items:start;

}

.footer-logo{

    width: 150px;

}

.footer-column h3{

    font-size:22px;

    margin-bottom:18px;

}

.footer-column li{

    font-size:18px;

    margin-bottom:10px;

}

.footer-column a{

    transition:opacity .3s ease;

}

.footer-column a:hover{

    opacity:.75;

}

.footer-bottom{

    background:#fff;

    color:#111;

    border-top:2px solid #111;

    padding:18px 0;

    text-align:center;

}

.footer-bottom p{

    margin:0;

    font-size:15px;

}

/*==================================================
                RESPONSIVE
==================================================*/

@media (max-width:991px){

    .desktop-nav{

        display:none;

    }

    .navbar-toggler{

        display:block;

    }

    .header-row{

        height:110px;

    }

    .site-logo{

        width:100px;

    }

    .mobile-menu nav{

        padding:18px 0;

    }

    .mobile-menu nav a{

        text-align:center;

        font-size:20px;

    }

    .hero{

        padding:25px 0 35px;

    }

    .hero-layout{

        grid-template-columns:1fr;

        justify-items:center;

        row-gap:22px;

    }

    .hero-left{

        justify-self:center;

    }

    .portrait-frame{

        width:170px;

        margin:auto;

    }

    .artist-name{

        font-size:28px;

        margin-top:12px;

    }

    .artist-job{

        font-size:18px;

        margin-bottom:2px;

    }

    .hero-center{

        justify-self:center;

        text-align:center;

    }

    .hero-text{

        max-width:550px;

    }

    .hero-text p{

        font-size:18px;

        margin-bottom:14px;

    }

    .hero-right{

        width:min(500px,100%);

        justify-self:center;

    }

    .gallery-button{

        font-size:18px;

        padding:14px 34px;

    }

    .footer-content{

        grid-template-columns:1fr;

        gap:40px;

        text-align:center;

    }

    .footer-logo{

        margin:auto;

    }

}

@media (max-width:768px){

    .wrapper{
        width:92%;
    }

    .hero{
        padding:18px 0 30px;
    }

    .portrait-frame{
        width:150px;
    }

    .artist-name{
        font-size:24px;
    }

    .artist-job{
        font-size:16px;
        margin-bottom:0;
    }

    .hero-text{
        max-width:100%;
    }

    .hero-text p{
        font-size:16px;
        line-height:1.5;
        margin-bottom:12px;
    }

    .hero-button{
        font-size:17px;
        padding:12px 28px;
    }

    .hero-right{
        width:min(420px,100%);
    }

    .slider-dots{
        margin-top:14px;
    }

    .gallery-preview{
        padding:60px 0 90px;
    }

    .gallery-button{
        font-size:16px;
        padding:12px 26px;
        bottom:-24px;
    }

    .footer-background{
        padding:50px 0;
    }

}

@media (max-width:480px){

    .portrait-frame{
        width:140px;
    }

    .hero-right{
        width:100%;
    }

}

/*==================================================
                    BIOGRAPHY
==================================================*/

.biography{
    padding:60px 0 70px;
    background:#f3f2ef;
}

.page-title{
    font-size:42px;
    font-weight:700;
    color:#111;
    margin-bottom:45px;
}

.biography-intro{
    display:grid;
    grid-template-columns:240px .8fr 1.2fr;
    gap:60px;
    align-items:start;
    margin-bottom:50px;
}

.biography-photo{
    position:sticky;
    top:160px;
}

.biography-photo img{
    width:100%;
    display:block;
    border:5px solid #fff;
    box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.biography-timeline{
    position:relative;
    padding-left:36px;
}

.biography-timeline::before{
    content:"";
    position:absolute;
    left:10px;
    top:68px;
    bottom:8px;
    width:2px;
    background:#cfcfcf;
}

.timeline-title{
    margin:0 0 30px;
    font-size:24px;
    font-weight:700;
    color:#111;
}

.timeline-item{
    position:relative;
    margin-bottom:28px;
}

.timeline-item:last-child{
    margin-bottom:0;
}

.timeline-item::before{
    content:"";
    position:absolute;
    left:-32px;
    top:9px;
    width:14px;
    height:14px;
    border-radius:50%;
    background:#fff;
    border:2px solid #111;
}

.timeline-year{
    font-size:28px;
    font-weight:700;
    color:#111;
    margin-bottom:8px;
}

.timeline-content{
    font-size:17px;
    line-height:1.65;
    color:#555;
}

.biography-quote{
    align-self:start;
    margin-top:40px;
    padding-left:45px;
    border-left:2px solid #d7d7d7;
    max-width:520px;
}

.quote-mark{
    display:block;
    font-size:90px;
    line-height:.7;
    color:#cfcfcf;
    margin-bottom:14px;
}

.biography-quote p{
    font-size:24px;
    line-height:1.9;
    font-style:italic;
    color:#333;
    margin-bottom:24px;
}

.quote-author{
    display:inline-block;
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid #d0d0d0;
    font-size:15px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#777;
}

.biography-content{
    max-width:920px;
    margin:0 auto;
}

.biography-section-title{
    margin:0 0 32px;
    font-size:36px;
    font-weight:700;
    color:#111;
}

.biography-text{
    font-size:19px;
    line-height:1.9;
    color:#444;
}

.biography-text p{
    text-align:justify;
    margin-bottom:26px;
}

.biography-text p:first-child::first-letter{
    float:left;
    font-size:66px;
    line-height:.85;
    margin-right:10px;
    margin-top:8px;
    font-weight:700;
    color:#111;
}

.biography-image-placeholder{
    position:relative;
    display:grid;
    place-items:center;
    width:100%;
    aspect-ratio:16 / 9;
    margin:52px 0;
    border:1px dashed #aaa7a0;
    background:#e9e7e1;
    color:#77736b;
    overflow:hidden;
}

.biography-image-placeholder::before{
    content:attr(data-label);
    font-size:14px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.biography-image-placeholder::after{
    content:"";
    position:absolute;
    inset:18px;
    border:1px solid rgba(17,17,17,.08);
    pointer-events:none;
}

.legacy-section{
    max-width:920px;
    margin:82px auto 0;
    padding-top:70px;
    border-top:1px solid #cbc8c1;
}

@media (max-width:991px){

    .biography{
        padding:45px 0;
    }

    .page-title{
        font-size:34px;
        text-align:center;
    }

    .biography-intro{
        grid-template-columns:1fr;
        gap:35px;
    }

    .biography-photo{
        position:static;
        width:230px;
        margin:auto;
    }

    .biography-quote{
        max-width:100%;
        margin-top:0;
        padding-left:0;
        padding-top:25px;
        border-left:none;
        border-top:2px solid #d7d7d7;
    }

    .biography-section-title{
        font-size:32px;
    }

    .timeline-content{
        max-width:100%;
    }

}

@media (max-width:768px){

    .biography{
        padding:35px 0;
    }

    .page-title{
        font-size:30px;
    }

    .biography-photo{
        width:200px;
    }

    .timeline-year{
        font-size:24px;
    }

    .timeline-content{
        font-size:16px;
    }

    .biography-text{
        font-size:17px;
        line-height:1.8;
    }

    .biography-text p{
        text-align:left;
    }

    .biography-section-title{
        margin-bottom:24px;
        font-size:28px;
    }

    .biography-image-placeholder{
        margin:36px 0;
    }

    .legacy-section{
        margin-top:58px;
        padding-top:48px;
    }

    .quote-mark{
        font-size:70px;
    }

    .biography-quote p{
        font-size:20px;
    }

}
/*==================================================
                    SLIDER IMAGE FIT
==================================================*/

#heroSlider{
    background:#000;
}

.hero-slider-image{
    object-fit:contain;
    background:#000;
}

.carousel-item.active .hero-slider-image{
    transform:none;
}

/*==================================================
                    GALLERY PAGE
==================================================*/

.gallery-page{
    padding:60px 0 95px;
    background:#fff;
}

.gallery-page .page-title{
    margin-bottom:45px;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:42px 62px;
}

.gallery-item{
    display:block;
    width:100%;
    padding:0;
    border:4px solid #111;
    border-radius:0;
    overflow:hidden;
    background:#fff;
    box-shadow:none;
    cursor:pointer;
    appearance:none;
    transition:transform .3s ease, opacity .3s ease;
}

.gallery-item:hover,
.gallery-item:focus-visible{
    transform:translateY(-3px);
    opacity:.86;
    outline:none;
}

.gallery-item img{
    width:100%;
    aspect-ratio:1;
    object-fit:cover;
    transition:transform .35s ease;
}

.gallery-item picture{
    display:block;
    width:100%;
}

.gallery-item:hover img,
.gallery-item:focus-visible img{
    transform:scale(1.04);
}

.gallery-item::after{
    display:none;
}

/*==================================================
                    GALLERY LIGHTBOX
==================================================*/

.lightbox{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.58);
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease, visibility .25s ease;
}

.lightbox.show{
    opacity:1;
    visibility:visible;
}

.lightbox-content{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:min(920px,78vw);
    min-height:min(720px,82vh);
    padding:0 70px;
    background:#000;
}

.lightbox-image{
    display:block;
    max-width:100%;
    max-height:78vh;
    object-fit:contain;
    user-select:none;
    pointer-events:none;
    box-shadow:none;
}

.lightbox-image.lightbox-slide-next{
    animation:lightbox-slide-next .28s ease-out;
}

.lightbox-image.lightbox-slide-previous{
    animation:lightbox-slide-previous .28s ease-out;
}

@keyframes lightbox-slide-next{
    from{
        opacity:.82;
        transform:translateX(12px);
    }

    to{
        opacity:1;
        transform:translateX(0);
    }
}

@keyframes lightbox-slide-previous{
    from{
        opacity:.82;
        transform:translateX(-12px);
    }

    to{
        opacity:1;
        transform:translateX(0);
    }
}

.lightbox-close{
    position:absolute;
    top:28px;
    right:34px;
    z-index:2;
    width:54px;
    height:54px;
    border:0;
    background:transparent;
    color:#fff;
    font-size:58px;
    line-height:1;
    cursor:pointer;
    transition:transform .25s ease;
}

.lightbox-close:hover,
.lightbox-close:focus-visible{
    transform:scale(1.08);
    outline:none;
}

.lightbox-prev,
.lightbox-next{
    position:absolute;
    top:50%;
    z-index:2;
    display:grid;
    place-items:center;
    width:72px;
    height:72px;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#000;
    font-size:42px;
    line-height:1;
    cursor:pointer;
    transform:translateY(-50%);
    transition:transform .25s ease, opacity .25s ease;
}

.lightbox-prev{
    left:9vw;
}

.lightbox-next{
    right:9vw;
}

.lightbox-prev:hover,
.lightbox-next:hover,
.lightbox-prev:focus-visible,
.lightbox-next:focus-visible{
    opacity:.9;
    transform:translateY(-50%) scale(1.06);
    outline:none;
}

.lightbox-counter{
    position:absolute;
    bottom:24px;
    left:50%;
    color:#fff;
    font-size:16px;
    letter-spacing:.12em;
    transform:translateX(-50%);
    user-select:none;
}

body.lightbox-open{
    overflow:hidden;
}

@media(max-width:1200px){
    .gallery-grid{
        grid-template-columns:repeat(3,1fr);
        gap:34px;
    }
}

@media(max-width:991px){
    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
        gap:24px;
    }

    .lightbox-content{
        width:82vw;
        padding:0 45px;
    }

    .lightbox-prev{
        left:22px;
    }

    .lightbox-next{
        right:22px;
    }
}

@media(max-width:768px){
    .gallery-page{
        padding:42px 0 70px;
    }

    .gallery-page .page-title{
        margin-bottom:28px;
    }

    .gallery-grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .gallery-item img{
        aspect-ratio:var(--gallery-image-ratio);
        object-fit:contain;
    }

    .lightbox{
        background:rgba(0,0,0,.82);
    }

    .lightbox-content{
        width:100vw;
        min-height:100vh;
        padding:0 18px;
    }

    .lightbox-image{
        max-height:72vh;
    }

    .lightbox-close{
        top:16px;
        right:18px;
        font-size:44px;
    }

    .lightbox-prev,
    .lightbox-next{
        width:50px;
        height:50px;
        font-size:30px;
    }

    .lightbox-prev{
        left:10px;
    }

    .lightbox-next{
        right:10px;
    }
}

@media(prefers-reduced-motion:reduce){
    .lightbox-image.lightbox-slide-next,
    .lightbox-image.lightbox-slide-previous{
        animation:none;
    }
}

/*==================================================
                    KAPCSOLAT
==================================================*/

.contact-page{
    padding:95px 0 110px;
    background:#fff;
}

.contact-layout{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:110px;
    align-items:start;
}

.contact-form-panel .page-title{
    margin-bottom:34px;
    text-transform:uppercase;
}

.contact-form,
.contact-form-panel form{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:26px;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea,
.contact-form-panel form input[type="text"],
.contact-form-panel form input[type="email"],
.contact-form-panel form textarea{
    width:100%;
    border:2px solid #111;
    border-radius:0;
    background:#fff;
    color:#111;
    font:inherit;
    font-size:20px;
    line-height:1.5;
    padding:22px 26px;
    outline:none;
    transition:border-color .25s ease, box-shadow .25s ease;
}

.contact-form textarea,
.contact-form-panel form textarea{
    min-height:285px;
    resize:vertical;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder,
.contact-form-panel form input::placeholder,
.contact-form-panel form textarea::placeholder{
    color:#9a9393;
}

.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form textarea:focus,
.contact-form-panel form input[type="text"]:focus,
.contact-form-panel form input[type="email"]:focus,
.contact-form-panel form textarea:focus{
    border-color:#555;
    box-shadow:0 0 0 4px rgba(17,17,17,.08);
}

.contact-form-panel .hidden{
    display:none;
}

.privacy-check{
    display:flex;
    align-items:center;
    gap:18px;
    margin:0;
    cursor:pointer;
    color:#2d2525;
    font-size:19px;
}

.privacy-check input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.privacy-check span{
    width:38px;
    height:38px;
    flex:0 0 38px;
    border:2px solid #111;
    border-radius:50%;
    background:#fff;
    transition:background .2s ease, box-shadow .2s ease;
}

.privacy-check input:checked + span{
    background:#111;
    box-shadow:inset 0 0 0 8px #fff;
}

.privacy-check input:focus-visible + span{
    outline:3px solid #111;
    outline-offset:4px;
}

.privacy-check strong{
    font-weight:700;
}

.privacy-check a{
    color:inherit;
    text-decoration:underline;
    text-underline-offset:4px;
}

.privacy-check a:hover,
.privacy-check a:focus-visible{
    opacity:.7;
}

.privacy-notice{
    margin:24px 0 0;
    color:#555;
    font-size:16px;
    line-height:1.6;
}

.privacy-notice a{
    color:inherit;
    text-decoration:underline;
    text-underline-offset:4px;
    transition:opacity .25s ease;
}

.privacy-notice a:hover,
.privacy-notice a:focus-visible{
    opacity:.7;
}

.contact-submit{
    display:inline-flex;
    align-items:center;
    gap:18px;
    margin-top:16px;
    padding:14px 32px;
    border:2px solid #111;
    border-radius:999px;
    background:#000;
    color:#fff;
    font-family:"Inria Serif",serif;
    font-size:22px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    transition:background .25s ease, color .25s ease, transform .25s ease;
}

.contact-submit:hover,
.contact-submit:focus-visible{
    background:#fff;
    color:#111;
    transform:translateY(-2px);
    outline:none;
}

.contact-submit span{
    font-size:20px;
}

.contact-info-panel{
    padding-top:8px;
    color:#3d3030;
}

.contact-info-panel h2{
    margin:0 0 30px;
    color:#3d3030;
    font-size:42px;
    font-weight:700;
    line-height:1.1;
    text-transform:uppercase;
}

.contact-list{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.contact-list li{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.contact-list span{
    color:#777;
    font-size:14px;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.contact-list a{
    color:#3d3030;
    font-size:28px;
    line-height:1.3;
    transition:opacity .25s ease;
}

.contact-list a:hover{
    opacity:.65;
}

.contact-social{
    display:flex;
    gap:18px;
    margin-top:34px;
}

.contact-social a{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border:0;
    border-radius:50%;
    background:transparent;
    transition:background .25s ease, color .25s ease, transform .25s ease;
}

.contact-social img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.contact-social a:hover,
.contact-social a:focus-visible{
    background:transparent;
    opacity:.82;
    transform:translateY(-2px);
    outline:none;
}

.footer-social-list a{
    display:inline-flex;
    align-items:center;
    gap:10px;
}

.footer-social-icon{
    width:22px;
    height:22px;
    flex:0 0 22px;
    object-fit:contain;
}

.thank-you-page{
    min-height:420px;
    display:flex;
    align-items:center;
}

.thank-you-panel{
    max-width:760px;
}

.thank-you-panel .page-title{
    margin-bottom:22px;
    text-transform:uppercase;
}

.thank-you-panel p{
    margin:0 0 32px;
    color:#3d3030;
    font-size:24px;
    line-height:1.55;
}

@media(max-width:991px){
    .contact-page{
        padding:65px 0 80px;
    }

    .contact-layout{
        grid-template-columns:1fr;
        gap:55px;
    }

    .contact-form-panel .page-title,
    .contact-info-panel h2{
        text-align:left;
    }
}

@media(max-width:768px){
    .contact-page{
        padding:42px 0 65px;
    }

    .contact-form,
    .contact-form-panel form{
        gap:20px;
    }

    .contact-form input[type="text"],
    .contact-form input[type="email"],
    .contact-form textarea,
    .contact-form-panel form input[type="text"],
    .contact-form-panel form input[type="email"],
    .contact-form-panel form textarea{
        font-size:18px;
        padding:18px 20px;
    }

    .contact-form textarea,
    .contact-form-panel form textarea{
        min-height:220px;
    }

    .privacy-check{
        align-items:flex-start;
        font-size:17px;
        line-height:1.45;
    }

    .contact-submit{
        font-size:20px;
        padding:13px 28px;
    }

    .contact-info-panel h2{
        font-size:32px;
    }

    .contact-list a{
        font-size:22px;
    }

    .thank-you-panel p{
        font-size:20px;
    }
}
