/* Φωνές του τόπου — προφορικές ποικιλίες της ελληνικής. Στατική σελίδα, χωρίς εξαρτήσεις.
   Τυπογραφία και δομή συγγενικές με το grafes.web.auth.gr (ίδιο εργαστήριο): GFS Didot για όλο το
   κείμενο, Arial μόνο στις μικρές κεφαλαιογράμματες ετικέτες («02 / ΤΑ ΚΑΡΑΓΚΟΥΝΙΚΑ»).
   Η σελίδα δεν χρησιμοποιεί inline style ή inline script (πολιτική CSP default-src 'self' στον server). */

@font-face { font-family:"GFS Didot"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/GFSDidot-Regular.woff2") format("woff2"); }
@font-face { font-family:"GFS Didot"; font-style:italic; font-weight:400; font-display:swap; src:url("../fonts/GFSDidot-Italic.woff2") format("woff2"); }
@font-face { font-family:"GFS Didot"; font-style:normal; font-weight:700; font-display:swap; src:url("../fonts/GFSDidot-Bold.woff2") format("woff2"); }

:root {
  --paper:#fbfaf7; --paper-2:#f6f2ea; --white:#ffffff;
  --ink:#17212b; --body-ink:#3b4751; --muted:#5b666f;
  --deep:#203343; --deep-2:#182a38;
  --accent:#72553a; --gold:#a48767; --gold-2:#c9b295;
  --line:#d8d1c5; --line-dark:#3d5262;
  --font-text:'GFS Didot',Georgia,'Times New Roman',serif;
  --font-label:Arial,Helvetica,sans-serif;
  /* Το GFS Didot «απλώνει» περίπου 20% περισσότερο από τη Georgia· οι τίτλοι σχεδιάζονται μικρότεροι. */
  --display-scale:.86;
  --radius:18px;
}

/* Κλίμακα κειμένου: σώμα ≈ 19px, ακολουθεί και τη ρύθμιση μεγέθους του browser. */
html { font-size:112.5%; scroll-behavior:smooth; scroll-padding-top:96px; }
*,*::before,*::after { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-text); font-size:1rem; line-height:1.65; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,p,figure,ul,ol,dl,dd { margin:0; }
ul,ol { padding:0; list-style:none; }
h1,h2,h3,h4 { font-family:var(--font-text); font-weight:400; text-wrap:balance; }
h2 { font-size:calc(43px * var(--display-scale)); line-height:1.18; letter-spacing:-.6px; color:var(--deep); }
h3 { font-size:calc(27px * var(--display-scale)); line-height:1.3; color:var(--deep); }
p { color:var(--body-ink); }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button:focus-visible,a:focus-visible { outline:2px solid #8a672f; outline-offset:5px; }
::selection { background:#ead8ac; color:var(--ink); }
img,svg { display:block; max-width:100%; }
.nowrap { white-space:nowrap; }
.text-link { display:inline-flex; align-items:center; gap:8px; color:var(--accent); text-decoration:underline; text-underline-offset:4px; text-decoration-color:#c9b295; }
.text-link:hover { color:var(--ink); }

.shell { width:min(1180px,calc(100% - 96px)); margin-inline:auto; }
.section { padding-block:96px; }
.section-heading { max-width:760px; }
.section-heading>p { margin-top:22px; font-size:1.0625rem; line-height:1.65; }

/* Ετικέτες («01 / Η ΠΡΩΤΟΒΟΥΛΙΑ») */
.eyebrow { display:flex; align-items:center; gap:11px; margin-bottom:22px; color:#6b5a48; font-family:var(--font-label); font-size:.72rem; font-weight:600; letter-spacing:1.6px; line-height:1.5; text-transform:uppercase; }
.eyebrow.light { color:#d6bea3; }
.tiny-rule { width:27px; height:1px; background:var(--gold); flex:none; }

.skip-link { position:fixed; z-index:100; top:-100px; left:16px; padding:12px 20px; background:var(--deep); color:#fff; }
.skip-link:focus { top:12px; }

/* ---------- Κεφαλίδα ---------- */
.site-header { position:sticky; top:0; z-index:30; background:rgba(251,250,247,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.header-inner { display:flex; align-items:center; justify-content:space-between; min-height:88px; gap:30px; }
.brand-group { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.uni-logo { display:flex; align-items:center; }
.uni-logo img { width:46px; height:46px; }
.uni-logo::after { content:""; width:1px; height:30px; margin-left:16px; background:var(--line); }
.brand { display:flex; align-items:baseline; gap:14px; flex-shrink:0; }
.brand>span { font-size:28px; letter-spacing:-.6px; line-height:1; color:var(--deep); white-space:nowrap; }
.brand-dot { color:var(--gold); }
.navigation { display:flex; align-items:center; gap:18px; font-size:.86rem; }
.navigation>a { color:var(--body-ink); white-space:nowrap; transition:color .15s; }
.navigation>a:hover { color:var(--accent); }
.navigation .nav-cta { display:flex; gap:9px; align-items:center; padding:10px 15px; border:1px solid #b9b1a3; color:var(--deep); }
.navigation .nav-cta svg { flex:none; }
.navigation .nav-cta:hover { border-color:var(--accent); color:var(--accent); }
.menu-toggle { display:none; align-items:center; justify-content:center; width:44px; height:44px; border:0; background:none; color:var(--deep); }

/* ---------- Hero ---------- */
.hero { position:relative; overflow:hidden; background:linear-gradient(115deg,#203343 0%,#213748 56%,#35474f 100%); color:#fff; }
.hero::before { content:""; position:absolute; inset:0; opacity:.22; pointer-events:none; background-image:repeating-linear-gradient(90deg,transparent 0 16px,rgba(255,255,255,.06) 16px 17px,transparent 17px 32px); }
.hero-inner { position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:center; padding-block:84px 76px; }
.hero h1 { font-size:calc(66px * var(--display-scale)); line-height:1.06; letter-spacing:-1.4px; color:#fff; max-width:15em; }
.hero-lead { margin-top:26px; max-width:34rem; font-size:1.2rem; line-height:1.55; color:#e6ebee; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 22px; margin-top:32px; }
.btn { display:inline-flex; align-items:center; gap:10px; padding:13px 20px; border:1px solid rgba(255,255,255,.55); color:#fff; font-size:.95rem; transition:background .15s,color .15s; }
.btn:hover { background:#fff; color:var(--deep); }
.btn.solid { background:var(--gold-2); border-color:var(--gold-2); color:var(--deep); }
.btn.solid:hover { background:#fff; border-color:#fff; }
.affil { display:flex; flex-wrap:wrap; gap:10px; margin-top:38px; }
.affil li { border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.07); border-radius:999px; padding:7px 13px; font-size:.8rem; color:#f3f6f7; }

/* Δείγμα λόγου: βόρειος φωνηεντισμός */
.specimen { justify-self:end; width:100%; max-width:440px; background:var(--paper-2); color:var(--ink); border-radius:var(--radius); padding:30px 32px 26px; box-shadow:0 26px 60px rgba(0,0,0,.28); }
.specimen-label { display:flex; justify-content:space-between; gap:12px; font-family:var(--font-label); font-size:.66rem; letter-spacing:1.3px; text-transform:uppercase; color:var(--accent); }
.specimen-title { margin-top:16px; font-family:var(--font-text); font-size:calc(30px * var(--display-scale)); line-height:1.2; color:var(--deep); text-wrap:balance; }
.specimen dl { display:grid; grid-template-columns:auto 1fr; column-gap:22px; row-gap:0; margin-top:22px; border-top:1px solid var(--line); }
.specimen dt,.specimen dd { padding:12px 0; border-bottom:1px solid var(--line); }
.specimen dt { color:var(--muted); font-style:italic; }
.specimen dd { font-size:1.45rem; line-height:1.2; color:var(--deep); }
.specimen dd small { display:block; margin-top:3px; font-size:.78rem; color:var(--muted); font-family:var(--font-label); letter-spacing:.3px; }
.specimen figcaption { margin-top:16px; font-size:.82rem; line-height:1.55; color:var(--muted); }

/* ---------- Κοινά στοιχεία ενοτήτων ---------- */
.two-col { display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:start; }
.two-col .section-heading { max-width:none; margin-bottom:24px; }
.prose p+p { margin-top:18px; }
.aside-card { background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:30px 32px; }
.aside-card h3 { font-size:calc(24px * var(--display-scale)); }
.aside-card p { margin-top:14px; font-size:.95rem; }
.aside-card ul { margin-top:18px; display:grid; gap:12px; }
.aside-card li { position:relative; padding-left:22px; font-size:.95rem; color:var(--body-ink); }
.aside-card li::before { content:""; position:absolute; left:0; top:.7em; width:10px; height:1px; background:var(--gold); }

/* 02 Τα Καραγκούνικα */
.facts { margin-top:34px; border-top:1px solid var(--line); }
.facts div { display:grid; grid-template-columns:150px 1fr; gap:18px; padding:14px 0; border-bottom:1px solid var(--line); }
.facts dt { font-family:var(--font-label); font-size:.7rem; letter-spacing:1.2px; text-transform:uppercase; color:var(--muted); padding-top:5px; }
.facts dd { font-size:.98rem; color:var(--body-ink); }
.why,.band { background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:44px; }
.why-grid article { border-top:1px solid #c9bfb0; padding-top:24px; }
.why-grid h3 { font-size:calc(25px * var(--display-scale)); }
.why-grid p { margin-top:14px; font-size:.95rem; line-height:1.7; }
.why-num { display:block; margin-bottom:14px; font-family:var(--font-label); font-size:.7rem; letter-spacing:1.4px; color:var(--accent); }

/* 03 Παραδοτέα */
.cards { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:44px; counter-reset:card; }
.cards li { counter-increment:card; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px 26px; }
.cards li::before { content:counter(card,decimal-leading-zero); display:grid; place-items:center; width:36px; height:36px; margin-bottom:20px; border-radius:50%; background:var(--deep); color:#fff; font-family:var(--font-label); font-size:.72rem; font-weight:700; letter-spacing:.5px; }
.cards h3 { font-size:calc(24px * var(--display-scale)); }
.cards p { margin-top:12px; font-size:.93rem; line-height:1.65; }

/* 04 Μεθοδολογία */
.process { display:grid; grid-template-columns:repeat(5,1fr); margin-top:44px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); counter-reset:step; }
.process li { counter-increment:step; padding:28px 22px 30px; border-right:1px solid var(--line); }
.process li:last-child { border-right:0; }
.process li::before { content:"Στάδιο " counter(step); display:block; margin-bottom:8px; font-family:var(--font-label); font-size:.68rem; letter-spacing:1.3px; text-transform:uppercase; color:var(--accent); }
.process strong { display:block; font-weight:400; font-size:1.15rem; color:var(--deep); margin-bottom:8px; }
.process span { font-size:.9rem; color:var(--body-ink); line-height:1.6; }
.ready { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; margin-top:64px; padding-top:40px; border-top:1px solid var(--line); }
.ready h3 { font-size:calc(30px * var(--display-scale)); }
.ready>div>p { margin-top:16px; font-size:.95rem; }
.ready ul { display:grid; grid-template-columns:1fr 1fr; gap:22px 30px; }
.ready li strong { display:block; font-weight:400; color:var(--deep); font-size:1.08rem; margin-bottom:6px; }
.ready li span { font-size:.92rem; color:var(--body-ink); line-height:1.6; }

/* 05 Τεχνολογία */
.tech { background:var(--deep); color:#eef3f5; }
.tech h2,.tech h3 { color:#fff; }
.tech p { color:#d3dce1; }
.tech-inner { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.pillars { display:grid; gap:16px; margin-top:8px; }
.pillar { border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.045); border-radius:14px; padding:24px 24px 22px; }
.pillar h3 { font-size:calc(26px * var(--display-scale)); }
.pillar p { margin-top:10px; font-size:.95rem; line-height:1.65; }
.pillar .tag { display:inline-block; margin-bottom:12px; font-family:var(--font-label); font-size:.66rem; letter-spacing:1.3px; text-transform:uppercase; color:#d6bea3; }
.wave { margin-top:36px; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius); padding:18px 22px; background:repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.06) 39px 40px); }
.wave svg { width:100%; height:auto; color:var(--gold-2); }
.wave figcaption { margin-top:10px; font-family:var(--font-label); font-size:.66rem; letter-spacing:1.2px; text-transform:uppercase; color:#9fb0ba; }

/* 06 Ηθική και δεδομένα */
.ethics-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:44px; }
.ethics-grid article { border-top:1px solid var(--line); padding-top:22px; }
.ethics-grid h3 { font-size:calc(23px * var(--display-scale)); }
.ethics-grid p { margin-top:12px; font-size:.93rem; line-height:1.65; }

/* 07 Συνεργασίες */
.collab { background:var(--paper-2); border-top:1px solid var(--line); }
.tracks { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:44px; }
.track { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:30px 30px 26px; }
.track .who { display:block; margin-bottom:12px; font-family:var(--font-label); font-size:.68rem; letter-spacing:1.3px; text-transform:uppercase; color:var(--accent); }
.track h3 { font-size:calc(27px * var(--display-scale)); }
.track>p { margin-top:14px; font-size:.95rem; }
.track ol { margin-top:20px; display:grid; gap:10px; counter-reset:trk; }
.track ol li { counter-increment:trk; display:grid; grid-template-columns:28px 1fr; gap:12px; align-items:baseline; font-size:.92rem; color:var(--body-ink); }
.track ol li::before { content:counter(trk,decimal-leading-zero); font-family:var(--font-label); font-size:.68rem; letter-spacing:.8px; color:var(--muted); }
.track ol li strong { font-weight:400; color:var(--deep); }
.offer { margin-top:64px; padding-top:40px; border-top:1px solid #c9bfb0; }
.offer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:32px; }
.offer-grid h3 { font-size:calc(24px * var(--display-scale)); }
.offer-grid p { margin-top:12px; font-size:.93rem; line-height:1.65; }
.collab-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; margin-top:56px; padding-top:28px; border-top:1px solid #c9bfb0; }
.collab-bottom p { font-size:1rem; max-width:34rem; }
.collab-bottom strong { font-weight:400; color:var(--deep); }
.btn.dark { border-color:var(--deep); color:var(--deep); }
.btn.dark:hover { background:var(--deep); color:#fff; }

/* 08 Η ομάδα */
.team-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:44px; }
.person { border-top:1px solid var(--line); padding-top:26px; }
.person-field { display:block; margin-bottom:16px; font-family:var(--font-label); font-size:.68rem; letter-spacing:1.3px; text-transform:uppercase; color:var(--muted); }
.person h3 { font-size:calc(30px * var(--display-scale)); }
.person>p { margin-top:12px; font-size:1rem; }
.person-dept { display:block; margin-top:10px; font-size:.9rem; color:var(--muted); }
.person .text-link { margin-top:18px; font-size:.92rem; }
.members { margin-top:56px; padding-top:32px; border-top:1px solid var(--line); }
.members>p { max-width:44rem; font-size:.95rem; }
.member-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:34px 28px; margin-top:34px; }
.avatar { display:grid; place-items:center; width:84px; height:84px; margin-bottom:16px; border-radius:50%; overflow:hidden; background:#e9e4da; border:1px solid #d3cabb; color:#5e564b; font-size:26px; letter-spacing:.5px; line-height:1; }
.avatar img { width:100%; height:100%; object-fit:cover; }
.person .avatar { width:104px; height:104px; margin-bottom:22px; }
.person .avatar-text { font-size:22px; letter-spacing:1px; font-family:var(--font-label); }
.member h4 { font-size:1.15rem; line-height:1.35; color:var(--deep); }
.member-status { display:block; margin-top:5px; font-size:.86rem; line-height:1.5; color:var(--muted); text-wrap:balance; }
.member-link { margin-top:10px; font-size:.84rem; }

/* Επικοινωνία */
.contact { background:var(--deep-2); color:#fff; }
.contact-inner { display:grid; grid-template-columns:1.4fr 1fr; gap:64px; align-items:center; padding-block:76px; }
.contact h2 { color:#fff; font-size:calc(40px * var(--display-scale)); }
.contact h2 em { font-style:italic; color:#d6bea3; }
.contact p:not(.eyebrow) { margin-top:22px; color:#c5d0d6; font-size:.95rem; max-width:34rem; }
.contact-details { display:flex; flex-direction:column; align-items:flex-start; justify-self:end; }
.contact-details a { font-size:1.35rem; color:#fff; text-decoration:underline; text-underline-offset:6px; text-decoration-color:var(--gold); }
.contact-details a:hover { text-decoration-color:#fff; }
.contact-details>span { margin-top:16px; font-size:.9rem; color:#b9c6ce; }

/* Υποσέλιδο */
.site-footer { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:34px; }
.site-footer>p { font-size:.82rem; color:var(--muted); }
.site-footer>p>span { display:block; margin-top:3px; }
.site-footer a { text-decoration:underline; text-underline-offset:3px; }
.site-footer a:hover { color:var(--ink); }
.back-top { display:flex; gap:9px; align-items:center; font-size:.78rem; color:var(--muted); flex:none; }
.back-top:hover { color:var(--ink); }

/* ---------- Ανταπόκριση ---------- */
@media(max-width:1100px) {
  .shell { width:min(1180px,calc(100% - 64px)); }
  .cards { grid-template-columns:1fr 1fr; }
  .ethics-grid { grid-template-columns:1fr 1fr; }
  .process { grid-template-columns:1fr 1fr 1fr; }
  .process li:nth-child(3) { border-right:0; }
  .process li:nth-child(-n+3) { border-bottom:1px solid var(--line); }
  .member-grid { grid-template-columns:repeat(3,1fr); }
  .hero h1 { font-size:calc(56px * var(--display-scale)); }
}
@media(max-width:900px) {
  .hero-inner,.two-col,.tech-inner,.team-grid,.contact-inner,.ready { grid-template-columns:1fr; }
  .hero-inner { gap:44px; padding-block:56px 52px; }
  .specimen { justify-self:start; max-width:520px; }
  .why-grid,.offer-grid { grid-template-columns:1fr; gap:28px; }
  .tracks { grid-template-columns:1fr; }
  .contact-details { justify-self:start; }
  .section { padding-block:72px; }
  .ready ul { grid-template-columns:1fr; }
}
@media(max-width:1220px) {
  .header-inner { min-height:72px; }
  .menu-toggle { display:flex; }
  .navigation { display:none; position:absolute; top:72px; left:0; right:0; background:var(--paper); padding:12px 20px 22px; border-bottom:1px solid var(--line); box-shadow:0 12px 20px rgba(23,33,43,.06); }
  .navigation.open { display:flex; flex-direction:column; gap:0; align-items:stretch; }
  .navigation>a { display:flex; font-size:.95rem; padding:13px 0; }
  .navigation .nav-cta { padding:12px 15px; margin-top:9px; justify-content:space-between; }
}
@media(max-width:700px) {
  html { scroll-padding-top:80px; }
  .shell { width:calc(100% - 40px); }
  .brand>span { font-size:24px; }
  .brand-group { gap:12px; }
  .uni-logo img { width:38px; height:38px; }
  .uni-logo::after { height:24px; margin-left:12px; }
  .hero h1 { font-size:calc(clamp(40px,9.4vw,56px) * var(--display-scale)); letter-spacing:-.8px; }
  .hero-lead { font-size:1.05rem; }
  .specimen { padding:24px 22px 20px; }
  .specimen dd { font-size:1.25rem; }
  h2 { font-size:calc(34px * var(--display-scale)); letter-spacing:-.4px; }
  .section { padding-block:60px; }
  .cards,.ethics-grid,.process { grid-template-columns:1fr; }
  .process li { border-right:0; border-bottom:1px solid var(--line); }
  .process li:last-child { border-bottom:0; }
  .facts div { grid-template-columns:1fr; gap:4px; }
  .member-grid { grid-template-columns:1fr 1fr; gap:26px 18px; }
  .site-footer { flex-direction:column; align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .btn,.navigation>a { transition:none; }
}

/* ---------- Εκτύπωση ---------- */
@media print {
  html { font-size:100%; }
  .site-header,.skip-link,.menu-toggle,.back-top,.hero-actions,.collab-bottom .btn { display:none !important; }
  body,.hero,.tech,.contact,.why,.band,.collab,.aside-card,.track,.cards li,.specimen { background:#fff !important; color:#000 !important; box-shadow:none !important; }
  .hero::before { display:none; }
  .hero h1,.tech h2,.tech h3,.contact h2,.hero-lead,.tech p,.contact p,.pillar .tag,.eyebrow.light,.wave figcaption,.contact-details a,.contact-details>span,.affil li { color:#000 !important; }
  .hero-inner,.contact-inner { padding-block:20px; }
  .section { padding-block:26px; }
  /* Τα πλέγματα γίνονται απλή ροή, ώστε το περιεχόμενο να μοιράζεται σωστά στις σελίδες. */
  .hero-inner,.two-col,.tech-inner,.team-grid,.contact-inner,.ready,.why-grid,.cards,.process,.ethics-grid,.tracks,.offer-grid,.pillars,.member-grid,.facts div { display:block; }
  .specimen,.aside-card,.pillar,.track,.cards li,.why-grid article,.ethics-grid article,.offer-grid article,.person,.member,.process li,.ready ul li { margin:0 0 14px; }
  .specimen { max-width:none; margin-top:20px; }
  .process { border:0; }
  .process li { border:0; border-bottom:1px solid #ccc; padding:12px 0; }
  .ready { margin-top:28px; padding-top:18px; }
  .ready ul { display:block; margin-top:14px; }
  .member-grid { margin-top:14px; }
  .avatar { display:none; }
  .facts dt { margin-top:8px; }
  .site-footer { display:block; }
  .specimen,.pillar,.track,.cards li,.aside-card { border:1px solid #999; }
  .wave { display:none; }
  a[href^="http"]::after { content:" (" attr(href) ")"; font-size:.8em; color:#444; }
  .contact-details a::after,.brand::after,.uni-logo::after { content:none; }
  h2,h3 { break-after:avoid; }
  .cards li,.track,.person,.member,.pillar { break-inside:avoid; }
}
