@charset "UTF-8";
/* ============================================================
   Κωνσταντίνος Χατζής — Συμβολαιογράφος Θεσσαλονίκης
   Design system, τυπογραφική κλίμακα και animations.
   ============================================================ */

/* ---------- 1. Tokens ---------- */
:root{
  /* Χρώματα — ίδια παλέτα με το αρχικό build */
  --navy:        oklch(38.5% .055 247);
  --navy-deep:   oklch(28% .042 247);
  --navy-soft:   oklch(46% .05 247);
  --gold:        oklch(75% .09 83);
  --gold-light:  oklch(86% .074 83);
  --gold-dim:    oklch(75% .09 83 / .28);
  --gold-ink:    oklch(48% .085 70);   /* χρυσό για κείμενο σε ανοιχτό φόντο */
  --paper:       oklch(97.6% .006 83);
  --paper-warm:  oklch(95.4% .011 83);
  --white:       oklch(99.5% 0 0);
  --ink:         oklch(27% .041 248);
  --ink-muted:   oklch(49% .024 247);
  --ink-faint:   oklch(51% .021 247);
  --line:        oklch(86% .015 245);
  --line-soft:   oklch(91% .01 245);
  --on-navy:     oklch(96% .008 83);
  --on-navy-dim: oklch(80% .012 83);

  /* Τυπογραφία */
  /* Μία γραμματοσειρά σε όλο το site — η ίδια με το λογότυπο */
  --sans:  "M PLUS 1p", "Segoe UI", system-ui, -apple-system, sans-serif;
  --serif: var(--sans);

  /* Κλίμακα — ρευστή, με σαφή βήματα */
  --fs-hero:    clamp(2.15rem, 1.4rem + 3.1vw, 3.85rem);
  --fs-h1:      clamp(1.85rem, 1.35rem + 2.1vw, 2.95rem);
  --fs-h2:      clamp(1.5rem, 1.2rem + 1.35vw, 2.15rem);
  --fs-h3:      clamp(1.15rem, 1.05rem + .42vw, 1.38rem);
  --fs-h4:      clamp(1.02rem, .98rem + .22vw, 1.14rem);
  --fs-lead:    clamp(1.06rem, 1rem + .38vw, 1.22rem);
  --fs-body:    1.0625rem;   /* 17px — ήταν 13–14px */
  --fs-small:   .9375rem;    /* 15px */
  --fs-meta:    .8125rem;    /* 13px */
  --fs-eyebrow: .75rem;      /* 12px, με tracking */

  /* Ρυθμός */
  --lh-tight: 1.1;
  --lh-head:  1.24;
  --lh-body:  1.72;
  --measure:  66ch;

  /* Χώρος */
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --section-y: clamp(4.5rem, 9vw, 9.5rem);
  --maxw: 1500px;
  --maxw-text: 1180px;

  /* Κίνηση */
  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --dur: .6s;
}

/* ---------- 2. Βάση ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:var(--sans);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}

h1,h2,h3,h4{
  font-family:var(--sans);
  font-weight:500;
  line-height:var(--lh-head);
  margin:0;
  text-wrap:balance;
  letter-spacing:-.008em;
}
h1,h2{font-weight:400}
h1{letter-spacing:-.015em}
h2{letter-spacing:-.012em}
/* Χωρίς ψεύτικο bold: η έμφαση δίνεται με χρώμα, μέγεθος και αραίωση */
strong,b{font-weight:500;color:var(--navy)}
.section--navy strong,.section--navy b,
.section--deep strong,.section--deep b{color:var(--on-navy)}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
h4{font-size:var(--fs-h4);font-weight:500;letter-spacing:-.004em}
p{margin:0 0 1.15em;max-width:var(--measure)}
p:last-child{margin-bottom:0}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.wrap-text{max-width:var(--maxw-text);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y)}
.section--paper{background:var(--paper)}
.section--navy{background:var(--navy);color:var(--on-navy)}
.section--deep{background:var(--navy-deep);color:var(--on-navy)}

/* ---------- 3. Τυπογραφικά βοηθήματα ---------- */
.eyebrow{
  font-size:var(--fs-eyebrow);
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:.9rem;
  margin:0 0 1.5rem;
  line-height:1.4;
}
.eyebrow::before{
  content:"";
  width:clamp(22px,4vw,46px);
  height:1px;
  background:currentColor;
  transform-origin:left;
  animation:rule-in 1s var(--ease-out) both;
}
.eyebrow--plain::before{display:none}
.section--navy .eyebrow,.section--deep .eyebrow{color:var(--gold-light)}

.lead{
  font-size:var(--fs-lead);
  line-height:1.6;
  color:var(--ink-muted);
  max-width:58ch;
}
.section--navy .lead,.section--deep .lead{color:var(--on-navy-dim)}
.muted{color:var(--ink-muted)}
.serif-italic{color:var(--gold)}
.gold{color:var(--gold)}
.num{
  font-family:var(--serif);
  font-size:var(--fs-meta);
  color:var(--gold);
  letter-spacing:.08em;
  font-variant-numeric:tabular-nums;
}
.rule{height:1px;background:var(--gold);width:clamp(34px,6vw,64px);margin-bottom:1.75rem;transform-origin:left}

/* ---------- 4. Κουμπιά ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-size:var(--fs-meta);font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  padding:1.05rem 1.9rem;border-radius:2px;
  position:relative;overflow:hidden;isolation:isolate;
  transition:color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);
  white-space:nowrap;
}
.btn::after{
  content:"";position:absolute;inset:0;z-index:-1;
  transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--ease-out);
}
.btn:hover::after,.btn:focus-visible::after{transform:scaleX(1);transform-origin:left}
.btn:active{transform:translateY(1px)}

.btn--gold{background:var(--gold);color:var(--navy-deep)}
.btn--gold::after{background:var(--gold-light)}
.btn--outline{border:1px solid var(--gold-dim);color:var(--on-navy)}
.btn--outline::after{background:var(--gold)}
.btn--outline:hover{color:var(--navy-deep);border-color:var(--gold)}
.btn--ink{border:1px solid var(--navy);color:var(--navy)}
.btn--ink::after{background:var(--navy)}
.btn--ink:hover{color:var(--white)}

.btn svg{transition:transform .35s var(--ease)}
.btn:hover svg{transform:translate(2px,-2px)}

/* Σύνδεσμος κειμένου με γραμμή που «γράφεται» */
.link{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:var(--fs-meta);font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--navy);position:relative;padding-bottom:.35rem;
}
.link::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--gold);transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--ease-out);
}
.link:hover::after{transform:scaleX(1);transform-origin:left}
.link svg{transition:transform .35s var(--ease)}
.link:hover svg{transform:translate(3px,-3px)}
.section--navy .link,.section--deep .link{color:var(--gold-light)}

/* ---------- 5. Header ---------- */
.header{
  position:sticky;top:0;z-index:100;
  background:var(--navy);color:var(--on-navy);
  transition:box-shadow .4s var(--ease),background .4s var(--ease);
}
.header.is-stuck{box-shadow:0 10px 40px -18px oklch(0% 0 0 / .55)}
.header__bar{
  max-width:var(--maxw);margin-inline:auto;
  padding-inline:var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:1.25rem;
  height:76px;
  transition:height .4s var(--ease);
}
@media(min-width:768px){.header__bar{height:92px}}
.header.is-stuck .header__bar{height:66px}
@media(min-width:768px){.header.is-stuck .header__bar{height:72px}}

.logo img{
  width:205px;transition:width .4s var(--ease);object-fit:contain;object-position:left;
}
@media(min-width:640px){.logo img{width:270px}}
@media(min-width:1200px){.logo img{width:320px}}
.header.is-stuck .logo img{width:185px}
@media(min-width:640px){.header.is-stuck .logo img{width:225px}}

.nav{display:none;align-items:center;gap:clamp(1.3rem,2vw,2.4rem)}
@media(min-width:1100px){.nav{display:flex}}
.nav__item{position:relative}
.nav__link{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:var(--on-navy);
  padding-block:1.6rem;position:relative;white-space:nowrap;
  transition:color .3s var(--ease);
}
.nav__link:hover,.nav__link[aria-current="page"],.nav__item.is-open .nav__link{color:var(--gold-light)}
.nav__link::after{
  content:"";position:absolute;left:0;right:0;bottom:1.15rem;height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out);
}
.nav__link:hover::after,.nav__link[aria-current="page"]::after,.nav__item.is-open .nav__link::after{transform:scaleX(1)}
.nav__caret{transition:transform .35s var(--ease)}
.nav__item.is-open .nav__caret{transform:rotate(180deg)}

/* Mega menu υπηρεσιών */
.mega{
  position:absolute;top:100%;left:50%;
  width:min(760px,86vw);
  background:var(--white);color:var(--ink);
  border-top:2px solid var(--gold);
  box-shadow:0 30px 70px -30px oklch(0% 0 0 / .45);
  padding:2rem 2rem 1.5rem;
  display:grid;grid-template-columns:1fr 1fr;gap:.25rem 2.25rem;
  opacity:0;visibility:hidden;
  transform:translate(-50%,-12px);
  transition:opacity .3s var(--ease),transform .38s var(--ease-out),visibility .3s;
}
.nav__item.is-open .mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega__item{
  display:block;padding:.7rem .85rem;border-radius:3px;
  transition:background .28s var(--ease);
  position:relative;
}
.mega__item:hover{background:var(--paper)}
.mega__item strong{
  display:block;font-family:var(--serif);font-size:1.075rem;font-weight:500;
  line-height:1.3;color:var(--navy);margin-bottom:.15rem;
  transition:transform .3s var(--ease);
}
.mega__item:hover strong{transform:translateX(4px)}
.mega__item span{display:block;font-size:var(--fs-meta);color:var(--ink-muted);line-height:1.5}
.mega__all{
  grid-column:1/-1;margin-top:.9rem;padding-top:1.1rem;border-top:1px solid var(--line-soft);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
}

.header__phone{
  display:none;align-items:center;gap:.55rem;
  border:1px solid var(--gold-dim);border-radius:2px;
  padding:.72rem 1.1rem;
  font-size:var(--fs-meta);font-weight:500;letter-spacing:.07em;
  color:var(--gold-light);
  transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease);
}
@media(min-width:640px){.header__phone{display:inline-flex}}
.header__phone:hover{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}

.burger{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border:1px solid var(--gold-dim);border-radius:2px;color:var(--gold-light);
  transition:background .3s var(--ease),color .3s var(--ease);
}
@media(min-width:1100px){.burger{display:none}}
.burger:hover{background:oklch(75% .09 83 / .14)}
.burger span{position:relative;display:block;width:19px;height:1.5px;background:currentColor;transition:transform .35s var(--ease),opacity .2s}
.burger span::before,.burger span::after{
  content:"";position:absolute;left:0;width:19px;height:1.5px;background:currentColor;
  transition:transform .35s var(--ease);
}
.burger span::before{top:-6px}
.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

/* Μενού κινητού — πλήρους οθόνης */
.menu{
  position:fixed;inset:0;z-index:90;
  background:var(--navy-deep);color:var(--on-navy);
  clip-path:inset(0 0 100% 0);
  visibility:hidden;
  transition:clip-path .68s var(--ease-out),visibility .68s;
}
.menu.is-open{clip-path:inset(0 0 0 0);visibility:visible}
@media(min-width:1100px){.menu{display:none}}
body.menu-open{overflow:hidden}

.menu__scroll{
  position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:clamp(92px,23vw,116px) var(--gutter) 2.2rem;
  display:flex;flex-direction:column;gap:1.8rem;min-height:100%;
}
.menu__mark{
  position:absolute;right:-.1em;bottom:-.24em;z-index:0;
  font-size:clamp(9rem,46vw,17rem);line-height:.78;letter-spacing:-.05em;
  color:oklch(96% .008 83 / .05);
  pointer-events:none;user-select:none;
}
.menu__list{list-style:none;margin:0;padding:0;position:relative;z-index:1}
.menu__item{border-bottom:1px solid oklch(96% .008 83 / .13)}
.menu__link,.menu__toggle{
  width:100%;display:flex;align-items:baseline;gap:.9rem;
  padding:1.1rem 0;text-align:left;color:var(--on-navy);
  font-size:clamp(1.4rem,6.2vw,1.85rem);line-height:1.18;font-weight:400;
  transition:color .3s var(--ease);
}
.menu__link:hover,.menu__toggle:hover{color:var(--gold-light)}
.menu__idx{
  flex:none;width:1.7rem;transform:translateY(-.4em);
  font-size:.625rem;letter-spacing:.2em;color:var(--gold-light);
}
.menu__label{flex:1}
.menu__link[aria-current="page"] .menu__label{color:var(--gold-light)}
.menu__chev{margin-left:auto;color:var(--gold-light);display:flex;transition:transform .42s var(--ease)}
.menu__toggle[aria-expanded="true"] .menu__chev{transform:rotate(180deg)}

.menu__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease-out)}
.menu__panel.is-open{grid-template-rows:1fr}
.menu__panel>div{overflow:hidden}
.menu__sub{
  list-style:none;margin:0 0 0 .6rem;padding:.2rem 0 1.1rem 1.9rem;
  border-left:1px solid var(--gold-dim);display:grid;
}
.menu__sub a{
  display:block;padding:.6rem 0;font-size:1.02rem;line-height:1.35;
  color:var(--on-navy-dim);transition:color .25s var(--ease),transform .3s var(--ease);
}
.menu__sub a:hover{color:var(--gold-light);transform:translateX(4px)}
.menu__sub a[aria-current="page"]{color:var(--gold-light)}

.menu__foot{
  margin-top:auto;padding-top:1.5rem;position:relative;z-index:1;
  border-top:1px solid oklch(96% .008 83 / .13);display:grid;gap:.55rem;
}
.menu__foot a{display:flex;align-items:center;gap:.6rem;font-size:1.1rem;color:var(--gold-light)}
.menu__foot p{margin:0;font-size:var(--fs-small);color:var(--on-navy-dim)}

/* ---------- 6. Hero ---------- */
.hero{
  position:relative;
  min-height:clamp(560px,84vh,860px);
  display:flex;align-items:center;
  background:var(--navy);color:var(--on-navy);
  overflow:hidden;
}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img{
  width:100%;height:100%;object-fit:cover;object-position:60% center;
  animation:kenburns 26s ease-in-out infinite alternate;
}
.hero__media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(100deg, oklch(28% .042 247 / .96) 0%, oklch(28% .042 247 / .82) 34%, oklch(28% .042 247 / .28) 62%, oklch(28% .042 247 / .1) 100%),
    linear-gradient(to top, oklch(28% .042 247 / .55), transparent 45%);
}
.hero__inner{position:relative;z-index:2;width:100%;padding-block:clamp(3.5rem,8vw,6rem)}
.hero__content{max-width:min(660px,100%)}
.hero h1{
  font-size:var(--fs-hero);
  line-height:var(--lh-tight);
  font-weight:400;
  margin-bottom:.35rem;
}
.hero h1 .dot{color:var(--gold)}
.hero__role{
  font-size:clamp(1.08rem,.92rem + .8vw, 1.45rem);
  letter-spacing:.02em;
  color:var(--gold-light);line-height:1.25;margin:0 0 1.6rem;
}
.hero__text{font-size:var(--fs-lead);line-height:1.65;color:oklch(96% .008 83 / .8);max-width:46ch;margin-bottom:2.4rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:.9rem}

.hero__card{
  position:absolute;right:0;bottom:0;z-index:2;
  display:none;
  background:oklch(28% .042 247 / .93);
  backdrop-filter:blur(6px);
  border-left:2px solid var(--gold);
  padding:1.6rem 2rem;
  max-width:300px;
}
@media(min-width:1100px){.hero__card{display:block}}
.hero__card .eyebrow{margin-bottom:.6rem}
.hero__card p{font-size:var(--fs-small);color:var(--on-navy-dim);line-height:1.55}

.hero__scroll{
  position:absolute;left:var(--gutter);bottom:1.6rem;z-index:2;
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:var(--fs-eyebrow);font-weight:400;letter-spacing:.16em;text-transform:uppercase;
  color:oklch(96% .008 83 / .65);
}
.hero__scroll svg{animation:bob 2.2s var(--ease) infinite}


/* ---------- 7. Marquee ---------- */
.marquee{
  background:var(--navy-deep);color:var(--on-navy-dim);
  padding-block:1.05rem;overflow:hidden;
  border-top:1px solid oklch(75% .09 83 / .16);
  border-bottom:1px solid oklch(75% .09 83 / .16);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee__track{display:flex;width:max-content;animation:slide 46s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__group{display:flex;align-items:center;flex:none}
.marquee__group span{
  display:inline-flex;align-items:center;gap:1.6rem;
  padding-inline:1.6rem;
  font-size:var(--fs-meta);font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  white-space:nowrap;
}
.marquee__group span::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--gold)}

/* ---------- 8. Grids & κάρτες ---------- */
.grid{display:grid;gap:clamp(1.5rem,3vw,2.5rem)}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,335px),1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}

.split{display:grid;gap:clamp(2.5rem,5vw,5rem);align-items:center}
@media(min-width:900px){
  .split{grid-template-columns:1fr 1fr}
  .split--wide-left{grid-template-columns:1.15fr .85fr}
  .split--wide-right{grid-template-columns:.85fr 1.15fr}
}

/* Κάρτα υπηρεσίας */
.svc{
  display:flex;flex-direction:column;gap:.85rem;
  padding:2rem 1.9rem 1.9rem;
  background:var(--white);
  border:1px solid var(--line-soft);
  position:relative;overflow:hidden;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .4s var(--ease);
}
.svc::before{
  content:"";position:absolute;top:0;left:0;height:2px;width:100%;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out);
}
.svc:hover{transform:translateY(-7px);box-shadow:0 26px 50px -30px oklch(27% .041 248 / .45);border-color:var(--line)}
.svc:hover::before{transform:scaleX(1)}
.svc__icon{
  width:46px;height:46px;display:grid;place-items:center;
  border:1px solid var(--gold-dim);border-radius:50%;color:var(--gold);
  transition:background .4s var(--ease),color .4s var(--ease),transform .5s var(--ease-out);
}
.svc:hover .svc__icon{background:var(--gold);color:var(--white);transform:rotate(-8deg) scale(1.06)}
.svc h3{font-size:var(--fs-h3);color:var(--navy)}
.svc p{font-size:var(--fs-small);color:var(--ink-muted);line-height:1.62;flex:1}
.svc .link{margin-top:.3rem;align-self:flex-start}

/* Βήματα διαδικασίας — η αρίθμηση εδώ είναι πραγματική σειρά */
.steps{counter-reset:step;display:grid;gap:0}
.step{
  display:grid;grid-template-columns:auto 1fr;gap:1.5rem;
  padding:1.9rem 0;border-top:1px solid var(--line-soft);
  transition:background .4s var(--ease);
}
.step:last-child{border-bottom:1px solid var(--line-soft)}
.step__n{
  counter-increment:step;
  font-family:var(--serif);font-size:1.5rem;color:var(--gold);
  font-variant-numeric:tabular-nums;line-height:1;
  width:2.6rem;flex:none;
  display:flex;align-items:flex-start;
}
.step__n::before{content:counter(step,decimal-leading-zero)}
.step h4{margin-bottom:.35rem;color:var(--navy)}
.step p{font-size:var(--fs-small);color:var(--ink-muted)}
.section--navy .step,.section--deep .step{border-color:oklch(96% .008 83 / .14)}
.section--navy .step h4,.section--deep .step h4{color:var(--on-navy)}
.section--navy .step p,.section--deep .step p{color:var(--on-navy-dim)}

/* Αριθμοί / στατιστικά */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--line-soft)}
.section--navy .stats,.section--deep .stats{background:oklch(96% .008 83 / .14)}
.stat{background:var(--white);padding:1.9rem 1.4rem;text-align:center}
.section--navy .stat,.section--deep .stat{background:var(--navy)}
.section--deep .stat{background:var(--navy-deep)}
.stat b{
  display:block;font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.1rem);
  font-weight:500;color:var(--gold);line-height:1;margin-bottom:.4rem;font-variant-numeric:tabular-nums;
}
.stat>span{font-size:var(--fs-meta);color:var(--ink-muted);letter-spacing:.06em;line-height:1.45;display:block}
.section--navy .stat>span,.section--deep .stat>span{color:var(--on-navy-dim)}
.stat b span{font-size:inherit;color:inherit;display:inline}
.stat b .unit{font-size:.48em;letter-spacing:0}

/* Αξίες */
.value{padding:1.75rem 0;border-top:1px solid var(--line-soft)}
.value h4{color:var(--navy);margin-bottom:.4rem}
.value p{font-size:var(--fs-small);color:var(--ink-muted)}
.section--navy .value,.section--deep .value{border-color:oklch(96% .008 83 / .16)}
.section--navy .value h4,.section--deep .value h4{color:var(--on-navy)}
.section--navy .value p,.section--deep .value p{color:var(--on-navy-dim)}

/* ---------- 9. Εικόνες με parallax ---------- */
.figure{position:relative;overflow:hidden;background:var(--paper-warm)}
.figure img{width:100%;transition:transform 1.1s var(--ease-out)}
.figure:hover img{transform:scale(1.045)}
.figure--tall{aspect-ratio:4/5}
.figure--wide{aspect-ratio:3/2}
.figure--tall img,.figure--wide img{height:100%;object-fit:cover}
.figure__tag{
  position:absolute;left:0;bottom:0;
  background:var(--navy-deep);color:var(--gold-light);
  font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:.15em;text-transform:uppercase;
  padding:.7rem 1.2rem;
}
[data-parallax]{will-change:transform}

/* ---------- 10. Accordion (FAQ) ---------- */
.acc{border-top:1px solid var(--line-soft)}
.acc__item{border-bottom:1px solid var(--line-soft)}
.acc__btn{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;
  padding:1.5rem 0;text-align:left;
  font-family:var(--serif);font-size:var(--fs-h4);font-weight:500;color:var(--navy);
  line-height:1.35;
  transition:color .3s var(--ease);
}
.acc__btn:hover{color:var(--gold)}
.acc__sign{
  flex:none;width:26px;height:26px;position:relative;margin-top:.2rem;color:var(--gold);
}
.acc__sign::before,.acc__sign::after{
  content:"";position:absolute;top:50%;left:50%;background:currentColor;
  transform:translate(-50%,-50%);transition:transform .4s var(--ease-out),opacity .3s;
}
.acc__sign::before{width:14px;height:1.5px}
.acc__sign::after{width:1.5px;height:14px}
.acc__btn[aria-expanded="true"] .acc__sign::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-out)}
.acc__panel.is-open{grid-template-rows:1fr}
.acc__panel>div{overflow:hidden}
.acc__panel p{padding-bottom:1.6rem;color:var(--ink-muted);font-size:var(--fs-small);max-width:72ch}

/* ---------- 11. Λίστες ---------- */
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
.ticks li{
  display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start;
  font-size:var(--fs-small);color:var(--ink-muted);line-height:1.6;
}
.ticks li::before{
  content:"";width:7px;height:7px;margin-top:.62em;
  border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);
  transform:rotate(45deg);flex:none;
}

/* ---------- 12. Επικοινωνία ---------- */
.contact-row{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;padding:1.4rem 0;border-top:1px solid var(--line-soft);align-items:start}
.contact-row:last-child{border-bottom:1px solid var(--line-soft)}
.contact-row__icon{color:var(--gold);margin-top:.15rem}
.contact-row dt{font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.3rem}
.contact-row dd{margin:0;font-family:var(--serif);font-size:1.3rem;color:var(--navy);line-height:1.35}
.contact-row dd a:hover{color:var(--gold)}

.formcard{background:var(--paper);border:1px solid var(--line-soft);padding:clamp(1.75rem,3.5vw,2.75rem)}
.field{display:grid;gap:.55rem;margin-bottom:1.35rem}
.field__label{
  display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;
  font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--navy);
}
.field__label .req{color:var(--gold)}
.field__label .opt{font-weight:400;letter-spacing:.04em;text-transform:none;color:var(--ink-faint);font-size:var(--fs-meta)}
.field input,.field textarea{
  width:100%;font:inherit;font-size:var(--fs-small);
  padding:.92rem 1rem;background:var(--white);
  border:1px solid var(--line);border-radius:2px;color:var(--ink);
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.field input:focus,.field textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px oklch(75% .09 83 / .17);
}
.field textarea{min-height:150px;resize:vertical}
.formnote{font-size:var(--fs-meta);color:var(--ink-faint);line-height:1.6;margin:0 0 1.4rem}

/* ---------- 13. Footer ---------- */
.footer{background:var(--navy-deep);color:var(--on-navy-dim);padding-block:clamp(3rem,6vw,5rem) 0}
.footer__grid{display:grid;gap:clamp(2rem,4vw,3.5rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.footer h5{
  font-family:var(--sans);font-size:var(--fs-eyebrow);font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 1.2rem;
}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.footer a{font-size:var(--fs-small);transition:color .3s var(--ease),transform .3s var(--ease);display:inline-block}
.footer a:hover{color:var(--gold-light);transform:translateX(3px)}
.footer p{font-size:var(--fs-small);line-height:1.65}
.footer__logo{width:250px;margin-bottom:1.2rem}
.footer__bottom{
  margin-top:clamp(2.5rem,5vw,4rem);padding-block:1.6rem;
  border-top:1px solid oklch(96% .008 83 / .12);
  display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between;
  font-size:var(--fs-meta);color:oklch(84% .014 83 / .8);
}

/* Πλωτό κουμπί κλήσης (κινητό) */
.fab{
  position:fixed;right:1.15rem;bottom:1.15rem;z-index:70;
  width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--gold);color:var(--navy-deep);
  box-shadow:0 12px 30px -8px oklch(0% 0 0 / .5);
  animation:pulse 2.8s var(--ease) infinite;
}
@media(min-width:1100px){.fab{display:none}}

/* Επιστροφή στην αρχή (κινητό, απέναντι από το κουμπί κλήσης) — εμφανίζεται μετά από λίγο scroll, kx.js */
.totop{
  position:fixed;left:1.15rem;bottom:1.15rem;z-index:70;
  width:58px;height:58px;border-radius:50%;padding:0;cursor:pointer;
  display:grid;place-items:center;
  background:var(--navy);color:var(--on-navy);border:1px solid oklch(75% .09 83 / .45);
  box-shadow:0 12px 30px -8px oklch(0% 0 0 / .5);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
}
.totop.is-on{opacity:1;visibility:visible;transform:none}
.totop:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(min-width:1100px){.totop{display:none}}

/* ---------- 14. Επικεφαλίδα σελίδας ---------- */
.phead{background:var(--navy);color:var(--on-navy);padding-block:clamp(3rem,7vw,6rem) clamp(3rem,7vw,5.5rem);position:relative;overflow:hidden}
.phead::after{
  content:"";position:absolute;right:-8%;top:-40%;width:44%;aspect-ratio:1;
  border:1px solid oklch(75% .09 83 / .17);border-radius:50%;
  animation:drift 22s ease-in-out infinite alternate;
}
.phead__grid{display:grid;gap:1.75rem;align-items:end;position:relative;z-index:1}
@media(min-width:1000px){.phead__grid{grid-template-columns:1.35fr .65fr;gap:3rem}}
.phead h1{font-size:var(--fs-h1)}
.phead .lead{color:var(--on-navy-dim);font-size:var(--fs-body);max-width:44ch}

.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:var(--fs-meta);color:oklch(86% .014 83 / .88);margin-bottom:1.4rem}
.crumbs a:hover{color:var(--gold-light)}
.crumbs span{opacity:.5}

/* ---------- 15. Κίνηση: αρχική κατάσταση (τη διαχειρίζεται το GSAP) ---------- */
.js [data-reveal],
.js .hero .anim,
.js .hero__card,
.js .hero__scroll,
.js .hero h1,
.js section h2,
.js .phead h1,
.js .rule{visibility:hidden}

/* Αν λείπει η βιβλιοθήκη ή ο χρήστης ζητά λιγότερη κίνηση, όλα ορατά */
.js.no-motion [data-reveal],
.js.no-motion .hero .anim,
.js.no-motion .hero__card,
.js.no-motion .hero__scroll,
.js.no-motion .hero h1,
.js.no-motion section h2,
.js.no-motion .phead h1,
.js.no-motion .rule{visibility:visible}

/* Λέξεις τίτλων — μάσκα για αποκάλυψη από κάτω */
.w{display:inline-block;overflow:hidden;vertical-align:bottom;
   padding:.16em .03em .12em;margin:-.16em -.03em -.12em}
.w__i{display:inline-block;will-change:transform}

/* Αυλαία φόρτωσης — καθαρά CSS, δεν εξαρτάται από JavaScript */
.curtain{display:none}
.js .curtain{
  display:block;position:fixed;inset:0;z-index:200;
  background:var(--navy-deep);
  transform-origin:top;
  animation:curtain 1.05s cubic-bezier(.76,0,.24,1) .15s forwards;
  pointer-events:none;
}
.curtain span{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-size:var(--fs-eyebrow);letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);opacity:0;animation:curtain-mark .7s ease forwards;
}

/* ---------- 16. Keyframes ---------- */
@keyframes curtain{to{transform:scaleY(0)}}
@keyframes curtain-mark{0%{opacity:0}45%{opacity:1}100%{opacity:0}}
@keyframes rule-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.09)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(-40px,30px)}}
@keyframes pulse{
  0%,100%{box-shadow:0 12px 30px -8px oklch(0% 0 0 / .5), 0 0 0 0 oklch(75% .09 83 / .5)}
  55%{box-shadow:0 12px 30px -8px oklch(0% 0 0 / .5), 0 0 0 14px oklch(75% .09 83 / 0)}
}

/* ---------- 17. Σεβασμός στις προτιμήσεις κίνησης ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  [data-reveal],.hero .anim,.hero__card,.hero__scroll,.hero h1,section h2,.phead h1,.rule{
    visibility:visible !important;opacity:1 !important;transform:none !important;clip-path:none !important}
  .curtain{display:none !important}
  .marquee__track{animation:none;transform:none}
  .hero__media img{animation:none}
}

/* ---------- 20. Αντίθεση του χρυσού ανά φόντο ---------- */
/* Σε ανοιχτό φόντο το χρυσό σκουραίνει ώστε το κείμενο να διαβάζεται */
.eyebrow,.num,.step__n,.svc__icon,.contact-row__icon,
.acc__sign,.serif-italic,.gold,.field__label .req{color:var(--gold-ink)}
.ticks li::before{border-right-color:var(--gold-ink);border-bottom-color:var(--gold-ink)}

/* Σε σκούρο φόντο επιστρέφει στο φωτεινό χρυσό */
.hero .eyebrow,.phead .eyebrow,.footer .eyebrow,.marquee .eyebrow,
.section--navy .eyebrow,.section--deep .eyebrow,
.hero .num,.phead .num,.section--navy .num,.section--deep .num,
.section--navy .step__n,.section--deep .step__n,
.footer .gold,.hero .gold{color:var(--gold-light)}

/* ---------- 19. Hero σε κινητό ---------- */
@media (max-width:760px){
  .hero{align-items:flex-end;min-height:clamp(580px,86svh,780px)}
  /* 02/11/2026: ο πελάτης ζήτησε να φαίνεται το εσωτερικό του γραφείου (γραφείο, καρέκλες), όχι η τέντα */
  .hero__media img{object-position:42% top}
  /* Σκούρο από τα 40% και κάτω, ώστε το κείμενο να διαβάζεται
     και το πρόσωπο να μένει ορατό ψηλά */
  .hero__media::after{
    background:linear-gradient(180deg,
      oklch(28% .042 247 / .34) 0%,
      oklch(28% .042 247 / .48) 34%,
      oklch(28% .042 247 / .88) 62%,
      oklch(28% .042 247 / .97) 100%);
  }
  .hero__inner{padding-block:2rem 3.2rem}
  .hero__text{margin-bottom:1.9rem}
  .hero__actions{gap:.7rem}
  .hero__actions .btn{flex:1 1 100%;padding-inline:1.2rem}
  .hero__scroll{display:none}
  .fab{width:52px;height:52px;right:.9rem;bottom:.9rem}
  .totop{width:52px;height:52px;left:.9rem;bottom:.9rem}
}
@media (max-width:420px){
  .hero h1{font-size:clamp(2rem,10.5vw,2.6rem)}
}

/* ---------- 18. Εκτύπωση ---------- */
@media print{
  .header,.footer,.fab,.totop,.marquee,.hero__scroll{display:none}
  body{font-size:11pt;color:#000;background:#fff}
  [data-reveal],.rule,section h2{visibility:visible !important;opacity:1 !important;transform:none !important}
}

/* ---------- 21. Pop-up ενημέρωσης (Κώδικας Συμβολαιογράφων) ---------- */
/* Εμφανίζεται μία φορά ανά συσκευή. Χωρίς JS δεν εμφανίζεται ποτέ, ώστε να μην μπλοκάρει τη σελίδα. */
.notice{display:none;position:fixed;inset:0;z-index:95;align-items:center;justify-content:center;padding:1.25rem;
  background:oklch(28% .042 247 / .72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.notice.is-open{display:flex;overflow-y:auto;animation:fadeIn .5s var(--ease-out) both}
.notice__card{margin:auto}
.notice__card{position:relative;width:min(100%,620px);background:var(--paper);color:var(--ink);
  padding:clamp(1.9rem,4vw,3rem) clamp(1.6rem,4vw,3rem);border-top:3px solid var(--gold);
  box-shadow:0 30px 80px oklch(20% .04 247 / .35);animation:riseIn .6s var(--ease-out) both}
.notice__mark{position:absolute;top:1.1rem;right:1.3rem;font-size:var(--fs-eyebrow);letter-spacing:.3em;color:var(--gold-ink);opacity:.8}
.notice__card .eyebrow{margin-bottom:.9rem}
.notice__card h2{font-size:var(--fs-h3);color:var(--navy);margin-bottom:1rem;line-height:1.3}
.notice__card p{font-size:var(--fs-small);color:var(--ink-muted);line-height:1.7;max-width:60ch}
.notice__card .btn{margin-top:1.6rem}
@keyframes riseIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
body.has-notice{overflow:hidden}

/* ---------- 22. Υπολογιστής φόρου μεταβίβασης ---------- */
.calc{background:var(--white);border:1px solid var(--line-soft);border-top:2px solid var(--gold);padding:clamp(1.6rem,3.5vw,2.6rem)}
.calc__grid{display:grid;gap:1.1rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1.4rem}
.calc .field{margin-bottom:0}
.calc__unit{position:relative}
.calc__unit input{padding-right:2.6rem}
.calc__unit::after{content:"€";position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:var(--fs-small);pointer-events:none}
.calc__out{margin-top:1.6rem;padding:1.4rem 1.5rem;background:var(--paper);border-left:2px solid var(--gold);display:grid;gap:.35rem}
.calc__out dt{font-size:var(--fs-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:500}
.calc__out dd{margin:0;font-family:var(--serif);color:var(--navy);font-size:var(--fs-h2);line-height:1.1;font-variant-numeric:tabular-nums}
.calc__out dd.calc__base{font-family:var(--sans);font-size:var(--fs-meta);color:var(--ink-muted);line-height:1.55;margin-top:.5rem}
.calc__note{font-size:var(--fs-meta);color:var(--ink-faint);line-height:1.65;margin-top:1.3rem}
.calc__note strong{color:var(--ink-muted);font-weight:500}

/* ---------- 23. Σύνδεσμοι: κριτική Google, LinkedIn ---------- */
.review{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--fs-small);color:var(--navy);
  padding:.75rem 1.1rem;border:1px solid var(--line);border-radius:2px;transition:border-color .3s var(--ease),color .3s var(--ease)}
.review:hover{border-color:var(--gold);color:var(--gold-ink)}
.review svg{color:var(--gold)}
.section--navy .review,.section--deep .review{color:var(--on-navy);border-color:oklch(100% 0 0 / .22)}
.section--navy .review:hover,.section--deep .review:hover{color:var(--gold-light);border-color:var(--gold)}

/* ---------- 24. Υποενότητες υπηρεσίας (π.χ. διαθήκη / αποδοχή κληρονομιάς) ---------- */
.part+.part{margin-top:clamp(3rem,6vw,5rem);padding-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--line-soft)}
.part__intro{max-width:66ch;margin-bottom:2rem}
.part__intro p{color:var(--ink-muted)}
.aside-note{background:var(--paper);border-left:2px solid var(--gold);padding:1.3rem 1.5rem;margin-top:1.5rem;font-size:var(--fs-small);color:var(--ink-muted);line-height:1.65}
.aside-note strong{color:var(--navy);font-weight:500}

/* ---------- 25. WordPress: φόρμα (Contact Form 7), χάρτης με κλικ, νομικές σελίδες ---------- */
.field select{width:100%;font:inherit;font-size:var(--fs-small);padding:.92rem 1rem;background:var(--white);border:1px solid var(--line);border-radius:2px;color:var(--ink);appearance:auto}
.field select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px oklch(75% .09 83 / .17)}
.kx-cf7 .wpcf7-form-control-wrap{display:block}
.kx-cf7 .wpcf7-not-valid{border-color:oklch(55% .17 25)!important}
.kx-cf7 .wpcf7-not-valid-tip{display:block;margin-top:.4rem;font-size:var(--fs-meta);color:oklch(48% .16 25)}
.kx-cf7 .wpcf7-response-output{margin:1.2rem 0 0!important;padding:1rem 1.2rem!important;border:0!important;border-left:2px solid var(--gold)!important;background:var(--paper);color:var(--ink);font-size:var(--fs-small);line-height:1.6}
.kx-cf7.invalid .wpcf7-response-output,.kx-cf7.failed .wpcf7-response-output,.kx-cf7.spam .wpcf7-response-output{border-left-color:oklch(55% .17 25)!important}
.kx-cf7 .wpcf7-spinner{display:none}
.kx-cf7.submitting button[type=submit]{opacity:.6;pointer-events:none}
.kx-consent{margin:0 0 1.4rem;font-size:var(--fs-meta);color:var(--ink-muted);line-height:1.6}
.kx-consent .wpcf7-list-item{margin:0}
.kx-consent label{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer}
.kx-consent input{margin-top:.25rem;accent-color:var(--navy)}
.kx-consent a{text-decoration:underline}
.kx-map__ph{min-height:460px;display:grid;place-content:center;justify-items:center;gap:1rem;text-align:center;padding:2rem;background:var(--paper)}
.kx-map__icon{color:var(--gold-ink)}
.kx-map__ph p{margin:0;color:var(--ink)}
.kx-map__note{font-size:var(--fs-meta);color:var(--ink-faint)!important;max-width:38ch}
.kx-map__note a{text-decoration:underline}
.legal h2{font-size:var(--fs-h3);margin:2.6rem 0 1rem}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:var(--ink-muted);font-size:var(--fs-small);line-height:1.75}
.legal ul{padding-left:1.2rem;margin:0 0 1.2rem}
.legal li{margin-bottom:.4rem}
.legal a{text-decoration:underline}
.footer__legal{display:inline-flex;gap:1.2rem;flex-wrap:wrap}
.kx-cf7 .hidden-fields-container{border:0;padding:0;margin:0;display:contents}
.wpcf7 .screen-reader-response{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Μία πανοραμική φωτογραφία του γραφείου (cover) αντί για δύο, όπως ζήτησε ο πελάτης (26/10/2026).
   Από 1/11/2026 η δεύτερη (office-signage) αφαιρέθηκε από το περιεχόμενο· μένουν μόνο οι αναλογίες. */
.grid > .figure--wide:has(img[src*="office-interior"]){aspect-ratio:2128/739}
.split .grid > .figure--wide:has(img[src*="office-interior"]){aspect-ratio:3/2}
.split .grid > .figure--wide:has(img[src*="office-interior"]) img{object-position:52% center}
@media (max-width:700px){
  .grid > .figure--wide:has(img[src*="office-interior"]){aspect-ratio:4/3}
  .grid > .figure--wide:has(img[src*="office-interior"]) img{object-position:52% center}
}

/* 1/11/2026: η κάθετη φωτογραφία της «γνωριμίας» στην αρχική αφαιρέθηκε (χαμηλή ανάλυση) μέχρι να έρθει νέα.
   Split με μία μόνο στήλη → κείμενο σε κεντραρισμένη στήλη ανάγνωσης· με δεύτερο στοιχείο επιστρέφει μόνο του στα δύο. */
.split:has(> :only-child){grid-template-columns:minmax(0,48rem);justify-content:center}
