/* ============================================================================
   AGENT-V2 «COVER STORY» — theme.css  v1.0
   Νυχτερινό Editorial Portrait Monograph — design system για 7 στατικές σελίδες
   (index, bio, properties, property, assignment, request, contact)
   ----------------------------------------------------------------------------
   ΟΙ 6 ΝΟΜΟΙ:
   1. ΜΟΝΟ ΣΚΟΥΡΟ — συνεχές ink φόντο, καμία φωτεινή full-width ζώνη.
   2. ΜΟΝΟ MONTSERRAT — αντίθεση βάρους 200↔800 αντί για serif.
   3. ΕΝΑ ΧΑΡΤΙ ΑΝΑ ΣΕΛΙΔΑ — hero ticket / paper φόρμα / inquiry card.
   4. CRIMSON BUDGET — 1 γεμάτο crimson ανά viewport + 3px ticks + EL underline.
   5. ΟΛΕΣ ΟΙ ΦΩΤΟΓΡΑΦΙΕΣ DIMMED — brightness(.87) contrast(1.08) saturate(.95).
   6. ΜΙΑ ΣΚΙΑ — μόνο --shadow-paper στα paper αντικείμενα. Πουθενά αλλού.
   ----------------------------------------------------------------------------
   Z-INDEX: nav 100 · paper/ticket 30 · seam-overlap τίτλοι 20 · portrait 10
   ΚΑΝΕΝΑ hex έξω από το :root.
   ============================================================================ */


/* ============================================================
   01. TOKENS
   ============================================================ */
:root{
  /* ── 70% Ουδέτερα/σκούρα ─────────────────────────── */
  --c-canvas:           #060A14;  /* Ink — μόνιμο φόντο όλων των σελίδων */
  --c-canvas-rgb:       6,10,20;  /* για rgba() scrims/overlays */
  --c-surface:          #0A101E;  /* cards, panels, dark filter rail */
  --c-surface-2:        #0B1322;  /* inputs σε σκούρο, hover σειρών */

  /* ── 20% Primary ─────────────────────────────────── */
  --c-primary:          #0B1F4A;  /* Navy — active toggle, CTA panel, footer gradient */
  --c-primary-soft:     #1A3560;  /* Deep steel — hovers, numerals, εισαγωγικά, map pin */

  /* ── ≤10% Accent ─────────────────────────────────── */
  --c-accent:           #9B1D2A;  /* Crimson — primary CTA, ticks, EL underline */
  --c-accent-hover:     #7E1722;
  --c-accent-tint:      #F5E8EA;  /* pale — validation/notice ΜΟΝΟ μέσα σε paper */

  /* ── Δευτερεύων τόνος ────────────────────────────── */
  --c-muted:            #8A9BB5;  /* elegant γαλάζιο — kickers, captions, meta */

  /* ── Paper (το «ένα χαρτί») ──────────────────────── */
  --c-paper:            #F4F5F7;
  --c-paper-rgb:        244,245,247;
  --c-paper-line:       #D6DAE2;  /* hairlines ΜΕΣΑ στο paper */
  --c-paper-label:      #2A3245;  /* microcaps labels πάνω στο paper */
  --c-paper-ink:        #060A14;  /* κείμενο πάνω στο paper = canvas */

  /* ── Κείμενο σε σκούρο ───────────────────────────── */
  --c-text:             rgba(244,245,247,.92); /* body — ποτέ καθαρό λευκό */
  --c-text-strong:      #F4F5F7;               /* headings, τιμές */
  --c-text-on-primary:  rgba(244,245,247,.85); /* labels πάνω σε navy */

  /* ── Hairline σύστημα ────────────────────────────── */
  --hairline:           1px solid rgba(138,155,181,.22);
  --hairline-strong:    rgba(138,155,181,.35);
  --hairline-hover:     rgba(138,155,181,.6);
  --frame:              1px solid rgba(138,155,181,.25); /* κορνίζες φωτογραφιών */

  /* ── Scrims / gradients (μόνο Ink→Navy) ──────────── */
  --scrim-photo:    linear-gradient(180deg, rgba(var(--c-canvas-rgb),.10) 0%, rgba(var(--c-canvas-rgb),.65) 100%);
  --scrim-text:     rgba(var(--c-canvas-rgb),.45);
  --grad-footer:    linear-gradient(180deg, var(--c-canvas) 0%, var(--c-primary) 140%);

  /* ── Layout / λοιπά ──────────────────────────────── */
  --font:           'Montserrat','Segoe UI',Arial,sans-serif;
  --container:      1280px;
  --gutter:         24px;
  --space-section:  clamp(72px, 10vw, 128px);
  --radius-paper:   2px;     /* ΜΟΝΟ σε paper & κουμπιά· όλα τα άλλα 0 */
  --shadow-paper:   0 24px 64px rgba(0,0,0,.45); /* Η ΜΟΝΑΔΙΚΗ σκιά του site */
  --ease-dolly:     cubic-bezier(.2,.6,.2,1);
}


/* ============================================================
   02. RESET / BASE
   ============================================================ */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; }

body{
  background:var(--c-canvas);
  color:var(--c-text);
  font:400 16px/1.7 var(--font);
  -webkit-font-smoothing:antialiased;
  min-height:100dvh;
}

img{ display:block; max-width:100%; }
/* ΝΟΜΟΣ 5 — καθολικό dim σε ΚΑΘΕ φωτογραφία */
img{ filter:brightness(.87) contrast(1.08) saturate(.95); }
.ph{ filter:brightness(.87) contrast(1.08) saturate(.95); } /* ρητό alias */

a{ color:inherit; }
button{ font-family:inherit; }
input,select,textarea{ font-family:inherit; }
h1,h2,h3,h4{ font-weight:700; line-height:1.15; }
ul,ol{ list-style:none; }
hr{ border:0; border-top:var(--hairline); }

::selection{ background:var(--c-primary); color:var(--c-text-strong); }

:focus-visible{ outline:1px solid var(--c-muted); outline-offset:3px; }

.container{ max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.section{ padding-block:var(--space-section); }

/* tabular numerals — σε ΚΑΘΕ αριθμητικό δεδομένο */
.tnum{ font-feature-settings:'tnum'; font-variant-numeric:tabular-nums; }


/* ============================================================
   03. ΤΥΠΟΓΡΑΦΙΚΗ ΚΛΙΜΑΚΑ (Montserrat only — uppercase ελληνικά
       γράφονται ΧΩΡΙΣ τόνους στο HTML, όχι text-transform)
   ============================================================ */
.t-d1{ font-size:clamp(3.4rem,7.5vw,7rem); font-weight:800; letter-spacing:-.045em; line-height:.96; color:var(--c-text-strong); }
.t-d2{ font-size:clamp(2.4rem,5vw,4.2rem); font-weight:800; letter-spacing:-.035em; line-height:1.02; color:var(--c-text-strong); }
.t-h2{ font-size:clamp(1.75rem,2.4vw,2.125rem); font-weight:700; letter-spacing:-.025em; line-height:1.15; color:var(--c-text-strong); }
.t-h3{ font-size:21px; font-weight:700; letter-spacing:-.02em; line-height:1.3; color:var(--c-text-strong); }
.t-lead{ font-size:18px; font-weight:500; line-height:1.65; color:var(--c-text); }
.t-quote{ font-weight:300; letter-spacing:-.02em; line-height:1.5; color:var(--c-text-strong); }
.t-imprint{ font-size:10px; font-weight:500; letter-spacing:.2em; line-height:1.6; color:var(--c-muted); }

/* kicker / microcaps — ΠΑΝΤΑ --c-muted, ποτέ crimson caps */
.kicker{
  display:inline-flex; align-items:center; gap:10px;
  font-size:11px; font-weight:600; letter-spacing:.28em; line-height:1;
  color:var(--c-muted);
}
/* kicker με inline crimson tick 3×16 (§5.7) */
.kicker--tick::before{ content:""; width:3px; height:16px; background:var(--c-accent); flex:none; }

/* label πεδίων (paper & dark) */
.lbl{ font-size:10px; font-weight:600; letter-spacing:.2em; line-height:1; color:var(--c-paper-label); }
.lbl--dark{ color:var(--c-muted); }

/* index numerals 01–06 — 200-weight, steel */
.numeral{
  font-weight:200; font-size:clamp(96px,11vw,160px); line-height:1; letter-spacing:-.02em;
  color:var(--c-primary-soft);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}

/* αριθμοί στατιστικών */
.t-stat{ font-weight:200; font-size:40px; line-height:1; color:var(--c-text-strong);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums; }

/* τιμές / κωδικοί */
.t-price{ font-size:20px; font-weight:600; line-height:1; color:var(--c-text-strong);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums; }
.t-price--lg{ font-size:24px; }
.t-code{ font-size:12px; font-weight:500; letter-spacing:.1em; line-height:1; color:var(--c-muted);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums; }

/* βοηθητικά */
.muted{ color:var(--c-muted); }
.strong{ color:var(--c-text-strong); }
.measure{ max-width:68ch; }

/* ροή κειμένου (bio, περιγραφές) */
.prose{ max-width:68ch; }
.prose p+p{ margin-top:1.1em; }
.prose .pull{ margin-block:1.6em; }

/* pull-quote χωρίς εισαγωγικά (intro strip, bio) */
.pull{ font-weight:300; font-size:clamp(24px,2.6vw,34px); line-height:1.45; letter-spacing:-.02em; color:var(--c-text-strong); }

/* rotated κείμενο σε ακμές (hero edge, gallery code) */
.edge-vert{
  writing-mode:vertical-rl; transform:rotate(180deg);
  font-size:11px; font-weight:600; letter-spacing:.3em; color:var(--c-muted);
}


/* ============================================================
   04. CRIMSON PAGE-MARKER TICK (§5.7) — component 2 μεγεθών
   ============================================================ */
.tick-tab{ width:3px; height:56px; background:var(--c-accent); }
/* default θέση: πάνω-δεξιά ακμή του γονικού panel (position:relative στον γονέα) */
.ph-frame .tick-tab,
.hero__portrait .tick-tab,
.subhero__media .tick-tab{ position:absolute; top:32px; right:0; z-index:3; }


/* ============================================================
   05. PHOTO TREATMENT (§6) — wrapper + scrim + dolly hover
   ============================================================ */
.ph-wrap{ position:relative; overflow:hidden; }
.ph-wrap img{ width:100%; height:100%; object-fit:cover; }
.ph-wrap::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:var(--scrim-photo);
}
/* παραλλαγή: scrim μόνο στο κάτω 40% (portraits, sub-hero strips) */
.ph-wrap--btm::after{
  background:linear-gradient(180deg, transparent 60%, rgba(var(--c-canvas-rgb),.65) 100%);
}
/* παραλλαγή: χωρίς scrim (thumbs, gallery thumbs) */
.ph-wrap--plain::after{ content:none; }
/* κορνίζα φωτογραφίας */
.ph-frame{ border:var(--frame); }

/* navy duotone — ΜΟΝΟ για το δεύτερο portrait (bio / intro strip).
   Fallback χωρίς blend: σκέτο grayscale+dim (βλ. NOTES). */
.duotone{ background:var(--c-primary); }
.duotone img{
  filter:grayscale(1) contrast(1.08) brightness(.92);
  mix-blend-mode:luminosity; opacity:.92;
}
.duotone--fallback img{ filter:grayscale(1) brightness(.85); mix-blend-mode:normal; opacity:1; }


/* ============================================================
   06. NAV — sticky 72px, ίδιο σε όλες τις σελίδες (§4.1)
   ============================================================ */
.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(var(--c-canvas-rgb),.92);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom:var(--hairline);
}
.nav__inner{
  max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter);
  height:72px; display:flex; align-items:center; gap:32px;
}
.nav__brand{ text-decoration:none; display:grid; gap:3px; margin-right:auto; }
.nav__brand-name{ font-size:15px; font-weight:700; letter-spacing:-.02em; color:var(--c-text-strong); line-height:1; }
.nav__brand-sub{ font-size:9px; font-weight:600; letter-spacing:.28em; color:var(--c-muted); line-height:1; }

.nav__links{ display:flex; gap:20px; }
.nav__link{
  font-size:11px; font-weight:600; letter-spacing:.2em; line-height:1;
  color:var(--c-muted); text-decoration:none;
  padding-bottom:5px; border-bottom:1px solid transparent;
}
.nav__link:hover{ color:var(--c-text-strong); }
/* Active: hairline underline — ΟΧΙ crimson (το κόκκινο του nav ανήκει στο EL) */
.nav__link.is-active{ color:var(--c-text-strong); border-bottom-color:var(--hairline-strong); }

.nav__meta{ display:flex; align-items:center; gap:22px; }
/* το τηλέφωνο = το CTA του nav — πάντα ορατό */
.nav__phone{
  font-size:15px; font-weight:600; color:var(--c-text-strong); text-decoration:none;
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}
.nav__lang{ display:flex; gap:10px; }
.lang{ font-size:12px; font-weight:600; line-height:1; color:var(--c-muted); padding-bottom:4px; border-bottom:2px solid transparent; }
.lang.is-on{ color:var(--c-text-strong); border-bottom-color:var(--c-accent); } /* το crimson του nav */

.nav__social{ display:flex; gap:14px; }
.nav__social a{ color:var(--c-muted); display:grid; place-items:center; }
.nav__social a:hover{ color:var(--c-text-strong); }
.nav__social svg{ width:16px; height:16px; fill:currentColor; }

/* burger — ορατό μόνο <1100px */
.nav__burger{
  display:none; width:40px; height:40px; background:none; border:0; cursor:pointer;
  flex-direction:column; justify-content:center; align-items:center; gap:6px;
}
.nav__burger span{ width:20px; height:1px; background:var(--c-text-strong); display:block; }

/* full-screen ink overlay μενού */
.nav-overlay{
  position:fixed; inset:0; z-index:99; background:var(--c-canvas);
  display:none; flex-direction:column; justify-content:center; gap:8px;
  padding:96px var(--gutter) 48px;
}
body.nav-open .nav-overlay{ display:flex; }
body.nav-open{ overflow:hidden; }
body.nav-open .nav__burger span:first-child{ transform:translateY(3.5px) rotate(45deg); }
body.nav-open .nav__burger span:last-child{ transform:translateY(-3.5px) rotate(-45deg); }
.nav-overlay__link{
  font-size:clamp(2rem,7vw,3.4rem); font-weight:800; letter-spacing:-.035em; line-height:1.15;
  color:var(--c-text-strong); text-decoration:none;
}
.nav-overlay__link.is-active{ color:var(--c-muted); }
.nav-overlay__foot{ margin-top:auto; display:grid; gap:8px; }


/* ============================================================
   07. FOOTER — gradient Ink→Navy, colophon 4 στηλών (§4.2)
   ============================================================ */
.footer{ background:var(--grad-footer); border-top:var(--hairline); margin-top:var(--space-section); }
.footer__grid{
  max-width:var(--container); margin-inline:auto; padding:64px var(--gutter);
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:32px;
}
.footer__monogram{ font-size:17px; font-weight:700; letter-spacing:-.02em; color:var(--c-text-strong); }
.footer__moto{ margin-top:10px; font-size:14px; color:var(--c-text-on-primary); }
.footer__net{ margin-top:18px; font-size:10px; font-weight:600; letter-spacing:.28em; color:var(--c-muted); }
.footer__head{ font-size:10px; font-weight:600; letter-spacing:.2em; color:var(--c-text-on-primary); margin-bottom:16px; }
.footer__col a, .footer__col li{
  font-size:11px; font-weight:600; letter-spacing:.2em; line-height:1;
  color:var(--c-muted); text-decoration:none; display:block; padding:7px 0;
}
.footer__col a:hover{ color:var(--c-text-strong); }
.footer__col .tnum{ letter-spacing:.08em; }
.footer__social a{ border-bottom:1px solid transparent; display:inline-block; }
.footer__social a:hover{ color:var(--c-text-strong); border-bottom-color:var(--hairline-strong); }

.footer__imprint{
  border-top:var(--hairline);
  max-width:var(--container); margin-inline:auto; padding:20px var(--gutter);
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px;
  font-size:10px; font-weight:500; letter-spacing:.2em; color:var(--c-muted);
}
.footer__coords{ display:flex; align-items:center; gap:24px;
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums; }


/* ============================================================
   08. SPLIT HERO (index — §3): κορνίζα 24px, grid 5fr/7fr
   ============================================================ */
.hero{ min-height:100dvh; background:var(--c-canvas); padding:24px; }
.hero__grid{
  display:grid; grid-template-columns:minmax(400px,5fr) 7fr; gap:0;
  min-height:calc(100dvh - 48px);
}

/* — αριστερό panel: αυτόνομο πορτρέτο (ΟΧΙ background) — */
.hero__portrait{
  position:relative; z-index:10; overflow:hidden;
  border:var(--frame);
  height:calc(100dvh - 48px);
}
.hero__portrait img{ width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
.hero__portrait::after{ /* scrim κάτω 40% */
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, transparent 60%, rgba(var(--c-canvas-rgb),.65) 100%);
}
.hero__mast{ position:absolute; top:20px; left:20px; z-index:2; }
.hero__edge{ position:absolute; left:14px; bottom:24px; z-index:2; }

/* — δεξιά στήλη — */
.hero__right{
  position:relative; display:flex; flex-direction:column; justify-content:center;
  padding-left:64px; gap:28px; min-width:0;
}
/* ΟΝΟΜΑ με seam-overlap: καβαλάει την ακμή της φωτογραφίας (z 20) */
.hero__name{
  position:relative; z-index:20; margin-left:-96px;
  text-shadow:0 2px 24px rgba(var(--c-canvas-rgb),.6); /* scrim αναγνωσιμότητας — όχι «σκιά» */
}
.hero__sub{ font-size:18px; font-weight:500; line-height:1.65; color:var(--c-text); }

/* stat-rule: 3 κελιά + hairlines + 8px ticks στις τομές */
.stat-rule{
  display:grid; grid-template-columns:repeat(3,1fr);
  border-top:var(--hairline); border-bottom:var(--hairline);
}
.stat{ position:relative; padding:18px 24px; display:grid; gap:10px; align-content:center; }
.stat+.stat{ border-left:var(--hairline); }
.stat+.stat::before,
.stat+.stat::after{
  content:""; position:absolute; left:-1px; width:1px; height:8px;
  background:var(--hairline-strong);
}
.stat+.stat::before{ top:-4px; }
.stat+.stat::after{ bottom:-4px; }
.stat__lbl{ font-size:11px; font-weight:600; letter-spacing:.28em; line-height:1.3; color:var(--c-muted); }

/* filmstrip teaser — 3 thumbs 88px + κωδικός */
.filmstrip{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.filmstrip a{ text-decoration:none; display:grid; gap:8px; }
.filmstrip .ph-wrap{ height:88px; border:var(--frame); }
.filmstrip__code{ font-size:10px; font-weight:600; letter-spacing:.2em; color:var(--c-muted);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums; }

/* κάτω άκρο hero: hairline + running-foot + scroll cue */
.hero__foot{
  margin-top:24px; padding-top:16px; border-top:var(--hairline);
  display:flex; justify-content:space-between; align-items:center; gap:24px;
}
.hero__foot-txt{
  font-size:10px; font-weight:500; letter-spacing:.2em; color:var(--c-muted);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}
.scroll-cue{ width:1px; height:24px; background:var(--hairline-strong); flex:none; }


/* ============================================================
   09. SEARCH TICKET (§3.4) — «το μόνο χαρτί στο δωμάτιο»
   ============================================================ */
/* βάση paper — μοιράζεται με paper φόρμες & inquiry card (Η ΜΟΝΑΔΙΚΗ ΣΚΙΑ) */
.paper{
  background:var(--c-paper); color:var(--c-paper-ink);
  border-radius:var(--radius-paper);
  box-shadow:var(--shadow-paper);
}

.ticket{ position:relative; z-index:30; margin-left:-80px; } /* INTERLOCK πάνω στο πορτρέτο */
.ticket__head{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:14px 18px; border-bottom:1px solid var(--c-paper-line);
}
.ticket__count{
  font-size:11px; font-weight:600; letter-spacing:.1em; color:var(--c-paper-label);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}
.ticket__bar{ display:grid; grid-template-columns:1fr 1fr 1.2fr 56px; align-items:stretch; }
.ticket__cell{
  padding:12px 18px; display:grid; gap:7px; align-content:center; min-width:0;
}
.ticket__cell+.ticket__cell{ border-left:1px solid var(--c-paper-line); }

/* στυλάρουμε μόνο το κλειστό κουτί του select (το dropdown = OS default, αποδεκτό) */
.ticket__cell select{
  appearance:none; -webkit-appearance:none;
  border:0; background:transparent; width:100%;
  font:600 15px/1.3 var(--font); color:var(--c-paper-ink);
  padding-right:18px; cursor:pointer; border-radius:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232A3245' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 2px center; background-size:10px 6px;
}
.ticket__cell .lbl{ color:var(--c-paper-label); }

/* το κουμπί 56×56 = ΤΟ γεμάτο crimson στοιχείο του hero viewport */
.ticket__go{
  background:var(--c-accent); color:var(--c-paper); border:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:10px;
  font:600 13px/1 var(--font); letter-spacing:.12em; min-height:56px;
  border-radius:0 var(--radius-paper) var(--radius-paper) 0;
}
.ticket__go:hover{ background:var(--c-accent-hover); }
.ticket__go .arr{ font-size:18px; }
.ticket__go-label{ display:none; } /* εμφανίζεται <960px: «ΑΝΑΖΗΤΗΣΗ →» */

/* segmented toggle Πώληση|Ενοικίαση — paper εκδοχή (active = navy fill) */
.seg{ display:inline-flex; border:1px solid var(--c-paper-line); border-radius:999px; padding:2px; }
.seg__opt{
  border:0; background:transparent; cursor:pointer; border-radius:999px;
  padding:7px 16px; font:600 11px/1 var(--font); letter-spacing:.12em;
  color:var(--c-paper-label);
}
.seg__opt.is-on{ background:var(--c-primary); color:var(--c-paper); }
/* dark εκδοχή (filter rail, σκούρα contexts) */
.seg--dark{ border-color:var(--hairline-strong); }
.seg--dark .seg__opt{ color:var(--c-muted); }
.seg--dark .seg__opt.is-on{ background:var(--c-primary); color:var(--c-text-strong); }


/* ============================================================
   10. DARK FILTER RAIL (properties — §7.3): η λογική του ticket
       αλλά ΣΚΟΥΡΑ — όχι δεύτερο χαρτί στη σελίδα
   ============================================================ */
.rail{
  display:grid; grid-template-columns:auto 1fr 1fr 1.2fr auto;
  background:var(--c-surface); border:var(--hairline); align-items:stretch;
}
.rail__cell{ padding:14px 18px; display:grid; gap:7px; align-content:center; min-width:0; }
.rail__cell+.rail__cell{ border-left:var(--hairline); }
.rail__cell--seg{ display:flex; align-items:center; }
.rail select{
  appearance:none; -webkit-appearance:none;
  border:0; background:transparent; width:100%;
  font:600 14px/1.3 var(--font); color:var(--c-text-strong);
  padding-right:18px; cursor:pointer; border-radius:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238A9BB5' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 2px center; background-size:10px 6px;
}
.rail select option{ background:var(--c-surface); color:var(--c-text); }
.rail__clear{ align-self:center; margin-inline:14px; white-space:nowrap; }

/* results counter + empty state */
.results-count{
  font-size:12px; font-weight:500; letter-spacing:.1em; color:var(--c-muted);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}
.empty{
  border:var(--hairline); padding:72px 32px; text-align:center;
  display:grid; gap:24px; justify-items:center;
}
.empty p{ color:var(--c-muted); max-width:42ch; }


/* ============================================================
   11. SUB-HERO — page-top όλων των υποσελίδων (§7 κοινό pattern)
   ============================================================ */
.subhero{
  position:relative;
  display:grid; grid-template-columns:minmax(220px,3fr) 9fr; gap:0;
  padding-top:24px; overflow:hidden;
}
.subhero__media{
  position:relative; overflow:hidden; border:var(--frame); min-height:380px;
}
.subhero__media img{ width:100%; height:100%; object-fit:cover; }
.subhero__media::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, transparent 60%, rgba(var(--c-canvas-rgb),.65) 100%);
}
.subhero__body{
  position:relative; padding:72px 0 72px 0;
  display:flex; flex-direction:column; justify-content:center; gap:20px; min-width:0;
}
/* h1 με seam-overlap −48px πάνω στη λωρίδα */
.subhero__title{
  position:relative; z-index:20; margin-left:-48px;
  text-shadow:0 2px 24px rgba(var(--c-canvas-rgb),.6);
}
/* watermark numeral σελίδας (02–06) */
.subhero__num{
  position:absolute; right:0; top:16px; z-index:0; opacity:.35;
  pointer-events:none; user-select:none;
}
.subhero__body > *:not(.subhero__num){ padding-left:64px; }
.subhero__title{ padding-left:0 !important; margin-left:-48px; } /* seam-overlap −48px πάνω στη λωρίδα */
.subhero__lead{ max-width:56ch; color:var(--c-muted); }


/* ============================================================
   12. SECTION HEADER (§5.3) — numeral + tick kicker + h2
   ============================================================ */
.sec-head{
  display:grid; grid-template-columns:auto 1fr; gap:12px 40px; align-items:center;
  margin-bottom:clamp(40px,5vw,64px);
}
.sec-head .numeral{ grid-row:span 2; }
.sec-head__kicker{ align-self:end; }
.sec-head__title{ align-self:start; }

/* full-bleed hairline divider με 8px ticks στις τομές (μόνο section dividers + hero stat-rule) */
.rule-ticked{
  position:relative; height:1px; background:rgba(138,155,181,.22);
  display:flex; justify-content:space-between;
}
.rule-ticked i{ width:1px; height:8px; background:var(--hairline-strong); margin-top:-4px; }


/* ============================================================
   13. ΚΑΡΤΑ ΑΚΙΝΗΤΟΥ (dark — §5.1): grid / lead / stacked row
   ============================================================ */
.card{
  display:block; text-decoration:none;
  background:var(--c-surface); border:var(--hairline); border-radius:0;
}
.card:hover{ border-color:var(--hairline-hover); }
.card__media{ aspect-ratio:4/3; position:relative; }
.card--lead .card__media{ aspect-ratio:16/10; }
.card__body{ padding:20px 24px; display:grid; gap:8px; justify-items:start; }
.card__code{
  font-size:12px; font-weight:500; letter-spacing:.1em; color:var(--c-muted);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}
.card__title{ font-size:21px; font-weight:700; letter-spacing:-.02em; line-height:1.3; color:var(--c-text-strong); }
.card__meta{ font-size:14px; color:var(--c-muted);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums; }
.card__price{ font-size:20px; font-weight:600; color:var(--c-text-strong); margin-top:4px;
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums; }

/* stacked οριζόντια κάρτα (index δεξιά στήλη): thumb 120px + κείμενο */
.card--row{ display:grid; grid-template-columns:120px 1fr; }
.card--row .card__media{ aspect-ratio:auto; height:100%; min-height:120px; }
.card--row .card__body{ padding:14px 18px; gap:5px; }
.card--row .card__title{ font-size:16px; }
.card--row .card__price{ font-size:17px; margin-top:2px; }

/* badge — hairline pill, ΠΟΤΕ crimson γέμισμα */
.pill{
  display:inline-block; border:1px solid var(--hairline-strong); color:var(--c-muted);
  font-size:10px; font-weight:600; letter-spacing:.2em; line-height:1; padding:5px 10px;
}
.card__media .pill{
  position:absolute; top:12px; left:12px; z-index:2;
  background:rgba(var(--c-canvas-rgb),.55); color:var(--c-text);
}
/* pill πάνω σε paper */
.paper .pill{ border-color:var(--c-paper-line); color:var(--c-paper-label); }

/* πλέγματα καρτών */
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.featured{ display:grid; grid-template-columns:7fr 5fr; gap:32px; align-items:stretch; }
.featured__stack{ display:grid; gap:24px; align-content:stretch; }


/* ============================================================
   14. ΚΟΥΜΠΙΑ (§5.2) — μόνο αλλαγή τόνου + βέλος· ποτέ lift/σκιά
   ============================================================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  font:600 13px/1 var(--font); letter-spacing:.12em;
  padding:16px 28px; border-radius:var(--radius-paper); border:0;
  cursor:pointer; text-decoration:none; white-space:nowrap;
}
.btn .arr{ display:inline-block; }
/* Primary crimson — ΕΝΑ ανά viewport */
.btn--primary{ background:var(--c-accent); color:var(--c-paper); }
.btn--primary:hover{ background:var(--c-accent-hover); }
/* Ghost navy */
.btn--ghost{ background:transparent; border:1px solid var(--c-primary-soft); color:var(--c-text-strong); }
.btn--ghost:hover{ background:var(--c-primary); }
.btn--block{ width:100%; }

/* Text-link με crimson underline 24px→100% */
.link-arrow{
  display:inline-block; text-decoration:none;
  color:var(--c-text-strong); font-weight:600; font-size:14px;
  padding-bottom:6px;
  background-image:linear-gradient(var(--c-accent),var(--c-accent));
  background-repeat:no-repeat; background-size:24px 2px; background-position:0 100%;
}
.link-arrow:hover{ background-size:100% 2px; }
/* εκδοχή πάνω σε navy panel (§5.9) */
.duo .link-arrow{ color:var(--c-text-strong); }


/* ============================================================
   15. ΠΕΡΙΟΧΕΣ — hairline table-rows (§5.5)
   ============================================================ */
.area-rows{ display:block; }
.area-row{
  display:grid; grid-template-columns:1fr auto 24px; align-items:center; gap:24px;
  padding:26px 8px; text-decoration:none;
  border-top:var(--hairline);
}
.area-row:last-child{ border-bottom:var(--hairline); }
.area-row__name{ font-size:28px; font-weight:700; letter-spacing:-.025em; color:var(--c-text-strong); }
.area-row__count{
  font-size:12px; font-weight:500; letter-spacing:.2em; color:var(--c-muted);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}
.area-row__arr{ color:var(--c-muted); font-size:18px; }
.area-row:hover{ border-top-color:var(--hairline-hover); background:var(--c-surface-2); }
.area-row:hover+.area-row{ border-top-color:var(--hairline-hover); }
.area-row:last-child:hover{ border-bottom-color:var(--hairline-hover); }


/* ============================================================
   16. ΦΟΡΜΕΣ — paper κάρτα (§5.4): το «χαρτί» των form-σελίδων
   ============================================================ */
.paper-form{
  max-width:720px; margin-inline:auto;
  padding:clamp(32px,5vw,52px) clamp(24px,4vw,48px);
  display:grid; gap:26px;
}
.paper-form__head{ display:grid; gap:10px; padding-bottom:8px; border-bottom:1px solid var(--c-paper-line); }
.paper-form__title{ font-size:24px; font-weight:700; letter-spacing:-.02em; color:var(--c-paper-ink); }

.field{ display:grid; gap:8px; min-width:0; }
.field label{ font-size:10px; font-weight:600; letter-spacing:.2em; line-height:1; color:var(--c-paper-label); }
.field input,
.field select,
.field textarea{
  border:0; border-bottom:1px solid var(--c-paper-line); border-radius:0;
  background:transparent; width:100%;
  font:400 16px/1.5 var(--font); color:var(--c-paper-ink);
  padding:10px 2px;
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}
.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none; border-bottom:2px solid var(--c-primary); margin-bottom:-1px;
}
.field select{
  appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:20px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232A3245' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 4px center; background-size:10px 6px;
}
.field textarea{ min-height:120px; resize:vertical; }
.field ::placeholder{ color:var(--c-paper-label); opacity:.55; }

/* σειρές 2 πεδίων + ζεύγη από/έως (request) */
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pair{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* GDPR checkbox — custom 16px, checked = navy fill + ✓ */
.check{ display:flex; gap:12px; align-items:flex-start; cursor:pointer;
  font-size:13px; line-height:1.55; color:var(--c-paper-label); }
.check input{ position:absolute; opacity:0; width:1px; height:1px; }
.check__box{
  width:16px; height:16px; flex:none; margin-top:2px;
  border:1px solid var(--c-paper-line); display:grid; place-items:center;
}
.check input:checked+.check__box{ background:var(--c-primary); border-color:var(--c-primary); }
.check input:checked+.check__box::after{ content:"✓"; color:var(--c-paper); font-size:11px; line-height:1; }
.check input:focus-visible+.check__box{ outline:1px solid var(--c-paper-label); outline-offset:3px; }

/* validation / notice — ΜΟΝΟ μέσα σε paper */
.notice{
  background:var(--c-accent-tint); color:var(--c-accent);
  font-size:13px; line-height:1.5; padding:12px 16px; border-radius:var(--radius-paper);
}


/* ============================================================
   17. ΔΙΔΥΜΑ CTA PANELS (§5.9) — index ενότητα 04
       ΧΩΡΙΣ crimson εδώ (απαγορευμένο tricolor σε navy)
   ============================================================ */
.duo{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.duo__panel{ padding:48px; display:grid; gap:16px; align-content:start; }
.duo__panel--navy{ background:var(--c-primary); }
.duo__panel--navy .kicker{ color:var(--c-text-on-primary); }
.duo__panel--ghost{ background:var(--c-surface); border:1px solid var(--c-primary-soft); }
.duo__title{ font-size:28px; font-weight:700; letter-spacing:-.025em; line-height:1.2; color:var(--c-text-strong); }
.duo__body{ color:var(--c-text-on-primary); max-width:42ch; }
.duo__panel--ghost .duo__body{ color:var(--c-muted); }
/* tone-swap hover (§8.4) */
.duo__panel:hover{ background:var(--c-primary-soft); }
.duo__panel--ghost:hover{ border-color:var(--c-primary-soft); }
.duo:has(.duo__panel:hover) .duo__panel:not(:hover){ opacity:.85; }


/* ============================================================
   18. ΜΑΡΤΥΡΙΕΣ (§5.6) — « 200-weight + quote 300 + prev/next
   ============================================================ */
.quotes{ position:relative; max-width:880px; }
.tquote{
  position:relative; padding-left:88px;
  font-weight:300; font-size:clamp(24px,2.8vw,30px); line-height:1.5;
  letter-spacing:-.02em; color:var(--c-text-strong);
}
.tquote::before{
  content:"«"; position:absolute; left:0; top:-14px;
  font-weight:200; font-size:96px; line-height:1; color:var(--c-primary-soft);
}
.tquote__sig{
  display:block; margin-top:24px;
  font-size:11px; font-weight:600; letter-spacing:.28em; color:var(--c-muted);
}
.quotes__item{ display:none; }
.quotes__item.is-on{ display:block; }
.quotes__nav{ display:flex; gap:12px; margin-top:32px; padding-left:88px; }
.qbtn{
  width:40px; height:40px; background:transparent; cursor:pointer;
  border:var(--hairline); color:var(--c-muted); font-size:15px;
  display:grid; place-items:center;
}
.qbtn:hover{ border-color:var(--hairline-hover); color:var(--c-text-strong); }


/* ============================================================
   19. DETAIL ΣΕΛΙΔΑ (property — §7.4): breadcrumb, gallery,
       specs, χάρτης, inquiry paper, σχετικά
   ============================================================ */
.crumbs{
  display:flex; gap:10px; align-items:center;
  font-size:11px; font-weight:600; letter-spacing:.2em; color:var(--c-muted);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}
.crumbs a{ color:var(--c-muted); text-decoration:none; }
.crumbs a:hover{ color:var(--c-text-strong); }

.detail-head{ display:grid; gap:14px; justify-items:start; }

/* gallery: 1 μεγάλη 16:9 + 4 thumbs 1:1, swap με JS */
.gallery{ display:grid; gap:12px; }
.gallery__main{ aspect-ratio:16/9; position:relative; border:var(--frame); overflow:hidden; }
.gallery__main img{ width:100%; height:100%; object-fit:cover; }
.gallery__code{ position:absolute; top:16px; right:14px; z-index:2; }
.gallery__thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.gallery__thumb{
  aspect-ratio:1/1; padding:0; border:var(--frame); background:none; cursor:pointer; overflow:hidden;
}
.gallery__thumb img{ width:100%; height:100%; object-fit:cover; }
.gallery__thumb.is-on{ border-color:var(--hairline-hover); }

/* specs — tabular hairline πίνακας 2 στηλών */
.specs{ display:grid; grid-template-columns:1fr 1fr; gap:0 48px; }
.specs__row{
  display:flex; justify-content:space-between; align-items:baseline; gap:24px;
  padding:13px 0; border-bottom:var(--hairline);
}
.specs__row dt{ font-size:10px; font-weight:600; letter-spacing:.2em; color:var(--c-muted); }
.specs__row dd{ font-size:15px; font-weight:600; color:var(--c-text-strong); text-align:right;
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums; }

/* στατικός SVG χάρτης (§5.8) — pin ΠΑΝΤΑ steel, ΟΧΙ crimson */
.map-panel{ position:relative; border:var(--frame); background:var(--c-surface); }
.map-panel svg{ display:block; width:100%; height:auto; }
.map-panel .street{ stroke:rgba(138,155,181,.18); fill:none; }
.map-panel .street--major{ stroke:rgba(138,155,181,.28); }
.map-panel .pin{ fill:var(--c-primary-soft); }
.map-cap{
  padding:12px 16px; border-top:var(--hairline);
  font-size:10px; font-weight:600; letter-spacing:.2em; color:var(--c-muted);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}

/* inquiry card = το paper της detail (crimson submit = το crimson του viewport) */
.inquiry{ padding:clamp(28px,4vw,44px); display:grid; gap:22px; }
.inquiry__title{ font-size:22px; font-weight:700; letter-spacing:-.02em; color:var(--c-paper-ink); }

/* layout detail: αριστερά περιεχόμενο, δεξιά sticky inquiry */
.detail-cols{ display:grid; grid-template-columns:7fr 5fr; gap:48px; align-items:start; }
.sticky-col{ position:sticky; top:96px; }


/* ============================================================
   20. BIO ΣΕΛΙΔΑ (§7.2) — sticky portrait, idlist, timeline
   ============================================================ */
.bio-layout{ display:grid; grid-template-columns:5fr 7fr; gap:64px; align-items:start; }

.idlist{ display:grid; margin-top:32px; }
.idlist__row{
  display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:baseline;
  padding:14px 0; border-bottom:var(--hairline);
}
.idlist__row:first-child{ border-top:var(--hairline); }
.idlist__row dt{ font-size:10px; font-weight:600; letter-spacing:.2em; color:var(--c-muted); }
.idlist__row dd{ font-size:15px; font-weight:600; color:var(--c-text-strong); text-align:right;
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums; }

/* timeline καριέρας: χρονολογίες 200/40px πάνω σε κάθετο hairline */
.timeline{ position:relative; padding-left:40px; display:grid; gap:44px; margin-top:48px; }
.timeline::before{
  content:""; position:absolute; left:0; top:6px; bottom:6px; width:1px;
  background:rgba(138,155,181,.22);
}
.timeline__item{ position:relative; display:grid; gap:10px; }
.timeline__item::before{
  content:""; position:absolute; left:-40px; top:14px; width:8px; height:1px;
  background:var(--hairline-strong);
}
.timeline__year{
  font-weight:200; font-size:40px; line-height:1; color:var(--c-text-strong);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}
.timeline__txt{ color:var(--c-muted); max-width:48ch; }


/* ============================================================
   21. CONTACT (§7.7) + CONTACT STRIP (index ενότητα 07)
   ============================================================ */
.contact-split{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }

/* «κάρτα γραφείου» πάνω σε dimmed φωτό δρόμου */
.office-wrap{ position:relative; overflow:hidden; border:var(--frame); min-height:520px;
  display:flex; align-items:flex-end; padding:32px; }
.office-wrap > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.office-wrap::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, transparent 40%, rgba(var(--c-canvas-rgb),.85) 100%);
}
.office-card{
  position:relative; z-index:2; width:100%;
  background:var(--c-surface); border:var(--hairline); padding:32px;
  display:grid; gap:14px; justify-items:start;
}
.office-card__phone{
  font-weight:200; font-size:40px; line-height:1; color:var(--c-text-strong); text-decoration:none;
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}
.office-card__row{ font-size:14px; color:var(--c-muted);
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums; }
.office-card__social{ display:flex; gap:20px; }
.office-card__social a{
  font-size:11px; font-weight:600; letter-spacing:.2em; color:var(--c-muted);
  text-decoration:none; border-bottom:1px solid transparent;
}
.office-card__social a:hover{ color:var(--c-text-strong); border-bottom-color:var(--hairline-strong); }

/* index «Ας μιλήσουμε.» strip — εδώ ζει ΤΟ crimson CTA του viewport */
.contact-strip{
  display:flex; justify-content:space-between; align-items:center; gap:48px; flex-wrap:wrap;
}
.contact-strip__right{ display:flex; align-items:center; gap:40px; flex-wrap:wrap; }
.contact-strip__phone{
  font-weight:200; font-size:32px; line-height:1; color:var(--c-text-strong); text-decoration:none;
  font-feature-settings:'tnum'; font-variant-numeric:tabular-nums;
}


/* ============================================================
   22. INTRO STRIP (index ενότητα 01) — numeral + pull + portrait 4:5
   ============================================================ */
.intro-strip{ display:grid; grid-template-columns:auto 1fr minmax(280px,4fr); gap:56px; align-items:center; }
.intro-strip__body{ display:grid; gap:24px; justify-items:start; max-width:60ch; }
.intro-strip .ph-wrap{ aspect-ratio:4/5; border:var(--frame); }


/* ============================================================
   23. MICRO-INTERACTIONS (§8) — ΟΛΕΣ μέσα σε prefers-reduced-motion
       Ό,τι δεν αναφέρεται εδώ, ΔΕΝ κινείται.
   ============================================================ */
@media (prefers-reduced-motion: no-preference){

  /* 1. Dolly hover εικόνων — «η εικόνα ανάβει όταν τη ζητείς» */
  .ph-wrap img{ transition:transform 1.2s var(--ease-dolly), filter 1.2s var(--ease-dolly); }
  .ph-wrap::after{ transition:opacity 1.2s var(--ease-dolly); }
  .ph-wrap:hover img{ transform:scale(1.04); filter:brightness(.95) contrast(1.06) saturate(.95); }
  .ph-wrap:hover::after{ opacity:.6; }

  /* 2. Text-links underline 24px→100% */
  .link-arrow{ transition:background-size .35s var(--ease-dolly); }

  /* 3. Περιοχές rows */
  .area-row{ transition:border-color .25s ease, transform .25s ease, background-color .25s ease; }
  .area-row:hover{ transform:translateX(4px); }

  /* 4. Δίδυμα CTA tone-swap */
  .duo__panel{ transition:background-color .4s ease, opacity .4s ease; }

  /* 5. Κουμπιά: τόνος + βέλος translateX(4px) — ποτέ lift/scale */
  .btn{ transition:background-color .3s ease, border-color .3s ease; }
  .btn .arr, .ticket__go .arr{ transition:transform .35s var(--ease-dolly); }
  .btn:hover .arr, .ticket__go:hover .arr{ transform:translateX(4px); }
  .ticket__go{ transition:background-color .3s ease; }

  /* 6. Reveal on scroll (IntersectionObserver προσθέτει .is-in) */
  .reveal{ opacity:0; transform:translateY(12px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.is-in{ opacity:1; transform:none; }

  /* 7. Μαρτυρίες cross-fade */
  .quotes__item.is-on{ animation:qfade .3s ease; }
  @keyframes qfade{ from{ opacity:0; } to{ opacity:1; } }

  /* 8. Λοιπά μικρά transitions */
  .nav__link, .lang, .nav__social a, .card, .qbtn,
  .footer__col a, .footer__social a, .office-card__social a{ transition:color .25s ease, border-color .25s ease; }
  .seg__opt{ transition:background-color .25s ease, color .25s ease; }

  /* 9. Scroll cue pulse */
  .scroll-cue{ animation:cue 2.4s ease-in-out infinite; }
  @keyframes cue{ 0%,100%{ opacity:.25; } 50%{ opacity:1; } }
}
/* εκτός media: .reveal πλήρως ορατό by default — τίποτα δεν κρύβεται χωρίς JS/motion */


/* ============================================================
   24. RESPONSIVE (§9)
   ============================================================ */

/* ── <1280: hero δεξιά στήλη 48px, seam −64px ─────────────── */
@media (max-width:1279px){
  .hero__right{ padding-left:48px; }
  .hero__name{ margin-left:-64px; }
}

/* ── <1200: ticket interlock −48px, κελιά 2×2 + κουμπί full ── */
@media (max-width:1199px){
  .ticket{ margin-left:-48px; }
  .ticket__bar{ grid-template-columns:1fr 1fr; }
  .ticket__cell+.ticket__cell{ border-left:0; }
  .ticket__cell:nth-child(even){ border-left:1px solid var(--c-paper-line); }
  .ticket__cell{ border-top:1px solid var(--c-paper-line); }
  .ticket__cell:nth-child(-n+2){ border-top:0; }
  .ticket__go{ grid-column:1/-1; border-radius:0 0 var(--radius-paper) var(--radius-paper);
    border-top:1px solid var(--c-paper-line); }
  .duo{ grid-template-columns:1fr; }
  .grid-3{ grid-template-columns:repeat(2,1fr); }
  .detail-cols{ grid-template-columns:1fr; }
  .sticky-col{ position:static; }
  .intro-strip{ grid-template-columns:auto 1fr; }
  .intro-strip .ph-wrap{ display:none; }
}

/* ── <1280: nav links → hamburger overlay (πυκνό premium μενού 8 items) ─── */
@media (max-width:1279px){
  .nav__links, .nav__social{ display:none; }
  .nav__burger{ display:flex; }
}

/* ── <960 (ΚΡΙΣΙΜΟ): hero στοίβαξη — ΟΛΑ τα overlaps φεύγουν ─ */
@media (max-width:959px){
  .hero{ padding:16px; }
  .hero__grid{ grid-template-columns:1fr; min-height:0; }
  .hero__portrait{ height:56vh; }
  .hero__right{ padding-left:0; padding-top:32px; gap:24px; }
  .hero__name{ margin-left:0; text-shadow:none; }
  .t-stat, .stat .t-stat{ font-size:32px; }
  .ticket{ margin-left:0; }
  .ticket__bar{ grid-template-columns:1fr; }
  .ticket__cell{ border-top:1px solid var(--c-paper-line); }
  .ticket__cell:nth-child(-n+2){ border-top:1px solid var(--c-paper-line); }
  .ticket__cell:first-child{ border-top:0; }
  .ticket__cell:nth-child(even){ border-left:0; }
  .ticket__go{ min-height:52px; }
  .ticket__go-label{ display:inline; } /* «ΑΝΑΖΗΤΗΣΗ →» */
  /* filmstrip → οριζόντιο scroll-snap */
  .filmstrip{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px;
    -webkit-overflow-scrolling:touch; }
  .filmstrip a{ flex:0 0 44%; scroll-snap-align:start; }
  /* sub-heroes: λωρίδα = top band 200px, h1 χωρίς overlap */
  .subhero{ grid-template-columns:1fr; }
  .subhero__media{ min-height:200px; max-height:200px; }
  .subhero__body > *:not(.subhero__num){ padding-left:0; }
  .subhero__title{ margin-left:0 !important; text-shadow:none; }
  .subhero__body{ padding:40px 0; }
  /* ασύμμετρο grid ακινήτων → 1 στήλη (lead πρώτη) */
  .featured{ grid-template-columns:1fr; }
  /* bio: sticky off, portrait πάνω */
  .bio-layout{ grid-template-columns:1fr; gap:48px; }
  .bio-layout .sticky-col{ position:static; }
  /* λοιπά splits */
  .contact-split{ grid-template-columns:1fr; }
  .office-wrap{ min-height:420px; }
  .intro-strip{ grid-template-columns:1fr; gap:32px; }
  .sec-head{ grid-template-columns:1fr; gap:12px; }
  .sec-head .numeral{ grid-row:auto; font-size:96px; }
  .specs{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr 1fr; }
  .hero__foot{ flex-wrap:wrap; }
}

/* ── <700: πλέγμα καρτών 1 στήλη ──────────────────────────── */
@media (max-width:699px){
  .grid-3{ grid-template-columns:1fr; }
}

/* ── <640: floors, footer 1 στήλη, paper edge-to-edge ─────── */
@media (max-width:639px){
  .numeral{ font-size:clamp(72px,18vw,96px); }
  .subhero__num{ font-size:72px; }
  .footer__grid{ grid-template-columns:1fr; padding-block:48px; }
  /* paper φόρμες edge-to-edge με 16px margin (ο γονέας .container κρατά 24px gutter·
     το αρνητικό 8px το φέρνει σε 16px από την άκρη) */
  .paper-form, .inquiry{ margin-inline:-8px; }
  .form-row{ grid-template-columns:1fr; }
  .pair{ grid-template-columns:1fr; } /* ζεύγη από/έως κάθετα */
  .area-row{ grid-template-columns:1fr 24px; }
  .area-row__count{ grid-column:1; }
  .area-row__arr{ grid-row:1; grid-column:2; }
  .area-row__name{ font-size:22px; }
  .card--row{ grid-template-columns:100px 1fr; }
  .tquote{ padding-left:0; padding-top:48px; }
  .tquote::before{ top:-16px; font-size:72px; }
  .quotes__nav{ padding-left:0; }
  .contact-strip__phone{ font-size:26px; }
  .gallery__thumbs{ gap:8px; }
  .duo__panel{ padding:32px 24px; }
  .timeline{ padding-left:28px; }
  .timeline__item::before{ left:-28px; }
}

/* ── Company logo in nav + footer (v3.8.2) ── */
.nav__brand-logo{height:30px;width:auto;max-width:200px;object-fit:contain;display:block}
.footer__logo{height:40px;width:auto;max-width:200px;object-fit:contain;display:block;margin-bottom:12px}

/* ── NewDeal network lockup — πραγματικό newdeal logo κεντρικά + όνομα δίπλα ── */
.nav__brand--nd{display:flex;align-items:center;gap:13px}
.nav__brand-nd{height:25px;width:auto;max-width:180px;object-fit:contain;display:block}
.nav__brand-rule{width:1px;height:26px;background:var(--hairline-strong);flex:none}
.nav__brand--nd .nav__brand-agent{display:grid;gap:3px}
.footer__monogram .footer__logo{height:30px}   /* newdeal wordmark στο footer — πιο συγκρατημένο */
@media (max-width:520px){
  .nav__brand-rule,.nav__brand--nd .nav__brand-agent{display:none}
  .nav__brand-nd{height:23px}
}

/* ── Client fixes (17/7): breathe nav, drop seam-overlap titles, fix row-card crop ── */
.nav__phone{display:none!important}                              /* 2α: βγάζει τηλέφωνο → αναπνέει το nav */
.nav__link{white-space:nowrap}                                   /* 2α: «Η ΣΥΜΒΟΥΛΟΣ» δεν σπάει */
.hero__name{margin-left:0!important}                             /* 2β: τίτλος στο grid, όχι πάνω στη φωτό */
.subhero__title{margin-left:0!important;padding-left:64px!important}
.card--row{grid-template-columns:40% 1fr!important;align-items:center}     /* 2γ: σωστό landscape thumbnail */
.card--row .card__media{aspect-ratio:4/3!important;height:auto!important;min-height:0!important}

/* ── Client fixes v2 (17/7): search-bar aligned+modern, πιο ψηλές property εικόνες ── */
.ticket{margin-left:0!important;border-radius:16px;overflow:hidden}       /* aligned + rounded/modern (όχι τετράγωνο/overlap) */
.card--lead .card__media{aspect-ratio:4/3!important}                       /* πιο ψηλή εικόνα (ήταν 16/10, έκοβε πολύ) */
