/* teknous v3 — minimal πάνω στο v2 (overrides). Κείμενα/demos ανέγγιχτα· χρώματα ΜΟΝΟ από τα tokens του v2. */

/* σκηνή */
#scene3{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:var(--scene3-op,1);transition:opacity .6s}
.has-scene .spot,.has-scene .scan,.has-scene .reticle-hero{display:none}
:root.has-scene{--grid-op:.16;--grid-op2:0}

/* «Την υλοποιούμε.»: το δεύτερο χρώμα του gradient ήταν καρφωτό (#7ee8ff) — στο λευκό θέμα έβγαινε 1.31:1 πάνω στο χαρτί */
:root{--hl-2:#7ee8ff}
:root[data-theme="light"]{--hl-2:#0B5E7A}
html .statement .hl{background-image:linear-gradient(100deg,var(--cyan),var(--hl-2))}

/* λιγότερη «διακόσμηση», περισσότερος αέρας */
html .hero .corner{display:none}
/* ρυθμός σε δύο βαθμίδες: η πρώτη ενότητα κάθε ομάδας αναπνέει, η συνέχειά της στέκεται κοντά της
   (ροή+λύσεις · AI+Hermes · έργα · εμείς+Nous · επικοινωνία) — αλλιώς όλα απέχουν το ίδιο και χάνεται η ιεραρχία */
html section{padding:clamp(64px,7vw,104px) 0}
html :is(#flow,#ai,#work,#about,#contact){padding-top:clamp(96px,11vw,168px)}
html .h2{font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.06;letter-spacing:-.015em}
html .lead{font-size:clamp(1.05rem,1.6vw,1.2rem);max-width:640px}

/* hero: αριστερά — δεξιά χτίζεται η σελίδα */
html .hero{justify-content:flex-start;text-align:left;padding-inline:0}
html .hero .wrap{width:100%}
html .hero h1{animation:none;text-shadow:none;font-size:clamp(3.2rem,11vw,6.2rem)}
html .statement{margin:30px 0 0;max-width:620px}
html .hero .desc{margin:18px 0 0}
html .hero .cta{justify-content:flex-start}
@media (max-width:480px){html .hero .cta .btn{flex:1 1 100%}} /* «Πείτε μας την ιδέα σας» δεν χωρά δίπλα στο 2ο κουμπί σε 360–390 */

/* κάρτες λύσεων: χωρίς κουτιά, μόνο γραμμή */
html .bgrid{gap:52px 40px}
html .bcard{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:26px 0 0}
html .bcard::before{display:none}
html .bcard:hover{transform:none}
html .bcard h3{transition:color .25s}
html .bcard:hover h3{color:var(--cyan)}
html .aimaster{margin-top:64px}

/* έργα: μένουν οι εικόνες, φεύγει το πλαίσιο */
html .proj{background:transparent;border:0;border-radius:0;overflow:visible}
html .proj .shot{border-radius:14px;overflow:hidden;border:1px solid var(--line)}
html .proj .meta{background:transparent;padding:18px 2px 0}
/* Ίριδα/Άργος/Ειδοποίηση δεν είναι links (Panos 15/9) ⇒ χωρίς «σήκωμα» στο hover */
html div.proj:hover,:root[data-theme="light"] div.proj:hover{transform:none;box-shadow:none}
/* ροή 4 βημάτων σε μία σειρά από tablet και πάνω (όχι 3+1) */
@media (min-width:641px){html .ivr{max-width:none}}
@media (min-width:641px) and (max-width:900px){html .ivr{display:grid;grid-template-columns:repeat(2,1fr)} html .ivr-arrow{display:none}} /* 768: αλλιώς 3+1 */

/* επικοινωνία */
html .band{background:transparent;border:0;border-radius:0;text-align:left;padding:0} /* το padding ήταν του κουτιού που έφυγε */
html .band-cta{justify-content:flex-start}
html .band p{margin-inline:0}

/* ───── μπάρα προόδου (v3.js) — το μόνο εφέ που έμεινε (Panos 15/9: επαγγελματικά, χωρίς φανφάρες) ───── */
.tk-prog{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none}
.tk-prog i{display:block;height:100%;width:calc(var(--p,0) * 100%);background:linear-gradient(90deg,var(--cyan),var(--gold))}
.tk-prog b{opacity:min(1,calc(var(--p,0) * 60));position:absolute;top:-3px;left:calc(var(--p,0) * 100%);width:8px;height:8px;margin-left:-4px;background:var(--gold);transform:rotate(45deg)}

/* λιγότερα λόγια (Panos 14/9: «λίγο blader») — οι δεύτερες γραμμές αφαιρέθηκαν από το HTML GR+EN (16/9, πριν το live).
   Μένει η στοίχιση: τα .feat li έχουν πια μόνο τίτλο, το εικονίδιο κεντράρεται μαζί του. */
html .ai-copy .feat li{align-items:center}

/* αναγνωσιμότητα πάνω από τα σωματίδια */
.has-scene main p,.has-scene main h3,.has-scene main h4,.has-scene .statement,.has-scene .hero .sub{text-shadow:0 0 14px var(--bg),0 0 3px var(--bg)}
/* gradient κείμενο (color:transparent): η σκιά φαίνεται ΜΕΣΑ από τα γράμματα και τα θολώνει — ίδια ουλή με electus */
.has-scene .statement .hl,.has-scene .hl{text-shadow:none}

/* desktop με σκηνή: το κείμενο σε αριστερή στήλη, η σκηνή παίρνει το δεξί μισό */
@media (min-width:1000px){
  /* 460px σε τίτλο 56px = ~16 χαρακτήρες/γραμμή: τίτλοι σε 4 γραμμές. 520px + μικρότερος τίτλος διαβάζεται ως τίτλος.
     Η σκηνή ξεκινά ~763px, άρα 152+520 δεν την αγγίζει. */
  .has-scene :is(#flow,#build,#about,#nous) .wrap > *{max-width:520px}
  .has-scene :is(#flow,#build,#about,#nous) .h2{font-size:clamp(2rem,3vw,2.75rem);line-height:1.12}
  .has-scene :is(#flow,#build,#about,#nous) .lead{font-size:1rem;line-height:1.55}
  .has-scene :is(#about,#nous) .wrap .pipe,.has-scene #about .wrap .aim{max-width:520px}
  .has-scene :is(#about,#nous) .wrap .pipe{grid-template-columns:repeat(2,minmax(0,1fr))} /* 5 βήματα μέσα στη στήλη: 2 στήλες, όπως στο tablet */
  .has-scene #about .quote{max-width:520px} /* ο Αριστοτέλης δεν περνά πάνω από το ∞ */
  .has-scene #build .bgrid{grid-template-columns:1fr 1fr;gap:40px 32px}
  .has-scene #build .bcard.wide{grid-column:auto}
  .has-scene #flow .reveal{text-align:left}
  .has-scene #flow .eyebrow{justify-content:flex-start!important}
  .has-scene #flow .flow{text-align:left}
}
/* AI τηλεφωνικό + Hermes: στη ροή παίζει η σκηνή, το ζωντανό demo σε παράθυρο (v3.js demosToDialogs) */
.tk-demo{margin:auto;border:1px solid var(--line);border-radius:22px;padding:18px;background:var(--glass-panel);color:var(--fg);width:min(460px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 30px 80px var(--shadow)}
.tk-demo::backdrop{background:color-mix(in oklab,var(--bg) 72%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tk-demo>.reveal{opacity:1;transform:none}
.tk-demo .phone{margin-inline:auto}
.tk-demo-x{position:sticky;top:0;float:right;z-index:3;width:38px;height:38px;margin:-4px -4px 0 8px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--fg);font-size:22px;line-height:1;cursor:pointer}
.tk-demos .ai-copy .btn-primary{margin:12px 10px 0 0} /* ίδιο πάνω περιθώριο με το κουμπί demo: ίσια γραμμή είτε χωράνε μαζί είτε όχι */
.tk-demo-open{margin:12px 0 0;appearance:none;-webkit-appearance:none;background:var(--glass);color:var(--fg);border:1px solid var(--line);font-family:inherit;vertical-align:top}
.tk-demos .ai-copy .btn-primary{vertical-align:top}
.tk-demo-open:hover{border-color:var(--cyan);color:var(--cyan)}
@media (min-width:1000px){
  .has-scene.tk-demos :is(#ai,#hermes) .ai-grid{grid-template-columns:minmax(0,520px)}
  .has-scene.tk-demos :is(#ai,#hermes) .h2{font-size:clamp(2rem,3vw,2.75rem);line-height:1.12} /* ίδια στήλη, ίδιος τίτλος με τις υπόλοιπες ενότητες */
}
@media (max-width:560px){.tk-demo-open{margin:12px 0 0}}

/* κινητό: η σκηνή είναι πίσω από όλο το κείμενο — πιο διακριτική */
@media (max-width:999px){
  /* στο κινητό όλο το κείμενο κάθεται πάνω στη σκηνή: γίνεται ατμόσφαιρα, όχι εικονογράφηση.
     Χωρίς blur — σε καμβά πλήρους οθόνης το φίλτρο κοστίζει καρέ σε μεσαία κινητά.
     ⛔ ΟΧΙ translateY εδώ (Panos 16/9: «τα γραφικά βγαίνουν στον πάτο»): η ίδια η σκηνή έχει δικό της
     κατέβασμα για στενές οθόνες (scene.js layout.shiftY) — τα δύο μαζί έσπρωχναν τη σύνθεση εκτός οθόνης. */
  /* ⛔ height:100% σε fixed στοιχείο = το ΜΕΓΑΛΟ viewport του κινητού: η μπάρα διεύθυνσης κρύβει το κάτω μέρος
     του καμβά, άρα η κεντραρισμένη σύνθεση πέφτει ΚΑΤΩ από το ορατό κέντρο (Panos 16/9: «πάλι στον πάτο»).
     svh = το σταθερό μικρό viewport: δεν αλλάζει όσο κυλάς, άρα ούτε ξαναστήσιμο καμβά σε κάθε καρέ. */
  #scene3{opacity:calc(var(--scene3-op,1) * .3);height:100svh}
}

/* φόρμα: honeypot (εκτός οθόνης) · μήνυμα αποτυχίας · σημείωση απορρήτου */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lf-status{margin:12px 0 0;color:var(--gold);font-size:.9rem;line-height:1.45}
.lf-status:empty{display:none}
.lf-note{margin:10px 0 0;color:var(--soft);font-size:.78rem;line-height:1.45}
#doneView h3:focus{outline:none}

/* ───── έλεγχος σχεδίασης 16/9 — μικρά που μαζεύτηκαν ───── */
/* tablet 761–900px: το μενού χωρούσε οριακά και το κουμπί «Επικοινωνία» έβγαινε εκτός οθόνης, χωρίς burger για να το φτάσεις */
@media (max-width:900px){
  html .links{position:fixed;inset:68px 0 auto 0;flex-direction:column;background:var(--glass-nav);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:26px;gap:20px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:.35s;align-items:flex-start}
  html .links.open{transform:none}
  html .links .btn{width:100%}
  html .burger{display:flex}
}
html footer{background:var(--bg)} /* η σκηνή σβήνει εκεί· το φόντο κλείνει τη σελίδα αντί να αφήνει κενό */
html .flow .arr{color:var(--soft);opacity:.5} /* --line είναι χρώμα γραμμής, όχι συμβόλου: τα βέλη ήταν πρακτικά αόρατα */
html .scrollhint{display:none} /* κενό div του v2 — κρατούσε κεντραρισμένο χώρο σε layout που έγινε αριστερό */
/* βήματα «πώς δουλεύουμε»: ίδια γλώσσα με τις κάρτες λύσεων — γραμμή αντί για κουτί (η αρίθμηση ζει στο ::before) */
html .pipe > .st{background:transparent;border:0;border-radius:0;padding:16px 0 0;border-top:1px solid var(--line)}
