/* =========================================================================
   ΜΠΟΪΤΣΙΟΣ — main.css
   Design system + header/footer/nav foundation.
   (Οι στυλ των sections της αρχικής & των εσωτερικών έρχονται στο επόμενο batch.)
   ========================================================================= */

/* ---------- 1. Design tokens ---------- */
:root {
	/* Χρώματα */
	--c-ink:        #1a1815;   /* σχεδόν μαύρο, ζεστό */
	--c-charcoal:   #2c2925;
	--c-graphite:   #4a453f;
	--c-marble:     #f6f3ee;   /* ζεστό off-white (μάρμαρο) */
	--c-stone:      #e9e3d9;
	--c-line:       #ded7ca;
	--c-accent:     #b0895a;   /* μπρονζέ/χρυσό */
	--c-accent-dk:  #926f43;
	--c-accent-lt:  #cba97f;
	--c-white:      #ffffff;
	--c-text:       #26231f;
	--c-muted:      #6f685e;

	/* Τυπογραφία — ενιαία Manrope σε EL + EN.
	   Το fallback καλύπτει ελληνικά σε περίπτωση που κάποιο weight δεν φορτώσει. */
	--font-display: "Manrope", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	--font-body:    "Manrope", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;

	/* Ρυθμός / spacing */
	--space-1: .5rem;
	--space-2: 1rem;
	--space-3: 1.5rem;
	--space-4: 2rem;
	--space-5: 3rem;
	--space-6: 4.5rem;
	--space-7: 6.5rem;

	/* Layout */
	--container: 1200px;
	--container-wide: 1440px;
	--radius: 4px;
	--radius-lg: 10px;

	/* Λοιπά */
	--shadow-sm: 0 2px 8px rgba(26,24,21,.06);
	--shadow:    0 10px 30px rgba(26,24,21,.10);
	--shadow-lg: 0 24px 60px rgba(26,24,21,.16);
	--transition: .28s cubic-bezier(.4,0,.2,1);
	--topbar-h: 44px;
}

/* ---------- 2. Reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	font-family: var(--font-body);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--c-text);
	background: var(--c-white);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
img, picture, svg, video { display: block; max-width: 100%; height: auto; }
a { color: var(--c-accent-dk); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--c-accent); }
ul, ol { list-style: none; padding: 0; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 3px; }

/* ---------- 3. Τυπογραφία ---------- */
h1, h2, h3, h4 {
	font-family: var(--font-display);
	font-weight: 800;
	line-height: 1.1;
	color: var(--c-ink);
	letter-spacing: -0.02em;
}
h1 { font-size: clamp(2.1rem, 4.6vw, 3.4rem); }
h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); }
h3 { font-size: clamp(1.3rem, 2.2vw, 1.6rem); font-weight: 700; }
h4 { font-size: clamp(1.1rem, 1.7vw, 1.25rem); font-weight: 700; letter-spacing: -0.01em; }
p { margin-bottom: var(--space-2); }
p:last-child { margin-bottom: 0; }

.eyebrow {
	font-family: var(--font-body);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--c-accent-dk);
	display: inline-block;
	margin-bottom: var(--space-2);
}

/* ---------- 4. Layout ---------- */
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--space-3); }
.container--wide { max-width: var(--container-wide); }
.section { padding-block: var(--space-7); }
.section--tight { padding-block: var(--space-5); }
.section--marble { background: var(--c-marble); }
.section--ink { background: var(--c-ink); color: var(--c-stone); }
.section--ink h1, .section--ink h2, .section--ink h3 { color: var(--c-white); }

/* ---------- 5. Buttons ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	gap: .6em;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: .82rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: .95em 2em;
	border-radius: var(--radius);
	transition: all var(--transition);
	border: 1.5px solid transparent;
	line-height: 1;
}
.btn--primary { background: var(--c-accent); color: var(--c-white); }
.btn--primary:hover { background: var(--c-accent-dk); color: var(--c-white); transform: translateY(-2px); box-shadow: var(--shadow); }
.btn--outline { border-color: var(--c-accent); color: var(--c-accent-dk); }
.btn--outline:hover { background: var(--c-accent); color: var(--c-white); }
.btn--light { border-color: rgba(255,255,255,.4); color: var(--c-white); }
.btn--light:hover { background: var(--c-white); color: var(--c-ink); }

/* ---------- 6. Icons ---------- */
.mpo-icon { width: 1.15em; height: 1.15em; flex: 0 0 auto; }

/* ---------- 7. Skip link / a11y ---------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px; padding: 0;
	overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap;
}
.mpo-skip-link:focus {
	position: fixed; top: 10px; left: 10px; z-index: 100000;
	width: auto; height: auto; clip: auto;
	background: var(--c-ink); color: #fff; padding: .8em 1.4em; border-radius: var(--radius);
}

/* ---------- 8. Top bar ---------- */
.topbar {
	background: var(--c-ink);
	color: var(--c-stone);
	font-size: .82rem;
	min-height: var(--topbar-h);
}
.topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: var(--topbar-h); }
.topbar__contact { display: flex; gap: var(--space-4); flex-wrap: wrap; }
.topbar__contact a { color: var(--c-stone); display: inline-flex; align-items: center; gap: .5em; }
.topbar__contact a:hover { color: var(--c-accent-lt); }
.topbar__contact .mpo-icon { color: var(--c-accent-lt); }
.topbar__right { display: flex; align-items: center; gap: var(--space-3); }
.topbar__social { display: flex; gap: .4rem; }
.topbar__social a { display: grid; place-items: center; width: 30px; height: 30px; color: var(--c-stone); border-radius: 50%; transition: all var(--transition); }
.topbar__social a:hover { background: var(--c-accent); color: #fff; }

/* Language switcher (σημαίες) */
.lang-switcher { display: flex; align-items: center; gap: .35rem; line-height: 1; }
.lang-switcher__item a {
	display: inline-flex; align-items: center; padding: 2px; border-radius: 3px; line-height: 0;
	font-weight: 700; font-size: .78rem; letter-spacing: .06em; color: var(--c-muted);
	transition: opacity var(--transition), box-shadow var(--transition);
}
.lang-switcher__item img,
.lang-switcher__item .flag {
	display: block; width: 22px; height: auto; border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(255,255,255,.18);
}
.lang-switcher__item:not(.is-current) a { opacity: .5; }
.lang-switcher__item a:hover { opacity: 1; }
.lang-switcher__item.is-current a { opacity: 1; }

/* ---------- 9. Navbar ---------- */
.navbar {
	background: rgba(255,255,255,.96);
	backdrop-filter: saturate(160%) blur(8px);
	border-bottom: 1px solid var(--c-line);
	position: sticky; top: 0; z-index: 900;
	transition: box-shadow var(--transition), background var(--transition);
}
.navbar.is-stuck { box-shadow: 0 6px 24px rgba(20,18,16,.12); background: rgba(255,255,255,.98); }
.navbar__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 84px; transition: min-height .32s cubic-bezier(.4,0,.2,1); }
.navbar.is-stuck .navbar__inner { min-height: 64px; }

/* Reveal/hide μόνο σε desktop/laptop (το transform θα «κλείδωνε» το mobile drawer). */
@media (min-width: 901px) {
	.navbar { transition: transform .38s cubic-bezier(.4,0,.2,1), box-shadow var(--transition), background var(--transition); will-change: transform; }
	.navbar.is-hidden { transform: translateY(-100%); }
}

.site-branding img,
.custom-logo { max-height: 60px; width: auto; }
.site-title { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; color: var(--c-ink); }

/* Primary menu */
.primary-nav__menu { display: flex; align-items: center; gap: var(--space-1); }
.primary-nav__menu a {
	display: block; padding: .8rem 1rem; font-weight: 700; font-size: .8rem;
	letter-spacing: .08em; text-transform: uppercase; color: var(--c-charcoal);
	position: relative;
}
.primary-nav__menu a::after {
	content: ""; position: absolute; left: 1rem; right: 1rem; bottom: .5rem; height: 2px;
	background: var(--c-accent); transform: scaleX(0); transform-origin: left; transition: transform var(--transition);
}
.primary-nav__menu a:hover, .primary-nav__menu .current-menu-item > a { color: var(--c-accent-dk); }
.primary-nav__menu a:hover::after, .primary-nav__menu .current-menu-item > a::after { transform: scaleX(1); }

/* Dropdown (ΔΗΜΙΟΥΡΓΙΕΣ) */
.primary-nav__menu .menu-item-has-children { position: relative; }
.primary-nav__menu .menu-item-has-children > a::before {
	content: "▾"; margin-inline-start: .35em; font-size: .7em; color: var(--c-accent);
}
.primary-nav__menu .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 240px;
	background: var(--c-white); box-shadow: var(--shadow); border-radius: var(--radius-lg);
	padding: .5rem; border: 1px solid var(--c-line);
	opacity: 0; visibility: hidden; transform: translateY(10px);
	transition: all var(--transition); z-index: 950;
}
.primary-nav__menu .menu-item-has-children:hover > .sub-menu,
.primary-nav__menu .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1; visibility: visible; transform: translateY(0);
}
.primary-nav__menu .sub-menu a { padding: .6rem .9rem; border-radius: var(--radius); text-transform: none; letter-spacing: .02em; font-size: .82rem; }
.primary-nav__menu .sub-menu a::after { display: none; }
.primary-nav__menu .sub-menu a:hover { background: var(--c-marble); }

/* ---------- 10. Mobile nav toggle ---------- */
.nav-toggle { display: none; width: 46px; height: 46px; position: relative; }
.nav-toggle__bar { display: block; width: 26px; height: 2px; background: var(--c-ink); margin: 5px auto; transition: all var(--transition); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- 11. Footer ---------- */
.site-footer { background: var(--c-ink); color: var(--c-stone); padding-top: var(--space-7); }
.site-footer a { color: var(--c-stone); }
.site-footer a:hover { color: var(--c-accent-lt); }
.site-footer__grid {
	display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: var(--space-5);
	padding-bottom: var(--space-5);
}
.site-footer__logo img { max-height: 64px; margin-bottom: var(--space-2); filter: brightness(0) invert(1) opacity(.9); }
.site-footer__about p { color: #b8b0a4; max-width: 42ch; }
.site-footer__social { display: flex; gap: .5rem; margin-top: var(--space-3); }
.site-footer__social a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; transition: all var(--transition); }
.site-footer__social a:hover { background: var(--c-accent); border-color: var(--c-accent); color: #fff; }
.site-footer__heading { font-size: 1.15rem; color: #fff; margin-bottom: var(--space-3); }
.contact-list li { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: var(--space-2); }
.contact-list .mpo-icon { color: var(--c-accent-lt); }
.contact-list a + a::before { content: "·"; margin-inline: .4rem; color: var(--c-graphite); }
.site-footer__menu a { display: block; padding: .3rem 0; }
.site-footer__bottom { padding-block: var(--space-3); text-align: center; font-size: .85rem; color: #8f887c; }
.site-footer__bottom a { color: var(--c-accent-lt); }

/* ---------- 12. Generic page/post scaffolding ---------- */
.page-header { text-align: center; margin-bottom: var(--space-5); }
.post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px,1fr)); gap: var(--space-4); }
.post-card { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-lg); overflow: hidden; transition: all var(--transition); }
.post-card:hover { box-shadow: var(--shadow); transform: translateY(-4px); }
.post-card__body { padding: var(--space-3); }

/* ---------- 13. Responsive ---------- */
@media (max-width: 1024px) {
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
	.site-footer__about { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
	.nav-toggle { display: block; }
	.topbar__addr { display: none; }

	/* Το backdrop-filter δημιουργεί containing block & «κλειδώνει» το fixed drawer
	   μέσα στο navbar. Το αφαιρούμε σε mobile ώστε το μενού να βγαίνει σε πλήρες ύψος. */
	.navbar { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--c-white); }

	/* Το navbar (sticky, positioned) μαζί με το drawer μέσα του πάνω από το backdrop όταν ανοίγει */
	body.nav-open .navbar { z-index: 1000; }

	.primary-nav {
		position: fixed; top: 0; right: 0; bottom: 0; left: auto;
		width: min(88vw, 380px); height: 100%;
		background: var(--c-white); border-left: 3px solid var(--c-accent);
		box-shadow: -24px 0 60px rgba(20,18,16,.28);
		transform: translateX(105%); transition: transform .34s cubic-bezier(.4,0,.2,1);
		z-index: 1001; display: flex; flex-direction: column;
		padding: 0; overflow-y: auto; overscroll-behavior: contain;
	}
	.primary-nav.is-open { transform: translateX(0); }

	.primary-nav__head {
		display: flex; align-items: center; justify-content: space-between;
		padding: 1.1rem var(--space-4); border-bottom: 1px solid var(--c-line);
		position: sticky; top: 0; background: var(--c-white); z-index: 2;
	}
	.primary-nav__title { font-size: .78rem; letter-spacing: .2em; font-weight: 800; color: var(--c-muted); }
	.primary-nav__close {
		width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--c-line);
		background: var(--c-marble); font-size: 1.7rem; line-height: 1; color: var(--c-ink);
		display: grid; place-items: center; cursor: pointer; transition: all var(--transition);
	}
	.primary-nav__close:hover, .primary-nav__close:focus-visible { background: var(--c-accent); color: #fff; border-color: var(--c-accent); }

	.primary-nav__menu { flex-direction: column; align-items: stretch; gap: 0; padding: var(--space-2) var(--space-3); }
	.primary-nav__menu > li { border-bottom: 1px solid var(--c-line); }
	.primary-nav__menu > li:last-child { border-bottom: 0; }
	.primary-nav__menu a {
		padding: .95rem .75rem; font-size: .98rem; letter-spacing: .01em; text-transform: none;
		font-weight: 700; border-radius: var(--radius); transition: background var(--transition), color var(--transition);
	}
	.primary-nav__menu a::after { display: none; }
	.primary-nav__menu a:hover, .primary-nav__menu .current-menu-item > a { color: var(--c-accent-dk); background: var(--c-marble); }
	.primary-nav__menu .sub-menu {
		position: static; opacity: 1; visibility: visible; transform: none; min-width: 0;
		box-shadow: none; border: none; padding: 0 0 .5rem .6rem; background: transparent;
		display: none;
	}
	.primary-nav__menu .menu-item-has-children.is-open > .sub-menu { display: block; }
	.primary-nav__menu .sub-menu a { font-size: .9rem; padding: .6rem .75rem; color: var(--c-graphite); font-weight: 600; }

	.primary-nav__mobile-extra { margin-top: auto; }

	body.nav-open { overflow: hidden; }
}
@media (max-width: 640px) {
	.section { padding-block: var(--space-6); }
	.site-footer__grid { grid-template-columns: 1fr; gap: var(--space-4); }
	.topbar__contact { gap: var(--space-2); }
}

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

/* ---------- 15. Γκαλερί κατηγορίας (ΔΗΜΙΟΥΡΓΙΕΣ) ---------- */
.container--narrow { max-width: 760px; }
.work-category__title { text-align: center; }
.work-category__intro { text-align: center; color: var(--c-muted); font-size: 1.15rem; }
.work-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: var(--space-2);
}
.work-gallery__item {
	position: relative; overflow: hidden; border-radius: var(--radius-lg);
	aspect-ratio: 1 / 1; background: var(--c-stone);
}
.work-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.4,0,.2,1); }
.work-gallery__item::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(26,24,21,.35));
	opacity: 0; transition: opacity var(--transition);
}
.work-gallery__item:hover img { transform: scale(1.06); }
.work-gallery__item:hover::after { opacity: 1; }

/* ================= 16. Enriched pages & sections ================= */

/* Eyebrow σε σκούρο φόντο */
.eyebrow--light { color: var(--c-accent-lt); }
.section-head { text-align: center; max-width: 640px; margin: 0 auto var(--space-5); }
.section-head--left { text-align: left; margin-inline: 0; }
.section-heading { text-align: center; margin-bottom: var(--space-4); }
.btn--outline-light { border-color: rgba(255,255,255,.5); color: #fff; }
.btn--outline-light:hover { background: #fff; color: var(--c-ink); }

/* ---- Prose ---- */
.prose { font-size: 1.1rem; color: var(--c-text); }
.prose h2 { margin-bottom: var(--space-3); }
.prose p { margin-bottom: var(--space-3); }

/* ---- Breadcrumbs ---- */
.breadcrumbs { padding-block: .9rem; background: var(--c-marble); border-bottom: 1px solid var(--c-line); font-size: .85rem; }
.breadcrumbs a { color: var(--c-muted); }
.breadcrumbs a:hover { color: var(--c-accent-dk); }
.breadcrumbs__sep { margin-inline: .5rem; color: var(--c-line); }

/* ---- HERO (front) ---- */
.hero { position: relative; min-height: 82vh; display: flex; align-items: center;
	background: var(--hero-img) center/cover no-repeat, var(--c-ink); color: #fff; }
.hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,18,16,.55), rgba(20,18,16,.78));  pointer-events: none;}
.hero__inner { position: relative; max-width: 820px; padding-block: var(--space-6); }
.hero__title { color: #fff; margin-block: var(--space-2) var(--space-3); }
.hero__lead { font-size: 1.2rem; color: #e8e2d8; max-width: 60ch; margin-bottom: var(--space-4); }
.hero__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }

/* ---- Page hero (εσωτερικές) ---- */
.page-hero { position: relative; min-height: 42vh; display: flex; align-items: flex-end;
	background: var(--hero-img) center/cover no-repeat, var(--c-charcoal); color: #fff; }
.page-hero--compact { min-height: 32vh; }
.page-hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,18,16,.35), rgba(20,18,16,.8));  pointer-events: none;}
.page-hero__inner { position: relative; padding-block: var(--space-5); }
.page-hero__inner h1 { color: #fff; margin-top: .4rem; }

/* ---- Feature cards ---- */
.feature-cards__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.feature-card { position: relative; border-radius: var(--radius-lg); overflow: hidden; display: block; aspect-ratio: 16/10; box-shadow: var(--shadow-sm); }
.feature-card__media { position: absolute; inset: 0; }
.feature-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.feature-card::after { content:""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(20,18,16,.82));  pointer-events: none;}
.feature-card:hover .feature-card__media img { transform: scale(1.05); }
.feature-card__body { position: absolute; left: 0; right: 0; bottom: 0; padding: var(--space-3); z-index: 2; color: #fff; }
.feature-card__title { color: #fff; margin-bottom: .3rem; }
.feature-card__more { display: inline-flex; align-items: center; gap: .3rem; font-weight: 700; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--c-accent-lt); }
.feature-card__more .mpo-icon { transform: rotate(-90deg); width: 1em; }

/* ---- About teaser / split ---- */
.about-teaser__grid, .split-band__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); align-items: center; }
.about-teaser__media img, .split-band__media img { width: 100%; border-radius: var(--radius-lg); box-shadow: var(--shadow); aspect-ratio: 4/3; object-fit: cover; }
.split-band { background: var(--c-marble); }

.checklist { margin: var(--space-3) 0 var(--space-4); }
.checklist li { display: flex; align-items: flex-start; gap: .6rem; margin-bottom: .6rem; }
.checklist .mpo-icon { color: var(--c-accent); transform: rotate(-90deg); flex: 0 0 auto; margin-top: .15rem; }

/* ---- Services grid ---- */
.services__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.service-tile { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column; transition: all var(--transition); }
.service-tile:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.service-tile__media { aspect-ratio: 4/3; overflow: hidden; }
.service-tile__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.service-tile:hover .service-tile__media img { transform: scale(1.06); }
.service-tile__body { padding: var(--space-3); display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.service-tile__body p { color: var(--c-muted); font-size: .95rem; flex: 1; }
.service-tile__more { display: inline-flex; align-items: center; gap: .3rem; font-weight: 700; font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--c-accent-dk); }
.service-tile__more .mpo-icon { transform: rotate(-90deg); width: 1em; }

/* ---- Stats ---- */
.stats__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-4); text-align: center; }
.stat { padding: var(--space-2); }
.stat__num { font-family: var(--font-display); font-size: clamp(2.6rem,6vw,4rem); font-weight: 800; color: var(--c-accent-lt); line-height: 1; }
.stat__suffix { font-family: var(--font-display); font-size: 2rem; font-weight: 800; color: var(--c-accent-lt); }
.stat__label { margin-top: .4rem; color: #cfc8bc; letter-spacing: .04em; text-transform: uppercase; font-size: .82rem; }

/* ---- Craft band ---- */
.craft-band { position: relative; background: var(--craft-img) center/cover fixed no-repeat, var(--c-ink); color: #fff; text-align: center; }
.craft-band__overlay { position: absolute; inset: 0; background: rgba(20,18,16,.72);  pointer-events: none;}
.craft-band__inner { position: relative; max-width: 760px; margin: 0 auto; }
.craft-band__inner h2 { color: #fff; }
.craft-band__inner p { color: #e5dfd4; font-size: 1.15rem; margin-top: var(--space-2); }

/* ---- Areas served ---- */
.areas__list { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.areas__item { display: inline-flex; align-items: center; gap: .4rem; background: var(--c-marble); border: 1px solid var(--c-line); border-radius: 100px; padding: .6rem 1.2rem; font-weight: 600; }
.areas__item .mpo-icon { color: var(--c-accent); width: 1.1em; }

/* ---- CTA band ---- */
.cta-band { background: var(--c-ink); color: #fff; }
.cta-band__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
.cta-band__text h2 { color: #fff; }
.cta-band__text p { color: #cfc8bc; margin-top: .4rem; }
.cta-band__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }

/* ---- Values / feature cards (εσωτερικές) ---- */
.values__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-3); }
.value-card { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-lg); padding: var(--space-4); box-shadow: var(--shadow-sm); }
.value-card h3 { margin-bottom: .5rem; }
.value-card p { color: var(--c-muted); }

/* ---- FAQ ---- */
.faq__item { border-bottom: 1px solid var(--c-line); }
.faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; padding: 1.2rem 0; font-weight: 700; font-size: 1.05rem; list-style: none; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary .mpo-icon { color: var(--c-accent); transition: transform var(--transition); flex: 0 0 auto; }
.faq__item[open] summary .mpo-icon { transform: rotate(180deg); }
.faq__answer { padding-bottom: 1.2rem; color: var(--c-muted); }

/* ---- Map ---- */
.map-embed { line-height: 0; }
.map-embed iframe { display: block; width: 100%; filter: grayscale(.2); }

/* ---- Contact ---- */
.contact__grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: var(--space-5); align-items: start; }
.contact__info h2, .contact__form-wrap h2 { margin-bottom: var(--space-3); }
.contact-list--lg li { align-items: flex-start; margin-bottom: var(--space-3); }
.contact-list--lg .mpo-icon { color: var(--c-accent); margin-top: .2rem; }
.contact-list__label { display: block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); margin-bottom: .1rem; }
.contact__social { display: flex; gap: .5rem; margin-top: var(--space-3); }
.contact__social a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--c-line); border-radius: 50%; color: var(--c-charcoal); transition: all var(--transition); }
.contact__social a:hover { background: var(--c-accent); border-color: var(--c-accent); color: #fff; }

.contact__form-wrap { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-lg); padding: var(--space-4); box-shadow: var(--shadow-sm); }
.form-row { margin-bottom: var(--space-3); display: flex; flex-direction: column; gap: .4rem; }
.form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.contact-form label { font-weight: 600; font-size: .9rem; }
.contact-form input, .contact-form textarea {
	width: 100%; padding: .85rem 1rem; border: 1.5px solid var(--c-line); border-radius: var(--radius);
	font: inherit; background: var(--c-marble); transition: border-color var(--transition);
}
.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: var(--c-accent); background: #fff; }
.contact-form .hp { position: absolute; left: -9999px; }
.form-notice { padding: 1rem 1.2rem; border-radius: var(--radius); margin-bottom: var(--space-3); font-weight: 600; }
.form-notice--ok { background: #e8f3ea; color: #1e6b34; border: 1px solid #b7dcc0; }
.form-notice--error { background: #fbeaea; color: #9b2c2c; border: 1px solid #eab8b8; }

/* ---- 404 ---- */
.error-404__code { font-family: var(--font-display); font-size: clamp(5rem,18vw,10rem); font-weight: 800; color: var(--c-stone); line-height: 1; }

/* ---- Search ---- */
.search-form { display: flex; gap: .5rem; }
.search-field { padding: .8rem 1rem; border: 1.5px solid var(--c-line); border-radius: var(--radius); font: inherit; }

/* ================= 17. Responsive (enriched) ================= */
@media (max-width: 900px) {
	.about-teaser__grid, .split-band__grid, .contact__grid { grid-template-columns: 1fr; }
	.services__grid, .values__grid { grid-template-columns: 1fr 1fr; }
	.split-band .split-band__media { order: -1; }
	.craft-band { background-attachment: scroll; }
}
@media (max-width: 640px) {
	.feature-cards__grid, .services__grid, .values__grid, .stats__grid, .form-grid-2 { grid-template-columns: 1fr; }
	.hero { min-height: 76vh; }
	.cta-band__inner { flex-direction: column; align-items: flex-start; }
}

/* ================= 18. City landing pages ================= */
.areas__item--link a { display: inline-flex; align-items: center; gap: .4rem; color: inherit; }
.areas__item--link { transition: all var(--transition); }
.areas__item--link:hover { border-color: var(--c-accent); background: #fff; }
.areas__item--link:hover .mpo-icon { color: var(--c-accent-dk); }

.city-services { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-2); }
.city-service {
	display: flex; align-items: center; gap: .6rem; padding: 1rem 1.2rem;
	background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius);
	font-weight: 700; color: var(--c-ink); transition: all var(--transition);
}
.city-service:hover { border-color: var(--c-accent); box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.city-service .mpo-icon { color: var(--c-accent); transform: rotate(-90deg); flex: 0 0 auto; }
@media (max-width: 640px) { .city-services { grid-template-columns: 1fr; } }

/* ================= 19. Logo & Header refinements ================= */
.site-logo { display: inline-flex; align-items: center; }
.site-logo img { height: 62px; width: auto; max-width: 240px; object-fit: contain; transition: height .32s cubic-bezier(.4,0,.2,1); }
.navbar.is-stuck .site-logo--header img { height: 44px; }
.site-logo--footer img { height: 70px; filter: brightness(0) invert(1); opacity: .95; }

.topbar__contact { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.topbar__contact a { display: inline-flex; align-items: center; gap: .4rem; transition: color var(--transition); }
.topbar__phone { font-weight: 700; }
.topbar__contact .mpo-icon { width: 1rem; height: 1rem; color: var(--c-accent-lt); flex: 0 0 auto; }

.navbar__actions { display: flex; align-items: center; gap: 1rem; }
.btn--sm { padding: .6rem 1.2rem; font-size: .78rem; }
.btn--block { display: flex; width: 100%; justify-content: center; }
.navbar__cta { white-space: nowrap; }
@media (min-width: 901px) { .primary-nav__mobile-extra, .primary-nav__head { display: none; } }

.nav-backdrop { position: fixed; inset: 0; background: rgba(20,18,16,.6); z-index: 998; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity var(--transition), visibility var(--transition); }
.nav-backdrop.is-open { opacity: 1; visibility: visible; pointer-events: auto; }

/* ================= 20. Hero slider ================= */
.hero-slider { position: relative; overflow: hidden; background: var(--c-ink); }
.hero-slider__track { position: relative; min-height: 82vh; }
.hero-slide {
	position: absolute; inset: 0; display: flex; align-items: center;
	background: var(--slide-img) center/cover no-repeat, var(--c-ink);
	opacity: 0; visibility: hidden; transform: scale(1.04);
	transition: opacity .9s ease, transform 7s linear, visibility .9s;
}
.hero-slide.is-active { opacity: 1; visibility: visible; transform: scale(1); z-index: 2; }
.hero-slide__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,18,16,.5), rgba(20,18,16,.8));  pointer-events: none;}
.hero-slide__inner { position: relative; max-width: 820px; padding-block: var(--space-6); color: #fff; }
.hero-slide__title {
	color: #fff; font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em;
	font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.12; margin-block: var(--space-2) var(--space-3);
}
.hero-slide__text { font-size: 1.15rem; color: #e8e2d8; max-width: 58ch; margin-bottom: var(--space-4); }
.hero-slide__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }

/* Slider controls */
.hero-slider__arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
	display: grid; place-items: center; width: 52px; height: 52px;
	background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.35);
	border-radius: 50%; color: #fff; cursor: pointer;
	backdrop-filter: blur(4px); transition: all var(--transition);
}
.hero-slider__arrow:hover { background: var(--c-accent); border-color: var(--c-accent); }
.hero-slider__arrow--prev { left: 2%; }
.hero-slider__arrow--next { right: 2%; }
.hero-slider__arrow--prev .mpo-icon { transform: rotate(90deg); }
.hero-slider__arrow--next .mpo-icon { transform: rotate(-90deg); }

.hero-slider__dots { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); z-index: 5; display: flex; gap: .6rem; }
.hero-slider__dot { width: 34px; height: 4px; border: 0; border-radius: 4px; background: rgba(255,255,255,.4); cursor: pointer; transition: background var(--transition); }
.hero-slider__dot.is-active { background: var(--c-accent); }

/* ================= 21. Footer (rich) ================= */
.footer-cta { background: var(--c-accent-dk); color: #fff; padding-block: var(--space-4); }
.footer-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
.footer-cta h2 { color: #fff; font-size: clamp(1.4rem,2.6vw,1.9rem); }
.footer-cta p { color: rgba(255,255,255,.88); margin-top: .3rem; }
.footer-cta__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.footer-cta .btn--primary { background: #fff; color: var(--c-accent-dk); border-color: #fff; }
.footer-cta .btn--primary:hover { background: var(--c-ink); color: #fff; border-color: var(--c-ink); }

.site-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1.3fr 1fr; gap: var(--space-5); }
.site-footer__heading { color: #fff; font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: var(--space-3); position: relative; padding-bottom: .7rem; }
.site-footer__heading::after { content: ""; position: absolute; left: 0; bottom: 0; width: 38px; height: 2px; background: var(--c-accent); }
.footer-about__text { color: #b8b0a4; margin-block: var(--space-3); font-size: .95rem; }

.footer-links li { margin-bottom: .6rem; }
.footer-links a { display: inline-flex; align-items: center; gap: .3rem; color: #b8b0a4; font-size: .95rem; transition: all var(--transition); }
.footer-links a:hover { color: var(--c-accent-lt); transform: translateX(3px); }
.footer-links .mpo-icon { width: .9rem; height: .9rem; color: var(--c-accent); transform: rotate(-90deg); }

.footer-areas { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: var(--space-3); }
.footer-areas li { font-size: .85rem; }
.footer-areas a, .footer-areas span { display: inline-block; padding: .3rem .75rem; border: 1px solid rgba(255,255,255,.16); border-radius: 100px; color: #b8b0a4; }
.footer-areas a:hover { border-color: var(--c-accent); color: var(--c-accent-lt); }

.site-footer .contact-list li { display: flex; gap: .7rem; margin-bottom: var(--space-3); align-items: flex-start; }
.site-footer .contact-list .mpo-icon { color: var(--c-accent); width: 1.1rem; flex: 0 0 auto; margin-top: .15rem; }
.site-footer .contact-list__label { display: block; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: #8d867b; }
.site-footer .contact-list a { color: #e4ded3; font-weight: 600; }
.site-footer .contact-list a:hover { color: var(--c-accent-lt); }

.site-footer__social { display: flex; gap: .5rem; }
.site-footer__social a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: #d8d2c7; transition: all var(--transition); }
.site-footer__social a:hover { background: var(--c-accent); border-color: var(--c-accent); color: #fff; }

.site-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.12); margin-top: var(--space-5); padding-top: var(--space-3); font-size: .85rem; color: #8d867b; }
.site-footer__bottom a { color: var(--c-accent-lt); }

/* ================= 22. Mobile sticky call bar ================= */
.mobile-callbar { display: none; }

@media (max-width: 1024px) {
	.site-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--space-4); }
	.navbar__cta { display: none; }
	.primary-nav__mobile-extra { display: flex; flex-direction: column; gap: .6rem; padding: var(--space-4); border-top: 1px solid var(--c-line); margin-top: auto; background: var(--c-marble); }
}
@media (max-width: 768px) {
	.topbar__addr { display: none; }

	/* Topbar στο κινητό: τηλέφωνα φεύγουν (υπάρχουν στο κάτω sticky bar),
	   social αριστερά — γλώσσα δεξιά, με μεγαλύτερα εικονίδια. */
	.topbar__contact { display: none; }
	.topbar { min-height: 48px; }
	.topbar__inner { min-height: 48px; }
	.topbar__right { width: 100%; justify-content: space-between; }
	.topbar__social { gap: .6rem; }
	.topbar__social a { width: 38px; height: 38px; }
	.topbar__social a .mpo-icon { width: 20px; height: 20px; }
	.lang-switcher__item img,
	.lang-switcher__item .flag { width: 28px; }

	.hero-slider__track { min-height: 68vh; }
	/* Το κείμενο πάνω, τα χειριστήρια σε δική τους ζώνη στο κάτω μέρος */
	.hero-slide { align-items: flex-start; }
	.hero-slide__inner { padding-top: 2.5rem; padding-bottom: 5.5rem; }
	.hero-slide__title { font-size: clamp(1.7rem, 7vw, 2.3rem); }
	.hero-slide__text { font-size: 1rem; margin-bottom: var(--space-3); }
	/* Μικρότερα βελάκια, στις κάτω γωνίες — δεν ακουμπούν το κείμενο */
	.hero-slider__arrow { top: auto; bottom: .85rem; transform: none; width: 34px; height: 34px; }
	.hero-slider__arrow .mpo-icon { width: 15px; height: 15px; }
	.hero-slider__arrow--prev { left: .75rem; }
	.hero-slider__arrow--next { right: .75rem; }
	.hero-slider__dots { bottom: 1.3rem; }
	.site-logo img { height: 48px; }

	/* Sticky call bar */
	.mobile-callbar {
		display: grid; grid-template-columns: repeat(3,1fr);
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
		background: var(--c-ink); border-top: 1px solid rgba(255,255,255,.12);
		padding-bottom: env(safe-area-inset-bottom, 0);
	}
	.mobile-callbar a { display: flex; flex-direction: column; align-items: center; gap: .15rem; padding: .7rem .4rem; color: #e4ded3; font-size: .7rem; font-weight: 600; }
	.mobile-callbar a + a { border-left: 1px solid rgba(255,255,255,.12); }
	.mobile-callbar .mpo-icon { width: 1.15rem; height: 1.15rem; color: var(--c-accent-lt); }
	body { padding-bottom: 62px; }
}
@media (max-width: 560px) {
	.site-footer__grid { grid-template-columns: 1fr; }
	.footer-cta__inner { flex-direction: column; align-items: flex-start; }
	.site-footer__bottom { flex-direction: column; gap: .4rem; }
}

/* ================= 23. Page content refinements ================= */
.page-hero__lead { color: #e8e2d8; font-size: 1.1rem; max-width: 60ch; margin-top: .8rem; }
.prose--lead .prose__first { font-size: 1.22rem; line-height: 1.75; color: var(--c-ink); font-weight: 500; }

/* Numbered value cards */
.value-card--numbered { position: relative; padding-top: var(--space-5); }
.value-card__num {
	position: absolute; top: 1.1rem; left: var(--space-4);
	font-family: var(--font-display); font-size: 2.4rem; font-weight: 800;
	color: var(--c-accent); opacity: .22; line-height: 1;
}

/* Spec list (χαρακτηριστικά) */
.spec-band__title { margin-bottom: var(--space-2); }
.spec-band__lead { color: var(--c-muted); font-size: 1.05rem; margin-bottom: var(--space-4); }
.spec-list { display: grid; gap: .9rem; }
.spec-list__item {
	display: flex; gap: .9rem; align-items: flex-start;
	background: #fff; border: 1px solid var(--c-line); border-left: 3px solid var(--c-accent);
	border-radius: var(--radius); padding: 1.1rem 1.3rem; transition: all var(--transition);
}
.spec-list__item:hover { box-shadow: var(--shadow-sm); transform: translateX(3px); }
.spec-list__item .mpo-icon { color: var(--c-accent); flex: 0 0 auto; margin-top: .15rem; width: 1.2rem; height: 1.2rem; }
.spec-list__item strong { display: block; margin-bottom: .2rem; }
.spec-list__item span { color: var(--c-muted); font-size: .96rem; }

/* Gallery (masonry-ish) */
.work-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: var(--space-2); }
.work-gallery__item {
	position: relative; display: block; overflow: hidden; border-radius: var(--radius);
	aspect-ratio: 1/1; background: var(--c-marble); cursor: zoom-in;
}
.work-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.work-gallery__item::after {
	content: ""; position: absolute; inset: 0; background: rgba(20,18,16,.45);
	opacity: 0; transition: opacity var(--transition);
}
.work-gallery__item:hover img { transform: scale(1.08); }
.work-gallery__item:hover::after { opacity: 1; }
.work-gallery__zoom {
	position: absolute; inset: 0; z-index: 2; display: grid; place-items: center;
	color: #fff; font-size: 2rem; font-weight: 300; opacity: 0;
	transition: opacity var(--transition); pointer-events: none;
}
.work-gallery__item:hover .work-gallery__zoom { opacity: 1; }

/* Lightbox */
.mpo-lightbox {
	position: fixed; inset: 0; z-index: 200; display: grid; place-items: center;
	background: rgba(12,11,10,.94); opacity: 0; visibility: hidden; pointer-events: none;
	transition: opacity .25s ease, visibility .25s ease;
	padding: clamp(1rem, 4vw, 3rem);
}
.mpo-lightbox.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.mpo-lightbox__img { max-width: 100%; max-height: 86vh; border-radius: var(--radius); box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.mpo-lightbox__btn {
	position: absolute; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.3);
	color: #fff; width: 48px; height: 48px; border-radius: 50%; cursor: pointer;
	display: grid; place-items: center; transition: all var(--transition); font-size: 1.4rem;
}
.mpo-lightbox__btn:hover { background: var(--c-accent); border-color: var(--c-accent); }
.mpo-lightbox__close { top: 1.5rem; right: 1.5rem; }
.mpo-lightbox__prev { left: 1.5rem; top: 50%; transform: translateY(-50%); }
.mpo-lightbox__next { right: 1.5rem; top: 50%; transform: translateY(-50%); }
.mpo-lightbox__prev .mpo-icon { transform: rotate(90deg); }
.mpo-lightbox__next .mpo-icon { transform: rotate(-90deg); }
.mpo-lightbox__count { position: absolute; bottom: 1.5rem; left: 50%; transform: translateX(-50%); color: #cfc8bc; font-size: .9rem; letter-spacing: .05em; }
body.mpo-lightbox-open { overflow: hidden; }

@media (max-width: 640px) {
	.work-gallery { grid-template-columns: repeat(2, 1fr); gap: .5rem; }
	.mpo-lightbox__prev { left: .5rem; }
	.mpo-lightbox__next { right: .5rem; }
	.mpo-lightbox__btn { width: 40px; height: 40px; }
}

/* ================= 24. Intro split (κείμενο + info card) ================= */
.intro-split__grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: var(--space-5); align-items: start; }
.intro-split__main { max-width: none; }
.intro-split__aside { position: sticky; top: 120px; }

.info-card {
	background: #fff; border: 1px solid var(--c-line); border-top: 4px solid var(--c-accent);
	border-radius: var(--radius-lg); padding: var(--space-4); box-shadow: var(--shadow-sm);
}
.info-card__title { margin-bottom: var(--space-3); font-size: 1.3rem; }
.info-card__list { margin-bottom: var(--space-4); display: grid; gap: .8rem; }
.info-card__list li { display: flex; align-items: flex-start; gap: .6rem; font-weight: 600; color: var(--c-ink); }
.info-card__list .mpo-icon { color: var(--c-accent); flex: 0 0 auto; margin-top: .1rem; width: 1.15rem; height: 1.15rem; }
.info-card .btn { margin-bottom: .6rem; }
.info-card .btn:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
	.intro-split__grid { grid-template-columns: 1fr; gap: var(--space-4); }
	.intro-split__aside { position: static; }
}

/* ================= 25. Areas served (SEO strip) ================= */
.areas-served__strip { margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--c-line); }
.areas-served__label { display: block; font-size: .78rem; letter-spacing: .12em; color: var(--c-muted); margin-bottom: var(--space-2); font-weight: 700; }

/* ================= 26. Story rows (εναλλασσόμενο κείμενο ↔ φωτογραφία) ================= */
.story-rows .container { display: grid; gap: clamp(2.5rem, 6vw, 5rem); }
.story-row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.story-row:nth-child(even) .story-row__media { order: -1; } /* εικόνα αριστερά στις ζυγές σειρές */
.story-row__text h2 { margin: .4rem 0 var(--space-3); }
.story-row__text p { color: var(--c-graphite); max-width: 54ch; }
.story-row__text .btn { margin-top: var(--space-3); }
.story-row__media { position: relative; }
.story-row__media img {
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
	border-radius: var(--radius-lg); box-shadow: var(--shadow);
}
.story-row__media::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	border-radius: var(--radius-lg); box-shadow: inset 0 0 0 1px rgba(0,0,0,.05);
}

@media (max-width: 820px) {
	.story-row { grid-template-columns: 1fr; gap: var(--space-3); }
	.story-row:nth-child(even) .story-row__media { order: 0; } /* πάντα εικόνα πάνω σε mobile */
	.story-row__media { order: -1; }
}

/* ================= 27. Legal / Privacy prose ================= */
.prose--legal h2 { margin-top: var(--space-5); font-size: 1.5rem; }
.prose--legal h2:first-of-type { margin-top: 0; }
.prose--legal ul { margin: 0 0 var(--space-3) 1.2rem; display: grid; gap: .5rem; list-style: disc; }
.prose--legal li { color: var(--c-graphite); }
.prose--legal a { color: var(--c-accent-dk); text-decoration: underline; }
.prose__meta { color: var(--c-muted); font-size: .95rem; margin-bottom: var(--space-4); }
.site-footer__sep { opacity: .45; margin: 0 .35rem; }
.site-footer__privacy { color: inherit; text-decoration: underline; text-underline-offset: 3px; opacity: .85; }
.site-footer__privacy:hover { color: var(--c-accent-lt); opacity: 1; }

/* Νομικές σελίδες: πλήρες πλάτος container, ευθυγράμμιση με τον τίτλο του hero */
/* Το πλάτος/κεντράρισμα το ορίζει το .container — μην το ακυρώνεις εδώ. */
.prose--legal p,
.prose--legal ul,
.prose--legal h2 { max-width: none; margin-inline: 0; }
