*{box-sizing:border-box;margin:0;padding:0}

:root{

    --sage:#7a9e8e;--sage-light:#b4cfc4;--sage-deep:#4e7a6a;--cream:#f5f2eb;--warm-white:#faf9f6;

    --text-dark:#2a2a26;--text-mid:#5a5a54;--text-light:#8a8a82;--gold:#b8966a;

}

html{scroll-behavior:smooth}

body{font-family:'Jost',sans-serif;background:var(--warm-white);color:var(--text-dark);overflow-x:hidden}



nav{background:var(--warm-white);border-bottom:1px solid rgba(122,158,142,0.25);padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;height:70px;position:sticky;top:0;z-index:100}

.logo{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;letter-spacing:6px;color:var(--text-dark);text-transform:uppercase;text-decoration:none}

.logo span{font-size:9px;letter-spacing:3px;display:block;color:var(--text-mid);margin-top:3px}

.nav-links{display:flex;gap:15px;list-style:none;position:relative;     margin-bottom: 5px;}

.nav-links a{font-size:14px;letter-spacing:0.5px;text-transform:uppercase;color:var(--text-mid);text-decoration:none;transition:color 0.2s;}

.nav-links a:hover{color:var(--sage-deep)}

.nav-cta{background:var(--sage);color:white;border:none;padding:10px 22px;font-family:'Jost',sans-serif;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background 0.2s}

.nav-cta:hover{background:var(--sage-deep)}



.nav-menu{display:flex;align-items:center;gap:2rem}

.nav-toggle{display:none;width:48px;height:48px;border:1px solid rgba(122,158,142,0.35);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;border-radius:12px;transition:border-color 0.2s,background 0.2s}

.nav-toggle:hover{border-color:var(--sage);background:rgba(122,158,142,0.06)}

.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--text-dark);transition:transform 0.25s ease,opacity 0.25s ease}

body.menu-open{overflow:hidden}



.hero{height:92vh;min-height:560px;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}

.hero-left{padding:5rem 3.5rem 4rem 4rem;display:flex;flex-direction:column;justify-content:center;background:var(--cream)}

.hero-right{position:relative;overflow:hidden}

.hero-right img{width:100%;height:100%;object-fit:cover;transition:transform 8s ease}

.hero-right:hover img{transform:scale(1.04)}

.hero-eyebrow{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--sage-deep);margin-bottom:1.8rem;display:flex;align-items:center;gap:14px}

.hero-eyebrow::before{content:'';width:36px;height:1px;background:var(--sage-deep)}

h1{font-family:'Cormorant Garamond',serif;font-size:clamp(52px,6vw,82px);font-weight:300;line-height:1.04;color:var(--text-dark);margin-bottom:1.2rem}

h1 em{font-style:italic;color:var(--sage-deep)}

.hero-sub{font-size:14px;letter-spacing:0.3px;color:var(--text-mid);line-height:1.85;max-width:360px;margin-bottom:3rem}

.btn-row{display:flex;gap:0;flex-wrap:wrap}

.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--sage-deep);color:white;padding:15px 30px;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;transition:all 0.25s;cursor:pointer;border:none}

.btn-primary:hover{background:var(--text-dark)}

.btn-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--sage-deep);border:1px solid var(--sage);padding:14px 28px;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;transition:all 0.25s;cursor:pointer}

.btn-outline:hover{background:var(--sage);color:white}

.hero-badge{position:absolute;bottom:2.5rem;left:2.5rem;background:rgba(250,249,246,0.96);padding:1rem 1.4rem;border-left:3px solid var(--sage)}

.hero-badge .num{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:300;line-height:1;color:var(--sage-deep)}

.hero-badge .label{font-size:9.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-mid);margin-top:3px}



.marquee-bar{background:var(--sage);padding:12px 0;overflow:hidden;white-space:nowrap}

.marquee-track{display:inline-flex;animation:marquee 24s linear infinite}

.marquee-item{font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:rgba(255,255,255,0.88);padding:0 2.5rem}

@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}



.section-header{text-align:center;padding:5.5rem 2rem 3.5rem}

.section-eyebrow{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--sage-deep);margin-bottom:1rem}

.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,54px);font-weight:300;line-height:1.12;color:var(--text-dark)}

.section-title em{font-style:italic;color:var(--sage)}

.section-rule{width:48px;height:1px;background:var(--sage);margin:1.6rem auto 0}



.collection{padding:0 0 5rem;max-width:100%}

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

.col-item{position:relative;overflow:hidden;cursor:pointer}

.col-item.tall{aspect-ratio:3/3}

.col-item.wide{grid-column:span 2;aspect-ratio:16/8}

.col-item.square{aspect-ratio:1}

.col-img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s cubic-bezier(0.4,0,0.2,1);display:block}

.col-item:hover .col-img{transform:scale(1.06)}

.col-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,38,30,0.75) 0%,transparent 55%);opacity:0;transition:opacity 0.4s}

.col-item:hover .col-overlay{opacity:1}

.col-label{position:absolute;bottom:0;left:0;right:0;padding:1.6rem 1.4rem 1.3rem;transform:translateY(10px);transition:all 0.35s}

.col-item:hover .col-label{transform:translateY(0);opacity:1}

.col-cat{font-size:9px;letter-spacing:3.5px;text-transform:uppercase;color:var(--sage-light)}

.col-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;color:white;margin-top:4px}



.services{background:var(--cream);padding:5rem 2.5rem}

.services-inner{max-width:1200px;margin:0 auto}

.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:3.5rem}

.svc{background:var(--warm-white);padding:2.5rem 1.8rem;border-bottom:2px solid transparent;transition:border-color 0.3s,transform 0.3s}

.svc:hover{border-color:var(--sage);transform:translateY(-4px)}

.svc-num{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:300;color:rgba(122,158,142,0.6);margin-bottom:1.5rem}

.svc-title{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:400;color:var(--text-dark);margin-bottom:0.8rem}

.svc-desc{font-size:13px;line-height:1.8;color:var(--text-mid)}



.quote-band{background:var(--sage-deep);padding:5.5rem 2rem;text-align:center}

.quote-mark{font-family:'Cormorant Garamond',serif;font-size:90px;font-weight:300;color:rgba(255,255,255,0.18);line-height:0.5;margin-bottom:1.5rem}

.quote-text{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,3vw,36px);font-weight:300;font-style:italic;color:white;max-width:800px;margin:0 auto 1.5rem;line-height:1.5}

.quote-author{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,0.5)}



.process{padding:5rem 2.5rem;max-width:1100px;margin:0 auto}

.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem;margin-top:3.5rem;position:relative}

.process-steps::before{content:'';position:absolute;top:21px;left:12%;right:12%;height:1px;background:linear-gradient(to right,transparent,var(--sage-light),transparent)}

.step{text-align:center}

.step-num{width:44px;height:44px;border-radius:50%;border:1px solid var(--sage);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--sage-deep);background:var(--warm-white);position:relative;z-index:1}

.step-title{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:400;color:var(--text-dark);margin-bottom:0.6rem}

.step-desc{font-size:13px;line-height:1.75;color:var(--text-mid)}



.cta-section{background:var(--cream)}

.cta-inner{max-width:1100px;margin:0 auto;padding:5.5rem 2.5rem;display:flex;align-items:center;gap:5rem}

.cta-text{flex:1;text-align: left}

.cta-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.5vw,46px);font-weight:300;line-height:1.2;color:var(--text-dark)}

.cta-text h2 em{font-style:italic;color:var(--sage)}

.cta-text p{font-size:14px;color:var(--text-mid);margin-top:1rem;line-height:1.8}

.cta-actions{display:flex;flex-direction:column;gap:12px;min-width:230px}



footer{background:var(--text-dark);padding:4.5rem 2.5rem 2rem;color:rgba(255,255,255,0.5)}

.footer-inner{max-width:1200px;margin:0 auto}

.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1.6fr;gap:3rem;margin-bottom:3rem}

.footer-logo{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:300;letter-spacing:5px;color:white;text-transform:uppercase;margin-bottom:1rem;display:block}

.footer-logo span{font-size:8.5px;letter-spacing:6px;display:block;color:rgba(255,255,255,0.35);margin-top:3px}

.footer-about{font-size:13px;line-height:1.8;max-width:270px}

.footer-col h4{font-size:14px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.3);margin-bottom:1.3rem}

.footer-col ul{list-style:none;padding-left: 0;}

.footer-col li{margin-bottom:0.65rem}

.footer-col a{font-size:13px;color:rgba(255,255,255,0.5);text-decoration:none;transition:color 0.2s}

.footer-col a:hover{color:var(--sage-light)}

.contact-item{font-size:13px;margin-bottom:0.6rem;line-height:1.6}

hr{border:none;border-top:1px solid rgba(255,255,255,0.08);margin-bottom:1.6rem}

.footer-bottom{display:flex;justify-content:space-between;align-items:center}

.footer-copy{font-size:11px;letter-spacing:1px}

.social-row{display:flex;gap:10px}

.social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,0.14);display:flex;align-items:center;justify-content:center;font-size:11px;color:rgba(255,255,255,0.38);cursor:pointer;transition:all 0.2s;font-family:'Jost',sans-serif}

.social-btn:hover{border-color:var(--sage);color:var(--sage-light)}



.fade-up{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}

.fade-up.visible{opacity:1;transform:translateY(0)}



@media (max-width: 1024px){

    nav{padding:0 1.5rem}

    .nav-menu{gap:1.25rem}

    .nav-links{gap:1.2rem}

    .hero-left{padding:4rem 2rem 3rem}

    .col-grid{grid-template-columns:repeat(2,1fr)}

    .col-item.wide{grid-column:span 2;aspect-ratio:4/3}

    .services-grid{grid-template-columns:repeat(2,1fr)}

    .process-steps{grid-template-columns:repeat(2,1fr);gap:2rem}

    .process-steps::before{display:none}

    .cta-inner{gap:2.5rem}

    .footer-top{grid-template-columns:repeat(2,1fr);gap:2rem}

    .nav-toggle{display:inline-flex;margin-left:auto;z-index:111}

    nav{height:auto;min-height:70px;padding:0.9rem 1rem;flex-wrap:wrap;gap:0.75rem}

    .nav-menu{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:1rem;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:max-height 0.3s ease,opacity 0.25s ease,transform 0.25s ease;padding:0;border-top:0;background:var(--warm-white)}

    .logo{font-size:18px;letter-spacing:4px}

    .logo span{font-size:8px;letter-spacing:4px}.site-nav.nav-open .nav-menu{overflow-y: auto;max-height:80vh;opacity:1;pointer-events:auto;transform:translateY(0);padding:1rem 0 0.25rem;border-top:1px solid rgba(122,158,142,0.2)}

    .site-nav.nav-open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}

    .site-nav.nav-open .nav-toggle span:nth-child(2){opacity:0}

    .site-nav.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

    .nav-links{width:100%;flex-direction:column;align-items:flex-start;gap:0.25rem}

    .nav-links li{width:100%}

    .nav-links a{display:block;width:100%;padding:0.9rem 0;font-size:11px;letter-spacing:1.8px;border-bottom:1px solid rgba(122,158,142,0.12)}

    .nav-cta{width:100%;padding:14px 18px;margin-top:0.25rem}

}



@media (max-width: 768px){



    .hero{grid-template-columns:1fr;height:auto;min-height:auto}

    .hero-left{padding:3rem 1.25rem 2rem}

    .hero-right{min-height:320px}

    h1{font-size:clamp(40px,12vw,58px)}

    .hero-sub{max-width:none;margin-bottom:2rem}

    .btn-row{flex-direction:column;gap:12px}

    .btn-primary,.btn-outline{width:100%;justify-content:center}

    .hero-badge{left:1rem;bottom:1rem;padding:0.85rem 1rem}

    .section-header{padding:4rem 1.25rem 2.5rem}

    .services,.process{padding:3.5rem 1.25rem}

    .cta-inner{padding:4rem 1.25rem;flex-direction:column;align-items:flex-start;gap:1.5rem}

    .cta-actions{width:100%;min-width:0}

    footer{padding:3.5rem 1.25rem 1.5rem}

    .footer-bottom{flex-direction:column;gap:1rem;align-items:flex-start}

}



@media (max-width: 480px){

    nav{padding:0.85rem 0.9rem}

    .hero-left{padding:2.4rem 1rem 1.4rem}

    .hero-eyebrow{letter-spacing:3px;gap:10px}

    .hero-eyebrow::before{width:24px}

    h1{font-size:clamp(34px,11vw,44px);line-height:1.06}

    .hero-sub{font-size:13px;line-height:1.7}

    .hero-right{min-height:260px}

    .hero-badge{position:static;margin:1rem;width:fit-content}

    .col-grid{grid-template-columns:1fr}

    .col-item.wide{grid-column:span 1;aspect-ratio:1}

    .services-grid,.process-steps,.footer-top{grid-template-columns:1fr}

    .svc{padding:2rem 1.25rem}

    .section-title{font-size:clamp(28px,9vw,38px)}

    .quote-band{padding:4rem 1rem}

    .quote-text{font-size:clamp(20px,7vw,28px)}

    .process{padding:3rem 1rem}

    .cta-inner{padding:3rem 1rem}

    footer{padding:3rem 1rem 1.5rem}

    .social-row{flex-wrap:wrap}

}



@media (hover:none){

    .hero-right:hover img,.col-item:hover .col-img{transform:none}

    .col-overlay{opacity:1}

    .col-label{transform:translateY(0);opacity:1}

}

.langSelector a {

    text-decoration: none;

    color: #72716c;

}

.footer-top > div {

    display: flex;

    flex-direction: column;

    text-align: left;

}

.contentWrapper{

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    max-width: 1200px;

    width: 100%;

    margin: 20px auto 50px auto;



}

.pageDescription {

    text-align: left;

    margin: 20px auto;

    display: flex;

    gap:15px;

    flex-direction: column;

}

.lightgallery {

    display: flex;

    flex-direction: row;

    flex-wrap: wrap;

    row-gap: 5px;

    column-gap: 10px;



}

.lightgallery > a {

    width: calc((100% - 40px)/4);

    aspect-ratio: 300/300;



}

.lightgallery > a > img,.newWrap a img {

    width: 100%;

    box-shadow: 0 0 6px 1px #c0c0c0;

    border-radius: 5px;

}

.newsWrap {

    display: flex;

    flex-direction: row;

    flex-wrap: wrap;

    gap: 10px;

}

.newWrap {

    display: flex;

    flex-direction: column;

    gap: 10px;

    width: calc((100% - 40px)/4);

    aspect-ratio: 300/300;

}

.videosWrap {

    columns: 4;

    column-gap: 20px

}

.videoWrap iframe {

    width: 100%;

    aspect-ratio: 267/467;

}

.newWrap a,.newWrap a img {

    width: 100%;

}

.submenu {

    display: none;

}

.submenu.active {

    display: flex;

    position: absolute;

    width: 100%;

    top: 46px;

    padding: 20px;

    box-shadow: 0 0 6px 1px #c0c0c0;

    border-radius: 5px;

    column-gap: 20px;

    flex-direction: row;

    flex-wrap: wrap;

    background-color: var(--warm-white);

    z-index: 100;

}

.submenu.active a{

    width: 260px;

    font-size: 11px;

    line-height: 31px;

    letter-spacing: 1.5px;

    text-transform: unset;

    color: var(--text-mid);

    text-decoration: none;

    transition: color 0.2s;

    padding-left: 10px;

}

.submenu.active a:hover {

    background-color: #ecebeb;

}

@media (max-width: 1199px){

    .contentWrapper{

        margin: 20px 15px 50px 15px;

        width: calc(100% - 30px);

    }

}

@media (max-width: 1120px) {

    .nav-links a {

        font-size: 9px;    }



}

@media (max-width: 1023px){

    .submenu.active {

        display: flex;

        position: relative;

        width:100%;

        padding: 0 20px;

        box-shadow: unset;

        border-radius: unset;

        flex-direction: column;

        background-color: unset;

        top: 0;

    }

    .submenu.active a{

        width: 100%;

        font-size: 11px;

        letter-spacing: 1.5px;

        color: var(--text-mid);

        text-decoration: none;

        transition: color 0.2s;

        padding-left: 10px;

        line-height: 5px;

    }

}

@media (max-width: 992px){

    #lightgallery > a {

        width: calc((100% - 30px)/3);

    }

    .newWrap {

        width: calc((100% - 30px)/3);

    }

}

@media (max-width: 768px){

    #lightgallery > a {

        width: calc((100% - 20px)/2);

    }

    .newWrap {

        width: calc((100% - 20px)/2);

    }

    #map{

        height: 600px!important;

    }

}

@media (max-width: 450px){

    #lightgallery > a {

        width: 100%;

    }

    .newWrap,.videoWrap {

        width: 100%;

    }

}

.breadcrumbs {

    max-width: 1200px;

    width: 100%;

    margin: 10px auto;

    display: flex;

    flex-direction: row;

    gap: 15px;

}

.breadcrumbs a {

    font-size: 11px;

    letter-spacing: 2.5px;

    color: var(--text-mid);

    text-decoration: none;

    transition: color 0.2s;

}

.breadcrumbs .divider {

    width: 1px;

    height: 11px;

    background-color: #686868;

    top: 2px;

    position: relative;

}

.breadcrumbs .textbc {

    font-size: 11px;

    letter-spacing: 2.5px;

    color: var(--text-mid);

    text-decoration: none;

    transition: color 0.2s;

}

.collectiiWrap {

    display: flex;

    flex-direction: column;

    gap: 20px;

}

.contentWrapper .section-header {

    width: 100%;

    padding: 0.5rem 1rem 0.5rem;

}

.newWrap .newsdate {

    font-size: 12px;

    letter-spacing: 1.5px;

    color: var(--text-mid);

    text-decoration: none;

    transition: color 0.2s;

}



.newWrap .itemTitle {

    font-size: 14px;

    font-weight: bold;

    letter-spacing: 1.5px;

    color: var(--text-mid);

    text-decoration: none;

    transition: color 0.2s;

}

.title_link {

    text-decoration: unset;

}

[aria-label="Page navigation"] {

    width: 100%;

    display: flex;

    margin: 20px 0;

    justify-content: center;

    align-items: center;

}

[aria-label="Page navigation"] .pagination {

    display: flex;

    flex-direction: row;

    gap: 10px;

    list-style-type: none;



}

[aria-label="Page navigation"] .pagination li a {

    text-decoration: unset;

    color: var(--text-mid);

}

[aria-label="Page navigation"] .pagination li.active a {

    text-decoration: unset;

    color: #ffffff;

}

[aria-label="Page navigation"] .pagination li {

    background-color: white;

    padding: 4px 8px;

    border-radius: 20px;





}

[aria-label="Page navigation"] .pagination li.active {

    background-color: var(--text-dark);

    padding: 4px 8px;

    border-radius: 20px;

}

.newsitem .pageDescription{

    display: flex;

    flex-direction: row;

    gap: 30px;

}

.newsdata {

    width: 100%;

    text-align: left;

    font-size: 14px;

    font-weight: bold;

    letter-spacing: 1.5px;

    color: var(--text-mid);

    text-decoration: none;

    transition: color 0.2s;

}

.mapWrap {

    display: flex;

    position: relative;

    max-width: 940px;

    width: 100%;

    margin: auto;

}

.contact-col {

    position: absolute;

    bottom:30px;

    left: 30px;

    width: 170px;

    height: auto;

    padding: 20px;

    background-color: #ffffff;

    z-index: 100;

}

.modalForm {

    display: none;

    align-items: flex-start;

    justify-content: center;

    width: 100%;

    height: 100%;

    padding: 10% .75rem .75rem;

    position: fixed;

    top: 0;

    left: 0;

    z-index: 10000;

}

.modalForm.active {

    display: flex;

}

.modalForm .modalContent {

    display: flex;

    flex-direction: column;

    width: 352px;

    max-width: 100%;

    min-height: 427px;

    border-radius: 10px;

    background-color: #fff;

    padding: 40px 24px 72px;

    position: relative;

    overflow-y: auto;

    gap: 20px;

    box-shadow: 0 0 6px 2px #dbdbdb;

}

.modalForm .modalContent .close {

    width: 32px;

    height: 32px;

    background-color: #9B9B9B;

    -webkit-mask: url('/assets/images/x-circle.svg') center center /contain no-repeat;

    mask: url('/assets/images/x-circle.svg') center center /contain no-repeat;

    position: absolute;

    top: 10px;

    right: 10px;



}

.modalForm .modalContent .title {

    font-size: 24px;

    line-height: 32px;

    text-align: center;

    margin-bottom: 20px;

}

.modalContent form .row {

    /*width: 100%;*/

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    gap: 10px;

    padding: 0 10px;

}

.modalContent form {

    width: 100%;

    display: flex;

    flex-direction: column;

    gap: 20px

}

.btn-danger.btn.sendContactForm.sendContactForm {

    padding: 10px 0;

    background: var(--sage);

    border: 0;

}

.modalContent form .row > * {

    padding: 0;

}

