/* ==========================================================================
   PULSE — Quality Fitness Services
   Design system «Δ»: hero με κείμενο πάνω στη φωτογραφία, σώμα σε φως.
   Καθόλου μαύρο — το πιο σκούρο είναι βαθύ λαδί.
   ========================================================================== */

:root{
  --olive:#4F6844;
  --olive-deep:#2F3E26;
  --olive-soft:#A6BE93;
  --olive-mist:#E4E9DE;
  --ink:#2E3527;
  --muted:#5F6156;
  --paper:#FDFCF8;
  --cream:#F5F1E8;
  --sand:#E9E2D3;
  --line:#DED7C6;

  --max:1280px;
  --pad:clamp(20px,5vw,72px);
  --r:3px;
  --r-img:12px;   /* καμπύλη στις φωτογραφίες — πιο μαλακή από τα πλαίσια */
  --ease:cubic-bezier(.22,.61,.36,1);
  --header-h:74px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
button{font-family:inherit}

/* ---------- προσβασιμότητα (WCAG 2.1 AA) ----------
   Δες τη Δήλωση Προσβασιμότητας στο /dilosi-prosvasimotitas.
   ΜΗΝ αφαιρέσεις τίποτα από αυτό το μπλοκ χωρίς να ξέρεις τι κάνει. */

/* 2.4.1 Bypass Blocks — σύνδεσμος παράκαμψης προς το κύριο περιεχόμενο */
.skip-link{
  position:absolute;left:12px;top:-100px;z-index:200;
  background:var(--olive);color:#fff;padding:13px 22px;border-radius:0 0 3px 3px;
  font-size:14px;font-weight:600;text-decoration:none;
  transition:top .2s var(--ease);
}
.skip-link:focus{top:0}

/* 2.4.7 Focus Visible — ορατή εστίαση παντού με πληκτρολόγιο */
:focus-visible{
  outline:3px solid var(--olive);
  outline-offset:3px;
  border-radius:2px;
}
/* πάνω σε σκούρο φόντο (hero, CTA) το λαδί δεν ξεχωρίζει — λευκό περίγραμμα */
.hero :focus-visible,
.hero-strip :focus-visible,
.cta-band :focus-visible,
.offer :focus-visible,
.site-header:not(.solid) :focus-visible{
  outline-color:#fff;
}
/* Μην κρύβεις ποτέ την εστίαση */
*:focus-visible{outline-style:solid}

/* Στοιχεία μόνο για αναγνώστες οθόνης */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ---------- typography ---------- */
h1,h2,h3,h4{margin:0;font-weight:200;line-height:1.02;letter-spacing:-.045em}
h1{font-size:clamp(46px,8.6vw,124px)}
h2{font-size:clamp(34px,5.5vw,78px)}
h3{font-size:clamp(20px,2.2vw,27px);font-weight:400;letter-spacing:-.03em}
h4{font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.3}
p{margin:0 0 18px}
em{font-style:normal;color:var(--olive);font-weight:400}
strong{font-weight:600}
.lead{font-size:clamp(16px,1.6vw,19px);line-height:1.75;color:var(--muted);font-weight:300}

.eyebrow{
  display:block;font-size:10.5px;font-weight:700;letter-spacing:.34em;
  text-transform:uppercase;color:var(--olive);margin:0 0 24px;
}

/* ---------- layout ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
section{padding:clamp(76px,9.5vw,142px) 0}
.section-head{max-width:680px;margin-bottom:clamp(40px,6vw,78px)}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head p{margin-top:22px}
.alt{background:var(--paper)}
.dark{background:var(--olive-deep);color:var(--paper)}
.dark .lead,.dark p{color:rgba(253,252,248,.72)}
.dark .eyebrow{color:var(--olive-soft)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:11px;
  padding:16px 32px;border-radius:100px;border:1px solid var(--line);
  font-size:13.5px;font-weight:600;letter-spacing:.04em;text-decoration:none;cursor:pointer;
  transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--olive);border-color:var(--olive);color:#fff}
.btn-primary:hover{background:var(--olive-deep);border-color:var(--olive-deep)}
.btn-outline{color:var(--ink);background:transparent}
.btn-outline:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-light{background:var(--paper);border-color:var(--paper);color:var(--olive-deep)}
.btn-light:hover{background:var(--olive-soft);border-color:var(--olive-soft);color:var(--olive-deep)}
.btn-sm{padding:11px 22px;font-size:12.5px}

.arrow-link{
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  font-size:14px;font-weight:600;color:var(--olive);
}
.arrow-link svg{transition:transform .25s var(--ease)}
.arrow-link:hover svg{transform:translateX(5px)}

/* ---------- header ---------- */
.site-header{
  position:fixed;inset:0 0 auto;z-index:60;height:var(--header-h);
  display:flex;align-items:center;border-bottom:1px solid transparent;
  transition:background .4s var(--ease),border-color .4s var(--ease);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}
.logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.logo img{height:30px;width:auto;transition:filter .4s}

.nav{display:flex;align-items:center;gap:2px;flex:1;justify-content:center}
.nav a{
  position:relative;padding:8px 11px;font-size:13.5px;font-weight:500;text-decoration:none;
  color:rgba(255,255,255,.9);transition:color .3s;
  white-space:nowrap;          /* ΠΟΤΕ να μη σπάει σε δύο σειρές */
}
.nav a::after{
  content:"";position:absolute;left:11px;right:11px;bottom:2px;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);
}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.header-cta{display:flex;align-items:center;gap:9px;flex-shrink:0}
.header-cta .btn{white-space:nowrap}
.logo{flex-shrink:0}
/* λίγο πιο στενά στα ενδιάμεσα πλάτη, για να χωράνε όλα σε μία σειρά */
@media (max-width:1180px){
  .nav a{padding:8px 8px;font-size:13px}
  .nav a::after{left:8px;right:8px}
  .header-cta .btn{padding:10px 16px;font-size:12px}
}

/* συμπαγές header: εσωτερικές σελίδες + μετά το scroll */
.site-header.solid{background:rgba(245,241,232,.93);backdrop-filter:blur(16px);border-bottom-color:var(--line)}
.site-header.solid .nav a{color:var(--muted)}
.site-header.solid .nav a:hover{color:var(--olive)}
.site-header.solid .logo img{filter:invert(1) brightness(.2) sepia(.35) hue-rotate(45deg)}
.site-header.solid .btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}
.site-header.solid .btn-ghost:hover{background:var(--olive);color:#fff;border-color:var(--olive)}

/* burger */
.burger{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;padding:0;align-items:center;justify-content:center}
.burger span{display:block;width:22px;height:1.5px;background:#fff;position:relative;transition:background .3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:inherit;transition:transform .3s var(--ease)}
.burger span::before{top:-7px}
.burger span::after{top:7px}
.site-header.solid .burger span{background:var(--ink)}
body.menu-open .burger span{background:transparent!important}
body.menu-open .burger span::before{transform:translateY(7px) rotate(45deg);background:var(--ink)}
body.menu-open .burger span::after{transform:translateY(-7px) rotate(-45deg);background:var(--ink)}

/* mobile drawer */
.mobile-nav{
  position:fixed;inset:0;z-index:59;background:var(--cream);
  padding:calc(var(--header-h) + 24px) var(--pad) 40px;
  display:flex;flex-direction:column;gap:2px;overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
}
body.menu-open .mobile-nav{opacity:1;visibility:visible;transform:none}
body.menu-open{overflow:hidden}
.mobile-nav a{
  padding:15px 0;border-bottom:1px solid var(--line);
  font-size:20px;font-weight:300;letter-spacing:-.03em;text-decoration:none;
}
.mobile-nav .btn{margin-top:26px}
.mobile-nav .m-contact{margin-top:auto;padding-top:28px;font-size:14px;color:var(--muted)}
.mobile-nav .m-contact a{border:0;padding:2px 0;font-size:14px;font-weight:500;display:block}

/* ---------- hero (αρχική): κείμενο ΠΑΝΩ στη φωτογραφία ---------- */
.hero-wrapper{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
.hero{
  position:relative;min-height:100svh;display:flex;align-items:flex-end;
  padding:calc(var(--header-h) + 40px) 0 0;color:#fff;overflow:hidden;background:var(--olive-deep);
}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}
/* --- slideshow: οι φωτογραφίες εναλλάσσονται με σβήσιμο --- */
.hero-media img{
  position:absolute;inset:0;opacity:0;
  transition:opacity 1.4s var(--ease);
  will-change:opacity;
}
.hero-media img.is-on{opacity:1}
/* αργό ζουμ όσο προβάλλεται η κάθε μία — δίνει ζωή χωρίς να ενοχλεί */
.hero-media img.is-on{animation:heroZoom 9s linear forwards}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.05)}}

/* κουκκίδες ένδειξης */
.hero-dots{
  position:absolute;right:var(--pad);bottom:clamp(26px,4vw,44px);z-index:3;
  display:flex;gap:9px;
}
.hero-dots button{
  width:9px;height:9px;padding:0;border-radius:50%;cursor:pointer;
  border:1px solid rgba(255,255,255,.75);background:transparent;
  transition:background .35s var(--ease),transform .35s var(--ease);
}
.hero-dots button[aria-current="true"]{background:#fff;transform:scale(1.25)}
.hero-dots button:hover{background:rgba(255,255,255,.6)}
@media (max-width:700px){.hero-dots{display:none}}

@media (prefers-reduced-motion:reduce){
  .hero-media img.is-on{animation:none}
}
/* σκίαση σε λαδί, όχι μαύρο — τα χρώματα της φωτογραφίας επιβιώνουν */
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(178deg,rgba(30,38,24,.46) 0%,rgba(30,38,24,.16) 34%,rgba(30,38,24,.72) 78%,rgba(30,38,24,.88) 100%);
}
.hero .wrap{position:relative;z-index:2;width:100%;padding-bottom:clamp(34px,4.6vw,58px)}
.hero .eyebrow{color:rgba(255,255,255,.82)}
.hero h1{max-width:12ch;text-shadow:0 2px 40px rgba(24,30,18,.35)}
.hero h1 em{color:var(--olive-soft)}
.hero .hero-sub{color:rgba(255,255,255,.87);margin:26px 0 34px;font-weight:300;max-width:54ch;
  font-size:clamp(16px,1.6vw,19px);line-height:1.75}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

/* Λωρίδα στοιχείων: πρέπει να διαβάζεται πάνω σε ΟΠΟΙΑΔΗΠΟΤΕ φωτογραφία,
   γι' αυτό είναι σχεδόν αδιαφανής — όχι ελαφρύ πέπλο. */
.hero-strip{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.16);
  background:rgba(26,33,20,.88);backdrop-filter:blur(14px)}
.hero-strip .wrap{display:flex;flex-wrap:wrap;gap:clamp(20px,5vw,72px);padding-top:20px;padding-bottom:20px;font-size:14px}
.hero-strip dt,.hero-strip b{display:block;font-size:10px;letter-spacing:.26em;text-transform:uppercase;
  color:#B9CFA6;font-weight:700;margin-bottom:5px}
.hero-strip dd,.hero-strip span{margin:0;color:#fff;font-weight:500}
.hero-strip dd a{text-decoration:none}
.hero-strip dd a:hover{color:#B9CFA6}

/* ---------- page hero (εσωτερικές σελίδες) ---------- */
.page-hero{
  position:relative;background:var(--paper);border-bottom:1px solid var(--line);
  padding:calc(var(--header-h) + clamp(60px,8vw,110px)) 0 clamp(54px,7vw,96px);
}
.page-hero h1{font-size:clamp(36px,6vw,84px);max-width:15ch}
.page-hero .lead{max-width:60ch;margin-top:24px}
.breadcrumb{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.breadcrumb a{text-decoration:none}
.breadcrumb a:hover{color:var(--olive)}

/* ---------- λωρίδα προσφοράς ---------- */
.offer{background:var(--olive);color:#fff}
.offer .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding-top:22px;padding-bottom:22px}
.offer p{margin:0;font-size:clamp(16px,1.8vw,21px);font-weight:300;letter-spacing:-.02em}
.offer .btn{background:#fff;border-color:#fff;color:var(--olive);padding:13px 26px;font-size:13px}
.offer .btn:hover{background:var(--olive-deep);border-color:var(--olive-deep);color:#fff}

/* ---------- υπηρεσίες: μεγάλες γραμμές με φωτό στο hover ---------- */
.rows{border-top:1px solid var(--line)}
.row{position:relative;display:block;border-bottom:1px solid var(--line);
  padding:clamp(26px,3.2vw,42px) 0;overflow:hidden;text-decoration:none;
  isolation:isolate}   /* καθαρό stacking context: το κείμενο πάντα πάνω από τη φωτό */
.row-in{display:flex;align-items:baseline;gap:clamp(16px,3vw,44px);position:relative;z-index:2;
  transition:transform .5s var(--ease)}
.row .n{font-size:11px;letter-spacing:.24em;color:var(--muted);flex-shrink:0;width:34px}
.row h3{flex:1;font-size:clamp(29px,4.8vw,64px);font-weight:200;letter-spacing:-.045em;transition:color .4s}
.row .meta{font-size:13px;color:var(--muted);max-width:30ch;display:none;
  transition:opacity .4s var(--ease)}
@media(min-width:880px){.row .meta{display:block}}
/* Στο hover εμφανίζεται η φωτογραφία εκεί ακριβώς που κάθεται η περιγραφή.
   Σβήνουμε την περιγραφή ώστε να μη διαβάζονται τα δύο το ένα πάνω στο άλλο. */
.row:hover .meta{opacity:0}
.row .go{flex-shrink:0;color:var(--olive);transition:transform .4s var(--ease)}
.row-img{
  position:absolute;top:50%;right:clamp(60px,14vw,200px);width:232px;height:292px;
  transform:translateY(-50%) scale(.9) rotate(-3deg);opacity:0;transition:.55s var(--ease);
  z-index:0;overflow:hidden;pointer-events:none;border-radius:var(--r-img);box-shadow:0 26px 60px rgba(46,53,39,.2);
}
.row-img img{width:100%;height:100%;object-fit:cover}
.row:hover .row-img{opacity:1;transform:translateY(-50%) scale(1) rotate(-2deg)}
.row:hover h3{color:var(--olive)}
.row:hover .row-in{transform:translateX(14px)}
.row:hover .go{transform:translateX(8px)}
@media(max-width:880px){.row-img{display:none}}

/* ---------- «γιατί» ---------- */
.why{background:var(--sand)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,90px);align-items:center}
.why blockquote{margin:0;max-width:19ch;font-weight:200;font-size:clamp(31px,5vw,68px);
  line-height:1.06;letter-spacing:-.045em}
.mf{list-style:none;margin:0;padding:0}
.mf li{padding:22px 0;border-bottom:1px solid rgba(46,53,39,.16);display:flex;gap:20px;align-items:flex-start}
.mf li:first-child{border-top:1px solid rgba(46,53,39,.16)}
.mf b{color:var(--olive);font-size:11px;letter-spacing:.2em;flex-shrink:0;padding-top:5px;font-weight:700}
.mf p{margin:0;font-size:15px;color:var(--muted)}
.mf strong{color:var(--ink);font-weight:600}

/* ---------- νούμερα ---------- */
.nums-wrap{background:var(--paper)}
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--line)}
.num{background:var(--paper);padding:clamp(28px,3.6vw,48px) clamp(20px,2.4vw,34px)}
.num b{display:block;font-weight:200;font-size:clamp(46px,6.4vw,86px);line-height:.94;
  color:var(--olive);letter-spacing:-.05em}
.num span{display:block;margin-top:14px;font-size:13.5px;color:var(--muted);line-height:1.6}

/* ---------- βήματα ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px)}
.step{border-top:1px solid var(--line);padding-top:24px}
.step b{display:block;font-weight:200;font-size:clamp(34px,4vw,52px);line-height:1;
  color:var(--olive);letter-spacing:-.05em;margin-bottom:18px}
.step h3{margin-bottom:10px;font-size:20px;font-weight:600;letter-spacing:-.02em}
.step p{margin:0;font-size:14.5px;color:var(--muted)}

/* ---------- ομάδα ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(30px,4vw,44px)}
.chip{
  border:1px solid var(--line);border-radius:100px;padding:11px 20px;font-size:14px;
  background:var(--cream);text-decoration:none;transition:.3s var(--ease);
}
.chip:hover{border-color:var(--olive);color:var(--olive);transform:translateY(-2px)}
.chip small{color:var(--muted);font-size:12px;margin-left:8px}
.chip:hover small{color:var(--olive-soft)}

/* ---------- λωρίδα φωτογραφιών ---------- */
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.2vw,16px)}
.strip figure{margin:0;aspect-ratio:3/4;overflow:hidden;border-radius:var(--r-img)}
.strip figure:nth-child(2){transform:translateY(clamp(16px,4vw,56px))}
.strip img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.strip figure:hover img{transform:scale(1.05)}

/* ---------- μαρτυρίες ---------- */
.q-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;
  margin-bottom:clamp(36px,5vw,60px)}
.score{display:flex;align-items:center;gap:16px}
.score b{font-weight:200;font-size:clamp(48px,6vw,76px);line-height:.9;letter-spacing:-.05em;color:var(--olive)}
.score .stars{display:block;color:var(--olive);letter-spacing:.16em;font-size:15px}
.score small{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,32px)}
.quote{background:var(--paper);border:1px solid var(--line);padding:clamp(26px,3vw,38px);
  display:flex;flex-direction:column;margin:0}
.quote .stars{color:var(--olive);letter-spacing:.14em;font-size:13px;margin-bottom:16px}
.quote p{font-size:15.5px;font-weight:300;line-height:1.7;flex:1;margin:0 0 20px}
.quote cite{font-style:normal;font-size:13px;font-weight:600}
.quote cite small{display:block;color:var(--muted);font-weight:400;font-size:12px;margin-top:2px}

/* ---------- κάρτες (μαθήματα, επίπεδα, ομάδα) ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:clamp(14px,2vw,22px)}
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(26px,3vw,36px);text-decoration:none;
  transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);
}
.alt .card{background:var(--cream)}
.card:hover{border-color:var(--olive);transform:translateY(-3px);box-shadow:0 16px 36px rgba(46,53,39,.07)}
.card .tag{
  display:inline-block;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--olive);background:var(--olive-mist);padding:5px 11px;border-radius:2px;margin-bottom:16px;
}
.card h3{font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin-bottom:10px}
.card p{font-size:14.5px;color:var(--muted);margin:0;line-height:1.7}

/* ---------- feature grid ---------- */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.feature{background:var(--cream);padding:clamp(28px,3.4vw,42px)}
.alt .feature{background:var(--paper)}
.feature .ico{width:30px;height:30px;color:var(--olive);margin-bottom:20px}
.feature h3{font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin-bottom:10px}
.feature p{font-size:14.5px;color:var(--muted);margin:0;line-height:1.7}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.split.reverse .split-media{order:2}
.split-media{overflow:hidden;aspect-ratio:4/3;border-radius:var(--r-img)}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-body h2{margin-bottom:22px}
.checklist{list-style:none;margin:26px 0 0;padding:0}
.checklist li{position:relative;padding:0 0 0 30px;margin-bottom:13px;font-size:15.5px;color:var(--muted)}
.checklist li::before{
  content:"";position:absolute;left:0;top:9px;width:14px;height:8px;
  border-left:1.5px solid var(--olive);border-bottom:1.5px solid var(--olive);transform:rotate(-45deg);
}
.checklist li strong{color:var(--ink);font-weight:600}

/* ---------- προγράμματα ---------- */
.sched{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.sched a{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:24px 26px;border:1px solid var(--line);background:var(--paper);
  text-decoration:none;transition:.3s var(--ease);
}
.alt .sched a{background:var(--cream)}
.sched a strong{display:block;font-size:15.5px;font-weight:600;letter-spacing:-.01em}
.sched a span span,.sched a small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px;font-weight:400}
.sched a svg{flex-shrink:0;transition:transform .3s var(--ease)}
.sched a:hover{background:var(--olive);border-color:var(--olive);color:#fff}
.sched a:hover span span,.sched a:hover small{color:rgba(255,255,255,.75)}
.sched a:hover svg{transform:translate(4px,-4px)}

/* ---------- CTA ---------- */
.cta-band{background:var(--olive-deep);color:var(--paper);text-align:center;position:relative;overflow:hidden}
.cta-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2}
.cta-band .wrap{position:relative;z-index:1}
.cta-band h2{max-width:16ch;margin:0 auto;color:var(--paper)}
.cta-band em{color:var(--olive-soft)}
.cta-band .eyebrow{color:var(--olive-soft)}
.cta-band p{max-width:56ch;margin:24px auto 38px;color:rgba(253,252,248,.74);
  font-size:clamp(16px,1.6vw,19px);font-weight:300}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.cta-band .btn-ghost{border-color:rgba(253,252,248,.42);color:var(--paper);background:transparent}
.cta-band .btn-ghost:hover{background:var(--paper);color:var(--olive-deep);border-color:var(--paper)}

/* ---------- FAQ ---------- */
.faq{max-width:840px;margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;padding:26px 44px 26px 0;position:relative;
  font-size:18px;font-weight:500;letter-spacing:-.02em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:8px;top:34px;width:11px;height:11px;
  border-right:1.5px solid var(--olive);border-bottom:1.5px solid var(--olive);
  transform:rotate(45deg);transition:transform .3s var(--ease);
}
.faq details[open] summary::after{transform:rotate(-135deg);top:38px}
.faq .a{padding:0 40px 28px 0;color:var(--muted);font-size:15.5px;font-weight:300}
.faq .a p:last-child{margin-bottom:0}
.faq .a a{color:var(--olive);font-weight:600}

/* ---------- legal / long-form ---------- */
.legal{max-width:840px;margin:0 auto}
.legal h2{font-size:clamp(24px,3vw,38px);font-weight:300;margin:clamp(44px,5vw,68px) 0 6px;
  padding-top:clamp(30px,4vw,46px);border-top:1px solid var(--line)}
.legal h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.legal ol{margin:24px 0 0;padding:0 0 0 22px}
.legal ol li{margin-bottom:16px;color:var(--muted);font-size:15.5px;line-height:1.8;padding-left:6px;font-weight:300}
.legal ol li::marker{color:var(--olive);font-weight:700}
.legal ol li strong{color:var(--ink);font-weight:600}
.legal a{color:var(--olive);font-weight:600}

/* ---------- footer ---------- */
footer{background:var(--paper);border-top:1px solid var(--line);
  padding:clamp(54px,7vw,84px) 0 30px;font-size:14.5px;color:var(--muted)}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:clamp(28px,4vw,52px)}
.footer-brand .logo{margin-bottom:20px}
.footer-brand .logo img{filter:invert(1) brightness(.2) sepia(.35) hue-rotate(45deg)}
.footer-brand p{max-width:30ch;line-height:1.7;font-size:14px}
.footer-brand .socials{display:flex;gap:10px;margin-top:22px}
.footer-brand .socials a{
  width:38px;height:38px;border:1px solid var(--line);border-radius:100px;
  display:flex;align-items:center;justify-content:center;color:var(--muted);
  transition:background .25s,color .25s,border-color .25s;
}
.footer-brand .socials a:hover{background:var(--olive);color:#fff;border-color:var(--olive)}
.footer-col h3{
  font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ink);margin-bottom:18px;
}
.footer-col a{display:block;text-decoration:none;margin-bottom:11px;transition:color .25s;font-size:14px}
.footer-col a:hover{color:var(--olive)}
.footer-col address{font-style:normal;line-height:1.85;font-size:14px}
.footer-col address a{display:inline;margin:0}
.footer-bottom{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;
  margin-top:clamp(40px,5vw,60px);padding-top:26px;border-top:1px solid var(--line);
  font-size:12.5px;
}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:20px}
.footer-bottom a{text-decoration:none}
.footer-bottom a:hover{color:var(--olive)}

/* ---------- scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .split{grid-template-columns:1fr;gap:32px}
  .split.reverse .split-media{order:0}
  .why-grid{grid-template-columns:1fr}
  .quotes{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media (max-width:940px){
  .nav{display:none}
  .burger{display:flex}
  .header-cta{gap:6px}
  .header-cta .btn-ghost{display:none}
}
@media (max-width:760px){
  .strip{grid-template-columns:1fr 1fr}
  .strip figure:nth-child(3){display:none}
}
@media (max-width:560px){
  :root{--header-h:64px}
  .footer-top{grid-template-columns:1fr;gap:34px}
  .hero-strip .wrap{gap:18px}
  .hero-strip>.wrap>div{min-width:calc(50% - 9px)}
  .btn{padding:14px 26px}
  .header-cta .btn{padding:10px 18px;font-size:12px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* ==========================================================================
   Παραλλαγή σελίδας: «γκρι» για το /functional
   Ο χώρος Functional είναι σκούρος και βιομηχανικός — ψυχρότεροι ουδέτεροι
   τον αποδίδουν καλύτερα. Το λαδί μένει ίδιο, ώστε να παραμένει το ίδιο brand.
   Όλοι οι συνδυασμοί ελέγχθηκαν για WCAG AA (χαμηλότερος 4,78:1).
   ========================================================================== */
body.theme-grey{
  --ink:#2B2F2B;
  --muted:#5C605C;
  --paper:#FAFBFA;
  --cream:#EFF1EF;
  --sand:#E0E3E0;
  --line:#D5D8D5;
  --olive-mist:#E3E8E0;
}

/* ---------- κάρτες εκπαιδευτών με φωτογραφία ---------- */
.card.person{padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:var(--r-img)}
.card.person .ph{aspect-ratio:3/4;overflow:hidden;background:var(--sand)}
.card.person .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.card.person:hover .ph img{transform:scale(1.04)}
.card.person .body{padding:clamp(22px,2.6vw,30px);display:flex;flex-direction:column;flex:1}
.card.person .tag{margin-bottom:12px;align-self:flex-start}
.card.person h3{margin-bottom:10px}
.card.person p{margin:0}
/* χωρίς φωτογραφία ακόμα — ουδέτερο πλαίσιο, όχι σπασμένη εικόνα */
.card.person.no-photo .ph{
  display:flex;align-items:center;justify-content:center;
  background:var(--olive-mist);color:var(--olive);
  font-size:44px;font-weight:200;letter-spacing:-.04em;
}
