/* ============================================================
   groupanalysis — redesign
   Palette: απαλό μουντό βιολετί (εναρμονισμένο με το λογότυπο) σε ψυχρό απαλό λευκό
   Type: Alegreya (display) + Alegreya Sans (body)
   ============================================================ */

:root{
  /* Χρώματα — απαλό μουντό βιολετί, εναρμονισμένο με το λογότυπο (#4000b0) */
  --ink:      #242038;   /* κείμενο / σκούρο (βαθύ βιολετί-μαύρο) */
  --petrol:   #5b46a6;   /* κύριο χρώμα brand (απαλό μωβ) */
  --petrol-d: #322558;   /* βαθύ μωβ για σκούρα sections */
  --paper:    #f6f4fa;   /* φόντο (απαλό ψυχρό λευκό) */
  --paper-2:  #edeaf6;   /* εναλλακτικό section */
  --mist:     #e6e0f2;   /* απαλή απόχρωση μωβ */
  --accent:   #7a58c6;   /* δεύτερος τόνος μωβ (κουμπιά/λεπτομέρειες) */
  --accent-d: #6446ad;
  --muted:    #6b6588;   /* δευτερεύον κείμενο (μωβ-γκρι) */
  --line:     #e1dbef;   /* γραμμές/όρια */
  --white:    #fdfcff;

  /* Τυπογραφία */
  --serif: "Alegreya", Georgia, "Times New Roman", serif;
  --sans:  "Alegreya Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* Ρυθμός */
  --wrap: 1200px;
  --gap: clamp(1.25rem, 3vw, 2.5rem);
  --radius: 4px;
  --shadow: 0 12px 40px -18px rgba(36,32,56,.45);
  --shadow-sm: 0 4px 16px -10px rgba(36,32,56,.4);
  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ animation:none!important; transition:none!important; } }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-weight:400; font-size:clamp(1rem,.96rem + .2vw,1.075rem);
  line-height:1.7; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--petrol); text-decoration:none; }
a:hover{ color:var(--accent-d); }
h1,h2,h3,h4{ font-family:var(--serif); font-weight:700; line-height:1.15; color:var(--ink); margin:0 0 .5em; letter-spacing:-.01em; }
p{ margin:0 0 1rem; }
button{ font-family:inherit; cursor:pointer; }
:focus-visible{ outline:2.5px solid var(--accent); outline-offset:3px; border-radius:2px; }

.wrap{ width:min(100% - 2.5rem, var(--wrap)); margin-inline:auto; }
.visually-hidden{ position:absolute!important; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0; }
.skip-link{ position:absolute; left:.5rem; top:-3rem; background:var(--ink); color:#fff; padding:.6rem 1rem; border-radius:var(--radius); z-index:200; transition:top .2s; }
.skip-link:focus{ top:.5rem; color:#fff; }

/* Eyebrow / kicker */
.eyebrow{
  font-family:var(--sans); font-weight:700; font-size:.72rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--accent-d); margin:0 0 1rem;
  display:inline-flex; align-items:center; gap:.6rem;
}
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--accent); display:inline-block; }

/* ============================================================
   HEADER + NAV
   ============================================================ */
.site-header{
  position:sticky; top:0; z-index:100; background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid transparent;
  transition:border-color .3s, box-shadow .3s, background .3s;
}
.site-header.is-scrolled{ border-bottom-color:var(--line); box-shadow:var(--shadow-sm); }
.site-header__inner{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:74px; }

.brand{ display:inline-flex; align-items:center; gap:.6rem; color:var(--petrol); }
.brand__img{ display:block; height:46px; width:auto; max-width:100%; }
.site-header.is-scrolled .brand__img{ height:40px; transition:height .3s var(--ease); }
.brand__mark{ color:var(--petrol); flex:0 0 auto; }
.brand__text{ font-family:var(--serif); font-weight:800; font-size:1.35rem; letter-spacing:-.02em; color:var(--ink); }
.brand--foot{ display:inline-block; }
.brand--foot .brand__img{ height:auto; width:210px; max-width:100%; margin-bottom:.5rem; }
.brand--foot .brand__mark{ color:var(--accent); }

.nav{ display:flex; align-items:center; gap:1.5rem; }
.nav__list{ display:flex; align-items:center; gap:.35rem; list-style:none; margin:0; padding:0; }
.nav__list > li{ position:relative; }
.nav__list > li > a,
.nav__parent{
  display:inline-block; padding:.55rem .7rem; font-size:.82rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; color:var(--ink); background:none; border:0;
  border-radius:var(--radius); transition:color .2s;
}
.nav__list > li > a[aria-current], .nav__parent[aria-expanded="true"]{ color:var(--petrol); }
.nav__list > li > a:hover, .nav__parent:hover{ color:var(--accent-d); }
.nav__parent::after{ content:""; display:inline-block; width:.42em; height:.42em; margin-left:.4em; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); opacity:.6; }

.sub{
  position:absolute; top:calc(100% + 6px); left:0; min-width:250px; list-style:none; margin:0; padding:.5rem;
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
  opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s, transform .18s, visibility .18s; z-index:20;
}
.has-sub:hover .sub, .has-sub:focus-within .sub, .sub.is-open{ opacity:1; visibility:visible; transform:translateY(0); }
.sub li a{ display:block; padding:.6rem .8rem; font-size:.9rem; color:var(--ink); border-radius:3px; border-left:2px solid transparent; }
.sub li a:hover{ background:var(--mist); border-left-color:var(--accent); color:var(--petrol-d); }

.nav__meta{ display:flex; align-items:center; gap:1.1rem; }
.nav__phone{ font-weight:700; font-size:.9rem; color:var(--petrol); white-space:nowrap; }
.lang-switch{ display:inline-flex; align-items:center; gap:.15rem; border:1px solid var(--line); border-radius:100px; padding:.15rem; }
.lang-switch__item{ font-size:.72rem; font-weight:700; letter-spacing:.05em; padding:.28rem .6rem; border-radius:100px; color:var(--muted); }
.lang-switch__item.is-active{ background:var(--petrol); color:var(--white); }

.nav-toggle{ display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); position:relative; }
.nav-toggle__bar, .nav-toggle__bar::before, .nav-toggle__bar::after{ content:""; position:absolute; left:50%; top:50%; width:20px; height:2px; background:var(--ink); transform:translate(-50%,-50%); transition:.25s; }
.nav-toggle__bar::before{ transform:translate(-50%,-7px); }
.nav-toggle__bar::after{ transform:translate(-50%,5px); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar{ background:transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar::before{ transform:translate(-50%,-50%) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar::after{ transform:translate(-50%,-50%) rotate(-45deg); }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  display:inline-flex; align-items:center; gap:.6rem; font-family:var(--sans); font-weight:700;
  font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; padding:.85rem 1.5rem;
  border-radius:var(--radius); border:1px solid transparent; transition:transform .2s var(--ease), background .2s, color .2s, border-color .2s;
}
.btn:hover{ transform:translateY(-2px); }
.btn--primary{ background:var(--petrol); color:var(--white); }
.btn--primary:hover{ background:var(--petrol-d); color:var(--white); }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn--ghost:hover{ border-color:var(--petrol); color:var(--petrol); }
.btn--accent{ background:var(--accent); color:#fff; }
.btn--accent:hover{ background:var(--accent-d); color:#fff; }
.link-more{ display:inline-flex; align-items:center; gap:.5rem; font-weight:700; font-size:.82rem; letter-spacing:.05em; text-transform:uppercase; color:var(--petrol); }
.link-more::after{ content:"→"; transition:transform .2s; }
.link-more:hover::after{ transform:translateX(4px); }

/* ============================================================
   SECTIONS
   ============================================================ */
.section{ padding:clamp(3.5rem,7vw,6.5rem) 0; }
.section--tint{ background:var(--paper-2); }
.section--ink{ background:var(--petrol-d); color:var(--mist); }
.section--ink h2, .section--ink h3{ color:var(--white); }
.section__head{ max-width:60ch; margin-bottom:2.75rem; }
.section__head h2{ font-size:clamp(1.9rem,1.4rem + 2vw,2.9rem); }

/* ============================================================
   HERO — thesis: ο κύκλος της ομάδας
   ============================================================ */
.hero{ position:relative; overflow:hidden; padding:clamp(3rem,6vw,5.5rem) 0 clamp(3.5rem,7vw,6rem); }
.hero__grid{ display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:clamp(2rem,5vw,4rem); }
.hero__title{ font-size:clamp(2.4rem,1.6rem + 3.4vw,4.4rem); line-height:1.05; letter-spacing:-.02em; margin-bottom:1.25rem; }
.hero__title em{ font-style:italic; color:var(--petrol); }
.hero__lead{ font-size:clamp(1.05rem,1rem + .35vw,1.25rem); color:var(--muted); max-width:52ch; margin-bottom:2rem; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:.85rem; }

/* Κύκλος ομάδας (SVG animated) */
.hero__figure{ position:relative; aspect-ratio:1; max-width:460px; margin-inline:auto; width:100%; }
.group-circle{ width:100%; height:auto; }
.group-circle .ring{ fill:none; stroke:var(--line); stroke-width:1; }
.group-circle .spoke{ stroke:var(--mist); stroke-width:1; }
.group-circle .seat{ fill:var(--petrol); transform-origin:center; }
.group-circle .seat.accent{ fill:var(--accent); }
.group-circle .core{ fill:none; stroke:var(--accent); stroke-width:1.5; stroke-dasharray:3 5; }
@media (prefers-reduced-motion: no-preference){
  .group-circle{ animation:spin 60s linear infinite; }
  .group-circle .seat{ animation:pulse 4s var(--ease) infinite; }
  .group-circle .seat:nth-child(odd){ animation-delay:1.2s; }
  .hero__figure > *{ animation:fadeUp .9s var(--ease) both; }
}
@keyframes spin{ to{ transform:rotate(360deg); } }
@keyframes pulse{ 0%,100%{ opacity:.85; } 50%{ opacity:.4; } }

/* ============================================================
   PILLARS (3 κάρτες)
   ============================================================ */
.pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.pillar{ position:relative; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:transform .3s var(--ease), box-shadow .3s; }
.pillar:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.pillar__media{ aspect-ratio:16/10; overflow:hidden; background:var(--mist); }
.pillar__media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.pillar:hover .pillar__media img{ transform:scale(1.05); }
.pillar__body{ padding:1.5rem 1.5rem 1.75rem; flex:1; display:flex; flex-direction:column; }
.pillar__body h3{ font-size:1.35rem; margin-bottom:.35rem; }
.pillar__body p{ color:var(--muted); font-size:.98rem; margin-bottom:1.25rem; }
.pillar__body .link-more{ margin-top:auto; }

/* ============================================================
   PROGRAM feature
   ============================================================ */
.feature{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.feature__media{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.feature__media img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.feature__body h2{ font-size:clamp(1.8rem,1.4rem + 1.6vw,2.6rem); }
.feature__body p{ color:var(--muted); }

/* ============================================================
   BLOG cards
   ============================================================ */
.posts{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.post-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:transform .3s var(--ease), box-shadow .3s; }
.post-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.post-card__media{ aspect-ratio:16/9; overflow:hidden; background:var(--mist); }
.post-card__media--empty{ position:relative; background:var(--petrol); }
.post-card__media--empty::after{ content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 45%, transparent 30%, rgba(255,255,255,.06) 31%, transparent 32%) no-repeat center/70% 70%,
             var(--petrol-d); opacity:.9; }
.post-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.post-card:hover .post-card__media img{ transform:scale(1.05); }
.post-card__body{ padding:1.4rem 1.4rem 1.6rem; display:flex; flex-direction:column; flex:1; }
.post-card__date{ font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-d); margin-bottom:.6rem; }
.post-card__title{ font-size:1.15rem; line-height:1.3; margin-bottom:1rem; }
.post-card__title a{ color:var(--ink); }
.post-card__title a:hover{ color:var(--petrol); }
.post-card .link-more{ margin-top:auto; }
.section__cta{ text-align:center; margin-top:2.75rem; }

/* ============================================================
   STATS — Η διαδρομή μας
   ============================================================ */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.stat{ text-align:center; padding:1rem; border-left:1px solid rgba(255,255,255,.15); }
.stat:first-child{ border-left:0; }
.stat__num{ font-family:var(--serif); font-weight:800; font-size:clamp(2.6rem,2rem + 2.5vw,3.8rem); line-height:1; color:var(--white); }
.stat__num .suffix{ color:var(--accent); }
.stat__label{ margin-top:.6rem; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mist); }
.stat__note{ font-size:.75rem; color:rgba(230,224,242,.7); margin-top:.2rem; }

/* ============================================================
   EVENTS — Ημερολόγιο
   ============================================================ */
.events{ display:grid; gap:1rem; }
.event{ display:grid; grid-template-columns:auto 1fr auto; gap:1.5rem; align-items:center; padding:1.5rem; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); transition:border-color .3s; }
.event:hover{ border-color:var(--petrol); }.event__date{ text-align:center; min-width:78px; padding:.6rem .8rem; background:var(--paper-2); border-radius:var(--radius); }
.event__day{ font-family:var(--serif); font-weight:800; font-size:1.9rem; line-height:1; color:var(--petrol); }
.event__mon{ font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.event__title{ font-family:var(--serif); font-weight:700; font-size:1.15rem; margin-bottom:.25rem; }
.event__title a{ color:var(--ink); text-decoration:none; }
.event__title a:hover{ color:var(--petrol); }
.event__time{ font-size:.85rem; color:var(--muted); }
.event__meta{ font-size:.85rem; color:var(--muted); margin-top:.35rem; }
.event__meta strong{ color:var(--ink); font-weight:700; }

/* ---- Podcast (Spotify) ---- */
.podcast{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.podcast__text h2{ margin:.4rem 0 .75rem; }
.podcast__text p{ color:var(--muted); margin-bottom:1.5rem; }
.podcast__player iframe{ display:block; width:100%; min-height:352px; border:0; }
@media (max-width:820px){ .podcast{ grid-template-columns:1fr; } }
.event__go{ white-space:nowrap; }
@media (max-width:640px){ .event{ grid-template-columns:auto 1fr; } .event__go{ grid-column:1/-1; } }

/* ============================================================
   CONTACT CTA band
   ============================================================ */
.cta-band{ background:var(--petrol); color:var(--mist); border-radius:var(--radius); padding:clamp(2.5rem,5vw,4rem); display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; }
.cta-band h2{ color:var(--white); margin-bottom:.5rem; }
.cta-band p{ margin:0; max-width:55ch; }
@media (max-width:720px){ .cta-band{ grid-template-columns:1fr; } }

/* ============================================================
   CONTENT PAGES
   ============================================================ */
.page-hero{ background:var(--petrol-d); color:var(--mist); padding:clamp(3rem,6vw,5rem) 0 clamp(2.5rem,5vw,4rem); }
.page-hero .eyebrow{ color:var(--accent); }
.page-hero h1{ color:var(--white); font-size:clamp(2rem,1.5rem + 2.6vw,3.4rem); max-width:20ch; }
.crumbs{ font-size:.8rem; color:rgba(230,224,242,.75); margin-bottom:1.2rem; }
.crumbs a{ color:var(--mist); } .crumbs a:hover{ color:var(--white); }
.crumbs span{ opacity:.5; margin:0 .4rem; }

.prose{ max-width:none; }
.prose h2{ font-size:1.7rem; margin-top:2.5rem; }
.prose h3{ font-size:1.3rem; margin-top:2rem; }
.prose p{ margin-bottom:1.2rem; }
.prose ul, .prose ol{ margin:0 0 1.2rem 1.2rem; }
.prose li{ margin-bottom:.5rem; }
.prose blockquote{ border-left:3px solid var(--accent); padding:.5rem 0 .5rem 1.4rem; margin:1.6rem 0; font-family:var(--serif); font-style:italic; font-size:1.2rem; color:var(--petrol-d); }
.prose img{ border-radius:var(--radius); margin:1.5rem 0; }
.todo-note{ background:var(--mist); border:1px dashed var(--petrol); border-radius:var(--radius); padding:1.25rem 1.5rem; color:var(--petrol-d); }

/* ============================================================
   BLOG list / single
   ============================================================ */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.blog-single{ max-width:none; }
.blog-single__meta{ font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-d); margin-bottom:1rem; }
.blog-single__cover{ max-width:1120px; margin:0 auto 2rem; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.back-link{ display:inline-flex; align-items:center; gap:.5rem; margin-top:2.5rem; font-weight:700; }
.back-link::before{ content:"←"; }

/* ============================================================
   FORMS
   ============================================================ */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; max-width:640px; }
.form-grid .full{ grid-column:1/-1; }
.field label{ display:block; font-size:.8rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); margin-bottom:.4rem; }
.field input, .field textarea{ width:100%; padding:.85rem 1rem; font-family:inherit; font-size:1rem; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); color:var(--ink); transition:border-color .2s; }
.field input:focus, .field textarea:focus{ border-color:var(--petrol); outline:none; }
.field textarea{ min-height:150px; resize:vertical; }
@media (max-width:600px){ .form-grid{ grid-template-columns:1fr; } }

.news-form{ display:flex; gap:.5rem; }
.news-form input{ flex:1; padding:.7rem .9rem; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.06); color:var(--white); border-radius:var(--radius); }
.news-form input::placeholder{ color:rgba(253,252,255,.6); }
.news-form button{ padding:.7rem 1.1rem; background:var(--accent); color:#fff; border:0; border-radius:var(--radius); font-weight:700; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; }
.news-form button:hover{ background:var(--accent-d); }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{ background:var(--ink); color:var(--mist); padding:clamp(3rem,5vw,4.5rem) 0 0; margin-top:clamp(3rem,6vw,5rem); }
.site-footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; }
.foot-address{ color:rgba(230,224,242,.75); font-size:.92rem; margin:1rem 0; }
.foot-contact{ list-style:none; margin:0 0 1rem; padding:0; }
.foot-contact a{ color:var(--mist); font-size:.95rem; }
.foot-contact a:hover{ color:var(--accent); }
/* Λίστα επικοινωνίας σε ΦΩΤΕΙΝΟ φόντο (σελίδα Επικοινωνίας) */
.contact-list{ list-style:none; margin:0 0 1rem; padding:0; }
.contact-list li{ margin:.35rem 0; }
.contact-list a{ color:var(--petrol); font-size:1rem; font-weight:600; text-decoration:none; }
.contact-list a:hover{ color:var(--accent-d); text-decoration:underline; }
/* Γραμματεία / Πρόεδρος / Υπεύθυνος */
.contact-people{ margin:1.5rem 0 0; }
.contact-people dt{ font-weight:700; color:var(--ink); margin-top:1rem; }
.contact-people dd{ margin:.15rem 0 0; color:var(--muted); }
.foot-social{ display:flex; gap:1rem; }
.foot-social a{ color:rgba(230,224,242,.7); font-size:.85rem; }
.foot-social a:hover{ color:var(--accent); }
.foot-title{ color:var(--white); font-size:.82rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:1rem; font-family:var(--sans); }
.foot-title--mt{ margin-top:1.75rem; }
.foot-list{ list-style:none; margin:0; padding:0; }
.foot-list li{ margin-bottom:.6rem; }
.foot-list a{ color:rgba(230,224,242,.8); font-size:.92rem; }
.foot-list a:hover{ color:var(--accent); }
.site-footer__bar{ border-top:1px solid rgba(255,255,255,.1); padding:1.4rem 0; }
.site-footer__bar p{ margin:0; font-size:.82rem; color:rgba(230,224,242,.6); }

/* ============================================================
   Media embeds
   ============================================================ */
.embed{ position:relative; aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ============================================================
   Scroll reveal
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  [data-reveal]{ opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
  [data-reveal].is-in{ opacity:1; transform:none; }
}
@keyframes fadeUp{ from{ opacity:0; transform:translateY(20px);} to{ opacity:1; transform:none;} }

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination{ display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; margin-top:3rem; }
.pagination__link{ display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 .6rem; border:1px solid var(--line);
  border-radius:var(--radius); color:var(--petrol); font-weight:700; font-size:.9rem;
  text-decoration:none; background:var(--white); transition:all .2s var(--ease); }
.pagination__link:hover{ border-color:var(--petrol); background:var(--paper-2); }
.pagination__link.is-current{ background:var(--petrol); border-color:var(--petrol); color:#fff; }
.pagination__nav{ font-size:1.2rem; }

/* ============================================================
   PAGE FIGURE (εικόνα κορυφής εσωτερικών σελίδων)
   ============================================================ */
.page-figure{ margin:0 0 2.5rem; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.page-figure img{ display:block; width:100%; height:auto; }

/* Ενσωματωμένο βίντεο (YouTube) — responsive 16:9 */
.video-embed{ position:relative; width:100%; aspect-ratio:16/9; margin:0 0 1.5rem; border-radius:var(--radius); overflow:hidden; background:#000; }
.video-embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ============================================================
   MEMBERS (Τακτικά Μέλη)
   ============================================================ */
.members{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.75rem 1.5rem; }
.member{ display:flex; flex-direction:column; }
.member__photo{ position:relative; aspect-ratio:1; border-radius:var(--radius); overflow:hidden; background:var(--mist); margin-bottom:.9rem; }
.member__photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.member:hover .member__photo img{ transform:scale(1.04); }
.member__photo--empty{ display:flex; align-items:center; justify-content:center; border:0;
  background:linear-gradient(150deg, var(--petrol) 0%, var(--petrol-d) 100%); }
.member__ph{ font-size:.72rem; font-weight:700; letter-spacing:.14em; color:var(--muted); }
.member__mono{ font-family:var(--serif); font-weight:700; font-size:2.6rem; line-height:1;
  color:#fff; letter-spacing:.02em; opacity:.95; }
.member__name{ font-size:1.08rem; line-height:1.25; margin:0 0 .25rem; }
.member__role{ font-size:.85rem; color:var(--muted); line-height:1.5; margin:0; }

/* ============================================================
   RESPONSIVE  (breakpoints: 1024 tablet · 900 · 640 · 520)
   ============================================================ */

/* ---------- TABLET & KATO: πλέγματα 2 στηλών + OFF-CANVAS menu ---------- */
@media (max-width:1024px){
  .pillars, .posts, .blog-grid{ grid-template-columns:1fr 1fr; }
  .members{ grid-template-columns:repeat(3,1fr); }
  .stats{ grid-template-columns:1fr 1fr; }
  .stat:nth-child(3){ border-left:0; }

  /* Εμφάνιση hamburger, πάνω από το drawer */
  .nav-toggle{ display:inline-flex; align-items:center; justify-content:center; position:relative; z-index:130; }

  /* Το backdrop-filter/blur στο header δημιουργεί containing-block για fixed
     στοιχεία και «εγκλωβίζει» το off-canvas drawer. Το αφαιρούμε στο mobile. */
  .site-header{ backdrop-filter:none; -webkit-backdrop-filter:none; background:var(--paper); }

  /* Σκίαση (backdrop) πίσω από το drawer */
  .nav-backdrop{
    position:fixed; inset:0; z-index:110; background:rgba(36,32,56,.5);
    -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
    opacity:0; visibility:hidden; transition:opacity .3s var(--ease), visibility .3s;
  }
  .nav-backdrop.is-open{ opacity:1; visibility:visible; }

  /* Το ίδιο το off-canvas panel (από δεξιά) */
  .nav{
    position:fixed; top:0; right:0; bottom:0; left:auto; z-index:120;
    width:min(87vw, 380px); flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0;
    background:var(--paper); border-left:1px solid var(--line);
    box-shadow:-24px 0 60px -24px rgba(36,32,56,.55);
    padding:5.5rem 1.5rem 2.5rem; max-height:100dvh; overflow-y:auto; overscroll-behavior:contain;
    transform:translateX(100%); transition:transform .38s var(--ease);
  }
  .nav.is-open{ transform:translateX(0); }

  .nav__list{ flex-direction:column; align-items:stretch; gap:0; }
  .nav__list > li{ border-bottom:1px solid var(--line); }
  .nav__list > li:first-child{ border-top:1px solid var(--line); }
  .nav__list > li > a, .nav__parent{ display:block; width:100%; padding:.95rem .25rem; font-size:1.02rem; text-align:left; }
  .nav__parent{ display:flex; justify-content:space-between; align-items:center; }
  .nav__parent::after{ margin-left:auto; transition:transform .3s var(--ease); }
  .nav__parent[aria-expanded="true"]::after{ transform:translateY(1px) rotate(-135deg); }

  /* Υπομενού ως accordion μέσα στο drawer */
  .sub{
    position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0;
    padding:0 0 .35rem .9rem; max-height:0; overflow:hidden; transition:max-height .32s var(--ease);
  }
  .sub.is-open{ max-height:440px; }
  .has-sub:hover .sub:not(.is-open){ visibility:hidden; }   /* κανένα hover-open σε touch */

  .nav__meta{ margin-top:1.75rem; flex-direction:column; align-items:stretch; gap:1.1rem; }
  .nav__phone{ font-size:1.05rem; }
  .lang-switch{ align-self:flex-start; }

  body.nav-open{ overflow:hidden; }   /* κλείδωμα scroll όταν είναι ανοιχτό */
}

/* ---------- TABLET portrait / large phone ---------- */
@media (max-width:900px){
  .feature, .hero__grid{ grid-template-columns:1fr; }
  .hero__figure{ order:-1; max-width:300px; }
  .cta-band{ text-align:left; }
}

/* ---------- PHONE ---------- */
@media (max-width:640px){
  .pillars, .posts, .blog-grid, .stats{ grid-template-columns:1fr; }
  .members{ grid-template-columns:1fr 1fr; gap:1.25rem 1rem; }
  .stat{ border-left:0; border-top:1px solid rgba(255,255,255,.15); padding-top:1.5rem; text-align:left; }
  .stat:first-child{ border-top:0; }
  .site-footer__grid{ grid-template-columns:1fr 1fr; }
  .foot-col--brand{ grid-column:1/-1; }
  .section__head h2{ font-size:clamp(1.7rem,1.3rem + 3vw,2.2rem); }
}

/* ---------- SMALL PHONE ---------- */
@media (max-width:520px){
  .site-header__inner{ min-height:64px; }
  .brand__text{ font-size:1.2rem; }
  .brand__img{ height:38px; }
  .nav{ width:min(92vw, 340px); padding-top:5rem; }
  .btn{ padding:.8rem 1.2rem; }
  .hero__actions{ gap:.6rem; }
  .hero__actions .btn{ flex:1 1 auto; justify-content:center; }
}

/* ============================================================
   NEWSLETTER MESSAGE + COOKIE CONSENT
   ============================================================ */
.news-msg{ margin:.75rem 0 0; font-size:.85rem; line-height:1.4; }
.news-msg--ok{ color:#8fe0ad; }
.news-msg--err{ color:#f2a8a8; }

.cookie-consent{
  position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:200;
  max-width:var(--wrap); margin:0 auto; padding:1.1rem 1.4rem;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 1.5rem;
  background:var(--ink); color:#fff; border-radius:var(--radius); box-shadow:var(--shadow);
}
.cookie-consent[hidden]{ display:none; }
.cookie-consent__text{ margin:0; font-size:.9rem; line-height:1.5; flex:1 1 320px; color:rgba(255,255,255,.9); }
.cookie-consent__text a{ color:#fff; text-decoration:underline; }
.cookie-consent__actions{ display:flex; gap:.6rem; flex-shrink:0; }
.cookie-consent .btn{ font-size:.78rem; padding:.6rem 1.15rem; }
.cookie-consent .btn--ghost{ color:#fff; border-color:rgba(255,255,255,.45); background:transparent; }
.cookie-consent .btn--ghost:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
@media (max-width:560px){
  .cookie-consent{ flex-direction:column; align-items:stretch; text-align:left; }
  .cookie-consent__actions{ justify-content:flex-end; }
}
