/* ============================================================
   ETHAURA, palette εξαγμένη απευθείας από το λογότυπο
   ============================================================ */
:root{
  --ink:#03011C;          /* βαθύ royal blue (φόντο) */
  --ink-2:#060335;        /* δεύτερο επίπεδο */
  --ink-3:rgba(255,255,255,.035); /* glass κάρτες */
  --royal:#0A0A6E;
  --line:rgba(173,170,255,.12);
  --line-2:rgba(173,170,255,.22);
  --fog:#CFCDF2;
  --white:#F3F1FF;

  --cyan:#57AAF5;
  --violet:#8A6CFF;
  --orchid:#D585FF;
  --magenta:#E867ED;

  --grad:linear-gradient(100deg,var(--cyan),var(--violet) 42%,var(--orchid) 72%,var(--magenta));
  --grad-soft:linear-gradient(100deg,rgba(87,170,251,.18),rgba(138,108,255,.18),rgba(232,103,237,.18));

  --display:'Bodoni Moda',Didot,'Times New Roman',serif;
  --body:'Inter','Manrope',-apple-system,system-ui,sans-serif;

  --r:16px; --r-lg:26px;
  --pad:clamp(20px,5vw,90px);
  --max:1280px;
}
*{margin:0;padding:0;box-sizing:border-box}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--body);color:var(--white);line-height:1.65;overflow-x:hidden;
  letter-spacing:.1px;-webkit-font-smoothing:antialiased;
  background:
    radial-gradient(120% 80% at 50% -10%,#0C0A5E 0%,transparent 55%),
    radial-gradient(100% 90% at 100% 100%,#0A0846 0%,transparent 60%),
    var(--ink);}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--orchid);color:var(--ink)}


/* social icons, footer */
.f-social{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.f-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--fog);
  transition:.28s cubic-bezier(.2,.7,.2,1)}
.f-social a:hover{color:var(--white);border-color:transparent;transform:translateY(-3px);
  background:linear-gradient(120deg,#57AAF5,#8A6CFF,#D585FF,#E867ED);
  box-shadow:0 8px 22px rgba(138,108,255,.34)}
.f-social a[aria-disabled="true"]{opacity:.72;pointer-events:none}
.f-social svg{width:19px;height:19px;fill:currentColor;display:block}

/* pricing */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px}
@media(max-width:900px){.price-grid{grid-template-columns:1fr}}
.price-card{border:1px solid var(--line);border-radius:20px;padding:34px 30px;
  background:var(--ink-3);display:flex;flex-direction:column;gap:16px;
  transition:.35s cubic-bezier(.2,.7,.2,1)}
.price-card:hover{border-color:var(--line-2);transform:translateY(-4px)}
.price-card h3{font-size:1.24rem;margin:0;color:#FFFFFF;letter-spacing:-.01em}
.price-card .amount{font-family:var(--body);font-weight:700;font-style:normal;
  font-size:clamp(2.1rem,4.6vw,3rem);line-height:1.05;color:#FFFFFF;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.price-card .amount .unit{font-size:.4em;font-weight:500;color:var(--fog);
  letter-spacing:0;margin-left:2px}
.price-card .from{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:#B9A6FF;font-weight:700}
.price-card .vat{font-size:.88rem;color:var(--fog);margin-top:-6px;font-weight:500}
.price-card p{color:#DEDCFA;font-size:.97rem;line-height:1.68;margin:0}
.price-card ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.price-card li{font-size:.95rem;color:#DEDCFA;padding-left:21px;position:relative}
.price-card li::before{content:"›";position:absolute;left:0;color:#B9A6FF;font-weight:700}
.price-card .price-cta{margin-top:auto;padding-top:20px}
.price-note{margin-top:30px;font-size:.93rem;color:#DEDCFA;line-height:1.7;
  border-left:2px solid var(--line-2);padding-left:18px;max-width:74ch}
/* signature canvas wave field */
#waves{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.9}
.veil{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(140% 90% at 50% 40%,transparent 30%,var(--ink) 92%)}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad);position:relative;z-index:2}
section{position:relative;z-index:2;padding-block:clamp(80px,11vw,160px)}

.eyebrow{font-size:.72rem;letter-spacing:.4em;text-transform:uppercase;font-weight:600;
  display:inline-block;color:var(--fog)}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.04;letter-spacing:-.01em}
h2{font-size:clamp(2.1rem,5.4vw,4rem);margin:.35em 0 .55em;font-optical-sizing:auto}
/* Σε πολυσέλιδο κάθε σελίδα έχει δική της <h1>: ο επικεφαλής τίτλος
   της ενότητας ανεβαίνει σε h1. Πρέπει να δείχνει ίδιος με h2. */
main h1{font-size:clamp(2.1rem,5.4vw,4rem);margin:.35em 0 .55em;font-optical-sizing:auto}
h3{font-size:1.4rem;font-weight:500}
p.lead{font-size:clamp(1.02rem,2.1vw,1.22rem);color:var(--fog);max-width:62ch;font-weight:400}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.btn{display:inline-flex;align-items:center;gap:.6em;font-weight:600;font-size:.95rem;
  padding:16px 30px;border-radius:100px;transition:.4s cubic-bezier(.2,.8,.2,1);cursor:pointer;
  border:1px solid transparent;white-space:nowrap;font-family:var(--body)}
.btn-grad{background:var(--grad);color:#fff;background-size:160% 160%;animation:flow 8s ease infinite}
.btn-grad:hover{transform:translateY(-3px);box-shadow:0 16px 44px rgba(138,108,255,.45)}
@keyframes flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.btn-ghost{border-color:var(--line-2);color:var(--white);background:rgba(255,255,255,.03);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:var(--orchid);color:#fff;transform:translateY(-3px)}
.btn .arr{transition:transform .4s}.btn:hover .arr{transform:translateX(5px)}

/* header */
header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .25s ease,padding-block .25s ease;padding-block:18px;background:rgba(5,2,51,.4);backdrop-filter:blur(10px)}
header.scrolled{background:rgba(5,2,51,.85);backdrop-filter:blur(22px) saturate(140%);
  padding-block:12px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:13px}
.brand img{width:42px;height:42px;border-radius:50%;object-fit:cover;
  box-shadow:0 6px 24px rgba(138,108,255,.4)}
.brand .name{font-family:var(--display);font-size:1.2rem;letter-spacing:.26em;font-weight:500}
.brand small{display:block;font-size:.54rem;letter-spacing:.34em;color:var(--fog);
  font-family:var(--body);font-weight:500;margin-top:2px}
.menu{display:flex;align-items:center;gap:clamp(14px,1.7vw,28px)}
.menu a.link{font-size:.9rem;color:var(--fog);font-weight:500;position:relative;transition:.3s}
.menu a.link::after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--grad);transition:.35s}
.menu a.link:hover{color:#fff}.menu a.link:hover::after{width:100%}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:60}
.burger span{width:26px;height:2px;background:#fff;transition:.3s;border-radius:2px}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* hero */
.hero{min-height:100svh;display:flex;align-items:center;text-align:center;padding-top:120px}
.hero .wrap{display:flex;flex-direction:column;align-items:center}
.hero-logo{width:clamp(190px,26vw,280px);height:auto;margin-bottom:22px;
  filter:drop-shadow(0 20px 60px rgba(138,108,255,.5));
  animation:rise 1.1s cubic-bezier(.2,.8,.2,1) both}
.hero h1{font-size:clamp(2.7rem,8vw,6.6rem);margin:.1em 0 .25em;font-weight:500}
.hero h1 em{font-style:italic;font-weight:400}
.hero .lead{margin:0 auto 2.4em;text-align:center}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

.tag{font-size:.76rem;padding:8px 16px;border:1px solid var(--line);border-radius:100px;
  color:var(--fog);background:rgba(255,255,255,.03);backdrop-filter:blur(6px)}
@keyframes rise{from{opacity:0;transform:translateY(40px) scale(.92)}to{opacity:1;transform:none}}

/* marquee */
.marquee{border-block:1px solid var(--line);padding-block:24px;overflow:hidden;
  background:rgba(255,255,255,.02);position:relative;z-index:2}
.marquee-track{display:flex;white-space:nowrap;width:max-content;
  animation:scrollx 42s linear infinite;will-change:transform;
  backface-visibility:hidden;transform:translate3d(0,0,0)}
.marquee span{font-family:var(--display);font-style:italic;font-size:clamp(1.2rem,3vw,2rem);
  color:var(--fog);display:inline-flex;align-items:center;gap:54px;font-weight:400;
  margin-right:54px}
.marquee span::after{content:"✦";font-style:normal;font-size:.55em;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes scrollx{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.grid{display:grid;gap:22px}
.cols-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--ink-3);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:38px;transition:.45s;position:relative;overflow:hidden;backdrop-filter:blur(10px)}
.card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;opacity:0;transition:.45s;
  background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.card:hover{transform:translateY(-7px)}
.card:hover::after{opacity:1}
.card .ic{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;margin-bottom:22px;
  background:var(--grad-soft);font-size:1.4rem;border:1px solid var(--line-2)}
.card .ic span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.card p{color:var(--fog);font-size:.97rem;margin-top:11px;font-weight:400}
.card .more{display:inline-flex;gap:.5em;margin-top:20px;font-weight:600;font-size:.88rem;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.steps{display:grid;margin-top:54px}
.step{display:grid;grid-template-columns:auto 1fr;gap:34px;padding:36px 0;border-top:1px solid var(--line);align-items:start}
.step:last-child{border-bottom:1px solid var(--line)}
.step .num{font-family:var(--display);font-style:italic;font-size:clamp(2.2rem,5vw,3.4rem);
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;min-width:1.8em}
.step p{color:var(--fog);max-width:62ch;margin-top:9px;font-weight:400}

.auto{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.flow{background:var(--ink-3);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:32px;backdrop-filter:blur(12px)}
.node{display:flex;align-items:center;gap:15px;padding:17px 19px;border-radius:14px;
  background:rgba(255,255,255,.03);border:1px solid var(--line);margin-bottom:14px;
  opacity:0;transform:translateY(14px);transition:.55s}
.flow.in .node{opacity:1;transform:none}
.flow.in .node:nth-child(2){transition-delay:.12s}
.flow.in .node:nth-child(3){transition-delay:.24s}
.flow.in .node:nth-child(4){transition-delay:.36s}
.node .pin{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;
  background:var(--grad);color:#fff;font-size:1.1rem;flex-shrink:0;background-size:160%;animation:flow 8s infinite}
.node b{font-size:.95rem}.node small{display:block;color:var(--fog);font-size:.78rem;font-weight:400}
.node .status{margin-left:auto;font-size:.68rem;color:var(--cyan);font-weight:600;display:flex;align-items:center;gap:6px}
.node .status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);
  box-shadow:0 0 9px var(--cyan);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.3}}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat .n{font-family:var(--display);font-size:clamp(2.6rem,6.5vw,4rem);line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-fill-color:transparent;display:inline-block;white-space:nowrap}
.stat .n .suf{font-size:.58em;font-weight:500;margin-left:.04em;letter-spacing:.02em}
.stat .l{color:var(--fog);font-size:.88rem;margin-top:10px;letter-spacing:.05em;font-weight:400}

.faq{max-width:860px;margin-inline:auto}
.q{border:1px solid var(--line);border-radius:var(--r);margin-bottom:14px;
  background:var(--ink-3);overflow:hidden;transition:.3s;backdrop-filter:blur(8px)}
.q.open{border-color:var(--line-2)}
.q button{width:100%;text-align:left;padding:23px 26px;background:none;border:none;color:#fff;
  font-size:1.06rem;font-weight:600;font-family:var(--body);cursor:pointer;display:flex;
  justify-content:space-between;align-items:center;gap:16px}
.q .plus{font-size:1.5rem;transition:.35s;flex-shrink:0;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.q.open .plus{transform:rotate(45deg)}
.q .ans{max-height:0;overflow:hidden;transition:max-height .45s ease;color:var(--fog)}
.q .ans p{padding:0 26px 23px;font-weight:400}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.booking-card{position:relative;overflow:hidden;padding:30px;border:1px solid var(--line-2);
  border-radius:18px;background:linear-gradient(145deg,rgba(138,108,255,.16),rgba(87,170,251,.07) 55%,rgba(232,103,237,.1));
  box-shadow:0 22px 60px rgba(1,0,24,.32);margin-bottom:20px}
.booking-card::before{content:"";position:absolute;width:180px;height:180px;right:-72px;top:-92px;
  border-radius:50%;background:rgba(213,133,255,.16);filter:blur(4px);pointer-events:none}
.booking-meta{display:inline-block;margin-bottom:12px;color:var(--cyan);font-size:.72rem;font-weight:700;
  letter-spacing:.15em}
.booking-card h3{position:relative;font-family:var(--display);font-size:clamp(1.55rem,3vw,2rem);
  font-weight:500;line-height:1.16;margin-bottom:12px;color:#fff}
.booking-card p{position:relative;color:var(--fog);font-size:.96rem;line-height:1.7}
.booking-card small{position:relative;display:block;margin-top:15px;color:#aaa7cd;font-size:.78rem;line-height:1.55}
.booking-cta{position:relative;width:100%;justify-content:center;margin-top:20px;text-align:center}
.contact-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:#9692bd;font-size:.76rem;
  letter-spacing:.11em;text-transform:uppercase}
.contact-divider::before,.contact-divider::after{content:"";height:1px;background:var(--line);flex:1}
form{display:grid;gap:16px}
.field input,.field textarea{width:100%;padding:16px 19px;border-radius:14px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);color:#fff;
  font-family:var(--body);font-size:.96rem;transition:.3s}
.field input::placeholder,.field textarea::placeholder{color:#7c79b0}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--orchid);
  box-shadow:0 0 0 3px rgba(213,133,255,.14)}
.field textarea{resize:vertical;min-height:130px}
.contact-info .row{display:flex;gap:15px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}
.contact-info .row .ic{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;
  background:var(--grad-soft);border:1px solid var(--line-2);font-size:1.2rem}
.contact-info .row .ic span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.contact-info .row b{font-size:.74rem;color:var(--fog);text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.contact-info .row span.v{display:block;font-size:1.05rem;margin-top:3px}
.form-msg{font-size:.9rem;padding:13px 17px;border-radius:12px;display:none}
.form-msg.ok{display:block;background:rgba(87,170,251,.12);color:var(--cyan);border:1px solid rgba(87,170,251,.3)}

footer{background:#020018;border-top:1px solid rgba(138,108,255,.22);padding-block:64px 32px;position:relative;z-index:2;box-shadow:0 -1px 40px -10px rgba(138,108,255,.15)}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(138,108,255,.5),rgba(232,103,237,.5),transparent)}
.f-grid{display:flex;justify-content:space-between;align-items:flex-start;gap:46px;flex-wrap:wrap}
.f-links{display:flex;gap:46px;flex-wrap:wrap}
.f-col h4{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.f-col a{display:block;color:var(--fog);font-size:.92rem;margin-bottom:10px;transition:.3s;font-weight:400}
.f-col a:hover{color:#fff}
.copy{margin-top:44px;padding-top:26px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--fog);font-size:.84rem;font-weight:400}

.float{position:fixed;right:18px;bottom:18px;z-index:40;display:flex;flex-direction:column;gap:12px}
.fab{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:1.3rem;
  box-shadow:0 12px 34px rgba(0,0,0,.5);transition:.3s;cursor:pointer;border:none}
.fab.up{background:var(--grad);color:#fff;background-size:160%;animation:flow 8s infinite}
.fab:hover{transform:scale(1.09) translateY(-2px)}
#top{opacity:0;pointer-events:none}#top.show{opacity:1;pointer-events:auto}

.reveal{opacity:0;transform:translateY(30px);transition:.85s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}

@media(max-width:980px){
  .auto,.contact-grid{grid-template-columns:1fr}
  .cols-3{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}
}
@media(max-width:880px){
  .menu .btn{display:none} /* Hide header CTA on tablet so menu doesn't overflow */
  .brand .name{font-size:1.05rem;letter-spacing:.18em}
  .brand small{font-size:.48rem}
  .menu{gap:22px}
  .menu a.link{font-size:.85rem}
  .menu .lang-toggle{font-size:.68rem}
  .menu .lang-toggle button,.menu .lang-toggle a{padding:6px 10px}
}
@media(max-width:680px){
  /* Mobile menu, fullscreen overlay, clean & premium */
  .menu{position:fixed;top:0;left:0;right:0;bottom:0;
    width:100vw;height:100svh;
    flex-direction:column;justify-content:center;align-items:center;gap:28px;
    background:#030220;
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .35s ease,visibility .35s;
    padding:80px 32px 40px;z-index:55}
  .menu.open{opacity:1;visibility:visible;pointer-events:auto}
  .menu a.link{color:#fff;font-size:1.7rem;font-family:var(--display);font-style:italic;
    font-weight:500;letter-spacing:-.01em;padding:8px 0;position:relative;text-align:center}
  .menu a.link::after{display:none}
  .menu .btn{margin-top:14px;font-size:.9rem;padding:14px 26px;width:auto;min-width:200px;justify-content:center}
  .menu .lang-toggle{font-size:.78rem;margin-top:6px}
  .booking-card{padding:24px 20px}
  .menu .lang-toggle button,.menu .lang-toggle a{padding:8px 14px}
  .burger{display:flex;z-index:60;position:relative}
  .cols-3,.stats{grid-template-columns:1fr}
  .step{grid-template-columns:1fr;gap:6px}
  .hero-cta .btn{flex:1;justify-content:center;min-width:160px}

  /* Chat launcher + panel mobile QA */
  .chat-launch{padding:10px;left:14px;bottom:14px}
  .chat-launch small{display:none}
  .chat-launch .pulse{left:34px;top:7px}
  .chat-panel{left:8px;right:8px;bottom:8px;width:auto;height:min(86svh,640px);border-radius:20px}
  .chat-head{padding:14px 16px}
  .chat-foot{padding:10px;gap:6px}
  .chat-foot input{font-size:16px;padding:11px 14px} /* 16px prevents iOS auto-zoom */
  .chat-foot button{width:42px;height:42px}
  .msg{font-size:.92rem;max-width:88%}
  .chip{font-size:.82rem;padding:8px 14px}
  .lead-form input{font-size:16px}
  /* Form fields, anti-zoom on iOS */
  .field input,.field textarea{font-size:16px}

  /* Header brand, shrink to fit small screens */
  .brand img{width:34px;height:34px;border-radius:50%}
  .brand .name{font-size:.95rem;letter-spacing:.18em}
  .brand small{font-size:.46rem;letter-spacing:.24em}
  .brand{gap:9px}

  /* Book overlay mobile */
  .book{max-height:90svh;border-radius:6px}
  .book-title{padding:24px 22px 16px}
  .book-title small{font-size:.58rem;letter-spacing:.4em;margin-bottom:10px}
  .book-title h3{font-size:1.6rem}
  .book-title .ornament{font-size:.7rem;letter-spacing:.6em;margin-top:10px}
  .book-body{padding:22px 24px 28px}
  .book-body .q-text{font-size:1.1rem;margin-bottom:18px;padding-bottom:14px}
  .book-body .a-text{font-size:.95rem;line-height:1.65}

  /* Floating button position - don't overlap chat */
  .float{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .fab{width:48px;height:48px;font-size:1.1rem}

  /* ΔΙΟΡΘΩΣΗ ΕΠΙΚΑΛΥΨΗΣ
     Το «Ζήτησε δωρεάν πρόταση» είναι fixed σε όλο το πλάτος με
     z-index:60. Το κουμπί ↑ ήταν στα 14px με z-index:40, δηλαδή
     ΑΚΡΙΒΩΣ από κάτω — και εξαφανιζόταν μέσα του.
     Το --cta-h το μετράει η JavaScript από το ΠΡΑΓΜΑΤΙΚΟ ύψος του
     κουμπιού, οπότε δουλεύει και αν το κείμενο τυλιχτεί σε δύο
     γραμμές (π.χ. σε στενή οθόνη ή στα αγγλικά). */
  body.cta-on .float{
    bottom:calc(var(--cta-h,54px) + 26px + env(safe-area-inset-bottom,0px));
  }
  body.cta-on .chat-launch{
    bottom:calc(var(--cta-h,54px) + 26px + env(safe-area-inset-bottom,0px)) !important;
  }
  .float,.chat-launch{transition:bottom .35s cubic-bezier(.2,.8,.2,1)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}#waves{display:none}}

/* ===== Editorial upgrades ===== */
/* Service cards with deliverables */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:56px}
.svc{background:var(--ink-3);border:1px solid var(--line);border-radius:var(--r-lg);padding:42px;
  position:relative;overflow:hidden;backdrop-filter:blur(12px);transition:.5s}
.svc::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;opacity:0;transition:.5s;
  background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.svc:hover{transform:translateY(-6px)}.svc:hover::after{opacity:1}
.svc .svc-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:18px}
.svc .ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:var(--grad-soft);border:1px solid var(--line-2);flex-shrink:0}
.svc .ico svg{width:24px;height:24px;stroke:url(#grad-stroke);fill:none;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.svc h3{font-size:1.5rem;margin-top:6px}
.svc .num{position:absolute;top:30px;right:34px;font-family:var(--display);font-style:italic;
  font-size:1.05rem;color:var(--fog);opacity:.5;letter-spacing:.1em}
.svc>p{color:var(--fog);font-weight:400;font-size:.98rem;margin-bottom:22px}
.svc .deliv{list-style:none;display:grid;gap:9px;padding-top:18px;border-top:1px solid var(--line)}
.svc .deliv li{font-size:.88rem;color:var(--white);font-weight:400;display:flex;gap:11px;
  align-items:flex-start;padding-left:0}
.svc .deliv li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--grad);
  margin-top:9px;flex-shrink:0;background-size:160%}
.svc .deliv b{font-weight:600;color:var(--fog);font-size:.66rem;letter-spacing:.18em;
  text-transform:uppercase;margin-bottom:6px;display:block}

/* Manifesto / Principles */
.manifesto{padding-block:clamp(80px,11vw,150px);background:rgba(255,255,255,.018);border-block:1px solid var(--line)}
.mani-head{max-width:780px;margin:0 auto 64px;text-align:center}
.mani-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.mani-card{background:var(--ink);padding:44px 38px;transition:.4s;position:relative}
.mani-card:hover{background:rgba(255,255,255,.025)}
.mani-card .mn{font-family:var(--display);font-style:italic;font-size:1rem;letter-spacing:.18em;
  margin-bottom:18px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.mani-card h4{font-family:var(--body);font-size:1.28rem;line-height:1.25;margin-bottom:12px;font-weight:700;letter-spacing:-.01em}
.mani-card p{color:var(--fog);font-weight:400;font-size:.95rem;max-width:42ch}

/* Editorial process (deeper method) */
.proc{margin-top:64px}
.phase{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;padding:42px 0;
  border-top:1px solid var(--line);align-items:start}
.phase:last-child{border-bottom:1px solid var(--line)}
.phase .pnum{font-family:var(--display);font-style:italic;font-size:clamp(2.4rem,5.4vw,3.6rem);
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.phase h3{font-size:1.4rem;margin-bottom:6px}
.phase .pdesc p{color:var(--fog);font-weight:400;font-size:.96rem;max-width:54ch}
.phase .pdeliv{display:grid;gap:14px}
.phase .pdeliv .lbl{font-size:.66rem;letter-spacing:.22em;color:var(--fog);text-transform:uppercase;font-weight:600}
.phase .pdeliv .out{font-family:var(--body);font-style:normal;font-size:1.02rem;line-height:1.45;color:var(--white);font-weight:600}
.phase .pdeliv .time{font-size:.82rem;color:var(--fog);font-weight:400}

/* Principles row */
.princ-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:54px}
.princ{background:var(--ink);padding:34px 32px;transition:.4s}
.princ:hover{background:rgba(255,255,255,.025)}
.princ .pi{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:var(--grad-soft);border:1px solid var(--line-2);margin-bottom:18px}
.princ .pi svg{width:20px;height:20px;stroke:url(#grad-stroke);fill:none;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.princ h4{font-size:1.05rem;margin-bottom:7px;font-family:var(--body);font-weight:600;letter-spacing:.01em}
.princ p{color:var(--fog);font-size:.88rem;font-weight:400;line-height:1.5}

/* Pull-quote block */
.quote-wrap{padding-block:clamp(70px,9vw,120px);text-align:center}
.quote-wrap blockquote{font-family:var(--display);font-style:italic;font-size:clamp(1.6rem,3.6vw,2.6rem);
  line-height:1.25;font-weight:400;max-width:24ch;margin:0 auto;letter-spacing:-.01em}
.quote-wrap blockquote span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.quote-wrap cite{display:block;margin-top:26px;font-style:normal;font-size:.72rem;letter-spacing:.32em;
  text-transform:uppercase;color:var(--fog)}

/* Inline SVG icon system */
.icon-defs{position:absolute;width:0;height:0;overflow:hidden}

@media(max-width:980px){
  .svc-grid,.mani-grid,.princ-grid{grid-template-columns:1fr}
  .phase{grid-template-columns:1fr;gap:14px}
  .phase .pnum{font-size:2.2rem}
}

/* ===== AI Assistant "Aura" ===== */
.chat-launch{position:fixed;left:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:11px;
  padding:11px 18px 11px 11px;border-radius:100px;cursor:pointer;border:1px solid var(--line-2);
  background:rgba(8,5,82,.72);backdrop-filter:blur(16px) saturate(140%);
  box-shadow:0 12px 34px rgba(0,0,0,.5);transition:.35s}
.chat-launch:hover{transform:translateY(-2px);border-color:var(--orchid)}
.chat-launch .av{width:38px;height:38px;border-radius:50%;
  background:#08043c url('/aura-avatar.webp') center/cover no-repeat;
  border:1px solid rgba(213,133,255,.72);box-shadow:0 0 14px rgba(138,108,255,.34);
  display:grid;place-items:center;font-size:0;color:transparent;overflow:hidden;flex-shrink:0}
.chat-launch b{font-size:.85rem;display:block}.chat-launch small{display:block;color:var(--fog);font-size:.7rem}
.chat-launch .pulse{position:absolute;top:9px;left:40px;width:9px;height:9px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:blink 1.6s infinite}
.chat-panel{position:fixed;left:18px;bottom:18px;z-index:61;width:min(384px,calc(100vw - 36px));
  height:min(580px,calc(100svh - 36px));background:rgba(6,3,58,.94);
  backdrop-filter:blur(26px) saturate(150%);border:1px solid var(--line-2);border-radius:24px;
  display:none;flex-direction:column;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.65)}
.chat-panel.open{display:flex;animation:rise .4s both}
.chat-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.chat-head .av{width:44px;height:44px;border-radius:50%;
  background:#08043c url('/aura-avatar.webp') center/cover no-repeat;
  border:1px solid rgba(213,133,255,.72);box-shadow:0 0 16px rgba(138,108,255,.34);
  display:grid;place-items:center;color:transparent;font-size:0;overflow:hidden;flex-shrink:0}
.chat-head b{font-size:.95rem}
.chat-head small{display:flex;align-items:center;gap:6px;color:var(--cyan);font-size:.72rem;margin-top:2px}
.chat-head small::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.chat-head .x{margin-left:auto;cursor:pointer;color:var(--fog);font-size:1.5rem;background:none;border:none;line-height:1}
.chat-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:11px}
.chat-body::-webkit-scrollbar{width:6px}.chat-body::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:6px}
.msg{max-width:86%;padding:12px 15px;border-radius:16px;font-size:.9rem;line-height:1.55;animation:rise .3s both}
.msg.bot{background:rgba(255,255,255,.05);border:1px solid var(--line);border-bottom-left-radius:5px;align-self:flex-start}
.msg.user{background:var(--grad);background-size:160%;color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;max-width:100%}
.chip{font-size:.8rem;padding:8px 13px;border-radius:100px;border:1px solid var(--line-2);
  background:rgba(255,255,255,.04);color:var(--white);cursor:pointer;transition:.25s}
.chip:hover{border-color:var(--orchid);background:rgba(213,133,255,.14)}
.chat-foot{padding:12px;border-top:1px solid var(--line);display:flex;gap:8px}
.chat-foot input{flex:1;padding:12px 16px;border-radius:100px;background:rgba(255,255,255,.05);
  border:1px solid var(--line);color:#fff;font-family:var(--body);font-size:.9rem}
.chat-foot input:focus{outline:none;border-color:var(--orchid)}
.chat-foot button{width:44px;height:44px;border-radius:50%;border:none;background:var(--grad);
  background-size:160%;animation:flow 8s infinite;color:#fff;cursor:pointer;font-size:1.15rem;flex-shrink:0}
.typing{display:flex;gap:4px;padding:14px 16px;align-self:flex-start;background:rgba(255,255,255,.05);
  border:1px solid var(--line);border-radius:16px;border-bottom-left-radius:5px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--fog);animation:bob 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes bob{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}
.lead-form{display:flex;flex-direction:column;gap:9px;background:rgba(255,255,255,.04);
  border:1px solid var(--line-2);padding:13px;border-radius:14px;align-self:flex-start;max-width:92%}
.lead-form input{padding:11px 14px;border-radius:10px;background:rgba(255,255,255,.05);
  border:1px solid var(--line);color:#fff;font-family:var(--body);font-size:.88rem}
.lead-form input:focus{outline:none;border-color:var(--orchid)}
.lead-form button{padding:11px;border-radius:10px;border:none;background:var(--grad);background-size:160%;
  animation:flow 8s infinite;color:#fff;font-weight:600;cursor:pointer;font-family:var(--body)}

/* Structured appointment details inside Aura. Personal details stay in this
   temporary form and are not added to the assistant's saved chat history. */
.aura-booking-card{align-self:stretch;display:flex;flex-direction:column;gap:12px;
  padding:16px;border:1px solid rgba(213,133,255,.32);border-radius:18px;
  background:linear-gradient(155deg,rgba(138,108,255,.14),rgba(255,255,255,.035));
  box-shadow:0 16px 38px rgba(0,0,0,.22);animation:rise .3s both}
.aura-booking-card-head{display:flex;flex-direction:column;gap:4px;padding-bottom:4px}
.aura-booking-card-head b{font-size:.98rem;color:#fff}
.aura-booking-card-head small{font-size:.76rem;line-height:1.45;color:var(--orchid)}
.aura-booking-card>label{display:flex;flex-direction:column;gap:6px}
.aura-booking-card>label>span{font-size:.77rem;font-weight:600;color:#e9e7fa}
.aura-booking-card input[type="text"],.aura-booking-card input[type="email"],
.aura-booking-card textarea{width:100%;padding:11px 12px;border:1px solid var(--line);
  border-radius:11px;background:rgba(3,2,32,.48);color:#fff;font:inherit;font-size:.88rem;
  line-height:1.4;transition:border-color .2s,box-shadow .2s}
.aura-booking-card textarea{min-height:76px;max-height:150px;resize:vertical}
.aura-booking-card input:focus,.aura-booking-card textarea:focus{outline:none;border-color:var(--orchid);
  box-shadow:0 0 0 3px rgba(213,133,255,.1)}
.aura-booking-privacy{color:var(--fog);font-size:.68rem;line-height:1.45}
.aura-booking-card-error{display:none;padding:8px 10px;border:1px solid rgba(255,112,145,.3);
  border-radius:9px;background:rgba(255,112,145,.08);color:#ffb1c3;font-size:.72rem;line-height:1.4}
.aura-booking-card-error.show{display:block}
.aura-booking-card-submit{width:100%;padding:11px 14px;border:0;border-radius:11px;background:var(--grad);
  background-size:160%;animation:flow 8s infinite;color:#fff;font-family:var(--body);font-weight:700;
  font-size:.82rem;cursor:pointer}
.aura-booking-card-change{align-self:center;padding:3px 7px;border:0;background:none;color:var(--fog);
  font-family:var(--body);font-size:.75rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.aura-booking-card-change:hover{color:#fff}
@media(max-width:680px){
  .aura-booking-card{padding:14px;gap:11px}
  .aura-booking-card input[type="text"],.aura-booking-card input[type="email"],
  .aura-booking-card textarea{font-size:16px}
}
.sec-pulse{animation:secp 1.4s ease 2}
@keyframes secp{0%,100%{box-shadow:inset 0 0 0 0 transparent}50%{box-shadow:inset 0 0 80px rgba(138,108,255,.25)}}
/* ===== Cookie Consent Banner & Preferences Modal ===== */
.cc-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:80;max-width:560px;
  background:rgba(8,5,82,.95);backdrop-filter:blur(28px) saturate(160%);
  border:1px solid var(--line-2);border-radius:20px;padding:22px 24px;
  box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 0 1px rgba(138,108,255,.15);
  opacity:0;transform:translateY(20px);transition:opacity .5s,transform .5s;pointer-events:none}
.cc-banner.show{opacity:1;transform:translateY(0);pointer-events:auto}
.cc-banner h4{font-family:var(--display);font-size:1.15rem;font-weight:500;margin:0 0 8px;
  display:flex;align-items:center;gap:9px}
.cc-banner h4 .ico{width:22px;height:22px;display:inline-grid;place-items:center;
  background:var(--grad);border-radius:50%;font-size:.85rem;background-size:160%;animation:flow 8s infinite}
.cc-banner p{color:var(--fog);font-size:.86rem;line-height:1.55;font-weight:400;margin:0 0 16px}
.cc-banner p a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.cc-actions{display:flex;gap:9px;flex-wrap:wrap}
.cc-actions button{flex:1;min-width:0;padding:11px 16px;border-radius:100px;font-family:var(--body);
  font-weight:600;font-size:.84rem;cursor:pointer;transition:.25s;border:1px solid var(--line-2);
  background:transparent;color:#fff;letter-spacing:.01em;white-space:nowrap}
.cc-actions button:hover{border-color:rgba(138,108,255,.45);background:rgba(138,108,255,.08)}
.cc-actions button.cc-accept{background:var(--grad);background-size:160%;border-color:transparent;
  animation:flow 8s infinite;flex:1.4}
.cc-actions button.cc-accept:hover{transform:translateY(-1px)}
.cc-actions button.cc-prefs{background:transparent}

@media(max-width:680px){
  .cc-banner{left:8px;right:8px;bottom:8px;padding:18px 18px;border-radius:18px}
  .cc-banner h4{font-size:1rem}
  .cc-banner p{font-size:.82rem}
  .cc-actions{flex-direction:column-reverse;gap:8px}
  .cc-actions button{flex:none;width:100%}
}

/* Preferences modal */
.cc-modal{position:fixed;inset:0;z-index:85;background:rgba(3,2,30,.85);
  backdrop-filter:blur(18px) saturate(150%);display:none;align-items:center;justify-content:center;
  padding:20px;animation:bookFade .35s both}
.cc-modal.open{display:flex}
.cc-modal-box{width:min(560px,100%);max-height:88svh;background:var(--ink-3);
  border:1px solid var(--line-2);border-radius:24px;display:flex;flex-direction:column;
  box-shadow:0 30px 70px rgba(0,0,0,.6);overflow:hidden;
  animation:bookOpen .45s cubic-bezier(.3,.9,.4,1.05) both}
.cc-modal-head{padding:24px 28px 18px;border-bottom:1px solid var(--line);position:relative}
.cc-modal-head h3{font-family:var(--display);font-size:1.5rem;font-weight:500;margin:0 0 6px}
.cc-modal-head p{color:var(--fog);font-size:.86rem;line-height:1.5;font-weight:400;margin:0;max-width:46ch}
.cc-modal-head .x{position:absolute;top:18px;right:18px;width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.06);color:#fff;border:none;cursor:pointer;font-size:1.1rem;
  display:grid;place-items:center;transition:.25s}
.cc-modal-head .x:hover{background:rgba(255,255,255,.12)}

.cc-modal-body{padding:8px 28px 16px;overflow-y:auto;flex:1}
.cc-modal-body::-webkit-scrollbar{width:6px}
.cc-modal-body::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:6px}

.cc-cat{padding:18px 0;border-bottom:1px solid var(--line)}
.cc-cat:last-child{border-bottom:0}
.cc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}
.cc-cat-head h4{font-family:var(--body);font-size:1rem;font-weight:600;margin:0;letter-spacing:.01em}
.cc-cat-head .req{font-size:.66rem;letter-spacing:.18em;color:var(--fog);text-transform:uppercase;font-weight:600}
.cc-cat p{color:var(--fog);font-size:.82rem;line-height:1.55;font-weight:400;margin:0;max-width:50ch}

/* Toggle switch */
.cc-toggle{position:relative;width:42px;height:24px;border-radius:24px;background:rgba(255,255,255,.1);
  border:1px solid var(--line);cursor:pointer;transition:.3s;flex-shrink:0}
.cc-toggle::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;
  background:#fff;transition:.3s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.cc-toggle.on{background:var(--grad);border-color:transparent;background-size:160%;animation:flow 8s infinite}
.cc-toggle.on::after{transform:translateX(18px)}
.cc-toggle.locked{opacity:.5;cursor:not-allowed}
.cc-toggle.locked.on{background:var(--grad);background-size:160%}

.cc-modal-foot{padding:18px 28px 22px;border-top:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap}
.cc-modal-foot button{flex:1;min-width:0;padding:13px 16px;border-radius:100px;font-family:var(--body);
  font-weight:600;font-size:.85rem;cursor:pointer;transition:.25s;border:1px solid var(--line-2);
  background:transparent;color:#fff;white-space:nowrap}
.cc-modal-foot button:hover{border-color:rgba(138,108,255,.45);background:rgba(138,108,255,.08)}
.cc-modal-foot button.primary{background:var(--grad);background-size:160%;border-color:transparent;
  animation:flow 8s infinite}

@media(max-width:680px){
  .cc-modal-box{max-height:92svh;border-radius:18px}
  .cc-modal-head{padding:20px 22px 16px}
  .cc-modal-head h3{font-size:1.3rem}
  .cc-modal-body{padding:6px 22px 14px}
  .cc-modal-foot{padding:16px 22px;flex-direction:column-reverse}
  .cc-modal-foot button{flex:none;width:100%}
}

/* ===== Legal pages (cookie/privacy/terms) ===== */
.legal-page{padding-block:clamp(100px,12vw,160px) clamp(80px,11vw,150px);background:var(--ink)}
.legal-page .wrap{max-width:780px}
.legal-page .eyebrow{margin-bottom:12px}
.legal-page h1{font-family:var(--display);font-size:clamp(2.2rem,5.6vw,3.4rem);
  font-weight:500;line-height:1.08;margin-bottom:18px;letter-spacing:-.01em}
.legal-page .updated{font-size:.78rem;color:var(--fog);letter-spacing:.05em;
  display:inline-block;padding:6px 14px;background:var(--ink-3);border:1px solid var(--line);
  border-radius:100px;margin-bottom:46px}
.legal-page h2{font-family:var(--body);font-size:1.4rem;font-weight:600;
  letter-spacing:.01em;margin:48px 0 14px;color:#fff}
.legal-page h3{font-size:1.05rem;font-weight:600;margin:28px 0 8px;color:#fff;font-family:var(--body)}
.legal-page p{color:var(--fog);font-size:1rem;font-weight:400;line-height:1.75;margin-bottom:18px}
.legal-page p strong{color:#fff;font-weight:600}
.legal-page p a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.legal-page ul{list-style:none;padding:0;margin:0 0 22px}
.legal-page ul li{color:var(--fog);font-size:1rem;font-weight:400;line-height:1.7;
  padding:6px 0 6px 22px;position:relative}
.legal-page ul li::before{content:"";position:absolute;left:0;top:16px;width:6px;height:6px;
  border-radius:50%;background:var(--grad);background-size:160%}
.legal-page table{width:100%;border-collapse:collapse;margin:18px 0 30px;font-size:.92rem}
.legal-page table th,.legal-page table td{padding:14px 16px;text-align:left;
  border-bottom:1px solid var(--line);font-weight:400;color:var(--fog);vertical-align:top}
.legal-page table th{color:#fff;font-weight:600;background:var(--ink-3);font-size:.74rem;
  letter-spacing:.14em;text-transform:uppercase}
.legal-page table tr:hover td{background:rgba(255,255,255,.012)}
.legal-page .back-link{display:inline-flex;align-items:center;gap:8px;margin-top:48px;
  font-size:.88rem;color:var(--fog);text-decoration:none;font-weight:500;
  padding:10px 20px;border:1px solid var(--line-2);border-radius:100px;transition:.3s}
.legal-page .back-link:hover{color:#fff;border-color:rgba(138,108,255,.45);background:rgba(138,108,255,.06)}

/* ===== FAQ, Elegant editorial book overlay ===== */
.book-overlay{position:fixed;inset:0;z-index:70;background:rgba(3,2,30,.88);
  backdrop-filter:blur(18px) saturate(150%);display:none;align-items:center;justify-content:center;
  padding:20px;animation:bookFade .4s both}
.book-overlay.open{display:flex}
@keyframes bookFade{from{opacity:0}to{opacity:1}}

.book{width:min(680px,100%);max-height:88svh;background:
  linear-gradient(150deg,#fbf5e3 0%,#f3e9c8 50%,#ead9a8 100%);
  border-radius:8px;position:relative;
  box-shadow:0 40px 100px rgba(0,0,0,.7),
    0 0 0 1px rgba(180,140,60,.2),
    inset 0 0 80px rgba(140,100,40,.10);
  animation:bookOpen .5s cubic-bezier(.3,.9,.4,1.05) both;overflow:hidden;
  display:flex;flex-direction:column}
@keyframes bookOpen{from{opacity:0;transform:translateY(20px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}}

.book::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;opacity:.15}

.book-title{text-align:center;padding:32px 30px 22px;position:relative;z-index:1;
  border-bottom:1px solid rgba(120,80,30,.28)}
.book-title small{display:block;letter-spacing:.5em;font-size:.62rem;font-weight:700;
  text-transform:uppercase;margin-bottom:14px;color:#8a5f2a;padding-left:.5em}
.book-title h3{font-size:clamp(1.7rem,4.4vw,2.4rem);font-family:var(--display);font-style:italic;
  font-weight:500;margin:0;letter-spacing:.02em;color:#3a2306}
.book-title .ornament{margin:14px auto 0;font-size:.8rem;opacity:.5;letter-spacing:.8em;
  color:#8a5f2a;padding-left:.8em}

.book-body{padding:28px 36px 38px;position:relative;z-index:1;overflow-y:auto;flex:1}
.book-body::-webkit-scrollbar{width:6px}
.book-body::-webkit-scrollbar-thumb{background:rgba(120,80,30,.3);border-radius:6px}
.book-body .q-label{font-size:.62rem;letter-spacing:.32em;color:#8a5f2a;font-weight:700;
  text-transform:uppercase;margin-bottom:10px}
.book-body .q-text{font-family:var(--display);font-style:italic;font-size:1.3rem;color:#2b1a04;
  margin-bottom:24px;font-weight:500;line-height:1.3;padding-bottom:16px;
  border-bottom:1px solid rgba(120,80,30,.22)}
.book-body .a-label{font-size:.62rem;letter-spacing:.32em;color:#8a5f2a;font-weight:700;
  text-transform:uppercase;margin-bottom:10px}
.book-body .a-text{font-family:Georgia,'Times New Roman',serif;font-size:1rem;color:#2b1a04;line-height:1.75}
.book-body .a-text b{color:#3a2306;font-weight:700}
.book-body .a-text a{color:#8a5f2a;text-decoration:underline}

.book-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;
  background:rgba(60,40,15,.9);color:#fbf5e3;border:none;cursor:pointer;font-size:1.2rem;
  display:grid;place-items:center;z-index:2;transition:.25s;font-weight:400}
.book-close:hover{background:#3a2306;transform:scale(1.08)}

/* FAQ list, show as clickable cards (open book) */
.faq .q{cursor:pointer}
.faq .q .plus{transition:none}
.faq .q.open{border-color:var(--line-2)}
.faq .q.open .plus{transform:none}

/* ===== Language toggle ===== */
.lang-toggle{display:inline-flex;align-items:center;border:1px solid var(--line);
  border-radius:100px;overflow:hidden;font-size:.74rem;font-weight:600;letter-spacing:.05em;
  background:rgba(255,255,255,.03)}
.lang-toggle button,.lang-toggle a{padding:7px 12px;background:none;border:none;color:var(--fog);cursor:pointer;text-decoration:none;
  font-family:var(--body);font-weight:600;transition:.25s}
.lang-toggle button.active,.lang-toggle a.active{background:var(--grad);background-size:160%;animation:flow 8s infinite;color:#fff}
.lang-toggle button:hover:not(.active),.lang-toggle a:hover:not(.active){color:#fff}

@media(max-width:680px){
  .lang-toggle{font-size:.7rem}
  .lang-toggle button,.lang-toggle a{padding:6px 9px}
}

/* --- Semantic heading fix: h3 in these contexts keeps prior h4 visual --- */
.mani-card h3{font-family:var(--body);font-size:1.28rem;line-height:1.25;margin-bottom:12px;font-weight:700;letter-spacing:-.01em}
.princ h3{font-size:1.05rem;margin-bottom:7px;font-family:var(--body);font-weight:600;letter-spacing:.01em;line-height:1.3}
.f-col h3{font-family:var(--body);font-size:1rem;font-weight:600;margin:0 0 16px;letter-spacing:.01em;line-height:1.3;color:inherit}

/* --- Readability pass: stronger body text, comfortable line-height --- */
.svc>p,.mani-card p,.phase .pdesc p,.princ p,.card p,.step p,.q .ans p,.legal-page p,p.lead{
  line-height:1.65;
}
.princ p{line-height:1.6}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}

/* ============ ABOUT ============ */
#about{padding-block:clamp(64px,9vw,120px)}
.about-wrap{display:grid;grid-template-columns:0.85fr 1.15fr;gap:60px;align-items:center}
.about-visual{position:relative;display:flex;flex-direction:column;align-items:center;gap:26px}
.about-logo-frame{width:min(320px,80%);aspect-ratio:1;border-radius:32px;padding:36px;background:linear-gradient(155deg,rgba(138,108,255,.18),rgba(232,103,237,.08),rgba(87,170,245,.12));border:1px solid rgba(138,108,255,.28);display:flex;align-items:center;justify-content:center;box-shadow:0 30px 80px -24px rgba(138,108,255,.4);position:relative;overflow:hidden}
.about-logo-frame::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 30% 20%,rgba(255,255,255,.1),transparent 55%)}
.about-logo-frame img{width:100%;height:auto;filter:drop-shadow(0 12px 30px rgba(0,0,0,.4))}

.about-content h2{margin:14px 0 22px}
.about-content>p{color:var(--fog);font-size:1.02rem;line-height:1.7;margin-bottom:16px;font-weight:400;max-width:60ch}
.about-values{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.av-item{display:flex;align-items:center;gap:13px;font-size:.98rem;font-weight:500;color:var(--white)}
.av-ic{color:var(--orchid);font-size:1.1rem;flex:none}
@media(max-width:880px){.about-wrap{grid-template-columns:1fr;gap:38px;text-align:center}.about-content>p{margin-inline:auto}.about-values{align-items:center}.av-item{justify-content:center}}

/* ============ HOW WE START ============ */
#start{padding-block:clamp(64px,9vw,110px)}
.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:52px;counter-reset:step}
.start-step{position:relative;padding:36px 28px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));border:1px solid var(--line);transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .4s}
.start-step:hover{transform:translateY(-5px);border-color:rgba(138,108,255,.35)}
.ss-num{font-family:var(--display);font-size:2.6rem;font-weight:600;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:18px;opacity:.9}
.start-step h3{font-family:var(--body);font-size:1.16rem;font-weight:700;letter-spacing:-.01em;margin-bottom:11px;line-height:1.25}
.start-step p{color:var(--fog);font-size:.94rem;line-height:1.62;font-weight:400}
.start-step::after{content:"";position:absolute;top:44px;right:-16px;width:32px;height:2px;background:linear-gradient(90deg,rgba(138,108,255,.5),transparent);display:none}
@media(min-width:901px){.start-step:not(:last-child)::after{display:block}}
@media(max-width:900px){.start-grid{grid-template-columns:1fr;gap:18px;margin-top:38px}}

/* ============ STICKY MOBILE CTA ============ */
.sticky-cta{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:none;text-align:center;padding:16px 20px;border-radius:16px;font-weight:700;font-size:1rem;color:#fff;text-decoration:none;background:var(--grad);background-size:150%;box-shadow:0 12px 34px -8px rgba(213,133,255,.6),0 0 0 1px rgba(255,255,255,.12) inset;transform:translateY(120%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.sticky-cta.show{transform:translateY(0)}
.sticky-cta:active{filter:brightness(1.06)}
@media(max-width:768px){.sticky-cta{display:block}}
/* lift chat launcher above sticky bar on mobile so they don't overlap */
/* Το 84px ήταν μαντεψιά: αν το CTA τυλιχτεί σε δύο γραμμές δεν φτάνει.
   Βάση χωρίς CTA, και το body.cta-on παραπάνω το ανεβάζει μετρημένα. */
@media(max-width:768px){
  .chat-launch{bottom:calc(14px + env(safe-area-inset-bottom,0px))!important}
}

/* prevent nav links + brand tagline from wrapping */
.menu .link{white-space:nowrap}
.brand .name small{white-space:nowrap}

.form-privacy{margin-top:14px;font-size:.78rem;line-height:1.55;color:var(--fog);opacity:.85;text-align:center}
.form-privacy a{color:var(--orchid);text-decoration:underline;text-underline-offset:2px}
.form-privacy a:hover{color:var(--white)}

/* Browser autofill stays readable on the dark form. */
.field input:-webkit-autofill,
.field input:-webkit-autofill:hover,
.field input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--white);
  -webkit-box-shadow:0 0 0 1000px var(--ink-2) inset;
  transition:background-color 9999s ease-out 0s;
}

.lead-form .lead-privacy{display:block;margin-top:8px;font-size:.68rem;line-height:1.45;color:var(--fog);opacity:.8}
.lead-form .lead-privacy a{color:var(--orchid);text-decoration:underline}

/* ============ Hub cards (αρχική-κόμβος, πολυσέλιδο) ============ */
.hub-card{display:block;text-decoration:none;color:inherit;position:relative;
  transition:transform .35s cubic-bezier(.2,.7,.3,1),border-color .35s}
.hub-card:hover{transform:translateY(-4px)}
.hub-card h3{transition:color .3s}
.hub-card:hover h3{color:#fff}
.hub-go{position:absolute;right:20px;bottom:16px;opacity:0;transform:translateX(-6px);
  transition:opacity .3s,transform .3s;font-size:1.1rem;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent}
.hub-card:hover .hub-go{opacity:1;transform:translateX(0)}
@media (prefers-reduced-motion:reduce){
  .hub-card,.hub-card:hover{transform:none}
  .hub-go{transition:none}
}

/* The full bilingual navigation needs more room than a typical header.
   Below laptop width it becomes a clean menu instead of overflowing. */
@media(max-width:1260px){
  .menu .btn{display:none}
  .brand .name{font-size:1.05rem;letter-spacing:.18em}
  .brand small{font-size:.48rem}
  .menu a.link{font-size:.84rem}
}

@media(max-width:1120px){
  .burger{display:flex;z-index:61;position:relative}
  .menu{
    position:fixed;inset:0;width:100vw;height:100dvh;
    flex-direction:column;justify-content:flex-start;align-items:center;
    gap:12px;padding:calc(88px + env(safe-area-inset-top)) 24px calc(36px + env(safe-area-inset-bottom));
    background:rgba(3,2,32,.985);backdrop-filter:blur(24px);
    opacity:0;visibility:hidden;pointer-events:none;overflow-y:auto;
    transition:opacity .3s ease,visibility .3s ease;
  }
  .menu.open{opacity:1;visibility:visible;pointer-events:auto}
  .menu a.link{
    color:#fff;font-family:var(--display);font-style:italic;font-size:clamp(1.2rem,3.2vw,1.55rem);
    font-weight:500;letter-spacing:-.01em;line-height:1.15;padding:7px 0;text-align:center;
  }
  .menu a.link::after{display:none}
  .menu .lang-toggle{font-size:.76rem;margin-top:7px;flex:none}
  .menu .lang-toggle a{padding:8px 14px}
  .menu .btn{display:inline-flex;margin-top:8px;min-width:210px;justify-content:center;padding:13px 24px}
}

@media(max-width:680px){
  .menu{gap:9px;padding-top:calc(78px + env(safe-area-inset-top))}
  .menu a.link{font-size:clamp(1.05rem,5.2vw,1.35rem);padding:5px 0}
  .menu .btn{margin-top:6px;padding:12px 22px}
}

@media (prefers-reduced-motion:reduce){
  .menu{transition:none}
}

/* Ορατό σφάλμα φόρμας (πριν εμφανιζόταν μόνο ως alert) */
#formMsg.err{color:#ff9db4;opacity:1}
#formMsg.err small{display:inline-block;margin-left:6px;font-size:.78em}

/* ═══════════ ΔΙΟΡΘΩΣΕΙΣ ΚΙΝΗΤΟΥ ═══════════ */

/* Στη σελίδα επικοινωνίας το «Ζήτησε δωρεάν πρόταση» είναι περιττό:
   ο επισκέπτης είναι ήδη εκεί. Έπεφτε και πάνω στο περιεχόμενο. */
body.no-sticky .sticky-cta{display:none!important}

/* Γρήγορες ενέργειες στο burger menu. Κρύβονται στον υπολογιστή:
   εκεί το υποσέλιδο είναι ήδη ορατό χωρίς κλικ. */
.menu-actions{display:none}

@media(max-width:680px){
  .menu-actions{
    display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
    gap:14px;margin-top:26px;padding-top:24px;
    border-top:1px solid rgba(138,108,255,.18);width:min(320px,100%)}
  .menu-actions a{
    width:46px;height:46px;display:grid;place-items:center;
    border:1px solid rgba(138,108,255,.28);border-radius:50%;
    color:var(--fog);background:rgba(138,108,255,.06);
    transition:color .25s,border-color .25s,transform .25s,background .25s}
  .menu-actions a svg{width:20px;height:20px;fill:currentColor}
  .menu-actions a:hover,.menu-actions a:focus-visible{
    color:#fff;border-color:rgba(138,108,255,.6);
    background:rgba(138,108,255,.16);transform:translateY(-2px)}
  /* Το Google δεν έχει ακόμη σύνδεσμο: φαίνεται, δεν πατιέται. */
  .menu-actions a[aria-disabled="true"]{opacity:.42;pointer-events:none}

  /* Το μενού μπορεί πλέον να ξεπερνά το ύψος της οθόνης σε μικρά
     κινητά, οπότε κυλάει αντί να κόβεται. */
  .menu{justify-content:flex-start;overflow-y:auto;gap:20px;
    padding:88px 32px calc(40px + env(safe-area-inset-bottom,0px))}

  /* ΤΟ ΥΠΟΣΕΛΙΔΟ ΚΡΥΒΟΤΑΝ ΑΠΟ ΤΑ FIXED ΚΟΥΜΠΙΑ
     Από κάτω κάθονται: sticky CTA + Aura + ↑. Χωρίς αυτό, το
     «© Ethaura» και το «Ρυθμίσεις cookies» έμπαιναν από κάτω τους,
     και το «Ρυθμίσεις cookies» είναι ΝΟΜΙΚΗ απαίτηση (ανάκληση
     συγκατάθεσης) — δεν επιτρέπεται να κρύβεται. */
  footer{padding-bottom:calc(var(--cta-h,54px) + 118px + env(safe-area-inset-bottom,0px))}
  body.no-sticky footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .copy{margin-top:32px;gap:10px;text-align:center}
}

@media(max-width:400px){
  .menu-actions{gap:10px}
  .menu-actions a{width:42px;height:42px}
  .menu a.link{font-size:1.45rem;padding:5px 0}
  .menu{gap:14px}
}

/* Χωρίς animation για όσους το έχουν απενεργοποιήσει */
@media (prefers-reduced-motion:reduce){
  .menu-actions a,.menu-actions a:hover{transform:none;transition:none}
}

/* ═══════════ ΣΤΟΙΧΙΣΗ ΥΠΟΣΕΛΙΔΟΥ ═══════════
   Το .f-links ήταν flex με πλάτη ανάλογα του περιεχομένου. Το
   «Automations & Systems» πλάταινε την πρώτη στήλη, οπότε όταν οι
   στήλες τυλίγονταν σε δεύτερη σειρά, το «Contact» δεν έπεφτε κάτω
   από το «Studio». Grid με ΙΣΕΣ στήλες το λύνει οριστικά. */
@media(max-width:900px){
  .f-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:36px 24px;
    width:100%}
  .f-grid{gap:38px}
  .f-col{min-width:0}
  .f-col a{overflow-wrap:anywhere}
}
@media(max-width:340px){
  .f-links{grid-template-columns:1fr}
}

/* ═══════════ ΑΝΟΙΧΤΟ ΜΕΝΟΥ ═══════════
   Το μενού είναι z-index 55, η Aura και το sticky CTA 60. Δηλαδή
   ζωγραφίζονταν ΠΑΝΩ από το ανοιχτό μενού και σκέπαζαν τα εικονίδια.
   Όσο το μενού είναι ανοιχτό, τα αιωρούμενα κουμπιά φεύγουν. */
body.menu-open .sticky-cta,
body.menu-open .chat-launch,
body.menu-open .float,
body.menu-open .chat-panel{
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s ease,visibility .2s}

/* ═══════════ BRANDED ΡΑΝΤΕΒΟΥ ═══════════ */
.booking-page{padding-top:clamp(130px,14vw,185px);min-height:100vh}
.booking-page-head{max-width:1040px;text-align:center}
.booking-page-head .eyebrow{color:#B8B4E6;margin:20px 0 4px}
.booking-page-head h1,.booking-page-head h2{font-size:clamp(2.35rem,6vw,4.7rem);margin:.32em 0 .38em}
.booking-page-head .lead{margin-inline:auto;max-width:780px}
.booking-back{display:inline-flex;align-items:center;gap:8px;color:var(--fog);font-size:.84rem;
  transition:color .25s,transform .25s}
.booking-back:hover{color:#fff;transform:translateX(-3px)}
.booking-layout{display:grid;grid-template-columns:minmax(235px,.65fr) minmax(0,1.5fr);gap:28px;
  align-items:start;margin-top:54px;max-width:1080px}
.booking-assurance{display:grid;gap:2px;border:1px solid var(--line);border-radius:22px;
  overflow:hidden;background:rgba(255,255,255,.018)}
.booking-assurance-item{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:25px 22px;
  border-bottom:1px solid var(--line)}
.booking-assurance-item:last-child{border-bottom:0}
.booking-assurance-item>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  font-size:.7rem;font-weight:700;color:#fff;background:var(--grad-soft);border:1px solid var(--line-2)}
.booking-assurance-item b{display:block;font-size:.9rem;margin-bottom:5px}
.booking-assurance-item p{color:var(--fog);font-size:.8rem;line-height:1.55}
.booking-surface{position:relative;min-height:570px;padding:clamp(24px,4vw,42px);border-radius:25px;
  border:1px solid rgba(173,170,255,.24);background:linear-gradient(150deg,rgba(12,8,75,.95),rgba(4,2,36,.96));
  box-shadow:0 32px 90px rgba(0,0,25,.42),0 0 0 1px rgba(255,255,255,.025) inset;overflow:hidden}
.booking-surface::before{content:"";position:absolute;width:280px;height:280px;right:-120px;top:-130px;
  border-radius:50%;background:rgba(213,133,255,.12);filter:blur(8px);pointer-events:none}
.booking-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:30px;position:relative}
.booking-progress span{height:3px;border-radius:3px;background:rgba(255,255,255,.1)}
.booking-progress span.active{background:linear-gradient(90deg,var(--cyan),var(--orchid))}
.booking-surface-head{display:flex;justify-content:space-between;align-items:start;gap:20px;position:relative}
.booking-surface-head small,.booking-success>small{display:block;color:#A9A5D6;font-size:.65rem;
  font-weight:700;letter-spacing:.18em;margin-bottom:5px}
.booking-surface-head h3,.booking-success h3{font-size:clamp(1.65rem,3vw,2.2rem)}
.booking-zone{font-size:.7rem;color:var(--fog);border:1px solid var(--line);padding:7px 10px;border-radius:100px;
  white-space:nowrap}
.booking-status{margin:24px 0 14px;color:var(--fog);font-size:.88rem;min-height:24px}
.booking-status.error{color:#ffb4c5}
.booking-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;margin-bottom:22px}
.booking-day{appearance:none;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);
  color:var(--fog);padding:12px 7px;cursor:pointer;font-family:var(--body);transition:.25s;text-align:center}
.booking-day b{display:block;color:#fff;font-size:.86rem;margin-top:2px}
.booking-day:hover,.booking-day.active{border-color:rgba(213,133,255,.55);background:rgba(138,108,255,.14);
  transform:translateY(-2px)}
.booking-day.active{box-shadow:0 0 0 2px rgba(213,133,255,.1)}
.booking-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:145px}
.booking-slot{appearance:none;border:1px solid rgba(138,108,255,.3);border-radius:13px;
  background:rgba(138,108,255,.07);color:#fff;padding:15px 10px;cursor:pointer;font-family:var(--body);
  font-size:.92rem;font-weight:650;transition:.25s}
.booking-slot:hover,.booking-slot:focus-visible{border-color:var(--orchid);background:rgba(138,108,255,.18);
  box-shadow:0 10px 28px rgba(0,0,30,.24);transform:translateY(-2px);outline:none}
.booking-empty{grid-column:1/-1;padding:32px 18px;border:1px dashed var(--line-2);border-radius:15px;
  color:var(--fog);text-align:center;font-size:.9rem}
.booking-more{display:block;margin:24px auto 0;border:0;background:none;color:#C7C3EC;font-family:var(--body);
  font-size:.82rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.booking-details{position:relative;gap:15px}
.booking-details .field label{display:block;color:#D9D7F4;font-size:.78rem;font-weight:600;margin-bottom:7px}
.booking-details .field label span{color:#8F8AB9;font-weight:400}
.booking-details .field textarea{min-height:95px}
.booking-change{border:0;background:none;color:#C9C5EF;font-family:var(--body);font-size:.78rem;
  text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.booking-selection{margin:18px 0 3px;padding:13px 16px;border-radius:13px;background:rgba(87,170,251,.08);
  border:1px solid rgba(87,170,251,.2);color:#E6E4FF;font-size:.9rem}
.booking-consent-notice{padding:14px 16px;border-radius:14px;background:rgba(138,108,255,.1);
  border:1px solid rgba(204,101,255,.3);color:#DCD9F5;font-size:.84rem;line-height:1.62}
.booking-consent-notice b{color:#fff}
.booking-submit{width:100%;justify-content:center;border:0;margin-top:2px}
.booking-submit[disabled]{opacity:.55;cursor:wait;transform:none;box-shadow:none}
.booking-form-message{display:none;padding:12px 15px;border-radius:12px;font-size:.82rem;
  color:#ffb5c6;background:rgba(255,97,131,.08);border:1px solid rgba(255,97,131,.2)}
.booking-form-message.show{display:block}
.booking-success{position:relative;text-align:center;padding:58px 12px 30px}
.booking-success-mark{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 22px;border-radius:50%;
  background:var(--grad);font-size:1.8rem;font-weight:800;box-shadow:0 14px 42px rgba(138,108,255,.34)}
.booking-success p{color:var(--fog);max-width:520px;margin:16px auto 26px;line-height:1.75}
.booking-success .btn{justify-content:center}

@media(max-width:860px){
  .booking-layout{grid-template-columns:1fr;max-width:700px}
  .booking-assurance{grid-template-columns:repeat(3,1fr)}
  .booking-assurance-item{grid-template-columns:1fr;padding:18px;border-bottom:0;border-right:1px solid var(--line)}
  .booking-assurance-item:last-child{border-right:0}
}
@media(max-width:620px){
  .booking-page{padding-top:110px}
  .booking-layout{margin-top:38px}
  .booking-assurance{grid-template-columns:1fr}
  .booking-assurance-item{grid-template-columns:40px 1fr;border-right:0;border-bottom:1px solid var(--line)}
  .booking-days{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-surface{min-height:535px;padding:22px 18px;border-radius:20px}
  .booking-zone{font-size:.64rem}
}
/* Aura Growth Advisor: compact cards inside the existing chat panel. */
.growth-card,.growth-report,.growth-send{box-sizing:border-box;width:100%;min-width:0;padding:18px;border:1px solid rgba(169,139,250,.3);border-radius:16px;background:#191525;color:#f4f0ff;overflow-wrap:anywhere;font-size:15px;line-height:1.55}
.growth-card small,.growth-report small{color:#c8b1ff;letter-spacing:.08em;font-size:11px}
.growth-card h3,.growth-report h3,.growth-send h3{font-size:19px;line-height:1.35;margin:12px 0}
.growth-report h4{font-size:16px;margin:0 0 8px}.growth-report p,.growth-card p{margin:10px 0}
.growth-card progress{display:block;width:100%;height:6px;margin-top:12px;accent-color:#b69aff}
.growth-report article{padding:14px 0;border-top:1px solid rgba(255,255,255,.14)}
.growth-report details{margin:14px 0;padding:10px;background:rgba(255,255,255,.04);border-radius:8px}.growth-report summary{cursor:pointer;color:#dccbff}
.growth-send label{display:block;margin:12px 0}.growth-send input[type=email],.growth-send textarea{box-sizing:border-box;display:block;width:100%;min-width:0;margin-top:6px;padding:10px;background:#100d19;border:1px solid #756389;border-radius:8px;color:#fff;font:inherit;font-size:16px}.growth-send textarea{resize:vertical;min-height:180px}
.growth-send .growth-consent{display:flex;align-items:flex-start;gap:9px;font-size:13px}.growth-consent input{flex:0 0 auto;margin-top:4px;accent-color:#b69aff}.growth-send a{color:#d3bdff}
.growth-send button{padding:10px 14px;margin:6px 6px 0 0;border:1px solid #9c7bca;border-radius:10px;background:#39254f;color:#fff;font:inherit;cursor:pointer}.growth-send button:disabled{opacity:.5;cursor:wait}
.growth-send :focus-visible,.growth-report summary:focus-visible{outline:2px solid #d6c4ff;outline-offset:3px}
