/* ---- Base reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
ul,ol{list-style:none;padding:0;margin:0}

:root{
    --glopan-green:#123524;
    --glopan-green-dark:#0a2014;
    --glopan-cream:#f5f1ec;
    --glopan-yellow:#F29F05;
    --glopan-text:#111;
    --top-bar-height:44px;
    --header-height:72px;
    --nav-total-height:calc(var(--top-bar-height) + var(--header-height));
    --hero-offset:64px;
}

body{
    font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:var(--glopan-text);
    background:var(--glopan-cream);
}

a{text-decoration:none;color:inherit}

.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* ---- Header & navigation ---- */
.site-header{
    position:fixed;top:0;left:0;right:0;
    z-index:100;
    display:flex;flex-direction:column;
    background:linear-gradient(180deg,rgba(12,20,14,.95) 0%,rgba(12,20,14,.65) 50%,rgba(12,20,14,0) 100%);
    border-top:3px solid #2e8b3c;
    backdrop-filter:blur(12px);
    transition:background .3s ease,box-shadow .3s ease;
}

.top-bar{
    height:var(--top-bar-height);
    background:linear-gradient(180deg,rgba(12,20,14,.9) 0%,rgba(12,20,14,.15) 100%);
    border-bottom:1px solid rgba(255,255,255,.12);
    display:flex;
    align-items:center;
    width:100%;
}

.top-bar__content{
    width:100%;
    margin:0;
    padding:0 clamp(12px,3vw,32px);
    padding-left:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    color:rgba(255,255,255,.75);
    font-size:13px;
    letter-spacing:.02em;
}

.top-bar__left,
.top-bar__right{
    display:flex;
    align-items:center;
    gap:16px;
}

.top-bar__right{
    flex:1;
    justify-content:flex-end;
    min-width:0;
}

.top-bar__socials{
    display:flex;
    align-items:center;
    gap:10px;
}

.top-bar__social{
    width:36px;
    height:36px;
    border-radius:999px;
    border:1.5px solid rgba(255,255,255,.22);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    transition:all .2s ease;
}

.top-bar__social svg,
.top-bar__social-icon{
    width:18px;
    height:18px;
    display:block;
}
.top-bar__social svg{
    fill:#f7f9f8;
}


.top-bar__social:hover{
    border-color:var(--glopan-yellow);
    color:var(--glopan-yellow);
}

.top-bar__langs{
    display:flex;
    align-items:center;
    gap:10px;
}

.top-bar__lang{
    display:inline-flex;
    align-items:center;
    gap:6px;
    text-transform:uppercase;
    font-size:12px;
    color:rgba(255,255,255,.7);
    padding:4px 8px;
    border-radius:999px;
    border:1px solid transparent;
    transition:all .2s ease;
}

.top-bar__lang.active,
.top-bar__lang:hover{
    border-color:var(--glopan-yellow);
    color:var(--glopan-yellow);
}

.top-bar__flag{
    width:18px;
    height:12px;
    border-radius:2px;
    overflow:hidden;
    display:inline-flex;
    box-shadow:0 0 0 1px rgba(255,255,255,.2);
}

.top-bar__flag img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.top-bar__info{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:rgba(247,249,248,.85);
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.08em;
    white-space:nowrap;
}

.top-bar__info svg{
    width:18px;
    height:18px;
    fill:var(--glopan-yellow);
}

.top-bar__info-text{white-space:nowrap}

.top-bar__info--phone{
    color:var(--glopan-yellow);
}

.top-bar__divider{
    width:1px;
    height:18px;
    background:rgba(255,255,255,.2);
}

.site-header .nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    margin:0;
    padding:0 clamp(12px,3vw,32px);
    padding-left:0;
    min-height:var(--header-height);
    gap:24px;
}

.nav__primary{
    display:flex;
    align-items:center;
    gap:32px;
    flex:1;
}

.nav__secondary{
    display:flex;
    align-items:center;
    gap:16px;
}

.brand img{height:38px;display:block}

.burger{
    border:none;background:none;width:34px;height:24px;padding:0;cursor:pointer;
    display:none;flex-direction:column;justify-content:space-between;z-index:110;
}

.burger span{display:block;height:3px;width:100%;background:#fff;border-radius:3px;transition:all .3s ease;transform-origin:left center}
.burger.open span:nth-child(1){transform:translate(3px,-2px) rotate(45deg);width:80%}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translate(3px,2px) rotate(-45deg);width:80%}

.menu{
    display:flex;
    align-items:center;
    gap:28px;
    flex:1;
    justify-content:flex-end;  /* SAĞA YASLAR */
    padding-right:3px;         /* SAĞ KENARDAN BOŞLUK */
}

.menu-item-wrapper{position:relative}

.menu-item{
    display:flex;
    align-items:center;
    gap:6px;
    font-weight:500;
    color:#f7f9f8;
    letter-spacing:.02em;
    transition:color .3s ease;
    background:none;
    border:none;
    padding:0;
    font:inherit;
}
.menu-item--toggle{cursor:pointer}
.menu-item--toggle:focus-visible{
    outline:2px solid var(--glopan-yellow);
    outline-offset:4px;
}
.menu-item:hover{color:var(--glopan-yellow)}

.submenu-toggle{font-size:11px;transition:transform .3s ease}
.menu-item-wrapper:hover .submenu-toggle,
.menu-item-wrapper.active .submenu-toggle{transform:rotate(180deg)}

.submenu{
    position:absolute;top:100%;left:0;min-width:220px;margin-top:12px;padding:14px 0;
    background:rgba(17,25,40,.95);border-radius:14px;box-shadow:0 24px 48px rgba(10,32,20,.35);
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .3s ease;z-index:106;
}

.menu-item-wrapper:hover .submenu{opacity:1;visibility:visible;transform:translateY(0)}

@media(min-width:769px){
    .menu-item-wrapper.active .submenu{
        opacity:1;
        visibility:visible;
        transform:translateY(0);
    }
}

.submenu-item{display:block;padding:10px 22px;font-size:14px;color:#f7f9f8;transition:background .2s ease,color .2s ease}
.submenu-item:hover{background:rgba(255,255,255,.08);color:var(--glopan-yellow)}

.langs{
    display:none;
    gap:8px;
}

.langs a{color:#fff;margin-left:0;border:1px solid rgba(255,255,255,.35);padding:4px 10px;border-radius:999px;font-size:14px;transition:all .3s ease}
.langs a.active{background:#fff;color:var(--glopan-green-dark);border-color:#fff}
.langs a:hover{background:rgba(255,255,255,.15)}

@media(max-width:768px){
    .burger{display:flex}
    .menu{display:none;position:fixed;top:var(--nav-total-height);left:0;right:0;background:rgba(17,25,40,.97);flex-direction:column;align-items:flex-start;padding:28px 24px;gap:18px;box-shadow:0 18px 38px rgba(0,0,0,.25);max-height:calc(100vh - var(--nav-total-height));overflow-y:auto}
    .menu.open{display:flex}
    .menu-item{width:100%;font-size:17px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
    .menu-item:last-child{border-bottom:none}
    .submenu{position:static;opacity:1;visibility:visible;transform:none;background:rgba(0,0,0,.2);margin:8px 0 0;padding:0;border-radius:10px;box-shadow:none;width:100%;max-height:0;overflow:hidden;transition:max-height .3s ease}
    .menu-item-wrapper.active .submenu{max-height:400px;padding:8px 0}
    .submenu-item{padding:10px 16px}
    .langs{display:flex;margin-left:auto}
}

body.no-scroll{overflow:hidden}

.site-main{padding-top:var(--nav-total-height)}

/* ---- Homepage hero ---- */
.hero{
    position:relative;
    width:100%;
    height:calc(100vh + var(--nav-total-height) + var(--hero-offset));
    margin-top:calc(-1 * (var(--nav-total-height) + var(--hero-offset)));
    overflow:hidden;
}
.video-desktop,.video-phone{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.video-phone{display:none}
@media(max-width:768px){.video-desktop{display:none}.video-phone{display:block}}
.hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);z-index:1}
.hero__content{
    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    color:#fff;
    padding:calc(var(--nav-total-height) + 32px) clamp(16px,4vw,32px) calc(86px + (var(--hero-offset) / 2));
}
.hero__inner{width:min(1200px,92%);display:flex;flex-direction:column;gap:18px}
.hero__eyebrow{text-transform:uppercase;letter-spacing:.45em;font-size:14px;color:rgba(255,255,255,.75)}
.hero__title{font-size:80px;line-height:1.05;font-weight:800;margin:0}
.hero__title--stairs span{display:block}
.hero__title--stairs span:nth-child(2){margin-left:42px}
.hero__title--stairs span:nth-child(3){margin-left:86px}
.hero__lead{max-width:720px;font-size:22px;line-height:1.85;color:rgba(255,255,255,.9)}
@media(max-width:992px){
    .hero{height:calc(100vh + var(--nav-total-height));margin-top:calc(-1 * var(--nav-total-height))}
    .hero__title{font-size:54px}
    .hero__lead{font-size:18px}
    .hero__content{align-items:flex-start;padding:calc(var(--nav-total-height) + 40px) clamp(16px,4vw,24px) 32px}
    .hero__title--stairs span:nth-child(2){margin-left:20px}
    .hero__title--stairs span:nth-child(3){margin-left:34px}
}
@media(max-width:600px){
    .hero__title{font-size:38px}
    .hero__lead{font-size:15px}
    .hero__eyebrow{letter-spacing:.2em;font-size:12px}
    .hero__content{padding-top:calc(var(--nav-total-height) + 24px)}
    .hero__title--stairs span:nth-child(n+2){margin-left:8px}
}

/* ---- Nature panel ---- */
.nature-panel{
    position:relative;
    padding:clamp(56px,8vw,120px) 0;
    background-image:url('../images/sections/nature-panel.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}
.nature-panel::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(245,241,236,.92) 0%,rgba(245,241,236,.75) 40%,rgba(245,241,236,.3) 100%);
}
.nature-panel__inner{
    position:relative;
    max-width:560px;
}
.nature-panel__copy{
    color:var(--glopan-text);
}
.nature-panel__eyebrow{
    text-transform:uppercase;
    letter-spacing:.38em;
    font-size:13px;
    color:rgba(17,26,23,.65);
    display:block;
    margin-bottom:18px;
}
.nature-panel__title{
    font-size:46px;
    line-height:1.1;
    margin:0 0 24px;
    color:#0f1e16;
}
.nature-panel__body p{
    margin:0 0 12px;
    font-size:18px;
    line-height:1.7;
    color:rgba(26,37,33,.85);
}
.nature-panel__body p:last-child{margin-bottom:0}
@media(max-width:992px){
    .nature-panel__title{font-size:38px}
}
@media(max-width:640px){
    .nature-panel{padding:48px 0}
    .nature-panel__eyebrow{letter-spacing:.2em;font-size:12px}
    .nature-panel__title{font-size:32px}
    .nature-panel__body p{font-size:16px}
}

.gallery-section{
    padding:48px 0 96px;
    background:linear-gradient(180deg,#f5f1ec 0%,#fff 50%,#f5f1ec 100%);
}
.gallery-section__header{
    text-align:center;
    margin-bottom:48px;
}
.gallery-section__eyebrow{
    text-transform:uppercase;
    letter-spacing:.4em;
    font-size:12px;
    color:rgba(26,33,31,.6);
    display:block;
    margin-bottom:12px;
}
.gallery-section__title{
    font-size:36px;
    margin:0;
    color:#111f17;
}
.gallery-grid{
    display:flex;
    flex-wrap:wrap;
    gap:24px;
    justify-content:center;
}
.gallery-card{
    width:min(240px,22%);
    min-width:220px;
    background:#fff;
    border-radius:16px;
    box-shadow:0 18px 40px rgba(15,23,19,.08);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(16,32,24,.05);
}
.gallery-card__image{
    position:relative;
    width:100%;
    aspect-ratio:3/4;
    overflow:hidden;
    border:none;
    background:none;
    padding:0;
    cursor:zoom-in;
}
.gallery-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease, filter .4s ease;
}
.gallery-card:hover .gallery-card__image img{
    transform:scale(1.05);
    filter:contrast(1.02);
}
.gallery-card__title{
    background:#0f2016;
    color:#f4f7f3;
    font-size:16px;
    font-weight:600;
    padding:14px 16px;
    margin:0;
}

.gallery-modal{
    position:fixed;
    inset:0;
    background:rgba(4,9,8,.8);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:999;
}
.gallery-modal[hidden]{display:none}
.gallery-modal__dialog{
    position:relative;
    max-width:min(90vw,1100px);
    max-height:min(90vh,800px);
    padding:24px;
    z-index:2;
}
.gallery-modal__dialog img{
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:18px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
    background:#fff;
}
.gallery-modal__close{
    position:absolute;
    top:12px;
    right:12px;
    width:32px;
    height:32px;
    border-radius:50%;
    border:none;
    background:#111;
    color:#fff;
    font-size:20px;
    cursor:pointer;
}

/* ---- Page hero ---- */
.page-hero{position:relative;padding:110px 0 140px;overflow:hidden}
.page-hero__background{
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(10,32,20,.92),rgba(54,89,70,.65));
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    filter:saturate(1.1) brightness(2.50);
    z-index:0;
}
.page-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,1fr);gap:40px;align-items:center}
.page-hero__copy{grid-column:1 / span 7;color:#f7f9f8}
.page-hero__copy--full{grid-column:1 / span 12;max-width:640px}
.page-hero__copy--full{grid-column:1 / span 12;max-width:640px}
.page-hero__copy--full{
    grid-column:1 / span 12;
    max-width:640px;
}
.page-hero__eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:13px;color:rgba(255,255,255,.65);display:block;margin-bottom:18px}
.page-hero__title{font-size:48px;line-height:1.1;font-weight:800}
.page-hero__underline{width:72px;height:6px;background:var(--glopan-yellow);border-radius:999px;margin:24px 0}
.page-hero__lead{font-size:18px;line-height:1.7;max-width:620px;color:rgba(247,249,248,.85)}
.page-hero__media{grid-column:9 / span 4;justify-self:end}
.page-hero__media img{width:100%;max-width:420px;border-radius:32px;box-shadow:0 30px 60px rgba(0,0,0,.35);object-fit:cover}

@media(max-width:992px){
    .page-hero{padding:96px 0 64px}
    .page-hero__inner{grid-template-columns:repeat(6,1fr)}
    .page-hero__copy{grid-column:1 / span 6}
    .page-hero__media{grid-column:1 / span 6;justify-self:center;margin-top:32px}
    .page-hero__title{font-size:40px}
}
@media(max-width:640px){
    .page-hero__title{font-size:32px}
    .page-hero__lead{font-size:16px}
}

.page-section{padding:56px 0 96px}
.page-body{background:#fff;border-radius:32px;padding:48px clamp(24px,4vw,64px);box-shadow:0 20px 60px rgba(17,25,40,.08);font-size:17px;line-height:1.75;color:#1f2a36}
.page-body h2{font-size:32px;margin:40px 0 16px;font-weight:700;line-height:1.2}
.page-body h3{font-size:24px;margin:32px 0 12px;font-weight:600;line-height:1.3}
.page-body p{margin:16px 0}
.page-body strong{font-weight:700}
.page-body ul{margin:16px 0 16px 26px;list-style:disc}
.page-body ol{margin:16px 0 16px 26px;list-style:decimal}
.page-body li{margin:8px 0}
.page-body a{color:var(--glopan-green);text-decoration:underline}
.page-body blockquote{border-left:4px solid var(--glopan-yellow);margin:24px 0;padding:12px 24px;background:rgba(242,159,5,.08);border-radius:12px;font-style:italic}
.page-body img{max-width:100%;border-radius:20px;margin:24px 0;box-shadow:0 12px 30px rgba(0,0,0,.12)}
@media(max-width:640px){.page-body{padding:32px 20px;border-radius:24px;font-size:16px}}

/* ---- Footer ---- */
.site-footer{
    background:linear-gradient(180deg,rgba(12,20,14,.95) 0%,rgba(12,20,14,.75) 60%,rgba(12,20,14,.95) 100%);
    color:#f1f5f2;
    border-top:3px solid #2e8b3c;
    box-shadow:0 -10px 30px rgba(0,0,0,.4);
}
.site-footer__content{
    display:flex;
    gap:60px;
    padding:72px 40px 48px;
    align-items:flex-start;
    justify-content:space-between;
}
.site-footer__logo img{
    height:42px;
    display:block;
    margin-bottom:16px;
}
.site-footer__tagline{font-size:15px;line-height:1.7;color:rgba(241,245,242,.75)}
.site-footer__contact{margin-top:24px;display:flex;flex-direction:column;gap:12px}
.site-footer__contact-line{
    display:flex;
    align-items:center;
    gap:12px;
    color:#f7f9f8;
    font-weight:600;
}
.site-footer__contact-line svg{
    width:18px;
    height:18px;
    fill:var(--glopan-yellow);
}
.site-footer__contact-line a{color:#f7f9f8;text-decoration:none}
.site-footer__contact-line a:hover{text-decoration:underline}
.site-footer__heading{font-size:14px;text-transform:uppercase;letter-spacing:.22em;display:block;margin-bottom:18px;color:rgba(255,255,255,.7)}
.site-footer__links{flex:1}
.site-footer__columns{display:flex;flex-wrap:wrap;gap:24px}
.site-footer__column{flex:1 1 160px}
.site-footer__column h4{color:#f7f9f8;font-size:15px;font-weight:700;margin:0 0 10px;text-transform:uppercase;letter-spacing:.08em}
.site-footer__column ul{display:flex;flex-direction:column;gap:8px}
.site-footer__column a{color:#f7f9f8;font-size:14px;transition:color .2s ease}
.site-footer__links a:hover{color:var(--glopan-yellow)}
.site-footer__social-list{display:flex;gap:16px}
.site-footer__social-list a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);transition:all .3s ease}
.site-footer__social-list a:hover{background:var(--glopan-yellow);transform:translateY(-2px)}
.site-footer__social-list svg{width:20px;height:20px;fill:#f8f9f8}
.site-footer__social-list a:hover svg{fill:var(--glopan-green-dark)}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;background:rgba(0,0,0,.25)}
.site-footer__bottom p{text-align:center;color:rgba(247,249,248,.7);font-size:14px}
@media(max-width:640px){.site-footer__content{padding:56px 0 36px}}

@media(max-width:1024px){
    :root{
        --top-bar-height:40px;
    }
    .top-bar__content{font-size:12px}
}

@media(max-width:768px){
    .top-bar__langs{display:none}
    .top-bar__right{justify-content:flex-start}
    .top-bar__content{gap:12px}
    .nav__primary{gap:20px}
    .nav__secondary{flex:1;justify-content:flex-end}
}

@media(max-width:640px){
    :root{
        --top-bar-height:36px;
    }
    .top-bar__info--address .top-bar__info-text{display:none}
}
.gallery-modal__backdrop{
    position:absolute;
    inset:0;
    background:transparent;
}
/* ---- Contact page ---- */
.page-hero--contact{padding-bottom:90px}
.page-hero__background--contact{
    background:
        linear-gradient(135deg,rgba(8,18,12,.78),rgba(31,85,63,.6)),
        url('/medya/fabrika-bg.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.contact-section{padding:80px 0;background:var(--glopan-cream)}
.contact-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:40px;align-items:flex-start}
.contact-details{grid-column:span 5;background:#fff;border-radius:32px;padding:32px;box-shadow:0 30px 80px rgba(15,20,24,.08)}
.contact-details__title{margin:0 0 24px;font-size:22px;letter-spacing:.08em;text-transform:uppercase;color:#0f2016}
.contact-cards{display:flex;flex-direction:column;gap:20px}
.contact-card{display:flex;gap:16px;padding:20px;border-radius:20px;background:#f7faf7;border:1px solid rgba(18,53,36,.08)}
.contact-card__icon{width:52px;height:52px;border-radius:18px;background:rgba(18,53,36,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-card__icon svg{width:26px;height:26px;fill:#123524}
.contact-card h3{margin:0 0 6px;font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:#0c140e}
.contact-card p{margin:0;font-size:15px;line-height:1.5;color:#1f2a36}
.contact-card a{color:#0c7d47;font-weight:600}
.contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.contact-list a{text-decoration:none}

.contact-form-card{grid-column:span 7;background:#0f2016;color:#f7f9f8;border-radius:36px;padding:44px;box-shadow:0 40px 80px rgba(0,0,0,.35)}
.contact-form-card__title{margin:0;font-size:24px;letter-spacing:.08em;text-transform:uppercase}
.contact-alert{margin-top:20px;padding:14px 16px;border-radius:14px;font-size:14px;line-height:1.5}
.contact-alert--success{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.4);color:#bbf7d0}
.contact-alert--error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:#fecaca}
.contact-alert ul{margin:0;padding-left:18px}

.contact-form{margin-top:24px;display:flex;flex-direction:column;gap:18px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,249,248,.7);font-weight:600}
.form-field small{font-size:11px;text-transform:none;font-weight:400;color:rgba(247,249,248,.75)}
.form-field input,
.form-field textarea{border-radius:16px;border:1px solid rgba(247,249,248,.18);background:rgba(247,249,248,.08);color:#fff;padding:14px 16px;font-size:15px;transition:border .2s ease, background .2s ease}
.form-field textarea{min-height:140px;resize:vertical}
.form-field input:focus,
.form-field textarea:focus{outline:none;border-color:var(--glopan-yellow);background:rgba(247,249,248,.18)}
.form-error{font-size:12px;color:#fecaca}
.contact-submit{margin-top:10px;border:none;background:var(--glopan-yellow);color:#0f2016;font-weight:700;padding:16px 18px;border-radius:999px;font-size:15px;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease}
.contact-submit:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(242,159,5,.35)}
.contact-submit:active{transform:translateY(0)}

.contact-map{padding:40px 0 100px}
.map-card{background:#fff;border-radius:36px;box-shadow:0 40px 90px rgba(15,20,24,.08);overflow:hidden}
.map-card__header{padding:26px 32px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.map-card__header h3{margin:0;font-size:16px;letter-spacing:.2em;text-transform:uppercase;color:#0f2016}
.map-card__header p{margin:6px 0 0;color:#475467;font-size:14px}
.map-card__header a{color:#0c7d47;font-weight:600}
.map-card__frame iframe{display:block;border:0;width:100%;min-height:380px;filter:grayscale(.15) contrast(1.05)}

@media(max-width:1024px){
    .contact-grid{grid-template-columns:repeat(1,1fr)}
    .contact-details,.contact-form-card{grid-column:auto}
}
@media(max-width:768px){
    .contact-form-card,.contact-details{padding:28px}
}
@media(max-width:640px){
    .contact-card{flex-direction:column}
    .map-card__header{flex-direction:column;align-items:flex-start;padding:20px}
    .contact-section{padding:56px 0}
    .contact-form{gap:14px}
}
