
:root{--ek-ink:#12263b;--ek-blue:#11718c;--ek-aqua:#12a9b2;--ek-muted:#5b6a78;--ek-border:#d9e6eb}
html{scroll-behavior:smooth} .ektos-body{background:#f5f9fc;color:var(--ek-ink)}.ektos-body .header{position:sticky;top:0;z-index:70}.ektos-body main{min-height:60vh}
.ektos-intro{padding:clamp(45px,7vw,105px) 5%;background:radial-gradient(ellipse at 76% 16%,rgba(26,184,179,.19),transparent 50%),linear-gradient(130deg,#0b1f36,#173652 75%,#143047);color:white;overflow:hidden}
.ektos-intro-inner{max-width:1170px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr);gap:clamp(30px,5vw,80px);align-items:center}
.ektos-kicker{font-size:.77rem!important;letter-spacing:.17em;font-weight:800;text-transform:uppercase;color:#0c92aa;margin:0 0 22px!important}.ektos-kicker span{color:#24c5c7}.ektos-intro .ektos-kicker{color:#8cdee3}
.ektos-intro h1{font-size:clamp(2.25rem,4.4vw,4.3rem);line-height:1.14;letter-spacing:-.034em;color:white;margin:0 0 24px;font-weight:800}.ektos-intro h1 em{font-style:normal;color:#6ae0df}
.ektos-intro-copy>p:not(.ektos-kicker){max-width:615px;color:#d7e4f1;line-height:1.78;font-size:1.05rem}
.ektos-intro-actions{margin-top:32px;display:flex;align-items:center;flex-wrap:wrap;gap:18px}.ektos-main-cta,.ektos-secondary-cta{display:inline-flex;align-items:center;gap:20px;text-decoration:none;font-weight:800;border-radius:12px;padding:15px 22px}.ektos-main-cta{background:#63dad7;color:#0b2940}.ektos-main-cta:hover{background:#95f2eb;color:#082738}.ektos-smallnote{font-size:.82rem;color:#c6d7e6;max-width:230px}
.ektos-cover-wrap{position:relative;max-width:260px;justify-self:center;filter:drop-shadow(22px 25px 22px #03101d88);transform:rotate(3deg)}.ektos-cover-wrap img{width:100%;height:auto;display:block;border-radius:5px 8px 8px 5px;box-shadow:inset 10px 0 #161a1b}
.ektos-reading{padding:76px max(20px,4vw) 95px;max-width:1530px;margin:auto;scroll-margin-top:95px}.reader-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 36px}.reader-heading h2{font-size:clamp(1.75rem,3vw,2.8rem);line-height:1.2;margin:0 0 12px}.reader-heading p{max-width:720px;color:#526578;line-height:1.65}.reader-heading .ektos-kicker{margin-bottom:10px!important}.sample-badge{font-size:.68rem;font-weight:900;letter-spacing:.12em;white-space:nowrap;background:#def5f2;color:#08717a;border-radius:99px;padding:10px 13px}
.reader-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:clamp(22px,3vw,38px);align-items:start}.reader-toc{position:sticky;top:108px;background:white;border:1px solid #e0ebef;border-radius:20px;padding:22px 16px;box-shadow:0 8px 28px #1b41520a}.reader-toc h3{font-size:.98rem;margin:0 0 16px;padding:0 9px}.toc-buttons{display:grid;gap:6px}.toc-chapter{background:transparent;border:0;border-radius:11px;color:#4b596a;padding:11px 12px;text-align:left;font-size:.88rem;font-family:inherit;line-height:1.4;cursor:pointer;font-weight:650;display:flex;align-items:center;gap:9px}.toc-chapter:hover{background:#eef7f9}.toc-chapter.current{background:#e0f3f5;color:#066d7e}.toc-dot{width:7px;height:7px;border-radius:99px;background:#9eb5bb;flex:0 0 auto}.toc-chapter.current .toc-dot{background:#07a7b1}.reader-toc-bottom{margin-top:22px;padding:17px 10px 3px;border-top:1px solid #e7eff2}.reader-toc-bottom strong{font-size:.86rem}.reader-toc-bottom p{font-size:.82rem;line-height:1.65;color:#607181;margin:8px 0}
.reader-main{min-width:0}.book-view{background:#fefefe;border:1px solid #e5edf2;border-radius:22px;padding:14px 14px 25px;box-shadow:0 15px 50px #23496114}.book-topline{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;color:#5b7580;letter-spacing:.03em;font-weight:750;max-width:920px;margin:2px auto 16px;padding:0 13px}
.reader-stage{display:flex;align-items:center;gap:8px;justify-content:center;min-height:400px}.page-arrow{flex:0 0 33px;width:33px;height:54px;border:1px solid #d5e5ea;background:#fff;color:#3a6473;font-size:2.1rem;line-height:1;border-radius:11px;cursor:pointer;box-shadow:0 3px 9px #122d3914}.page-arrow:hover:not(:disabled){background:#e8f6f9;color:#087f91}.page-arrow:disabled{opacity:.3;cursor:default}
.book-surface{position:relative;display:flex;aspect-ratio:1.4095;width:min(100%,930px);perspective:2700px;filter:drop-shadow(0 15px 10px #20313d25);background:linear-gradient(90deg,#f0f0ed,#ffffff 49%,#dce2e4 50%,#fff 51%);overflow:visible}
.book-page{position:relative;flex:0 0 50%;height:100%;background:#fff;overflow:hidden;cursor:pointer;user-select:none}.book-page img,.turn-face img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}.book-left{box-shadow:inset -10px 0 18px #24404a10}.book-right{box-shadow:inset 10px 0 14px #24404a14}.book-page.empty img{display:none}.book-page.empty{background:#f9fbfb;cursor:default}.page-overlay{position:absolute;left:8px;bottom:7px;font-size:9px;color:#526f7888;background:#ffffff9c;padding:1px 3px;pointer-events:none}
/* True two-sided leaf hinged at the book spine: the faces stay legible in 3D. */
.turn-leaf{position:absolute;z-index:10;top:0;left:50%;width:50%;height:100%;transform-style:preserve-3d;transform-origin:left center;pointer-events:none;visibility:hidden;will-change:transform}
.turn-leaf.active{visibility:visible}

.turn-leaf.backward{left:0;transform-origin:right center}

.turn-leaf.mobile{left:0;width:100%}
.turn-face{position:absolute;inset:0;background:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 0 24px #203c4b30,inset 0 0 17px #526b7730}
.turn-face::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,transparent 76%,#0c1c2625 100%)}
.turn-back{transform:rotateY(180deg)}
.turn-back::after{background:linear-gradient(90deg,#0c1c2625 0%,transparent 24%,transparent 100%)}
.book-surface{transform-style:preserve-3d}
.book-page.empty{background:#fff}
.book-surface::after{content:"";pointer-events:none;z-index:9;position:absolute;left:calc(50% - 5px);top:0;bottom:0;width:10px;background:linear-gradient(90deg,#182b3512,transparent 38%,#182b3517)}
@media(max-width:680px){.book-surface::after{display:none}}

.reader-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;max-width:590px;margin:20px auto 0;background:#f6f9fa;border:1px solid #e0eaed;border-radius:14px;padding:7px 11px}.toolbar-button{background:white;border:1px solid #dae6e9;border-radius:9px;min-width:38px;height:38px;cursor:pointer;color:#356274;font-size:1.3rem}.toolbar-button:disabled{opacity:.35;cursor:default}.toolbar-button:hover:not(:disabled){background:#e4f5f7}.toolbar-label{flex:1;text-align:center;font-weight:750;color:#35566a;font-size:.84rem;min-width:110px}.reader-progress{max-width:560px;margin:17px auto 0;display:flex;align-items:center;gap:12px;font-size:.76rem;color:#57717c}.reader-progress label{white-space:nowrap}.reader-progress input{flex:1;accent-color:#0b9eaa;min-width:50px}.reader-progress span{white-space:nowrap}
.reader-use-note{max-width:790px;margin:20px auto 0;text-align:center;font-size:.79rem;line-height:1.65;color:#687b86}
.ektos-outro{text-align:center;padding:68px 18px 88px;background:linear-gradient(130deg,#e3f6f6,#f4f9fb)}.ektos-outro h2{font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.22;margin:0 0 20px;color:#11324e}.ektos-outro p:not(.ektos-kicker){max-width:600px;margin:0 auto 23px;color:#556b78;line-height:1.8}.ektos-secondary-cta{border:1px solid #0e7284;color:#0b6780;background:white}.ektos-secondary-cta:hover{background:#ddf6f6}
.reader-zoom[hidden]{display:none!important}.reader-zoom{position:fixed;inset:0;z-index:9999;background:#13212feb;display:flex;flex-direction:column}.zoom-header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#172d42;color:white;padding:12px 18px;font-size:.9rem}.zoom-header>div{display:flex;align-items:center;gap:9px}.zoom-header button{background:#ffffff1e;color:white;border:1px solid #ffffff66;border-radius:8px;font-size:1.35rem;width:40px;height:38px;cursor:pointer}.zoom-header .zoom-close{font-size:1.9rem;margin-left:12px}.zoom-scroll{flex:1;overflow:auto;padding:24px;display:flex;align-items:flex-start;justify-content:center}.zoom-scroll img{width:min(640px,100%);max-width:none;height:auto;box-shadow:0 20px 45px #0009;user-select:none}
.ektos-home-promo{margin:26px 0 20px;display:grid;grid-template-columns:130px 1fr;align-items:center;gap:25px;background:linear-gradient(115deg,#0e2943,#145365);border-radius:18px;padding:22px 29px;color:white;box-shadow:0 14px 33px #0d2c4530}.ektos-home-promo img{width:112px;max-width:100%;height:auto;border-radius:4px;box-shadow:9px 8px 17px #04172477;transform:rotate(-3deg)}.ektos-home-promo h3{color:#fff;font-size:clamp(1.2rem,2.3vw,1.75rem);margin:3px 0 8px}.ektos-home-promo p{color:#d2e7ec;margin:0 0 14px;line-height:1.6;font-size:.92rem}.ektos-home-promo .promo-label{font-size:.71rem;letter-spacing:.13em;font-weight:900;color:#64e0de}.ektos-home-promo a{display:inline-block;color:#102a3b;background:#63ded6;padding:10px 16px;border-radius:9px;text-decoration:none;font-size:.88rem;font-weight:850}.ektos-home-promo a:hover{background:#a3faf0}
@media(max-width:900px){.reader-layout{grid-template-columns:1fr}.reader-toc{position:static;display:block;padding:15px}.reader-toc h3{margin:0 0 10px}.toc-buttons{display:flex;overflow:auto;gap:6px;padding-bottom:4px}.toc-chapter{flex:0 0 auto;max-width:250px}.reader-toc-bottom{display:none}.reader-heading{align-items:start;flex-direction:column}.reader-stage{min-height:200px}}
@media(max-width:680px){.ektos-intro{padding:45px 22px 50px}.ektos-intro-inner{grid-template-columns:1fr;gap:30px}.ektos-intro h1{font-size:2.12rem}.ektos-cover-wrap{max-width:160px}.ektos-smallnote{max-width:none}.ektos-reading{padding:47px 10px 65px}.reader-heading{padding:0 9px;margin-bottom:22px}.reader-heading p{font-size:.92rem}.sample-badge{font-size:.62rem}.book-view{padding:12px 6px 17px;border-radius:13px}.book-surface{aspect-ratio:.705;width:min(100%,440px)}.book-left{display:none}.book-right{flex:0 0 100%}.turn-leaf{left:0;width:100%}.page-arrow{width:28px;flex-basis:28px;height:52px;font-size:1.9rem}.reader-stage{gap:3px}.book-topline{margin-bottom:10px}.reader-toolbar{gap:5px;padding:6px}.toolbar-button{min-width:32px;width:32px;height:34px;font-size:1.12rem}.toolbar-label{min-width:75px;font-size:.74rem}.reader-progress{padding:0 8px}.reader-progress label{display:none}.reader-use-note{padding:0 9px}.ektos-home-promo{grid-template-columns:85px 1fr;gap:12px;padding:16px}.ektos-home-promo img{width:80px}.ektos-home-promo p{font-size:.78rem}.zoom-scroll{padding:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.turn-leaf{transition-duration:1ms!important}}
@media print{.reader-main,.reader-zoom,.ektos-intro .ektos-cover-wrap{display:none!important}}

.book-page.empty .page-overlay{display:none}
.book-view:fullscreen{background:#f6fafb;display:flex;flex-direction:column;justify-content:center;align-items:center}
.book-view:fullscreen .reader-stage{width:100%;flex:0 1 auto}
.book-view:fullscreen .book-surface{width:min(90vw,1080px)}
@media(max-width:680px){.book-view:fullscreen .book-surface{width:min(80vw,520px)}}

/* v164: deterministic animation driven by Web Animations API, not CSS transitions. */
.turn-leaf{transition:none!important;contain:layout style;}
.reader-stage[aria-busy="true"] .book-surface{cursor:progress}
.reader-stage .book-page{touch-action:pan-y;cursor:pointer}
@media(prefers-reduced-motion:reduce){.turn-leaf{transition:none!important}}

/* v164: deterministic animation driven by Web Animations API, not CSS transitions. */
.turn-leaf{transition:none!important;contain:layout style;}
.reader-stage[aria-busy="true"] .book-surface{cursor:progress}
.reader-stage .book-page{touch-action:pan-y;cursor:pointer}
@media(prefers-reduced-motion:reduce){.turn-leaf{transition:none!important}}

/* Stable reader: no competing transitions may reverse a completed turn. */
.turn-leaf{transition:none!important;}

/* v166: prevent blank 3D sheet faces from leaking a broken-image glyph after a turn.
   Some Chromium builds render transformed children even when their parent
   has visibility:hidden; remove the inactive leaf from layout/compositing. */
.turn-leaf:not(.active){display:none!important;}
.turn-face img:not([src]){display:none!important;}

/* v167: σαφής και διακριτική δήλωση πνευματικών δικαιωμάτων */
.reader-use-note strong{display:block;color:#385769;font-weight:700;margin-bottom:5px}
.reader-use-note span{display:block}
.reader-use-note a{display:inline-block;color:#205b70;font-weight:650;text-decoration:underline;text-underline-offset:3px;margin-top:6px}
.reader-use-note a:hover,.reader-use-note a:focus-visible{color:#0b7381}

/* v169: spacious reading surface; chapter TOC no longer steals book width. */
.ektos-reading{max-width:1800px;padding-inline:clamp(12px,2.2vw,40px)}
.reader-layout{display:flex;flex-direction:column;gap:18px}
.reader-toc{position:static;top:auto;display:flex;align-items:center;gap:16px;padding:12px 18px;border-radius:14px;box-shadow:0 4px 18px #1b41520a}
.reader-toc h3{flex:0 0 auto;margin:0;padding:0;white-space:nowrap;font-size:.88rem}
.reader-toc .toc-buttons{display:flex;flex:1;min-width:0;gap:7px;overflow:auto;padding:3px 1px;scrollbar-width:thin}
.reader-toc .toc-chapter{flex:0 0 auto;max-width:235px;padding:10px 12px;font-size:.82rem;white-space:nowrap}
.reader-toc-bottom{display:none}
.reader-main{width:100%;min-width:0}
.book-view{padding:14px clamp(8px,1.3vw,22px) 23px}
.book-surface{width:min(100%,1420px)}
.book-topline{max-width:none;padding-inline:clamp(9px,2vw,24px)}
.reader-stage{gap:clamp(7px,1vw,14px)}
.page-arrow{width:42px;flex-basis:42px;height:64px;font-size:2.3rem}
.page-zoom-trigger{position:absolute;z-index:4;top:12px;right:12px;width:38px;height:38px;display:grid;place-items:center;font-family:inherit;font-size:1.5rem;line-height:1;border:1px solid #b4d3db;background:#fffefa;color:#2c6477;border-radius:9px;cursor:zoom-in;opacity:0;transition:opacity .16s ease,background .16s ease;box-shadow:0 3px 10px #102c3333}
.book-page:hover .page-zoom-trigger,.page-zoom-trigger:focus-visible{opacity:1}
.page-zoom-trigger:hover{background:#e8f9f9}
.book-page.empty .page-zoom-trigger{display:none}
.book-view:fullscreen{width:100%;height:100%;padding:16px 32px;overflow:auto}
.book-view:fullscreen .book-surface{width:min(calc(100vw - 155px),calc((100dvh - 178px) * 1.4095),1500px)}
.book-view:fullscreen .reader-stage{min-height:0}
/* The zoom reader shows a complete page at 100%, then offers actual pan and zoom. */
.reader-zoom{background:#101c2af2}
.zoom-header{flex:0 0 auto;gap:16px;min-height:62px;flex-wrap:wrap;padding:10px 18px}
.zoom-header #zoomLabel{font-size:.91rem;font-weight:700;line-height:1.35}
.zoom-header .zoom-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:7px}
.zoom-header button{flex:0 0 auto;min-width:38px;height:38px;padding:0 9px}
.zoom-header .zoom-fit{font-size:.78rem;width:auto;white-space:nowrap}
.zoom-header button:disabled{opacity:.35;cursor:not-allowed}
.zoom-header #zoomPercent{min-width:43px;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.zoom-header .zoom-close{margin-left:5px}
.zoom-scroll{flex:1;min-height:0;overflow:auto;display:block;padding:0;overscroll-behavior:contain;scrollbar-color:#9ba7b8 #162638}
.zoom-canvas{box-sizing:border-box;display:flex;justify-content:center;align-items:flex-start;width:max-content;min-width:100%;min-height:100%;padding:13px;margin:0 auto}
.zoom-scroll img{display:block;flex:0 0 auto;width:auto;max-width:none;height:auto;box-shadow:0 15px 38px #0009;user-select:none;-webkit-user-drag:none}
.zoom-help{flex:0 0 auto;background:#172d42;color:#cbdbe6;text-align:center;font-size:.73rem;padding:7px 12px;margin:0;line-height:1.5}
@media(max-width:900px){
 .reader-toc{display:block;padding:12px 15px}
 .reader-toc h3{margin-bottom:8px}
 .reader-toc .toc-buttons{display:flex;overflow:auto}
}
@media(max-width:680px){
 .ektos-reading{padding-inline:9px}
 .book-view{padding:11px 5px 15px}
 .book-surface{width:min(100%,600px)}
 .reader-stage{gap:3px}
 .page-arrow{width:28px;flex-basis:28px;height:52px;font-size:1.9rem}
 .page-zoom-trigger{top:7px;right:7px;width:34px;height:34px;opacity:.85;font-size:1.35rem}
 .zoom-header{padding:9px 9px 11px;gap:8px;justify-content:center}
 .zoom-header #zoomLabel{width:100%;text-align:center;font-size:.8rem}
 .zoom-header .zoom-actions{gap:4px}
 .zoom-header button{height:35px;min-width:31px;padding:0 6px;font-size:1.16rem}
 .zoom-header .zoom-fit{font-size:.7rem}
 .zoom-header #zoomPercent{font-size:.8rem;min-width:37px}
 .zoom-canvas{padding:8px}
 .zoom-help{font-size:.64rem}
 .book-view:fullscreen{padding:8px 4px}
 .book-view:fullscreen .book-surface{width:min(calc(100vw - 75px),calc((100dvh - 150px) * .705),620px)}
}
@media(prefers-reduced-motion:reduce){.page-zoom-trigger{transition:none}}

/* Single large page for portrait tablets; more reading space on phones. */
@media(min-width:681px) and (max-width:900px){
 .book-surface{aspect-ratio:.705;width:min(100%,610px)}
 .book-left{display:none}
 .book-right{flex:0 0 100%}
 .turn-leaf{left:0;width:100%}
 .book-surface::after{display:none}
 .book-view:fullscreen .book-surface{width:min(calc(100vw - 120px),calc((100dvh - 165px) * .705),650px)}
}
@media(max-width:680px){
 .reader-stage{position:relative;gap:0;padding-inline:1px}
 .book-surface{width:calc(100% - 4px)}
 .page-arrow{position:absolute;top:50%;z-index:12;transform:translateY(-50%);width:34px;flex-basis:34px;border-radius:10px;opacity:.87;box-shadow:0 4px 10px #173c5250}
 .page-arrow.prev{left:1px}
 .page-arrow.next{right:1px}
}
