@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Inter:wght@400;500;600&display=swap');
:root{
  --thd-bg:#f7f5f2;--thd-bg-2:#f1eee9;--thd-card:#fbfaf7;--thd-card-alt:#ece8e3;
  --thd-text:#403832;--thd-muted:#746d66;--thd-border:#e3ded7;--thd-dark:#3d3630;--thd-white:#fffdf9;
  --thd-serif:"Cormorant Garamond", Georgia, serif;--thd-sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --thd-container:1212px;
}
html,body{background:var(--thd-bg)!important;color:var(--thd-text)}
body.elementor-page{background:var(--thd-bg)!important}
.thd-native-v5,.thd-native-v5 *{box-sizing:border-box}.thd-native-v5{background:var(--thd-bg);font-family:var(--thd-sans);color:var(--thd-text)}
.thd-native-v5 a{text-decoration:none;color:inherit}.thd-native-v5 .elementor-widget:not(:last-child){margin-bottom:0}
.thd-native-v5 .elementor-heading-title,.thd-native-v5 h1,.thd-native-v5 h2,.thd-native-v5 h3{font-family:var(--thd-serif)!important;font-weight:400!important;letter-spacing:-.035em;color:var(--thd-text);margin:0!important}
.thd-native-v5 p,.thd-native-v5 .elementor-text-editor,.thd-native-v5 .elementor-widget-text-editor .elementor-widget-container{font-family:var(--thd-sans);color:var(--thd-muted);font-size:17px;line-height:1.64;letter-spacing:.005em;margin:0}
.thd-container>.elementor-container,.thd-container.elementor-section>.elementor-container{max-width:var(--thd-container)!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
.thd-section{padding:104px 0}.thd-section-soft{background:var(--thd-bg-2)}
.thd-page-hero{padding:70px 0 72px}.thd-page-hero .elementor-container{max-width:var(--thd-container)!important}.thd-page-hero .elementor-widget-text-editor{max-width:700px}.thd-page-hero .elementor-widget-image{margin-top:68px!important}
.thd-kicker .elementor-heading-title,.thd-kicker .elementor-widget-container,.thd-kicker{font-family:var(--thd-sans)!important;text-transform:uppercase!important;letter-spacing:.34em!important;font-size:13px!important;font-weight:500!important;color:#837a72!important;margin:0 0 30px 0!important;line-height:1.2!important}
.thd-h1 .elementor-heading-title{font-size:clamp(54px,5.1vw,78px)!important;line-height:1.02!important;max-width:920px!important;letter-spacing:-.04em!important}
.thd-h2 .elementor-heading-title{font-size:clamp(38px,3.7vw,58px)!important;line-height:1.08!important;letter-spacing:-.04em!important}.thd-h3 .elementor-heading-title{font-size:30px!important;line-height:1.18!important;letter-spacing:-.03em!important}
.thd-lead .elementor-widget-container,.thd-lead{max-width:760px!important;font-size:20px!important;line-height:1.56!important;color:var(--thd-muted)!important}.thd-copy-large .elementor-widget-container{font-size:21px!important;line-height:1.52!important;color:var(--thd-muted)!important}
.thd-button-outline .elementor-button,.thd-button-dark .elementor-button,.thd-link .elementor-button{font-family:var(--thd-sans)!important;text-transform:uppercase!important;letter-spacing:.28em!important;border-radius:0!important;font-size:12px!important;line-height:1!important}.thd-button-dark .elementor-button{background:var(--thd-dark)!important;border:1px solid var(--thd-dark)!important;color:#fff!important;padding:19px 28px!important}.thd-button-outline .elementor-button{background:transparent!important;border:1px solid #9d968e!important;color:var(--thd-text)!important;padding:19px 28px!important}.thd-link .elementor-button{padding:0 0 8px 0!important;background:transparent!important;color:var(--thd-text)!important;border:0!important;border-bottom:1px solid #a49d95!important;border-radius:0!important}
/* Header */
.thd-header-template{position:sticky!important;top:var(--wp-admin--admin-bar--height,0px);z-index:9999;background:rgba(250,248,244,.97)!important;border-bottom:1px solid var(--thd-border);backdrop-filter:blur(8px);padding:0!important}.thd-header-template>.elementor-container{max-width:var(--thd-container)!important;min-height:80px!important;display:flex!important;align-items:center!important;gap:0!important}.thd-header-logo-col{width:19%!important;flex:0 0 19%!important}.thd-header-nav-col{width:43%!important;flex:0 0 43%!important}.thd-header-lang-col{width:12%!important;flex:0 0 12%!important}.thd-header-cta-col{width:26%!important;flex:0 0 26%!important}.thd-header-template .elementor-widget-wrap{padding:0!important;align-content:center!important;align-items:center!important}.thd-logo .elementor-heading-title{font-size:22px!important;letter-spacing:-.01em!important;white-space:nowrap!important;color:#413a34!important}.thd-logo em{font-style:italic;color:#887d73}.thd-nav-links{display:flex!important;gap:30px!important;align-items:center!important;justify-content:flex-start!important;white-space:nowrap}.thd-nav-links a{font-family:var(--thd-sans);font-size:15px;color:#6f6861;letter-spacing:.01em}.thd-nav-links a:hover{color:var(--thd-text)}.thd-lang .elementor-widget-container,.thd-lang-links{font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:#6e675f;white-space:nowrap;text-align:right}.thd-lang-links span{padding:0 10px;color:#9b9289}.thd-header-cta{text-align:right}.thd-header-cta .elementor-button{background:transparent!important;border:1px solid #756e66!important;color:var(--thd-text)!important;border-radius:0!important;text-transform:uppercase!important;letter-spacing:.28em!important;font-size:12px!important;padding:15px 20px!important;white-space:nowrap!important;min-width:268px!important}
/* Footer */
.thd-footer-template{background:var(--thd-dark)!important;color:#f6f1eb!important;padding:76px 0!important}.thd-footer-template>.elementor-container{max-width:var(--thd-container)!important}.thd-footer-template .elementor-heading-title,.thd-footer-template .elementor-widget-container,.thd-footer-template p,.thd-footer-template a{color:#f6f1eb!important}.thd-footer-small .elementor-heading-title{font-family:var(--thd-sans)!important;text-transform:uppercase!important;letter-spacing:.26em!important;font-size:12px!important;color:#c8beb3!important}
/* Home hero */
.thd-home-hero{position:relative!important;overflow:hidden;background:#ede7df!important;padding:0!important;min-height:668px!important}.thd-home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,245,242,.08) 0%,rgba(247,245,242,.05) 45%,rgba(247,245,242,.0) 100%);pointer-events:none}.thd-home-hero>.elementor-container{max-width:var(--thd-container)!important;min-height:668px!important;align-items:flex-start!important;position:relative;z-index:2}.thd-hero-content{width:100%!important}.thd-hero-content>.elementor-widget-wrap{display:block!important;padding:242px 0 72px!important}.thd-hero-content .thd-kicker{margin-bottom:24px!important}.thd-hero-title .elementor-heading-title{font-size:clamp(54px,5vw,76px)!important;line-height:1.02!important;letter-spacing:-.046em!important;white-space:nowrap!important;max-width:none!important;color:#423a34!important}.thd-hero-copy .elementor-widget-container{max-width:690px!important;font-size:19px!important;line-height:1.52!important;color:#726b64!important;margin-top:26px!important}.thd-hero-content .elementor-widget-button{display:inline-block!important;width:auto!important;margin-top:36px!important;margin-right:8px!important;vertical-align:top}.thd-hero-content .elementor-widget-button .elementor-button{min-height:50px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.thd-hero-content .thd-button-dark .elementor-button{min-width:296px!important}.thd-hero-content .thd-button-outline .elementor-button{min-width:166px!important}
/* Stat bar */
.thd-statbar{border-top:1px solid var(--thd-border);border-bottom:1px solid var(--thd-border);background:#faf9f6!important}.thd-statbar>.elementor-container{max-width:100%!important}.thd-statbar .elementor-column{border-right:1px solid var(--thd-border)}.thd-statbar .elementor-column:last-child{border-right:none}.thd-stat .elementor-widget-container{text-align:center;font-size:15px!important;color:#746d66!important;letter-spacing:.04em;padding:21px 10px!important;line-height:1.2!important}
/* Main blocks */
.thd-split>.elementor-container{gap:64px!important}.thd-split .elementor-column>.elementor-widget-wrap{padding:0!important}.thd-services-cards>.elementor-container{border-top:1px solid var(--thd-border);border-left:1px solid var(--thd-border)}.thd-services-cards .elementor-column{border-right:1px solid var(--thd-border);border-bottom:1px solid var(--thd-border);background:#fbfaf7;min-height:284px}.thd-card-alt{background:var(--thd-card-alt)!important}.thd-card-col>.elementor-widget-wrap{padding:42px 42px 38px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important}.thd-card-num .elementor-heading-title{font-family:var(--thd-sans)!important;font-size:13px!important;letter-spacing:.22em!important;color:#8d847b!important;margin-bottom:44px!important}.thd-card-title .elementor-heading-title{font-size:30px!important;line-height:1.12!important;margin-bottom:18px!important}.thd-card-text .elementor-widget-container{font-size:16px!important;line-height:1.58!important;max-width:300px}.thd-card-discover{margin-top:auto!important}.thd-card-discover .elementor-button{background:transparent!important;color:#665f58!important;padding:0!important;border:none!important;text-transform:uppercase!important;letter-spacing:.34em!important;font-size:12px!important}
.thd-detail-img img{width:100%!important;height:476px!important;object-fit:cover!important}.thd-wide-img img{width:100%!important;height:430px!important;object-fit:cover!important}.thd-service-hero-img img{width:100%!important;height:520px!important;object-fit:cover!important}.thd-detail-right>.elementor-widget-wrap{padding-left:72px!important;display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:56px!important;row-gap:34px!important;align-content:start!important}.thd-detail-right>.elementor-widget-wrap>.elementor-widget:nth-child(1),.thd-detail-right>.elementor-widget-wrap>.elementor-widget:nth-child(2){grid-column:1/-1!important}.thd-detail-right .thd-h2{margin-bottom:16px!important}.thd-feature .elementor-widget-container{border-top:1px solid #d8d1c9;padding-top:22px!important;font-size:15.5px!important;line-height:1.55!important}.thd-feature strong{font-family:var(--thd-serif);font-size:21px;font-weight:400;color:var(--thd-text);display:block;margin-bottom:12px}
.thd-portfolio-head{padding-bottom:50px!important}.thd-align-right{text-align:right!important;margin-top:55px!important}.thd-project-grid{padding-bottom:100px!important}.thd-project-grid>.elementor-container{gap:30px!important}.thd-project-card img{height:480px!important;width:100%!important;object-fit:cover!important}.thd-project-title .elementor-heading-title{font-size:22px!important;line-height:1.2!important;margin-top:20px!important;letter-spacing:-.02em!important}.thd-project-location .elementor-widget-container{font-size:14px!important;color:#857e76!important;margin-top:6px!important}.thd-project-card+.elementor-widget-heading{margin-top:18px!important}
.thd-process-summary-head{padding-bottom:42px!important}.thd-process-home-title .elementor-heading-title{max-width:980px!important}.thd-process-grid{padding-bottom:24px!important}.thd-process-grid>.elementor-container{gap:30px!important}.thd-process-row{border-top:1px solid var(--thd-border);padding:36px 0 0!important}.thd-process-row .elementor-widget-wrap{padding:0!important}.thd-process-number .elementor-heading-title{font-family:var(--thd-sans)!important;font-size:13px!important;letter-spacing:.26em!important;color:#8e857c!important;margin-bottom:24px!important}.thd-process-title .elementor-heading-title{font-size:28px!important;line-height:1.16!important;letter-spacing:-.03em!important;margin-bottom:18px!important}.thd-process-text .elementor-widget-container{font-size:16px!important;line-height:1.58!important;color:#7a726a!important}.thd-process-link-row{padding:38px 0 92px!important}
.thd-values{padding-top:105px!important;padding-bottom:110px!important}.thd-values .elementor-column:not(:first-child) .elementor-widget-wrap{border-top:1px solid #d7d1cb;padding-top:26px!important}.thd-team-head{padding-bottom:54px!important}.thd-team-grid{padding-bottom:104px!important}.thd-team-grid>.elementor-container{gap:34px!important}.thd-team-card>.elementor-widget-wrap,.thd-contact-card>.elementor-widget-wrap{background:#fbfaf7;border:1px solid var(--thd-border);padding:42px!important}.thd-team-card .thd-kicker{margin:14px 0 26px!important}.thd-contact-card>.elementor-widget-wrap{background:#f0ede9;border:none!important;padding:42px!important}
.thd-form .elementor-field,.thd-form input,.thd-form textarea,.thd-form select{background:transparent!important;border:0!important;border-bottom:1px solid #d9d2cb!important;border-radius:0!important;padding:16px 0!important;color:var(--thd-text)!important}.thd-form button{border-radius:0!important;background:var(--thd-dark)!important;color:white!important;text-transform:uppercase!important;letter-spacing:.28em!important;font-size:12px!important;padding:18px 28px!important}.thd-project-detail-img img{height:660px!important;width:100%!important;object-fit:cover!important}.thd-cta{background:var(--thd-dark)!important;padding:86px 0!important}.thd-cta .elementor-heading-title,.thd-cta .elementor-widget-container{color:#fff!important}.thd-cta .thd-lead .elementor-widget-container{color:#d6cdc4!important}.thd-cta .thd-button-outline .elementor-button{border-color:#d4c9be!important;color:#fff!important}
@media(max-width:1280px){:root{--thd-container:calc(100vw - 96px)}.thd-hero-title .elementor-heading-title{font-size:clamp(50px,5.0vw,72px)!important}.thd-header-cta .elementor-button{min-width:236px!important;letter-spacing:.22em!important}.thd-nav-links{gap:22px!important}}
@media(max-width:1024px){:root{--thd-container:calc(100vw - 48px)}.thd-header-template>.elementor-container{min-height:auto!important;padding:20px 0!important;flex-wrap:wrap!important}.thd-header-logo-col,.thd-header-nav-col,.thd-header-lang-col,.thd-header-cta-col{width:100%!important;flex:0 0 100%!important}.thd-nav-links{margin-top:18px;flex-wrap:wrap!important;gap:18px!important}.thd-lang{text-align:left!important;margin-top:16px}.thd-header-cta{text-align:left!important;margin-top:18px}.thd-home-hero,.thd-home-hero>.elementor-container{min-height:680px!important}.thd-hero-content>.elementor-widget-wrap{padding:150px 0 70px!important}.thd-hero-title .elementor-heading-title{white-space:normal!important}.thd-detail-right>.elementor-widget-wrap{padding-left:0!important;margin-top:44px!important}.thd-project-grid>.elementor-container,.thd-team-grid>.elementor-container,.thd-process-grid>.elementor-container{gap:0!important}.thd-project-card img{height:420px!important}}
@media(max-width:767px){:root{--thd-container:calc(100vw - 32px)}.thd-section{padding:72px 0}.thd-page-hero{padding:56px 0}.thd-h1 .elementor-heading-title{font-size:48px!important}.thd-h2 .elementor-heading-title{font-size:40px!important}.thd-home-hero,.thd-home-hero>.elementor-container{min-height:720px!important}.thd-hero-content>.elementor-widget-wrap{padding:112px 0 56px!important}.thd-hero-title .elementor-heading-title{font-size:48px!important;white-space:normal!important}.thd-hero-copy .elementor-widget-container{font-size:17px!important}.thd-hero-content .elementor-widget-button{display:block!important;margin-right:0!important;margin-top:12px!important}.thd-hero-content .elementor-widget-button .elementor-button{width:100%!important;min-width:0!important}.thd-statbar .elementor-column{border-right:none;border-bottom:1px solid var(--thd-border)}.thd-detail-right>.elementor-widget-wrap{display:block!important}.thd-feature{margin-top:28px!important}.thd-service-hero-img img,.thd-wide-img img,.thd-detail-img img,.thd-project-card img,.thd-project-detail-img img{height:auto!important}.thd-card-col>.elementor-widget-wrap{padding:32px!important}}


/* =========================================================
   V5.1.2 — WPML / Elementor translated layout hard fix
   ---------------------------------------------------------
   Elementor/WPML can render translated pages/templates with
   e-con containers or with regenerated IDs. These fallbacks
   keep the Tailor layout stable on translated URLs.
   ========================================================= */
.thd-container.elementor-section > .elementor-container,
.thd-container > .elementor-container,
.thd-container.e-con,
.thd-container.e-con > .e-con-inner,
.thd-container.e-con-boxed > .e-con-inner,
.thd-page-hero.e-con > .e-con-inner,
.thd-section.e-con > .e-con-inner,
.thd-services-cards.e-con > .e-con-inner,
.thd-project-grid.e-con > .e-con-inner,
.thd-team-grid.e-con > .e-con-inner,
.thd-process-grid.e-con > .e-con-inner{
  width:100%!important;
  max-width:var(--thd-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.thd-page-hero.e-con{padding:70px 0 72px!important;}
.thd-section.e-con{padding:104px 0!important;}
.thd-native-v5.elementor-section,
.thd-native-v5.e-con{background:var(--thd-bg)!important;color:var(--thd-text)!important;}
.thd-native-v5 .e-con-inner{box-sizing:border-box!important;}
.thd-native-v5 .elementor-widget:not(:last-child),
.thd-native-v5 .elementor-widget{margin-bottom:0!important;}

/* Header fallback for WPML translated Elementor Theme Builder header */
.elementor-location-header,
.elementor-location-header *{box-sizing:border-box;}
.elementor-location-header{background:rgba(250,248,244,.97)!important;border-bottom:1px solid var(--thd-border);z-index:9999;}
.elementor-location-header img{max-width:230px!important;height:auto!important;object-fit:contain!important;}
.elementor-location-header .elementor-widget-image{max-width:260px!important;margin:0!important;}
.elementor-location-header .elementor-widget:not(:last-child){margin-bottom:0!important;}
.elementor-location-header .elementor-button{border-radius:0!important;text-transform:none;}
@media(min-width:1025px){
  .elementor-location-header > .elementor-section > .elementor-container,
  .elementor-location-header .elementor-section > .elementor-container,
  .elementor-location-header .e-con.e-flex,
  .elementor-location-header .e-con > .e-con-inner{
    max-width:var(--thd-container)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    align-items:center!important;
  }
  .elementor-location-header .elementor-column > .elementor-widget-wrap{
    align-content:center!important;
    align-items:center!important;
  }
}
@media(max-width:1280px){
  .thd-container.elementor-section > .elementor-container,
  .thd-container > .elementor-container,
  .thd-container.e-con,
  .thd-container.e-con > .e-con-inner,
  .thd-container.e-con-boxed > .e-con-inner{max-width:calc(100vw - 96px)!important;}
}
@media(max-width:1024px){
  .thd-container.elementor-section > .elementor-container,
  .thd-container > .elementor-container,
  .thd-container.e-con,
  .thd-container.e-con > .e-con-inner,
  .thd-container.e-con-boxed > .e-con-inner{max-width:calc(100vw - 48px)!important;}
}
@media(max-width:767px){
  .thd-container.elementor-section > .elementor-container,
  .thd-container > .elementor-container,
  .thd-container.e-con,
  .thd-container.e-con > .e-con-inner,
  .thd-container.e-con-boxed > .e-con-inner{max-width:calc(100vw - 32px)!important;}
  .thd-page-hero.e-con{padding:56px 0!important;}
  .thd-section.e-con{padding:72px 0!important;}
}
