/* Humera · v33 · «Σχετικά» και «NousGym». Κινήσεις μόνο με transform/opacity.
   «NousGym»: ο συνδυασμός που εγκρίθηκε, με δύο εκδοχές μόνο για Εμπιστευτικότητα και Εγγύηση.
   Κοινά: Σήμανση, Source Sans 3, header Αιθρίας, Σήμα + πλευρική ζώνη, footer ως έχει. Μόνο transform/opacity στην κίνηση. */
:root { --hb: #0E1A3C; --hb-2: #1A2A57; --hb-soft: #E2E7F1; --or: #D05927;
  --ng-or: #FF9345; --ng-teal: #489BAF; --ng-teal-d: #2F7385; --ng-ind: #2A3A83; --ng-deep: #142146; --ng-soft: #EAF3F6; }
.msA, .msB, .prA, .prB, .jr, .inc, .cfA, .cfB, .ac, .guA, .guB, .fq { position: relative; padding-top: clamp(96px, 13vh, 150px); }
.x-h { margin: 12px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.875rem, 1.25rem + 1.9vw, 2.875rem); line-height: 1.08; letter-spacing: -.018em; color: var(--ink); max-width: 22ch; text-wrap: balance; }
.x-note { margin: 22px 0 0; font-size: 1rem; line-height: 1.6; color: var(--tx-2); max-width: 62ch; }
.x-ng { margin: 44px 0 0; font-size: 1.0625rem; color: var(--ink); } .x-ng .lnk { margin: 0 0 0 6px; }
.x-privlink { margin: 24px 0 0; }
p strong { font-weight: 600; color: var(--ink); }
.art svg { width: 100%; height: 100%; display: block; overflow: visible; }
.art .g { opacity: 0; transform: translateY(6px); transform-box: fill-box; transition: opacity .6s var(--ease), transform .7s var(--ease); transition-delay: var(--d); }
.art.in .g { opacity: 1; transform: none; }
.art .th { fill: none; stroke-width: 1.4; stroke-dasharray: 1; stroke-dashoffset: 1; vector-effect: non-scaling-stroke; transition: stroke-dashoffset 1.2s var(--ease); transition-delay: var(--d); }
.art.in .th { stroke-dashoffset: 0; }
.lab [data-pg] { opacity: .7; }
html[data-pg="about-1"] .lab [data-pg="about-1"], html[data-pg="about-2"] .lab [data-pg="about-2"], html[data-pg="nousgym-1"] .lab [data-pg="nousgym-1"], html[data-pg="nousgym-2"] .lab [data-pg="nousgym-2"] { opacity: 1; background: #fff; color: #0E1A3C; border-radius: 999px; }
.ap__plate { display: inline-block; margin: 0; padding: 6px 11px 7px; border-radius: 3px; background: var(--or); color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

/* ================= Ρεαλιστικό κινητό: η οθόνη ορίζει την αναλογία (640×1390, όπως το iPhone), ίδιο πλαίσιο παντού ================= */
.device { position: relative; container-type: inline-size; padding: 3.6%; border-radius: 15.5% / 7.2%;
  background: linear-gradient(135deg, #565C68 0%, #23262E 18%, #121419 50%, #2A2E37 82%, #4B515C 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), inset 0 0 0 3px #090A0D, 0 2px 4px rgba(14,26,60,.18), 0 34px 60px -30px rgba(14,26,60,.55); }
.device::before, .device::after { content: ''; position: absolute; width: 1.4cqw; border-radius: 1cqw; background: linear-gradient(90deg, #2A2E37, #4B515C); }
.device::before { left: -1.1cqw; top: 22%; height: 7%; box-shadow: 0 10cqw 0 #3A3F49, 0 26cqw 0 #3A3F49; }
.device::after { right: -1.1cqw; top: 30%; height: 12%; }
.device__scr { position: relative; aspect-ratio: 640 / 1390; overflow: hidden; border-radius: 12.4cqw; background: #F3F5F9; }
.device__scr img { display: block; width: 100%; height: 100%; object-fit: cover; }
.device__island { position: absolute; left: 50%; top: calc(3.6% + 3.2cqw); width: 29cqw; height: 8.4cqw; transform: translateX(-50%); border-radius: 99px; background: #050608; }
.device__scr--ph { display: grid; place-items: center; text-align: center; padding: 0 12%; background: linear-gradient(180deg, #F6F8FB, #E7ECF3); color: #4A5670; font-size: clamp(.6875rem, .5rem + .5vw, .8125rem); font-weight: 600; line-height: 1.45; }
.device__scr--ph::before { content: ''; position: absolute; left: 10%; right: 10%; top: 12%; height: 6%; border-radius: 6cqw; background: #DCE2EC; box-shadow: 0 16cqw 0 -1cqw #E1E6EE, 0 32cqw 0 -1cqw #E1E6EE; }
.device__scr--ph span { position: relative; padding: 10px 12px; border-radius: 8px; border: 1px dashed rgba(74,86,112,.45); background: rgba(255,255,255,.6); }

.ng-ext { display: inline-flex; align-items: center; gap: 8px; margin-top: 30px; padding: 13px 20px; border-radius: 999px; background: var(--ng-or); color: var(--ng-deep) !important; text-decoration: none; font-weight: 700; font-size: 1rem; transition: transform .25s var(--ease), box-shadow .25s; }
.ng-ext:hover { transform: translateY(-1px); box-shadow: 0 10px 22px -12px rgba(255,147,69,.9); }
.ng-ext:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

/* ================================ ΣΧΕΤΙΚΑ · hero (ίδιο και στις δύο) ================================ */
.ah { padding: clamp(128px, 17vh, 176px) 0 0; }
.ah__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.ah__art { aspect-ratio: 1; max-width: 440px; padding: 22px; background: #FFFFFF; border-radius: 6px; box-shadow: inset 0 3px 0 var(--plate); }
.ah__title { margin: 18px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(2.25rem, 1.3rem + 2.9vw, 4rem); line-height: 1.04; letter-spacing: -.022em; color: var(--ink); max-width: 17ch; text-wrap: balance; }
.ah__lead { margin: 28px 0 0; max-width: 36rem; font-size: clamp(1.125rem, 1.06rem + .25vw, 1.25rem); line-height: 1.62; color: var(--tx-1); text-wrap: pretty; }

/* ---------------- Αποστολή A · μεγάλο μπλε πάνελ με κουκκίδες που μπαίνουν σε τάξη ---------------- */
.msA__panel { position: relative; overflow: hidden; min-height: clamp(440px, 64vh, 600px); border-radius: 20px; background: radial-gradient(90% 80% at 85% 20%, #1D2E63 0%, transparent 60%), var(--hb); }
.msA__art { position: absolute; inset: 0; }
.msA__art .dot { transform: translate(var(--dx), var(--dy)); transition: transform 1.8s var(--ease) var(--d); }
.msA__art.in .dot { transform: none; }
.msA__head { position: absolute; left: clamp(26px, 4vw, 64px); bottom: clamp(26px, 4vw, 60px); max-width: min(620px, 60%); }
.msA__k { margin: 0; display: inline-block; padding: 6px 11px 7px; border-radius: 3px; background: var(--or); color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.msA__h { margin: 18px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(2.25rem, 1.2rem + 3.3vw, 4.5rem); line-height: 1.02; letter-spacing: -.026em; color: #fff; text-wrap: balance; }
.msA__text { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 80px); margin-top: clamp(30px, 4vh, 44px); }
.msA__text p { margin: 0; padding-top: 22px; border-top: 2px solid var(--hb); max-width: 40ch; font-size: 1.1875rem; line-height: 1.62; color: var(--tx-1); }

/* ---------------- Αποστολή B · ζώνη χρώματος, σκούρα κάρτα που πατάει πάνω της, εβδομάδα εργασίας ---------------- */
.msB { padding-top: clamp(96px, 13vh, 150px); }
.msB__band { padding: clamp(56px, 8vh, 88px) 0 clamp(120px, 16vh, 170px); background: var(--hb-soft); box-shadow: 0 0 0 100vmax var(--hb-soft); clip-path: inset(0 -100vmax); }
.msB__h { margin: 16px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(2.25rem, 1.2rem + 3.3vw, 4.5rem); line-height: 1.02; letter-spacing: -.026em; color: var(--hb); max-width: 15ch; text-wrap: balance; }
.msB__body { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(20px, 3vw, 40px); margin-top: calc(-1 * clamp(84px, 12vh, 120px)); align-items: stretch; }
.msB__card { padding: clamp(30px, 4vw, 56px); border-radius: 20px; background: var(--hb); box-shadow: 0 40px 70px -46px rgba(14,26,60,.8); }
.msB__card p { margin: 0; max-width: 40ch; font-size: 1.1875rem; line-height: 1.62; color: #C9D2E6; } .msB__card p + p { margin-top: 22px; }
.msB__card strong { color: #fff; }
.msB__week { min-height: 320px; padding: clamp(20px, 2.4vw, 32px); border-radius: 20px; background: #FFFFFF; box-shadow: 0 30px 60px -48px rgba(14,26,60,.6); }
.msB__week .blk { transform: scaleY(.2); opacity: 0; transform-box: fill-box; transform-origin: bottom; transition: transform .7s var(--ease) var(--d), opacity .5s var(--ease) var(--d); }
.msB__week.in .blk { transform: none; opacity: 1; }

/* ---------------- Προσέγγιση A · μπλε ζώνη, μεγάλες γραμμές, ρυθμιστές ---------------- */
.apA, .apB { margin-top: clamp(96px, 13vh, 150px); }
.apA { padding: clamp(72px, 10vh, 120px) 0; background: var(--hb); box-shadow: 0 0 0 100vmax var(--hb); clip-path: inset(0 -100vmax); color: #fff; }
.apA__h { margin: 22px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(2rem, 1.2rem + 2.6vw, 3.5rem); line-height: 1.05; letter-spacing: -.022em; color: #fff; max-width: 21ch; text-wrap: balance; }
.apA__know { margin-top: clamp(48px, 7vh, 80px); }
.apA__lead { display: flex; gap: 16px; align-items: baseline; margin: 0; max-width: 46ch; font-size: 1.1875rem; line-height: 1.55; color: #C9D2E6; }
.apA__n { flex: none; font-size: .875rem; font-weight: 700; color: #F2A27C; letter-spacing: .06em; }
.apA__rows { list-style: none; margin: 26px 0 0; padding: 0; }
.apA__rows li { padding: clamp(14px, 2vh, 22px) 0; border-top: 1px solid rgba(255,255,255,.18); font-family: var(--f-t); font-weight: 500; font-size: clamp(1.75rem, 1rem + 2.6vw, 3.5rem); line-height: 1.08; letter-spacing: -.02em; color: #fff; }
.apA__rows li:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.apA__tune { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 88px); margin-top: clamp(56px, 8vh, 96px); align-items: center; }
.apA__both { margin: 26px 0 0; max-width: 40ch; font-size: 1.1875rem; line-height: 1.6; color: #C9D2E6; } .apA__both strong { color: #fff; }
.apA__mixer { display: grid; gap: 22px; padding: clamp(24px, 3vw, 40px); border-radius: 20px; background: var(--hb-2); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.fader { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: 18px; align-items: center; }
.fader span { font-size: 1.0625rem; font-weight: 600; color: #fff; }
.fader i { position: relative; height: 6px; border-radius: 3px; background: rgba(255,255,255,.14); }
.fader i::before { content: ''; position: absolute; inset: 0; border-radius: 3px; background: var(--or); transform-origin: left; transform: scaleX(.04); transition: transform 1.3s var(--ease) var(--d); }
.fader em { position: absolute; inset: 0; transform: translateX(-96%); transition: transform 1.3s var(--ease) var(--d); }
.fader b { position: absolute; top: 50%; right: 0; width: 22px; height: 22px; margin: -11px -11px 0 0; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(208,89,39,.35); }
.apA__mixer.in .fader i::before { transform: scaleX(var(--v)); }
.apA__mixer.in .fader em { transform: translateX(calc((var(--v) - 1) * 100%)); }

/* ---------------- Προσέγγιση B · λευκή κάρτα με διαδρομή πάνω σε μπλε πάνελ με χάρτη ---------------- */
.apB__stage { position: relative; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: center; }
.apB__map { grid-column: 2; grid-row: 1; justify-self: stretch; min-height: clamp(520px, 72vh, 680px); margin-left: -18%; border-radius: 20px; background: var(--hb); overflow: hidden; }
.apB__card { grid-column: 1; grid-row: 1; position: relative; z-index: 2; padding: clamp(30px, 4vw, 56px); border-radius: 20px; background: #FFFFFF; box-shadow: 0 40px 80px -50px rgba(14,26,60,.7); }
.apB__h { margin: 20px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.875rem, 1.2rem + 2vw, 3rem); line-height: 1.06; letter-spacing: -.02em; color: var(--hb); max-width: 18ch; text-wrap: balance; }
.apB__steps { list-style: none; margin: 32px 0 0; padding: 0; }
.apB__steps li { position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 18px; padding-bottom: 26px; }
.apB__steps li:not(:last-child)::before { content: ''; position: absolute; left: 17px; top: 38px; bottom: 4px; width: 2px; background: var(--hb-soft); }
.apB__steps li > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--hb); color: #fff; font-weight: 700; }
.apB__steps p { margin: 5px 0 0; max-width: 42ch; font-size: 1.125rem; line-height: 1.6; color: var(--tx-1); }
.apB__pair { display: flex; align-items: center; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.apB__pair b { padding: 7px 12px; border-radius: 999px; background: var(--hb-soft); color: var(--hb); font-size: .875rem; font-weight: 600; }
.apB__pair i { width: 28px; height: 2px; background: var(--or); position: relative; } .apB__pair i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px; border-radius: 50%; background: var(--or); }

/* ---------------- Επαγγελματίες A · κάρτες ρόλων + στρώσεις ---------------- */
.prA__ids { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2vw, 28px); margin-top: clamp(32px, 5vh, 52px); }
.prA__id { display: grid; grid-template-rows: auto 1fr; overflow: hidden; border-radius: 20px; background: #FFFFFF; box-shadow: 0 1px 0 rgba(14,26,60,.08), 0 30px 60px -48px rgba(14,26,60,.6); }
.prA__face { height: clamp(180px, 24vh, 230px); padding: 18px 30px 0; background: var(--hb); }
.prA__face--b { background: linear-gradient(160deg, var(--hb), #24366E); }
.prA__body { padding: clamp(24px, 3vw, 40px); }
.prA__body h3 { margin: 0; font-family: var(--f-t); font-size: clamp(1.5rem, 1.3rem + .6vw, 1.875rem); font-weight: 600; letter-spacing: -.012em; color: var(--hb); }
.prA__body p { margin: 14px 0 0; max-width: 46ch; font-size: 1.125rem; line-height: 1.75; color: var(--tx-1); }
.prA__body mark { padding: 0 .1em; color: var(--ink); font-weight: 600; background: linear-gradient(transparent 62%, rgba(208,89,39,.24) 62%); }
.prA__layers { position: relative; margin-top: clamp(40px, 6vh, 64px); max-width: 980px; }
.prA__layer p { margin: 0; }
.prA__layer--top { position: relative; z-index: 2; width: 82%; padding: clamp(24px, 3vw, 36px) clamp(26px, 3vw, 40px); border-radius: 16px; background: #FFFFFF; box-shadow: inset 5px 0 0 var(--or), 0 26px 50px -36px rgba(14,26,60,.6); }
.prA__layer--top p { font-family: var(--f-t); font-weight: 600; font-size: clamp(1.375rem, 1.1rem + .9vw, 1.875rem); line-height: 1.25; color: var(--hb); max-width: 34ch; }
.prA__layer--base { margin: -18px 0 0 9%; padding: calc(18px + clamp(20px, 2.6vw, 30px)) clamp(26px, 3vw, 40px) clamp(20px, 2.6vw, 30px); border-radius: 16px; background: var(--hb-soft); }
.prA__layer--base p { font-size: 1.125rem; line-height: 1.5; color: #33405F; }

/* ---------------- Επαγγελματίες B · κάθε ρόλος με τη δική του εικόνα ποιότητας ---------------- */
.prB__head { max-width: 760px; }
.prB__rows { display: grid; gap: 18px; margin-top: clamp(32px, 5vh, 52px); }
.prB__row { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: stretch; overflow: hidden; border-radius: 20px; background: #FFFFFF; box-shadow: 0 1px 0 rgba(14,26,60,.08), 0 30px 60px -50px rgba(14,26,60,.6); }
.prB__row:nth-child(2) .prB__txt { order: 2; } .prB__row:nth-child(2) .prB__vis { order: 1; }
.prB__txt { padding: clamp(28px, 3.6vw, 52px); }
.prB__txt h3 { display: flex; align-items: center; gap: 14px; margin: 0; font-family: var(--f-t); font-size: clamp(1.5rem, 1.3rem + .6vw, 1.875rem); font-weight: 600; color: var(--hb); }
.prB__ic { flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--hb-soft) no-repeat center / 22px; }
.prB__ic--a { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1A3C' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20h8M12 16v4'/%3E%3C/svg%3E"); }
.prB__ic--b { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1A3C' stroke-width='2'%3E%3Cpath d='M12 3l7 3v5c0 5-3 8-7 10-4-2-7-5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.prB__txt p { margin: 18px 0 0; max-width: 46ch; font-size: 1.125rem; line-height: 1.7; color: var(--tx-1); }
.prB__vis { display: grid; place-items: center; padding: clamp(24px, 3vw, 40px); background: var(--hb); }
.match { display: grid; justify-items: center; gap: 0; width: 100%; max-width: 300px; }
.match span { width: 100%; padding: 16px 18px; border-radius: 12px; text-align: center; font-weight: 600; font-size: 1.0625rem; }
.match__a { background: #fff; color: var(--hb); } .match__b { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.5); }
.match i { position: relative; width: 2px; height: 46px; background: var(--or); } .match i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px; border-radius: 50%; background: var(--or) no-repeat center / 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M1 5l3 3 7-7'/%3E%3C/svg%3E"); }
.gate { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; width: 100%; max-width: 320px; }
.gate li { position: relative; padding: 14px 16px 14px 48px; color: #fff; font-size: 1rem; font-weight: 600; line-height: 1.35; }
.gate li::before { content: ''; position: absolute; left: 10px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%; background: var(--or) no-repeat center / 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M1 5l3 3 7-7'/%3E%3C/svg%3E"); }
.gate li:not(:last-child)::after { content: ''; position: absolute; left: 20px; top: calc(50% + 13px); height: calc(100% - 26px); width: 2px; background: rgba(255,255,255,.25); }
.gate .gate__in { margin-top: 6px; padding-left: 16px; border-radius: 12px; background: #fff; color: var(--hb); text-align: center; } .gate .gate__in::before { display: none; }
.prB__tech { margin-top: clamp(40px, 6vh, 64px); max-width: 900px; padding-left: clamp(20px, 2.4vw, 32px); border-left: 4px solid var(--or); }
.prB__t1 { margin: 0; font-size: 1.125rem; line-height: 1.5; color: #4A5670; }
.prB__t2 { margin: 8px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2.25rem); line-height: 1.2; letter-spacing: -.012em; color: var(--hb); max-width: 30ch; }

/* ================================ NOUSGYM · άνοιγμα (χρώματα της επιλογής 1) ================================ */
.nh { padding: clamp(118px, 15vh, 150px) 0 0; }
.nh__panel { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 64px); align-items: center; border-radius: 28px; overflow: hidden;
  background: radial-gradient(120% 90% at 85% 100%, rgba(72,155,175,.38), transparent 60%), linear-gradient(150deg, var(--ng-deep) 10%, var(--ng-ind) 100%); color: #fff; }
.nh__text { padding: clamp(36px, 5vw, 72px) 0 clamp(36px, 5vw, 72px) clamp(28px, 5vw, 72px); }
.nh__plate { display: inline-block; margin: 0; padding: 6px 12px 7px; border-radius: 999px; background: rgba(72,155,175,.22); color: #BFE3EC; font-size: .8125rem; font-weight: 700; }
.nh__title { margin: 22px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(2.25rem, 1.3rem + 2.9vw, 4rem); line-height: 1.04; letter-spacing: -.022em; color: #fff; max-width: 15ch; text-wrap: balance; }
.nh__lead { margin: 24px 0 0; max-width: 34rem; font-size: clamp(1.0625rem, 1rem + .25vw, 1.1875rem); line-height: 1.62; color: #D5DCEC; }
.nh__slot { display: grid; place-items: center; padding: clamp(32px, 4vw, 56px) clamp(24px, 4vw, 64px) clamp(32px, 4vw, 56px) 0; }
.nh__dev { width: min(250px, 100%); }

/* ---------------- διαδρομή (εκδοχή NousGym 2): 4 ίσα πλαίσια, κινητά στην ίδια κλίμακα ---------------- */
.jr__grid { list-style: none; margin: clamp(32px, 5vh, 52px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); }
.jr__cell { display: grid; grid-template-rows: auto 1fr; overflow: hidden; border-radius: 18px; background: #FFFFFF; box-shadow: 0 1px 0 rgba(14,26,60,.08), 0 24px 48px -40px rgba(14,26,60,.5); }
.jr__stage { display: grid; place-items: center; padding: 32px 0; background: linear-gradient(180deg, var(--ng-soft), #DCEBF0); }
.jr__dev { width: min(170px, 62%); }
.jr__txt { padding: 22px 22px 26px; }
.jr__n { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ng-ind); color: #fff; font-size: 1rem; font-weight: 700; }
.jr__txt h3 { margin: 14px 0 0; font-size: 1.1875rem; line-height: 1.25; font-weight: 700; color: var(--ink); }
.jr__txt p { margin: 8px 0 0; font-size: 1rem; line-height: 1.58; color: var(--tx-1); }

/* ---------------- τι περιλαμβάνει (βάση NousGym 1, νέα οργάνωση) ---------------- */
.inc__seg { display: inline-flex; margin-top: 28px; padding: 5px; border-radius: 999px; background: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(14,26,60,.14); }
.inc__seg button { padding: 12px 22px; border: 0; border-radius: 999px; background: transparent; color: var(--ink); font: inherit; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background .25s, color .25s; }
.inc__seg button[aria-selected="true"]:first-child { background: var(--ng-teal-d); color: #fff; }
.inc__seg button[aria-selected="true"]:last-child { background: var(--hb); color: #fff; }
.inc__seg button:focus-visible { outline: 3px solid var(--or); outline-offset: 2px; }
.inc__panel { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); margin-top: 22px; border-radius: 22px; overflow: hidden; }
.inc__panel.on { animation: incIn .45s var(--ease); }
@keyframes incIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.inc__stage { display: grid; place-items: center; padding: clamp(28px, 3.4vw, 48px); background: linear-gradient(170deg, #CFE4EB, #A9CCD8); }
.inc__dev { width: min(230px, 100%); }
.inc__list { padding: clamp(28px, 3.6vw, 52px); }
.inc__list h3 { margin: 0; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.inc__tiles { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.inc__tiles li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: start; padding: 18px 20px; border-radius: 14px; font-size: 1.0625rem; line-height: 1.45; }
.inc__tiles span { font-size: .8125rem; font-weight: 700; letter-spacing: .04em; padding-top: 3px; }
.inc__panel--emp { background: var(--ng-soft); }
.inc__panel--emp h3 { color: var(--ng-teal-d); }
.inc__panel--emp li { background: #FFFFFF; color: var(--ink); box-shadow: 0 1px 0 rgba(47,115,133,.12); } .inc__panel--emp li span { color: var(--ng-teal-d); }
.inc__panel--co { background: var(--hb); }
.inc__stage--co { background: radial-gradient(80% 70% at 50% 40%, #22346B, var(--hb-2)); }
.inc__mark { width: min(180px, 70%); aspect-ratio: 420 / 430; background: var(--or); -webkit-mask: url("mark.svg") center / contain no-repeat; mask: url("mark.svg") center / contain no-repeat; }
.inc__panel--co h3 { color: #F2A27C; }
.inc__panel--co li { background: rgba(255,255,255,.07); color: #EEF1F7; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); } .inc__panel--co li span { color: #F2A27C; }

/* ---------------- Εμπιστευτικότητα · κοινός τίτλος ---------------- */
.cf__h { margin: 12px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(2rem, 1.2rem + 2.6vw, 3.5rem); line-height: 1.05; letter-spacing: -.022em; color: var(--ink); max-width: 16ch; text-wrap: balance; }
.cf__h em { font-style: normal; color: var(--ng-teal-d); }
/* A · τέσσερα κλειστά, ένα ανοιχτό */
.cfA__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(16px, 2vw, 24px); margin-top: clamp(32px, 5vh, 48px); }
.cfA__closed { padding: clamp(28px, 3.6vw, 52px); border-radius: 22px; background: linear-gradient(150deg, var(--ng-deep), var(--ng-ind)); color: #fff; }
.cfA__lead { margin: 0; font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); font-weight: 600; line-height: 1.35; color: #fff; }
.cfA__closed ul { list-style: none; margin: 22px 0 0; padding: 0; }
.cfA__closed li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 18px; align-items: center; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.16); font-size: 1.1875rem; line-height: 1.4; color: #E3E8F3; }
.cfA__closed .ic { width: 18px; height: 22px; color: var(--ng-or); }
.cfA__open { display: grid; grid-template-rows: auto 1fr; gap: 24px; padding: clamp(28px, 3.6vw, 52px); border-radius: 22px; background: #FFFFFF; box-shadow: 0 1px 0 rgba(14,26,60,.08), 0 24px 48px -40px rgba(14,26,60,.5); }
.cfA__agg { aspect-ratio: 5 / 3; border-radius: 14px; background: var(--ng-soft); }
.cfA__open p { margin: 0; font-size: 1.125rem; line-height: 1.64; color: var(--tx-1); }
/* B · ομόκεντροι κύκλοι */
.cfB__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 88px); align-items: center; }
.cfB__key { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 18px; margin-top: 30px; }
.cfB__key span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; font-weight: 700; }
.cfB__key--in span { background: var(--ng-teal-d); color: #fff; } .cfB__key--out span { background: var(--ng-ind); color: #fff; }
.cfB__key p { margin: 6px 0 0; max-width: 46ch; font-size: 1.125rem; line-height: 1.64; color: var(--tx-1); }
.cfB__fig { aspect-ratio: 1; max-width: 560px; justify-self: center; width: 100%; }

/* ---------------- Το οργανώνουμε μαζί σας (εκδοχή 2) με το μπλε της Humera ---------------- */
.ac__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 5vw, 96px); align-items: start; }
.ac__head { position: sticky; top: 120px; }
.ac__steps { list-style: none; margin: 0; padding: 0; }
.ac__steps li { display: grid; grid-template-columns: clamp(84px, 9vw, 132px) minmax(0, 1fr); gap: clamp(16px, 2vw, 32px); padding: clamp(24px, 3.4vh, 36px) 0; border-top: 1px solid rgba(14,26,60,.14); }
.ac__steps li:last-child { border-bottom: 1px solid rgba(14,26,60,.14); }
.ac__k { font-family: var(--f-t); font-weight: 600; font-size: clamp(3rem, 2rem + 3vw, 5.25rem); line-height: .85; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1.5px var(--hb); transition: color .3s; }
.ac__steps li:hover .ac__k { color: var(--hb); }
.ac__steps h3 { margin: 4px 0 0; font-size: clamp(1.25rem, 1.15rem + .4vw, 1.5rem); font-weight: 700; color: var(--ink); }
.ac__steps p { margin: 10px 0 0; max-width: 46ch; font-size: 1.0625rem; line-height: 1.6; color: var(--tx-1); }

/* ---------------- Εγγύηση A · φύλλο συμφωνίας με σφραγίδα ---------------- */
.guA__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(28px, 4vw, 64px); align-items: center; max-width: 1080px; }
.guA__seal { aspect-ratio: 1; max-width: 280px; width: 100%; justify-self: center; }
.guA__seal svg { animation: none; }
.guA__sheet { position: relative; padding: clamp(30px, 4vw, 56px); border-radius: 6px; background: #FFFFFF; box-shadow: inset 0 4px 0 var(--hb), 0 2px 0 rgba(14,26,60,.06), 0 30px 60px -46px rgba(14,26,60,.6);
  background-image: repeating-linear-gradient(transparent 0 35px, rgba(14,26,60,.05) 35px 36px); background-position: 0 100%; background-size: 100% 40%; background-repeat: no-repeat; }
.guA__k { margin: 0; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--or); }
.guA__h { margin: 12px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.625rem, 1.25rem + 1.2vw, 2.25rem); line-height: 1.12; letter-spacing: -.015em; color: var(--hb); max-width: 22ch; }
.guA__sheet p:not(.guA__k) { margin: 18px 0 0; max-width: 56ch; font-size: 1.125rem; line-height: 1.66; color: var(--tx-1); }
/* ---------------- Εγγύηση B · πρόταση και διαδρομή όρων ---------------- */
.guB__box { padding: clamp(30px, 4vw, 60px); border-radius: 22px; background: var(--hb); color: #fff; }
.guB__k { margin: 0; display: inline-block; padding: 6px 12px 7px; border-radius: 999px; background: rgba(255,255,255,.1); color: #F2A27C; font-size: .8125rem; font-weight: 700; }
.guB__h { margin: 18px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem); line-height: 1.1; letter-spacing: -.018em; color: #fff; max-width: 22ch; }
.guB__lead { margin: 18px 0 0; max-width: 58ch; font-size: 1.1875rem; line-height: 1.6; color: #C9D2E6; }
.guB__path { margin-top: clamp(32px, 5vh, 48px); padding-top: 28px; border-top: 1px solid rgba(255,255,255,.16); }
.guB__subj { margin: 0; font-size: 1.125rem; font-weight: 600; color: #fff; }
.guB__path ol { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; position: relative; }
.guB__path ol::before { content: ''; position: absolute; left: 9px; right: 50%; top: 9px; height: 2px; background: linear-gradient(90deg, var(--or), rgba(242,162,124,.5)); }
.guB__path li { position: relative; padding-top: 34px; padding-right: 24px; font-size: 1.125rem; line-height: 1.45; color: #E3E8F3; }
.guB__path li b { position: absolute; left: 0; top: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--or); box-shadow: 0 0 0 5px rgba(208,89,39,.25); }
.guB__path li:last-child b { background: #fff; box-shadow: 0 0 0 5px rgba(255,255,255,.18); }

/* ---------------- Ερωτήσεις (εκδοχή 2) με το μπλε της Humera ---------------- */
.fq__list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; margin-top: clamp(28px, 4vh, 40px); }
.fq__item { background: #FFFFFF; border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(14,26,60,.12); transition: box-shadow .25s; }
.fq__item[open] { box-shadow: inset 0 0 0 2px var(--hb); }
.fq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; list-style: none; cursor: pointer; font-size: 1.1875rem; font-weight: 600; line-height: 1.35; color: var(--hb); }
.fq__item summary::-webkit-details-marker { display: none; }
.fq__item summary:focus-visible { outline: 3px solid var(--or); outline-offset: 2px; border-radius: 14px; }
.fq__item summary i { position: relative; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--hb-soft); }
.fq__item summary i::before, .fq__item summary i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; border-radius: 1px; background: var(--hb); transition: transform .3s var(--ease); }
.fq__item summary i::after { transform: rotate(90deg); }
.fq__item[open] summary i { background: var(--hb); } .fq__item[open] summary i::before, .fq__item[open] summary i::after { background: #fff; } .fq__item[open] summary i::after { transform: rotate(0); }
.fq__item p { margin: 0; padding: 0 24px 24px; max-width: 62ch; font-size: 1.0625rem; line-height: 1.64; color: #2B3753; }

/* ================================ μικρές οθόνες ================================ */
@media (max-width: 1100px) { .jr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .inc__tiles { grid-template-columns: 1fr; } }
@media (max-width: 900px) {
  .ah__grid, .apA__tune, .ac__grid, .guA__grid, .cfA__grid, .cfB__grid, .msB__body, .nh__panel, .prB__row { grid-template-columns: 1fr; }
  .ah__art { order: 2; max-width: 100%; aspect-ratio: 4 / 3; }
  .msA__panel { min-height: 0; display: grid; } .msA__art { position: relative; aspect-ratio: 2 / 1.1; } .msA__head { position: relative; left: auto; bottom: auto; max-width: none; padding: 0 22px 28px; }
  .msA__text { grid-template-columns: 1fr; }
  .msB__body { margin-top: -80px; } .msB__week { min-height: 260px; }
  .apA__mixer { order: 2; } .fader { grid-template-columns: 7.5em minmax(0, 1fr); gap: 12px; }
  .apB__stage { grid-template-columns: 1fr; } .apB__map { grid-column: 1; grid-row: 1; margin: 0; min-height: 300px; } .apB__card { grid-row: 2; margin: -60px 12px 0; }
  .prA__ids { grid-template-columns: 1fr; } .prA__layer--top { width: 100%; } .prA__layer--base { margin-left: 16px; }
  .prB__row:nth-child(2) .prB__txt { order: 1; } .prB__row:nth-child(2) .prB__vis { order: 2; }
  .nh__text { padding: 32px 24px 0; } .nh__slot { padding: 8px 24px 36px; } .nh__dev { width: min(200px, 60%); }
  .inc__panel { grid-template-columns: 1fr; } .inc__dev { width: 180px; }
  .ac__head { position: static; }
  .guA__seal { max-width: 200px; }
  .fq__list { grid-template-columns: 1fr; }
  .cfB__fig { max-width: 420px; }
}
@media (max-width: 560px) {
  .jr__grid { grid-template-columns: 1fr; }
  .jr__cell { grid-template-columns: 42% minmax(0, 1fr); grid-template-rows: none; }
  .jr__stage { padding: 18px 0; } .jr__dev { width: 74%; } .jr__txt { padding: 18px 16px; }
  .inc__seg { display: flex; } .inc__seg button { flex: 1; padding: 12px 8px; font-size: .9375rem; }
  .ac__steps li { grid-template-columns: 1fr; gap: 8px; }
  .fq__item summary { padding: 18px; font-size: 1.0625rem; } .fq__item p { padding: 0 18px 20px; }
  .guB__path ol { grid-template-columns: 1fr; gap: 22px; } .guB__path ol::before { left: 9px; right: auto; top: 9px; bottom: 30px; width: 2px; height: auto; background: var(--or); }
  .guB__path li { padding: 0 0 0 38px; }
  .apA__rows li { font-size: 1.625rem; }
}
@media (prefers-reduced-motion: reduce) {
  .art .g, .art .th, .msA__art .dot, .msB__week .blk, .fader i::before, .fader em, .inc__panel.on { transition: none !important; animation: none !important; }
}

/* =====================================================================
   v30 · αλλαγές πάνω στο v29
   ===================================================================== */
/* ---------- Προσέγγιση: ο πίνακας ρυθμιστών δένει — κοινές στήλες, ετικέτες σε μία γραμμή, ίδια αρχή για όλες τις γραμμές ---------- */
.apA__tune { align-items: start; }
.apA__mixer { grid-template-columns: max-content minmax(0, 1fr); column-gap: clamp(20px, 2.4vw, 32px); row-gap: 28px; align-items: center; padding: clamp(26px, 3vw, 40px) clamp(26px, 3vw, 44px); margin-top: 6px; }
.fader { display: contents; }
.fader span { white-space: nowrap; font-size: 1.0625rem; line-height: 1.2; }
.fader i { height: 4px; border-radius: 2px; }
.fader b { width: 18px; height: 18px; margin: -9px -9px 0 0; box-shadow: 0 0 0 3px var(--hb-2), 0 0 0 5px rgba(208,89,39,.55); }
@media (max-width: 900px) { .fader { display: contents; } .apA__mixer { column-gap: 16px; } .fader span { font-size: 1rem; } }

/* ---------- κοινή εισαγωγή των Επαγγελματιών: η σχέση τεχνολογίας και επαγγελματία μέσα στην ενότητα ---------- */
.pro__lead { margin: 22px 0 0; max-width: 46ch; font-size: clamp(1.125rem, 1.06rem + .3vw, 1.3125rem); line-height: 1.55; color: var(--tx-1); }
.pro__lead strong { color: var(--hb); }

/* ---------- Αποστολή 1 · κινητική τυπογραφία ---------- */
.ms1 { position: relative; padding-top: clamp(110px, 15vh, 170px); }
.ms1__h { margin: 26px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(2.5rem, 1rem + 5.4vw, 6.25rem); line-height: .98; letter-spacing: -.034em; color: var(--hb); }
.ms1__from { display: block; color: transparent; -webkit-text-stroke: 1.5px rgba(14,26,60,.55); transition: color 1.2s var(--ease) .2s, -webkit-text-stroke-color 1.2s var(--ease) .2s; }
.ms1.in .ms1__from { color: rgba(14,26,60,.28); -webkit-text-stroke-color: transparent; }
.ms1__to { position: relative; display: inline-block; padding-bottom: .12em; }
.ms1__line { position: absolute; left: -2%; bottom: -.1em; width: 104%; height: .26em; overflow: visible; }
.ms1__line path { fill: none; stroke: var(--or); stroke-width: 7; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.1s var(--ease) .9s; }
.ms1.in .ms1__line path { stroke-dashoffset: 0; }
.ms1__body { display: grid; grid-template-columns: clamp(60px, 9vw, 140px) minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 3.6vw, 56px); margin-top: clamp(44px, 7vh, 72px); align-items: start; }
.ms1__arrow { height: 2px; margin-top: 14px; background: var(--or); position: relative; transform-origin: left; transform: scaleX(0); transition: transform .9s var(--ease) 1.4s; }
.ms1__arrow::after { content: ''; position: absolute; right: -2px; top: -5px; width: 10px; height: 10px; border-top: 2px solid var(--or); border-right: 2px solid var(--or); transform: rotate(45deg); }
.ms1.in .ms1__arrow { transform: none; }
.ms1__p { margin: 0; max-width: 38ch; font-size: 1.1875rem; line-height: 1.62; color: var(--tx-1); }
.ms1__p + .ms1__p { padding-left: clamp(24px, 3vw, 48px); border-left: 1px solid rgba(14,26,60,.16); }

/* ---------- Αποστολή 2 · το σήμα σχηματίζεται ---------- */
.ms2 { position: relative; padding-top: clamp(96px, 13vh, 150px); }
.ms2__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 88px); align-items: center; padding: clamp(32px, 4.4vw, 72px); border-radius: 24px; background: #FFFFFF; box-shadow: 0 1px 0 rgba(14,26,60,.08), 0 40px 80px -60px rgba(14,26,60,.6); }
.ms2__h { margin: 20px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(2rem, 1.2rem + 2.6vw, 3.5rem); line-height: 1.04; letter-spacing: -.024em; color: var(--hb); max-width: 15ch; text-wrap: balance; }
.ms2__text > p:not(.ap__plate) { margin: 22px 0 0; max-width: 42ch; font-size: 1.125rem; line-height: 1.64; color: var(--tx-1); }
.ms2__mark { aspect-ratio: 420 / 430; width: 100%; max-width: 460px; justify-self: center; }
.ms2__mark .pt { transform: translate(var(--dx), var(--dy)); opacity: .35; transition: transform 1.6s var(--ease) var(--d), opacity 1.2s var(--ease) var(--d); }
.ms2__mark.in .pt { transform: none; opacity: 1; }

/* ---------- Επαγγελματίες 1 · δύο σκηνές ---------- */
.pr1 { position: relative; padding-top: clamp(96px, 13vh, 150px); }
.pr1__scenes { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(16px, 2vw, 28px); margin-top: clamp(36px, 5vh, 56px); }
.pr1__scene { display: grid; grid-template-rows: auto 1fr; overflow: hidden; border-radius: 22px; background: #FFFFFF; box-shadow: 0 1px 0 rgba(14,26,60,.08), 0 30px 60px -48px rgba(14,26,60,.6); }
.pr1__vis { height: clamp(260px, 34vh, 340px); background: var(--hb); }
.pr1__vis--phone { display: grid; place-items: end center; padding-top: 30px; overflow: hidden; background: radial-gradient(80% 90% at 50% 100%, #2A3E7A, var(--hb)); }
.pr1__dev { width: min(200px, 58%); margin-bottom: -46%; }
.pr1__txt { padding: clamp(24px, 3vw, 40px); }
.pr1__txt h3 { margin: 0; font-family: var(--f-t); font-size: clamp(1.5rem, 1.3rem + .6vw, 1.875rem); font-weight: 600; letter-spacing: -.012em; color: var(--hb); }
.pr1__txt p { margin: 14px 0 0; max-width: 48ch; font-size: 1.125rem; line-height: 1.72; color: var(--tx-1); }
.pr1__txt mark { padding: 0 .1em; color: var(--ink); font-weight: 600; background: linear-gradient(transparent 62%, rgba(208,89,39,.24) 62%); }

/* ---------- Επαγγελματίες 2 · πάνελ ποιότητας ---------- */
.pr2 { position: relative; padding-top: clamp(96px, 13vh, 150px); }
.pr2__panel { padding: clamp(32px, 4.4vw, 72px); border-radius: 24px; background: #FFFFFF; box-shadow: 0 1px 0 rgba(14,26,60,.08), 0 40px 80px -60px rgba(14,26,60,.6); }
.pr2__h { margin: 20px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.875rem, 1.25rem + 1.9vw, 2.875rem); line-height: 1.08; letter-spacing: -.018em; color: var(--hb); max-width: 22ch; text-wrap: balance; }
.pr2__roles { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 2vw, 24px); margin-top: clamp(32px, 5vh, 48px); }
.pr2__role { display: grid; grid-template-rows: auto auto 1fr; padding: clamp(24px, 3vw, 40px); border-radius: 18px; background: var(--hb-soft); }
.pr2__role h3 { margin: 0; font-family: var(--f-t); font-size: clamp(1.375rem, 1.2rem + .5vw, 1.75rem); font-weight: 600; color: var(--hb); }
.pr2__role p { margin: 14px 0 0; max-width: 46ch; font-size: 1.125rem; line-height: 1.68; color: var(--tx-1); }
.pr2__track { list-style: none; align-self: end; margin: 26px 0 0; padding: 18px 0 0; border-top: 1px solid rgba(14,26,60,.14); display: grid; gap: 12px; }
.pr2__track li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; align-items: center; font-size: 1.0625rem; font-weight: 600; color: var(--hb); }
.pr2__track li::before { content: ''; width: 26px; height: 26px; border-radius: 50%; background: var(--hb) no-repeat center / 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M1 5l3 3 7-7'/%3E%3C/svg%3E"); }

/* ---------- NousGym · Τι περιλαμβάνει: ΕΝΑ παράθυρο, οι δύο πλευρές στην ίδια θέση, ομαλή εναλλαγή χωρίς άλμα ---------- */
.inc__win { margin-top: clamp(28px, 4vh, 40px); border-radius: 24px; overflow: hidden; background: var(--ng-soft); box-shadow: 0 1px 0 rgba(14,26,60,.08), 0 30px 60px -50px rgba(14,26,60,.6); transition: background-color .5s var(--ease); }
.inc__win[data-side="co"] { background: var(--hb); }
.inc__bar { display: flex; justify-content: center; padding: 18px 18px 0; }
.inc__seg { margin: 0; }
.inc__win[data-side="co"] .inc__seg { background: rgba(255,255,255,.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.inc__win[data-side="co"] .inc__seg button[aria-selected="false"] { color: #E3E8F3; }
.inc__win[data-side="co"] .inc__seg button[aria-selected="true"] { background: #fff; color: var(--hb); }
.inc__stack { display: grid; }
.inc__stack > .inc__panel { grid-area: 1 / 1; margin: 0; border-radius: 0; background: transparent !important; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .45s var(--ease), transform .5s var(--ease), visibility 0s linear .5s; animation: none; }
.inc__stack > .inc__panel.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .45s var(--ease) .08s, transform .5s var(--ease) .08s, visibility 0s; }
.inc__stage { background: transparent; }
.inc__panel--emp .inc__stage { background: linear-gradient(170deg, #CFE4EB, #A9CCD8); margin: 18px 0 18px 18px; border-radius: 18px; }
.inc__panel--co .inc__stage { background: radial-gradient(80% 70% at 50% 40%, #22346B, var(--hb-2)); margin: 18px 0 18px 18px; border-radius: 18px; }

/* ---------- Εμπιστευτικότητα: ο τίτλος σε μία γραμμή στον υπολογιστή ---------- */
.cf__h { max-width: none; font-size: clamp(2rem, 1.1rem + 2.4vw, 3.25rem); }
@media (min-width: 1100px) { .cf__h { white-space: nowrap; } }
.cfB__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }

/* ---------- Εγγύηση 1 · συνέχεια της ενεργοποίησης ---------- */
.ac__guar { margin-top: clamp(28px, 4vh, 40px); padding: clamp(26px, 3.2vw, 44px); border-radius: 18px; background: #FFFFFF; box-shadow: inset 4px 0 0 var(--or), 0 1px 0 rgba(14,26,60,.08), 0 30px 60px -50px rgba(14,26,60,.6); }
.ac__gk { margin: 0; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--or); }
.ac__gh { margin: 10px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.5rem, 1.25rem + .8vw, 2rem); line-height: 1.15; letter-spacing: -.014em; color: var(--hb); max-width: 26ch; }
.ac__guar > p:last-child { margin: 14px 0 0; max-width: 60ch; font-size: 1.125rem; line-height: 1.66; color: var(--tx-1); }

/* ---------- Εγγύηση 2 · μπλε ζώνη σε όλο το πλάτος, μεγάλη δήλωση ---------- */
.gu2 { position: relative; margin-top: clamp(96px, 13vh, 150px); padding: clamp(80px, 11vh, 128px) 0; background: var(--hb); box-shadow: 0 0 0 100vmax var(--hb); clip-path: inset(0 -100vmax); color: #fff; }
.gu2__k { margin: 0; display: inline-block; padding: 6px 11px 7px; border-radius: 3px; background: var(--or); color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.gu2__h { margin: 24px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(2.25rem, 1.1rem + 3.8vw, 5rem); line-height: 1; letter-spacing: -.03em; color: #fff; max-width: 17ch; text-wrap: balance; }
.gu2__cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 80px); margin-top: clamp(40px, 6vh, 64px); padding-top: 28px; border-top: 1px solid rgba(255,255,255,.2); }
.gu2__cols p { margin: 0; max-width: 42ch; font-size: 1.1875rem; line-height: 1.62; color: #D3DAEA; }

@media (max-width: 900px) {
  .ms1__body { grid-template-columns: 1fr; } .ms1__arrow { width: 72px; } .ms1__p + .ms1__p { padding-left: 0; border-left: 0; }
  .ms2__grid, .pr1__scenes, .pr2__roles, .gu2__cols { grid-template-columns: 1fr; }
  .ms2__mark { max-width: 300px; order: -1; }
  .inc__panel--emp .inc__stage, .inc__panel--co .inc__stage { margin: 14px 14px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ms1__from, .ms1__line path, .ms1__arrow, .ms2__mark .pt, .inc__stack > .inc__panel, .inc__win { transition: none !important; }
}
/* v30 διορθώσεις μετά τον πρώτο έλεγχο */
.ms1.in .ms1__from { color: rgba(14,26,60,.5); }
.pr1__vis--phone { place-items: center; padding: 22px 0; }
.pr1__dev { width: clamp(96px, 13.4vh, 128px); margin: 0; }
.cfB__grid { margin-top: clamp(28px, 4vh, 44px); }
@media (max-width: 560px) {
  .inc__bar { padding: 14px 14px 0; } .inc__seg { width: 100%; } .inc__seg button { white-space: nowrap; font-size: .875rem; padding: 11px 8px; }
  .inc__dev { width: 150px; } .inc__mark { width: 110px; }
  .inc__panel--emp .inc__stage, .inc__panel--co .inc__stage { padding: 22px; }
}

/* =====================================================================
   v31 · τελική σύνθεση
   ===================================================================== */
/* ---------- Αποστολή (επιλογή 2 του v30): μικρότερος τίτλος, μεγαλύτερο και πιο άνετο κείμενο ---------- */
.ms2__h { font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.625rem); line-height: 1.08; max-width: 18ch; }
.ms2__text > p:not(.ap__plate) { font-size: clamp(1.1875rem, 1.12rem + .3vw, 1.3125rem); line-height: 1.66; max-width: 40ch; color: #26324F; }

/* ---------- Προσέγγιση: μπλε της Humera, γραμμές σε ισορροπημένο μέγεθος ---------- */
.apA { background: #0E1A3C; box-shadow: 0 0 0 100vmax #0E1A3C; }
.apA__rows li { padding: clamp(12px, 1.6vh, 18px) 0; font-weight: 500; font-size: clamp(1.375rem, 1rem + 1.2vw, 2.125rem); line-height: 1.2; letter-spacing: -.012em; }
.tune { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 5vw, 80px); margin-top: clamp(56px, 8vh, 96px); align-items: start; }
.tune__box { border-radius: 20px; background: rgba(255,255,255,.045); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); overflow: hidden; }
.tune__tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid rgba(255,255,255,.1); }
.tune__tabs button { position: relative; padding: 18px 10px; border: 0; background: transparent; color: #AEB8CF; font: inherit; font-size: 1.0625rem; font-weight: 600; cursor: pointer; transition: color .25s, background-color .25s; }
.tune__tabs button + button { box-shadow: inset 1px 0 0 rgba(255,255,255,.08); }
.tune__tabs button::after { content: ''; position: absolute; left: 16%; right: 16%; bottom: -1px; height: 3px; border-radius: 2px; background: #D05927; transform: scaleX(0); transition: transform .35s var(--ease); }
.tune__tabs button[aria-selected="true"] { color: #fff; background: rgba(255,255,255,.05); }
.tune__tabs button[aria-selected="true"]::after { transform: none; }
.tune__tabs button:hover { color: #fff; }
.tune__tabs button:focus-visible { outline: 3px solid #D05927; outline-offset: -3px; }
.tune__stage { display: grid; }
.tune__panel { grid-area: 1 / 1; aspect-ratio: 52 / 26; padding: clamp(14px, 2vw, 26px); opacity: 0; visibility: hidden; transition: opacity .4s var(--ease), visibility 0s linear .4s; }
.tune__panel.is-on { opacity: 1; visibility: visible; transition: opacity .4s var(--ease) .05s, visibility 0s; }
.tune__panel svg { width: 100%; height: 100%; display: block; }
.tune__panel .s { opacity: .18; transition: opacity .6s var(--ease), transform .7s var(--ease), fill .5s var(--ease); transform-box: fill-box; }
.tune__panel[data-s="0"] .s0, .tune__panel[data-s="1"] .s1, .tune__panel[data-s="2"] .s2 { opacity: 1; }
.tune__panel .hide { opacity: 0; }
.tune__panel[data-s="0"] .hide.s0, .tune__panel[data-s="1"] .hide.s1, .tune__panel[data-s="2"] .hide.s2 { opacity: 1; }
.tune__panel .len { transform-origin: left center; transform: scaleX(var(--l0)); transition: transform .9s var(--ease); }
.tune__panel[data-s="1"] .len { transform: scaleX(var(--l1)); } .tune__panel[data-s="2"] .len { transform: scaleX(var(--l2)); }
.tune__panel .tile { fill: rgba(255,255,255,.08); }
.tune__panel[data-s="0"] .tile.s0, .tune__panel[data-s="1"] .tile.s1, .tune__panel[data-s="2"] .tile.s2 { fill: #D05927; }
.tune__panel .tile { opacity: 1; }

/* ---------- Επαγγελματίες: ήρεμη σύνθεση, ανοιχτά φόντα ---------- */
.pr3 { position: relative; padding-top: clamp(110px, 15vh, 170px); }
.pr3__head { max-width: 760px; }
.pr3__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 64px); margin-top: clamp(40px, 6vh, 64px); }
.pr3__vis { height: clamp(240px, 30vh, 300px); border-radius: 18px; background: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(14,26,60,.08); }
.pr3__vis--phone { display: grid; place-items: center; background: linear-gradient(180deg, #F4F6FA, #E6EBF3); }
.pr3__dev { width: clamp(92px, 12vh, 118px); }
.pr3__item h3 { margin: 28px 0 0; font-family: var(--f-t); font-size: clamp(1.375rem, 1.2rem + .5vw, 1.75rem); font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
.pr3__item p { margin: 12px 0 0; max-width: 48ch; font-size: 1.125rem; line-height: 1.72; color: var(--tx-1); }
.pr3__item mark { padding: 0 .08em; color: var(--ink); font-weight: 600; background: linear-gradient(transparent 64%, rgba(208,89,39,.2) 64%); }
.pro__lead strong { color: var(--ink); }

/* ---------- NousGym · Τι περιλαμβάνει: ανοιχτή σύνθεση γύρω από ένα κέντρο ---------- */
.inc__bar { padding-top: 22px; }
.hub { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: clamp(24px, 3.6vw, 64px); padding: clamp(36px, 5vw, 72px) clamp(24px, 4vw, 64px) clamp(44px, 6vw, 84px); }
.hub__col { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(26px, 4vh, 44px); }
.hub__col li { position: relative; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.42; font-weight: 500; }
.hub__col--l li { text-align: right; padding-right: 30px; } .hub__col--r li { padding-left: 30px; }
.hub__dot { position: absolute; top: .5em; width: 10px; height: 10px; border-radius: 50%; }
.hub__col--l .hub__dot { right: 0; } .hub__col--r .hub__dot { left: 0; }
.hub__dot::after { content: ''; position: absolute; top: 4px; height: 2px; width: clamp(16px, 2.6vw, 44px); }
.hub__col--l .hub__dot::after { left: 12px; } .hub__col--r .hub__dot::after { right: 12px; }
.hub__center { display: grid; place-items: center; }
.hub__dev { width: clamp(200px, 19vw, 250px); }
.hub--emp li { color: var(--ink); } .hub--emp .hub__dot { background: var(--ng-teal-d); } .hub--emp .hub__dot::after { background: rgba(47,115,133,.35); }
.hub--co li { color: #EEF1F7; } .hub--co .hub__dot { background: #D05927; } .hub--co .hub__dot::after { background: rgba(242,162,124,.45); }
.hub__mark { display: grid; place-items: center; width: clamp(200px, 19vw, 250px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,255,255,.07), rgba(255,255,255,.02)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 0 0 18px rgba(255,255,255,.025); }
.hub__mark .inc__mark { width: 46%; }
.inc__stack > .inc__panel { display: block; }

/* ---------- Εμπιστευτικότητα: σύγκριση Γ / Α / Β (προεπιλογή Γ) ---------- */
[data-cfv] { display: none; }
html:not([data-cf]) [data-cfv="c"], html[data-cf="c"] [data-cfv="c"], html[data-cf="a"] [data-cfv="a"], html[data-cf="b"] [data-cfv="b"] { display: block; }
.cfC { position: relative; padding-top: clamp(96px, 13vh, 150px); }
.cfC__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 88px); align-items: center; margin-top: clamp(32px, 5vh, 52px); }
.cfC__sheet { margin: 0; padding: clamp(24px, 3vw, 40px); border-radius: 10px; background: #FFFFFF; box-shadow: 0 2px 0 rgba(14,26,60,.05), 0 40px 70px -46px rgba(14,26,60,.6); transform: rotate(-1.2deg); }
.cfC__top { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; margin-bottom: 6px; border-bottom: 2px solid #0E1A3C; }
.cfC__brand { width: 26px; height: 26px; border-radius: 7px; background: var(--ng-ind); }
.cfC__bar { height: 10px; border-radius: 5px; background: #DCE2EC; } .cfC__bar--t { width: 42%; }
.cfC__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: center; padding: 15px 0; border-bottom: 1px solid rgba(14,26,60,.1); }
.cfC__label { font-size: .9375rem; line-height: 1.35; color: #4A5670; }
.cfC__red { display: flex; justify-content: flex-end; align-items: center; height: 22px; padding: 0 8px; border-radius: 4px; background: #0E1A3C; color: #F2A27C; }
.cfC__red .ic { width: 11px; height: 14px; }
.cfC__row--open { border-bottom: 0; padding-top: 18px; }
.cfC__row--open .cfC__label { color: var(--ng-teal-d); font-weight: 700; }
.cfC__agg { height: 34px; }
.cfC__p { position: relative; margin: 0; padding-left: 58px; font-size: 1.1875rem; line-height: 1.62; color: var(--tx-1); max-width: 44ch; }
.cfC__p + .cfC__p { margin-top: 30px; }
.cfC__tag { position: absolute; left: 0; top: 2px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; }
.cfC__tag--no { background: #0E1A3C; color: #F2A27C; } .cfC__tag--no .ic { width: 14px; height: 17px; }
.cfC__tag--yes { background: var(--ng-teal-d); }
.cfC__tag--yes::after { content: ''; width: 16px; height: 16px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Ccircle cx='3' cy='4' r='2'/%3E%3Ccircle cx='8' cy='4' r='2'/%3E%3Ccircle cx='13' cy='4' r='2'/%3E%3Ccircle cx='3' cy='11' r='2'/%3E%3Ccircle cx='8' cy='11' r='2'/%3E%3Ccircle cx='13' cy='11' r='2'/%3E%3C/svg%3E"); }

/* ---------- Εγγύηση: η πραγματική χρήση ως ροή που καταλήγει στην εγγύηση ---------- */
.gu3 { position: relative; padding-top: clamp(96px, 13vh, 150px); }
.gu3__panel { padding: clamp(32px, 4.4vw, 68px); border-radius: 24px; background: #FFFFFF; box-shadow: 0 1px 0 rgba(14,26,60,.08), 0 40px 80px -60px rgba(14,26,60,.6); }
.gu3__k { margin: 0; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #D05927; }
.gu3__h { margin: 12px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.75rem, 1.25rem + 1.6vw, 2.75rem); line-height: 1.08; letter-spacing: -.02em; color: #0E1A3C; max-width: 24ch; text-wrap: balance; }
.gu3__flow { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; margin-top: clamp(32px, 5vh, 52px); }
.gu3__track { position: relative; height: 56px; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 10%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 10%, #000 92%, transparent); }
.gu3__track::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: repeating-linear-gradient(90deg, rgba(14,26,60,.18) 0 6px, transparent 6px 12px); }
.gu3__track i { position: absolute; inset: 0; transform: translateX(-4%); animation: gu3run 7s linear infinite; animation-delay: calc(var(--i) * -.5s); animation-play-state: paused; }
.gu3__track i::before { content: ''; position: absolute; left: 0; top: 50%; width: 12px; height: 12px; margin-top: -6px; border-radius: 50%; background: var(--ng-teal); }
.gu3__track i:nth-child(3n)::before { background: #0E1A3C; } .gu3__track i:nth-child(4n)::before { background: var(--ng-teal-d); }
.gu3.run .gu3__track i { animation-play-state: running; }
@keyframes gu3run { from { transform: translateX(-4%); } to { transform: translateX(100%); } }
.gu3__goal { display: grid; place-items: center; width: 84px; height: 84px; margin-left: -6px; border-radius: 50%; background: #FFF3EC; box-shadow: inset 0 0 0 2px rgba(208,89,39,.35); }
.gu3__goal b { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #D05927 no-repeat center / 24px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 10l7 7L22 3'/%3E%3C/svg%3E"); }
.gu3__text { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 80px); margin-top: clamp(28px, 4vh, 40px); padding-top: 26px; border-top: 1px solid rgba(14,26,60,.12); }
.gu3__text p { margin: 0; max-width: 44ch; font-size: 1.1875rem; line-height: 1.62; color: var(--tx-1); }

/* ---------- κουμπιά σύγκρισης στο εργαλείο κάτω αριστερά ---------- */
.lab__cf a { opacity: .7; } html[data-cf="c"] .lab__cf [data-c="c"], html[data-cf="a"] .lab__cf [data-c="a"], html[data-cf="b"] .lab__cf [data-c="b"] { opacity: 1; background: #fff; color: #0E1A3C; border-radius: 999px; }
html[data-pg="about-final"] .lab [data-pg="about-final"], html[data-pg="nousgym-final"] .lab [data-pg="nousgym-final"] { opacity: 1; background: #fff; color: #0E1A3C; border-radius: 999px; }

@media (max-width: 900px) {
  .tune, .pr3__grid, .cfC__grid, .gu3__text { grid-template-columns: 1fr; }
  .tune__tabs { grid-template-columns: 1fr 1fr; } .tune__tabs button:nth-child(3) { box-shadow: inset 0 1px 0 rgba(255,255,255,.08); } .tune__tabs button:nth-child(4) { box-shadow: inset 1px 1px 0 rgba(255,255,255,.08); }
  .tune__panel { aspect-ratio: 52 / 30; }
  .hub { grid-template-columns: 1fr; gap: 28px; padding: 28px 22px 36px; }
  .hub__center { order: -1; } .hub__dev { width: 170px; } .hub__mark { width: 170px; }
  .hub__col { gap: 18px; } .hub__col--l li { text-align: left; padding: 0 0 0 26px; } .hub__col--l .hub__dot { right: auto; left: 0; }
  .hub__dot::after { display: none; }
  .cfC__sheet { transform: none; order: 2; }
  .gu3__goal { width: 64px; height: 64px; } .gu3__goal b { width: 40px; height: 40px; background-size: 18px; }
}
@media (max-width: 560px) { .cfC__row { grid-template-columns: 1fr; gap: 8px; } .cfC__p { padding-left: 52px; font-size: 1.125rem; } .tune__tabs button { font-size: .9375rem; padding: 15px 6px; } }
@media (prefers-reduced-motion: reduce) { .gu3__track i { animation: none; } .gu3__track i:nth-child(n+6) { display: none; } .gu3__track i { transform: translateX(calc(var(--i) * 18%)); } .tune__panel, .tune__panel .s { transition: none !important; } }
.inc__panel .hub li { display: block; background: none; box-shadow: none; border-radius: 0; padding-top: 0; padding-bottom: 0; }
.tune__panel .len { transform-box: fill-box; }
.inc__stack > .inc__panel { align-self: center; }

/* =====================================================================
   v32
   ===================================================================== */
[data-alt][hidden] { display: none !important; }
.lab__alt a { opacity: .7; } .lab__alt a.is-on { opacity: 1; background: #fff; color: #0E1A3C; border-radius: 999px; }

/* ---------- Αποστολή: τα δύο μέρη του σήματος ενώνονται ---------- */
.mj svg { width: 100%; height: 100%; display: block; overflow: visible; fill: #D05927; }
.mj__l, .mj__r { transition: transform 1.5s var(--ease) .25s; }
.mj__l { transform: translateX(-74px); } .mj__r { transform: translateX(74px); }
.mj.in .mj__l, .mj.in .mj__r { transform: none; }

/* ---------- Προσέγγιση: ρυθμιστές που γεμίζουν και μετά ελέγχονται από τον επισκέπτη ---------- */
@property --v { syntax: '<number>'; inherits: true; initial-value: 0; }
.sl { --v: 0; transition: --v 1.3s var(--ease); }
.sl.in { --v: var(--v0); }
.sl.drag, .sl.set { transition: none; }
.sl__label { font-size: 1.0625rem; font-weight: 600; color: #fff; white-space: nowrap; }
.sl__track { position: relative; cursor: pointer; touch-action: none; border-radius: 4px; background: rgba(255,255,255,.14); outline: none; }
.sl__track::before { content: ''; position: absolute; inset: -14px; }
.sl__fill { position: absolute; inset: 0; border-radius: inherit; background: #D05927; }
.sl__run { position: absolute; inset: 0; pointer-events: none; }
.sl__knob { position: absolute; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px #0E1A3C, 0 0 0 5px rgba(208,89,39,.6), 0 4px 10px rgba(0,0,0,.35); transition: transform .2s var(--ease); }
.sl__track:hover .sl__knob, .sl.drag .sl__knob { transform: scale(1.15); }
.sl__track:focus-visible .sl__knob { box-shadow: 0 0 0 3px #0E1A3C, 0 0 0 6px #fff; }
.sl--h .sl__track { height: 6px; } .sl--h .sl__fill { transform-origin: left; transform: scaleX(var(--v)); }
.sl--h .sl__run { transform: translateX(calc((var(--v) - 1) * 100%)); } .sl--h .sl__knob { right: -10px; top: 50%; margin-top: -10px; }
.sl--v .sl__track { width: 8px; height: clamp(180px, 26vh, 240px); } .sl--v .sl__fill { transform-origin: bottom; transform: scaleY(var(--v)); }
.sl--v .sl__run { transform: translateY(calc((1 - var(--v)) * 100%)); } .sl--v .sl__knob { left: 50%; top: -10px; margin-left: -10px; }
/* 1 · πίνακας: ετικέτα και μπάρα σε κοινές στήλες */
.ap32__tune { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 5vw, 80px); margin-top: clamp(56px, 8vh, 96px); align-items: center; }
.ap32__panel { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: clamp(24px, 3vw, 40px); row-gap: 34px; align-items: center; padding: clamp(28px, 3.4vw, 48px); border-radius: 20px; background: rgba(255,255,255,.045); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
.sl--row { display: contents; }
/* 2 · κονσόλα: τέσσερις κάθετοι ρυθμιστές */
.ap32__tune2 { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); margin-top: clamp(56px, 8vh, 96px); align-items: end; }
.ap32__console { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: clamp(28px, 3vw, 40px) 12px; border-radius: 20px; background: rgba(255,255,255,.045); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
.sl--col { display: grid; justify-items: center; gap: 22px; }
.sl--col + .sl--col { box-shadow: inset 1px 0 0 rgba(255,255,255,.08); }
.sl--col .sl__track { order: 1; } .sl--col .sl__label { order: 2; font-size: 1rem; white-space: normal; text-align: center; }
/* 3 · λωρίδες σε όλο το πλάτος */
.ap32__text--wide { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 80px); margin-top: clamp(56px, 8vh, 96px); }
.ap32__text--wide .apA__both { margin: 0; }
.ap32__bands { display: grid; gap: 10px; margin-top: clamp(28px, 4vh, 40px); }
.sl--band { display: grid; }
.sl--band > * { grid-area: 1 / 1; }
.sl--band .sl__track { height: clamp(54px, 7vh, 66px); border-radius: 12px; background: rgba(255,255,255,.06); overflow: hidden; }
.sl--band .sl__track::before { inset: 0; }
.sl--band .sl__fill { background: linear-gradient(90deg, rgba(208,89,39,.55), #D05927); }
.sl--band .sl__knob { right: 10px; width: 4px; height: 56%; margin-top: 0; top: 22%; border-radius: 2px; background: #fff; box-shadow: none; }
.sl--band .sl__label { z-index: 1; align-self: center; padding-left: clamp(18px, 2.4vw, 32px); pointer-events: none; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); }

/* ---------- Επαγγελματίες ---------- */
.p32 { position: relative; padding-top: clamp(110px, 15vh, 170px); }
/* 1 · τυπογραφική */
.p32__state { margin-top: clamp(32px, 5vh, 48px); max-width: 900px; }
.p32__t1 { margin: 0; font-size: clamp(1.125rem, 1.06rem + .3vw, 1.3125rem); line-height: 1.5; color: var(--tx-2); }
.p32__t2 { margin: 10px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.625rem, 1.15rem + 1.6vw, 2.625rem); line-height: 1.15; letter-spacing: -.018em; color: var(--ink); max-width: 26ch; }
.p32__cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); margin-top: clamp(48px, 7vh, 72px); }
.p32__cols article { padding-top: 26px; border-top: 1px solid rgba(14,26,60,.18); }
.p32__n { font-size: .875rem; font-weight: 700; letter-spacing: .08em; color: #D05927; }
.p32 h3 { margin: 10px 0 0; font-family: var(--f-t); font-size: clamp(1.375rem, 1.2rem + .5vw, 1.75rem); font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
.p32 article p, .p32__txt p { margin: 12px 0 0; max-width: 46ch; font-size: 1.125rem; line-height: 1.72; color: var(--tx-1); }
/* 2 · ζώνη και κάρτες */
.p32--2 { padding-top: clamp(96px, 13vh, 150px); }
.p32__band { padding: clamp(56px, 8vh, 88px) 0 clamp(130px, 17vh, 180px); background: #FFFFFF; box-shadow: 0 0 0 100vmax #FFFFFF; clip-path: inset(0 -100vmax); }
.p32__cards { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2vw, 28px); margin-top: calc(-1 * clamp(90px, 12vh, 130px)); }
.p32__card { padding: clamp(28px, 3.4vw, 48px); border-radius: 20px; background: #F4F6FA; box-shadow: inset 0 0 0 1px rgba(14,26,60,.07), 0 30px 60px -50px rgba(14,26,60,.5); }
.p32__ic { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 16px; background: #FFF1EA; color: #D05927; }
.p32__ic svg { width: 32px; height: 32px; }
.p32--2 h3 { margin-top: 22px; }
/* 3 · εναλλάξ εικόνα και κείμενο */
.p32__head3 { max-width: 760px; }
.p32__zig { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 88px); align-items: center; margin-top: clamp(48px, 7vh, 72px); }
.p32__zig--r .p32__vis { order: 2; }
.p32__vis { height: clamp(260px, 34vh, 340px); border-radius: 18px; background: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(14,26,60,.07); }
.p32__vis--ph { display: grid; place-items: center; background: linear-gradient(180deg, #F4F6FA, #E6EBF3); }
.p32__dev { width: clamp(104px, 14vh, 136px); }
.p32__txt mark { padding: 0 .08em; color: var(--ink); font-weight: 600; background: linear-gradient(transparent 64%, rgba(208,89,39,.2) 64%); }

/* ---------- NousGym · Τι περιλαμβάνει: σημείωση μέσα στο πλαίσιο, μικρότερο πλαίσιο εταιρείας, ομαλή αλλαγή ύψους ---------- */
.inc__stack { position: relative; transition: height .5s var(--ease); }
.inc__stack > .inc__panel { grid-area: auto; }
.inc__stack > .inc__panel:not(.is-on) { position: absolute; left: 0; right: 0; top: 0; }
.hub--co { padding-top: clamp(28px, 3.4vw, 48px); padding-bottom: clamp(28px, 3.4vw, 48px); }
.hub--co .hub__mark { width: clamp(150px, 13vw, 180px); }
.hub--co .hub__col { gap: clamp(18px, 2.6vh, 28px); }
.hub sup { font-size: .7em; margin-left: 1px; color: inherit; }
.inc__note { margin: 0; padding: 18px clamp(24px, 4vw, 64px) 24px; border-top: 1px solid rgba(14,26,60,.08); font-size: .9375rem; line-height: 1.55; color: var(--tx-2); transition: color .4s; }
.inc__win[data-side="co"] .inc__note { color: #B9C2D6; border-top-color: rgba(255,255,255,.1); }

/* ---------- Εμπιστευτικότητα: τρεις λιτές εκδοχές ---------- */
.c32 { position: relative; padding-top: clamp(96px, 13vh, 150px); }
.c32 .cf__h em { color: var(--ng-teal-d); }
/* 1 · επίπεδο φύλλο */
.c32__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 88px); align-items: center; margin-top: clamp(32px, 5vh, 52px); }
.c32__doc { margin: 0; padding: clamp(24px, 3vw, 40px) clamp(24px, 3vw, 44px); border-radius: 8px; background: #FFFFFF; box-shadow: 0 0 0 1px rgba(14,26,60,.07), 0 24px 50px -40px rgba(14,26,60,.45); border-top: 3px solid #0E1A3C; }
.c32__r { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px; align-items: center; padding: 16px 0; border-bottom: 1px solid rgba(14,26,60,.08); }
.c32__r span { font-size: .9375rem; line-height: 1.4; color: #5A6680; }
.c32__r i { height: 9px; border-radius: 5px; background: #E4E8F0; }
.c32__r--on { border-bottom: 0; } .c32__r--on span { color: var(--ng-teal-d); font-weight: 600; }
.c32__r b { height: 9px; background: radial-gradient(circle, var(--ng-teal) 3.5px, transparent 4px) 0 50% / 16px 9px repeat-x; }
.c32__txt p, .c32__two p { margin: 0; font-size: 1.125rem; line-height: 1.66; color: var(--tx-1); max-width: 46ch; }
.c32__txt p + p { margin-top: 22px; }
/* 2 · ένας λιτός πίνακας */
.c32__two { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 80px); margin-top: clamp(28px, 4vh, 40px); }
.c32__table { list-style: none; margin: clamp(32px, 5vh, 48px) 0 0; padding: 0; border-top: 1px solid rgba(14,26,60,.18); }
.c32__table li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 18px 2px; border-bottom: 1px solid rgba(14,26,60,.1); font-size: 1.0625rem; color: #3E4A66; }
.c32__table .ic { width: 13px; height: 16px; color: rgba(14,26,60,.45); }
.c32__table li.on { color: var(--ng-teal-d); font-weight: 600; border-bottom: 0; }
.c32__table li.on b { width: 54px; height: 9px; background: radial-gradient(circle, var(--ng-teal) 3.5px, transparent 4px) 0 50% / 14px 9px repeat-x; }
/* 3 · η πρόταση ως αναφορά */
.c32__ed { margin-top: clamp(32px, 5vh, 48px); max-width: 1000px; }
.c32__big { margin: 0; font-family: var(--f-t); font-weight: 500; font-size: clamp(1.375rem, 1.05rem + 1.1vw, 2rem); line-height: 1.5; color: var(--ink); }
.c32__big .red { padding: .04em .28em; border-radius: 3px; color: #fff; -webkit-box-decoration-break: clone; box-decoration-break: clone;
  background: linear-gradient(#0E1A3C, #0E1A3C) 0 0 / 0% 100% no-repeat; color: var(--ink); transition: background-size .9s var(--ease), color .5s var(--ease); }
.c32--3.in .c32__big .red { background-size: 100% 100%; color: #fff; }
.c32--3.in .c32__big .red:nth-of-type(2) { transition-delay: .15s; } .c32--3.in .c32__big .red:nth-of-type(3) { transition-delay: .3s; } .c32--3.in .c32__big .red:nth-of-type(4) { transition-delay: .45s; }
.c32__small { margin: clamp(24px, 4vh, 36px) 0 0; max-width: 56ch; font-size: clamp(1.125rem, 1.06rem + .3vw, 1.3125rem); line-height: 1.6; color: var(--tx-1); }
.c32__small .ok { font-weight: 600; color: var(--ng-teal-d); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* ---------- Εγγύηση: τρεις ρεαλιστικές, εταιρικές εκδοχές ---------- */
.g32 { position: relative; padding-top: clamp(96px, 13vh, 150px); }
.g32__k { margin: 0; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #D05927; }
.g32__h { margin: 12px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.625rem, 1.2rem + 1.3vw, 2.375rem); line-height: 1.12; letter-spacing: -.016em; color: #0E1A3C; max-width: 24ch; }
.g32 p:not(.g32__k) { font-size: 1.125rem; line-height: 1.66; color: var(--tx-1); }
.g32__logo { display: inline-block; width: 26px; aspect-ratio: 420 / 430; background: #D05927; -webkit-mask: url("mark.svg") center / contain no-repeat; mask: url("mark.svg") center / contain no-repeat; }
/* 1 · φύλλο συμφωνίας */
.g32__paper { position: relative; max-width: 860px; margin: 0 auto; padding: clamp(32px, 5vw, 72px) clamp(28px, 5.4vw, 80px); background: #FFFFFF; border-radius: 3px;
  box-shadow: 0 1px 1px rgba(14,26,60,.08), 0 2px 6px rgba(14,26,60,.05), 0 40px 70px -40px rgba(14,26,60,.4); }
.g32__paper::before, .g32__paper::after { content: ''; position: absolute; left: 10px; right: 10px; height: 100%; top: 0; z-index: -1; background: #FBFBFD; border-radius: 3px; box-shadow: 0 1px 2px rgba(14,26,60,.1); }
.g32__paper::before { transform: translateY(8px) rotate(.6deg); } .g32__paper::after { transform: translateY(14px) rotate(-.5deg); left: 18px; right: 18px; }
.g32__lh { display: flex; align-items: center; gap: 16px; padding-bottom: 22px; margin-bottom: clamp(26px, 4vh, 40px); border-bottom: 1px solid rgba(14,26,60,.14); }
.g32__lhl { flex: 1; height: 1px; }
.g32__paper p:not(.g32__k) { margin: 18px 0 0; max-width: 62ch; }
.g32__sig { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: clamp(40px, 6vh, 64px); }
.g32__sig i { height: 1px; background: rgba(14,26,60,.3); }
/* 2 · διαφάνεια παρουσίασης σε οθόνη */
.g32__slide { position: relative; max-width: 1060px; margin: 0 auto; padding: clamp(10px, 1.4vw, 18px); border-radius: 18px; background: #11131A; box-shadow: 0 40px 80px -40px rgba(14,26,60,.7); }
.g32__slide::after { content: ''; position: absolute; left: 50%; bottom: -26px; width: 18%; height: 26px; transform: translateX(-50%); background: linear-gradient(#2A2D36, #1A1C23); clip-path: polygon(12% 0, 88% 0, 100% 100%, 0 100%); }
.g32__sl { aspect-ratio: 16 / 9; padding: clamp(24px, 5.4%, 64px) clamp(24px, 6%, 72px); border-radius: 8px; background: #FFFFFF; display: grid; align-content: start; }
.g32__sl::before { content: ''; width: 56px; height: 4px; margin-bottom: clamp(18px, 3%, 30px); background: #D05927; border-radius: 2px; }
.g32__cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); margin-top: clamp(20px, 4%, 40px); }
.g32__cols p { margin: 0; }
.g32__foot { position: absolute; left: clamp(34px, 7%, 90px); right: clamp(34px, 7%, 90px); bottom: clamp(24px, 4.4%, 48px); display: flex; justify-content: space-between; align-items: center; }
.g32__pg { width: 36px; height: 3px; border-radius: 2px; background: #DCE2EC; }
/* 3 · φάκελος με καρτέλα */
.g32__folder { position: relative; max-width: 1060px; margin: 52px auto 0; padding: clamp(14px, 2vw, 24px); border-radius: 0 18px 18px 18px; background: #0E1A3C; box-shadow: 0 40px 80px -46px rgba(14,26,60,.7); }
.g32__tab { position: absolute; left: 0; bottom: 100%; padding: 12px 22px 10px; border-radius: 12px 12px 0 0; background: #0E1A3C; color: #F2A27C; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.g32__sheet { padding: clamp(28px, 4.4vw, 64px); border-radius: 10px; background: #FFFFFF; box-shadow: 0 -10px 0 -4px #F4F6FA, 0 -20px 0 -8px #E6EBF3; }

@media (max-width: 900px) {
  .ap32__tune, .ap32__tune2, .ap32__text--wide, .p32__cols, .p32__cards, .p32__zig, .c32__grid, .c32__two, .g32__cols { grid-template-columns: 1fr; }
  .p32__zig--r .p32__vis { order: 0; }
  .ap32__panel { column-gap: 16px; } .sl__label { font-size: 1rem; }
  .sl--col .sl__label { font-size: .875rem; }
  .g32__sl { aspect-ratio: auto; } .g32__foot { position: static; margin-top: 28px; } .g32__slide::after { display: none; }
  .g32__sig { gap: 24px; }
  .c32__doc { order: 2; }
}
@media (max-width: 560px) { .c32__r { grid-template-columns: 1fr; gap: 8px; } }
@media (prefers-reduced-motion: reduce) { .mj__l, .mj__r, .sl, .c32__big .red, .inc__stack { transition: none !important; } }

/* =====================================================================
   v33
   ===================================================================== */
/* ---------- Αποστολή: ψηφιδωτό, τα δύο μέρη ενώνονται ---------- */
.ms2__mark .pt { transform: translate(var(--dx), var(--dy)); opacity: 1; transition: transform 1.6s var(--ease) var(--d); }
.ms2__mark.in .pt { transform: none; }

/* ---------- Προσέγγιση: ενιαία σύνθεση ---------- */
.ap33 .apA__h { max-width: 24ch; }
.ap33__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); margin-top: clamp(44px, 7vh, 72px); }
.ap33__lead { display: flex; gap: 14px; align-items: baseline; margin: 0; min-height: 3.3em; max-width: 46ch; font-size: 1.125rem; line-height: 1.55; color: #C9D2E6; }
.ap33__list { list-style: none; margin: 22px 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.18); }
.ap33__row { display: flex; align-items: center; min-height: 64px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: clamp(1.125rem, 1.05rem + .3vw, 1.3125rem); line-height: 1.35; font-weight: 500; color: #fff; }
.ap33__row--tune { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: 20px; }
.ap33__lab { font-size: clamp(1.0625rem, 1rem + .2vw, 1.1875rem); color: #fff; }
.ap33__sl { display: block; }
.ap33__sl .sl__track { display: block; height: 4px; }
.ap33__both { margin: clamp(32px, 5vh, 48px) 0 0; max-width: 60ch; font-size: 1.1875rem; line-height: 1.6; color: #C9D2E6; } .ap33__both strong { color: #fff; }

/* ---------- Επαγγελματίες: η κεφαλή σε όλο το πλάτος ---------- */
.p33__head { max-width: none; }
.p33__h { margin: 12px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.875rem, 1.2rem + 2vw, 3rem); line-height: 1.08; letter-spacing: -.018em; color: var(--ink); max-width: none; text-wrap: balance; }
.p33 .pro__lead { max-width: 70ch; }

/* ---------- Εμπιστευτικότητα 1 · θολό τζάμι ---------- */
.n33 { position: relative; padding-top: clamp(96px, 13vh, 150px); }
.n33 .cf__h em { color: var(--ng-teal-d); }
.n33__glassgrid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 88px); align-items: center; margin-top: clamp(32px, 5vh, 52px); }
.n33__pane { position: relative; overflow: hidden; border-radius: 20px; background: #FFFFFF; box-shadow: 0 1px 0 rgba(14,26,60,.06), 0 30px 60px -46px rgba(14,26,60,.5); padding: clamp(28px, 3.4vw, 44px) clamp(28px, 3.4vw, 44px) 0; }
.n33__behind { list-style: none; margin: 0; padding: 0; }
.n33__behind li { padding: 16px 0; border-bottom: 1px solid rgba(14,26,60,.1); font-size: 1.125rem; color: #26324F; }
.n33__frost { position: absolute; left: 0; right: 0; top: 0; bottom: 92px; background: rgba(255,255,255,.35); -webkit-backdrop-filter: blur(9px) saturate(.6); backdrop-filter: blur(9px) saturate(.6);
  box-shadow: inset 0 -1px 0 rgba(14,26,60,.08); }
.n33__frost::after { content: ''; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,.55) 0 18%, transparent 18% 32%, rgba(255,255,255,.3) 32% 36%, transparent 36%); }
.n33__front { position: relative; display: flex; align-items: center; gap: 16px; height: 92px; font-size: 1.0625rem; font-weight: 600; color: var(--ng-teal-d); }
.n33__dots { width: 64px; height: 10px; flex: none; background: radial-gradient(circle, var(--ng-teal) 4px, transparent 4.5px) 0 50% / 16px 10px repeat-x; }
.n33__txt p, .n33__fig figcaption p { margin: 0; font-size: 1.125rem; line-height: 1.66; color: var(--tx-1); max-width: 46ch; }
.n33__txt p + p { margin-top: 22px; }

/* ---------- Εμπιστευτικότητα 2 · δύο οθόνες ---------- */
.n33__devs { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(28px, 4vw, 64px); margin-top: clamp(32px, 5vh, 52px); align-items: end; }
.n33__fig { margin: 0; display: grid; gap: 26px; }
.n33__stagephone { display: grid; place-items: center; height: clamp(320px, 44vh, 420px); border-radius: 20px; background: linear-gradient(180deg, #EEF4F6, #DCEAEF); }
.n33__dev { width: clamp(140px, 18vh, 176px); }
.n33__laptop { display: grid; justify-items: center; height: clamp(320px, 44vh, 420px); align-content: center; border-radius: 20px; background: linear-gradient(180deg, #F2F4F8, #E3E8F0); padding: 0 6%; }
.n33__screen { width: 100%; aspect-ratio: 16 / 10; padding: 14px; border-radius: 12px 12px 0 0; background: #11131A; }
.n33__screen > * { background: #fff; }
.n33__bar { height: 28px; border-radius: 6px 6px 0 0; background: #F4F6FA !important; box-shadow: inset 0 -1px 0 rgba(14,26,60,.08); }
.n33__aggrid { height: calc(100% - 28px); padding: 6% 8%; border-radius: 0 0 6px 6px; }
.n33__base { width: 112%; height: 14px; border-radius: 0 0 14px 14px; background: linear-gradient(#D7DBE3, #B9BFCB); }

/* ---------- Εμπιστευτικότητα 3 · ετικέτα απορρήτου ---------- */
.n33__labgrid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 88px); align-items: start; }
.n33__labgrid .cf__h { white-space: normal; max-width: 13ch; }
.n33__labgrid .x-privlink { margin-top: 28px; }
.n33__card { border-radius: 18px; background: #FFFFFF; box-shadow: 0 0 0 1px rgba(14,26,60,.08), 0 30px 60px -48px rgba(14,26,60,.5); overflow: hidden; }
.n33__sec { padding: clamp(24px, 3vw, 36px); }
.n33__sec + .n33__sec { border-top: 1px solid rgba(14,26,60,.1); background: #F7FAFB; }
.n33__sech { margin: 0 0 14px; font-size: 1.0625rem; font-weight: 700; color: var(--ink); }
.n33__sec ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.n33__sec li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 16px; align-items: center; padding: 10px 0; font-size: 1.0625rem; line-height: 1.45; color: #2B3753; }
.n33__sec svg { width: 22px; height: 22px; color: #6B7690; }
.n33__sec--yes svg { color: var(--ng-teal-d); }

/* ---------- Εγγύηση 1 · τι ορίζεται ---------- */
.w33 { position: relative; padding-top: clamp(96px, 13vh, 150px); }
.w33__h { margin: 12px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(1.75rem, 1.2rem + 1.7vw, 2.75rem); line-height: 1.08; letter-spacing: -.018em; color: #0E1A3C; max-width: 22ch; text-wrap: balance; }
.w33__lead { margin: 18px 0 0; max-width: 56ch; font-size: clamp(1.125rem, 1.06rem + .3vw, 1.3125rem); line-height: 1.6; color: var(--tx-1); }
.w33__terms { margin-top: clamp(32px, 5vh, 48px); }
.w33__terms ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.w33__terms li { display: grid; gap: 22px; padding: 24px 26px 28px; border-radius: 16px; background: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(14,26,60,.08); font-family: var(--f-t); font-size: clamp(1.375rem, 1.15rem + .7vw, 1.75rem); font-weight: 600; color: #0E1A3C; }
.w33__terms li span { font-family: var(--f); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; color: #D05927; }
.w33__where { position: relative; margin: 0; padding: 22px 26px; border-radius: 0 0 16px 16px; font-size: 1.125rem; line-height: 1.5; color: #fff; background: #0E1A3C; margin-top: 12px; border-radius: 16px; }

/* ---------- Εγγύηση 2 · ανάγνωση με έμφαση ---------- */
.w33__readgrid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.w33__sticky { position: sticky; top: 130px; }
.w33__read { padding-top: 6px; }
.w33__s { margin: 0; font-family: var(--f-t); font-weight: 500; font-size: clamp(1.375rem, 1.1rem + .9vw, 1.875rem); line-height: 1.42; letter-spacing: -.008em; color: rgba(14,26,60,.32); transition: color .6s var(--ease); }
.w33__s + .w33__s { margin-top: clamp(28px, 5vh, 44px); }
.w33__s.on { color: #0E1A3C; } .w33__s strong { font-weight: 600; } .w33__s.on strong { color: #D05927; }

/* ---------- Εγγύηση 3 · η κάρτα της παροχής ---------- */
.w33__cardgrid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(36px, 6vw, 96px); align-items: center; }
.w33__objwrap { display: grid; place-items: center; padding: clamp(36px, 5vw, 64px) clamp(20px, 3vw, 40px); border-radius: 22px; background: linear-gradient(160deg, #F4F6FA, #E4E9F1); }
.w33__obj { position: relative; width: min(100%, 400px); aspect-ratio: 1.586; border-radius: 18px; padding: 7% 8%; display: grid; grid-template-rows: auto 1fr auto; color: #fff;
  background: radial-gradient(120% 120% at 100% 100%, rgba(72,155,175,.45), transparent 55%), linear-gradient(150deg, var(--ng-deep), var(--ng-ind));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 2px 4px rgba(14,26,60,.2), 0 40px 60px -30px rgba(20,33,70,.65); transform: rotate(-4deg); }
.w33__chip { width: 15%; aspect-ratio: 1.3; border-radius: 6px; background: linear-gradient(135deg, #E9D6A8, #C8A866); box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.w33__brand { align-self: center; font-family: var(--f-t); font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); font-weight: 600; letter-spacing: -.01em; }
.w33__name { font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #FFC8A3; }
.w33__mk { position: absolute; right: 8%; bottom: 9%; width: 13%; aspect-ratio: 420 / 430; background: var(--ng-or); -webkit-mask: url("mark.svg") center / contain no-repeat; mask: url("mark.svg") center / contain no-repeat; }
.w33__p { margin: 18px 0 0; max-width: 50ch; font-size: 1.125rem; line-height: 1.66; color: var(--tx-1); }

/* ---------- Ερωτήσεις: η παρουσίαση της σελίδας «Οι λύσεις μας», με λευκό φόντο σε κάθε σειρά και στην απάντηση ---------- */
.faq33 { position: relative; }
.faq33 .faq__list { border-top: 0; display: grid; gap: 8px; }
.faq33 details { border-bottom: 0; border-radius: 12px; background: #FFFFFF; box-shadow: 0 0 0 1px rgba(14,26,60,.06); padding: 0 24px; }
.faq33 details p { padding-bottom: 22px; }

@media (max-width: 900px) {
  .ap33__grid, .n33__glassgrid, .n33__devs, .n33__labgrid, .w33__readgrid, .w33__cardgrid, .w33__terms ul { grid-template-columns: 1fr; }
  .ap33__lead { min-height: 0; }
  .w33__sticky { position: static; }
  .n33__pane { order: 2; }
  .w33__obj { transform: rotate(-2deg); }
}
@media (max-width: 560px) { .ap33__row--tune { grid-template-columns: 1fr; gap: 14px; } .faq33 details { padding: 0 18px; } }
@media (prefers-reduced-motion: reduce) { .ms2__mark .pt, .w33__s { transition: none !important; } }
/* προεπισκόπηση: ετικέτα πάνω από κάθε πρόταση (δεν ανήκει στο τελικό site) */
.alt-tag { position: relative; padding-top: clamp(80px, 11vh, 120px); }
.alt-tag span { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 999px; background: #D05927; color: #fff; font-size: .9375rem; font-weight: 700; letter-spacing: .02em; box-shadow: 0 8px 20px -10px rgba(208,89,39,.8); }
.alt-tag + [data-alt] { padding-top: 28px; }
.w33__s { color: rgba(14,26,60,.5); }

/* =====================================================================
   v33 · Προσέγγιση: τρεις νέες εκδοχές (μπλε της Humera, οι μπάρες ελέγχονται από τον επισκέπτη)
   ===================================================================== */
.ap34 .apA__h { max-width: 24ch; }
.ap34__p { margin: 0; max-width: 44ch; font-size: 1.1875rem; line-height: 1.55; color: #C9D2E6; }
.ap34__both { margin: clamp(36px, 5vh, 52px) 0 0; max-width: 60ch; font-size: 1.1875rem; line-height: 1.6; color: #C9D2E6; } .ap34__both strong { color: #fff; }
/* 1 · διαδρομή δύο σταθμών */
.ap34__route { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 96px); margin-top: clamp(48px, 7vh, 80px); padding-top: 46px; }
.ap34__route::before { content: ''; position: absolute; left: 22px; right: 0; top: 21px; height: 2px; background: linear-gradient(90deg, #D05927, rgba(208,89,39,.15)); }
.ap34__stop { position: relative; }
.ap34__node { position: absolute; top: -46px; left: 0; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #0E1A3C; box-shadow: inset 0 0 0 2px #D05927; color: #fff; font-size: .875rem; font-weight: 700; }
.ap34__stop .ap34__p { padding-top: 22px; }
.ap34__pills { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ap34__pills li { padding: 10px 16px; border-radius: 999px; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); color: #fff; font-size: 1.0625rem; }
.ap34__steps { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 18px; }
.ap34__steps li { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: 18px; align-items: center; }
.ap34__lab { color: #fff; font-size: 1.0625rem; }
.sl--seg .sl__track { height: 12px; border-radius: 3px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.14) 0 calc(20% - 4px), transparent calc(20% - 4px) 20%); }
.sl--seg .sl__fill { border-radius: 3px; transform: none; background: repeating-linear-gradient(90deg, #D05927 0 calc(20% - 4px), transparent calc(20% - 4px) 20%); clip-path: inset(0 calc((1 - var(--v)) * 100%) 0 0); }
.sl--seg .sl__knob { width: 4px; height: 22px; border-radius: 2px; right: -2px; margin-top: -11px; box-shadow: none; background: #fff; }
/* 2 · η πρόταση ως εργαλείο */
.ap34__text { margin-top: clamp(44px, 7vh, 72px); max-width: 1040px; }
.ap34__big { margin: 0; font-family: var(--f-t); font-weight: 500; font-size: clamp(1.375rem, 1.05rem + 1.1vw, 2rem); line-height: 1.6; color: #C9D2E6; }
.ap34__big + .ap34__big { margin-top: clamp(28px, 4vh, 40px); }
.ap34__u { color: #fff; text-decoration: underline; text-decoration-color: rgba(208,89,39,.7); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.ap34__big--tune { line-height: 2.1; color: #fff; }
.ap34__w { position: relative; display: inline-block; line-height: 1.3; padding-bottom: 14px; }
.sl--inl { position: absolute; left: 0; right: 0; bottom: 0; }
.sl--inl .sl__track { display: block; height: 4px; }
.sl--inl .sl__knob { width: 14px; height: 14px; right: -7px; margin-top: -7px; box-shadow: 0 0 0 2px #0E1A3C, 0 0 0 4px rgba(208,89,39,.6); }
/* 3 · τρεις στήλες και τέσσερα καντράν */
.ap34__p--w { display: flex; gap: 14px; align-items: baseline; margin-top: clamp(44px, 7vh, 72px); max-width: 60ch; }
.ap34__three { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ap34__three li { display: grid; gap: 14px; align-content: start; padding: 22px 24px 26px; border-radius: 14px; background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); color: #fff; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.4; }
.ap34__three span { font-size: .8125rem; font-weight: 700; color: #F2A27C; }
.ap34__p--2 { margin-top: clamp(40px, 6vh, 60px); }
.ap34__dials { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.dial { display: grid; justify-items: center; gap: 12px; padding: 20px 10px 22px; border-radius: 14px; background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
.dial__k { width: clamp(96px, 9vw, 124px); aspect-ratio: 1; cursor: grab; touch-action: none; border-radius: 50%; outline: none; }
.dial__k:focus-visible { box-shadow: 0 0 0 3px #fff; }
.dial svg { width: 100%; height: 100%; display: block; transform: rotate(135deg); }
.dial circle { fill: none; stroke-width: 8; stroke-linecap: round; }
.dial__bg { stroke: rgba(255,255,255,.14); stroke-dasharray: 75 100; }
.dial__arc { stroke: #D05927; stroke-dasharray: 75 100; stroke-dashoffset: calc(75 - var(--v) * 75); stroke-dasharray: calc(var(--v) * 75) 100; stroke-dashoffset: 0; }
.dial__kn { transform-box: view-box; transform-origin: 60px 60px; transform: rotate(calc(90deg + var(--v) * 270deg)); }
.dial__kn circle { fill: #fff; stroke: #0E1A3C; stroke-width: 3; }
.dial__lab { color: #fff; font-size: 1rem; font-weight: 600; text-align: center; }
@media (max-width: 900px) {
  .ap34__route { grid-template-columns: 1fr; padding-top: 0; } .ap34__route::before { display: none; } .ap34__node { position: static; margin-bottom: 4px; } .ap34__stop .ap34__p { padding-top: 12px; }
  .ap34__three { grid-template-columns: 1fr; } .ap34__dials { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) { .ap34__steps li { grid-template-columns: 1fr; gap: 10px; } }
.ap34 .sl--seg { display: block; } .ap34 .sl--seg .sl__track { display: block; }

/* =====================================================================
   v33 · Προσέγγιση: ολοκληρωτική αλλαγή (apz)
   ===================================================================== */
.apz { position: relative; padding-top: clamp(96px, 13vh, 150px); }
.apz__h { margin: 20px 0 0; font-family: var(--f-t); font-weight: 600; font-size: clamp(2rem, 1.2rem + 2.4vw, 3.25rem); line-height: 1.06; letter-spacing: -.022em; color: #0E1A3C; max-width: 22ch; text-wrap: balance; }
.apz__p { display: flex; gap: 14px; align-items: baseline; margin: 0; max-width: 44ch; font-size: 1.1875rem; line-height: 1.55; color: var(--tx-1); }
.apz__n { flex: none; font-size: .875rem; font-weight: 700; letter-spacing: .06em; color: #D05927; }
.apz__both { margin: clamp(40px, 6vh, 60px) 0 0; max-width: 60ch; font-size: 1.1875rem; line-height: 1.6; color: var(--tx-1); }
/* 1 · σημειώσεις και φύλλο δράσης */
.apz1__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); margin-top: clamp(44px, 7vh, 72px); }
.apz1__col { display: grid; grid-template-rows: auto 1fr; gap: 26px; }
.apz1__note, .apz1__sheet { position: relative; margin: 0; padding: 46px clamp(26px, 3vw, 40px) 34px; background: #FFFFFF; border-radius: 4px; box-shadow: 0 1px 1px rgba(14,26,60,.08), 0 2px 6px rgba(14,26,60,.05), 0 30px 60px -40px rgba(14,26,60,.45); }
.apz1__note { background: #FFFEFB repeating-linear-gradient(transparent 0 43px, rgba(72,120,180,.16) 43px 44px) 0 46px / 100% calc(100% - 46px) no-repeat; transform: rotate(-1deg); }
.apz1__rings { position: absolute; left: 8%; right: 8%; top: -10px; height: 22px; background: radial-gradient(circle at 50% 50%, #C9CFDA 5px, transparent 5.5px) 0 0 / 34px 22px repeat-x; }
.apz1__note ul { list-style: none; margin: 0; padding: 0; }
.apz1__note li { position: relative; display: flex; align-items: center; min-height: 44px; padding-left: 38px; font-size: 1.125rem; color: #26324F; }
.apz1__note li::before { content: ''; position: absolute; left: 4px; top: 50%; width: 18px; height: 10px; margin-top: -8px; border-left: 2.5px solid #D05927; border-bottom: 2.5px solid #D05927; transform: rotate(-45deg); }
.apz1__sheet { transform: rotate(.8deg); }
.apz1__clip { position: absolute; left: 50%; top: -16px; width: 86px; height: 30px; margin-left: -43px; border-radius: 6px 6px 3px 3px; background: linear-gradient(#5B6475, #2F3644); }
.apz1__sheet ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.apz1__sheet li { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: 18px; align-items: center; min-height: 52px; border-bottom: 1px solid rgba(14,26,60,.08); font-size: 1.0625rem; color: #26324F; }
.apz1__sheet i { display: block; width: var(--w); height: 14px; border-radius: 3px; background: linear-gradient(90deg, rgba(208,89,39,.35), rgba(208,89,39,.6)); transform: skewX(-8deg); }
/* 2 · μπλε ζώνη, χτίζεται με το scroll */
.apz--2 { margin-top: clamp(96px, 13vh, 150px); padding: clamp(72px, 10vh, 120px) 0; background: #0E1A3C; box-shadow: 0 0 0 100vmax #0E1A3C; clip-path: inset(0 -100vmax); }
.apz--2 .apz__h { color: #fff; } .apz--2 .apz__p, .apz--2 .apz__both { color: #C9D2E6; } .apz--2 .apz__both strong { color: #fff; } .apz--2 .apz__n { color: #F2A27C; }
.apz2__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); margin-top: clamp(44px, 7vh, 72px); align-items: start; }
.apz2__list { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 10px; }
.apz2__list li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 14px; align-items: center; padding: 16px 18px; border-radius: 12px; font-size: 1.125rem; color: rgba(255,255,255,.4); background: rgba(255,255,255,.03); transition: color .6s var(--ease), background-color .6s var(--ease); transition-delay: calc(var(--i) * .35s); }
.apz2__list span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; font-size: .875rem; font-weight: 700; color: rgba(255,255,255,.4); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.2); transition: inherit; }
.apz--2.in .apz2__list li { color: #fff; background: rgba(255,255,255,.07); }
.apz--2.in .apz2__list span { color: #fff; background: #D05927; box-shadow: none; }
.apz2__frame { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 26px; padding: 10px; border-radius: 18px; box-shadow: inset 0 0 0 2px rgba(255,255,255,.12); background: repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 10px, transparent 10px 20px); }
.apz2__piece { display: grid; gap: 18px; align-content: space-between; min-height: clamp(110px, 15vh, 150px); padding: 20px 22px; border-radius: 12px; background: #FFFFFF; color: #0E1A3C; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); font-weight: 600;
  opacity: 0; transform: translate(var(--tx, 0), 40px) rotate(var(--r, 0deg)); transition: opacity .6s var(--ease), transform .9s var(--ease); transition-delay: calc(1.2s + var(--i) * .22s); }
.apz2__piece:nth-child(1) { --tx: -30px; --r: -4deg; } .apz2__piece:nth-child(2) { --tx: 30px; --r: 5deg; } .apz2__piece:nth-child(3) { --tx: -24px; --r: 3deg; } .apz2__piece:nth-child(4) { --tx: 26px; --r: -5deg; }
.apz2__piece b { width: 28px; height: 4px; border-radius: 2px; background: #D05927; }
.apz--2.in .apz2__piece { opacity: 1; transform: none; }
/* 3 · συνθήκες, πλακίδια, «μαζί / ανεξάρτητα» */
.apz3__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); margin-top: clamp(44px, 7vh, 72px); align-items: start; }
.apz3__list { list-style: none; margin: 24px 0 0; padding: 0; }
.apz3__list li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 18px 0; border-top: 1px solid rgba(14,26,60,.14); font-size: clamp(1.125rem, 1.06rem + .3vw, 1.3125rem); line-height: 1.4; color: var(--ink); }
.apz3__list li:last-child { border-bottom: 1px solid rgba(14,26,60,.14); }
.apz3__list span { font-family: var(--f-t); font-size: 1.75rem; font-weight: 600; line-height: 1; color: #D05927; }
.apz3__tiles { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.apz3__tiles li { display: grid; gap: 22px; align-content: space-between; min-height: 140px; padding: 22px 24px; border-radius: 16px; background: #0E1A3C; color: #fff; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); font-weight: 600; }
.apz3__tiles svg { width: 34px; height: 34px; color: #F2A27C; }
.apz3__duo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: center; margin-top: clamp(40px, 6vh, 64px); padding: clamp(26px, 3.4vw, 44px); border-radius: 20px; background: #FFFFFF; box-shadow: 0 0 0 1px rgba(14,26,60,.06), 0 30px 60px -50px rgba(14,26,60,.5); }
.apz3__s { margin: 0; font-size: clamp(1.1875rem, 1.1rem + .4vw, 1.4375rem); line-height: 1.5; color: var(--ink); }
.apz3__ctrl { display: grid; justify-items: center; gap: 22px; }
.apz3__venn { position: relative; width: min(100%, 440px); height: 170px; }
.apz3__c { position: absolute; top: 0; width: 170px; height: 170px; border-radius: 50%; display: grid; place-items: center; text-align: center; padding: 0 26px; font-size: 1rem; font-weight: 700; line-height: 1.25; transition: transform .7s var(--ease); }
.apz3__c--a { left: 50%; margin-left: -150px; background: rgba(14,26,60,.08); box-shadow: inset 0 0 0 2px #0E1A3C; color: #0E1A3C; }
.apz3__c--b { left: 50%; margin-left: -20px; background: rgba(208,89,39,.1); box-shadow: inset 0 0 0 2px #D05927; color: #A8431B; }
.apz3__venn[data-mode="apart"] .apz3__c--a { transform: translateX(-46px); } .apz3__venn[data-mode="apart"] .apz3__c--b { transform: translateX(46px); }
.apz3__seg { display: inline-flex; padding: 5px; border-radius: 999px; background: #F2F4F8; box-shadow: inset 0 0 0 1px rgba(14,26,60,.1); }
.apz3__seg button { padding: 11px 22px; border: 0; border-radius: 999px; background: transparent; color: #0E1A3C; font: inherit; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background .25s, color .25s; }
.apz3__seg button[aria-checked="true"] { background: #0E1A3C; color: #fff; }
.apz3__seg button:focus-visible { outline: 3px solid #D05927; outline-offset: 2px; }
@media (max-width: 900px) { .apz1__grid, .apz2__grid, .apz3__grid, .apz3__duo { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .apz1__sheet li { grid-template-columns: 1fr; gap: 6px; padding: 10px 0; } .apz3__tiles li { min-height: 116px; padding: 18px; }
  .apz3__venn { height: 140px; } .apz3__c { width: 140px; height: 140px; font-size: .875rem; padding: 0 18px; } .apz3__c--a { margin-left: -124px; } .apz3__c--b { margin-left: -16px; }
  .apz3__venn[data-mode="apart"] .apz3__c--a { transform: translateX(-26px); } .apz3__venn[data-mode="apart"] .apz3__c--b { transform: translateX(26px); } }
@media (prefers-reduced-motion: reduce) { .apz2__list li, .apz2__list span, .apz2__piece, .apz3__c { transition: none !important; } }

/* =====================================================================
   v33 · Προσέγγιση με τη γλώσσα των εγκεκριμένων σελίδων (az)
   ===================================================================== */
.az { position: relative; padding-top: clamp(96px, 13vh, 150px); }
/* 1 · το λευκό πάνελ του «Οι λύσεις μας» */
.az1__body { align-items: start; padding-bottom: 8px; }
.az1__copy > p:not(.sx-pane__w) { margin: 18px 0 0; max-width: 44ch; color: var(--tx-1); line-height: 1.7; font-size: var(--s-body, 1.0625rem); }
.az1__copy .sx-pane__n { max-width: 15ch; }
.az-facts { margin-top: 14px !important; max-width: 30rem; }
.az__both { margin: 18px 0 0; max-width: 44ch; color: var(--tx-1); line-height: 1.7; }
.az1__vis { aspect-ratio: auto; display: grid; gap: 14px; align-content: center; padding: clamp(18px, 2.4vw, 32px); border-radius: 28px; background: var(--bg-0, #F2F4F8); }
.az1__plane { position: relative; aspect-ratio: 600 / 420; }
.az1__plane svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.az1__plane .chip { max-width: 34%; white-space: normal; text-align: left; transition: transform .55s var(--ease), opacity .45s var(--ease); opacity: 0; }
.az1.in .az1__plane .chip, .az--1.in .az1__plane .chip { opacity: 1; transform: translate(-50%, -50%); }
.az1__plane .chip { transform: translate(0, -50%) translateY(8px); } .az--1.in .az1__plane .chip { transform: translate(0, -50%); }
.az1__foot { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.az1__foot .chip { position: static; transform: none; }
.az--1 .ln { transition: stroke-dashoffset .8s var(--ease) var(--d); } .az--1.in .ln { stroke-dashoffset: 0; }
.az--1 .bx { transition: transform .55s var(--ease); } .az--1.in .bx { transform: none; }
.az--1 .pp { opacity: 0; transform: translateY(6px); transform-box: fill-box; transition: opacity .45s var(--ease), transform .55s var(--ease); transition-delay: var(--d, 0ms); } .az--1.in .pp { opacity: 1; transform: none; }
/* 2 · η πορτοκαλί γραμμή του «Πώς δουλεύουμε», σε μπλε ζώνη */
.az--2 { margin-top: clamp(96px, 13vh, 150px); padding: clamp(72px, 10vh, 120px) 0; background: #0E1A3C; box-shadow: 0 0 0 100vmax #0E1A3C; clip-path: inset(0 -100vmax); }
.az--2 .eyebrow { background: #fff; color: #0E1A3C; }
.az2__h { color: #fff !important; max-width: 24ch; }
.az2__p { margin: clamp(40px, 6vh, 60px) 0 0; max-width: 52ch; color: #C9D2E6; line-height: 1.7; font-size: var(--s-body, 1.0625rem); }
.az2__both strong { color: #fff; }
.az2__line { position: relative; display: grid; gap: var(--item, 28px); margin-top: 22px; padding-top: 40px; }
.az2__line--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .az2__line--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.az2__ink { position: absolute; left: 0; right: 0; top: 11px; height: 1.4px; background: #D05927; transform-origin: left; transform: scaleX(0); transition: transform 1.2s var(--ease); }
.az--2.in .az2__ink { transform: none; }
.az2__step { position: relative; opacity: .35; transition: opacity .6s var(--ease); }
.az2__step::before { content: ''; position: absolute; left: 0; top: -37px; width: 16px; height: 8px; border: 1.4px solid #D05927; border-bottom: 0; border-radius: 8px 8px 0 0; background: #0E1A3C; }
.az--2.in .az2__step { opacity: 1; }
.az--2.in .az2__step:nth-child(3) { transition-delay: .2s; } .az--2.in .az2__step:nth-child(4) { transition-delay: .4s; } .az--2.in .az2__step:nth-child(5) { transition-delay: .6s; }
.az2__step .k { display: block; margin-bottom: 12px; color: #F2A27C !important; }
.az2__step h3 { margin: 0; color: #fff !important; max-width: 22ch; }
/* 3 · τα πλέγματα ανθρώπων του «Μια δράση ή ένα πρόγραμμα» */
.az3__h { max-width: 24ch; }
.az3__row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: center; margin-top: clamp(48px, 7vh, 80px); }
.az3__t { margin: 0; font-size: .875rem; font-weight: 700; letter-spacing: .06em; color: var(--ember-deep, #A8431B); }
.az3__txt > p { margin: 12px 0 0; max-width: 44ch; color: var(--tx-1); line-height: 1.7; font-size: var(--s-body, 1.0625rem); }
.az3__vis { aspect-ratio: 640 / 380; }
.az3__vis svg { width: 100%; height: 100%; display: block; overflow: visible; }
.az3__vis .zone, .az3__vis .card, .az3__vis .hl { opacity: 0; transition: opacity .7s var(--ease) .5s; }
.az3__vis.in .zone, .az3__vis.in .card, .az3__vis.in .hl { opacity: 1; }
.az3__vis .br { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1s var(--ease) .9s; } .az3__vis.in .br { stroke-dashoffset: 0; }
@media (max-width: 900px) {
  .az3__row { grid-template-columns: 1fr; } .az2__line--3, .az2__line--4 { grid-template-columns: 1fr; padding: 0 0 0 34px; }
  .az2__ink { left: 11px; right: auto; top: 0; bottom: 0; width: 1.4px; height: auto; transform-origin: top; transform: scaleY(0); } .az--2.in .az2__ink { transform: none; }
  .az2__step::before { left: -34px; top: 4px; width: 8px; height: 16px; border: 1.4px solid #D05927; border-right: 0; border-radius: 8px 0 0 8px; margin-left: 4px; }
}
@media (prefers-reduced-motion: reduce) { .az2__ink, .az2__step, .az3__vis *, .az--1 * { transition: none !important; } }
.az1__svg { position: absolute; inset: 0; } .az1__plane .chip { z-index: 1; }

/* ---------- v33 · Προσέγγιση: συνδυασμός 2 + 3 (μπλε ζώνη, κάθετη πορτοκαλί γραμμή, πλέγματα ανθρώπων) ---------- */
.az--4 { margin-top: clamp(96px, 13vh, 150px); padding: clamp(72px, 10vh, 120px) 0; background: #0E1A3C; box-shadow: 0 0 0 100vmax #0E1A3C; clip-path: inset(0 -100vmax); }
.az--4 .eyebrow { background: #fff; color: #0E1A3C; }
.az4__h { color: #fff !important; max-width: 24ch; }
.az4__row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: center; margin-top: clamp(48px, 8vh, 88px); }
.az4__p { margin: 0; max-width: 46ch; color: #C9D2E6; line-height: 1.7; font-size: var(--s-body, 1.0625rem); }
.az4__both { margin-top: clamp(44px, 7vh, 72px); } .az4__both strong { color: #fff; }
.az4__line { position: relative; display: grid; gap: 26px; margin-top: 28px; padding-left: 38px; }
.az4__ink { position: absolute; left: 11px; top: 0; bottom: 0; width: 1.4px; background: #D05927; transform-origin: top; transform: scaleY(0); transition: transform 1.2s var(--ease); }
.az4__row.in .az4__ink { transform: none; }
.az4__step { position: relative; opacity: .35; transition: opacity .6s var(--ease); }
.az4__step::before { content: ''; position: absolute; left: -31px; top: 3px; width: 8px; height: 16px; border: 1.4px solid #D05927; border-right: 0; border-radius: 8px 0 0 8px; background: #0E1A3C; }
.az4__row.in .az4__step { opacity: 1; } .az4__row.in .az4__step:nth-child(3) { transition-delay: .2s; } .az4__row.in .az4__step:nth-child(4) { transition-delay: .4s; } .az4__row.in .az4__step:nth-child(5) { transition-delay: .6s; }
.az4__step .k { display: block; margin-bottom: 6px; color: #F2A27C !important; }
.az4__step h3 { margin: 0; color: #fff !important; max-width: 26ch; }
.az4__vis { aspect-ratio: 640 / 380; }
.az4__vis svg { width: 100%; height: 100%; display: block; overflow: visible; }
.az4__vis .zone, .az4__vis .card, .az4__vis .hl { opacity: 0; transition: opacity .7s var(--ease) .5s; }
.az4__vis.in .zone, .az4__vis.in .card, .az4__vis.in .hl { opacity: 1; }
.az4__vis .br { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1s var(--ease) .9s; } .az4__vis.in .br { stroke-dashoffset: 0; }
@media (max-width: 900px) { .az4__row { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .az4__ink, .az4__step, .az4__vis * { transition: none !important; } }

/* ---------- Σελίδα 404 (ίδιο πρότυπο με τις υπόλοιπες σελίδες) ---------- */
.nf { position: relative; padding: clamp(150px, 22vh, 220px) 0 clamp(80px, 12vh, 140px); }
.nf__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.nf__h { margin-top: 18px; max-width: 14ch; }
.nf__p { margin: 22px 0 0; max-width: 40ch; color: var(--tx-1); line-height: 1.7; font-size: clamp(1.0625rem, 1rem + .25vw, 1.1875rem); }
.nf__act { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 34px; }
.nf__btn { text-decoration: none; display: inline-flex; align-items: center; }
.nf__act .lnk { margin-top: 0; }
.nf__vis { aspect-ratio: 640 / 380; }
.nf__vis svg { width: 100%; height: 100%; display: block; overflow: visible; }
@media (max-width: 900px) { .nf__grid { grid-template-columns: 1fr; } .nf__vis { order: -1; max-width: 420px; } }

/* ---------- Πραγματικά mockups κινητών (PNG του Χρήστου, χωρίς φόντο) ---------- */
.mock { display: block; height: auto; filter: drop-shadow(0 26px 34px rgba(14,26,60,.22)); }
.nh__mock { width: min(270px, 100%); }
.jr__mock { width: min(178px, 66%); }
.hub__mock { width: clamp(210px, 20vw, 262px); }
.n33__mock { width: clamp(150px, 19vh, 186px); }
.n33__screen { padding: 12px; }
.n33__macimg { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top left; border-radius: 4px; }
@media (max-width: 900px) { .nh__mock { width: min(220px, 62%); } .hub__mock { width: 190px; } }
@media (max-width: 560px) { .jr__mock { width: 78%; } }

/* 15/10/2026 · κινητό: μικρότερη κάρτα στην «Εγγύηση αξιοποίησης» */
@media (max-width: 900px) {
  .w33__objwrap { padding: 26px 18px; }
  .w33__obj { width: min(78%, 280px); }
}
@media (max-width: 900px) { .w33__name { font-size: .625rem; letter-spacing: .1em; } .w33__mk { width: 10%; right: 7%; bottom: 8%; } }

/* NousGym · Εμπιστευτικότητα: η οθόνη του laptop παίρνει μέγεθος και από το ύψος του κουτιού της,
   ώστε να μη βγαίνει έξω και να μην πέφτει πάνω στο κείμενο (στενό παράθυρο, zoom). Ίδια σύνθεση. */
.n33__laptop { --lh: clamp(320px, 44vh, 420px); --sw: min(100%, calc((var(--lh) - 48px) * 1.6)); }
.n33__screen { width: var(--sw); }
.n33__base { width: calc(var(--sw) * 1.12); }
/* Τα δύο πλαίσια (κινητό, laptop) στην ίδια ευθεία από πάνω· τα κείμενα ξεκινούν κι αυτά στο ίδιο ύψος. */
.n33__devs { align-items: start; }
