@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-greek.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0370-03FF, U+1F00-1FFF;
}
@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --td-forest: #10271a;
  --td-forest-2: #173725;
  --td-olive: #667c44;
  --td-gold: #c7a05a;
  --td-cream: #f4efe4;
  --td-paper: #fbf9f4;
  --td-ink: #16231b;
}

html { scroll-behavior: smooth; }
body.td-theme { margin: 0; overflow-x: hidden; background: var(--td-paper); color: var(--td-ink); font-family: "Manrope", sans-serif; font-size: 16px; }
body.td-theme *, body.td-theme *::before, body.td-theme *::after { box-sizing: border-box; }
body.td-theme p, body.td-theme a, body.td-theme li, body.td-theme label, body.td-theme input, body.td-theme textarea, body.td-theme select, body.td-theme button { font-size: max(14px, 1em); }
body.td-theme a { color: inherit; }
.td-content-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 150px 0 90px; }

/* Elementor header */
.td-header { position: fixed !important; inset: 0 0 auto !important; z-index: 999 !important; width: 100%; min-height: 84px; padding: 0 !important; background: rgba(12, 31, 20, .96) !important; border-bottom: 1px solid rgba(255,255,255,.13); color: #fff; transition: background .3s ease, backdrop-filter .3s ease, box-shadow .3s ease; }
body.home .td-header:not(.is-scrolled) { background: transparent !important; backdrop-filter: none; box-shadow: none; }
.td-header.is-scrolled, body:not(.home) .td-header { background: rgba(12,31,20,.95) !important; backdrop-filter: blur(18px); box-shadow: 0 8px 35px rgba(5,18,10,.1); }
body.admin-bar .td-header { top: 32px !important; }
.td-header-inner { width: min(1180px, calc(100% - 48px)) !important; min-height: 84px; margin-inline: auto !important; padding: 0 !important; gap: 20px !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; }
.td-header-inner > .e-con { padding: 0 !important; }
.td-header-inner > .e-con:nth-of-type(1) { width: 27% !important; flex: 0 0 27% !important; }
.td-header-inner > .e-con:nth-of-type(2) { width: 53% !important; flex: 0 0 53% !important; align-items: flex-end !important; }
.td-header-inner > .e-con:nth-of-type(3) { width: 20% !important; flex: 0 0 20% !important; align-items: flex-end !important; }
.td-brand .elementor-heading-title { margin: 0; color: #fff; font-size: 18px; line-height: 1; letter-spacing: .01em; }
.td-brand-subtitle p { margin: 4px 0 0; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase; }
.td-main-nav .elementor-icon-list-items { display: flex; align-items: center; gap: 32px; }
.td-main-nav .elementor-icon-list-item { margin: 0 !important; }
.td-main-nav .elementor-icon-list-items { flex-wrap: nowrap !important; }
body.td-theme .td-main-nav .elementor-icon-list-text { color: rgba(255,255,255,.76) !important; font-size: 14px; font-weight: 650; transition: color .2s ease; white-space: nowrap; }
body.td-theme .td-main-nav .elementor-icon-list-item:hover .elementor-icon-list-text { color: #fff !important; }
.td-header-cta .elementor-button { min-height: 52px; display: inline-flex; align-items: center; border-radius: 999px; background: var(--td-gold); color: #102016; padding: 0 24px; font-size: 14px; font-weight: 750; box-shadow: 0 12px 30px rgba(0,0,0,.14); }
.td-mobile-shortcode { display: none; }
.td-mobile-toggle { width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(255,255,255,.05); display: grid; place-content: center; gap: 4px; cursor: pointer; }
.td-mobile-toggle span { width: 18px; height: 1px; background: #fff; transition: .25s ease; }
.td-mobile-menu { display: none; position: fixed; top: 74px; left: 0; right: 0; z-index: 998; padding: 16px 22px 24px; background: rgba(10,29,18,.99); }
.td-mobile-menu.is-open { display: grid; }
.td-mobile-menu a { padding: 14px 4px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.1); text-decoration: none; font-size: 14px; }

/* Elementor content */
.td-page { overflow: hidden; }
.td-section { padding: 112px 0; }
.td-shell { width: min(1180px, calc(100% - 48px)) !important; margin-inline: auto !important; }
.td-hero { position: relative; min-height: 94vh; color: #fff; overflow: hidden; }
.td-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(9,25,15,.92) 0%, rgba(9,25,15,.72) 42%, rgba(9,25,15,.18) 74%), linear-gradient(0deg, rgba(9,25,15,.52), transparent 52%); }
.td-hero > .e-con-inner, .td-hero > .elementor-element, .td-hero-inner { position: relative; z-index: 2; }
.td-hero-inner { width: min(1180px, calc(100% - 48px)) !important; margin-inline: auto !important; }
.td-page-hero { min-height: 580px; padding-top: 170px; padding-bottom: 84px; color: #fff; position: relative; overflow: hidden; }
.td-page-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(110deg, rgba(10,29,18,.97) 0%, rgba(10,29,18,.72) 54%, rgba(10,29,18,.22)); }
.td-page-hero > .elementor-element, .td-page-hero > .e-con-inner { position: relative; z-index: 2; }
.td-eyebrow p, .td-eyebrow .elementor-heading-title { margin: 0; color: var(--td-olive); font-size: 14px; font-weight: 750; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
.td-dark .td-eyebrow p, .td-dark .td-eyebrow .elementor-heading-title, .td-hero .td-eyebrow p, .td-page-hero .td-eyebrow p { color: #d8bd89; }
.td-display .elementor-heading-title { margin: 0; color: inherit; font-size: clamp(48px, 6.2vw, 88px); font-weight: 520; line-height: .98; letter-spacing: -.055em; }
.td-heading .elementor-heading-title { margin: 0; color: inherit; font-size: clamp(36px, 4.2vw, 60px); font-weight: 540; line-height: 1.05; letter-spacing: -.045em; }
.td-subheading .elementor-heading-title { margin: 0; color: inherit; font-size: clamp(24px, 2.5vw, 36px); font-weight: 580; line-height: 1.15; letter-spacing: -.035em; }
.td-gold { color: var(--td-gold); }
.td-lead p { margin: 0; color: #526057; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.75; }
.td-hero .td-lead p, .td-page-hero .td-lead p { color: rgba(255,255,255,.82) !important; }
.td-copy p { margin: 0; color: #5c675f; font-size: 16px; line-height: 1.8; }
.td-dark { background: var(--td-forest); color: #fff; }
.td-cream { background: var(--td-cream); }
.td-olive-section { background: #6c7e4b; color: #fff; }
.td-card { height: 100%; min-height: 300px; padding: 34px; border: 1px solid rgba(16,39,26,.11); border-radius: 4px 30px 4px 30px; background: #fff; transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
.td-dark .td-card { background: rgba(255,255,255,.035); border-color: rgba(255,255,255,.12); }
.td-card:hover { transform: translateY(-7px); border-color: rgba(199,160,90,.5); box-shadow: 0 24px 65px rgba(16,39,26,.09); }
.td-dark .td-card:hover { background: rgba(255,255,255,.065); box-shadow: none; }
.td-card .elementor-icon-wrapper { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: rgba(199,160,90,.11); border: 1px solid rgba(199,160,90,.23); }
.td-card .elementor-icon { color: var(--td-gold); }
.td-card .elementor-heading-title { font-size: 23px; line-height: 1.25; }
.td-product-grid .td-card { width: calc(50% - 11px); }
.td-dark .td-card .elementor-heading-title { color: #fff; }
.td-dark .td-card .td-copy p { color: rgba(255,255,255,.62); }
.td-image-frame { min-height: 620px; border-radius: 4px 70px 4px 70px; overflow: hidden; }
.td-image-frame img { width: 100%; height: 620px; object-fit: cover; transition: transform .8s ease; }
.td-image-frame:hover img { transform: scale(1.035); }
.td-list .elementor-icon-list-item { padding: 16px 0; border-bottom: 1px solid rgba(16,39,26,.14); }
.td-list .elementor-icon-list-icon { color: var(--td-olive); }
.td-list .elementor-icon-list-text { color: var(--td-ink); font-size: 15px; font-weight: 720; }
.td-dark .td-list .elementor-icon-list-item { border-color: rgba(255,255,255,.14); }
.td-dark .td-list .elementor-icon-list-text { color: #fff; }
.td-btn .elementor-button { min-height: 52px; display: inline-flex; align-items: center; border-radius: 999px; padding: 0 24px; background: var(--td-forest); color: #fff; font-size: 14px; font-weight: 750; transition: transform .25s ease, background .25s ease; }
.td-btn .elementor-button:hover { transform: translateY(-2px); background: var(--td-forest-2); }
.td-btn-gold .elementor-button { background: var(--td-gold); color: #102016; }
.td-btn-outline .elementor-button { background: rgba(255,255,255,.06); color: #fff; border: 1px solid rgba(255,255,255,.38); backdrop-filter: blur(10px); }
.td-btn-outline .elementor-button:hover { background: #fff; color: var(--td-forest); }
.td-process-step { padding-top: 30px; border-top: 1px solid rgba(16,39,26,.18); position: relative; }
.td-process-step::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--td-gold); }
.td-process-number p { margin: 0; color: var(--td-gold); font-size: 14px; font-weight: 800; letter-spacing: .12em; }
.td-quote .elementor-heading-title { font-size: clamp(31px, 4vw, 54px); line-height: 1.18; letter-spacing: -.04em; text-align: center; }
.td-contact-card { padding: 38px; border-radius: 3px 34px 3px 34px; background: var(--td-forest); color: #fff; }
.td-contact-card .elementor-heading-title { color: #fff; }
.td-contact-card .td-copy p { color: rgba(255,255,255,.62); }
.td-contact-form .wpcf7-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.td-contact-form .wpcf7-form p { margin: 0; }
.td-contact-form .td-field-full { grid-column: 1/-1; }
.td-contact-form label { display: grid; gap: 8px; color: #526057; font-size: 14px; font-weight: 700; }
.td-contact-form input, .td-contact-form textarea, .td-contact-form select { width: 100%; min-height: 54px; padding: 14px 16px; border: 1px solid rgba(16,39,26,.16); border-radius: 3px; background: #fff; color: var(--td-ink); outline: 0; }
.td-contact-form textarea { min-height: 150px; }
.td-contact-form input:focus, .td-contact-form textarea:focus, .td-contact-form select:focus { border-color: var(--td-olive); box-shadow: 0 0 0 3px rgba(102,124,68,.1); }
.td-contact-form input[type="submit"] { width: auto; min-width: 190px; border: 0; border-radius: 999px; background: var(--td-forest); color: #fff; font-weight: 750; cursor: pointer; }

/* Footer */
.td-footer { padding: 78px 0 28px; background: #0b1e13; color: #fff; }
.td-footer-shell { width: min(1180px, calc(100% - 48px)) !important; margin-inline: auto !important; }
.td-footer .elementor-heading-title { color: #fff; }
.td-footer .td-copy p { color: rgba(255,255,255,.54); }
.td-footer .elementor-icon-list-text { color: rgba(255,255,255,.66); font-size: 14px; }
.td-footer-bottom { padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); }
.td-footer-bottom p { color: rgba(255,255,255,.44); font-size: 14px; }

.td-fallback-header { position: fixed; inset: 0 0 auto; z-index: 999; height: 84px; padding: 0 max(24px, calc((100vw - 1180px)/2)); display: flex; align-items: center; justify-content: space-between; background: var(--td-forest); color: #fff; }
.td-fallback-brand { color: #fff; text-decoration: none; font-size: 18px; font-weight: 750; }
.td-fallback-header ul { display: flex; gap: 26px; list-style: none; }
.td-fallback-footer { padding: 60px max(24px, calc((100vw - 1180px)/2)); background: #0b1e13; color: #fff; }

@media (max-width: 1024px) {
  .td-main-nav, .td-header-cta { display: none !important; }
  .td-mobile-shortcode { display: block; margin-left: auto; }
  .td-header-inner > .e-con:nth-of-type(1) { width: auto !important; flex: 1 1 auto !important; }
  .td-header-inner > .e-con:nth-of-type(2), .td-header-inner > .e-con:nth-of-type(3) { display: none !important; }
  .td-section { padding: 88px 0; }
  .td-card { min-height: 260px; }
}

@media (max-width: 782px) {
  body.admin-bar .td-header { top: 46px !important; }
}

@media (max-width: 767px) {
  .td-header, .td-header-inner { min-height: 74px; }
  .td-header-inner, .td-shell, .td-hero-inner, .td-footer-shell { width: min(100% - 28px, 560px) !important; }
  .td-brand-subtitle { display: none; }
  .td-section { padding: 74px 0; }
  .td-hero { min-height: 760px; }
  .td-hero .elementor-background-overlay { background-position: 62% center; }
  .td-display .elementor-heading-title { font-size: clamp(43px, 13vw, 61px); }
  .td-heading .elementor-heading-title { font-size: 38px; }
  .td-page-hero { min-height: 520px; padding-top: 135px; padding-bottom: 64px; }
  .td-image-frame, .td-image-frame img { min-height: 440px; height: 440px; border-radius: 3px 44px 3px 44px; }
  .td-card { min-height: auto; }
  .td-product-grid .td-card { width: 100%; }
  .td-contact-form .wpcf7-form { grid-template-columns: 1fr; }
  .td-contact-form .td-field-full { grid-column: auto; }
  .td-contact-form input[type="submit"] { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
