/* ==========================================================================
   Zillion – ΕΚΔΟΣΗ 2 «Editorial Trust» (ui-ux-pro-max: Trust & Authority)
   Φορτώνεται ΜΕΤΑ το main.css και αλλάζει tokens + προσθέτει νέα components.
   Ενεργό μόνο σε body.v2.
   ========================================================================== */

@font-face { font-family: "Noto Serif Display"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/noto-serif-display-greek-400-normal.woff2") format("woff2"); unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family: "Noto Serif Display"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/noto-serif-display-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Noto Serif Display"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/noto-serif-display-greek-500-normal.woff2") format("woff2"); unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family: "Noto Serif Display"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/noto-serif-display-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Noto Serif Display"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/noto-serif-display-greek-600-normal.woff2") format("woff2"); unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family: "Noto Serif Display"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/noto-serif-display-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Noto Serif Display"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/noto-serif-display-greek-400-italic.woff2") format("woff2"); unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family: "Noto Serif Display"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/noto-serif-display-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Noto Serif Display"; font-style: italic; font-weight: 500; font-display: swap; src: url("../fonts/noto-serif-display-greek-500-italic.woff2") format("woff2"); unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family: "Noto Serif Display"; font-style: italic; font-weight: 500; font-display: swap; src: url("../fonts/noto-serif-display-latin-500-italic.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/commissioner-greek-400-normal.woff2") format("woff2"); unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/commissioner-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/commissioner-greek-500-normal.woff2") format("woff2"); unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/commissioner-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/commissioner-greek-600-normal.woff2") format("woff2"); unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/commissioner-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/commissioner-greek-700-normal.woff2") format("woff2"); unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/commissioner-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* ---------- Tokens ---------- */
body.v2 {
  --navy: #0F172A;
  --navy-2: #1E293B;
  --brand: #0F2A55;
  --blue: #1D4E9E;
  --ink: #0F172A;
  --ink-2: #334155;
  --slate: #526077;
  --paper: #F7F5F0;
  --sky: #EEF2F8;
  --line: #E5E1D8;
  --line-2: #D6D0C3;
  --gold: #CA8A04;
  --gold-deep: #A16F05;
  --gold-soft: #FBF3DD;
  --font-display: "Noto Serif Display", Georgia, "Times New Roman", serif;
  --font-body: "Commissioner", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-ui: "Commissioner", system-ui, sans-serif;
  --font-quote: "Noto Serif Display", Georgia, serif;
  --r-md: 6px;
  --r-lg: 10px;
  --r-sm: 4px;
  font-family: var(--font-body);
  font-feature-settings: normal;
  background: #fff;
}
body.v2 h1, body.v2 h2, body.v2 h3 { font-family: var(--font-display); font-weight: 500; letter-spacing: -0.015em; }
body.v2 h1 { font-weight: 400; font-size: clamp(2.5rem, 1.6rem + 3.8vw, 4.75rem); line-height: 1.04; letter-spacing: -0.025em; }
body.v2 h2 { font-size: clamp(2rem, 1.5rem + 2.2vw, 3.25rem); line-height: 1.1; font-weight: 400; }
body.v2 h3 { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); line-height: 1.25; }
body.v2 h4 { font-family: var(--font-ui); font-weight: 600; letter-spacing: 0; }
body.v2 em.gold { font-style: italic; color: var(--gold); }
body.v2 .eyebrow { font-family: var(--font-ui); font-weight: 600; letter-spacing: .16em; font-size: .75rem; color: var(--gold-deep); }
body.v2 .eyebrow::before, body.v2 .eyebrow--center::after { background: var(--gold); width: 32px; height: 1px; }
body.v2 .section--navy .eyebrow { color: #E2B44A; }

/* Buttons: χρυσό CTA με σκούρο κείμενο (contrast > 7:1) */
body.v2 .btn { font-family: var(--font-ui); font-weight: 600; letter-spacing: .01em; border-radius: var(--r-sm); min-height: 54px; }
body.v2 .btn--gold { --btn-bg: var(--gold); --btn-fg: var(--navy); --btn-bd: var(--gold); }
body.v2 .btn--gold:hover { --btn-bg: #E0A10E; --btn-fg: var(--navy); --btn-bd: #E0A10E; box-shadow: 0 10px 30px -10px rgba(202,138,4,.55); }
body.v2 .btn--ghost-dark { --btn-bg: transparent; --btn-fg: #fff; --btn-bd: rgba(255,255,255,.3); }
body.v2 .btn--ghost-dark:hover { --btn-bg: rgba(255,255,255,.06); --btn-fg: #fff; --btn-bd: #fff; }
body.v2 .btn--sm { min-height: 42px; border-radius: var(--r-sm); }
body.v2 .nav__link { font-family: var(--font-ui); font-weight: 500; border-radius: var(--r-sm); }
body.v2 .header-phone, body.v2 .link-arrow { font-family: var(--font-ui); }
body.v2 .link-arrow { color: var(--ink); border-bottom: 1px solid var(--gold); padding-bottom: 2px; }
body.v2 .card { border-radius: var(--r-md); }
body.v2 .trust__num, body.v2 .kpi__value { font-family: var(--font-display); font-weight: 400; }

/* ---------- Hero (σκούρο, full-bleed) ---------- */
.v2-hero { position: relative; background: var(--navy); color: #CBD5E1; overflow: hidden; isolation: isolate; padding-block: clamp(4rem, 3rem + 5vw, 7.5rem) clamp(4.5rem, 3rem + 6vw, 8.5rem); }
.v2-hero::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(55% 70% at 85% 10%, rgba(29,78,158,.45), transparent 60%),
    radial-gradient(40% 50% at 0% 100%, rgba(202,138,4,.10), transparent 60%); }
.v2-hero__lines { position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image: repeating-linear-gradient(to bottom, rgba(255,255,255,.035) 0 1px, transparent 1px 48px);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 40%, #000 80%, transparent);
          mask-image: linear-gradient(to right, transparent, #000 40%, #000 80%, transparent); }
.v2-hero__inner { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(2.5rem, 2rem + 4vw, 6rem); align-items: center; }
.v2-hero h1 { color: #fff; max-width: 13ch; }
.v2-hero .lead { color: #94A3B8; margin-top: 1.75rem; max-width: 34rem; }
.v2-hero .lead strong { color: #E2E8F0; font-weight: 500; }
.v2-hero .btn-row { margin-top: 2.5rem; }
.v2-hero__assure { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 2rem; font-size: .875rem; color: #94A3B8; }
.v2-hero__assure span { display: inline-flex; align-items: center; gap: .5rem; }
.v2-hero__assure svg { width: 16px; height: 16px; color: #E2B44A; }

/* Credentials card */
.cred-card { position: relative; background: #fff; color: var(--ink-2); border-radius: var(--r-lg); padding: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem); box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); }
.cred-card::after { content: ""; position: absolute; inset: 10px; border: 1px solid var(--line); border-radius: 6px; pointer-events: none; }
.cred-card__top { display: flex; gap: 1rem; align-items: center; padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.cred-card__mono { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--navy); color: #fff; font-family: var(--font-display); font-size: 1.5rem; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--gold); }
.cred-card__mono img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.cred-card__name { font-family: var(--font-display); font-size: 1.375rem; color: var(--ink); line-height: 1.15; }
.cred-card__role { font-size: .8125rem; color: var(--slate); margin-top: .2rem; }
.cred-list { list-style: none; display: grid; gap: .1rem; margin: 1rem 0 1.25rem; }
.cred-list li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px dashed var(--line); font-size: .9375rem; }
.cred-list li:last-child { border-bottom: 0; }
.cred-list span { color: var(--slate); }
.cred-list b { font-weight: 600; color: var(--ink); text-align: right; }
.cred-card__quote { position: relative; background: var(--paper); border-radius: var(--r-sm); padding: 1rem 1.1rem; font-family: var(--font-quote); font-style: italic; font-size: 1.0625rem; line-height: 1.45; color: var(--ink); }
.cred-card__quote small { display: block; margin-top: .5rem; font-family: var(--font-ui); font-style: normal; font-size: .75rem; color: var(--slate); }
.cred-card__stamp { position: absolute; top: -18px; right: 22px; z-index: 2; display: inline-flex; align-items: center; gap: .4rem; background: var(--gold); color: var(--navy); font-weight: 700; font-size: .75rem; letter-spacing: .06em; padding: .45rem .8rem; border-radius: 999px; box-shadow: 0 8px 20px -8px rgba(202,138,4,.7); }
.cred-card__stamp svg { width: 14px; height: 14px; }
@media (max-width: 960px) { .v2-hero__inner { grid-template-columns: 1fr; } .cred-card { max-width: 30rem; } }
@media (max-width: 560px) { .v2-hero .btn-row .btn { flex: 1 1 100%; } }

/* ---------- Expertise strip ---------- */
.v2-strip { background: var(--paper); border-bottom: 1px solid var(--line); }
.v2-strip__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2.5rem; padding-block: 1.6rem; }
.v2-strip__label { font-size: .75rem; letter-spacing: .14em; font-weight: 600; color: var(--slate); }
.v2-strip ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
.v2-strip li { font-family: var(--font-display); font-size: 1.125rem; color: var(--ink); display: inline-flex; align-items: center; gap: .6rem; }
.v2-strip li::before { content: ""; width: 5px; height: 5px; transform: rotate(45deg); background: var(--gold); }

/* ---------- Problem / solution (πριν και μετά) ---------- */
.compare { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.compare__col { padding: clamp(1.75rem, 1.2rem + 2vw, 3rem); }
.compare__col--before { background: var(--paper); }
.compare__col--after { background: var(--navy); color: #CBD5E1; }
.compare__col h3 { margin-bottom: 1.5rem; }
.compare__col--after h3 { color: #fff; }
.compare__col ul { list-style: none; display: grid; gap: 1.1rem; }
.compare__col li { display: grid; grid-template-columns: 28px 1fr; gap: .9rem; align-items: start; line-height: 1.5; }
.compare__col li .mk { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; }
.compare__col--before .mk { background: #EDE9E0; color: #8A8172; }
.compare__col--after .mk { background: rgba(202,138,4,.15); color: #E2B44A; }
.compare__col .mk svg { width: 15px; height: 15px; }
.compare__tag { display: inline-block; font-size: .75rem; letter-spacing: .12em; font-weight: 600; margin-bottom: .75rem; color: var(--slate); }
.compare__col--after .compare__tag { color: #E2B44A; }
@media (max-width: 860px) { .compare { grid-template-columns: 1fr; } }

/* ---------- Services editorial list ---------- */
.svc-list { list-style: none; border-top: 1px solid var(--ink); }
.svc-row { display: grid; grid-template-columns: 5rem minmax(0, 1fr) minmax(0, 1.3fr) auto; gap: 1.5rem 2rem; align-items: start; padding: 2rem 0; border-bottom: 1px solid var(--line-2); text-decoration: none; color: inherit; transition: background-color .25s var(--ease), padding .3s var(--ease); }
.svc-row:hover { background: var(--paper); padding-inline: 1rem; color: inherit; }
.svc-row__num { font-family: var(--font-display); font-size: 2.25rem; line-height: 1; color: var(--gold); }
.svc-row h3 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.svc-row p { color: var(--slate); font-size: .9688rem; }
.svc-row__tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .9rem; }
.svc-row__tags span { font-size: .8125rem; padding: .3rem .65rem; border: 1px solid var(--line-2); border-radius: 999px; color: var(--ink-2); background: #fff; }
.svc-row__go { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line-2); display: grid; place-items: center; transition: all .25s var(--ease); align-self: center; }
.svc-row__go svg { width: 18px; height: 18px; }
.svc-row:hover .svc-row__go { background: var(--navy); border-color: var(--navy); color: #fff; }
@media (max-width: 860px) { .svc-row { grid-template-columns: 3.5rem 1fr; } .svc-row > :nth-child(3) { grid-column: 2; } .svc-row__go { display: none; } }
.svc-quick { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 1.75rem; }
.svc-quick__label { font-size: .875rem; color: var(--slate); margin-right: .25rem; }
.svc-quick .chip { min-height: 44px; padding-inline: 1rem; }

/* ---------- Featured testimonial ---------- */
.feature-quote { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: clamp(2rem, 1.5rem + 3vw, 5rem); align-items: end; }
.feature-quote blockquote { margin: 0; }
.feature-quote blockquote p { font-family: var(--font-quote); font-size: clamp(1.625rem, 1.2rem + 1.8vw, 2.75rem); line-height: 1.25; color: var(--ink); letter-spacing: -.01em; }
.feature-quote blockquote p::before { content: "«"; color: var(--gold); }
.feature-quote blockquote p::after { content: "»"; color: var(--gold); }
.feature-quote figcaption { display: flex; align-items: center; gap: 1rem; margin-top: 2rem; }
.feature-quote figcaption img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.feature-quote figcaption b { display: block; color: var(--ink); font-weight: 600; }
.feature-quote figcaption span { font-size: .875rem; color: var(--slate); }
.mini-quotes { display: grid; gap: 1rem; }
.mini-quote { padding: 1.25rem 1.25rem 1.1rem; border-left: 2px solid var(--gold); background: var(--paper); }
.mini-quote p { font-family: var(--font-quote); font-style: italic; font-size: 1.0625rem; line-height: 1.45; color: var(--ink); }
.mini-quote small { display: block; margin-top: .6rem; font-size: .8125rem; color: var(--slate); }
.v2-reviews-cta { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; justify-content: space-between; }
.v2-reviews-cta p { font-family: var(--font-display); font-size: clamp(1.25rem, 1.1rem + .6vw, 1.625rem); color: var(--ink); }
@media (max-width: 860px) { .feature-quote { grid-template-columns: 1fr; } }

/* ---------- Λογότυπα πελατών (κινούμενη λωρίδα) ---------- */
.logos { margin-top: 3rem; }
.logos-band { background: #fff; border-bottom: 1px solid var(--line); padding-block: 1.5rem 1.25rem; }
.logos-band .logos { margin-top: 0; }
.logos-band .logos__label { margin-bottom: .75rem; }
.logos__label { text-align: center; font-size: .875rem; font-weight: 500; letter-spacing: .02em; color: var(--slate); margin-bottom: 1.25rem; }
.logos__viewport { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.logos__track { display: flex; width: max-content; animation: logos-scroll 40s linear infinite; }
.logos__list { display: flex; align-items: center; gap: clamp(2.5rem, 2rem + 2vw, 4rem); padding: .5rem clamp(1.25rem, 1rem + 1vw, 2rem); margin: 0; list-style: none; flex-shrink: 0; }
.logos__list li { flex-shrink: 0; display: flex; align-items: center; height: 68px; }
.logos__list a { display: block; border-radius: 6px; }
.logos__list a:focus-visible { outline: 2px solid var(--blue); outline-offset: 6px; }
.logos__list img { display: block; max-width: none; height: auto; }
.logos__viewport:hover .logos__track { animation-play-state: paused; }
@media (hover: hover) {
  .logos__list img { filter: grayscale(1); opacity: .75; transition: filter .3s, opacity .3s; }
  .logos__list li:hover img { filter: none; opacity: 1; }
}
@keyframes logos-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  /* Χωρίς αυτόματη κίνηση: μία σειρά που σύρεται με το δάχτυλο όταν δεν χωράει */
  .logos__viewport { overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-mask-image: none; mask-image: none; }
  .logos__viewport::-webkit-scrollbar { display: none; }
  .logos__track { animation: none !important; width: max-content; margin-inline: auto; }
  .logos__list li { scroll-snap-align: start; }
  .logos__list[aria-hidden] { display: none; }
}

/* ---------- Numbers band ---------- */
.v2-numbers { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.12); }
.v2-numbers div { padding: 2rem 1.5rem 0 0; }
.v2-numbers b { display: block; font-family: var(--font-display); font-weight: 400; font-size: clamp(2.75rem, 2rem + 3vw, 4.5rem); color: #fff; line-height: 1; letter-spacing: -.03em; }
.v2-numbers b sup { font-size: .4em; color: #E2B44A; top: -1.1em; }
.v2-numbers > div > span { display: block; margin-top: .75rem; font-size: .9375rem; color: #94A3B8; max-width: 22ch; }
@media (max-width: 860px) { .v2-numbers { grid-template-columns: 1fr 1fr; row-gap: 1rem; } }

/* ---------- Person (v2) ---------- */
body.v2 .portrait { border-radius: var(--r-lg); background: linear-gradient(170deg, #1E293B 0%, var(--navy) 80%); }
body.v2 .portrait__monogram { font-family: var(--font-display); font-weight: 400; }
body.v2 .person__quote { font-family: var(--font-display); font-style: italic; }

/* CTA band and footer tone */
body.v2 .cta { background: var(--navy); }
body.v2 .site-footer { background: #0A1020; }
body.v2 .contact-list a, body.v2 .contact-list > li > div { border-radius: var(--r-sm); }
body.v2 .contact-list .ic { color: #E2B44A; border-radius: var(--r-sm); }
body.v2 .mobile-bar a.is-primary { background: var(--gold); color: var(--navy); }
body.v2 .mobile-bar a.is-primary svg { color: var(--navy); }
body.v2 .mobile-bar a svg, body.v2 .mobile-bar__call svg { color: var(--ink); }
body.v2 .post-card__cat { background: var(--gold-soft); color: var(--gold-deep); }
body.v2 .post-card h3 { font-family: var(--font-display); font-weight: 500; }
body.v2 .icon-box { border-radius: var(--r-sm); background: var(--paper); border-color: var(--line); color: var(--ink); }

/* ==========================================================================
   v2.1 βελτιώσεις
   ========================================================================== */
/* Hero: Viber μήνυμα δίπλα στην κάρτα */
.v2-hero__visual { position: relative; padding-bottom: 7.5rem; }
.v2-ping { position: absolute; left: -2.5rem; bottom: 0; width: min(19rem, 80%); background: rgba(255,255,255,.97); border-radius: 18px; padding: .9rem 1rem 1rem; box-shadow: 0 30px 60px -20px rgba(0,0,0,.55), 0 0 0 1px rgba(15,23,42,.06); color: var(--ink); z-index: 3; }
.v2-ping__head { display: flex; align-items: center; gap: .5rem; font-size: .75rem; color: var(--slate); margin-bottom: .6rem; }
.v2-ping__head b { color: var(--ink); font-weight: 600; }
.v2-ping__head span:last-child { margin-left: auto; }
.v2-ping__app { width: 22px; height: 22px; border-radius: 6px; background: #7360F2; color: #fff; display: grid; place-items: center; }
.v2-ping__app svg { width: 14px; height: 14px; }
.v2-ping__in { font-size: .875rem; line-height: 1.4; background: #F1F5F9; border-radius: 14px 14px 14px 4px; padding: .6rem .75rem; margin: 0; }
.v2-ping__out { font-size: .875rem; line-height: 1.4; background: var(--navy); color: #fff; border-radius: 14px 14px 4px 14px; padding: .6rem .75rem; margin: .5rem 0 0 auto; width: fit-content; max-width: 90%; }
.v2-ping .typing { background: var(--navy); margin-top: .5rem; padding: .6rem .8rem; border-radius: 14px 14px 4px 14px; }
@media (max-width: 960px) { .v2-ping { left: auto; right: 0; } }
@media (max-width: 560px) { .v2-hero__visual { padding-bottom: 0; } .v2-ping { position: relative; width: 88%; margin: -1.5rem 0 0 auto; } }

/* Πρόταση που «ανάβει» στο scroll */
.v2-statement { padding-block: clamp(5rem, 3.5rem + 6vw, 9rem); text-align: center; }
.v2-statement p { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.875rem, 1.3rem + 2.6vw, 3.25rem); line-height: 1.2; letter-spacing: -.02em; max-width: 24ch; margin-inline: auto; color: var(--ink); }
.v2-statement p .w { opacity: .3; transition: opacity .2s linear; }
.v2-statement p .w.is-on { opacity: 1; }
.v2-statement p .accent { font-style: italic; color: var(--gold-deep); }

/* Βήματα */
.v2-steps { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); }
.v2-steps li { position: relative; padding: 2.25rem 2rem 2rem 0; border-right: 1px solid var(--line-2); }
.v2-steps li + li { padding-left: 2rem; }
.v2-steps li:last-child { border-right: 0; }
.v2-steps__n { display: block; font-family: var(--font-display); font-size: 2.75rem; line-height: 1; color: var(--gold); margin-bottom: 1.25rem; }
.v2-steps h3 { margin-bottom: .6rem; }
.v2-steps p { color: var(--slate); }
.v2-steps li.is-key { background: #fff; padding-right: 2rem; box-shadow: 0 30px 60px -40px rgba(15,23,42,.35); }
.v2-steps__badge { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1.25rem; padding: .45rem .85rem; border-radius: 999px; background: var(--navy); color: #fff; font-size: .8125rem; font-weight: 600; }
.v2-steps__badge svg { width: 14px; height: 14px; color: #E2B44A; }
@media (max-width: 860px) {
  .v2-steps { grid-template-columns: 1fr; }
  .v2-steps li, .v2-steps li + li { padding: 1.75rem 1.25rem; border-right: 0; border-bottom: 1px solid var(--line-2); }
}

/* Κινητό: πιο «γεμάτη» serif για ευανάγνωστους τίτλους */
@media (max-width: 600px) {
  body.v2 h1 { font-weight: 500; letter-spacing: -0.02em; }
  body.v2 h2 { font-weight: 500; }
  body.v2 h3 { font-weight: 600; }
  .v2-statement p { font-weight: 500; }
  .feature-quote blockquote p { font-weight: 500; }
}

/* ==========================================================================
   v2.2: Carousel κριτικών + ευανάγνωστη serif σε λευκό φόντο
   ========================================================================== */
.tcar { position: relative; }
.tcar__viewport { overflow: hidden; margin-inline: -.75rem; padding: .75rem; }
.tcar__track { display: flex; gap: 1.5rem; will-change: transform; }
.tcar__track.is-animating { transition: transform .7s cubic-bezier(.22, 1, .36, 1); }
.tcar__card { flex: 0 0 calc((100% - 3rem) / 3); margin: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 1.75rem; box-shadow: 0 20px 40px -32px rgba(15,23,42,.35); }
.tcar__top { display: flex; align-items: center; gap: 1rem; }
.tcar__top img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--gold); }
.tcar__top b { display: block; font-family: var(--font-ui); font-weight: 600; color: var(--ink); font-size: 1.0625rem; line-height: 1.25; }
.tcar__top span { font-size: .8125rem; color: var(--slate); }
.tcar__stars { color: var(--gold); letter-spacing: .15em; font-size: .9375rem; margin: 1.1rem 0 .75rem; }
.tcar__card blockquote { margin: 0; flex: 1; }
.tcar__card blockquote p { font-family: var(--font-body); font-size: 1rem; line-height: 1.65; color: var(--ink-2); }
.tcar__nav { display: flex; gap: .6rem; }
.tcar__btn { width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--line-2); background: #fff; color: var(--ink); display: grid; place-items: center; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
.tcar__btn svg { width: 18px; height: 18px; }
.tcar__btn:hover { background: var(--navy); border-color: var(--navy); color: #fff; }
.tcar__dots { display: flex; justify-content: center; gap: .5rem; margin-top: 1.5rem; }
.tcar__dots i { width: 8px; height: 8px; border-radius: 99px; background: var(--line-2); transition: width .3s, background-color .3s; }
.tcar__dots i.is-on { width: 24px; background: var(--gold); }
@media (max-width: 1024px) { .tcar__card { flex-basis: calc((100% - 1.5rem) / 2); } }
@media (max-width: 680px) {
  .tcar__card { flex-basis: 88%; }
  .section-head--split .tcar__nav { order: 2; }
}

/* Serif: λεπτή μόνο σε σκούρο φόντο, πιο γεμάτη σε λευκό */
body.v2 h2, body.v2 h3 { font-weight: 600; color: var(--ink); }
body.v2 h1 { font-weight: 500; }
body.v2 .v2-hero h1, body.v2 .section--navy h2, body.v2 .section--navy h3, body.v2 .compare__col--after h3 { font-weight: 400; }
body.v2 .v2-statement p { font-weight: 500; }
body.v2 .person__quote { font-weight: 500; }
body.v2 .svc-row h3 { font-weight: 600; }
body.v2 .cred-card__name { font-weight: 600; }
body.v2 .v2-reviews-cta p { font-weight: 500; }
body.v2 em.gold { color: var(--gold-deep); }
body.v2 .v2-hero em.gold, body.v2 .section--navy em.gold { color: var(--gold); }
body.v2 { font-synthesis: none; }

/* ==========================================================================
   v2 σε ΟΛΕΣ τις σελίδες
   ========================================================================== */
/* Μικρά UI κείμενα: Commissioner αντί για serif */
body.v2 .chip, body.v2 .contact-tile b, body.v2 .contact-list b, body.v2 .portrait__caption b,
body.v2 .quote-card__name, body.v2 .map-card__label b, body.v2 .footer__title, body.v2 .toc p,
body.v2 .subnav a, body.v2 .accordion__item summary, body.v2 .service-group__num, body.v2 .bio b,
body.v2 .report__title, body.v2 .help-card .btn, body.v2 .step__num, body.v2 .form-card .btn,
body.v2 .topics legend, body.v2 .field label, body.v2 .article-meta b, body.v2 .author-box h3,
body.v2 .post-card__cat, body.v2 .service-list h3, body.v2 .card h3.ui { font-family: var(--font-ui); }
body.v2 .accordion__item summary { font-weight: 600; font-size: 1.0625rem; }
body.v2 .service-list h3 { font-weight: 600; font-size: 1.0625rem; }
body.v2 .contact-list b, body.v2 .contact-tile b { font-weight: 600; }
body.v2 .call-menu__num b, body.v2 .hero-phones b { font-family: var(--font-ui); font-weight: 600; }
body.v2 .mobile-menu__list a { font-family: var(--font-display); font-weight: 500; font-size: 1.5rem; }

/* Πάνω μέρος εσωτερικών σελίδων: σκούρο όπως το hero της αρχικής */
body.v2 .page-hero { background: var(--navy); color: #94A3B8; border-bottom: 0; }
body.v2 .page-hero::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(50% 80% at 90% 0%, rgba(29,78,158,.4), transparent 60%), radial-gradient(35% 60% at 0% 100%, rgba(202,138,4,.08), transparent 60%); }
body.v2 .page-hero h1 { color: #fff; font-weight: 400; }
body.v2 .page-hero .lead { color: #94A3B8; }
body.v2 .page-hero .eyebrow { color: #E2B44A; }
body.v2 .page-hero__mark { color: #fff; opacity: .035; }
body.v2 .page-hero .breadcrumbs, body.v2 .page-hero .breadcrumbs a { color: #94A3B8; }
body.v2 .page-hero .breadcrumbs a:hover { color: #fff; }
body.v2 .page-hero .breadcrumbs li + li::before { color: #475569; }
body.v2 .page-hero .btn--ghost { --btn-bg: transparent; --btn-fg: #fff; --btn-bd: rgba(255,255,255,.3); }
body.v2 .page-hero .btn--ghost:hover { --btn-bg: rgba(255,255,255,.06); --btn-fg: #fff; --btn-bd: #fff; }
body.v2 .page-hero .btn:not(.btn--ghost) { --btn-bg: var(--gold); --btn-fg: var(--navy); --btn-bd: var(--gold); }
body.v2 .page-hero .person__quote { color: #E2E8F0; }
body.v2 .page-hero .stat-row b { color: #fff; }
body.v2 .page-hero .stat-row li > span { color: #94A3B8; }
body.v2 .page-hero .stat-row li { border-top-color: var(--gold); }
body.v2 .page-hero .article-meta { color: #94A3B8; }
body.v2 .page-hero .article-meta b { color: #fff; }
body.v2 .page-hero .article-meta .avatar { background: #fff; color: var(--navy); }
body.v2 .page-hero .portrait { box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); }

/* Κάρτες, φόρμες, λίστες */
body.v2 .card, body.v2 .form-card, body.v2 .contact-tile, body.v2 .map-card, body.v2 .service-list, body.v2 .promise li, body.v2 .person__facts li { border-radius: var(--r-md); }
body.v2 .form-card { border-radius: var(--r-lg); }
body.v2 .field input, body.v2 .field textarea { border-radius: var(--r-sm); background: #FBFAF7; }
body.v2 .topics span { border-radius: var(--r-sm); }
body.v2 .topics input:checked + span { background: var(--navy); border-color: var(--navy); }
body.v2 .form .btn { --btn-bg: var(--gold); --btn-fg: var(--navy); --btn-bd: var(--gold); }
body.v2 .form .btn:hover { --btn-bg: #E0A10E; --btn-bd: #E0A10E; }
body.v2 .service-group__num { color: var(--gold-deep); }
body.v2 .service-list li:hover { background: var(--paper); }
body.v2 .subnav a { border-radius: var(--r-sm); }
body.v2 .subnav a:hover, body.v2 .subnav a.is-active { background: var(--navy); color: #fff; border-color: var(--navy); }
body.v2 .faq-aside nav a:hover, body.v2 .faq-aside nav a.is-active { background: var(--paper); color: var(--ink); border-left-color: var(--gold); }
body.v2 .accordion__item[open] summary i { background: var(--navy); border-color: var(--navy); }
body.v2 .help-card .btn { --btn-bg: var(--gold); --btn-fg: var(--navy); --btn-bd: var(--gold); }
body.v2 .bio li::after { border-color: var(--gold); }
body.v2 .big-number { color: var(--ink); font-weight: 400; }
body.v2 .big-number small { color: var(--gold-deep); font-family: var(--font-ui); }
body.v2 .stat-row b { font-family: var(--font-display); font-weight: 500; }
body.v2 .quote-card blockquote p { font-family: var(--font-display); font-style: italic; font-weight: 400; }
body.v2 .quote-card blockquote mark { background: linear-gradient(transparent 62%, var(--gold-soft) 62%); }
body.v2 .post-card__cover { background: linear-gradient(150deg, #1E293B, var(--navy)); border-radius: var(--r-sm); }
body.v2 .post-card__cover span { font-family: var(--font-display); font-weight: 400; }
body.v2 .article-cta { border-radius: var(--r-lg); }
body.v2 .author-box { border-radius: var(--r-md); }
body.v2 .prose h2, body.v2 .prose h3 { font-weight: 600; }
body.v2 .prose blockquote { font-family: var(--font-display); }
body.v2 .notice { border-radius: var(--r-sm); }
body.v2 .error-page__code { font-family: var(--font-display); font-weight: 400; color: var(--paper); -webkit-text-stroke: 1.5px var(--line-2); }
body.v2 .eyebrow--center { justify-content: center; }
/* Τίτλοι σε σκούρο φόντο: πάντα λευκοί */
body.v2 .section--navy h2, body.v2 .section--navy h3, body.v2 .section--navy h4,
body.v2 .help-card h3, body.v2 .article-cta h3, body.v2 .compare__col--after h3,
body.v2 .cta h2, body.v2 .page-hero h2, body.v2 .page-hero h3 { color: #fff; }

/* ==========================================================================
   Εκδοχή Vanta + React Bits (v4)
   ========================================================================== */
.shiny-text { position: relative; display: inline-block; background-repeat: no-repeat; background-size: 100% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.split-parent .split-word, .split-parent .split-char { will-change: transform, opacity; }
.v2-hero.has-vanta::before { opacity: .35; }
.v2-hero.has-vanta .v2-hero__lines { display: none; }
.v2-hero.has-vanta > canvas { opacity: .55; }
.v2-hero > .container { position: relative; z-index: 1; }

/* ==========================================================================
   v5: React Bits SpotlightCard + View Transitions
   ========================================================================== */
/* SpotlightCard (από το SpotlightCard.css, χωρίς τα base styles της κάρτας: κρατάμε τα δικά μας) */
.spotlight-card { position: relative; isolation: isolate; }
.spotlight-card__light, .spotlight-card__grain, .spotlight-card__border, .spotlight-card__edge { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; }
.spotlight-card__light, .spotlight-card__grain { z-index: -1; opacity: 0; }
.spotlight-card__grain { background-size: 160px 160px; mix-blend-mode: overlay; }
.spotlight-card__border, .spotlight-card__edge { z-index: 1; padding: 1px;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
.spotlight-card__border { background: transparent; }
.spotlight-card__edge { opacity: 0; }

/* Χωρίς μετάβαση ανάμεσα στις σελίδες (13/10): κρατούσε στην οθόνη την προηγούμενη σελίδα μέχρι να φορτώσει η επόμενη.
   Το πάνω μέρος των εσωτερικών σελίδων εμφανίζεται αμέσως, χωρίς animation. */
.js-motion .page-hero [data-reveal], .js-motion .v2-hero [data-reveal] { opacity: 1; transform: none; }
/* Vanta στα εσωτερικά hero */
body.v2 .page-hero > .container { position: relative; z-index: 1; }
/* Fade-in του 3D φόντου: ο καμβάς ξεκινά διάφανος, η .has-vanta τον φέρνει στην τελική διαφάνεια. */
[data-vanta] > canvas { opacity: 0; transition: opacity 1s ease; }
body.v2 .page-hero::before, .v2-hero::before { transition: opacity 1s ease; }
body.v2 .page-hero.has-vanta::before { opacity: .35; }
body.v2 .page-hero.has-vanta .page-hero__mark { display: none; }
body.v2 .page-hero.has-vanta > canvas { opacity: .6; }
body.v2 .page-hero[data-vanta="waves"].has-vanta > canvas { opacity: .5; }
body.v2 .page-hero[data-vanta="dots"].has-vanta > canvas { opacity: 1; }
body.v2 .page-hero[data-vanta="birds"].has-vanta > canvas { opacity: .9; }
body.v2 .page-hero[data-vanta="halo"].has-vanta > canvas { opacity: .45; }
body.v2 .page-hero[data-vanta="fog"].has-vanta > canvas { opacity: .85; }

.rb-magnet { vertical-align: middle; }
.btn-row .rb-magnet { display: inline-block; }
@media (max-width: 560px) { .v2-hero .btn-row .rb-magnet { flex: 1 1 100%; } .v2-hero .btn-row .rb-magnet .btn { width: 100%; } }

/* ==========================================================================
   Ζωντανή μηνιαία αναφορά
   ========================================================================== */
.lr-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 2rem + 3vw, 5rem); align-items: center; }
@media (max-width: 960px) { .lr-layout { grid-template-columns: 1fr; } }
.lr-layout > * { min-width: 0; }
.lr-points { list-style: none; display: grid; gap: .7rem; margin-top: 1.75rem; }
.lr-points li { display: flex; gap: .75rem; align-items: baseline; color: var(--ink-2); }
.lr-points li::before { content: ""; flex: none; width: 6px; height: 6px; transform: translateY(-2px) rotate(45deg); background: var(--gold); }
.lr-try { margin-top: 1.75rem; font-size: var(--fs-sm); color: var(--gold-deep); font-weight: 600; }
.lr { position: relative; margin: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.25rem, 1rem + 1vw, 1.75rem); box-shadow: 0 40px 80px -40px rgba(15, 23, 42, .35); }
.lr__head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.lr__title { font-family: var(--font-display); font-weight: 600; font-size: 1.25rem; color: var(--ink); }
.lr__sub { font-size: var(--fs-xs); color: var(--slate); }
.lr__tag { font-size: .75rem; font-weight: 600; color: var(--gold-deep); background: var(--gold-soft); padding: .3rem .65rem; border-radius: 999px; white-space: nowrap; }
.lr__months { display: inline-flex; gap: .25rem; margin: 1rem 0 .75rem; padding: .25rem; background: var(--paper); border-radius: 999px; }
.lr__months button { border: 0; background: transparent; padding: .4rem .9rem; border-radius: 999px; font-family: var(--font-ui); font-size: .875rem; font-weight: 600; color: var(--slate); cursor: pointer; min-height: 32px; }
.lr__months button[aria-selected="true"] { background: var(--navy); color: #fff; }
.lr__kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin-bottom: 1rem; }
.lr-kpi { text-align: left; border: 1px solid var(--line); background: var(--paper); border-radius: var(--r-sm); padding: .75rem .8rem; cursor: pointer; font: inherit; transition: border-color .2s, background-color .2s, box-shadow .2s; }
.lr-kpi:hover { border-color: var(--line-2); }
.lr-kpi.is-active { background: #fff; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(202, 138, 4, .12); }
.lr-kpi__label { display: block; font-size: .75rem; color: var(--slate); }
.lr-kpi__value { display: block; font-family: var(--font-display); font-weight: 600; font-size: clamp(1.05rem, .9rem + .6vw, 1.375rem); color: var(--ink); margin-top: .15rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lr-kpi__delta { display: block; font-size: .75rem; font-weight: 600; color: #1F7A4D; margin-top: .1rem; }
.lr-kpi__delta.is-down { color: #B4471F; }
.lr__chart { position: relative; border: 1px solid var(--line); border-radius: var(--r-sm); padding: .9rem .9rem .6rem; }
.lr__chart-head { display: flex; justify-content: space-between; gap: .75rem; font-size: .75rem; color: var(--slate); margin-bottom: .6rem; }
.lr__chart-head b { color: var(--ink); font-weight: 600; }
.lr__bars { display: grid; grid-template-columns: repeat(9, 1fr); gap: 6px; align-items: end; height: 140px; }
.lr__bar { height: 100%; display: flex; align-items: flex-end; border: 0; padding: 0; background: transparent; cursor: default; }
.lr__bar:nth-child(n+7) { cursor: pointer; }
.lr__bar span { display: block; width: 100%; border-radius: 5px 5px 2px 2px; background: #D9E2EF; transition: height .7s cubic-bezier(.22, 1, .36, 1), background-color .3s; }
.lr__bar:hover span, .lr__bar:focus-visible span { background: #B9C8DE; }
.lr__bar.is-current span { background: var(--navy); }
.lr__bar.is-future span { background: repeating-linear-gradient(135deg, #EDF1F7 0 4px, #F7F9FC 4px 8px); }
.lr__labels { display: grid; grid-template-columns: repeat(9, 1fr); gap: 6px; margin-top: .4rem; font-size: .6875rem; color: var(--slate); text-align: center; }
.lr__tip { position: absolute; transform: translate(-50%, -100%); background: var(--navy); color: #fff; font-size: .75rem; font-weight: 600; padding: .3rem .55rem; border-radius: 6px; white-space: nowrap; pointer-events: none; }
.lr__foot { display: flex; align-items: center; gap: .6rem; margin-top: 1rem; font-size: var(--fs-xs); color: var(--slate); }
.lr__dot { width: 8px; height: 8px; border-radius: 50%; background: #2BB673; box-shadow: 0 0 0 4px rgba(43, 182, 115, .15); flex: none; }
@media (max-width: 420px) { .lr__kpis { grid-template-columns: 1fr 1fr; } .lr__kpis .lr-kpi:last-child { grid-column: span 2; } }
@media (prefers-reduced-motion: reduce) { .lr__bar span { transition: none; } }

/* ==========================================================================
   Accessibility (WCAG 2.2 AA) διορθώσεις
   ========================================================================== */
/* Χρυσό για μικρά κείμενα: ≥ 4.5:1 σε λευκό / χαρτί / gold-soft */
body.v2 { --gold-deep: #946605; }
/* Μεγάλοι χρυσοί αριθμοί και αστέρια σε ανοιχτό φόντο: ≥ 3:1 */
body.v2 .svc-row__num, body.v2 .v2-steps__n, body.v2 .tcar__stars { color: #B07A04; }
/* Focus ορατό σε σκούρο φόντο */
body.v2 :is(.v2-hero, .page-hero, .cta, .section--navy, .site-footer, .help-card, .article-cta, .compare__col--after, .mobile-bar) :focus-visible { outline: 2px solid #E2B44A; outline-offset: 3px; }
body.v2 .btn--gold:focus-visible { outline: 2px solid #fff; box-shadow: 0 0 0 4px var(--navy); }
/* Τα sticky στοιχεία να μην κρύβουν ό,τι εστιάζεται */
html { scroll-padding-bottom: calc(var(--mobile-bar-h) + 16px); }
html:has(.subnav) { scroll-padding-top: 140px; }
/* Περιγράμματα πεδίων φόρμας ≥ 3:1 */
body.v2 .field input, body.v2 .field textarea, body.v2 .topics span { border-color: #958B78; }
body.v2 .field input:focus, body.v2 .field textarea:focus { border-color: var(--navy); }
.field__error { margin: .1rem 0 0; font-size: var(--fs-xs); font-weight: 600; color: #A3341A; }
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: #A3341A !important; }
/* Reflow στα 320px */
.prose a, .contact-tile b, .contact-list b { overflow-wrap: anywhere; }
.contact-tile > span, .contact-list a > span:last-child { min-width: 0; }
@media (max-width: 960px) { .contact-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 860px) { .legal-layout { grid-template-columns: minmax(0, 1fr); } }
/* Λέξεις της πρότασης που «ανάβει»: ορατές από την αρχή */
body.v2 .v2-statement p .w { opacity: .55; }
/* Κουμπί παύσης κίνησης (carousel + 3D φόντα + γυαλάδα) */
.tcar__btn[data-car-toggle] svg { width: 16px; height: 16px; }
.motion-toggle { position: absolute; right: var(--gutter); bottom: 1.25rem; z-index: 2; display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .8rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: rgba(15,23,42,.55); color: #CBD5E1; font: 600 .75rem/1 var(--font-ui, sans-serif); cursor: pointer; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); min-height: 32px; }
.motion-toggle:hover { color: #fff; border-color: rgba(255,255,255,.5); }
.motion-toggle svg { width: 12px; height: 12px; }
/* Κινητό: μικρό στρογγυλό κουμπί (μόνο εικονίδιο), μόνο όταν τρέχει το φόντο ή είναι σε παύση. */
@media (max-width: 899px), (pointer: coarse) {
  .motion-toggle { display: none; right: .75rem; bottom: .75rem; width: 36px; height: 36px; min-height: 36px; padding: 0; justify-content: center; opacity: .7; }
  .motion-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .has-vanta > .motion-toggle, .motion-toggle[aria-pressed="true"] { display: inline-flex; }
}
.link-button { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; text-decoration: none; }
.site-footer .link-button { color: #C9D4E8; }
.link-button:hover { text-decoration: underline; color: #fff; }
.prose .link-button { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.help-card .help-card__title { font-family: var(--font-display); font-size: 1.125rem; font-weight: 600; color: #fff; margin-bottom: .5rem; }

/* ==========================================================================
   Design critique διορθώσεις
   ========================================================================== */
/* Πρόταση που ανάβει: οι χρυσές λέξεις πιο ορατές από την αρχή */
body.v2 .v2-statement p .w.accent { opacity: .85; }
/* Cookie banner: μικρότερο, διακριτικό */
body.v2 .cookie { max-width: 380px; }
body.v2 .cookie h2 { font-family: var(--font-ui); font-size: 1rem; font-weight: 600; letter-spacing: 0; color: var(--ink); }
/* Υπηρεσίες: η μονή τελευταία κάρτα σε όλο το πλάτος */
.service-list li:last-child:nth-child(odd) { grid-column: 1 / -1; }
/* Άρθρα: τίτλοι πιο ήπιοι μέσα στο κείμενο */
body.v2 .prose h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin-top: 2.5em; }
body.v2 .prose h3 { font-size: clamp(1.2rem, 1.05rem + .5vw, 1.4rem); }
/* Λίστα άρθρων: δύο στήλες όσο είναι λίγα */
@media (min-width: 861px) { body.v2 .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Στο τέλος της σελίδας τα σκούρα μπλοκ ξεχωρίζουν */
body.v2 .cta { background: #131D33; }
body.v2 .site-footer { border-top: 1px solid rgba(255, 255, 255, .08); }
/* Κινητό: πιο σύντομο hero (χωρίς το Viber μήνυμα) */
@media (max-width: 560px) { .v2-ping { display: none; } }

/* ---------- Φωτογραφίες πελάτη (13/10) ---------- */
body.v2 .portrait img { object-position: 50% 30%; filter: saturate(.92) contrast(1.03); }
body.v2 .portrait:has(img)::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,23,42,0) 55%, rgba(15,23,42,.45) 100%); pointer-events: none; }
body.v2 .portrait__caption { z-index: 1; }
.photo-card { margin: 0; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-lg); background: var(--navy); }
.photo-card img { display: block; width: 100%; height: auto; filter: saturate(.92) contrast(1.03); }
.photo-card figcaption { padding: .85rem 1.1rem; font-size: var(--fs-xs); color: rgba(255,255,255,.78); background: var(--navy); }
@media (max-width: 860px) { .photo-card { max-width: 30rem; } }

/* ---------- Value beyond numbers: το λογότυπο στο κέντρο (13/10) ---------- */
.v2-brand { position: relative; overflow: hidden; }
.v2-brand::before { content: ""; position: absolute; left: 50%; top: clamp(3rem, 2rem + 4vw, 6rem); width: min(70rem, 120%); aspect-ratio: 3 / 1; transform: translateX(-50%); background: radial-gradient(closest-side, rgba(202,138,4,.10), rgba(202,138,4,0)); pointer-events: none; }
.v2-brand .container { position: relative; }
.v2-brand__logo { position: relative; width: min(100%, clamp(17rem, 10rem + 30vw, 40rem)); margin: 0 auto; }
.v2-brand__logo img { display: block; width: 100%; height: auto; }
.v2-brand__logo::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  -webkit-mask: url("../img/logo-full.svg") center / contain no-repeat; mask: url("../img/logo-full.svg") center / contain no-repeat;
  background: linear-gradient(105deg, transparent 38%, rgba(255,226,140,.95) 50%, transparent 62%) 130% 0 / 260% 100% no-repeat;
}
.v2-brand__logo.is-shine::after { animation: brand-shine 2.2s cubic-bezier(.3,.6,.2,1) .3s 1 both; }
@keyframes brand-shine { from { background-position: 130% 0; } to { background-position: -30% 0; } }
.v2-brand__rule { display: block; width: 4.5rem; height: 2px; margin: clamp(2.25rem, 1.5rem + 2vw, 3.5rem) auto; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
@media (prefers-reduced-motion: reduce) { .v2-brand__logo.is-shine::after { animation: none; } }

/* ---------- Πιο σφιχτός ρυθμός ανάμεσα στις ενότητες (13/10) ---------- */
body.v2 { --space-section: clamp(4rem, 2.5rem + 4.5vw, 6.75rem); }
body.v2 .v2-statement { padding-block: clamp(4rem, 2.5rem + 4.5vw, 6.75rem); }
/* Δύο συνεχόμενες λευκές ενότητες: δεν χρειάζονται διπλό κενό ανάμεσά τους. */
body.v2 .v2-statement + .section:not(.section--paper):not(.section--navy):not(.section--sky),
body.v2 .section:not(.section--paper):not(.section--navy):not(.section--sky):not(.cta) + .section:not(.section--paper):not(.section--navy):not(.section--sky):not(.cta) { padding-top: 0; }
/* Λογότυπο αριστερά, φράση δεξιά, με χρυσή κάθετη γραμμή ανάμεσα. Στο κινητό το ένα κάτω από το άλλο. */
@media (min-width: 900px) {
  .v2-brand__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: clamp(2.5rem, 1rem + 4vw, 5rem); }
  .v2-brand__grid .v2-brand__logo { width: min(100%, 34rem); margin: 0 0 0 auto; }
  .v2-brand__grid .v2-brand__rule { width: 2px; height: clamp(9rem, 6rem + 6vw, 13rem); margin: 0; background: linear-gradient(180deg, transparent, var(--gold), transparent); }
  body.v2 .v2-brand__grid p { text-align: left; margin: 0; max-width: 21ch; font-size: clamp(1.75rem, .9rem + 1.6vw, 2.5rem); line-height: 1.22; }
  .v2-brand::before { left: 28%; top: 50%; width: min(48rem, 70%); transform: translate(-50%, -50%); }
}
/* Ο Λεωνίδας, «Διαδρομή»: φωτογραφία αριστερά, κείμενα και λίστα δεξιά, ίδιο ύψος. */
.bio-split { align-items: center; }
.bio-split .bio-photo { width: 100%; max-width: 34rem; }
@media (min-width: 900px) { .bio-split { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); } }
/* Λωρίδα «Εξειδίκευση»: ο τίτλος αριστερά στην ίδια γραμμή με τη λίστα (λιγότερο ύψος). */
@media (min-width: 900px) {
  .v2-strip__inner { flex-wrap: nowrap; gap: 2rem; padding-block: 1.25rem; }
  .v2-strip__label { flex: none; padding-right: 2rem; border-right: 1px solid var(--line-2); line-height: 1.6; }
  .v2-strip ul { flex: 1; gap: .5rem 1.75rem; }
  .v2-strip li { font-size: 1.0625rem; }
}

/* ---------- Ταυτότητα γραφείου (Ποιοι είμαστε) ---------- */
.facts { display: grid; gap: 0; border-top: 1px solid var(--line); }
.facts > div { display: grid; grid-template-columns: 9.5rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.facts dt { font-size: var(--fs-xs); letter-spacing: .08em; font-weight: 600; color: var(--slate); padding-top: .15rem; }
.facts dd { margin: 0; color: var(--ink); font-weight: 500; }
@media (max-width: 560px) { .facts > div { grid-template-columns: 1fr; gap: .25rem; } }

/* ---------- Σελίδες υπηρεσιών (/ypiresies/…) ---------- */
.svc-cards { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17.5rem), 1fr)); gap: 1.25rem; }
.svc-cards > li { display: flex; }
.svc-card { display: flex; flex-direction: column; gap: .5rem; width: 100%; text-decoration: none; color: inherit; }
.svc-card h3 { margin: 0; }
.svc-card .link-arrow { margin-top: auto; padding-top: .75rem; }
.service-group--hub { padding-block: clamp(3rem, 2rem + 3vw, 4.5rem); border-bottom: 1px solid var(--line); }
.service-group--hub .service-group__head { margin-bottom: 1.75rem; max-width: 46rem; }
.svc-includes { list-style: none; }
.svc-includes .card { position: relative; padding-left: 3.75rem; }
.svc-includes .mk, .audience-list .mk { position: absolute; left: 1.4rem; top: 1.7rem; width: 1.6rem; height: 1.6rem; border-radius: 50%; display: grid; place-items: center; background: var(--gold-soft); color: var(--gold-deep); }
.svc-includes .mk svg, .audience-list .mk svg { width: .9rem; height: .9rem; }
.audience-list { list-style: none; display: grid; gap: .9rem; }
.audience-list li { position: relative; padding: 1.1rem 1.25rem 1.1rem 3.5rem; background: #fff; border: 1px solid var(--line); border-radius: var(--r-md, 12px); color: var(--ink); line-height: 1.55; }
.audience-list .mk { left: 1.1rem; top: 1.1rem; }
.why-grid { list-style: none; }

/* ---------- Κατηγορίες άρθρων, σχετική υπηρεσία, 404 ---------- */
.cat-chips { padding-top: 1.5rem; }
.cat-chips .container { display: flex; flex-wrap: wrap; gap: .5rem; }
.cat-chips .chip { text-decoration: none; }
.cat-chips .chip[aria-current="page"] { background: var(--navy); color: #fff; border-color: var(--navy); }
.article-service { margin-top: 2rem; }
.article-service .h3 { font-size: var(--fs-h4); margin: .4rem 0 .4rem; }
.error-page__links { margin-top: 3rem; text-align: left; max-width: 44rem; margin-inline: auto; }
.error-page__links h2 { font-size: var(--fs-h4); margin-bottom: 1rem; text-align: center; }
.error-page__links ul { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: .5rem 1.5rem; }
.error-page__links a { color: var(--brand, #003A80); text-decoration: underline; text-underline-offset: 3px; }
