/* Move Green · θέμα χωρίς page builder.
   Οι αποστάσεις/μεγέθη είναι αυτά του παλιού site (Elementor, Οκτώβριος 2026).
   Η γραμματοσειρά «HGF» πέφτει στη sans-serif του συστήματος όταν δεν φορτώνεται (όπως έβλεπαν οι επισκέπτες). */

:root {
	--green: #1f7e65;
	--ink: #0e0e0e;
	--ink-2: #1b1b1b;
	--ink-3: #242828;
	--grey-nav: #54595f;
	--paper: #f5f5f5;
	--f: "HGF", sans-serif;
	--gradient: linear-gradient(310deg, #fff 20%, var(--green) 60%);
	--lh: 24.75px; /* το line-height της σελίδας του παλιού θέματος (15px × 1.65) */
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: #4b4f58; font: 400 15px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: #0170b9; text-decoration: none; }
b, strong { font-weight: bold; }
h1, h2, h3 { margin: 0; font-family: var(--f); }
p { margin: 0 0 1.6em; }
ul { margin: 0 0 1.5em 20px; padding: 0; }
hr { border: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { clip: auto; width: auto; height: auto; z-index: 100; background: #fff; padding: 10px 16px; left: 8px; top: 8px; }
:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.text-body, .about__body, .split__body, .water__body, .build__body, .mech__body, .contact__intro { font-family: var(--f); line-height: var(--lh); }

/* Εμφάνιση στο scroll (τα fadeIn του παλιού site) */
.js .reveal { opacity: 0; transition: opacity 1s ease, transform 1s ease; transition-delay: var(--delay, 0s); }
.js .reveal--up { transform: translateY(60px); }
.js .reveal--down { transform: translateY(-60px); }
.js .reveal--left { transform: translateX(-60px); }
.js .reveal--right { transform: translateX(60px); }
.js .reveal--zoom { transform: scale(.6); }
.js .reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .reveal { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } }

/* ---------- Header ---------- */
.site-header { position: relative; z-index: 10; display: flex; align-items: center; background: #fff; border-bottom: 1px solid #d3d3d3; }
.site-header__logo { width: 14%; padding: 10px; }
.site-header__logo img { width: 100%; }
.site-header__nav { width: 77%; }
.site-header__social { width: 9%; text-align: center; }
.menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; }
.menu li { margin: 0 3px; }
.menu a { position: relative; display: block; padding: 36px 20px; line-height: 20px; font: 400 16px/20px var(--f); text-transform: uppercase; color: var(--grey-nav); text-decoration: none; transition: color .3s; }
.menu a:hover, .menu a:focus { color: var(--green); }
.menu-toggle { display: none; }
.social { display: inline-flex; align-items: center; justify-content: center; width: 36.4px; height: 36.4px; border-radius: 50%; background: #3b5998; color: #fff; transition: opacity .3s; }
.social:hover { opacity: .9; }

/* ---------- Hero ---------- */
.hero { display: flex; align-items: center; min-height: 73vh; padding: 0 3%; }
.hero__text { width: 46.022%; align-self: stretch; display: flex; flex-direction: column; justify-content: space-evenly; border-top: 1px solid var(--ink-2); padding-top: 2.1%; }
.hero__kicker { font: 500 40px/1.3 var(--f); letter-spacing: -1.3px; color: var(--green); margin-bottom: 20px; }
.hero__brand { font: 600 54px/1.3 "Scandal", sans-serif; color: var(--green); margin-bottom: 20px; }
.hero__title { font: 300 3.6vw/1.2 var(--f); letter-spacing: -3px; color: #292926; margin: -52px 0 20px; }
.hero__cta { display: flex; align-items: flex-end; min-height: 326px; }
.hero__desc { flex: 1; margin: 0; padding-right: 18%; font: 200 16px/1.5 var(--f); color: #595853; }
.hero__thumb { flex: 0 0 auto; width: 42.2%; min-width: 263px; align-self: stretch; min-height: 326px; background: center / cover no-repeat; }
.hero__slider { position: relative; width: 53.978%; align-self: stretch; display: flex; flex-direction: column; justify-content: center; border-top: 1px solid var(--ink-2); padding-left: 2.16%; overflow: hidden; }
.hero__slide img { margin-bottom: -6px; }
.hero__slide { display: none; }
.hero__slide img { width: 100%; }
.hero__slide.is-current { display: block; animation: mg-fade .6s ease; }
@keyframes mg-fade { from { opacity: .3; } to { opacity: 1; } }

/* ---------- Η εταιρία ---------- */
.about { display: flex; margin-top: 3%; padding: 0 3% 3%; min-height: 570px; }
.about__image { width: 50%; min-height: 50px; background: center / cover no-repeat; }
.about__text { width: 50%; padding: 20px 7.46% 0; display: flex; flex-direction: column; }
.about__tags { display: flex; align-items: center; gap: 8px; margin: 0 0 20px; font: 400 18px/1.3 var(--f); letter-spacing: -.5px; text-transform: capitalize; color: var(--ink-2); }
.about__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ink-2); flex: none; }
.about__title { font: 200 44px/1.2 var(--f); letter-spacing: -1.5px; color: var(--ink-2); margin-bottom: 20px; }
.about__body { text-align: justify; font-size: 17px; font-weight: 200; line-height: 1.5; color: var(--ink); margin-bottom: -16px; }

/* ---------- Πράσινες ζώνες (Μηχανολογικές Εφαρμογές, Μελέτες) ---------- */
.band { margin-top: -1px; padding: 120px 0; background: var(--gradient); color: #fff; }
.band__inner { display: flex; align-items: center; max-width: 1140px; margin: 0 auto; }
.band--mechapps .band__text { width: calc(50% - 90px); margin-right: 90px; }
.band--mechapps .band__media { width: calc(50% - 10px); margin: 30px 0 0 10px; }
.band--mechapps .band__media img { width: 100%; }
.band__title { font: 600 40px/1.2 var(--f); color: #fff; padding-bottom: 20px; margin-bottom: 20px; }
.band__body { font: 400 18px/1.6 var(--f); color: #fff; margin-bottom: 20px; }
.band__body--lg { font-size: 19px; }
.band__kicker { margin: 0 0 20px; font: 500 16px/1 "Red Hat Display", sans-serif; color: #fff; }
.band--studies .band__inner { align-items: center; }
.band--studies .band__text { width: calc(43.86% - 90px); margin-right: 90px; }
.band--studies .band__media--a { width: calc(27.895% - 10px); margin-right: 10px; }
.band--studies .band__media--b { width: calc(27.881% - 10px); margin: 30px 0 0 10px; }
.band--studies .band__media img { width: 100%; }

/* ---------- Δύο στήλες (Γεωπονικές, Αρχιτεκτονική Τοπίου) ---------- */
.split { display: flex; margin-top: 3%; padding: 0 3%; min-height: 760px; }
.split__media img { width: 100%; }
.split__title { font: 600 32px/1.3 var(--f); color: #1a1a1a; margin-bottom: 20px; }
.split__line { margin: 0 0 20px; height: 31px; background: linear-gradient(#000, #000) left 15px / 30% 1px no-repeat; }
.split__body { font-size: 18px; color: var(--ink); text-align: justify; margin-bottom: 20px; }
.split__body:last-child { margin-bottom: 0; }
.split--agri { align-items: flex-start; }
.split--agri .split__media { width: 54.967%; }
.split--agri .split__text { width: calc(45.033% - 2.2%); margin-left: 2.2%; padding-top: 27px; }
.split--landscape { align-items: center; }
.split--landscape .split__text { width: calc(45.033% - 6.8%); margin-right: 6.8%; }
.split--landscape .split__media { width: 54.967%; align-self: flex-start; }
.split--landscape .split__body ul { text-align: left; }

/* ---------- Καινοτομία υδάτων ---------- */
.water { background: #f6f6f6; padding: 6%; text-align: center; }
.water__title { font: 600 32px/1.3 var(--f); color: #1a1a1a; }
.water__media img { margin: 0 auto; }
.water__body { font-size: 18px; color: var(--ink); }

/* ---------- Κατασκευές ---------- */
.build { display: flex; align-items: center; min-height: 90vh; padding: 0 3%; }
.build__text { width: 50%; padding-right: 5%; }
.build__title { margin-top: 20px; font: 600 58px/1.2 var(--f); letter-spacing: -1px; color: #333; text-transform: capitalize; }
.build__body { max-width: 530px; margin-top: 2.9%; font-size: 18px; font-weight: 300; line-height: 27px; color: #242424; }
.build__body p { margin-bottom: 0; }
.build__body p + ul { margin-top: var(--lh); }
.build__body ul { margin-bottom: calc(1.5em + var(--lh)); }
.build__media { width: 50%; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: flex-end; }
.build__img { position: relative; z-index: 2; }
.build__img img { width: 100%; }
.build__img--1 { width: 25vw; }
.build__img--2 { width: calc(15vw - 18px); margin-left: 18px; }
.build__img--3 { width: calc(100% - 100px); margin: 18px 0 0 100px; }
.build__img--3 img { width: 75%; margin: 0 auto; }

/* ---------- Μηχανολογικά ---------- */
.mech { display: flex; min-height: 100vh; padding: 0 4%; background: #eceeef; overflow: hidden; }
.mech__text { width: 50%; padding: 4.6% 0; display: flex; flex-direction: column; justify-content: space-between; }
.mech__title { font: 600 32px/1.3 var(--f); color: var(--ink); margin: 20px 0; }
.mech__body { text-align: justify; font-size: 18px; color: var(--ink); padding-right: 100px; }
.mech__small img { width: 380px; }
.mech__tall { width: 50%; padding: 4.6% 0; }
.mech__tall img { width: 100%; height: 85vh; object-fit: cover; }
.mech--no-photos .mech__small, .mech--no-photos .mech__tall img { visibility: hidden; }

/* ---------- Επικοινωνία ---------- */
.contact { display: flex; align-items: center; min-height: 100vh; }
.contact__media { width: 50%; align-self: stretch; display: flex; align-items: flex-end; background: #fcfcfc; padding: 2.5% 8.5% 0 0; }
.contact__media img { width: 100%; }
.contact__text { width: 50%; display: flex; flex-direction: column; align-items: center; padding-bottom: 15%; }
.contact__title { width: 605px; max-width: 100%; font: 300 91px/1 var(--f); color: var(--ink-3); }
.contact__line { align-self: stretch; height: 31px; margin: 0; padding: 0 0 0 100px; background: linear-gradient(var(--green), var(--green)) 100px 15px / calc((100% - 100px) * .41) 1px no-repeat; }
.contact__intro { align-self: stretch; padding: 0 50px 0 100px; font-size: 18px; color: var(--ink); }
.contact__info { display: flex; width: 605px; max-width: 100%; margin-top: 2.5%; }
.contact__col:nth-child(1) { width: 28.871%; }
.contact__col:nth-child(2) { width: 37.461%; }
.contact__col:nth-child(3) { width: 33.668%; }
.contact__col h3 { margin-bottom: 10px; font: 400 20px/1 "Jost", sans-serif; color: var(--ink-3); text-transform: capitalize; }
.contact__col p { margin: 0; font: 300 17px/1.4 var(--f); color: var(--ink); }
.contact__col a { color: var(--ink); text-decoration: none; }
.contact__col:nth-child(2) p { font-size: 18px; line-height: 1.5; }

/* ---------- Φόρμα ---------- */
.formsec { display: flex; align-items: center; }
.formsec__form { width: 50%; padding: 5% 6%; }
.formsec__media { position: relative; width: 50%; margin-top: -15%; align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: 10%; background: center / cover no-repeat; }
.formsec__media::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.formsec__img { position: relative; }
.formsec__img img { width: 100%; }
.cform { display: flex; flex-wrap: wrap; margin: 0 -17.5px; }
.cform__title { width: 100%; padding: 0 17.5px; font: 300 42px/1.2 var(--f); text-transform: uppercase; color: var(--ink-3); margin-bottom: 35px; }
.cform__field { padding: 0 17.5px; margin-bottom: 35px; }
.cform__field--half { width: 50%; }
.cform__field--full { width: 100%; }
.cform input, .cform textarea { width: 100%; min-height: 49px; padding: 12px; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; background: transparent; font: 700 16px/1.5 var(--f); text-transform: capitalize; color: var(--ink); }
.cform textarea { min-height: 107px; resize: vertical; }
.cform input::placeholder, .cform textarea::placeholder { color: var(--ink); opacity: .6; }
.cform input:focus, .cform textarea:focus { outline: 0; border-bottom-color: var(--green); }
.cform__actions { display: flex; justify-content: flex-end; margin-bottom: 0; }
.cform__button { width: calc(50% - 35px / 2 + 17.5px); padding: 2.5% 7%; min-height: 41px; border: 1px solid var(--ink-3); border-radius: 0; background: var(--green); color: #fff; font: 400 12px/1 var(--f); letter-spacing: 1px; text-transform: uppercase; cursor: pointer; transition: background .3s, color .3s; }
.cform__button:hover, .cform__button:focus { background: transparent; color: var(--ink-3); }
.cform__button[disabled] { opacity: .6; cursor: wait; }
.cform__msg { width: 100%; padding: 10px 17.5px 0; font: 300 16px/1.5 "Jost", sans-serif; color: var(--ink-3); }
.cform__msg:empty { display: none; }
.cform__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cform .is-invalid { border-bottom-color: #d63638; }

/* ---------- Footer ---------- */
.site-footer { margin: 200px 0 50px; padding: 0 5%; }
.site-footer__top { display: flex; align-items: center; }
.site-footer__logo { width: 18.468%; }
.site-footer__logo img { width: 100%; }
.site-footer nav { width: 81.459%; }
.site-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; }
.site-footer__menu li { margin: 0 25px; }
.site-footer__menu a { font: 300 18px/20px var(--f); color: #000; text-decoration: none; }
.footer-toggle { display: none; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 3px; background: rgba(0, 0, 0, .05); color: #33373d; cursor: pointer; }
.footer-toggle svg { width: 16px; height: 16px; fill: currentColor; }
.site-footer__line { margin: 0; height: 71px; background: linear-gradient(#000, #000) 0 35px / 100% 1px no-repeat; }
.site-footer__bottom { display: flex; align-items: center; }
.site-footer__email { width: 50%; margin: 0; font: 300 17px/var(--lh) var(--f); color: #000; }
.site-footer__email a { color: inherit; text-decoration: none; }
.site-footer__copy { width: 50%; text-align: right; font: 200 15px/var(--lh) var(--f); color: #000; }
.site-footer__copy p { margin: 0; }

/* ---------- Απλές σελίδες ---------- */
.doc { max-width: 900px; margin: 0 auto; padding: 80px 20px; font-family: var(--f); color: var(--ink); }
.doc__title { font: 600 40px/1.2 var(--f); color: var(--ink); margin-bottom: 30px; }

/* ================= Tablet (≤1024) ================= */
@media (max-width: 1024px) {
	.site-header { padding: 20px; flex-wrap: wrap; }
	.site-header__logo { width: 30%; padding: 0; }
	.site-header__nav { width: 40%; }
	.site-header__social { width: 30%; text-align: right; }
	.menu a { font-size: 13px; }
	.hero { flex-direction: column-reverse; margin-top: 5%; }
	.hero__text, .hero__slider { width: 100%; }
	.hero__slider { border: 0; padding: 0; margin-top: 10%; }
	.hero__text { border: 0; }
	.hero__kicker, .hero__brand { text-align: center; }
	.hero__title { margin-top: 0; text-align: right; padding-right: 20%; font-size: 65px; }
	.about { flex-direction: column-reverse; margin-top: 20%; }
	.about__image, .about__text { width: 100%; }
	.about__image { min-height: 250px; margin-top: 4%; }
	.about__text { padding: 0 0 0 6%; }
	.about__tags { font-size: 16px; }
	.about__title { font-size: 32px; }
	.about__body { font-size: 14px; }
	.band { padding: 100px 20px; }
	.band__inner { flex-wrap: wrap; }
	.band--mechapps .band__text, .band--studies .band__text { width: 100%; margin: 0; padding: 0 100px 40px 0; }
	.band--mechapps .band__media { width: 50%; }
	.band--studies .band__media--a, .band--studies .band__media--b { width: calc(50% - 10px); }
	.split { flex-direction: column; margin-top: 20%; min-height: 685px; }
	.split--agri { flex-direction: column-reverse; }
	.split__media, .split--agri .split__text, .split--landscape .split__text { width: 100% !important; margin: 0; }
	.split--agri .split__text { margin-bottom: 20px; }
	.split--landscape { flex-direction: column-reverse; }
	.split--landscape .split__media { width: 100%; }
	.split--landscape .split__text { margin-top: 6%; }
	.water { margin-top: 15%; }
	.build { flex-direction: column; margin-top: 5%; min-height: 0; }
	.build__text, .build__media { width: 100%; padding: 0; }
	.build__title { font-size: 46px; }
	.build__body { font-size: 14px; }
	.build__media { margin-top: 5%; }
	.build__img--1 { width: 35vw; }
	.build__img--2 { width: calc(20vw - 18px); }
	.mech { min-height: 0; flex-wrap: wrap; }
	.mech__text { width: 65%; }
	.mech__tall { width: 35%; padding: 0 0 18.6%; align-self: flex-end; }
	.contact { min-height: 0; flex-direction: column-reverse; }
	.contact__media, .contact__text { width: 100%; }
	.contact__media { padding: 0; }
	.contact__text { padding: 12% 0; }
	.contact__title { font-size: 55px; }
	.contact__info { margin-top: 4%; }
	.formsec { flex-direction: column; }
	.formsec__form, .formsec__media { width: 100%; }
	.formsec__media { margin-top: 0; }
	.cform__title { font-size: 32px; }
	.site-footer { margin-top: 100px; }
}

/* ================= Κινητό (≤767) ================= */
@media (max-width: 767px) {
	.site-header { padding: 20px; flex-wrap: nowrap; justify-content: space-between; }
	.site-header__logo { width: 50%; padding: 10px; }
	.site-header__logo img { width: 155px; }
	.site-header__nav { width: 50%; display: flex; justify-content: flex-end; }
	.site-header__social { display: none; }
	.menu-toggle { display: flex; align-items: center; justify-content: center; width: 45px; height: 45px; padding: 7.5px; border: 0; background: transparent; color: #000; cursor: pointer; }
	.menu-toggle svg { fill: currentColor; width: 30px; height: 30px; }
	.menu-toggle:hover { color: #39c7ce; }
	.menu-toggle__close { display: none; }
	.menu-toggle[aria-expanded="true"] .menu-toggle__open { display: none; }
	.menu-toggle[aria-expanded="true"] .menu-toggle__close { display: block; }
	.menu { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; background: #f2f2f2; box-shadow: 0 6px 12px rgba(0, 0, 0, .1); }
	.menu.is-open { display: flex; }
	.menu li { margin: 0; }
	.menu a { padding: 12px 20px; font-size: 15px; text-transform: none; color: #000; }
	.menu a:hover, .menu a:focus, .menu a.is-active { color: #39c7ce; background: #ededed; }

	.hero { margin-top: 10%; padding: 0 5%; }
	.hero__slider { margin-top: 15%; }
	.hero__kicker { font-size: 40px; }
	.hero__brand { font-size: 44px; margin-bottom: 0; }
	.hero__title { margin: 0; padding: 0; text-align: center; font-size: 37px; }
	.hero__cta { flex-direction: column-reverse; align-items: stretch; }
	.hero__thumb { width: 100%; min-height: 326px; }
	.hero__desc { padding: 12% 0 0; }

	.about { margin-top: 35%; padding: 0 5%; }
	.about__image { min-height: 250px; margin-top: 10%; }
	.about__text { padding: 20px 0 0; text-align: center; }
	.about__tags { justify-content: center; font-size: 17px; }
	.about__dot { display: none; }
	.about__title { font-size: 26px; }
	.about__body { font-size: 16px; }

	.band { padding: 120px 20px 100px; }
	.band--mechapps .band__text, .band--studies .band__text { padding: 0; }
	.band__body--lg, .band__body { font-size: 16px; }
	.band--mechapps .band__media, .band--studies .band__media--a, .band--studies .band__media--b { width: 100%; }
	.band--mechapps .band__media { margin: 30px 0 0 10px; }
	.band--studies .band__media--a { margin: 0 10px 0 0; }
	.band--studies .band__media--b { margin: 30px 0 0 10px; }

	.split { margin-top: 35%; padding: 0 5%; min-height: 250px; }
	.split__body { font-size: 16px; }

	.water { margin-top: 25%; padding: 15% 6%; }
	.water__body { font-size: 16px; }

	.build { margin-top: 12%; }
	.build__title { margin-top: 15px; font-size: 35px; }
	.build__body { margin-top: 0; font-size: 16px; }
	.build__media { margin-top: 20%; justify-content: space-between; }
	.build__img--1 { width: 55vw; }
	.build__img--2 { width: calc(33vw - 8px); margin-left: 8px; }
	.build__img--3 { width: calc(100% - 50px); margin: 8px 0 0 50px; }
	.build__img--3 img { width: 100%; }

	.mech { padding: 13% 4% 12%; flex-direction: column; }
	.mech__text, .mech__tall { width: 100%; padding: 0; }
	.mech__body { padding: 0; font-size: 16px; }
	.mech__small { margin-top: 10%; }
	.mech__small img { width: 100%; }
	.mech__tall { margin-top: 3%; }

	.contact__media { padding: 0; }
	.contact__text { padding: 15% 6%; text-align: center; }
	.contact__title { font-size: 35px; text-align: center; }
	.contact__line { padding: 0; background-position: center 15px; background-size: 41% 1px; }
	.contact__intro { padding: 0; }
	.contact__info { flex-direction: column; margin-top: 8%; }
	.contact__col { width: 100% !important; margin-top: 10%; }
	.contact__col:first-child { margin-top: 0; }
	.contact__col h3 { font-size: 18px; }

	.formsec__form { padding: 15% 6%; }
	.cform__button { width: auto; white-space: nowrap; padding: 12px 24px; }
	.formsec__media { padding: 20%; }
	.cform__field--half { width: 100%; }

	.site-footer { margin: 100px 0 50px; }
	.site-footer__top { flex-direction: column; }
	.site-footer__logo, .site-footer nav { width: 100%; }
	.site-footer nav { margin-top: 35px; text-align: center; }
	.footer-toggle { display: inline-flex; }
	.site-footer__menu { display: none; flex-direction: column; align-items: center; margin-top: 20px; }
	.site-footer__menu.is-open { display: flex; }
	.site-footer__menu li { margin: 0 0 20px; }
	.site-footer__line { height: 61px; background-position: 0 30px; }
	.site-footer__bottom { flex-direction: column; }
	.site-footer__email, .site-footer__copy { width: 100%; text-align: center; }
	.site-footer__copy { margin-top: 20px; font-size: 12px; }
}
