:root{
  --ink:#14171C; --ink-2:#1C2027; --steel:#2A3039;
  --red:#8E1B1B; --red-2:#6E1212; --amber:#E8B22B; --amber-2:#F5CB5C;
  --cream:#FAF8F5; --cream-2:#F0ECE5; --line:#DFD8CE; --muted:#66625C;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:66px}
body{margin:0;background:var(--cream);color:var(--ink);
  font:16px/1.7 "Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;line-height:1.14;letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(--red);margin:0 0 .65rem}
.dark .eyebrow{color:var(--amber)}
.lead{font-size:1.06rem;color:var(--muted);max-width:70ch}
.dark .lead{color:#B9B3AA}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.4rem;border-radius:6px;
  font-weight:700;font-size:.92rem;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:.15s;font-family:inherit}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-2)}
.btn-amber{background:var(--amber);color:#1A1505}.btn-amber:hover{background:var(--amber-2)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.14);border-color:#fff}
.btn-line{border-color:var(--line);background:#fff}.btn-line:hover{border-color:var(--ink)}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}

/* header */
header.site{position:sticky;top:0;z-index:40;background:rgba(20,23,28,.96);backdrop-filter:blur(8px);border-bottom:3px solid var(--amber)}
.bar{display:flex;align-items:center;gap:1rem;min-height:60px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:30px;width:auto}
nav.menu{margin-left:auto;display:flex;gap:.1rem}
nav.menu a{color:#E9E3DA;text-decoration:none;font-size:.85rem;font-weight:700;padding:.5rem .7rem;border-radius:6px}
nav.menu a:hover{background:var(--red);color:#fff}
.tel{margin-left:.4rem;white-space:nowrap}
.nav-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.burger{display:none}
@media (max-width:1000px){
  .tel{display:none}
  .burger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;
    margin-left:auto;border:1px solid #3B424C;border-radius:8px;cursor:pointer}
  .burger span{width:22px;height:2px;background:var(--amber);transition:.2s}
  .nav-toggle:checked + .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle:checked + .burger span:nth-child(2){opacity:0}
  .nav-toggle:checked + .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  nav.menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--ink);
    padding:.3rem 0 .7rem;border-bottom:3px solid var(--red)}
  .nav-toggle:checked ~ nav.menu{display:flex}
  nav.menu a{padding:.9rem 1.25rem;border-radius:0;border-bottom:1px solid #262B33;font-size:.95rem}
}

/* hero */
.hero{position:relative;min-height:min(78vh,680px);display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;background:#0F1216}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,14,18,.72),rgba(11,14,18,.5) 45%,rgba(11,14,18,.93))}
.hero .in{position:relative;z-index:1;padding:4rem 1.25rem}
.hero .seal{width:min(430px,82vw);margin:0 auto 1.3rem;filter:drop-shadow(0 6px 26px rgba(0,0,0,.6))}
.hero .sub{font-size:.76rem;letter-spacing:.32em;text-transform:uppercase;color:var(--amber-2);font-weight:700}
.hero p.k{max-width:56ch;margin:1.2rem auto 0;color:#E2DCD3;font-size:1.06rem}
.hero .acts{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-top:1.9rem}
.hero .big{display:block;font-size:clamp(1.6rem,4.4vw,2.4rem);font-weight:900;letter-spacing:.02em;margin-top:.2rem}

section{padding:clamp(3rem,7vw,5rem) 0}
.sec-head{margin-bottom:2.1rem}
.sec-head h2{font-size:clamp(1.7rem,3.8vw,2.5rem);font-weight:900}
.alt{background:var(--cream-2)}
.dark{background:var(--ink-2);color:#EDE7DE}
.dark h2,.dark h3{color:#fff}

/* αριθμοί */
.stats{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));margin-top:2rem}
.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.3rem 1.2rem;text-align:center}
.dark .stat{background:#232830;border-color:#333A45}
.stat b{display:block;font-size:2rem;font-weight:900;color:var(--red);line-height:1}
.dark .stat b{color:var(--amber)}
.stat span{display:block;font-size:.84rem;color:var(--muted);margin-top:.45rem}
.dark .stat span{color:#B6B0A7}

/* ιστορία */
.story{display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center}
@media (max-width:900px){.story{grid-template-columns:1fr}}
.story img{border-radius:10px;box-shadow:0 18px 40px rgba(20,23,28,.25)}
.tl{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.9rem}
.tl li{display:flex;gap:1rem;align-items:flex-start}
.tl b{flex:none;width:58px;font-weight:900;color:var(--red)}

/* υπηρεσίες */
.svcs{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}
.svc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem 1.3rem;display:flex;flex-direction:column;gap:.4rem}
.svc .ic{font-size:1.7rem;line-height:1}
.svc h3{font-size:1.1rem;font-weight:800}
.svc p{font-size:.92rem;color:var(--muted);margin:0}

/* εγκαταστάσεις */
.fac{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}
.fc{position:relative;border:0;padding:0;background:none;cursor:pointer;text-align:left;font:inherit;color:inherit}
.fc .box{background:#232830;border:1px solid #333A45;border-radius:12px;padding:1.5rem 1.35rem;height:100%;
  display:flex;flex-direction:column;gap:.45rem;transition:transform .18s,border-color .18s,box-shadow .18s}
.fc:hover .box,.fc:focus-visible .box{transform:translateY(-4px);border-color:var(--amber);box-shadow:0 16px 34px rgba(0,0,0,.35)}
.fc .ic{font-size:1.8rem;line-height:1}
.fc h3{font-size:1.12rem;font-weight:800;color:#fff}
.fc span{font-size:.9rem;color:#B6B0A7}
.fc .more{margin-top:auto;padding-top:.7rem;font-size:.82rem;font-weight:800;color:var(--amber);letter-spacing:.04em}

/* γκαλερί */
.gal{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(235px,1fr))}
.gal button{all:unset;cursor:pointer;border-radius:10px;overflow:hidden;position:relative;display:block;background:#0F1216;aspect-ratio:3/2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .4s,opacity .25s}
.gal button:hover img,.gal button:focus-visible img{transform:scale(1.06);opacity:.88}
.gal .cap{position:absolute;left:0;right:0;bottom:0;padding:1.3rem .9rem .75rem;color:#fff;font-size:.86rem;font-weight:700;
  background:linear-gradient(transparent,rgba(8,10,14,.85));pointer-events:none}

/* επικοινωνία */
.cgrid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.25rem 1.35rem}
.dark .card{background:#232830;border-color:#333A45}
.card b{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:.45rem}
.dark .card b{color:var(--amber)}
.card a{font-weight:700;text-decoration:none}.card a:hover{text-decoration:underline}
.note{font-size:.86rem;color:var(--muted)}
.dark .note{color:#B6B0A7}
.phones{display:grid;gap:.35rem;font-size:.95rem}
.phones i{font-style:normal;color:var(--muted);font-size:.8rem;display:block}
.dark .phones i{color:#9E988F}

footer.site{background:#0F1216;color:#9C958B;padding:2.5rem 0;text-align:center;border-top:3px solid var(--amber)}
footer.site img{height:34px;width:auto;margin:0 auto 1rem;opacity:.95}
footer.site a{color:var(--amber-2)}
.fnote{font-size:.8rem;color:#6C665E;margin-top:.7rem}

/* modal */
dialog{border:0;padding:0;border-radius:14px;width:min(860px,94vw);max-height:92vh;background:var(--cream);color:var(--ink)}
dialog::backdrop{background:rgba(10,12,16,.85)}
.m-top{position:sticky;top:0;display:flex;align-items:flex-start;gap:1rem;padding:1.2rem 1.4rem;background:var(--cream);border-bottom:1px solid var(--line);z-index:2}
.m-top h2{font-size:1.3rem;font-weight:900}
.m-top .sub{display:block;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-top:.35rem}
.m-x{margin-left:auto;border:1px solid var(--line);background:#fff;width:38px;height:38px;border-radius:9px;font-size:1.3rem;line-height:1;cursor:pointer;flex:none}
.m-body{padding:1.3rem 1.4rem;overflow:auto;max-height:calc(92vh - 160px)}
.m-body p{max-width:74ch}
.qa{border-bottom:1px solid var(--line);padding:.9rem 0}
.qa:last-child{border-bottom:0}
.qa b{display:block;margin-bottom:.35rem}
.qa span{color:var(--muted);font-size:.95rem}
.m-body img.solo{margin:0 auto;border-radius:10px;max-height:74vh;width:auto}
.m-cta{display:flex;gap:.6rem;flex-wrap:wrap;padding:0 1.4rem 1.3rem}
@media (max-width:520px){
  .gal{grid-template-columns:repeat(2,1fr)}
  .m-top,.m-body,.m-cta{padding-left:1.1rem;padding-right:1.1rem}
}
.hero h1{font-size:clamp(2rem,5.4vw,3.5rem);font-weight:900;letter-spacing:-.02em;text-shadow:0 3px 26px rgba(0,0,0,.55)}
.hero h1 span{color:var(--amber-2)}
