:root{
  color-scheme:dark;
  --bg:#0d0d0d; --card:#141414; --ink:#f5f3ef; --soft:rgba(245,243,239,.8); --mute:rgba(245,243,239,.55); --line:rgba(255,255,255,.1);
  --coral:#ff4e3b; --teal:#0e6b6b; --teal-l:#34b3ad; --accent:#ff4e3b;
  --grad:linear-gradient(100deg,#ff4e3b 0%,#c3301f 45%,#0e6464 100%);
  --disp:"Syne","Arial Black",sans-serif; --sans:"Inter",-apple-system,"Segoe UI",sans-serif; --mono:"JetBrains Mono",ui-monospace,Menlo,monospace; --serif:"Noto Serif Display",Georgia,serif;
  --g:clamp(16px,4vw,64px); --r:20px; --r-in:12px;
  /* γεωμετρία: μία απόσταση, ένα εσωτερικό περιθώριο, μία γωνία για όλα τα κουτιά */
  --gap:clamp(12px,1.3vw,18px); --pad:clamp(20px,2.2vw,28px); --pad-l:clamp(24px,4vw,48px); --inset:16px;
  --side:max(var(--g),calc(50% - 720px + var(--g))); --edge:rgba(255,255,255,.75);
  --ease:cubic-bezier(.2,.8,.2,1); --ease2:cubic-bezier(.76,0,.24,1);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background .6s,color .6s}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3{font-family:var(--disp);font-weight:700;margin:0;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
p{margin:0}
.wrap{padding-inline:var(--g);max-width:1440px;margin-inline:auto}
.split .grad-t .sw > span,.grad-t{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.split .grad-t{background:none;color:inherit}
.soft-t{background:linear-gradient(115deg,#fff 35%,rgba(255,255,255,.45));-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--grad);transition:width .9s var(--ease) .25s}
.sec-h:has(.split.pre) .eyebrow::before,.eyebrow.pre::before{width:0}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:99px;font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:-.01em;border:0;cursor:pointer;position:relative;transition:transform .35s var(--ease),box-shadow .35s,background .3s;will-change:transform;overflow:hidden}
.btn-p{background:var(--grad);color:#fff;box-shadow:0 12px 40px -14px rgba(255,78,59,.7)}
.btn-p::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn-p:hover::after{transform:translateX(120%)}
.btn-g{background:rgba(255,255,255,.07);color:#fff;border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn-g:hover{background:rgba(255,255,255,.14)}
.btn.soon{opacity:.55;cursor:default;font-weight:600;font-size:13.5px}
.btn .ar{display:inline-block;transition:transform .35s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}
section{padding-block:clamp(84px,11vw,150px);position:relative;overflow-x:clip}
.sec-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px 40px;margin-bottom:clamp(34px,5vw,56px)}
.sec-h h2{font-size:clamp(36px,5vw,68px);margin-top:14px}
.sec-h p{max-width:40ch;color:var(--mute)}
.glow{position:absolute;pointer-events:none;border-radius:50%;filter:blur(100px);opacity:.24;z-index:0}

/* split reveal + scroll reveals */
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.sw > span{display:inline-block;transition:transform 1s var(--ease)}
.split.pre .sw > span{transform:translateY(110%)}
.rv{transition:transform 1s var(--ease),opacity 1s;transition-delay:var(--d,0ms)}
.rv.pre{transform:translateY(28px);opacity:.001}
.wipe{transition:clip-path 1.2s var(--ease2);transition-delay:var(--d,0ms)}
.wipe.pre img,.wipe.pre video{transform:scale(1.18)!important}
.wipe.pre{clip-path:inset(0 0 100% 0)}

/* running lines + timecode HUD */
.lines{position:absolute;inset:0;pointer-events:none;z-index:1;display:grid;grid-template-columns:repeat(6,1fr)}
.lines i{position:relative;border-left:1px solid rgba(255,255,255,.07);overflow:hidden}
.lines i:last-child{border-right:1px solid rgba(255,255,255,.07)}
.hero .lines,.w-hero .lines,.sy-hero .lines{left:var(--side);right:var(--side)}
.lines i::after{content:"";position:absolute;left:-1px;top:-30%;width:1px;height:28%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.55),transparent);animation:run 6s linear infinite}
.lines i:nth-child(2)::after{animation-delay:-2.1s;animation-duration:7.5s}
.lines i:nth-child(3)::after{animation-delay:-4.4s;animation-duration:5.5s}
.lines i:nth-child(4)::after{animation-delay:-1.2s;animation-duration:8s}
.lines i:nth-child(5)::after{animation-delay:-3.3s;animation-duration:6.5s}
.lines i:nth-child(6)::after{animation-delay:-5.1s;animation-duration:7s}
@keyframes run{to{top:130%}}
.hud{position:absolute;z-index:3;display:flex;gap:18px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.8);font-variant-numeric:tabular-nums}
.hud .rec{display:inline-flex;align-items:center;gap:8px}
.hud .rec::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--coral);animation:blink 1.4s steps(1) infinite}
@keyframes blink{50%{opacity:.15}}
.corners{position:absolute;inset:88px var(--side) 24px;pointer-events:none;z-index:2}
.corners b{position:absolute;width:22px;height:22px;border:0 solid rgba(255,255,255,.55)}
.corners b:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px}
.corners b:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px}
.corners b:nth-child(3){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}
.corners b:nth-child(4){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}

/* progress, cursor, letterbox transition */
.prog{position:fixed;left:0;top:0;height:2px;width:100%;z-index:80;background:var(--grad);transform-origin:0 50%;transform:scaleX(0)}
/* φως που ακολουθεί το ποντίκι (αντί για τον κύκλο): πίσω από το περιεχόμενο — δεν αλλοιώνει εικόνες/βίντεο */
.spot{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .8s;
  background:radial-gradient(620px circle at var(--sx,50%) var(--sy,40%),rgba(255,255,255,.13),rgba(255,255,255,.045) 38%,transparent 68%)}
.spot.on{opacity:1}
body.wed .spot{background:radial-gradient(620px circle at var(--sx,50%) var(--sy,40%),rgba(122,88,50,.17),rgba(122,88,50,.06) 38%,transparent 68%)}
main,.foot{position:relative;z-index:1}
/* 3D: οι κάρτες γέρνουν ελαφρά προς το ποντίκι, με αντανάκλαση */
.t3d{transition:transform .6s var(--ease);will-change:transform}
.t3d.t3d.tilting{transition:transform .15s linear,border-radius .6s var(--ease)}
.t3d .glare{position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .4s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.16),transparent 48%)}
.t3d.tilting .glare{opacity:1}
body.wed .t3d .glare{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.22),transparent 48%)}
@media (hover:none),(pointer:coarse){.spot{display:none}}
.lbx{position:fixed;inset:0;z-index:85;pointer-events:none}
html.nointro .lbx{display:none}
.lbx i{position:absolute;left:0;right:0;height:50.5%;background:#050505;transition:transform .6s var(--ease2)}
.lbx i:first-child{top:0;transform:translateY(-100%)}
.lbx i:nth-child(2){bottom:0;transform:translateY(100%)}
.lbx.close i{transform:none}
.lbx .lab{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:10px;opacity:0;transition:opacity .25s;color:#fff;text-align:center}
.lbx.close .lab{opacity:1;transition-delay:.3s}
.lbx .lab{gap:12px}
.lbx .lab .rec2{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.3em;color:#ff4e3b}
.lbx .lab .rec2::before{content:"";width:10px;height:10px;border-radius:50%;background:#ff4e3b;box-shadow:0 0 14px #ff4e3b;animation:blink 1s steps(1) infinite}
.lbx .lab .tcbig{font-family:var(--mono);font-weight:500;font-size:clamp(34px,6vw,76px);letter-spacing:.02em;font-variant-numeric:tabular-nums;line-height:1}
.lbx .lab b{font-family:var(--disp);font-weight:700;font-size:clamp(22px,2.6vw,34px);letter-spacing:-.03em;margin-top:8px}
.lbx .lab small{font-family:var(--mono);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.lbx .lab .slate{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,.35);margin-top:6px}
.lbx.wedx .lab b{font-family:var(--serif);font-weight:300;font-size:clamp(26px,3vw,40px);letter-spacing:0}
.lbx.wedx .lab .rec2,.lbx.wedx .lab .rec2::before{color:#cdb892}
.lbx.wedx .lab .rec2::before{background:#cdb892;box-shadow:0 0 14px #cdb892}

/* ---------- nav with sliding active indicator ---------- */
.nav{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:60;width:min(1180px,calc(100% - 24px));display:flex;align-items:center;gap:12px;padding:8px 8px 8px 12px;border-radius:99px;background:rgba(18,18,18,.6);border:1px solid var(--line);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);transition:transform .5s var(--ease),background .5s,padding .5s var(--ease)}
.nav.hide{transform:translate(-50%,-140%)}
.nav.compact{padding:6px 6px 6px 10px;background:rgba(14,14,14,.8)}
body.wed .nav.compact{background:rgba(255,253,249,.88)}
.logo{display:flex;align-items:center;gap:9px;margin-right:auto;white-space:nowrap}
.logo img{display:block;height:30px;width:auto}
.logo .wed-tag{font-family:'Noto Serif Display',serif;font-style:italic;font-size:17px;color:#a4845b;margin-left:2px;transform:translateY(-1px)}
.logo i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--grad);font-style:normal;font-family:var(--disp);font-weight:800;font-size:12.5px;color:#fff}
.logo span{font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:-.02em}
.nav ul{position:relative;display:flex;gap:2px;list-style:none;margin:0;padding:0}
.nav .ind{position:absolute;top:0;left:0;height:100%;border-radius:99px;background:var(--ink);opacity:0;transition:transform .55s var(--ease),width .55s var(--ease),opacity .3s;z-index:0}
.nav ul a{position:relative;z-index:1;display:flex;align-items:center;gap:6px;padding:8px 13px;border-radius:99px;font-size:14px;font-weight:500;color:var(--soft);transition:color .35s}
.nav ul a:hover{color:var(--ink)}
.nav ul a.on{color:var(--bg)}
.nav ul a .dot{width:6px;height:6px;border-radius:50%;background:var(--coral)}
.nav .btn{padding:10px 18px;font-size:14px}
.lang{font-size:12px;letter-spacing:.08em;color:var(--mute);padding:0 4px}
.lang b{color:var(--ink);font-weight:600}
.f label.req::after{content:" *";color:var(--accent)}  /* υποχρεωτικό πεδίο (08/10/2026) */
a.lang:hover{color:var(--ink)}
.mb{display:none;background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:99px;padding:9px 16px;font-family:var(--disp);font-weight:700;cursor:pointer}
@media (max-width:1180px){.nav ul,.nav .lang{display:none}.mb{display:inline-block}}
@media (max-width:520px){.nav .btn{display:none}}
.mm{position:fixed;inset:0;z-index:59;background:#0c0c0c;display:flex;flex-direction:column;justify-content:space-between;gap:28px;
  padding:calc(env(safe-area-inset-top,0px) + 104px) var(--g) calc(env(safe-area-inset-bottom,0px) + 26px);overflow-y:auto;overscroll-behavior:contain}
.mm::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(90% 60% at 0% 0%,rgba(255,78,59,.16),transparent 60%)}
.mm-links{position:relative;display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid rgba(255,255,255,.08)}
@media (min-width:700px){.mm-links{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,auto);grid-auto-flow:column;column-gap:clamp(24px,5vw,72px)}}
.mm-links a{font-family:var(--disp);font-weight:700;font-size:clamp(19px,min(3.6vw,3.8vh),30px);line-height:1.1;letter-spacing:-.03em;color:rgba(255,255,255,.6);
  display:flex;align-items:center;gap:14px;padding:clamp(8px,1.4vh,14px) 0;border-bottom:1px solid rgba(255,255,255,.08);transition:color .25s,padding .35s var(--ease)}
.mm-links a:hover,.mm-links a:focus-visible{color:#fff;padding-left:8px}
.mm-links a.on{color:#fff}
.mm-links a.on::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--coral)}
.mm-foot{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.mm-info,.mm-soc{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.mm-info a,.mm-soc a{color:rgba(255,255,255,.72)}
.mm-info a:hover,.mm-soc a:hover{color:#fff}
@media (max-width:699px){.mm-foot{flex-direction:column;align-items:flex-start}.mm{padding-top:calc(env(safe-area-inset-top,0px) + 92px)}}
body.wed .mm{background:#f5f1ea}
body.wed .mm::before{background:radial-gradient(90% 60% at 0% 0%,rgba(164,132,91,.18),transparent 60%)}
body.wed .mm-links{border-color:rgba(42,36,32,.12)}
body.wed .mm-links a{font-family:var(--serif);font-weight:300;letter-spacing:-.02em;color:rgba(42,36,32,.6);border-color:rgba(42,36,32,.12)}
body.wed .mm-links a:hover,body.wed .mm-links a.on{color:#2a2420}
body.wed .mm-links a.on::before{background:#a4845b}
body.wed .mm-info a,body.wed .mm-soc a{color:rgba(42,36,32,.72)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(100svh,960px);display:grid;align-items:end;padding:140px 0 clamp(36px,6vw,80px);overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.1);will-change:transform}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,.55) 0%,rgba(13,13,13,.1) 32%,rgba(13,13,13,.9) 86%,#0d0d0d 100%),radial-gradient(80% 70% at 0% 100%,rgba(255,78,59,.24),transparent 60%),radial-gradient(60% 60% at 100% 85%,rgba(14,107,107,.36),transparent 60%)}
.hero .wrap{position:relative;z-index:4;width:100%}
.hero h1{font-size:clamp(44px,8.2vw,132px);line-height:.95;letter-spacing:-.045em;max-width:13ch;margin-top:18px}
.hero-row p{max-width:46ch;color:var(--soft);font-size:17.5px;font-weight:300;margin-top:26px}
.chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chiprow a{font-size:13px;color:var(--soft);padding:6px 12px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.04);transition:all .25s}
.chiprow a:hover{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.1)}
.ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.hero .hud.tl{top:108px;left:calc(var(--side) + 34px)}
.hero .hud.tr{top:108px;right:calc(var(--side) + 34px)}
.hero video{animation:focus 2.4s var(--ease) .2s both}
@media (max-width:760px){.hero .hud.tr{display:none}.corners{inset:84px 12px 16px}.hero .hud.tl{left:36px;top:104px}}

/* ---------- video cards ---------- */
.vgrid{display:grid;gap:calc(var(--gap)*2) var(--gap)}
/* Συμμετρικό πλέγμα: 6 στήλες, κάθε κάρτα πιάνει 2. Αν η τελευταία σειρά δεν γεμίζει, κεντράρεται. */
.sym{grid-template-columns:repeat(6,minmax(0,1fr))}
.sym > *{grid-column:span 2}
.sym > :last-child:nth-child(3n+1){grid-column:3 / span 2}
.sym > :nth-last-child(2):nth-child(3n+1){grid-column:2 / span 2}
@media (max-width:900px){.sym{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sym > :last-child:nth-child(3n+1),.sym > :nth-last-child(2):nth-child(3n+1){grid-column:span 2}
  .sym > :last-child:nth-child(odd){grid-column:2 / span 2}
}
@media (max-width:560px){.sym{grid-template-columns:minmax(0,1fr)}.sym > *{grid-column:auto!important;grid-row:auto!important}}
.vc{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;cursor:pointer;text-align:left;background:none;border:0;padding:0}
.vc .scr{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--card);isolation:isolate;flex:1;min-height:0;transition:transform .6s var(--ease),border-radius .6s var(--ease)}
.vc:hover .scr{transform:translateY(-4px);border-radius:calc(var(--r) + 6px)}
.vc .scr img,.vc .scr video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),opacity .5s}
.vc .scr video{opacity:0}
.vc.playing .scr video{opacity:1}
.vc:hover .scr img,.vc:hover .scr video{transform:scale(1.05)}
.vc .scr::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55));z-index:1;pointer-events:none}
.vc .badge{position:absolute;left:var(--inset);top:var(--inset);z-index:2;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:99px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff}
.vc .pl{position:absolute;right:var(--inset);bottom:var(--inset);z-index:2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .4s var(--ease),background .3s}
.vc:hover .pl{transform:scale(1.12);background:#fff}
.vc:hover .pl svg path{fill:#000}
.vc .tc{position:absolute;left:var(--inset);bottom:calc(var(--inset) + 15px);z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.9);opacity:0;transition:opacity .3s;display:flex;gap:8px;align-items:center}
.vc .tc::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral)}
.vc.playing .tc{opacity:1}
.vc .meta b,.vc .meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vc .meta b{font-family:var(--disp);font-weight:700;font-size:19px;letter-spacing:-.02em}
.vc .meta span{font-size:13.5px;color:var(--mute)}
.vc.poster .scr{background:linear-gradient(140deg,#0f7a76 0%,#0b3f3f 55%,#141414 100%);display:grid;place-items:center}
.vc.poster .scr::after{display:none}
/* σκόπευτρο κάμερας στις 4 γωνίες, στο hover */
.vc .vf{position:absolute;inset:8px;z-index:2;pointer-events:none;opacity:0;transform:scale(1.05);transition:opacity .4s,transform .7s var(--ease);
  background:linear-gradient(#fff,#fff) 0 0/18px 1px,linear-gradient(#fff,#fff) 0 0/1px 18px,linear-gradient(#fff,#fff) 100% 0/18px 1px,linear-gradient(#fff,#fff) 100% 0/1px 18px,
  linear-gradient(#fff,#fff) 0 100%/18px 1px,linear-gradient(#fff,#fff) 0 100%/1px 18px,linear-gradient(#fff,#fff) 100% 100%/18px 1px,linear-gradient(#fff,#fff) 100% 100%/1px 18px;background-repeat:no-repeat}
.vc:hover .vf,.vc.playing .vf{opacity:.85;transform:none}
.vc.poster .big{font-family:var(--disp);font-weight:800;font-size:clamp(26px,3vw,40px);letter-spacing:-.04em;text-align:center;padding:0 20px;color:#fff}
.vc.poster .big small{display:block;font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-top:8px}
@keyframes up{from{opacity:0;transform:translateY(16px)}}

/* ---------- services bento ---------- */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(190px,18vw,260px);gap:var(--gap);perspective:1200px}
.tile{position:relative;border-radius:var(--r);overflow:hidden;background:var(--card);border:1px solid var(--line);transform-style:preserve-3d;transition:transform .55s var(--ease),border-color .3s;isolation:isolate;cursor:pointer;text-align:left;padding:0;display:block;width:100%;height:100%;color:#fff}
.tile:hover{border-color:rgba(255,255,255,.22)}
.tile img,.tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),opacity .6s;z-index:-2}
.tile video{opacity:0}
.tile.playing video{opacity:1}
.tile:hover img,.tile:hover video{transform:scale(1.07)}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.82) 100%)}
.tile .gl{position:absolute;inset:0;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.2),transparent 45%);opacity:0;transition:opacity .3s;z-index:1}
.tile:hover .gl{opacity:1}
.tile .in{position:absolute;left:var(--pad);right:var(--pad);bottom:var(--pad);transform:translateZ(40px)}
.tile h3{font-size:clamp(21px,1.9vw,28px);letter-spacing:-.03em}
.tile .sub{display:block;margin-top:6px;font-size:14px;color:rgba(255,255,255,.8);max-width:36ch}
.tile .tag{position:absolute;left:var(--pad);top:var(--pad);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:99px;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateZ(30px)}
.tile .plus{position:absolute;right:var(--pad);top:calc(var(--pad) - 6px);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);transform:translateZ(30px);transition:transform .5s var(--ease),background .3s}
.tile:hover .plus{transform:translateZ(30px) rotate(90deg);background:#fff;color:#000}
.tile .more{display:inline-flex;gap:6px;margin-top:10px;font-family:var(--disp);font-weight:700;font-size:13px;opacity:0;transform:translateY(8px);transition:all .45s var(--ease)}
.tile:hover .more,.tile:focus-visible .more{opacity:1;transform:none}
.tile::after,.stat::after,.gear div::after,.mm-adv div::after,.w-step::after,.ptab::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:3;
  background:conic-gradient(from var(--a),transparent 0 62%,var(--edge) 78%,transparent 92%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .45s}
.tile:hover::after,.stat:hover::after,.gear div:hover::after,.mm-adv div:hover::after,.w-step:hover::after,.ptab:hover::after{opacity:1;animation:spin 2.8s linear infinite}
.tile.color{background:var(--grad)}
.tile.teal{background:linear-gradient(140deg,#0f7a76 0%,#0b3f3f 60%,#141414 100%)}
.tile.cta{background:#f5f3ef;color:#0d0d0d}
.tile.cta::before{display:none}
.tile.cta .sub{color:rgba(13,13,13,.7)}
.tile.cta .tag{background:rgba(13,13,13,.06);border-color:rgba(13,13,13,.15)}
.t-wide{grid-column:span 2}.t-tall{grid-row:span 2}
@media (max-width:900px){.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:210px}}
@media (max-width:520px){.bento{grid-template-columns:minmax(0,1fr)}.t-wide,.t-tall{grid-column:auto;grid-row:auto}}
@media (hover:none){.tile .more{opacity:1;transform:none}}

/* service panel */
.sp-back{position:fixed;inset:0;z-index:70;background:rgba(6,6,6,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .45s}
.sp-back.on{opacity:1}
.sp{position:fixed;z-index:71;left:50%;top:50%;width:min(1080px,calc(100% - 24px));max-height:calc(100svh - 40px);transform:translate(-50%,-50%);border-radius:var(--r);background:#141414;color:#f5f3ef;border:1px solid rgba(255,255,255,.1);overflow:hidden;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:820px){.sp{grid-template-columns:minmax(0,1fr);overflow-y:auto}}
.sp-media{position:relative;min-height:260px;background:var(--grad)}
.sp-media img,.sp-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sp-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#141414)}
@media (max-width:820px){.sp-media{min-height:220px}.sp-media::after{background:linear-gradient(0deg,#141414,transparent 55%)}}
.sp-body{padding:var(--pad-l);overflow-y:auto;max-height:calc(100svh - 40px)}
.sp-body > *{opacity:0;transform:translateY(14px);transition:opacity .5s,transform .6s var(--ease)}
.sp.show .sp-body > *{opacity:1;transform:none}
.sp.show .sp-body > *:nth-child(2){transition-delay:.05s}.sp.show .sp-body > *:nth-child(3){transition-delay:.1s}.sp.show .sp-body > *:nth-child(4){transition-delay:.15s}.sp.show .sp-body > *:nth-child(5){transition-delay:.2s}.sp.show .sp-body > *:nth-child(6){transition-delay:.25s}
.sp h3{font-size:clamp(32px,3.6vw,52px);margin:12px 0 14px}
.sp .desc{color:rgba(245,243,239,.8);font-weight:300;font-size:17px;max-width:48ch}
.sp h4{margin:26px 0 10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,243,239,.55)}
.sp ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sp ul li{display:flex;gap:12px}
.sp ul li::before{content:"";flex:none;width:8px;height:8px;margin-top:9px;border-radius:50%;background:var(--grad)}
.sp .proj{display:flex;flex-wrap:wrap;gap:8px}
.sp .proj a{font-size:13.5px;padding:6px 12px;border-radius:99px;border:1px solid rgba(255,255,255,.12);color:rgba(245,243,239,.8);transition:all .25s}
.sp .proj a:hover{border-color:rgba(255,255,255,.4);color:#fff}
.sp .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.sp-x{position:absolute;right:var(--inset);top:var(--inset);z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(20,20,20,.7);cursor:pointer;font-size:18px;transition:transform .4s var(--ease);color:#fff}
.sp-x:hover{transform:rotate(90deg)}
.sp-nav{position:absolute;left:var(--inset);top:var(--inset);z-index:3;display:flex;gap:6px}
.sp-nav button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(20,20,20,.7);cursor:pointer;color:#fff}

/* ---------- film strip ---------- */
.film{background:#0a0a0a;border-block:1px solid var(--line);padding:18px 0;overflow:hidden;position:relative}
.film::before,.film::after{content:"";position:absolute;left:0;right:0;height:10px;background:radial-gradient(circle at 9px 5px,#222 3.2px,transparent 3.8px) 0 0/22px 10px repeat-x;z-index:2}
.film::before{top:4px}.film::after{bottom:4px}
.ftrack{display:flex;gap:10px;width:max-content;will-change:transform;padding-block:6px}
.fr{position:relative;width:clamp(200px,20vw,280px);aspect-ratio:16/9;border-radius:6px;overflow:hidden;flex:none;cursor:pointer;background:#111;border:0;padding:0}
.fr img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6) brightness(.8);transition:filter .5s,transform .8s var(--ease)}
.fr:hover img{filter:none;transform:scale(1.06)}
.fr span{position:absolute;left:10px;bottom:8px;font-family:var(--disp);font-weight:700;font-size:13px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.fr small{position:absolute;right:8px;top:6px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:rgba(255,255,255,.7)}

/* ---------- CTA band ---------- */
.band{position:relative;margin:0 var(--side);border-radius:var(--r);overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,rgba(255,78,59,.55),transparent 55%),radial-gradient(100% 120% at 100% 100%,rgba(14,107,107,.6),transparent 60%),#121212;border:1px solid var(--line);padding:clamp(40px,7vw,100px) clamp(24px,5vw,70px);display:grid;gap:26px;justify-items:start;color:#fff}
.band h2{font-size:clamp(40px,6.4vw,100px);position:relative;z-index:2;max-width:12ch}
.band p{position:relative;z-index:2;max-width:46ch;color:rgba(255,255,255,.8)}
.band .btn{z-index:2}
.band .hud{right:clamp(24px,5vw,70px);bottom:clamp(24px,5vw,40px)}

/* ---------- inner pages ---------- */
.ipage{padding-top:clamp(120px,14vw,170px)}
.ipage h1{font-size:clamp(46px,8vw,120px);letter-spacing:-.045em;margin-top:14px}
.intro{max-width:52ch;color:var(--soft);font-weight:300;margin-top:16px;font-size:17px}
.back{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--soft);padding:8px 14px;border-radius:99px;border:1px solid var(--line);transition:all .3s}
.back:hover{color:var(--ink);transform:translateX(-3px)}
.gbar{position:sticky;top:calc(80px + env(safe-area-inset-top,0px));z-index:5;margin:40px 0 22px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}
.chips{position:relative;display:inline-flex;flex-wrap:wrap;gap:4px;padding:5px;border-radius:99px;background:rgba(20,20,20,.8);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.chips .pill{position:absolute;top:5px;left:0;height:calc(100% - 10px);border-radius:99px;background:#fff;transition:transform .5s var(--ease),width .5s var(--ease),top .5s var(--ease);z-index:0}
.chips.wrapped{border-radius:22px}
#masonry > [data-more]{display:none}
#masonry.cat > [data-more]{display:block}
.chip{position:relative;z-index:1;font-family:var(--disp);font-weight:600;font-size:14px;background:none;border:0;color:rgba(255,255,255,.75);padding:9px 15px;border-radius:99px;cursor:pointer;transition:color .3s}
.chip[aria-pressed="true"]{color:#000}
a.chip{display:inline-flex;align-items:center;text-decoration:none}
.eyebrow a{color:inherit}
.ver{pointer-events:none}
.chip small{font-family:var(--sans);font-weight:500;font-size:11px;opacity:.6;margin-left:4px}
.gcount{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase}
@media (max-width:760px){.chips{border-radius:18px}.chips .pill{display:none}.chip[aria-pressed="true"]{background:#fff}}
/* Justified rows: κάθε σειρά γεμίζει όλο το πλάτος, ίδιο ύψος ανά σειρά, καμία φωτογραφία δεν κόβεται */
.just{display:flex;flex-wrap:wrap;gap:var(--gap)}
.just > *{flex:var(--ar) 1 calc(var(--ar) * var(--rh,250px));aspect-ratio:var(--ar);margin:0!important;width:auto!important;min-width:0}
.just > * img{width:100%!important;height:100%!important;object-fit:cover}
@media (max-width:760px){.just{--rh:150px}}
.masonry button{display:block;padding:0;border:0;background:var(--card);border-radius:var(--r);overflow:hidden;cursor:zoom-in;break-inside:avoid;position:relative;animation:up .7s var(--ease) both}
.masonry img{width:100%;height:auto;transition:transform .8s var(--ease)}
.masonry button:hover img{transform:scale(1.05)}
.masonry .cap{position:absolute;left:var(--inset);right:var(--inset);bottom:var(--inset);text-align:left;font-size:13px;padding:8px 12px;border-radius:12px;background:rgba(10,10,10,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transform:translateY(8px);transition:all .4s var(--ease);color:#fff}
.masonry .cap b{display:block;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.masonry button:hover .cap{opacity:1;transform:none}
.pad-b{padding-bottom:clamp(80px,10vw,140px)}

/* ---------- project page (blog-like) ---------- */
.pj-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;margin-top:26px}
@media (max-width:1024px){.pj-top{grid-template-columns:minmax(0,1fr)}}
.pj-top h1{font-size:clamp(44px,7.4vw,112px);letter-spacing:-.045em}
.pj-top h1.long{font-size:clamp(34px,5vw,76px)}  /* μεγάλοι τίτλοι/λέξεις δεν βγαίνουν από τη στήλη (05/10/2026) */
.pj-top .sub{font-size:18px;color:var(--soft);margin-top:12px}
.pj-player{position:relative;margin-top:clamp(28px,4vw,48px);border-radius:var(--r);overflow:hidden;background:#000;aspect-ratio:2.39/1}
@media (max-width:760px){.pj-player{aspect-ratio:16/10}}
.pj-player video,.pj-player img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.pj-player video{animation:focus 1.8s var(--ease) .35s both}
.pj-player .hud.bl{left:calc(var(--inset) + 18px);bottom:calc(var(--inset) + 14px)}
.pj-player .hud.br{right:calc(var(--inset) + 18px);bottom:calc(var(--inset) + 14px)}
.pj-player .corners{inset:var(--inset)}
.pj-player .ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(140deg,#0f7a76,#0b3f3f 60%,#111);text-align:center;padding:24px}
.pj-player .ph b{font-family:var(--disp);font-weight:800;font-size:clamp(40px,7vw,100px);letter-spacing:-.05em;color:#fff}
.pj-meta{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:1px;margin-top:var(--gap);border-radius:var(--r);overflow:hidden;background:var(--line);border:1px solid var(--line)}
@media (max-width:760px){.pj-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pj-meta div{background:var(--bg);padding:calc(var(--pad)*.75) var(--pad);transition:opacity .6s,transform .7s var(--ease);transition-delay:calc(var(--k,0)*70ms + .1s)}
.pj-meta.pre div{opacity:0;transform:translateY(12px)}
.pj-meta.rv.pre{transform:none;opacity:1}
.pj-meta dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.pj-meta dd{margin:6px 0 0;font-family:var(--disp);font-weight:600;font-size:17px;letter-spacing:-.01em}
.pj-body{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(30px,6vw,90px);margin-top:clamp(50px,7vw,90px)}
@media (max-width:900px){.pj-body{grid-template-columns:minmax(0,1fr)}}
.pj-body article h2{font-size:clamp(28px,3vw,40px);margin:0 0 16px}
.pj-body article p{color:var(--soft);font-size:18px;font-weight:300;line-height:1.75;max-width:62ch}
.pj-body article p + p{margin-top:16px}
.pj-body article p:first-of-type::first-letter{font-family:var(--disp);font-weight:800;font-size:3.4em;float:left;line-height:.85;margin:6px 10px 0 0;color:var(--accent)}
.credits{border-radius:var(--r);border:1px solid var(--line);padding:var(--pad);background:var(--card);align-self:start;position:sticky;top:100px}
.credits h3{font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-family:var(--sans);font-weight:600;color:var(--mute);margin-bottom:10px}
.credits dl{margin:0;display:grid;gap:0}
.credits div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px;transition:opacity .5s,transform .6s var(--ease),padding .3s;transition-delay:calc(var(--k,0)*45ms + .15s)}
.credits.pre div{opacity:0;transform:translateX(-12px)}
.credits.rv.pre{transform:none;opacity:1}
.credits div:hover{padding-left:6px}
.credits div:last-child{border-bottom:0}
.credits dt{color:var(--mute)}
.credits dd{margin:0}
.snaps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:var(--pad-l)}
.snaps.even{grid-template-columns:repeat(2,minmax(0,1fr))}
.snaps.even button:first-child{grid-column:auto;grid-row:auto;aspect-ratio:16/9}
@media (max-width:640px){.snaps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.snaps button{position:relative;aspect-ratio:16/9;border:0;padding:0;border-radius:var(--r);overflow:hidden;cursor:zoom-in;background:var(--card)}
.snaps button:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:640px){.snaps button:first-child{grid-row:auto;aspect-ratio:16/9}}
.snaps img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.snaps button:hover img{transform:scale(1.06)}
.snaps small{position:absolute;left:var(--inset);top:var(--inset);font-family:var(--mono);font-size:10px;color:rgba(255,255,255,.8);letter-spacing:.1em}
.nextp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);margin-top:clamp(60px,8vw,110px);cursor:pointer;background:var(--card);text-align:left;padding:0;width:100%;color:inherit}
@media (max-width:760px){.nextp{grid-template-columns:minmax(0,1fr)}}
.nextp .t{padding:var(--pad-l);display:grid;align-content:center;gap:10px}
.nextp .t b{font-family:var(--disp);font-weight:800;font-size:clamp(28px,3.6vw,54px);letter-spacing:-.045em;line-height:1.05;overflow-wrap:break-word;hyphens:auto}
.nextp .t b.long{font-size:clamp(22px,2.5vw,36px);letter-spacing:-.03em}
.nextp .v{position:relative;min-height:240px;overflow:hidden}
.nextp .v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.nextp:hover .v img{transform:scale(1.06)}

/* ---------- studio page ---------- */
.st-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,6vw,80px);align-items:end}
@media (max-width:900px){.st-hero{grid-template-columns:minmax(0,1fr)}}
.st-hero .big{font-family:var(--disp);font-weight:600;font-size:clamp(28px,3.4vw,48px);line-height:1.12;letter-spacing:-.03em;margin-top:18px}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.stat{position:relative;border-radius:var(--r);padding:var(--pad);background:var(--card);border:1px solid var(--line)}
.stat b{display:block;width:max-content;max-width:100%;font-family:var(--disp);font-weight:800;font-size:clamp(40px,3.7vw,64px);line-height:1;letter-spacing:-.05em}
.stat span{color:var(--mute);font-size:14px}
.ptabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.ptab{position:relative;text-align:left;border-radius:var(--r);border:1px solid var(--line);background:rgba(255,255,255,.03);padding:var(--pad);cursor:pointer;overflow:hidden;transition:border-color .3s,background .3s}
.ptab .n{font-family:var(--disp);font-weight:800;font-size:clamp(44px,5vw,72px);line-height:.9;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.28);transition:color .4s}
.ptab .t{display:block;margin-top:10px;font-family:var(--disp);font-weight:700;font-size:clamp(17px,1.7vw,22px);letter-spacing:-.02em}
.ptab .bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:0 50%}
.ptab[aria-selected="true"]{border-color:rgba(255,78,59,.5);background:rgba(255,78,59,.07)}
.ptab[aria-selected="true"] .n{color:#fff;-webkit-text-stroke-color:transparent}
.ptab[aria-selected="true"] .bar{animation:fill 7s linear forwards}
@keyframes fill{to{transform:scaleX(1)}}
@media (max-width:560px){.ptab{padding:14px}.ptab .t{font-size:12.5px;letter-spacing:0;overflow-wrap:anywhere}.ptab .n{font-size:38px}}
.ppanel{margin-top:var(--gap);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--r);border:1px solid var(--line);background:var(--card);overflow:hidden;min-height:380px}
@media (max-width:860px){.ppanel{grid-template-columns:minmax(0,1fr)}}
.ppanel .txt{padding:var(--pad-l)}
.ppanel .txt > *{animation:up .7s var(--ease) both}
.ppanel .txt > *:nth-child(2){animation-delay:.06s}.ppanel .txt > *:nth-child(3){animation-delay:.12s}.ppanel .txt > *:nth-child(4){animation-delay:.18s}
.ppanel h3{font-size:clamp(28px,3.2vw,44px);margin:10px 0 14px}
.ppanel p{color:var(--soft);font-weight:300;max-width:46ch}
.ppanel ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.ppanel li{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:var(--r-in);background:rgba(255,255,255,.035);border:1px solid var(--line);font-size:15px}
.ppanel li b{font-family:var(--mono);color:var(--coral);font-size:12px;width:22px;flex:none}
.ppanel .pic{position:relative;min-height:260px;overflow:hidden}
.ppanel .pic video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:zoomin 1.2s var(--ease) both}
@keyframes zoomin{from{transform:scale(1.12);opacity:0}}
.ppanel .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--card),transparent 30%)}
@media (max-width:860px){.ppanel .pic::after{background:linear-gradient(0deg,var(--card),transparent 40%)}}
.gear{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
@media (max-width:900px){.gear{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gear div{position:relative;border-radius:var(--r);border:1px solid var(--line);background:var(--card);padding:var(--pad);transition:border-color .3s,transform .4s var(--ease)}
.gear div:hover{border-color:rgba(255,255,255,.25);transform:translateY(-3px)}
.gear span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.gear p{font-family:var(--disp);font-weight:700;font-size:18px;margin-top:10px;letter-spacing:-.02em}
.mm-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--card)}
@media (max-width:760px){.mm-card{grid-template-columns:minmax(0,1fr)}}
.mm-card .v{position:relative;min-height:280px}
.mm-card .v video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mm-card .t{padding:var(--pad-l);display:grid;gap:14px;align-content:center}
.mm-card h3{font-size:clamp(28px,3vw,42px)}
.mm-card p{color:var(--soft);font-weight:300}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-family:var(--disp);font-weight:600;font-size:clamp(18px,1.8vw,23px);letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-style:normal;transition:transform .4s var(--ease),background .3s}
.faq details[open] summary i{transform:rotate(45deg);background:var(--ink);color:var(--bg)}
.faq p{color:var(--mute);padding-bottom:22px;max-width:70ch}
.faqw{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,6vw,90px)}
@media (max-width:860px){.faqw{grid-template-columns:minmax(0,1fr)}}


/* ---------- Mastermind block (studio page) ---------- */
.mm-lead{max-width:48ch}
.mm-lead p{color:var(--soft);font-weight:300;font-size:17px}
.mm-hero{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:2.2/1;background:#000;color:#fff}
@media (max-width:760px){.mm-hero{aspect-ratio:4/5}}
.mm-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mm-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 40%,rgba(0,0,0,.75));z-index:1}
.mm-hero .corners{inset:var(--inset);z-index:2}
.mm-hero .mm-hud{top:calc(var(--inset) + 14px);left:calc(var(--inset) + 34px);z-index:3}
.mm-hud2{position:absolute;top:calc(var(--inset) + 14px);right:calc(var(--inset) + 34px);z-index:3;color:rgba(255,255,255,.75)}
.mm-stats{position:absolute;left:0;right:0;bottom:0;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);padding:0 calc(var(--inset) + 34px) calc(var(--inset) + 18px)}
@media (max-width:760px){.mm-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.mm-hud2{display:none}}
.mm-stats div{padding-top:14px;border-top:1px solid rgba(255,255,255,.25)}
.mm-stats b{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(30px,3.6vw,54px);letter-spacing:-.04em;line-height:1}
.mm-stats span{font-size:13px;color:rgba(255,255,255,.75)}
.mm-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.mm-tags span{font-size:13.5px;padding:7px 14px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--soft);transition:all .3s}
.mm-tags span:hover{border-color:var(--coral);color:#fff;background:rgba(255,78,59,.12)}
.mm-adv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-top:clamp(40px,6vw,70px)}
@media (max-width:900px){.mm-adv{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.mm-adv{grid-template-columns:minmax(0,1fr)}}
.mm-adv div{position:relative;border-radius:var(--r);border:1px solid var(--line);background:var(--card);padding:var(--pad);transition:transform .4s var(--ease),border-color .3s}
.mm-adv div:hover{transform:translateY(-4px);border-color:rgba(255,78,59,.45)}
.mm-adv b{font-family:var(--mono);font-size:12px;color:var(--coral);letter-spacing:.1em}
.mm-adv h3{font-size:21px;margin:14px 0 8px;letter-spacing:-.02em}
.mm-adv p{color:var(--mute);font-size:14.5px}
.mm-gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,15vw,230px);gap:var(--gap)}
@media (max-width:760px){.mm-gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}}
.mm-gal button{position:relative;border:0;padding:0;border-radius:var(--r);overflow:hidden;cursor:zoom-in;background:var(--card)}
.mm-gal button:nth-child(1){grid-column:span 2;grid-row:span 2}
.mm-gal img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .5s;filter:saturate(.9)}
.mm-gal button:hover img{transform:scale(1.06);filter:saturate(1.1)}
.mm-gal span{position:absolute;left:var(--inset);bottom:var(--inset);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.mm-pack{margin-top:clamp(50px,7vw,90px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--pad-l);align-items:center;border-radius:var(--r);padding:var(--pad-l);border:1px solid var(--line);background:radial-gradient(100% 140% at 0% 0%,rgba(255,78,59,.22),transparent 55%),var(--card)}
@media (max-width:900px){.mm-pack{grid-template-columns:minmax(0,1fr)}}
.mm-pack h3{font-size:clamp(28px,3.4vw,46px);margin:12px 0 10px}
.mm-pack p{color:var(--mute)}
.mm-pack-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.mm-pack-l a{display:grid;gap:4px;padding:var(--pad);border-radius:var(--r-in);border:1px solid var(--line);background:rgba(255,255,255,.03);transition:all .35s var(--ease)}
.mm-pack-l a:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.3)}
.mm-pack-l a.hot{background:var(--grad);border-color:transparent;color:#fff}
.mm-pack-l span{font-family:var(--disp);font-weight:700;font-size:16px}
.mm-pack-l b{font-family:var(--disp);font-weight:800;font-size:34px;letter-spacing:-.04em;line-height:1}
.mm-pack-l small{font-size:12.5px;opacity:.75}
.mm-eps{margin-top:clamp(40px,6vw,70px);display:grid;gap:0;border-top:1px solid var(--line)}
.mm-eps .eyebrow{padding:18px 0}
.mm-eps a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-top:1px solid var(--line);font-family:var(--disp);font-weight:700;font-size:clamp(20px,2.4vw,32px);letter-spacing:-.03em;transition:padding .4s var(--ease),color .3s}
.mm-eps a:hover{padding-left:14px;color:var(--coral)}
.mm-eps a em{font-style:normal;color:var(--mute)}

/* ---------- contact page ---------- */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap);margin-top:clamp(30px,5vw,56px)}
@media (max-width:900px){.contact{grid-template-columns:minmax(0,1fr)}}
.cinfo{position:relative;overflow:hidden;border-radius:var(--r);padding:var(--pad-l);background:radial-gradient(130% 120% at 0% 0%,rgba(255,78,59,.5) 0%,rgba(237,28,28,.12) 35%,rgba(13,13,13,0) 70%),radial-gradient(90% 80% at 100% 100%,rgba(14,107,107,.45),transparent 60%),var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:22px;color:#fff}
.cinfo h2{font-size:clamp(32px,4vw,56px);position:relative;z-index:2}
.cinfo ol,.cinfo dl{position:relative;z-index:2}
.cinfo ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cinfo ol li{display:flex;gap:12px;font-size:14.5px;color:rgba(255,255,255,.8)}
.cinfo ol li b{flex:none;font-family:var(--mono);width:28px}
.cinfo dl{margin:auto 0 0;display:grid;gap:12px}
.cinfo dt{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cinfo dd{margin:2px 0 0;font-family:var(--disp);font-weight:600;font-size:19px}
form.card{border-radius:var(--r);padding:var(--pad-l);background:var(--card);border:1px solid var(--line)}
.ex{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
fieldset{border:0;padding:0;margin:0 0 24px}
legend{padding:0;margin-bottom:12px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.types{display:flex;flex-wrap:wrap;gap:8px}
.types input{position:absolute;opacity:0;pointer-events:none}
.types span{display:inline-block;padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.03);font-size:14px;color:var(--soft);cursor:pointer;transition:all .25s}
.types input:checked+span{background:var(--grad);border-color:transparent;color:#fff;font-weight:500}
.types input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
@media (max-width:560px){.grid2{grid-template-columns:minmax(0,1fr)}}
.f label{display:block;font-size:13px;color:var(--mute);margin-bottom:6px}
.f input,.f select,.f textarea{width:100%;background:rgba(0,0,0,.2);border:1px solid var(--line);border-radius:12px;color:var(--ink);font:inherit;font-size:15px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.f select option{background:#151515;color:#fff}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,78,59,.15)}
.f textarea{min-height:90px;resize:vertical}
.mt{margin-top:12px}
form .btn{width:100%;justify-content:center;margin-top:4px;padding:16px}
.mail{margin-top:18px;border-radius:var(--r-in);padding:18px 20px;background:#f4f1ec;color:#1b1714;font-size:14px;animation:up .6s var(--ease) both}
.mail .h{font-size:12px;color:#6d6158;border-bottom:1px solid #ddd3c6;padding-bottom:10px;margin-bottom:10px;display:grid;gap:3px;word-break:break-word}
.mail .h b{color:#1b1714;font-weight:600}
.mail dl{display:grid;grid-template-columns:auto 1fr;gap:3px 16px;margin:0}
.mail dt{color:#6d6158}.mail dd{margin:0}
.mail .send-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}
.mail .send-row .btn-g{color:#1b1714;border-color:#d8cfc3;background:#fff}
.cquick{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;position:relative;z-index:2}
.cinfo dd a{color:inherit;text-decoration:none}
.cinfo dd a:hover{text-decoration:underline}

/* ---------- footer ---------- */
.foot{margin:clamp(60px,8vw,110px) var(--side) calc(16px + env(safe-area-inset-bottom,0px));border-radius:var(--r);padding:var(--pad-l);background:radial-gradient(130% 150% at 4% 0%,#ff4e3b 0%,rgba(255,255,255,.03) 38%),#141414;border:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:var(--pad-l);color:#fff}
@media (max-width:900px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot{grid-template-columns:1fr}}
.foot h4{margin:0 0 10px;font-family:var(--disp);font-size:14px;font-weight:700}
.foot p,.foot a{display:block;color:rgba(255,255,255,.8);font-size:14.5px;line-height:2}
.foot .brand{display:flex;align-items:center;gap:10px}
.bio-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,6vw,80px);align-items:center}
.bio-txt h1{font-size:clamp(44px,5.6vw,86px)}
.bio-txt p{color:var(--soft);font-size:17px;line-height:1.7;max-width:60ch;margin-top:14px}
.bio-txt p a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1.5px}
.bio-txt p a:hover{color:var(--accent)}
.bio-txt .bio-lead{font-family:var(--disp);font-weight:600;font-size:clamp(22px,2.4vw,30px);line-height:1.2;color:var(--ink);margin-top:18px}
.bio-awards{list-style:none;margin:16px 0 4px;padding:0;display:grid;gap:8px;max-width:60ch}
.bio-awards li{position:relative;padding-left:22px;color:var(--ink);font-size:16px;line-height:1.5}
.bio-awards li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--coral)}
.bio-pic{margin:0;border-radius:var(--r);overflow:hidden;background:var(--card)}
.bio-pic img,.bio-duo img{display:block;width:100%;height:100%;object-fit:cover}
.bio-duo{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--gap);margin-top:clamp(40px,6vw,80px)}
.bio-duo figure{margin:0;border-radius:var(--r);overflow:hidden;background:var(--card);aspect-ratio:3/2}
.bio-duo figure:last-child{aspect-ratio:3/4}
@media (max-width:900px){.bio-hero,.bio-duo{grid-template-columns:minmax(0,1fr)}.bio-duo figure:last-child{aspect-ratio:3/4}}
.mm-logo{display:block;height:clamp(64px,7vw,96px);width:auto;margin-bottom:22px}
.foot .brand img{display:block;height:84px;width:auto}
.foot .brand i{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(0,0,0,.35);font-style:normal;font-family:var(--disp);font-weight:800}
.foot .brand span{font-family:var(--disp);font-weight:700;font-size:22px;letter-spacing:-.03em}
.foot small{display:block;margin-top:12px;color:rgba(255,255,255,.8);font-size:13px;max-width:30ch}
.ver{position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:55;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;padding:6px 10px;border-radius:99px;background:rgba(20,20,20,.85);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.8)}

/* ---------- VTsagarakis Wedding ---------- */
body.wed{--edge:#a4845b;--bg:#f5f1ea;--card:#fffdf9;--ink:#2a2420;--soft:rgba(42,36,32,.78);--mute:rgba(42,36,32,.55);--line:rgba(42,36,32,.13);--accent:#a4845b;--grad:linear-gradient(100deg,#b8976a,#8c6b45);color-scheme:light}
body.wed .nav{background:rgba(255,253,249,.72)}
body.wed .nav ul a.on{color:#fffdf9}
body.wed .mb{background:rgba(42,36,32,.06)}
body.wed .foot{background:radial-gradient(130% 150% at 4% 0%,#cdb892 0%,rgba(255,255,255,0) 40%),#2a2420}
body.wed .chips{background:rgba(255,253,249,.85)}
body.wed .chip{color:rgba(42,36,32,.7)}
body.wed .chips .pill{background:#2a2420}
body.wed .chip[aria-pressed="true"]{color:#fffdf9}
@media (max-width:760px){body.wed .chip[aria-pressed="true"]{background:#2a2420}}
body.wed .gcount{color:var(--mute)}
.w-hero{position:relative;min-height:min(100svh,940px);display:grid;align-items:end;overflow:hidden;color:#fff}
.w-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.w-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.35),rgba(20,16,12,.05) 40%,rgba(20,16,12,.75))}
.w-hero .wrap{position:relative;z-index:4;width:100%;padding-block:0 clamp(40px,6vw,80px)}
.w-kicker{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}
.w-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(50px,9vw,140px);line-height:.95;letter-spacing:-.02em;margin-top:16px}
.w-hero h1 em{font-style:italic}
.w-hero p{max-width:46ch;margin-top:18px;font-size:17px;font-weight:300;opacity:.9}
.w-hero .hud{top:108px;left:calc(var(--side) + 34px)}
.w-hero video,.sy-hero video{animation:focus 2.2s var(--ease) .2s both}
.w-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:99px;font-weight:500;font-size:15px;border:0;cursor:pointer;transition:transform .35s var(--ease),background .3s}
.w-btn:hover{transform:translateY(-2px)}
.w-btn.l{background:#fffdf9;color:#2a2420}
.w-btn.d{background:#2a2420;color:#fffdf9}
.w-btn.o{background:transparent;color:inherit;border:1px solid currentColor}
.w-sec{padding-block:clamp(80px,11vw,140px)}
.w-h{text-align:center;max-width:760px;margin:0 auto clamp(40px,6vw,70px)}
.w-h .w-kicker{color:#a4845b}
.w-h h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.6vw,80px);letter-spacing:-.02em;margin-top:12px;line-height:1.02}
.w-h h2 em{font-style:italic}
.w-h p{color:var(--mute);margin-top:14px}
.w-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
@media (max-width:760px){.w-two{grid-template-columns:minmax(0,1fr)}}
.w-card{position:relative;border-radius:var(--r);overflow:hidden;min-height:clamp(380px,44vw,560px);color:#fff;display:flex;align-items:end;cursor:pointer;border:0;padding:0;text-align:left;background:#2a2420}
.w-card video,.w-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.w-card:hover video,.w-card:hover img{transform:scale(1.04)}
.w-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,16,12,.8))}
.w-card .in{position:relative;z-index:1;padding:var(--pad-l)}
.w-card h3{font-family:var(--serif);font-weight:300;font-size:clamp(38px,4.4vw,62px);letter-spacing:-.02em}
.w-card p{opacity:.85;margin-top:6px;max-width:40ch}
/* album (story) cards */
.albums{display:grid;gap:calc(var(--gap)*2.4) calc(var(--gap)*1.8)}
.alb{position:relative;cursor:pointer;border:0;padding:0;background:none;text-align:left;color:inherit;display:grid;gap:14px}
.alb .stack{position:relative;aspect-ratio:4/5}
.alb .stack img,.alb .stack video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--r);transition:transform .8s var(--ease),opacity .5s;box-shadow:0 18px 40px -20px rgba(42,36,32,.5)}
.alb .stack .b2{transform:rotate(-4deg) translate(-8px,6px) scale(.96);filter:brightness(.92)}
.alb .stack .b1{transform:rotate(3deg) translate(8px,4px) scale(.97);filter:brightness(.96)}
.alb:hover .stack .b2{transform:rotate(-9deg) translate(-26px,10px) scale(.95)}
.alb:hover .stack .b1{transform:rotate(8deg) translate(26px,6px) scale(.96)}
.alb .stack video{opacity:0;z-index:2}
.alb.playing .stack video{opacity:1}
.alb .stack .front{z-index:1}
.alb .count{position:absolute;right:var(--inset);top:var(--inset);z-index:3;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;padding:5px 9px;border-radius:99px;background:rgba(255,253,249,.88);color:#2a2420}
.alb .film-b{position:absolute;left:var(--inset);top:var(--inset);z-index:3;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;border-radius:99px;background:rgba(42,36,32,.75);color:#fffdf9}
.alb h3{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:-.01em}
.alb span.m{font-size:13.5px;color:var(--mute)}
.w-best{--rh:230px}
.w-best button{display:block;border:0;padding:0;border-radius:var(--r);overflow:hidden;cursor:zoom-in;break-inside:avoid;background:#e9e2d6}
.w-best img{width:100%;height:auto;transition:transform .8s var(--ease)}
.w-best button:hover img{transform:scale(1.04)}
.w-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
@media (max-width:900px){.w-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.w-steps{grid-template-columns:minmax(0,1fr)}}
.w-step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--pad)}
.w-step b{display:block;font-family:var(--serif);font-style:italic;font-weight:300;font-size:44px;line-height:1;color:#a4845b}
.w-step h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:14px 0 8px;letter-spacing:-.01em}
.w-step p{color:var(--mute);font-size:15px}
.w-form{max-width:1040px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--pad-l)}
.w-form .f input,.w-form .f select{background:#f8f4ee}
.w-form .btn{background:#2a2420;color:#fffdf9;box-shadow:none}
.w-form .types input:checked+span{background:#2a2420;color:#fffdf9}
.w-note{margin-top:14px;text-align:center;font-size:12px;color:var(--mute)}
/* story page */
.sy-hero{position:relative;height:min(88svh,860px);overflow:hidden;color:#fff;display:grid;align-items:end}
.sy-hero video,.sy-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sy-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.3),transparent 40%,rgba(20,16,12,.78))}
.sy-hero .wrap{position:relative;z-index:4;width:100%;padding-bottom:clamp(36px,5vw,70px)}
.sy-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(46px,8vw,120px);letter-spacing:-.02em;line-height:.98;margin-top:14px}
.sy-hero .hud{top:108px;left:calc(var(--side) + 34px)}
.sy-hero .corners{inset:88px var(--side) 24px}
.sy-story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,6vw,90px);align-items:start}
@media (max-width:860px){.sy-story{grid-template-columns:minmax(0,1fr)}}
.sy-story dl{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.sy-story dl div{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.sy-story dt{color:var(--mute);font-size:14px}
.sy-story dd{margin:0;font-family:var(--serif);font-size:19px}
.sy-story h2{font-family:var(--serif);font-weight:300;font-size:clamp(36px,4.4vw,60px);letter-spacing:-.02em}
.sy-story h2 em{font-style:italic}
.sy-story p.txt{margin-top:18px;font-size:19px;font-weight:300;line-height:1.75;color:var(--soft);max-width:58ch}
.sy-quote{margin-top:30px;padding:var(--pad);border-radius:var(--r);background:var(--card);border:1px solid var(--line);font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.4vw,30px);line-height:1.35;position:relative}
.sy-quote::before{content:"“";position:absolute;left:18px;top:-18px;font-size:80px;line-height:1;color:#a4845b;font-style:normal}
.sy-quote small{display:block;margin-top:12px;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.sy-album{--rh:260px}
.sy-album button{display:block;border:0;padding:0;border-radius:var(--r);overflow:hidden;cursor:zoom-in;break-inside:avoid;background:#e9e2d6;animation:up .8s var(--ease) both}
.sy-album img{width:100%;height:auto;transition:transform .9s var(--ease)}
.sy-album button:hover img{transform:scale(1.04)}
.sy-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:var(--r);overflow:hidden;background:var(--card);border:1px solid var(--line);cursor:pointer;padding:0;text-align:left;width:100%;color:inherit}
@media (max-width:760px){.sy-next{grid-template-columns:minmax(0,1fr)}}
.sy-next .t{padding:var(--pad-l);display:grid;gap:10px;align-content:center}
.sy-next .t b{font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.6vw,64px);line-height:1}
.sy-next .v{position:relative;min-height:260px;overflow:hidden}
.sy-next img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.sy-next:hover img{transform:scale(1.05)}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:75;background:rgba(6,6,6,.97);display:grid;grid-template-rows:auto 1fr auto;padding:calc(14px + env(safe-area-inset-top,0px)) var(--g) calc(14px + env(safe-area-inset-bottom,0px));animation:fade .35s both;color:#fff}
@keyframes fade{from{opacity:0}}
.lb-row{display:flex;align-items:center;gap:10px;min-height:48px;flex-wrap:wrap}
.lb-row .grow{margin-left:auto}
.lb button,.lb a.lbtn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:99px;padding:9px 16px;font-family:var(--disp);font-weight:600;cursor:pointer;font-size:14px}
.lb-stage{display:flex;align-items:center;justify-content:center;min-height:0;touch-action:pan-y}
.lb-stage img,.lb-stage video{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--r-in);animation:zoomin .6s var(--ease) both}
.lb p{color:rgba(255,255,255,.6);font-size:14px}

@property --a{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes spin{to{--a:360deg}}
@keyframes focus{from{filter:blur(16px) brightness(.55)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.split.pre .sw > span{transform:none}.rv.pre{transform:none;opacity:1}.wipe.pre{clip-path:none}}

/* ελαφρύς YouTube player: το iframe φορτώνει μόνο όταν πατηθεί το play */
.pj-player.yt{aspect-ratio:16/9}
.yt-lite{position:absolute;inset:0;border:0;padding:0;margin:0;background:#000;cursor:pointer;display:block;width:100%}
.yt-lite img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .5s}
.yt-lite:hover img{transform:scale(1.03);filter:brightness(.85)}
.yt-play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .45s var(--ease),background .3s}
.yt-play svg{width:24px;height:24px}
.yt-lite:hover .yt-play{transform:scale(1.1);background:var(--coral);border-color:transparent}
.pj-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* blog */
.post-h1{font-size:clamp(34px,4.6vw,68px)!important;max-width:22ch}
.pj-player.post-media{aspect-ratio:21/9}
@media (max-width:760px){.pj-player.post-media{aspect-ratio:16/10}}
.post-media video{background:#000;object-fit:contain!important}
.pj-body article.post-body h2{font-size:clamp(24px,2.4vw,32px);margin:clamp(40px,4.4vw,56px) 0 14px}
.pj-body article.post-body > h2:first-child{margin-top:0}
.pj-body article.post-body ul + p,.pj-body article.post-body p + ul{margin-top:16px}
.post-body ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px;max-width:62ch}
.post-body li{display:flex;gap:12px;color:var(--soft);font-size:17px;font-weight:300}
.post-body li::before{content:"";flex:none;width:8px;height:8px;margin-top:10px;border-radius:50%;background:var(--grad)}
.post-body a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.post-next{font-size:clamp(22px,2.4vw,32px)!important;letter-spacing:-.03em!important;line-height:1.1!important}
.blog-grid .vc .meta b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* αρχική: συμπαγή «Επιλεγμένα έργα» — 2 σειρές ίσων καρτών */
#feat{padding-block:clamp(64px,8vw,110px) clamp(40px,5vw,70px)}
#feat .sec-h{margin-bottom:clamp(22px,3vw,34px)}
.vgrid.feat{gap:calc(var(--gap)*1.4) var(--gap)}
.vgrid.feat .vc .meta b{font-size:16px}
.vgrid.feat .vc .meta span{font-size:12.5px}
@media (max-width:560px){.vgrid.feat{grid-template-columns:repeat(2,minmax(0,1fr))}.vgrid.feat > *{grid-column:auto!important}.vgrid.feat .vc .meta span{display:none}}
/* κινητό: στατική ταινία φιλμ που σύρεται με το δάχτυλο */
.film.static{overflow-x:auto;scrollbar-width:none}
.film.static::-webkit-scrollbar{display:none}
.film.static .fr[aria-hidden]{display:none}

/* αρχική: τα 3 τελευταία άρθρα (όπως στο τωρινό site) */
#home-blog{padding-block:clamp(40px,6vw,90px) clamp(70px,9vw,120px)}
.hb-head{display:grid;justify-items:center;text-align:center;gap:12px;margin-bottom:clamp(26px,3.6vw,44px)}
.hb-head h2{font-size:clamp(32px,4vw,52px)}
.hb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--gap)*2)}
@media (max-width:900px){.hb-grid{grid-template-columns:minmax(0,1fr);max-width:520px;margin:0 auto}}
.hb{display:grid;gap:8px;align-content:start;min-width:0}
.hb-img{position:relative;display:block;aspect-ratio:420/412;border-radius:var(--r);overflow:hidden;background:var(--card);margin-bottom:8px}
.hb-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s}
.hb:hover .hb-img img{transform:scale(1.05);filter:brightness(.7)}
.hb-read{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);padding:10px 18px;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--disp);font-weight:700;font-size:13px;color:#fff;opacity:0;transition:opacity .35s,transform .45s var(--ease);white-space:nowrap}
.hb:hover .hb-read,.hb:focus-visible .hb-read{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (hover:none){.hb-read{opacity:1;transform:translate(-50%,-50%)}}
.hb-cat{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.hb-t{font-family:var(--disp);font-weight:700;font-size:clamp(17px,1.4vw,20px);letter-spacing:-.02em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hb-m{font-size:14px;color:var(--mute)}
.hb-more{display:flex;justify-content:center;margin-top:clamp(26px,3.6vw,44px)}

.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{margin-top:12px;font-size:12.5px;color:var(--mute);text-align:center}
.form-note a,.foot-legal{text-decoration:underline;text-underline-offset:3px}
.foot .foot-legal{display:inline-block;margin-top:14px;font-size:13px;line-height:1.4;color:rgba(255,255,255,.7)}

/* σύνδεσμοι έργου (VT Site Studio, v0.25.0) */
.pj-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.pj-links .btn{font-size:13px;padding:9px 14px}


/* μακριές επικεφαλίδες κατηγοριών (SEO 03/10/2026): μικρότερο μέγεθος για να μη γίνονται τρεις τεράστιες γραμμές */
#vH1.long{font-size:clamp(38px,5vw,80px);line-height:1.02}

/* Ημερολόγιο γάμου (04/10/2026): ίδια γραμματοσειρά με το Wedding */
body.wed .ipage h1.split,body.wed .post-body h2,body.wed .post-next{font-family:var(--serif);font-weight:300;letter-spacing:-.02em}
body.wed .ipage h1.split em{font-style:italic}

/* Συχνές ερωτήσεις σε κατηγορίες και Wedding (04/10/2026) */
.cat-faq{padding-block:clamp(40px,6vw,90px) 0}
body.wed .w-faq{padding-block:0 clamp(70px,9vw,120px)}
body.wed .faq summary{font-family:var(--serif);font-weight:400}
body.wed .faq details[open] summary i{background:#2a2420;color:#fffdf9}
body.wed .cat-faq h2{font-family:var(--serif);font-weight:300;letter-spacing:-.02em}
body.wed .cat-faq .eyebrow{color:#a4845b}

/* κάρτες βίντεο: οι μεγάλοι τίτλοι πιάνουν έως 2 γραμμές αντί να κόβονται (04/10/2026) */
#vgrid .vc .meta b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* Wedding, πιο άμεσο (04/10/2026) */
.w-quick{margin-top:26px;display:grid;gap:10px;max-width:580px}
.w-quick label{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.9}
.w-quick .row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px;border-radius:99px;background:rgba(255,253,249,.16);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.w-quick input{flex:1 1 170px;min-width:0;background:transparent;border:0;color:#fff;font:inherit;font-size:16px;padding:10px 16px;color-scheme:dark;outline:none}
.w-quick input:focus-visible{box-shadow:inset 0 -2px 0 #fffdf9}
.w-quick button{flex:none}
@media (max-width:560px){.w-quick .row{border-radius:22px}.w-quick button{flex:1 1 100%;justify-content:center}}
.w-story-link{display:inline-block;margin-top:16px;font-size:14px;color:#fff;opacity:.85;text-decoration:underline;text-underline-offset:4px}
.w-story-link:hover{opacity:1}
.w-bar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:55;display:flex;gap:6px;padding:6px;border-radius:99px;
  background:rgba(42,36,32,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 40px -14px rgba(0,0,0,.55);
  opacity:0;pointer-events:none;transform:translate(-50%,24px);transition:opacity .35s,transform .45s var(--ease)}
.w-bar.on{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.w-bar a{padding:11px 18px;border-radius:99px;color:#fffdf9;font-size:14.5px;font-weight:500;white-space:nowrap;text-align:center}
.w-bar a:hover{background:rgba(255,255,255,.08)}
.w-bar .w-bar-main{background:#a4845b}
.w-bar .w-bar-main:hover{background:#b8956a}
@media (max-width:560px){.w-bar{left:12px;right:12px}.w-bar,.w-bar.on{transform:none}.w-bar:not(.on){transform:translateY(24px)}.w-bar a{flex:1;padding:12px 6px}}
.w-more{margin-top:var(--gap)}
.w-more summary{cursor:pointer;list-style:none;font-size:14.5px;color:#2a2420;padding:10px 0;display:flex;align-items:center;gap:8px}
.w-more summary::-webkit-details-marker{display:none}
.w-more summary::before{content:"+";display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);font-size:15px;transition:transform .3s}
.w-more[open] summary::before{transform:rotate(45deg)}
.w-more summary span{color:var(--mute)}
.w-more .grid2{margin-top:10px}
.ver{transition:bottom .3s}body:has(.w-bar.on) .ver{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.lb-stage .lb-yt{width:min(100%,calc((100vh - 170px)*16/9));aspect-ratio:16/9;height:auto;border:0;border-radius:var(--r-in);background:#000}
/* φιλμ αρχικής: σύρεται με το ποντίκι (05/10/2026) */
.film:not(.static){cursor:grab;user-select:none;-webkit-user-select:none}.film.drag{cursor:grabbing}.film img{-webkit-user-drag:none}
/* φόρμα Wedding: λεπτομέρειες σε πλαίσιο αριστερά (05/10/2026) */
.w-cols{display:grid;gap:var(--gap)}
.w-side{display:grid;gap:12px;align-content:start;background:rgba(164,132,91,.08);border:1px solid rgba(164,132,91,.22);border-radius:var(--r-in);padding:clamp(16px,2vw,24px)}
.w-side-h{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#a4845b}
.w-side .f input,.w-side .f select{background:#fffdf9}
@media (min-width:860px){.w-cols{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr)}.w-side{order:-1}}
/* ιστορία γάμου: πορτρέτο δίπλα στο κείμενο (επιλογή «Β», 05/10/2026) */
.sy-story{align-items:center}
.sy-fig{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:#e9e2d8}
.sy-fig img{width:100%;height:100%;object-fit:cover;display:block}
.sy-story.sy-solo{grid-template-columns:minmax(0,1fr);max-width:820px;margin-inline:auto;text-align:center}
.sy-story.sy-solo p.txt{margin-inline:auto}
@media (max-width:860px){.sy-fig{max-width:460px;width:100%;justify-self:center}}
/* προστασία υλικού (05/10/2026): εικόνες και βίντεο δεν σύρονται και δεν «αποθηκεύονται» με παρατεταμένο πάτημα στο κινητό */
img,video,picture{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}
img{-webkit-user-select:none;user-select:none}
/* εκτύπωση ή «Αποθήκευση ως PDF»: χωρίς φωτογραφίες και βίντεο */
@media print{img,video,picture,iframe,.sy-fig,.scr,.stack,.film,.hero video,.w-hero video{visibility:hidden!important}body::after{content:"© VTsagarakis. Οι φωτογραφίες και τα βίντεο προστατεύονται.";display:block;margin-top:20px;font-size:12px}}
/* Bio, «Η δουλειά μου» (07/10/2026) */
.bio-work{margin-top:clamp(70px,9vw,130px);display:grid;gap:var(--gap)}
.bio-work h2{font-size:clamp(32px,4vw,56px);margin-top:10px}
.bio-v{margin:0}.bio-v .pj-player{margin-top:0}
.bio-v figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:14px}
.bio-v figcaption b{font-family:var(--disp);font-weight:700;font-size:clamp(18px,1.8vw,24px);letter-spacing:-.02em}
.bio-v figcaption span{color:var(--mute);font-size:14px}
.bio-v figcaption a{margin-left:auto;font-size:14px;color:var(--soft)}
.bio-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
@media (max-width:760px){.bio-two{grid-template-columns:minmax(0,1fr)}}

