/* ==========================================================================
   Συλλογὴ συγγραφέα — «Ἐπίσκοπος Ἀστερίου»: ἔναστρος οὐρανός, χρυσός, βυζαντινὲς καμάρες
   ========================================================================== */
.vs {
  --vs-nyxta: #060918; --vs-nyxta-2: #0f0b2a; --vs-violet: #3b2672; --vs-violet-2: #6a4bb5;
  --vs-xrysos: #e7c97f; --vs-xrysos-2: #b8913f; --vs-fos: #fff4d6;
  --vs-xrysafi: linear-gradient(100deg, #b8913f 0%, #f6e3a6 22%, #c9a253 40%, #fff1c4 52%, #b8913f 70%, #e9cf88 100%);
}
.vs-in { opacity: 0; transform: translateY(18px); animation: vs-in .9s cubic-bezier(.2, .8, .2, 1) forwards; animation-delay: calc(var(--d, 0) * .12s + .15s); }
@keyframes vs-in { to { opacity: 1; transform: none; } }
.vs-reveal { opacity: 0; transform: translateY(26px); transition: opacity .9s ease, transform .9s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--d, 0) * .09s); }
.vs-reveal.is-in { opacity: 1; transform: none; }
.no-js .vs-reveal, .pv-akinito .vs-reveal, .pv-akinito .vs-in { opacity: 1; transform: none; animation: none; transition: none; }

/* ---------------------------------------------------------------- πρόσκηνιο */
.vs-hero {
  position: relative; isolation: isolate; overflow: hidden; color: #f3ead6;
  min-height: min(100svh, 980px); display: grid; align-items: center; padding: calc(var(--vv-header-h) * .4) 0 90px;
  background:
    radial-gradient(900px 520px at 72% 38%, rgba(106, 75, 181, .38), transparent 70%),
    radial-gradient(700px 600px at 18% 110%, rgba(184, 145, 63, .18), transparent 70%),
    linear-gradient(180deg, var(--vs-nyxta) 0%, var(--vs-nyxta-2) 55%, #1a1033 100%);
}
.vs-stars { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.vs-hero__aura {
  position: absolute; z-index: -1; right: -10%; top: -30%; width: 70vmax; height: 70vmax; border-radius: 50%; pointer-events: none;
  background: conic-gradient(from 200deg, transparent, rgba(231, 201, 127, .10), transparent 30%, rgba(159, 183, 255, .08), transparent 60%);
  animation: vs-peristrofi 90s linear infinite; filter: blur(18px);
}
@keyframes vs-peristrofi { to { transform: rotate(1turn); } }
.vs-hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(24px, 5vw, 80px); align-items: center; }
.vs-hero .vv-eyebrow { color: var(--vs-xrysos); }
.vs-prosfonisi { margin: 0 0 4px; font: italic 400 clamp(1.15rem, 1.6vw, 1.45rem) var(--vv-text); color: #cbbfe8; letter-spacing: .02em; }
.vs-title { margin: 0; font: 400 clamp(2.6rem, 6.2vw, 5.6rem)/.98 var(--vv-serif); letter-spacing: .005em; }
.vs-title__a { display: block; color: #f3ead6; text-shadow: 0 2px 30px rgba(0, 0, 0, .5); }
.vs-title__b {
  position: relative; display: block; font-size: 1.22em; margin-top: .06em;
  background: var(--vs-xrysafi); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: vs-in .9s cubic-bezier(.2, .8, .2, 1) forwards, vs-lampsi 7s ease-in-out 1.4s infinite;
  filter: drop-shadow(0 6px 26px rgba(231, 201, 127, .28));
}
@keyframes vs-lampsi { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
.vs-lead { margin: 22px 0 28px; max-width: 34em; font: 400 clamp(1.02rem, 1.25vw, 1.2rem)/1.65 var(--vv-text); color: #d9cfbb; }
.vs-lead b { color: #fff4d6; font-weight: 600; }
.vs-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.vs-btn--nyxta { color: #f3ead6; border-color: rgba(231, 201, 127, .45); background: rgba(10, 8, 30, .35); backdrop-filter: blur(6px); }
.vs-btn--nyxta:hover { color: var(--vs-xrysos); border-color: var(--vs-xrysos); }
.vs-counters { display: flex; flex-wrap: wrap; gap: clamp(18px, 3vw, 44px); margin: 40px 0 0; }
.vs-counters div { display: flex; flex-direction: column-reverse; }
.vs-counters dt { font: 600 .68rem var(--vv-sans); letter-spacing: .16em; text-transform: uppercase; color: #a99fc9; }
.vs-counters dd { margin: 0; font: 400 clamp(1.8rem, 3vw, 2.6rem)/1 var(--vv-serif); color: var(--vs-xrysos); font-variant-numeric: tabular-nums; }

/* καμάρα μὲ τὴ φωτογραφία */
.vs-hero__foto { position: relative; margin: 0; justify-self: center; width: min(430px, 100%); }
.vs-arch {
  position: relative; aspect-ratio: 7 / 9.4; border-radius: 50% 50% 14px 14px / 34% 34% 14px 14px; overflow: hidden;
  box-shadow: 0 0 0 2px rgba(231, 201, 127, .9), 0 0 0 9px rgba(15, 11, 42, .9), 0 0 0 10px rgba(231, 201, 127, .45),
              0 40px 90px -30px rgba(0, 0, 0, .9), 0 0 120px -10px rgba(231, 201, 127, .35);
}
.vs-arch img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; display: block; transform: scale(1.06); animation: vs-kenburns 26s ease-in-out infinite alternate; }
@keyframes vs-kenburns { to { transform: scale(1.14) translateY(-2%); } }
.vs-arch::after { /* φῶς καντηλιοῦ ἀπὸ ψηλά */
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(120% 60% at 50% -10%, rgba(255, 236, 190, .28), transparent 60%), linear-gradient(180deg, transparent 60%, rgba(6, 9, 24, .55));
}
.vs-arch__fos { position: absolute; left: 50%; bottom: -46px; width: 120%; height: 90px; transform: translateX(-50%); border-radius: 50%;
  background: radial-gradient(closest-side, rgba(231, 201, 127, .32), transparent); filter: blur(8px); pointer-events: none; }
.vs-aster { width: 132px; height: 132px; fill: var(--vs-xrysos); filter: drop-shadow(0 0 18px rgba(231, 201, 127, .75)); }
.vs-aster g { transform-origin: center; animation: vs-peristrofi 60s linear infinite; }
.vs-aster__b { fill: #fff4d6; opacity: .75; }
.vs-hero__foto .vs-aster { position: absolute; z-index: 2; left: 50%; top: -50px; width: 104px; height: 104px; transform: translateX(-50%); }
.vs-hero__foto { margin-top: 56px; }

/* ---------------------------------------------------------------- κήρυγμα τῆς Κυριακῆς */
.vs-kyriaki { position: relative; }
.vs-kyriaki__grid { display: grid; grid-template-columns: 220px 1fr; gap: clamp(20px, 3vw, 40px); align-items: start; }
.vs-fyllo {
  position: sticky; top: calc(var(--vv-header-h) + 20px); display: grid; justify-items: center; text-align: center;
  padding: 22px 16px 24px; border-radius: 22px; color: #f3ead6;
  background: radial-gradient(140% 90% at 50% 0%, var(--vs-violet-2), var(--vs-violet) 45%, var(--vs-nyxta) 100%);
  box-shadow: inset 0 0 0 1px rgba(231, 201, 127, .5), 0 26px 50px -26px rgba(30, 15, 70, .9);
}
.vs-fyllo__mera { font: 600 .72rem var(--vv-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--vs-xrysos); }
.vs-fyllo__n { font: 400 5.4rem/1 var(--vv-serif); color: #fff4d6; text-shadow: 0 0 30px rgba(231, 201, 127, .45); }
.vs-fyllo__minas { font: 400 1.25rem var(--vv-serif); color: #e9dfc8; }
.vs-fyllo__onoma { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(231, 201, 127, .35); font: italic 400 1rem/1.35 var(--vv-text); color: var(--vs-xrysos); }
.vs-kirygmata { display: grid; gap: 18px; }
.vs-k {
  display: grid; grid-template-columns: 96px 1fr; gap: 20px; padding: 18px; border-radius: 20px;
  background: var(--vv-surface); border: 1px solid var(--vv-line); box-shadow: var(--vv-shadow);
}
.vs-k__cover img { width: 96px; height: auto; border-radius: 3px 6px 6px 3px; box-shadow: -3px 4px 14px -4px rgba(0, 0, 0, .45); transform: perspective(600px) rotateY(-14deg); transition: transform .4s; display: block; }
.vs-k:hover .vs-k__cover img { transform: perspective(600px) rotateY(0); }
.vs-k__badge { display: inline-block; margin: 0 0 6px; padding: 3px 10px; border-radius: 999px; font: 600 .66rem var(--vv-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--vv-gold); background: color-mix(in srgb, var(--vv-gold-2) 18%, transparent); }
.vs-k__badge--evangelio { color: #fff; background: linear-gradient(135deg, #7a1420, #a4303c); }
.vs-k h3 { margin: 0 0 4px; font: 400 clamp(1.35rem, 2vw, 1.7rem)/1.2 var(--vv-serif); color: var(--vv-ink); }
.vs-k__per { margin: 0; font: italic 400 1rem var(--vv-text); color: var(--vv-ink-2); }
.vs-k__meta { margin: 6px 0 14px; font: 500 .8rem var(--vv-sans); color: var(--vv-muted); }
.vs-k__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.vs-glosses { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--vv-line-strong); }
.vs-glosses__t { font: 600 .74rem var(--vv-sans); color: var(--vv-muted); margin-right: 4px; }
.vs-glossa {
  display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--vv-line-strong); background: transparent; color: var(--vv-ink-2); font: 500 .8rem var(--vv-sans); transition: all .2s;
}
.vs-glossa b { font: 700 .66rem var(--vv-sans); letter-spacing: .08em; color: var(--vv-gold); }
.vs-glossa:hover, .vs-glossa.is-on { border-color: var(--vv-gold); color: var(--vv-ink); background: color-mix(in srgb, var(--vv-gold-2) 16%, transparent); }
.vs-glossa.is-on::before { content: "♪"; color: var(--vv-gold); }
.vs-eortes { margin-top: 34px; padding: 20px 24px; border-radius: 18px; border: 1px dashed var(--vv-line-strong); }
.vs-eortes ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vs-eortes li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.vs-eortes__imera { font: 600 .78rem var(--vv-sans); color: var(--vv-muted); }
.vs-eortes a { font: 400 1.1rem var(--vv-serif); color: var(--vv-ink); }
.vs-mikro-play {
  width: 30px; height: 30px; flex: none; border-radius: 50%; border: 1px solid var(--vv-line-strong); background: transparent;
  color: var(--vv-gold); cursor: pointer; font-size: .7rem; line-height: 1; transition: all .2s;
}
.vs-mikro-play:hover, .vs-mikro-play.is-on { background: var(--vv-gold); color: #fff; border-color: var(--vv-gold); }

/* ---------------------------------------------------------------- ὁ οὐρανός */
.vs-ouranos {
  position: relative; isolation: isolate; color: #efe7d6; padding: clamp(60px, 8vw, 110px) 0;
  background:
    radial-gradient(1100px 700px at 50% 40%, rgba(59, 38, 114, .55), transparent 70%),
    linear-gradient(180deg, #0b0a22 0%, var(--vs-nyxta) 100%);
}
.vs-ouranos::before { /* ἀκίνητη σκόνη ἀστεριῶν */
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: .7; pointer-events: none;
  background-image:
    radial-gradient(1px 1px at 12% 22%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 82% 12%, #fff 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 66% 78%, #fff4d6 50%, transparent 51%), radial-gradient(1px 1px at 32% 64%, #cfd8ff 50%, transparent 51%),
    radial-gradient(1px 1px at 90% 54%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 6% 86%, #fff 50%, transparent 51%);
  background-size: 340px 300px;
}
.vs-ouranos__head { text-align: center; max-width: 760px; margin: 0 auto 26px; }
.vs-ouranos__head .vv-eyebrow { color: var(--vs-xrysos); }
.vs-ouranos__head h2 { margin: 0 0 12px; font: 400 clamp(1.9rem, 4vw, 3rem)/1.1 var(--vv-serif); color: #fff4d6; }
.vs-ouranos__head p:last-child { margin: 0; font: italic 400 1.05rem/1.6 var(--vv-text); color: #c8bfdc; }
.vs-ouranos__tools { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 18px; margin-bottom: 10px; }
.vs-chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.vs-ouranos .vv-chip { color: #e9dfc8; border-color: rgba(231, 201, 127, .3); background: rgba(255, 255, 255, .04); }
.vs-ouranos .vv-chip.is-active { color: #1d1405; background: var(--vs-xrysos); border-color: var(--vs-xrysos); }
.vs-ouranos .vv-chip i { display: inline-block; width: 9px; height: 9px; margin-right: 7px; border-radius: 50%; background: var(--x); box-shadow: 0 0 8px var(--x); }
.vs-filtro { display: flex; align-items: center; gap: 8px; padding: 0 14px; min-height: 40px; border-radius: 999px; border: 1px solid rgba(231, 201, 127, .3); background: rgba(255, 255, 255, .04); }
.vs-filtro svg { width: 16px; height: 16px; fill: none; stroke: var(--vs-xrysos); stroke-width: 2; }
.vs-filtro input { width: min(280px, 60vw); border: 0; outline: 0; background: transparent; color: #f3ead6; font: 400 .95rem var(--vv-sans); }
.vs-filtro input::placeholder { color: #8f86a8; }
.vs-sky { position: relative; width: min(980px, 100%); margin: 0 auto; }
.vs-sky__svg { display: block; width: 100%; height: auto; overflow: visible; }
.vs-sky__hint { position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%); margin: 0; font: 600 .68rem var(--vv-sans); letter-spacing: .18em; text-transform: uppercase; color: #8f86a8; }
.vs-sky .vs-per-arc { fill: none; stroke: rgba(231, 201, 127, .22); stroke-width: 1.2; }
.vs-sky .vs-per-txt { fill: #cdb98a; font: 600 13px var(--vv-sans); letter-spacing: .22em; text-transform: uppercase; }
.vs-sky .vs-troxia { fill: none; stroke: rgba(255, 255, 255, .06); stroke-dasharray: 2 6; }
.vs-sky .vs-grammi { fill: none; stroke-width: .8; opacity: .18; transition: opacity .3s; }
.vs-sky .vs-st { cursor: pointer; outline: none; transition: opacity .35s; }
.vs-sky .vs-st circle.vs-st__fos { opacity: .35; transition: r .25s, opacity .25s; }
.vs-sky .vs-st circle.vs-st__pyr { transition: r .25s; }
.vs-sky .vs-st:hover circle.vs-st__fos, .vs-sky .vs-st:focus-visible circle.vs-st__fos, .vs-sky .vs-st.is-sel circle.vs-st__fos { opacity: .9; }
.vs-sky .vs-st.is-sel circle.vs-st__pyr { stroke: #fff; stroke-width: 2; }
.vs-sky .vs-st.is-off { opacity: .08; pointer-events: none; }
.vs-sky .vs-st.is-kyriaki circle.vs-st__fos { animation: vs-palmos 2.4s ease-in-out infinite; }
@keyframes vs-palmos { 50% { opacity: 1; } }
.vs-sky .vs-st__twinkle { animation: vs-trem 3.6s ease-in-out infinite; animation-delay: var(--tw, 0s); }
@keyframes vs-trem { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
.vs-sky .vs-akt { stroke: url(#vs-akt-grad); stroke-width: 3; stroke-linecap: round; filter: url(#vs-lampsi); }
.vs-sky .vs-kentro-1 { fill: #fff4d6; font: 400 54px var(--vv-serif); }
.vs-sky .vs-kentro-2 { fill: #a99fc9; font: 600 12px var(--vv-sans); letter-spacing: .26em; text-transform: uppercase; }
.vs-sky .vs-simera-txt { fill: var(--vs-xrysos); font: italic 400 15px var(--vv-text); }
.vs-sky__card {
  position: absolute; z-index: 5; width: min(340px, 92%); padding: 16px 18px; border-radius: 16px; pointer-events: auto;
  color: #f3ead6; background: rgba(14, 10, 40, .92); backdrop-filter: blur(10px);
  border: 1px solid rgba(231, 201, 127, .45); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .8);
}
.vs-sky__card h3 { margin: 4px 0 4px; font: 400 1.3rem/1.2 var(--vv-serif); color: #fff4d6; }
.vs-sky__card p { margin: 0; font: italic 400 .95rem var(--vv-text); color: #cbbfe8; }
.vs-sky__card small { display: block; margin: 6px 0 12px; font: 500 .76rem var(--vv-sans); color: #9f95bf; }
.vs-sky__card .vv-eyebrow { margin: 0; color: var(--x, var(--vs-xrysos)); }
.vs-sky__card .vv-btn { min-height: 38px; padding: 0 16px; font-size: .86rem; }
.vs-sky__card .vv-btn--ghost { color: #f3ead6; border-color: rgba(231, 201, 127, .4); background: transparent; }
.vs-sky__card div { display: flex; gap: 8px; flex-wrap: wrap; }
.vs-sky__card .vs-x { position: absolute; right: 8px; top: 6px; border: 0; background: none; color: #a99fc9; font-size: 1rem; cursor: pointer; }
.vs-lista { margin: 40px auto 0; max-width: 900px; border-radius: 18px; border: 1px solid rgba(231, 201, 127, .25); background: rgba(255, 255, 255, .03); }
.vs-lista summary { cursor: pointer; padding: 16px 22px; font: 600 .95rem var(--vv-sans); color: #f3ead6; list-style: none; display: flex; justify-content: space-between; }
.vs-lista summary::-webkit-details-marker { display: none; }
.vs-lista summary span { color: var(--vs-xrysos); }
.vs-lista[open] { padding-bottom: 14px; }
.vs-lista h3 { margin: 18px 22px 8px; font: 600 .74rem var(--vv-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--vs-xrysos); }
.vs-lista h3 small { color: #8f86a8; }
.vs-lista ol { list-style: none; margin: 0; padding: 0 22px; display: grid; gap: 2px; }
.vs-lista li { display: grid; grid-template-columns: 1fr auto; column-gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.vs-lista li a { font: 400 1.08rem var(--vv-serif); color: #f3ead6; text-decoration: none; }
.vs-lista li a:hover { color: var(--vs-xrysos); }
.vs-lista li span { grid-column: 1; font: 400 .8rem var(--vv-sans); color: #9f95bf; }
.vs-lista li .vs-mikro-play { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--vs-xrysos); border-color: rgba(231, 201, 127, .4); }

/* ---------------------------------------------------------------- τόμοι */
.vs-triptyxo { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: clamp(20px, 3vw, 40px); }
.vs-tomos { text-align: center; }
.vs-tomos__kogxi { /* κόγχη μὲ καμάρα */
  position: relative; padding: 42px 30px 30px; margin-bottom: 18px; border-radius: 50% 50% 18px 18px / 26% 26% 18px 18px;
  background: radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--x) 30%, var(--vv-bg-2)), var(--vv-bg-2) 70%);
  box-shadow: inset 0 0 0 1px var(--vv-line-strong), inset 0 -40px 60px -40px rgba(0, 0, 0, .25);
}
.vs-tomos__vivlio { --t: 14px; display: block; width: min(210px, 80%); margin: 0 auto; perspective: 1200px; }
.vs-tomos__3d {
  position: relative; display: block; aspect-ratio: 32 / 46; transform-style: preserve-3d; transform: rotateY(-24deg) rotateX(3deg);
  transition: transform .7s cubic-bezier(.2, .8, .2, 1);
}
.vs-tomos:hover .vs-tomos__3d, .vs-tomos__vivlio:focus-visible .vs-tomos__3d { transform: rotateY(-6deg) rotateX(0) translateY(-8px); }
.vs-tomos__3d img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 2px 5px 5px 2px; transform: translateZ(calc(var(--t) / 2)); box-shadow: 0 30px 40px -20px rgba(0, 0, 0, .6); }
.vs-tomos__rahi { position: absolute; top: 0; left: 0; width: var(--t); height: 100%; transform-origin: left; transform: rotateY(-90deg) translateZ(calc(var(--t) / -2 * 0)) translateX(calc(var(--t) / -2));
  background: linear-gradient(90deg, color-mix(in srgb, var(--x) 60%, #000), var(--x), color-mix(in srgb, var(--x) 70%, #000)); }
.vs-tomos__fylla { position: absolute; top: 2%; right: 0; width: var(--t); height: 96%; transform-origin: right; transform: rotateY(90deg) translateX(calc(var(--t) / 2));
  background: repeating-linear-gradient(90deg, #f4ecd8 0 1px, #d9ceb4 1px 2px); }
.vs-tomos h3 { margin: 0; font: 400 1.35rem/1.2 var(--vv-serif); }
.vs-tomos h3 a { color: var(--vv-ink); text-decoration: none; }
.vs-tomos__yp { margin: 2px 0 0; font: italic 400 1.02rem var(--vv-text); color: var(--vv-gold); }
.vs-tomos__meta { margin: 8px 0 14px; font: 500 .82rem var(--vv-sans); color: var(--vv-muted); }
.vs-tomos__actions { display: flex; justify-content: center; gap: 8px; }

/* ---------------------------------------------------------------- λόγοι */
.vs-logoi { position: relative; padding: clamp(60px, 8vw, 110px) 0; text-align: center; overflow: hidden;
  background: radial-gradient(800px 400px at 50% 50%, color-mix(in srgb, var(--vv-gold-2) 14%, transparent), transparent 70%); }
.vs-logoi::before { content: "«"; position: absolute; left: 50%; top: -24px; transform: translateX(-50%); font: 400 12rem/1 var(--vv-serif); color: color-mix(in srgb, var(--vv-gold-2) 16%, transparent); pointer-events: none; }
.vs-logoi__stage { position: relative; display: grid; min-height: 12em; }
.vs-logos { grid-area: 1 / 1; margin: 0; align-self: center; opacity: 0; filter: blur(6px); transform: translateY(10px); transition: opacity 1s ease, filter 1s ease, transform 1s ease; pointer-events: none; }
.vs-logos.is-on { opacity: 1; filter: none; transform: none; pointer-events: auto; }
.vs-logos blockquote { margin: 0 auto; max-width: 30em; font: 400 clamp(1.35rem, 2.6vw, 2.05rem)/1.45 var(--vv-serif); color: var(--vv-ink); }
.vs-logos figcaption { margin-top: 18px; font: 500 .85rem var(--vv-sans); color: var(--vv-muted); }
.vs-logos figcaption a { margin-left: 8px; color: var(--vv-gold); font-weight: 600; }
.vs-logoi__nav { display: inline-flex; align-items: center; gap: 14px; margin-top: 22px; font: 600 .8rem var(--vv-sans); color: var(--vv-muted); }
.vs-logoi__nav button { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--vv-line-strong); background: var(--vv-surface); color: var(--vv-ink); font-size: 1.2rem; cursor: pointer; }
.vs-logoi__nav button:hover { border-color: var(--vv-gold); color: var(--vv-gold); }

/* ---------------------------------------------------------------- ἀναζήτηση (μέσα στὸ σκοτεινὸ πρόσκηνιο) */
.vs-hero .vs-anaz { margin: 26px 0 0; max-width: 600px; }
.vs-hero .vs-anaz input { color: #f6efe0; }
.vs-anaz__par { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
.vs-anaz__par a { text-decoration: none; }
.vs-hero .vs-anaz__par .vv-chip { color: #e9dfc8; border-color: rgba(231, 201, 127, .3); background: rgba(255, 255, 255, .04); }
.vs-hero .vs-anaz__par .vv-chip:hover { color: #1d1405; background: var(--vs-xrysos); border-color: var(--vs-xrysos); }

/* ---------------------------------------------------------------- βιογραφικό */
.vs-bio__grid { display: grid; grid-template-columns: minmax(220px, 360px) 1fr; gap: clamp(28px, 5vw, 70px); align-items: center; }
.vs-bio__foto { margin: 0; }
.vs-arch--mikri { box-shadow: 0 0 0 2px var(--vv-gold-2), 0 0 0 9px var(--vv-bg), 0 0 0 10px color-mix(in srgb, var(--vv-gold-2) 45%, transparent), var(--vv-shadow); }
.vs-arch--mikri img { animation: none; transform: none; }
.vs-bio h2 { margin: 0 0 16px; font: 400 clamp(1.7rem, 3.2vw, 2.5rem)/1.15 var(--vv-serif); }
.vs-bio h2 span { color: var(--vv-gold); }
.vs-bio .vv-prose { font: 400 1.08rem/1.75 var(--vv-text); color: var(--vv-ink-2); }
.vs-bio blockquote { margin: 24px 0 0; padding: 18px 22px; border-left: 3px solid var(--vv-gold-2); border-radius: 0 14px 14px 0; background: color-mix(in srgb, var(--vv-gold-2) 10%, transparent); font-style: italic; }
.vs-bio blockquote p { margin: 0; }
.vs-bio blockquote footer { margin-top: 10px; font: normal 600 .8rem var(--vv-sans); color: var(--vv-muted); }

/* ---------------------------------------------------------------- κλείσιμο */
.vs-telos { position: relative; isolation: isolate; overflow: hidden; color: #f3ead6; text-align: center; padding: clamp(90px, 12vw, 170px) 0; background: var(--vs-nyxta); }
.vs-telos__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; opacity: .5; filter: saturate(.9); }
.vs-telos::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 50% 40%, rgba(6, 9, 24, .35), rgba(6, 9, 24, .92) 75%); }
.vs-telos .vs-aster { width: 72px; height: 72px; margin: 0 auto 14px; display: block; }
.vs-telos blockquote { margin: 0; font: 400 clamp(2rem, 5vw, 3.6rem)/1.15 var(--vv-serif);
  background: var(--vs-xrysafi); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: vs-lampsi 8s ease-in-out infinite; }
.vs-telos__pigi { margin: 12px 0 28px; font: italic 400 1rem var(--vv-text); color: #c8bfdc; }

/* ---------------------------------------------------------------- ἀκρόαση (κάτω) */
.vs-player {
  position: fixed; z-index: 120; left: 50%; bottom: max(14px, env(safe-area-inset-bottom)); transform: translate(-50%, 140%);
  width: min(720px, calc(100% - 24px)); display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 18px;
  color: #f3ead6; background: rgba(12, 9, 34, .94); backdrop-filter: blur(14px) saturate(1.3);
  border: 1px solid rgba(231, 201, 127, .45); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .8);
  transition: transform .45s cubic-bezier(.2, .8, .2, 1);
}
.vs-player.is-on { transform: translate(-50%, 0); }
.vs-player__cover { width: 40px; height: 56px; object-fit: cover; border-radius: 2px 4px 4px 2px; flex: none; }
.vs-player__info { flex: 1; min-width: 0; display: grid; gap: 3px; }
.vs-player__info b { font: 400 1.05rem var(--vv-serif); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vs-player__info small { font: 500 .74rem var(--vv-sans); color: #a99fc9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vs-player__bar { height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .12); overflow: hidden; cursor: pointer; }
.vs-player__bar span { display: block; height: 100%; width: 0; background: var(--vs-xrysafi); }
.vs-player__btn { flex: none; min-width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(231, 201, 127, .4); background: transparent; color: var(--vs-xrysos); cursor: pointer; font-size: .9rem; display: grid; place-items: center; text-decoration: none; }
.vs-player__btn--txt { border-radius: 999px; padding: 0 14px; font: 600 .8rem var(--vv-sans); }
.vs-player__eq { display: flex; align-items: flex-end; gap: 3px; height: 22px; flex: none; }
.vs-player__eq i { width: 3px; height: 30%; border-radius: 2px; background: var(--vs-xrysos); animation: vs-eq .9s ease-in-out infinite; }
.vs-player__eq i:nth-child(2) { animation-delay: -.3s; } .vs-player__eq i:nth-child(3) { animation-delay: -.6s; } .vs-player__eq i:nth-child(4) { animation-delay: -.15s; }
.vs-player.is-paused .vs-player__eq i { animation-play-state: paused; }
@keyframes vs-eq { 50% { height: 100%; } }

/* ---------------------------------------------------------------- ζώνη στὴν ἀρχικὴ τῆς βιβλιοθήκης */
.vs-zoni { position: relative; isolation: isolate; overflow: hidden; color: #f3ead6; padding: clamp(56px, 7vw, 96px) 0;
  background: radial-gradient(800px 500px at 80% 30%, rgba(106, 75, 181, .45), transparent 70%), linear-gradient(160deg, var(--vs-nyxta), var(--vs-nyxta-2) 60%, #1a1033); }
.vs-zoni::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .8;
  background-image: radial-gradient(1px 1px at 10% 20%, #fff 50%, transparent 51%), radial-gradient(1.3px 1.3px at 70% 80%, #fff4d6 50%, transparent 51%),
    radial-gradient(1px 1px at 40% 60%, #cfd8ff 50%, transparent 51%), radial-gradient(1px 1px at 88% 14%, #fff 50%, transparent 51%);
  background-size: 280px 240px; animation: vs-ouranos-kinisi 120s linear infinite; }
@keyframes vs-ouranos-kinisi { to { background-position: 280px -240px, -280px 240px, 280px 240px, -280px -240px; } }
.vs-zoni__grid { display: grid; grid-template-columns: auto 1fr auto; gap: clamp(20px, 4vw, 56px); align-items: center; }
.vs-zoni__foto { width: clamp(120px, 14vw, 190px); }
.vs-zoni__foto { display: block; }
.vs-zoni__foto .vs-arch { display: block; aspect-ratio: 3 / 4; }
.vs-zoni__foto .vs-arch img { animation-duration: 40s; }
.vs-zoni .vv-eyebrow { color: var(--vs-xrysos); }
.vs-zoni h2 { margin: 0; font: 400 clamp(1.9rem, 3.6vw, 3rem)/1.05 var(--vv-serif); }
.vs-zoni h2 span { display: block; background: var(--vs-xrysafi); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: vs-lampsi 7s ease-in-out infinite; }
.vs-zoni p { margin: 12px 0 0; max-width: 36em; font: italic 400 1.06rem/1.55 var(--vv-text); color: #d3c9e8; }
.vs-zoni__kyr { display: block; margin-top: 16px; padding: 12px 16px; border-radius: 14px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(231, 201, 127, .3); text-decoration: none; color: #f3ead6; max-width: 34em; }
.vs-zoni__kyr small { display: block; font: 600 .68rem var(--vv-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--vs-xrysos); }
.vs-zoni__kyr b { font: 400 1.25rem var(--vv-serif); }
.vs-zoni__kyr:hover { border-color: var(--vs-xrysos); }
.vs-zoni__vivlia { display: flex; gap: 10px; }
.vs-zoni__vivlia img { width: clamp(64px, 6vw, 92px); border-radius: 2px 5px 5px 2px; box-shadow: 0 20px 30px -14px rgba(0, 0, 0, .8); transform: perspective(700px) rotateY(-18deg); transition: transform .4s; }
.vs-zoni__vivlia a:hover img { transform: perspective(700px) rotateY(0) translateY(-6px); }

/* ---------------------------------------------------------------- σελίδα βιβλίου τῆς συλλογῆς + κάρτες */
.vv-book__kordela { position: absolute; z-index: 2; left: 10%; bottom: 8%; transform: translateZ(calc(var(--t) / 2 + 1px)); padding: 3px 9px; border-radius: 999px;
  font: 700 .62rem/1.2 var(--vv-sans); letter-spacing: .08em; color: #1d1405; background: linear-gradient(135deg, #f3dfa6, #d4b06a); box-shadow: 0 4px 12px -4px rgba(0, 0, 0, .6); white-space: nowrap; }
.vv-item--syllogi .vv-item__hero { background: radial-gradient(900px 500px at 25% 30%, rgba(106, 75, 181, .22), transparent 70%); }
.vs-periex { margin-top: 10px; }
.vs-periex ol { list-style: none; margin: 0; padding: 0; columns: 2 320px; column-gap: 40px; }
.vs-periex li { break-inside: avoid; padding: 8px 0; border-bottom: 1px solid var(--vv-line); }
.vs-periex a { font: 400 1.06rem var(--vv-serif); color: var(--vv-ink); text-decoration: none; }
.vs-periex a:hover { color: var(--vv-gold); }
.vs-periex span { display: block; font: 400 .8rem var(--vv-sans); color: var(--vv-muted); }

/* ---------------------------------------------------------------- κινητό */
@media (max-width: 900px) {
  .vs-hero { min-height: auto; padding: 40px 0 80px; }
  .vs-hero__grid { grid-template-columns: 1fr; }
  .vs-hero__foto { order: -1; width: min(300px, 78%); margin-top: 60px; }
  .vs-hero__text { text-align: center; }
  .vs-hero__actions, .vs-counters, .vs-anaz__par { justify-content: center; }
  .vs-hero .vs-anaz { margin-inline: auto; }
  .vs-lead { margin-inline: auto; }
  .vs-kyriaki__grid { grid-template-columns: 1fr; }
  .vs-fyllo { position: static; grid-template-columns: auto 1fr; justify-items: start; text-align: left; column-gap: 18px; padding: 16px 20px; }
  .vs-fyllo__mera { grid-column: 2; }
  .vs-fyllo__n { grid-row: 1 / span 3; font-size: 4rem; }
  .vs-fyllo__minas { grid-column: 2; }
  .vs-fyllo__onoma { grid-column: 2; margin-top: 4px; padding-top: 4px; }
  .vs-k { grid-template-columns: 64px 1fr; gap: 14px; padding: 14px; }
  .vs-k__cover img { width: 64px; }
  .vs-bio__grid { grid-template-columns: 1fr; }
  .vs-bio__foto { width: min(280px, 80%); margin: 0 auto; }
  .vs-zoni__grid { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .vs-zoni p, .vs-zoni__kyr { margin-inline: auto; }
  .vs-player__btn--txt, .vs-player__eq { display: none; }
  .vs-sky .vs-per-txt { font-size: 18px; }
  .vs-sky__hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .vs-in, .vs-reveal { opacity: 1; transform: none; animation: none; transition: none; }
  .vs-hero__aura, .vs-aster g, .vs-arch img, .vs-title__b, .vs-telos blockquote, .vs-zoni::before, .vs-zoni h2 span { animation: none; }
}
.pv-akinito .vs-hero__aura, .pv-akinito .vs-aster g, .pv-akinito .vs-arch img, .pv-akinito .vs-title__b, .pv-akinito .vs-zoni::before { animation: none; }

/* ---------------------------------------------------------------- ἡ φωνή του (βίντεο YouTube, φορτώνουν μόνο μὲ κλίκ) */
.vs-foni {
  position: relative; padding: clamp(60px, 9vw, 110px) 0; color: #f3ead6;
  background: radial-gradient(900px 500px at 20% 0%, rgba(106, 75, 181, .35), transparent 70%),
              radial-gradient(700px 500px at 90% 100%, rgba(184, 145, 63, .18), transparent 70%),
              linear-gradient(180deg, #0f0b2a 0%, #0b0a22 100%);
}
.vs-foni__head { text-align: center; max-width: 760px; margin: 0 auto 34px; }
.vs-foni__head .vv-eyebrow { color: var(--vs-xrysos); }
.vs-foni__head h2 { margin: 0 0 12px; font: 400 clamp(1.9rem, 4vw, 3rem)/1.1 var(--vv-serif); color: #fff4d6; }
.vs-foni__head p { margin: 0; font: italic 400 1.05rem/1.6 var(--vv-text); color: #c8bfdc; }
.vs-foni__grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 26px; align-items: start; }
.vs-foni__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vs-yt { margin: 0; }
.vs-yt__btn, .vs-yt iframe {
  position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; padding: 0; overflow: hidden; cursor: pointer;
  border-radius: 14px; background: #000; box-shadow: 0 18px 50px rgba(0, 0, 0, .45), 0 0 0 1px rgba(231, 201, 127, .25);
}
.vs-yt__btn img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease, filter .6s ease; filter: saturate(.92) brightness(.86); }
.vs-yt__btn:hover img, .vs-yt__btn:focus-visible img { transform: scale(1.04); filter: none; }
.vs-yt__play {
  position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%;
  display: grid; place-items: center; background: rgba(10, 8, 30, .55); backdrop-filter: blur(4px);
  box-shadow: 0 0 0 2px var(--vs-xrysos), 0 0 30px rgba(231, 201, 127, .55); transition: transform .3s ease;
}
.vs-yt__play svg { width: 28px; height: 28px; fill: var(--vs-fos); margin-left: 4px; }
.vs-yt--megalo .vs-yt__play { width: 88px; height: 88px; margin: -44px 0 0 -44px; }
.vs-yt--megalo .vs-yt__play svg { width: 38px; height: 38px; }
.vs-yt__btn:hover .vs-yt__play { transform: scale(1.08); }
.vs-yt figcaption { margin-top: 10px; display: grid; gap: 2px; }
.vs-yt figcaption b { font: 500 .98rem/1.35 var(--vv-text); color: #fff4d6; }
.vs-yt--megalo figcaption b { font: 400 1.35rem/1.3 var(--vv-serif); }
.vs-yt figcaption small { font: .8rem var(--vv-sans); color: #a99fc4; }
.vs-foni__lista .vs-yt figcaption b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .88rem; }
.vs-foni__kanali { text-align: center; margin: 34px 0 0; }
@media (max-width: 900px) { .vs-foni__grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .vs-foni__lista { grid-template-columns: 1fr; } }
.vs-yt__eidos { justify-self: start; padding: 2px 9px; border-radius: 999px; font: 600 .66rem var(--vv-sans); letter-spacing: .12em; text-transform: uppercase; color: #1d1a16; background: var(--vs-xrysos); }

/* ---------------------------------------------------------------- ἀστερισμοὶ θεμάτων */
.vs-astro { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 0 auto 18px; max-width: 980px; }
.vs-astro__t { font: 600 .72rem var(--vv-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--vs-xrysos); margin-right: 4px; }
.vs-astro__b {
  border: 1px solid rgba(231, 201, 127, .28); background: rgba(10, 8, 30, .35); color: #e9e1f6; border-radius: 999px;
  padding: 5px 12px; font: 500 .86rem var(--vv-text); cursor: pointer; transition: all .25s;
}
.vs-astro__b small { color: #a99fc4; font: .72rem var(--vv-sans); margin-left: 2px; }
.vs-astro__b:hover { border-color: var(--vs-xrysos); color: #fff4d6; }
.vs-astro__b.is-active { background: var(--vs-xrysos); color: #1d1a16; border-color: var(--vs-xrysos); box-shadow: 0 0 24px rgba(231, 201, 127, .55); }
.vs-astro__b.is-active small { color: #3b2f14; }
.vs-sky .vs-astro-line { fill: none; stroke: #f6e3a6; stroke-width: 1.3; stroke-linecap: round; opacity: .9; }
.vs-sky .vs-astro-glow { fill: none; stroke: #e7c97f; stroke-width: 6; opacity: .18; filter: url(#vs-lampsi); pointer-events: none; }
.vs-sky .vs-astro-dot { fill: none; stroke: #fff4d6; stroke-width: 1.2; opacity: 0; animation: vs-astro-dot .7s ease forwards; pointer-events: none; }
@keyframes vs-astro-dot { from { opacity: 0; r: 18; } to { opacity: .85; r: 8; } }
.vs-sky svg.is-astro .vs-st:not(.is-off) circle.vs-st__fos { opacity: .95; }
.vs-sky svg.is-astro .vs-st.is-off { opacity: .14; }
.vs-sky svg.is-astro .vs-kentro-2 { fill: var(--vs-xrysos); font-size: 15px; letter-spacing: .12em; }

/* ---------------------------------------------------------------- ρωτῆστε τὰ κηρύγματα */
.vs-rot { background: linear-gradient(180deg, var(--vv-bg, #faf6ee) 0%, #f3ecdf 100%); }
.vs-rot__head { text-align: center; margin-bottom: 22px; }
.vs-rot__head h2 { margin: 4px 0 10px; font: 400 clamp(1.8rem, 3.6vw, 2.6rem)/1.15 var(--vv-serif); }
.vs-rot__head p:last-child { margin: 0 auto; max-width: 640px; font: italic 400 1.05rem/1.6 var(--vv-text); color: var(--vv-muted, #6b6257); }
.vs-rot__form { display: flex; gap: 10px; background: #fff; border: 1px solid rgba(184, 145, 63, .45); border-radius: 999px; padding: 6px 6px 6px 22px; box-shadow: 0 12px 34px rgba(60, 40, 10, .1); }
.vs-rot__form input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font: 400 1.12rem var(--vv-text); color: #1d1a16; }
.vs-rot__par { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 14px 0 0; }
.vs-rot__par .vv-chip { cursor: pointer; }
.vs-rot__apot { margin-top: 26px; display: grid; gap: 16px; }
.vs-rot__fort { text-align: center; color: var(--vv-muted, #6b6257); font-style: italic; }
.vs-rot__k { position: relative; background: #fff; border-radius: 16px; padding: 20px 22px 16px 26px; box-shadow: 0 10px 30px rgba(60, 40, 10, .08); border-left: 4px solid var(--x, #b8913f); }
.vs-rot__k blockquote { margin: 0 0 10px; font: 400 1.12rem/1.6 var(--vv-text); color: #1d1a16; }
.vs-rot__k blockquote::before { content: '«'; color: var(--vs-xrysos-2); } .vs-rot__k blockquote::after { content: '»'; color: var(--vs-xrysos-2); }
.vs-rot__k mark { background: linear-gradient(transparent 55%, rgba(231, 201, 127, .55) 55%); color: inherit; padding: 0 1px; }
.vs-rot__pigi { margin: 0 0 10px; font: .86rem/1.4 var(--vv-sans); color: var(--vv-muted, #6b6257); }
.vs-rot__pigi b { color: #1d1a16; font-weight: 600; }
.vs-rot__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.vs-rot__simeiosi { text-align: center; font: .8rem var(--vv-sans); color: var(--vv-muted, #8a8174); margin: 4px 0 0; }
[data-theme="dark"] .vs-rot { background: #14111f; }
[data-theme="dark"] .vs-rot__k, [data-theme="dark"] .vs-rot__form { background: #1d1a2b; }
[data-theme="dark"] .vs-rot__k blockquote, [data-theme="dark"] .vs-rot__pigi b, [data-theme="dark"] .vs-rot__form input { color: #f3ead6; }

/* ---------------------------------------------------------------- «Στὸν Ναό»: ἀκρόασι σὲ ὅλη τὴν ὀθόνη */
html.vs-naos-anoixto { overflow: hidden; }
html.vs-naos-anoixto .vs-player { opacity: 0; pointer-events: none; }
.vs-naos {
  position: fixed; inset: 0; z-index: 2147483000; display: grid; grid-template-rows: auto 1fr auto; color: #f3ead6; background: #05040c;
  opacity: 0; transition: opacity .6s ease; overflow: hidden;
}
.vs-naos.is-on { opacity: 1; }
.vs-naos[hidden] { display: none; }
.vs-naos__fonto {
  position: absolute; inset: -6%; background: #120d24 center 30% / cover no-repeat; filter: blur(9px) brightness(.34) saturate(.9);
  animation: vs-naos-kinisi 48s ease-in-out infinite alternate; z-index: 0;
}
@keyframes vs-naos-kinisi { from { transform: scale(1.04) translate(-1.5%, 0); } to { transform: scale(1.16) translate(1.5%, -2%); } }
.vs-naos::after { /* βινιέτα */
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(ellipse 70% 60% at 50% 48%, transparent 30%, rgba(3, 2, 8, .78) 100%);
}
.vs-naos__kera { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.vs-naos__kera i {
  position: absolute; bottom: -12vmin; width: 46vmin; height: 46vmin; border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 196, 102, .30) 0%, rgba(255, 170, 70, .10) 35%, transparent 68%);
  animation: vs-keri 3.2s ease-in-out infinite alternate; mix-blend-mode: screen;
}
.vs-naos__kera i:nth-child(1) { left: 4%; animation-duration: 2.7s; }
.vs-naos__kera i:nth-child(2) { left: 24%; bottom: -18vmin; animation-duration: 3.6s; animation-delay: -1s; }
.vs-naos__kera i:nth-child(3) { right: 22%; bottom: -16vmin; animation-duration: 3.1s; animation-delay: -.4s; }
.vs-naos__kera i:nth-child(4) { right: 3%; animation-duration: 2.9s; animation-delay: -1.7s; }
@keyframes vs-keri { 0% { opacity: .55; transform: scale(.94) translateY(0); } 40% { opacity: .9; } 100% { opacity: .7; transform: scale(1.06) translateY(-1.2vmin); } }
.vs-naos__kefali, .vs-naos__skini, .vs-naos__podi { position: relative; z-index: 2; }
.vs-naos__kefali { text-align: center; padding: clamp(18px, 4vh, 44px) 20px 0; }
.vs-naos__kyr { margin: 0; font: 600 .74rem var(--vv-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--vs-xrysos); }
.vs-naos__titlos { margin: 6px 0 0; font: 400 clamp(1.1rem, 2.4vw, 1.7rem)/1.2 var(--vv-serif); color: #d8cdea; }
.vs-naos__skini { display: grid; align-content: center; justify-items: center; gap: 2.2vh; padding: 0 clamp(20px, 9vw, 160px); text-align: center; }
.vs-naos__prin { margin: 0; max-width: 980px; font: italic 400 clamp(.95rem, 1.6vw, 1.25rem)/1.5 var(--vv-text); color: rgba(216, 205, 234, .42); min-height: 1.5em; }
.vs-naos__prin.is-anev { animation: vs-naos-anev 1s ease both; }
@keyframes vs-naos-anev { from { opacity: 1; transform: translateY(26px); color: rgba(255, 244, 214, .8); } to { opacity: 1; transform: none; } }
.vs-naos__tora {
  margin: 0; max-width: 1100px; font: 400 clamp(1.6rem, 3.6vw, 3.1rem)/1.38 var(--vv-serif); color: #fff4d6;
  text-shadow: 0 0 28px rgba(255, 210, 130, .35), 0 2px 18px rgba(0, 0, 0, .6); text-wrap: balance;
}
.vs-naos__tora.is-mpainei { animation: vs-naos-mpainei 1.1s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes vs-naos-mpainei { from { opacity: 0; transform: translateY(18px); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
.vs-naos__podi { padding: 0 clamp(18px, 6vw, 90px) clamp(18px, 4vh, 36px); display: grid; gap: 14px; }
.vs-naos__bar { display: block; height: 2px; background: rgba(231, 201, 127, .18); border-radius: 2px; overflow: hidden; }
.vs-naos__bar span { display: block; height: 100%; width: 0; background: var(--vs-xrysafi); transition: width .4s linear; }
.vs-naos__btns { display: flex; justify-content: center; gap: 12px; }
.vs-naos__btns button {
  border: 1px solid rgba(231, 201, 127, .45); background: rgba(10, 8, 30, .45); color: #f3ead6; border-radius: 999px;
  padding: 9px 20px; font: 500 .95rem var(--vv-sans); cursor: pointer; backdrop-filter: blur(6px);
}
.vs-naos__btns button:hover { border-color: var(--vs-xrysos); color: var(--vs-xrysos); }
.pv-akinito .vs-naos__fonto, .pv-akinito .vs-naos__kera i { animation: none; }
@media (prefers-reduced-motion: reduce) { .vs-naos__fonto, .vs-naos__kera i, .vs-naos__tora.is-mpainei, .vs-naos__prin.is-anev { animation: none; } }
