body{font-family:'Noto Sans Greek','Inter',sans-serif}
.hero-gradient{background:linear-gradient(180deg,rgba(8,10,38,0.15) 0%, rgba(12,15,51,0.85) 75%, #10133d 100%)}
.slanted-bottom{clip-path:polygon(0 0, 100% 0, 100% 82%, 0 100%)}
.slanted-top{clip-path:polygon(0 18%, 100% 0, 100% 100%, 0 100%)}
.text-outline{-webkit-text-stroke:0.5px rgba(255,255,255,0.2)}
p{font-size:16px!important}
:root{
  --base:#080a26;      /* darkest base */
  --base-2:#0c0f33;    /* panels / cards on base */
  --base-3:#12153f;    /* lighter panels, section fills */
  --base-4:#1a1f57;    /* borders / hover states */
  --accent:#4fb3ff;    /* bright accent for dark backgrounds */
  --accent-deep:#1c2b73; /* accent variant for use on white backgrounds */
  --cta:#3357e0;       /* call-to-action blue */
}
#emfaniseis-track::-webkit-scrollbar{display:none}

.preloader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  opacity:1;
  visibility:visible;
  transition:opacity 0.35s ease, visibility 0.35s ease;
}
.preloader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.preloader .map-bg{
  position:absolute;
  top:50%;
  left:50%;
  width:130%;
  max-width:1400px;
  transform:translate(-50%,-50%);
  opacity:0.08;
  pointer-events:none;
  animation:preloaderDrift 12s ease-in-out infinite;
}
.preloader .map-bg img{
  width:100%;
  height:auto;
  display:block;
}
.preloader .ring-wrap{
  position:relative;
  z-index:2;
  width:220px;
  height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.preloader .ring{
  position:absolute;
  inset:0;
  border-radius:50%;
}
.preloader .ring--outer{
  border:3px solid rgba(156,2,8,0.12);
  border-top-color:#9c0208;
  animation:preloaderSpin 1.6s linear infinite;
}
.preloader .ring--inner{
  inset:14px;
  border:2px solid rgba(232,180,95,0.18);
  border-bottom-color:#e8b45f;
  animation:preloaderSpinRev 2.4s linear infinite;
}
.preloader .logo-mark{
  position:relative;
  width:118px;
  height:auto;
  animation:preloaderPulse 1.8s ease-in-out infinite;
  filter:drop-shadow(0 2px 10px rgba(33,29,29,0.15));
}
.preloader .logo-mark img{
  width:100%;
  height:auto;
  display:block;
}
.preloader .label{
  position:absolute;
  bottom:-46px;
  left:50%;
  transform:translateX(-50%);
  font-family:Georgia,'Times New Roman',serif;
  font-size:13px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#211d1d;
  opacity:0.65;
  white-space:nowrap;
}
.preloader .label .dot{
  display:inline-block;
  color:#9c0208;
  animation:preloaderBlink 1.4s infinite;
}
.preloader .label .dot:nth-child(2){animation-delay:0.2s}
.preloader .label .dot:nth-child(3){animation-delay:0.4s}
body.preloader-lock{overflow:hidden}
@keyframes preloaderDrift{
  0%,100%{transform:translate(-50%,-50%) scale(1)}
  50%{transform:translate(-50%,-50%) scale(1.03)}
}
@keyframes preloaderSpin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes preloaderSpinRev{
  from{transform:rotate(360deg)}
  to{transform:rotate(0deg)}
}
@keyframes preloaderPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.06);opacity:0.85}
}
@keyframes preloaderBlink{
  0%,80%,100%{opacity:0.25}
  40%{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .preloader,
  .preloader .map-bg,
  .preloader .ring--outer,
  .preloader .ring--inner,
  .preloader .logo-mark,
  .preloader .label .dot{
    animation:none;
    transition:none;
  }
}

/* Header: solid white background, glassmorphic once scrolled */
#site-header .header-text{color:#12153f;transition:color 0.3s ease}
#site-header{background:#fff;border-bottom:1px solid rgba(16,19,61,0.06)}
#site-header .site-logo,
#fullscreen-menu .site-logo{height:34px;width:auto;display:block}
#site-header.is-scrolled{
  background:rgba(255,255,255,0.65);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid rgba(255,255,255,0.4);
  box-shadow:0 4px 24px rgba(16,19,61,0.08);
}
#site-header.is-scrolled .header-text{color:#12153f}
#site-header .header-text a{transition:color 0.2s ease}
#site-header .header-text a:hover{color:var(--cta)}
#site-header .header-text i{color:inherit;opacity:0.6}

/* Smooth scroll fallback (JS handles offset for the fixed header) */
html{scroll-behavior:smooth}

/* Prevent background scroll while fullscreen menu is open */
body.menu-open{overflow:hidden}

/* Burger icon: long / medium / long, morphs into an X when open */
#menu-toggle .menu-bar{transform-origin:center}
#menu-toggle .menu-bar-mid{transition:opacity 0.2s ease, transform 0.3s ease}
#menu-toggle.is-open .menu-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
#menu-toggle.is-open .menu-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
#menu-toggle.is-open .menu-bar-mid{opacity:0;transform:scaleX(0)}

/* Fullscreen menu: translucent, blurred backdrop over the page */
#fullscreen-menu{pointer-events:none}
#fullscreen-menu:not(.invisible){pointer-events:auto}
#fullscreen-menu-backdrop{background:rgba(8,10,38,0.55)}

.fullscreen-menu-link{
  color:#fff;
  font-weight:800;
  font-size:clamp(22px,5vw,34px);
  letter-spacing:0.04em;
  padding:10px 0;
  opacity:0.85;
  transition:opacity 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.fullscreen-menu-link:hover{opacity:1;color:var(--accent);transform:translateX(4px)}

/* Fullscreen menu accordion sections */
.fullscreen-accordion{
  width:100%;
  border-bottom:1px solid rgba(255,255,255,0.12);
}
.fullscreen-accordion-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:transparent;
  border:none;
  cursor:pointer;
  color:#fff;
  font-weight:800;
  font-size:clamp(18px,4.2vw,26px);
  letter-spacing:0.04em;
  padding:12px 4px;
  opacity:0.85;
  transition:opacity 0.2s ease, color 0.2s ease;
}
.fullscreen-accordion-trigger:hover{opacity:1;color:var(--accent)}
.fullscreen-accordion-trigger i{
  font-size:13px;
  opacity:0.6;
  transition:transform 0.25s ease;
}
.fullscreen-accordion.is-open > .fullscreen-accordion-trigger{opacity:1}
.fullscreen-accordion.is-open > .fullscreen-accordion-trigger i{transform:rotate(180deg)}

.fullscreen-accordion-panel{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.35s ease;
}
.fullscreen-accordion.is-open > .fullscreen-accordion-panel{max-height:600px}

.fullscreen-accordion--nested{
  border-bottom:none;
  padding-left:6px;
  border-left:1px solid rgba(255,255,255,0.12);
}
.fullscreen-accordion--nested .fullscreen-accordion-trigger{
  font-size:14px;
  font-weight:600;
  padding:8px 10px;
  opacity:0.75;
  color:rgba(255,255,255,0.75);
}
.fullscreen-accordion--nested.is-open .fullscreen-accordion-trigger{color:#fff;opacity:1}
.fullscreen-accordion--nested .fullscreen-accordion-panel-inner{padding-left:6px}

.fullscreen-accordion-panel-inner{
  display:flex;
  flex-direction:column;
  padding:2px 4px 14px;
}
.fullscreen-submenu-link{
  color:rgba(255,255,255,0.75);
  font-weight:500;
  font-size:14px;
  letter-spacing:0.01em;
  padding:8px 10px;
  border-radius:6px;
  transition:color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.fullscreen-submenu-link:hover{
  color:#fff;
  background:rgba(255,255,255,0.08);
  transform:translateX(4px);
}
