/* ═══════════════════════════════════════════════════════════════════════
   ★ r106 (owner 13/11/2026) — GEO-SAT 1940–1949: σελίδα + banner αρχικής.
   Παλέτα NOETIC: #020617 · #0F172A/#1E293B · κυανό #00E5FF · FX #7FE7FF/#4DD0E1 ·
   #94A3B8 · πορτοκαλί #FF6B35. Περίοδοι = εφαρμογή: #38BDF8 · #F59E0B · #F1F5F9.
   ═══════════════════════════════════════════════════════════════════════ */
.g40, .g40-banner { --g-bg:#020617; --g-s1:#0f172a; --g-s2:#1e293b; --g-cyan:#00e5ff; --g-fx:#7fe7ff; --g-fx2:#4dd0e1;
	--g-dim:#94a3b8; --g-or:#ff6b35; --g-line:rgba(127,231,255,.16);
	/* μεταβλητές των κουμπιών app-fx (ορίζονται μόνο μέσα στο .wn) */
	--wn-cyan:#00e5ff; --wn-fx:#7fe7ff; --wn-fx2:#4dd0e1; --wn-dim:#94a3b8; }
.g40 { background:var(--g-bg); color:#f8fafc; overflow-x:clip; }
.g40-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }
.g40-new { display:inline-block; margin-right:.55rem; padding:.18rem .55rem; border-radius:999px; background:var(--g-or); color:#1b0a00;
	font:800 .7rem/1.2 var(--font-mono, monospace); letter-spacing:.08em; box-shadow:0 0 16px rgba(255,107,53,.55); animation:g40-glow 2.4s ease-in-out infinite; }
@keyframes g40-glow { 50% { box-shadow:0 0 28px rgba(255,107,53,.9); } }
.g40-dot-live { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--g-cyan); margin-right:.45rem; box-shadow:0 0 10px var(--g-cyan); animation:g40-blink 1.4s infinite; }
@keyframes g40-blink { 50% { opacity:.25; } }
.g40-illus { position:absolute; right:14px; bottom:10px; margin:0; font:500 .68rem/1.3 var(--font-mono, monospace); color:rgba(148,163,184,.8); z-index:3; }
.g40-illus--inline { position:static; text-align:center; margin-top:.8rem; }
.g40-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem; }
.g40-actions--center { justify-content:center; }

/* ---------- HERO ---------- */
.g40-hero { position:relative; min-height:min(92vh, 860px); display:flex; align-items:center; overflow:hidden; isolation:isolate; padding:6rem 0 5rem; }
.g40-hero__shade { position:absolute; inset:0; z-index:1; pointer-events:none;
	background:linear-gradient(90deg, rgba(2,6,23,.94) 0%, rgba(2,6,23,.78) 36%, rgba(2,6,23,.12) 70%, rgba(2,6,23,.35) 100%),
	linear-gradient(0deg, var(--g-bg) 0%, rgba(2,6,23,0) 22%); }
.g40-hero .g40-hero__inner { position:relative; z-index:2; flex:none; width:min(1240px, calc(100% - 40px)); margin-inline:auto; }
.g40-hero__inner > * { max-width:720px; }
.g40-kicker { display:flex; align-items:center; flex-wrap:wrap; gap:.2rem; margin:0 0 1rem; font:600 .78rem/1.3 var(--font-mono, monospace); letter-spacing:.16em; text-transform:uppercase; color:var(--g-fx); }
.g40-hero__title { margin:0; font-size:clamp(2.2rem, 4.6vw, 4rem); line-height:1.02; font-weight:800; letter-spacing:-.02em; }
.g40-hero__title em { font-style:normal; background:linear-gradient(90deg, #7fe7ff, #00e5ff 45%, #f59e0b); -webkit-background-clip:text; background-clip:text; color:transparent; }
.g40-hero__lead { margin:1.3rem 0 0; color:#cbd5e1; font-size:clamp(1rem, 1.5vw, 1.14rem); line-height:1.65; }
.g40-stats { list-style:none; padding:0; margin:2.2rem 0 0; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:.7rem; }
.g40-stats li { background:rgba(15,23,42,.72); border:1px solid var(--g-line); border-radius:14px; padding:.8rem .9rem; backdrop-filter:blur(6px); }
.g40-stats strong { display:block; font-size:clamp(1.4rem, 2.6vw, 2rem); font-weight:800; color:var(--g-cyan); text-shadow:0 0 18px rgba(0,229,255,.35); font-variant-numeric:tabular-nums; }
.g40-stats span { display:block; color:var(--g-dim); font-size:.78rem; margin-top:.15rem; }
.g40-legend { list-style:none; padding:0; margin:1.1rem 0 0; display:flex; flex-wrap:wrap; gap:.5rem 1.1rem; }
.g40-legend li { display:flex; align-items:center; gap:.45rem; font-size:.8rem; color:#cbd5e1; }
.g40-legend li::before { content:""; width:11px; height:11px; border-radius:50%; background:var(--c); box-shadow:0 0 10px var(--c); }
.g40-hero__layer, .g40-banner__layer { position:absolute; z-index:3; top:16px; right:16px; display:flex; align-items:center; padding:.4rem .75rem; border-radius:999px;
	background:rgba(2,6,23,.72); border:1px solid var(--g-line); font:600 .72rem/1 var(--font-mono, monospace); color:#e2f9ff; letter-spacing:.04em; }
.g40-hero__layer { top:calc(var(--header-h, 72px) + 14px); }

/* ---------- ενότητες ---------- */
.g40-sec { position:relative; padding:5rem 0; }
.g40-head { text-align:center; max-width:720px; margin:0 auto 2.6rem; }
.g40-head h2, .g40-doc h2, .g40-honest h2, .g40-cta h2 { margin:0; font-size:clamp(1.7rem, 3.4vw, 2.6rem); font-weight:800; letter-spacing:-.01em; }
.g40-head p { margin:.7rem 0 0; color:var(--g-dim); }
.g40-reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease var(--d,0ms), transform .7s cubic-bezier(.2,.8,.2,1) var(--d,0ms); }
.g40-reveal.is-in { opacity:1; transform:none; }

.g40-caps { background:radial-gradient(900px 380px at 50% 0%, rgba(0,229,255,.08), transparent 70%); }
.g40-caps__grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.1rem; }
.g40-cap { position:relative; padding:1.5rem 1.4rem; border-radius:18px; background:linear-gradient(180deg, rgba(30,41,59,.72), rgba(15,23,42,.85));
	border:1px solid var(--g-line); overflow:hidden; transition:border-color .3s, transform .3s, box-shadow .3s; }
.g40-cap::after { content:""; position:absolute; inset:auto -40% -60% auto; width:70%; aspect-ratio:1; border-radius:50%; background:radial-gradient(closest-side, rgba(0,229,255,.16), transparent); }
.g40-cap:hover { border-color:rgba(127,231,255,.5); transform:translateY(-4px); box-shadow:0 18px 40px -20px rgba(0,229,255,.45); }
.g40-cap__ico { display:inline-grid; place-items:center; width:48px; height:48px; border-radius:14px; color:var(--g-cyan); background:rgba(0,229,255,.08); border:1px solid rgba(0,229,255,.25); }
.g40-cap__ico svg { width:26px; height:26px; }
.g40-cap h3 { margin:1rem 0 .45rem; font-size:1.08rem; }
.g40-cap p { margin:0; color:var(--g-dim); font-size:.93rem; line-height:1.6; }

.g40-timeline { position:relative; height:58px; margin:0 auto 2.2rem; max-width:980px; }
.g40-timeline::before { content:""; position:absolute; left:0; right:0; top:18px; height:4px; border-radius:4px; background:var(--g-s2); }
.g40-timeline__seg { position:absolute; top:14px; height:12px; border-radius:6px; left:calc(var(--from) * 1%); width:0; background:var(--c); box-shadow:0 0 16px var(--c);
	transition:width 1.4s cubic-bezier(.2,.8,.2,1) .2s; }
.g40-timeline.is-in .g40-timeline__seg { width:calc((var(--to) - var(--from)) * 1%); }
.g40-timeline__y { position:absolute; top:36px; left:calc(var(--p) * 1%); transform:translateX(-50%); font:600 .75rem/1 var(--font-mono, monospace); color:var(--g-dim); }
.g40-timeline__y::before { content:""; position:absolute; left:50%; top:-16px; width:1px; height:10px; background:rgba(148,163,184,.4); }
.g40-eras__grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1rem; }
.g40-era { padding:1.3rem 1.2rem; border-radius:16px; background:rgba(15,23,42,.8); border:1px solid var(--g-line); border-top:3px solid var(--c); }
.g40-era__y { font:800 1.5rem/1 var(--font-mono, monospace); color:var(--c); text-shadow:0 0 16px var(--c); }
.g40-era h3 { margin:.7rem 0 .4rem; font-size:1.02rem; }
.g40-era p { margin:0; color:var(--g-dim); font-size:.9rem; line-height:1.55; }

/* ---------- βήματα + κινητό ---------- */
.g40-steps { background:linear-gradient(180deg, rgba(15,23,42,0), rgba(15,23,42,.6) 30%, rgba(15,23,42,0)); }
.g40-steps__wrap { display:grid; grid-template-columns:minmax(0, 380px) minmax(0, 1fr); gap:4rem; align-items:start; }
.g40-phone-col { position:sticky; top:calc(var(--header-h, 72px) + 24px); }
.g40-phone { position:relative; width:min(330px, 100%); margin:0 auto; aspect-ratio:9/18.5; border-radius:42px; padding:12px; background:linear-gradient(145deg, #334155, #0f172a 40%, #1e293b);
	box-shadow:0 0 0 1px rgba(127,231,255,.25), 0 30px 80px -20px rgba(0,229,255,.35), inset 0 0 0 2px rgba(255,255,255,.05); }
.g40-phone::before { content:""; position:absolute; top:20px; left:50%; width:84px; height:20px; margin-left:-42px; border-radius:12px; background:#020617; z-index:5; }
.g40-phone__screen { position:relative; width:100%; height:100%; border-radius:32px; overflow:hidden; background:#020617; }
.g40-ui { position:absolute; z-index:3; font-size:.74rem; color:#e2f9ff; opacity:0; transform:translateY(10px); transition:opacity .45s, transform .45s cubic-bezier(.2,.8,.2,1); pointer-events:none; }
.g40-ui--top { opacity:1; transform:none; top:0; left:0; right:0; display:flex; justify-content:space-between; align-items:center; padding:46px 16px 10px;
	background:linear-gradient(180deg, rgba(2,6,23,.92), rgba(2,6,23,0)); font:700 .78rem/1 var(--font-mono, monospace); letter-spacing:.1em; }
.g40-ui__map { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; background:rgba(15,23,42,.9); border:1px solid rgba(127,231,255,.45); font-size:1rem; }
.g40-phone[data-scene="1"] .g40-ui__map { box-shadow:0 0 0 0 rgba(0,229,255,.7); animation:g40-tap 1.6s infinite; }
@keyframes g40-tap { 70% { box-shadow:0 0 0 12px rgba(0,229,255,0); } 100% { box-shadow:0 0 0 0 rgba(0,229,255,0); } }
.g40-ui--picker { top:92px; right:12px; width:66%; display:flex; flex-direction:column; gap:.4rem; padding:.8rem; border-radius:14px; background:rgba(15,23,42,.94); border:1px solid rgba(127,231,255,.3); }
.g40-ui--picker strong { font-size:.74rem; color:var(--g-fx); letter-spacing:.06em; }
.g40-ui--picker span { color:#cbd5e1; } .g40-ui--picker .is-on { color:#fff; font-weight:700; }
.g40-ui--rail { top:92px; right:10px; width:44px; padding:.55rem 0; display:flex; flex-direction:column; align-items:center; gap:.5rem; border-radius:12px; background:rgba(15,23,42,.9); border:1px solid var(--g-line); }
.g40-ui--rail b { font:800 .66rem/1 var(--font-mono, monospace); color:var(--g-fx); }
.g40-ui--rail i { width:4px; height:70px; border-radius:4px; background:linear-gradient(180deg, var(--g-cyan) 65%, var(--g-s2) 65%); }
.g40-ui--toggle { left:12px; right:12px; bottom:18px; display:flex; align-items:center; gap:.6rem; padding:.7rem .8rem; border-radius:14px; background:rgba(15,23,42,.94); border:1px solid rgba(127,231,255,.3); font-weight:600; }
.g40-switch { position:relative; width:34px; height:19px; border-radius:20px; background:var(--g-cyan); flex:none; box-shadow:0 0 12px rgba(0,229,255,.6); }
.g40-switch::after { content:""; position:absolute; top:2px; right:2px; width:15px; height:15px; border-radius:50%; background:#fff; }
.g40-ui--card { left:12px; right:12px; bottom:18px; display:flex; flex-direction:column; gap:.25rem; padding:.85rem .9rem; border-radius:16px; background:rgba(15,23,42,.96); border:1px solid rgba(127,231,255,.4); box-shadow:0 -10px 30px rgba(0,0,0,.4); }
.g40-ui--card small { color:#fb923c; font-weight:700; }
.g40-ui--card strong { font-size:.95rem; }
.g40-ui--card em { font-style:normal; color:#38bdf8; }
.g40-ui__btn { align-self:flex-start; margin-top:.35rem; padding:.38rem .7rem; border-radius:10px; background:rgba(0,229,255,.12); border:1px solid rgba(0,229,255,.5); color:#e2f9ff; font-weight:700; }
.g40-phone[data-scene="3"] .g40-ui__btn { animation:g40-tap 1.6s infinite; }
.g40-ui--doc { left:12px; right:12px; bottom:18px; padding:.9rem; border-radius:16px; background:#f4ead2; color:#2b2214; box-shadow:0 -10px 30px rgba(0,0,0,.45); }
.g40-ui--doc strong { display:block; margin-bottom:.5rem; color:#1e293b; }
.g40-ui--doc dl { margin:0; display:grid; grid-template-columns:auto 1fr; gap:.35rem .6rem; align-items:center; }
.g40-ui--doc dt { font-size:.66rem; color:#6b5a3c; }
.g40-ui--doc dd { margin:0; } .g40-ui--doc dd i { display:block; height:8px; border-radius:4px; background:repeating-linear-gradient(90deg, #8a7650 0 6px, transparent 6px 9px); }
.g40-ui--scan { top:92px; left:12px; display:flex; align-items:center; padding:.45rem .7rem; border-radius:999px; background:rgba(2,6,23,.85); border:1px solid rgba(255,140,60,.6); color:#fed7aa; font-weight:700; }
.g40-ui--scan .g40-dot-live { background:#ff8c3c; box-shadow:0 0 10px #ff8c3c; }
.g40-phone[data-scene="1"] .g40-ui--picker,
.g40-phone[data-scene="2"] .g40-ui--rail, .g40-phone[data-scene="2"] .g40-ui--toggle,
.g40-phone[data-scene="3"] .g40-ui--rail, .g40-phone[data-scene="3"] .g40-ui--card,
.g40-phone[data-scene="4"] .g40-ui--rail, .g40-phone[data-scene="4"] .g40-ui--doc,
.g40-phone[data-scene="5"] .g40-ui--rail, .g40-phone[data-scene="5"] .g40-ui--scan,
.g40-phone[data-scene="6"] .g40-ui--rail { opacity:1; transform:none; }

.g40-steps__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:1.1rem; }
.g40-step { display:flex; gap:1.1rem; align-items:flex-start; padding:1.6rem 1.4rem; min-height:26vh; border-radius:18px; border:1px solid transparent; cursor:pointer; opacity:.45;
	transition:opacity .4s, border-color .4s, background .4s; }
.g40-step.is-active { opacity:1; border-color:rgba(127,231,255,.35); background:linear-gradient(90deg, rgba(0,229,255,.07), rgba(15,23,42,.4)); }
.g40-step__n { flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:14px; font:800 1.1rem/1 var(--font-mono, monospace); color:var(--g-cyan); border:1px solid rgba(0,229,255,.4); background:rgba(0,229,255,.06); }
.g40-step.is-active .g40-step__n { background:var(--g-cyan); color:#020617; box-shadow:0 0 22px rgba(0,229,255,.55); }
.g40-step h3 { margin:.3rem 0 .5rem; font-size:1.3rem; }
.g40-step p { margin:0; color:#cbd5e1; line-height:1.65; }

/* ---------- είδη ---------- */
.g40-kinds__grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:.8rem; }
.g40-kind { display:flex; align-items:center; gap:.7rem; padding:.9rem 1rem; border-radius:14px; background:rgba(15,23,42,.8); border:1px solid var(--g-line); font-size:.9rem; font-weight:600; }
.g40-kind__g { flex:none; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; font-size:1rem; color:#020617; background:var(--c); box-shadow:0 0 14px var(--c); }

/* ---------- τεκμηρίωση ---------- */
.g40-doc__wrap { display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:center; }
.g40-doc__lead { color:#cbd5e1; line-height:1.7; margin:1rem 0 1.2rem; }
.g40-check { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem; }
.g40-check li { position:relative; padding-left:2rem; color:#e2e8f0; }
.g40-check li::before { content:"✓"; position:absolute; left:0; top:-.05rem; display:grid; place-items:center; width:1.4rem; height:1.4rem; border-radius:50%; background:rgba(0,229,255,.14); color:var(--g-cyan); font-weight:800; font-size:.8rem; }
.g40-paper { margin:0; perspective:900px; }
.g40-paper__sheet { position:relative; padding:2rem 1.8rem; border-radius:6px; background:linear-gradient(160deg, #f6ecd4, #e7d7b1); color:#2b2214; transform:rotate(-2.4deg);
	box-shadow:0 30px 60px -18px rgba(0,0,0,.6), 0 0 0 1px rgba(0,0,0,.08); transition:transform .5s; }
.g40-paper:hover .g40-paper__sheet { transform:rotate(0) translateY(-4px); }
.g40-paper__sheet strong { display:block; font-size:1.15rem; margin-bottom:1rem; color:#1e293b; }
.g40-paper__row { display:grid; grid-template-columns:150px 1fr; gap:.8rem; align-items:center; padding:.55rem 0; border-bottom:1px dashed rgba(107,90,60,.4); font-size:.85rem; color:#6b5a3c; }
.g40-paper__row i { display:block; width:var(--w); height:10px; border-radius:4px; background:repeating-linear-gradient(90deg, #8a7650 0 7px, transparent 7px 10px); }
.g40-paper__lines { margin-top:1.1rem; display:flex; flex-direction:column; gap:.55rem; }
.g40-paper__lines i { display:block; height:7px; border-radius:4px; background:rgba(107,90,60,.25); }
.g40-paper__lines i:nth-child(2) { width:86%; } .g40-paper__lines i:nth-child(4) { width:60%; }
.g40-paper__stamp { position:absolute; top:1.1rem; right:1.1rem; padding:.3rem .6rem; border:2px solid #b91c1c; color:#b91c1c; border-radius:4px; font:800 .7rem/1 var(--font-mono, monospace); letter-spacing:.14em; transform:rotate(8deg); opacity:.85; }
.g40-paper figcaption { margin-top:1.1rem; text-align:center; font-size:.8rem; color:var(--g-dim); }

/* ---------- ειλικρίνεια ---------- */
.g40-honest__box { max-width:860px; margin:0 auto; padding:2rem 2.2rem; border-radius:20px; background:rgba(15,23,42,.85); border:1px solid rgba(255,171,0,.35); }
.g40-honest__box ul { list-style:none; margin:1.2rem 0 0; padding:0; display:flex; flex-direction:column; gap:.8rem; }
.g40-honest__box li { position:relative; padding-left:2rem; color:#cbd5e1; line-height:1.6; }
.g40-honest__box li::before { content:"•"; position:absolute; left:.5rem; color:var(--g-dim); font-size:1.3rem; line-height:1.1; }
.g40-honest__box li.is-yes::before { content:"✓"; color:var(--g-cyan); font-size:1rem; left:.3rem; }
.g40-honest__box li.is-warn { color:#fde68a; } .g40-honest__box li.is-warn::before { content:"⚠"; color:#fbbf24; font-size:1rem; left:.2rem; }

/* ---------- CTA ---------- */
.g40-cta__box { text-align:center; padding:3.2rem 1.5rem; border-radius:24px; background:radial-gradient(600px 240px at 50% 0%, rgba(0,229,255,.16), transparent 70%), rgba(15,23,42,.9); border:1px solid rgba(127,231,255,.3); }
.g40-cta__box p { color:#cbd5e1; margin:.7rem 0 0; }
.g40-company { display:block; margin-top:1.6rem; color:var(--g-dim); font-size:.75rem; }

/* ═══ BANNER ΑΡΧΙΚΗΣ (ύφος Πλαισίου: μεγάλη στρογγυλεμένη κάρτα πλάτους περιεχομένου) ═══ */
.g40-banner { position:relative; z-index:2; padding:18px 0 6px; background:var(--g-bg); }
.g40-banner__container { width:min(1280px, calc(100% - 32px)); margin:0 auto; }
.g40-banner__card { position:relative; display:block; height:clamp(300px, 31vw, 420px); border-radius:16px; overflow:hidden; isolation:isolate; text-decoration:none; color:#fff;
	box-shadow:0 0 0 1px rgba(127,231,255,.22), 0 24px 60px -28px rgba(0,229,255,.5); transition:box-shadow .35s, transform .35s; }
.g40-banner__card:hover { box-shadow:0 0 0 1px rgba(127,231,255,.5), 0 30px 70px -26px rgba(0,229,255,.7); }
.g40-banner__card:focus-visible { outline:3px solid var(--g-fx); outline-offset:4px; }
.g40-banner__shade { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg, rgba(2,6,23,.96) 0%, rgba(2,6,23,.86) 34%, rgba(2,6,23,.2) 62%, rgba(2,6,23,0) 100%); }
.g40-banner__body { position:absolute; z-index:2; left:clamp(22px, 4.5vw, 64px); top:50%; transform:translateY(-50%); width:min(560px, 52%); display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; }
.g40-banner__badge { display:inline-flex; align-items:center; font:700 .74rem/1.2 var(--font-mono, monospace); letter-spacing:.12em; text-transform:uppercase; color:var(--g-fx); }
.g40-banner__title { font-size:clamp(1.8rem, 3.6vw, 3.1rem); line-height:1.04; font-weight:800; letter-spacing:-.02em;
	background:linear-gradient(90deg, #fff 30%, #7fe7ff 70%, #f59e0b); -webkit-background-clip:text; background-clip:text; color:transparent; }
.g40-banner__sub { color:#cbd5e1; font-size:clamp(.92rem, 1.25vw, 1.06rem); line-height:1.55; }
.g40-banner__cta { margin-top:.4rem; border-radius:999px !important; }
.g40-banner__pop { position:absolute; z-index:2; left:70%; top:50%; transform:translate(18px, -110%) scale(.85); opacity:0; display:flex; flex-direction:column; gap:.15rem;
	padding:.6rem .8rem; border-radius:12px; background:rgba(15,23,42,.94); border:1px solid rgba(127,231,255,.45); box-shadow:0 12px 30px rgba(0,0,0,.45); white-space:nowrap;
	transition:opacity .35s, transform .35s cubic-bezier(.2,.8,.2,1), left .9s, top .9s; pointer-events:none; }
.g40-banner__pop.is-on { opacity:1; transform:translate(18px, -110%) scale(1); }
.g40-banner__pop small { color:#fb923c; font-weight:700; font-size:.7rem; }
.g40-banner__pop b { font-size:.8rem; color:#38bdf8; }
.g40-banner__pop i { font-style:normal; font-size:.72rem; color:#e2f9ff; }
.g40-banner__illus { position:absolute; z-index:3; right:14px; bottom:10px; font:500 .64rem/1.2 var(--font-mono, monospace); color:rgba(148,163,184,.85); }

/* ---------- προσαρμογή ---------- */
@media (max-width: 1100px) {
	.g40-kinds__grid { grid-template-columns:repeat(3, minmax(0,1fr)); }
	.g40-eras__grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 900px) {
	.g40-caps__grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
	/* κινητό: μικρό «κινητό» κολλημένο αριστερά, βήματα δεξιά (δεν σκεπάζει το κείμενο) */
	.g40-steps__wrap { grid-template-columns:132px minmax(0,1fr); gap:14px; }
	.g40-phone-col { top:calc(var(--header-h, 64px) + 14px); width:132px; height:280px; }
	.g40-phone { width:240px; transform:scale(.55); transform-origin:top left; margin:0; }
	.g40-phone-col .g40-illus--inline { display:none; }
	.g40-step { min-height:40vh; padding:1rem .8rem; gap:.7rem; flex-direction:column; }
	.g40-step h3 { font-size:1.08rem; }
	.g40-step p { font-size:.92rem; }
	.g40-step__n { width:36px; height:36px; font-size:.95rem; }
	.g40-doc__wrap { grid-template-columns:1fr; gap:2.2rem; }
}
@media (max-width: 720px) {
	.g40-hero { min-height:auto; flex-direction:column; align-items:stretch; padding:calc(var(--header-h, 64px) + 3.2rem) 0 3.5rem; }
	.g40-hero > .g40-illus { position:relative; z-index:2; padding:0 20px; }
	.g40-hero__shade { background:linear-gradient(180deg, rgba(2,6,23,.55) 0%, rgba(2,6,23,.85) 45%, rgba(2,6,23,.96) 100%); }
	.g40-stats { grid-template-columns:repeat(2, minmax(0,1fr)); }
	.g40-caps__grid, .g40-eras__grid { grid-template-columns:1fr; }
	.g40-kinds__grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
	.g40-kind { font-size:.82rem; padding:.7rem .75rem; }
	.g40-sec { padding:3.5rem 0; }
	.g40-paper__row { grid-template-columns:1fr; gap:.35rem; }
	.g40-honest__box { padding:1.5rem 1.2rem; }
	.g40-illus { position:static; display:block; text-align:center; margin-top:1.2rem; }
	.g40-hero__layer { top:calc(var(--header-h, 64px) + 10px); right:10px; }

	/* banner κινητού: ψηλή κάρτα, γραφικό πάνω, κείμενο κάτω (όπως οι mobile διαφημίσεις Πλαισίου) */
	.g40-banner { padding:12px 0 4px; }
	.g40-banner__container { width:calc(100% - 24px); }
	.g40-banner__card { height:auto; min-height:470px; border-radius:14px; }
	.g40-banner__card .g40-canvas { height:58%; }
	.g40-banner__shade { background:linear-gradient(180deg, rgba(2,6,23,0) 0%, rgba(2,6,23,.15) 34%, rgba(2,6,23,.94) 56%, #020617 70%); }
	.g40-banner__body { position:relative; top:auto; left:auto; transform:none; width:auto; padding:205px 18px 22px; gap:.6rem; }
	.g40-banner__title { font-size:1.75rem; }
	.g40-banner__sub { font-size:.9rem; }
	.g40-banner__pop { display:none; }
	.g40-banner__layer { top:10px; right:10px; font-size:.64rem; }
	.g40-banner__illus { left:10px; right:auto; top:10px; bottom:auto; max-width:48%; padding:.25rem .45rem; border-radius:6px; background:rgba(2,6,23,.72); }
}
@media (prefers-reduced-motion: reduce) {
	.g40-reveal { opacity:1; transform:none; transition:none; }
	.g40-new, .g40-dot-live, .g40-ui__map, .g40-ui__btn { animation:none !important; }
	.g40-timeline__seg { transition:none; width:calc((var(--to) - var(--from)) * 1%); }
}
