html,:root,:root[data-theme]{color-scheme:light}
:root{
  --paper:#FFF6F5; --paper-2:#FCEBEA; --card:#FFFFFF; --ink:#1F1A1A; --ink-soft:#4A4141; --muted:#8A7B7B;
  --rose:#B06E76; --btn:#7A4A50; --btn-ink:#FFFFFF; --line:#F1DCDB;
  --serif:"Noto Serif Display", Georgia, "Times New Roman", serif;
  --sans:"Commissioner", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth; scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto} *{transition:none!important}}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.65; font-weight:400; -webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--rose); outline-offset:3px; border-radius:3px}
html[lang="el"] .en{display:none!important}
html[lang="en"] .el{display:none!important}
.wrap{max-width:1100px; margin:0 auto; padding:0 24px}
h1,h2,h3{font-family:var(--sans); font-weight:600; letter-spacing:-.015em}

header.top{position:sticky; top:env(safe-area-inset-top,0px); z-index:10; background:color-mix(in srgb, var(--paper) 90%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.top .wrap{display:flex; align-items:center; justify-content:space-between; height:66px; gap:16px}
.brand{text-decoration:none; line-height:1.15}
.brand b{display:block; font-family:var(--sans); font-weight:600; font-size:18px}
.brand small{font-size:12.5px; color:var(--muted)}
nav.links{display:flex; gap:24px; font-size:15px}
nav.links a{text-decoration:none; color:var(--ink-soft)}
nav.links a:hover{color:var(--ink)}
.lang{display:flex; background:var(--paper-2); border-radius:999px; padding:3px; flex-shrink:0}
.lang button{font:inherit; font-size:13px; font-weight:600; border:0; background:none; color:var(--muted); padding:5px 12px; border-radius:999px; cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--card); color:var(--ink); box-shadow:0 1px 3px rgba(60,30,30,.12)}
@media (max-width:860px){nav.links{display:none}}

.hero{text-align:center; padding:104px 0 96px; background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--rose) 5%, transparent), transparent 65%)}
.kicker{font-size:13px; letter-spacing:.14em; color:var(--muted); margin:0 0 18px}
.motto{font-family:var(--sans); font-style:italic; color:var(--ink-soft); font-size:18px; margin:0 0 14px}
.hero h1{font-size:clamp(30px,4.2vw,48px); line-height:1.15; margin:0 auto 22px; max-width:22ch}
.hero h1 i{display:block; color:var(--rose)}
.hero .sub{font-size:19px; color:var(--ink-soft); margin:0 auto 38px; max-width:52ch}
.actions{display:flex; flex-wrap:wrap; gap:12px; justify-content:center}
.btn{display:inline-block; font:inherit; font-size:15.5px; font-weight:500; text-decoration:none; padding:13px 26px; border-radius:999px; border:1px solid var(--btn); cursor:pointer; background:none; color:var(--btn)}
.btn.primary{background:var(--btn); color:var(--btn-ink)}
.btn:hover{filter:brightness(1.08)}

section{padding:96px 0}
section.alt{background:var(--paper-2)}
.eyebrow{font-size:13px; letter-spacing:.14em; color:var(--rose); margin:0 0 12px; font-weight:500}
h2{font-size:clamp(26px,3vw,36px); line-height:1.25; margin:0 0 18px; text-wrap:balance}
.intro{color:var(--ink-soft); max-width:60ch; margin:0 0 48px}
.intro.lead{font-family:var(--sans); font-size:clamp(20px,2.2vw,24px); line-height:1.5; color:var(--ink); max-width:62ch}
.intro.lead, html[lang="el"] .intro.lead{font-size:clamp(17px,1.7vw,19px); line-height:1.6; max-width:70ch}

.about{display:grid; grid-template-columns:1.5fr 1fr; gap:72px; align-items:start}
.about p{margin:0 0 18px; color:var(--ink-soft); max-width:60ch}
.stats{display:grid; gap:18px; padding-top:70px}
.stat{display:flex; gap:16px; align-items:center; padding:18px 22px; background:var(--card); border:1px solid var(--line); border-radius:16px}
.stat b{font-family:var(--sans); font-weight:600; font-size:30px; min-width:74px; color:var(--rose); line-height:1}
.stat span{color:var(--ink-soft); font-size:15.5px; line-height:1.4}
@media (max-width:820px){.about{grid-template-columns:1fr; gap:28px} .stats{padding-top:0}}

.services{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px}
.svc{background:var(--card); border-radius:18px; padding:30px 30px 32px}
.svc h3{font-size:21px; margin:0 0 4px}
.svc .tag{font-size:13.5px; color:var(--rose); margin:0 0 12px; font-weight:500}
.svc p{margin:0; color:var(--ink-soft); font-size:16px}
.center{text-align:center; margin-top:44px}

.pstats{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:0 0 64px}
.pstat{text-align:center; padding:28px 20px; border:1px solid var(--line); border-radius:18px}
.pstat b{display:block; font-family:var(--sans); font-weight:600; font-size:30px; line-height:1.1; margin-bottom:6px}
.pstat .l{font-weight:500}
.pstat .d{display:block; color:var(--muted); font-size:14px; margin-top:6px}
@media (max-width:760px){.pstats{grid-template-columns:1fr}}

h3.sub{font-size:22px; margin:0 0 20px}
.tabs{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px}
.tabs button{font:inherit; font-size:14.5px; border:1px solid var(--line); background:var(--card); color:var(--ink-soft); padding:8px 16px; border-radius:999px; cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--btn); border-color:var(--btn); color:var(--btn-ink)}
.titles{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:0 48px}
.titles li{padding:14px 0; border-bottom:1px solid var(--line)}
.titles .t{font-family:var(--sans); font-weight:600; font-size:17px; line-height:1.35; display:block}
.titles .a{color:var(--ink-soft); font-size:15px}
.titles .p{color:var(--muted); font-size:13.5px; display:block}
@media (max-width:760px){.titles{grid-template-columns:1fr}}

.own{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:64px}
.book{background:var(--card); border:1px solid var(--line); border-radius:18px; padding:30px; display:flex; flex-direction:column; gap:8px}
.book .t{font-family:var(--sans); font-weight:600; font-size:20px; line-height:1.3; letter-spacing:-.005em}
.book .m{color:var(--muted); font-size:14.5px}
.book p{margin:4px 0 8px; color:var(--ink-soft); font-size:15.5px; flex:1}
.book a{align-self:flex-start}
@media (max-width:860px){.own{grid-template-columns:1fr}}

.quotes{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.quote{background:var(--card); border-radius:18px; padding:28px 26px; margin:0}
.quote::before{content:"“"; display:block; font-family:var(--serif); font-size:60px; line-height:.8; color:var(--rose); height:30px}
.quote p{margin:0; font-family:var(--serif); font-style:italic; font-size:18px; line-height:1.45}
@media (max-width:900px){.quotes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.quotes{grid-template-columns:1fr}}

.contact{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center}
.contact p{color:var(--ink-soft); margin:0}
h2.h2-small{font-family:var(--sans); font-weight:600; font-size:clamp(22px,2.3vw,27px); line-height:1.3; letter-spacing:-.01em; text-wrap:balance}
.mailbox{background:var(--card); border-radius:22px; padding:36px}
.mail{display:block; font-family:var(--sans); font-weight:600; font-size:clamp(18px,2.1vw,23px); word-break:break-all; text-decoration:none; margin:0 0 22px}
.mailbox .actions{justify-content:flex-start}
.mailbox ul{list-style:none; padding:0; margin:22px 0 0; color:var(--ink-soft); font-size:15.5px}
.mailbox li{margin:4px 0}
.copied{font-size:14px; color:var(--rose); align-self:center}
@media (max-width:820px){.contact{grid-template-columns:1fr; gap:28px}}

footer{padding:34px 0; color:var(--muted); font-size:14px}
footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px}
