
*{box-sizing:border-box}
:root{--red:#b23347;--red-d:#8d2536;--sun:#e0a33c;--sky:#2f6fa8;--ink:#141110;--paper:#fffdfa;--muted:#6d6663;--line:#efe6e1}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:clip;background:var(--paper);color:#1a1717;font-family:Manrope,"Segoe UI",sans-serif;
     font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1440px;margin:0 auto;padding:0 clamp(16px,3.4vw,44px)}
.disp{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.5px;line-height:1.1}
.kick{font-size:11px;font-weight:800;letter-spacing:2.6px;text-transform:uppercase;color:var(--red)}

/* progress bar */
#prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:960;
      background:linear-gradient(90deg,var(--red),var(--sun));transition:width .1s linear}
/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.rv.on{opacity:1;transform:none}

/* ——— HERO ——— */
.hero{position:relative;min-height:clamp(430px,66vh,620px);display:flex;align-items:flex-end;
      overflow:hidden;background:var(--ink)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;
          animation:kb 26s ease-in-out infinite alternate;opacity:.82}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.16)}}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(141,37,54,.72) 0%,rgba(141,37,54,.34) 42%,rgba(20,17,16,.22) 72%),
             linear-gradient(to top,rgba(20,17,16,.86),transparent 58%)}
.hero .in{position:relative;z-index:2;padding:0 0 clamp(34px,6vw,64px);width:100%}
.hero h1{font-size:clamp(31px,5.4vw,60px);color:#fff;margin:14px 0 0;max-width:15ch}
.hero .est{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(6px);color:#fff;border-radius:999px;
  padding:7px 16px;font-size:11.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase}
.hero .sub{color:#f3dfe2;margin:16px 0 0;font-size:clamp(14px,1.5vw,17px);font-weight:500;letter-spacing:.3px}
.hero .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.b1,.b2{border-radius:999px;padding:13px 26px;font-weight:800;font-size:14px;transition:.25s;display:inline-block}
.b1{background:#fff;color:var(--red-d)}
.b1:hover{transform:translateY(-2px);box-shadow:0 12px 28px -12px rgba(0,0,0,.6)}
.b2{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.b2:hover{background:rgba(255,255,255,.14)}

/* ——— STATS ——— */
.stats{background:var(--ink);color:#fff}
.stats .g{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.st{padding:30px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.09)}
.st:last-child{border-right:0}
.st b{display:block;font-family:Fraunces,serif;font-size:clamp(30px,4vw,44px);font-weight:600;color:#fff;line-height:1}
.st span{display:block;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:#c9b5b8;margin-top:9px;font-weight:700}

/* ——— εναλλαγή φόντου ——— */
.band-cream{background:linear-gradient(180deg,#fffaf6,#fdf4ef)}
.band-white{background:#fff}
.band-ink{background:var(--ink);color:#efe9e6}
.band-ink .kick{color:#eda9b4}
.band-ink .disp{color:#fff}
.band-ink .all{color:#eda9b4}
.band-ink .chip{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#eee}
.band-ink .chip:hover{border-color:#eda9b4;color:#fff}
/* ——— TILES ——— */
section{padding:clamp(48px,7vw,84px) 0}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.sh h2{font-size:clamp(25px,3.4vw,38px);margin:8px 0 0}
.sh a.all{font-weight:800;font-size:13.5px;color:var(--red);white-space:nowrap}
.sh a.all:hover{text-decoration:underline}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.tile{position:relative;border-radius:18px;overflow:hidden;min-height:200px;display:flex;align-items:flex-end;
      background:#2b2422;isolation:isolate}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
          transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(14,13,13,.92),rgba(120,16,31,.25) 60%,transparent)}
.tile:hover img{transform:scale(1.08)}
.tile .t{padding:20px;color:#fff}
.tile .t b{display:block;font-family:Fraunces,serif;font-size:21px;font-weight:600}
.tile .t span{display:block;font-size:13px;color:#e7d3d6;margin-top:5px}
.tile .go{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.16);backdrop-filter:blur(6px);color:#fff;display:flex;
  align-items:center;justify-content:center;font-size:15px;transition:.3s}
.tile:hover .go{background:var(--red);transform:rotate(-45deg)}

/* ——— ΑΝΑΚΟΙΝΩΣΕΙΣ ——— */
.news{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.na{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
    display:flex;flex-direction:column;transition:.3s}
.na:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(120,16,31,.5);border-color:#e3c9cf}
.na .ph{height:150px;background:#f2e9e6 center/cover;position:relative}
.na .ph.none{background:linear-gradient(135deg,#f6ecea,#efe1e4)}
.na .ph .d{position:absolute;left:12px;bottom:12px;background:var(--red);color:#fff;border-radius:999px;
           padding:5px 13px;font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}
.na .b{padding:18px 18px 20px;flex:1;display:flex;flex-direction:column}
.na h3{font-family:Fraunces,serif;font-size:18px;font-weight:600;margin:0;line-height:1.35}
.na .m{margin-top:auto;padding-top:14px;font-size:12.5px;font-weight:800;color:var(--red)}

/* ——— πλήρες πλάτος: ξεκινά στο κείμενο, φτάνει στην άκρη ——— */
.bleed{margin-right:calc(-1*max(0px,(100vw - 100%)/2));padding-right:clamp(16px,3.4vw,44px)}
@supports not (width:100vw){.bleed{margin-right:0}}
/* ——— ΕΚΔΗΛΩΣΕΙΣ: πλάγιο σκρολ ——— */
.evwrap{position:relative}
.ev{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 18px;
    scrollbar-width:thin}
.ev::-webkit-scrollbar{height:6px}
.ev::-webkit-scrollbar-thumb{background:#e2cdd1;border-radius:6px}
.ev a{flex:0 0 calc((100% - 48px)/4);min-width:230px;scroll-snap-align:start;border-radius:18px;overflow:hidden;
      background:var(--ink);position:relative;min-height:300px;display:flex;align-items:flex-end}
.ev img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;transition:.6s}
.ev a:hover img{opacity:.85;transform:scale(1.06)}
.ev .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,13,13,.94),transparent 62%)}
.ev .c{position:relative;padding:20px;color:#fff}
.ev time{display:block;font-size:10.5px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:#eeb9c1}
.ev b{display:block;font-family:Fraunces,serif;font-size:18px;font-weight:600;margin-top:8px;line-height:1.35}
.arrows{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}
.arrows button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;
  cursor:pointer;font-size:16px;color:var(--red);transition:.25s}
.arrows button:hover{background:var(--red);color:#fff;border-color:var(--red)}

@media(max-width:900px){.ev a{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:560px){.ev a{flex-basis:85%}}

/* ——— ΙΣΤΟΡΙΑ ——— */
.hist{background:linear-gradient(180deg,#fff6f2,#fdeee9);color:#221b1a;position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hist::before{content:"1733";position:absolute;right:-2vw;top:-3vw;font-family:Fraunces,serif;
  font-size:clamp(150px,28vw,340px);font-weight:600;color:rgba(178,51,71,.07);line-height:1;pointer-events:none}
.hist .cols{display:grid;grid-template-columns:1fr;gap:30px;position:relative}
@media(min-width:920px){.hist .cols{grid-template-columns:1fr 1fr;gap:56px;align-items:center}}
.hist h2{font-size:clamp(27px,3.6vw,42px);margin:10px 0 16px}
.hist p{color:#544744;font-size:16.5px}
.hist .kick{color:var(--red)}
.hist .b1{margin-top:22px;background:var(--red);color:#fff}
.hist .pic{border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 50px -30px rgba(141,37,54,.5)}
.mini{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}
.mini span{background:#fff;border:1px solid #f0d6d9;color:var(--red-d);border-radius:999px;
  padding:7px 15px;font-size:12px;font-weight:700}


.hcols{display:grid;grid-template-columns:1fr;gap:34px;align-items:center;position:relative}
@media(min-width:960px){.hcols{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(38px,5vw,76px)}}
.hfig{position:relative}
.hfig img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;
          box-shadow:0 30px 60px -34px rgba(90,20,32,.6)}
.hfig::before{content:"";position:absolute;inset:16px -16px -16px 16px;border:1.5px solid rgba(178,51,71,.28);
              border-radius:22px;z-index:-1}
.hfig.noimg{min-height:320px;border-radius:22px;background:linear-gradient(140deg,#8d2536,#4a1420)}
.hfig .badge{position:absolute;left:-14px;bottom:-14px;background:#fff;border-radius:18px;
  padding:14px 20px;box-shadow:0 18px 36px -20px rgba(0,0,0,.4);text-align:center}
.hfig .badge b{display:block;font-family:Fraunces,serif;font-size:30px;color:var(--red);line-height:1}
.hfig .badge i{display:block;font-style:normal;font-size:10px;letter-spacing:2.4px;text-transform:uppercase;
               color:var(--muted);margin-top:5px;font-weight:700}
.hrow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 6px}
.hrow div{border-left:2px solid rgba(178,51,71,.3);padding-left:13px}
.hrow b{display:block;font-family:Fraunces,serif;font-size:24px;color:var(--red);line-height:1}
.hrow span{display:block;font-size:12px;color:var(--muted);margin-top:5px}



/* ——— ΟΜΙΛΟΙ ——— */
.omil{background:linear-gradient(180deg,#fff6f2,#fdece7);border-top:1px solid var(--line);
      border-bottom:1px solid var(--line)}
.omhead{max-width:760px;margin-bottom:38px}
.omhead h2{margin:10px 0 14px;font-size:clamp(26px,3.4vw,40px)}
.omhead p{color:#5d504d;margin:0 0 22px;font-size:16px;max-width:52ch}
.omgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.omc{background:#fff;border:1px solid #f2dfd9;border-radius:18px;padding:20px 18px 22px;position:relative;
     overflow:hidden;transition:.28s;display:block;text-decoration:none}
.omc:hover{transform:translateY(-4px);border-color:var(--red);box-shadow:0 20px 40px -26px rgba(141,37,54,.6)}
.omc .n{position:absolute;right:14px;top:10px;font-family:Fraunces,serif;font-size:34px;color:#f6e6e2;
        line-height:1;transition:.28s}
.omc:hover .n{color:#f7d5d9}
.omc i{display:block;font-style:normal;font-size:26px;line-height:1}
.omc b{display:block;font-size:16px;font-weight:800;margin-top:12px;color:#241d1c}
.omc span{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}

/* ——— ΧΡΟΝΟΛΟΓΙΟ ——— */
.tml{position:relative;padding:38px 0 8px}
.tline{position:absolute;left:0;right:0;top:48px;height:4px;border-radius:4px;
       background:#f0e4e0;overflow:hidden}
.tline span{display:block;height:100%;width:0;border-radius:4px;position:relative;
  background:linear-gradient(90deg,#6d1424,#b23347 45%,#d9526a 70%,#b23347);
  box-shadow:0 0 14px rgba(178,51,71,.55);transition:width .35s ease-out}
.tline span::after{content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.65) 50%,transparent 65%);
  background-size:250% 100%;animation:sheen 3.4s linear infinite}
@keyframes sheen{from{background-position:180% 0}to{background-position:-80% 0}}
.tstops{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.tstop{position:relative;padding-top:34px}
.tstop::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;
  background:#fff;border:3px solid #ecdcd8;transition:.4s;z-index:2}
.tstop.on::before{border-color:#b23347;box-shadow:0 0 0 6px rgba(178,51,71,.13),0 4px 14px rgba(178,51,71,.4)}
.tstop b{display:block;font-family:Fraunces,serif;font-size:clamp(26px,2.9vw,38px);line-height:1;
         color:#c9b8b4;transition:color .4s}
.tstop.on b{color:#8d2536}
.tstop i{display:block;font-style:normal;font-size:14.5px;font-weight:800;margin-top:10px;color:#2a2220}
.tstop span{display:block;font-size:13.5px;color:var(--muted);margin-top:6px;line-height:1.55;max-width:23ch}
@media(max-width:1000px){.tstops{grid-template-columns:repeat(3,1fr);gap:30px 16px}.tline{display:none}
  .tstop{padding-top:30px}}
@media(max-width:600px){.tstops{grid-template-columns:repeat(2,1fr)}}

/* ——— ΜΩΣΑΪΚΟ ——— */
.mos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mos img{width:100%;height:100%;object-fit:cover;border-radius:16px;transition:.5s}
.mos a{overflow:hidden;border-radius:16px;min-height:150px}
.mos a:hover img{transform:scale(1.07)}
.mos a:nth-child(1){grid-column:span 2;grid-row:span 2;min-height:320px}
@media(max-width:760px){.mos{grid-template-columns:repeat(2,1fr)}.mos a:nth-child(1){min-height:220px}}


/* ——— διακρίσεις ——— */
.wins{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.win{background:linear-gradient(150deg,#fff8ec,#fff);border:1px solid #f2e2c8;border-radius:16px;
     padding:18px 18px 20px;display:flex;gap:14px;transition:.25s}
.win:hover{transform:translateY(-3px);box-shadow:0 18px 36px -24px rgba(224,163,60,.75)}
.win .md{flex:none;width:38px;height:38px;border-radius:50%;background:var(--sun);color:#fff;
         display:flex;align-items:center;justify-content:center;font-size:17px}
.win time{display:block;font-size:10.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#b58330}
.win b{display:block;font-size:15px;font-weight:700;margin-top:5px;line-height:1.4;color:#231c1a}
/* ——— τοίχος φωτογραφιών ——— */
.wall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.wall a:nth-child(1),.wall a:nth-child(10){grid-column:span 2;grid-row:span 2}
.wall a{cursor:zoom-in;position:relative}
.wall a::after{content:'';position:absolute;inset:0;background:rgba(141,37,54,0);transition:.35s}
.wall a:hover::after{background:rgba(141,37,54,.18)}
.wall a{overflow:hidden;border-radius:14px;aspect-ratio:1/1;background:#f4ebe8}
.wall img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.wall a:hover img{transform:scale(1.09)}
@media(max-width:1200px){.wall{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.wall{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.wall{grid-template-columns:repeat(2,1fr)}}





/* ——— πανοραμική λωρίδα ——— */
.pano{position:relative;overflow:hidden;background:#efe6df}
.pano .ph{height:clamp(180px,24vw,340px);background-position:center;background-size:cover;
          transform:scale(1.04);transition:transform 1.2s ease}
.pano:hover .ph{transform:scale(1.07)}
.pano .cap{position:absolute;right:clamp(12px,2vw,26px);bottom:10px;font-size:10.5px;color:#fff;
           background:rgba(20,17,16,.55);backdrop-filter:blur(4px);padding:5px 12px;border-radius:999px;
           letter-spacing:.3px}


/* ——— πλευρικό ευρετήριο ——— */
.idx{position:fixed;left:22px;top:50%;transform:translateY(-50%);z-index:80;display:none}
@media(min-width:1400px){.idx{display:block}}
.idx a{display:flex;align-items:center;gap:11px;padding:7px 0;text-decoration:none;color:#a2938e;
       font-family:Manrope,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:1.4px;
       text-transform:uppercase;opacity:.55;transition:.28s}
.idx i{display:block;width:16px;height:2px;background:currentColor;border-radius:2px;transition:width .28s}
.idx a:hover{opacity:1;color:var(--red)}
.idx a.on{opacity:1;color:var(--red)}
.idx a.on i{width:30px}
.idx a span{opacity:0;transform:translateX(-6px);transition:.28s}
.idx a:hover span,.idx a.on span{opacity:1;transform:none}


/* ——— χάρτης κατηγοριών ——— */
.sitemap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px 30px;padding:36px 0 0;align-items:start}
.sm h5{color:#fff;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;margin:0 0 12px;font-weight:800}
.sm h5 a{color:#fff}
.sm ul{list-style:none;margin:0;padding:0}
.sm li{margin:7px 0}
.sm a{color:#bdb3b0;font-size:13.5px}
.sm a:hover{color:#fff}
.sm ul ul{margin:5px 0 8px 12px;border-left:1px solid rgba(255,255,255,.13);padding-left:11px}
.sm ul ul a{font-size:12.5px;color:#948a88}


/* ——— κλείσιμο ——— */
.cta{background:var(--ink);color:#efe9e6;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:-40% -10% auto auto;width:60vw;height:60vw;border-radius:50%;
  background:radial-gradient(circle,rgba(178,51,71,.5),transparent 62%)}
.ctain{position:relative;display:grid;grid-template-columns:1fr;gap:26px;align-items:center}
@media(min-width:880px){.ctain{grid-template-columns:1.1fr .9fr;gap:50px}}
.cta .kick{color:#eda9b4}
.cta h2{margin:10px 0 12px;color:#fff;font-size:clamp(26px,3.4vw,40px)}
.cta p{color:#c9bfbc;margin:0;font-size:16px}
.ctab{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
@media(min-width:520px){.ctab{flex-direction:row;flex-wrap:wrap;align-items:center}}
.cta .tel{font-family:Fraunces,serif;font-size:22px;color:#fff;padding-left:6px}
.cta .tel:hover{color:#eda9b4}

/* ——— lightbox ——— */
#lb{position:fixed;inset:0;z-index:1200;background:rgba(12,10,10,.94);display:none;
    align-items:center;justify-content:center;padding:28px;cursor:zoom-out}
#lb.on{display:flex}
#lb img{max-width:min(1100px,92vw);max-height:86vh;border-radius:12px;box-shadow:0 30px 80px -30px #000}
#lb .cap{position:absolute;left:0;right:0;bottom:20px;text-align:center;color:#e6dcd9;font-size:13.5px;padding:0 24px}
#lb .x{position:absolute;top:18px;right:22px;color:#fff;font-size:34px;line-height:1;opacity:.8}

/* ——— FOOTER ——— */
footer{background:var(--ink);color:#cfc7c4;padding:56px 0 26px;font-size:14.5px}
footer .top{display:flex;align-items:center;gap:16px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.11)}
footer .top img{width:52px;height:52px;object-fit:contain}
footer .top b{display:block;color:#fff;font-family:Fraunces,serif;font-size:19px;font-weight:600}
footer .top span{display:block;font-size:10.5px;letter-spacing:2.4px;text-transform:uppercase;color:#a2908f;margin-top:4px;font-weight:700}
footer .g{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:28px;padding:32px 0 0}
footer h5{color:#fff;font-size:10.5px;letter-spacing:2.4px;text-transform:uppercase;margin:0 0 13px;font-weight:800}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:8px 0}
footer a:hover{color:#fff}
.fbot{border-top:1px solid rgba(255,255,255,.11);margin-top:34px;padding-top:18px;font-size:12px;
      color:#8d8281;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
