<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>TUMAN — Premium Automotive Aroma | Dry Fog Cyprus</title>

<meta name="description" content="Self-service dry fog generator for car interiors in Cyprus. Kills odors, bacteria, viruses and allergens in 20 minutes. Only €10.">

<link rel="preconnect" href="https://fonts.googleapis.com">

<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Unbounded:wght@500;700;900&display=swap" rel="stylesheet">

<style>

:root{

  --bg:#06030d;

  --bg2:#0c0618;

  --purple:#8b5cf6;

  --violet:#a855f7;

  --lilac:#c4b5fd;

  --white:#f4f1ff;

  --muted:#a79ec6;

  --line:rgba(167,139,250,.18);

  --glass:rgba(255,255,255,.025);

}

*{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth}

body{

  background:var(--bg);

  color:var(--white);

  font-family:'Manrope',sans-serif;

  overflow-x:hidden;

  line-height:1.6;

}

body::before{

  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;

  background:

    radial-gradient(1100px 620px at 50% -12%, rgba(124,58,237,.28), transparent 62%),

    radial-gradient(700px 500px at 110% 45%, rgba(88,28,135,.16), transparent 65%),

    radial-gradient(700px 500px at -10% 80%, rgba(88,28,135,.14), transparent 65%);

}

body::after{

  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;

  background:

    repeating-linear-gradient(0deg, rgba(139,92,246,.035) 0 1px, transparent 1px 90px),

    repeating-linear-gradient(90deg, rgba(139,92,246,.035) 0 1px, transparent 1px 90px);

  mask-image:radial-gradient(80% 60% at 50% 20%, #000 0%, transparent 100%);

}

main,header,footer{position:relative;z-index:1}

.wrap{max-width:1160px;margin:0 auto;padding:0 24px}

section{scroll-margin-top:96px}


/* ---------- header ---------- */

header{

  position:fixed;top:0;left:0;right:0;z-index:50;

  backdrop-filter:blur(14px);

  background:rgba(6,3,13,.65);

  border-bottom:1px solid var(--line);

}

.nav{display:flex;align-items:center;justify-content:space-between;height:72px}

.brand{display:flex;align-items:center;gap:12px;text-decoration:none}

.brand svg{width:34px;height:40px}

.brand-name{font-family:'Unbounded','Manrope',sans-serif;font-weight:900;font-size:19px;letter-spacing:.14em;

  background:linear-gradient(95deg,#7c3aed 0%,#a78bfa 45%,#fff 85%);

  -webkit-background-clip:text;background-clip:text;color:transparent;}

.nav-links{display:flex;gap:30px;list-style:none}

.nav-links a{color:var(--muted);text-decoration:none;font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:color .25s}

.nav-links a:hover{color:var(--lilac)}

.nav-right{display:flex;align-items:center;gap:16px}

.lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--glass)}

.lang button{

  background:transparent;border:0;color:var(--muted);cursor:pointer;

  padding:7px 15px;font-family:'Manrope',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.06em;transition:.25s;

}

.lang button.active{background:linear-gradient(95deg,#7c3aed,#a855f7);color:#fff}

.nav-cta{

  display:inline-block;padding:10px 20px;border-radius:999px;text-decoration:none;

  font-size:13px;font-weight:800;letter-spacing:.05em;color:#fff;

  background:linear-gradient(95deg,#7c3aed,#a855f7);

  box-shadow:0 0 22px rgba(139,92,246,.45);transition:.25s;

}

.nav-cta:hover{transform:translateY(-2px);box-shadow:0 0 34px rgba(168,85,247,.7)}


/* ---------- hero ---------- */

.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:130px 0 40px;text-align:center;position:relative}

.kicker{

  display:inline-flex;align-items:center;gap:10px;margin:0 auto 26px;

  padding:9px 20px;border:1px solid var(--line);border-radius:999px;

  background:var(--glass);color:var(--lilac);

  font-size:11.5px;font-weight:800;letter-spacing:.32em;text-transform:uppercase;

}

.kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--violet);box-shadow:0 0 12px var(--violet)}

h1.logo-type{

  font-family:'Unbounded','Manrope',sans-serif;font-weight:900;

  font-size:clamp(56px,11vw,138px);line-height:1;letter-spacing:.02em;

  background:linear-gradient(100deg,#6d28d9 0%,#8b5cf6 28%,#c4b5fd 58%,#ffffff 82%);

  -webkit-background-clip:text;background-clip:text;color:transparent;

  filter:drop-shadow(0 0 30px rgba(139,92,246,.5));

}

.tagline{display:flex;align-items:center;justify-content:center;gap:18px;margin:18px auto 10px;max-width:640px}

.tagline .ln{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--purple))}

.tagline .ln:last-child{background:linear-gradient(90deg,var(--purple),transparent)}

.tagline span.tx{font-size:clamp(10px,1.6vw,14.5px);font-weight:700;letter-spacing:.5em;color:#d8d0f5;text-transform:uppercase;white-space:nowrap;padding-left:.5em}

.motto{color:var(--violet);font-size:clamp(9px,1.4vw,12.5px);font-weight:700;letter-spacing:.55em;text-transform:uppercase;padding-left:.55em;margin-bottom:26px}

.hero-sub{max-width:640px;margin:0 auto 34px;color:var(--muted);font-size:clamp(15px,2vw,17.5px)}

.hero-sub b{color:var(--lilac)}

.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

.btn{

  padding:15px 34px;border-radius:999px;text-decoration:none;font-weight:800;font-size:14.5px;

  letter-spacing:.04em;transition:.25s;display:inline-flex;align-items:center;gap:10px;

}

.btn-solid{background:linear-gradient(95deg,#7c3aed,#a855f7);color:#fff;box-shadow:0 0 28px rgba(139,92,246,.5)}

.btn-solid:hover{transform:translateY(-3px);box-shadow:0 0 44px rgba(168,85,247,.8)}

.btn-ghost{border:1px solid rgba(167,139,250,.45);color:var(--lilac)}

.btn-ghost:hover{background:rgba(139,92,246,.12);border-color:var(--purple)}


/* ---------- stage (car + fog) ---------- */

.stage{max-width:980px;margin:14px auto 0;position:relative}

.stage svg.car{width:100%;height:auto;display:block;transition:transform .35s ease-out}

.fog-wrap{position:absolute;inset:0;pointer-events:none;transition:transform .35s ease-out}

.fog{position:absolute;border-radius:50%;filter:blur(46px)}

.fog.f1{left:-6%;top:6%;width:420px;height:250px;background:radial-gradient(closest-side,rgba(139,92,246,.4),transparent 70%);animation:drift1 11s ease-in-out infinite alternate}

.fog.f2{right:-8%;top:16%;width:460px;height:270px;background:radial-gradient(closest-side,rgba(168,85,247,.36),transparent 70%);animation:drift2 13s ease-in-out infinite alternate}

.fog.f3{left:30%;bottom:2%;width:420px;height:180px;background:radial-gradient(closest-side,rgba(109,40,217,.35),transparent 70%);animation:drift1 15s ease-in-out infinite alternate-reverse}

@keyframes drift1{from{transform:translate(0,0) scale(1)}to{transform:translate(46px,-18px) scale(1.12)}}

@keyframes drift2{from{transform:translate(0,0) scale(1.08)}to{transform:translate(-52px,14px) scale(.96)}}

.stream{stroke-dasharray:5 15;animation:flow 3.2s linear infinite;opacity:.75}

.stream.r{animation-duration:3.8s}

@keyframes flow{to{stroke-dashoffset:-220}}

.particle{position:absolute;border-radius:50%;background:var(--lilac);pointer-events:none;animation:floatUp linear infinite;opacity:0}

@keyframes floatUp{

  0%{transform:translateY(0);opacity:0}

  15%{opacity:.8}

  100%{transform:translateY(-110px);opacity:0}

}


/* ---------- marquee ---------- */

.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(124,58,237,.06);overflow:hidden;padding:15px 0}

.marquee-track{display:flex;width:max-content;animation:scrollX 28s linear infinite}

.mq-group{display:flex;align-items:center;gap:38px;padding-right:38px;white-space:nowrap}

.mq-group span{font-family:'Unbounded','Manrope',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.38em;text-transform:uppercase;color:#b7a6f5}

.mq-group i{color:var(--violet);font-style:normal;font-size:10px;text-shadow:0 0 10px var(--violet)}

@keyframes scrollX{to{transform:translateX(-50%)}}


/* ---------- sections ---------- */

.sec{padding:96px 0}

.sec-head{text-align:center;margin-bottom:56px}

.sec-head .kicker{margin-bottom:18px}

h2{font-family:'Unbounded','Manrope',sans-serif;font-weight:700;font-size:clamp(26px,4.5vw,44px);line-height:1.2}

h2 .grad{background:linear-gradient(95deg,#8b5cf6,#e9ddff);-webkit-background-clip:text;background-clip:text;color:transparent}


/* stats */

.stats{border-bottom:1px solid var(--line)}

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:44px 0 34px}

.stat{text-align:center}

.stat b{display:block;font-family:'Unbounded','Manrope',sans-serif;font-size:clamp(24px,3.4vw,36px);font-weight:700;

  background:linear-gradient(95deg,#a78bfa,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}

.stat span{color:var(--muted);font-size:13px;font-weight:600}

.stats-note{text-align:center;color:#6f678f;font-size:11.5px;padding-bottom:26px}


/* reasons */

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.card{

  position:relative;background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:30px 26px;

  transition:.3s;overflow:hidden;

}

.card::before{content:"";position:absolute;inset:0;background:radial-gradient(320px 160px at 50% -20%,rgba(139,92,246,.16),transparent);opacity:0;transition:.3s}

.card:hover{transform:translateY(-5px);border-color:rgba(167,139,250,.5);box-shadow:0 18px 44px rgba(88,28,135,.35)}

.card:hover::before{opacity:1}

.card .num{

  position:absolute;top:14px;right:20px;font-family:'Unbounded','Manrope',sans-serif;font-weight:900;font-size:44px;

  color:transparent;-webkit-text-stroke:1px rgba(167,139,250,.28);

}

.ico{

  width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;

  background:linear-gradient(135deg,rgba(124,58,237,.35),rgba(168,85,247,.15));

  border:1px solid rgba(167,139,250,.4);box-shadow:0 0 20px rgba(139,92,246,.35);

}

.ico svg{width:24px;height:24px;stroke:#d8c9ff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.card h3{font-size:18.5px;font-weight:800;margin-bottom:10px;letter-spacing:.01em}

.card p{color:var(--muted);font-size:14.5px}

.card.wide{grid-column:span 1}


/* how */

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:step}

.step{background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:32px 26px;position:relative;transition:.3s}

.step:hover{border-color:rgba(167,139,250,.5);transform:translateY(-5px)}

.step .sn{

  font-family:'Unbounded','Manrope',sans-serif;font-weight:900;font-size:15px;color:#fff;

  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;

  background:linear-gradient(135deg,#7c3aed,#a855f7);box-shadow:0 0 22px rgba(139,92,246,.55);

}

.step h3{font-size:18.5px;font-weight:800;margin-bottom:10px}

.step p{color:var(--muted);font-size:14.5px}

.step::after{content:"";position:absolute;top:50%;right:-22px;width:22px;height:1px;background:linear-gradient(90deg,var(--purple),transparent)}

.step:last-child::after{display:none}


/* price */

.price-box{text-align:center}

.price-value{

  font-family:'Unbounded','Manrope',sans-serif;font-weight:900;font-size:clamp(84px,15vw,170px);line-height:1;

  background:linear-gradient(100deg,#7c3aed 0%,#a855f7 40%,#ffffff 85%);

  -webkit-background-clip:text;background-clip:text;color:transparent;

  animation:pulseGlow 3.2s ease-in-out infinite;display:inline-block;

}

@keyframes pulseGlow{0%,100%{filter:drop-shadow(0 0 18px rgba(139,92,246,.35))}50%{filter:drop-shadow(0 0 46px rgba(168,85,247,.7))}}

.price-per{font-size:19px;font-weight:700;color:var(--lilac);letter-spacing:.08em;text-transform:uppercase;margin-top:8px}

.price-note{margin:22px auto 30px;color:var(--muted);font-size:14.5px}

.chips{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}

.chip{padding:9px 18px;border:1px solid var(--line);border-radius:999px;background:var(--glass);color:var(--lilac);font-size:12.5px;font-weight:700;letter-spacing:.04em}


/* faq */

.faq{max-width:760px;margin:0 auto}

.faq-item{border:1px solid var(--line);border-radius:16px;background:var(--glass);margin-bottom:14px;overflow:hidden;transition:border-color .3s}

.faq-item.open{border-color:rgba(167,139,250,.5)}

.faq-q{

  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;

  background:none;border:0;color:var(--white);cursor:pointer;text-align:left;

  padding:20px 24px;font-family:'Manrope',sans-serif;font-size:16px;font-weight:700;

}

.faq-q .chev{flex:0 0 auto;width:20px;height:20px;stroke:var(--violet);fill:none;stroke-width:2.2;stroke-linecap:round;transition:transform .35s}

.faq-item.open .chev{transform:rotate(45deg)}

.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}

.faq-item.open .faq-a{grid-template-rows:1fr}

.faq-a-in{overflow:hidden}

.faq-a-in p{padding:0 24px 22px;color:var(--muted);font-size:14.5px}


/* locations */

.cities{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}

.city{background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:26px 18px;text-align:center;transition:.3s}

.city:hover{border-color:rgba(167,139,250,.5);transform:translateY(-4px)}

.city .pin{width:26px;height:26px;stroke:var(--violet);fill:none;stroke-width:1.8;margin:0 auto 12px;display:block;filter:drop-shadow(0 0 8px rgba(168,85,247,.6))}

.city h4{font-size:16.5px;font-weight:800;margin-bottom:10px}

.st{display:inline-block;padding:5px 14px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}

.st.live{color:#6ee7b7;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.35);box-shadow:0 0 14px rgba(52,211,153,.2)}

.st.soon{color:#b7a6f5;background:rgba(139,92,246,.08);border:1px solid rgba(167,139,250,.3)}

.loc-note{text-align:center;color:var(--muted);font-size:14.5px;max-width:620px;margin:0 auto 40px}

.loc-addr{text-align:center;color:#6f678f;font-size:12.5px;margin-top:26px}


/* contact */

.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:900px;margin:0 auto}

.ccard{background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:28px 22px;text-align:center;transition:.3s}

.ccard:hover{border-color:rgba(167,139,250,.5)}

.ccard .ico{margin:0 auto 16px}

.ccard span.lb{display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}

.ccard a,.ccard p.v{color:var(--white);text-decoration:none;font-weight:800;font-size:16.5px}

.ccard a:hover{color:var(--lilac)}

.contact-text{text-align:center;color:var(--muted);max-width:560px;margin:0 auto 44px;font-size:15.5px}


/* footer */

footer{border-top:1px solid var(--line);padding:44px 0 110px;text-align:center}

footer .brand{justify-content:center;margin-bottom:14px}

footer .fmotto{color:var(--violet);font-size:11px;font-weight:700;letter-spacing:.5em;text-transform:uppercase;margin-bottom:18px;padding-left:.5em}

footer .fsmall{color:#6f678f;font-size:12.5px}


/* mobile cta bar */

.mob-cta{

  display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;

  padding:12px 18px calc(12px + env(safe-area-inset-bottom));

  background:rgba(6,3,13,.9);backdrop-filter:blur(14px);border-top:1px solid var(--line);

  align-items:center;justify-content:space-between;gap:14px;

}

.mob-cta b{font-family:'Unbounded','Manrope',sans-serif;font-size:20px;

  background:linear-gradient(95deg,#a78bfa,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}

.mob-cta a{padding:12px 24px;border-radius:999px;background:linear-gradient(95deg,#7c3aed,#a855f7);color:#fff;text-decoration:none;font-weight:800;font-size:14px;box-shadow:0 0 22px rgba(139,92,246,.5)}


/* reveal */

.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}

.reveal.visible{opacity:1;transform:none}


/* ---------- responsive ---------- */

@media (max-width:960px){

  .cards,.steps{grid-template-columns:repeat(2,1fr)}

  .step::after{display:none}

  .cities{grid-template-columns:repeat(3,1fr)}

  .nav-links{display:none}

  .stats-grid{grid-template-columns:repeat(2,1fr);gap:28px}

}

@media (max-width:720px){

  .nav-cta{display:none}

  .mob-cta{display:flex}

  .sec{padding:70px 0}

  .cards,.steps,.contact-grid{grid-template-columns:1fr}

  .cities{grid-template-columns:repeat(2,1fr)}

  .tagline span.tx{letter-spacing:.28em}

  .hero{padding-top:112px}

  footer{padding-bottom:130px}

  .fog.f1{width:260px;height:160px}

  .fog.f2{width:280px;height:170px}

  .fog.f3{width:260px;height:120px}

}

@media (max-width:420px){

  .cities{grid-template-columns:1fr 1fr}

  .city{padding:20px 12px}

}

@media (prefers-reduced-motion:reduce){

  *,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important}

}

</style>

</head>

<body>


<!-- shared defs -->

<svg width="0" height="0" style="position:absolute" aria-hidden="true">

  <defs>

    <linearGradient id="shg" x1="0" y1="0" x2="1" y2="1">

      <stop offset="0" stop-color="#8b5cf6"/><stop offset="1" stop-color="#ece7ff"/>

    </linearGradient>

  </defs>

</svg>


<header>

  <div class="wrap nav">

    <a class="brand" href="#top" aria-label="TUMAN">

      <svg viewBox="0 0 48 56" aria-hidden="true">

        <path d="M24 2 L44 9.5 V27 C44 41 35.5 49.5 24 54 C12.5 49.5 4 41 4 27 V9.5 Z" stroke="url(#shg)" stroke-width="2.2" fill="rgba(139,92,246,.08)"/>

        <path d="M16 20 H32 M24 20 V41" stroke="url(#shg)" stroke-width="2.8" stroke-linecap="round"/>

        <path d="M24 9.5 V13.5 M22 11.5 H26" stroke="#c4b5fd" stroke-width="1.6" stroke-linecap="round"/>

      </svg>

      <span class="brand-name">TUMAN</span>

    </a>

    <nav aria-label="Main">

      <ul class="nav-links">

        <li><a href="#reasons" data-i18n="nav.reasons"></a></li>

        <li><a href="#how" data-i18n="nav.how"></a></li>

        <li><a href="#price" data-i18n="nav.price"></a></li>

        <li><a href="#locations" data-i18n="nav.locations"></a></li>

        <li><a href="#contact" data-i18n="nav.contact"></a></li>

      </ul>

    </nav>

    <div class="nav-right">

      <div class="lang" role="group" aria-label="Language">

        <button id="btn-en" class="active" onclick="setLang('en')">EN</button>

        <button id="btn-el" onclick="setLang('el')">ΕΛ</button>

      </div>

      <a class="nav-cta" href="#locations" data-i18n="hero.cta1"></a>

    </div>

  </div>

</header>


<main id="top">


  <!-- HERO -->

  <section class="hero">

    <div class="wrap">

      <div class="kicker" data-i18n="hero.kicker"></div>

      <h1 class="logo-type">TUMAN</h1>

      <div class="tagline">

        <span class="ln"></span><span class="tx" data-i18n="hero.tagline"></span><span class="ln"></span>

      </div>

      <p class="motto" data-i18n="hero.motto"></p>

      <p class="hero-sub" data-i18n="hero.sub"></p>

      <div class="hero-cta">

        <a class="btn btn-solid" href="#locations" data-i18n="hero.cta1"></a>

        <a class="btn btn-ghost" href="#how" data-i18n="hero.cta2"></a>

      </div>

    </div>


    <div class="stage" id="stage">

      <div class="fog-wrap" data-depth="18"><div class="fog f1"></div></div>

      <div class="fog-wrap" data-depth="14"><div class="fog f2"></div></div>

      <div class="fog-wrap" data-depth="10"><div class="fog f3"></div></div>


      <svg class="car" viewBox="0 0 960 340" fill="none" xmlns="http://www.w3.org/2000/svg" data-depth="7" aria-label="Neon sports car in dry fog">

        <defs>

          <filter id="neon" x="-40%" y="-40%" width="180%" height="180%">

            <feGaussianBlur stdDeviation="4" result="b"/>

            <feMerge><feMergeNode in="b"/><feMergeNode in="SourceGraphic"/></feMerge>

          </filter>

          <filter id="soft" x="-60%" y="-60%" width="220%" height="220%">

            <feGaussianBlur stdDeviation="6"/>

          </filter>

          <linearGradient id="strokeG" x1="0" y1="0" x2="1" y2="0">

            <stop offset="0" stop-color="#7c3aed"/><stop offset=".5" stop-color="#a855f7"/><stop offset="1" stop-color="#c084fc"/>

          </linearGradient>

          <linearGradient id="groundG" x1="0" y1="0" x2="1" y2="0">

            <stop offset="0" stop-color="#7c3aed" stop-opacity="0"/>

            <stop offset=".5" stop-color="#a855f7"/>

            <stop offset="1" stop-color="#7c3aed" stop-opacity="0"/>

          </linearGradient>

        </defs>


        <!-- fog streams from both sides (like the logo) -->

        <path class="stream" d="M-20 108 C120 88 220 128 320 164 C380 186 432 206 472 226" stroke="url(#strokeG)" stroke-width="3" stroke-linecap="round" filter="url(#soft)"/>

        <path class="stream r" d="M980 148 C862 128 772 164 692 194 C642 214 602 228 568 240" stroke="url(#strokeG)" stroke-width="3" stroke-linecap="round" filter="url(#soft)"/>


        <!-- ground + reflection -->

        <ellipse cx="480" cy="322" rx="360" ry="10" fill="rgba(139,92,246,.18)" filter="url(#soft)"/>

        <line x1="30" y1="320" x2="930" y2="320" stroke="url(#groundG)" stroke-width="2"/>


        <g filter="url(#neon)" stroke="url(#strokeG)">

          <!-- body -->

          <path d="M84 250 C88 232 104 224 136 218 L272 204 C304 166 344 146 402 142 L560 140 C618 142 658 158 698 190 C758 198 826 206 858 218 C878 226 886 238 884 252 L791 256 A56 56 0 0 0 679 256 L311 256 A56 56 0 0 0 199 256 L120 254 C96 253 84 252 84 250 Z"

                fill="rgba(124,58,237,.05)" stroke-width="2.5"/>

          <!-- glass -->

          <path d="M352 196 C380 164 412 154 456 152 L564 150 C600 152 626 164 648 186 Z" fill="rgba(168,85,247,.08)" stroke-width="1.8"/>

          <path d="M498 151 L498 192" stroke-width="1.5" opacity=".8"/>

          <path d="M470 206 L466 252" stroke-width="1.2" opacity=".5"/>

          <path d="M600 196 L604 254" stroke-width="1.2" opacity=".5"/>

          <path d="M330 238 L646 238" stroke-width="1" opacity=".35"/>

          <!-- lights -->

          <path d="M118 224 L184 215 L180 228 L122 232 Z" stroke-width="1.5" fill="rgba(192,132,252,.3)"/>

          <path d="M856 222 L882 234 L878 246 L850 238 Z" stroke-width="1.5" fill="rgba(192,132,252,.3)"/>

          <!-- wheels -->

          <circle cx="255" cy="272" r="46" stroke-width="2.5"/>

          <circle cx="255" cy="272" r="24" stroke-width="1.6" opacity=".8"/>

          <circle cx="255" cy="272" r="4" fill="#c084fc" stroke="none"/>

          <g stroke-width="1.6" opacity=".8">

            <line x1="235" y1="272" x2="275" y2="272"/>

            <line x1="245" y1="254.7" x2="265" y2="289.3"/>

            <line x1="245" y1="289.3" x2="265" y2="254.7"/>

          </g>

          <circle cx="735" cy="272" r="46" stroke-width="2.5"/>

          <circle cx="735" cy="272" r="24" stroke-width="1.6" opacity=".8"/>

          <circle cx="735" cy="272" r="4" fill="#c084fc" stroke="none"/>

          <g stroke-width="1.6" opacity=".8">

            <line x1="715" y1="272" x2="755" y2="272"/>

            <line x1="725" y1="254.7" x2="745" y2="289.3"/>

            <line x1="725" y1="289.3" x2="745" y2="254.7"/>

          </g>

        </g>

      </svg>

    </div>

  </section>


  <!-- MARQUEE -->

  <div class="marquee" aria-hidden="true"><div class="marquee-track" id="marqueeTrack"></div></div>


  <!-- STATS -->

  <section class="stats">

    <div class="wrap">

      <div class="stats-grid">

        <div class="stat reveal"><b data-i18n="stat1.v"></b><span data-i18n="stat1.l"></span></div>

        <div class="stat reveal"><b data-i18n="stat2.v"></b><span data-i18n="stat2.l"></span></div>

        <div class="stat reveal"><b data-i18n="stat3.v"></b><span data-i18n="stat3.l"></span></div>

        <div class="stat reveal"><b data-i18n="stat4.v"></b><span data-i18n="stat4.l"></span></div>

      </div>

      <p class="stats-note" data-i18n="stats.note"></p>

    </div>

  </section>


  <!-- REASONS -->

  <section class="sec" id="reasons">

    <div class="wrap">

      <div class="sec-head reveal">

        <div class="kicker" data-i18n="reasons.kicker"></div>

        <h2 data-i18n="reasons.title"></h2>

      </div>

      <div class="cards">


        <div class="card reveal">

          <span class="num">01</span>

          <div class="ico"><svg viewBox="0 0 24 24"><path d="M4 8h8a3 3 0 1 0-3-3"/><path d="M4 16h8a3 3 0 1 1-3 3"/><path d="M4 12h16"/></svg></div>

          <h3 data-i18n="r1.t"></h3><p data-i18n="r1.d"></p>

        </div>


        <div class="card reveal">

          <span class="num">02</span>

          <div class="ico"><svg viewBox="0 0 24 24"><path d="M12 3l7 3v5c0 4.5-3 8.1-7 10-4-1.9-7-5.5-7-10V6l7-3z"/><path d="M9.5 11.5l2 2 3.5-3.5"/></svg></div>

          <h3 data-i18n="r2.t"></h3><p data-i18n="r2.d"></p>

        </div>


        <div class="card reveal">

          <span class="num">03</span>

          <div class="ico"><svg viewBox="0 0 24 24"><path d="M5 19C5 11 11 5 19 5c0 8-6 14-14 14z"/><path d="M5 19c2-6 6-10 12-12"/></svg></div>

          <h3 data-i18n="r3.t"></h3><p data-i18n="r3.d"></p>

        </div>


        <div class="card reveal">

          <span class="num">04</span>

          <div class="ico"><svg viewBox="0 0 24 24"><path d="M12 3l9 5-9 5-9-5 9-5z"/><path d="M3 13l9 5 9-5"/></svg></div>

          <h3 data-i18n="r4.t"></h3><p data-i18n="r4.d"></p>

        </div>


        <div class="card reveal">

          <span class="num">05</span>

          <div class="ico"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg></div>

          <h3 data-i18n="r5.t"></h3><p data-i18n="r5.d"></p>

        </div>


        <div class="card reveal" style="display:flex;align-items:center;justify-content:center">

          <a class="btn btn-solid" href="#locations" data-i18n="hero.cta1"></a>

        </div>


      </div>

    </div>

  </section>


  <!-- HOW -->

  <section class="sec" id="how">

    <div class="wrap">

      <div class="sec-head reveal">

        <div class="kicker" data-i18n="how.kicker"></div>

        <h2 data-i18n="how.title"></h2>

      </div>

      <div class="steps">

        <div class="step reveal"><div class="sn">1</div><h3 data-i18n="s1.t"></h3><p data-i18n="s1.d"></p></div>

        <div class="step reveal"><div class="sn">2</div><h3 data-i18n="s2.t"></h3><p data-i18n="s2.d"></p></div>

        <div class="step reveal"><div class="sn">3</div><h3 data-i18n="s3.t"></h3><p data-i18n="s3.d"></p></div>

      </div>

    </div>

  </section>


  <!-- PRICE -->

  <section class="sec" id="price">

    <div class="wrap price-box">

      <div class="sec-head reveal">

        <div class="kicker" data-i18n="price.kicker"></div>

        <h2 data-i18n="price.title"></h2>

      </div>

      <div class="reveal">

        <div class="price-value" data-i18n="price.value"></div>

        <div class="price-per" data-i18n="price.per"></div>

        <p class="price-note" data-i18n="price.note"></p>

        <div class="chips">

          <span class="chip">20 min</span>

          <span class="chip">24/7</span>

          <span class="chip">Self-service</span>

          <span class="chip">Premium scents</span>

        </div>

        <a class="btn btn-solid" href="#locations" data-i18n="price.cta"></a>

      </div>

    </div>

  </section>


  <!-- FAQ -->

  <section class="sec" id="faq">

    <div class="wrap">

      <div class="sec-head reveal"><h2 data-i18n="faq.title"></h2></div>

      <div class="faq">

        <div class="faq-item reveal">

          <button class="faq-q" aria-expanded="false"><span data-i18n="faq.q1"></span><svg class="chev" viewBox="0 0 24 24"><path d="M12 5v14M5 12h14"/></svg></button>

          <div class="faq-a"><div class="faq-a-in"><p data-i18n="faq.a1"></p></div></div>

        </div>

        <div class="faq-item reveal">

          <button class="faq-q" aria-expanded="false"><span data-i18n="faq.q2"></span><svg class="chev" viewBox="0 0 24 24"><path d="M12 5v14M5 12h14"/></svg></button>

          <div class="faq-a"><div class="faq-a-in"><p data-i18n="faq.a2"></p></div></div>

        </div>

        <div class="faq-item reveal">

          <button class="faq-q" aria-expanded="false"><span data-i18n="faq.q3"></span><svg class="chev" viewBox="0 0 24 24"><path d="M12 5v14M5 12h14"/></svg></button>

          <div class="faq-a"><div class="faq-a-in"><p data-i18n="faq.a3"></p></div></div>

        </div>

        <div class="faq-item reveal">

          <button class="faq-q" aria-expanded="false"><span data-i18n="faq.q4"></span><svg class="chev" viewBox="0 0 24 24"><path d="M12 5v14M5 12h14"/></svg></button>

          <div class="faq-a"><div class="faq-a-in"><p data-i18n="faq.a4"></p></div></div>

        </div>

      </div>

    </div>

  </section>


  <!-- LOCATIONS -->

  <section class="sec" id="locations">

    <div class="wrap">

      <div class="sec-head reveal">

        <div class="kicker" data-i18n="loc.kicker"></div>

        <h2 data-i18n="loc.title"></h2>

      </div>

      <p class="loc-note reveal" data-i18n="loc.note"></p>

      <div class="cities">

        <div class="city reveal">

          <svg class="pin" viewBox="0 0 24 24"><path d="M12 21s-6.5-5.4-6.5-10.2A6.5 6.5 0 0 1 12 4.3a6.5 6.5 0 0 1 6.5 6.5C18.5 15.6 12 21 12 21z"/><circle cx="12" cy="10.8" r="2.2"/></svg>

          <h4 data-i18n="city1"></h4><span class="st live" data-i18n="st.live"></span>

        </div>

        <div class="city reveal">

          <svg class="pin" viewBox="0 0 24 24"><path d="M12 21s-6.5-5.4-6.5-10.2A6.5 6.5 0 0 1 12 4.3a6.5 6.5 0 0 1 6.5 6.5C18.5 15.6 12 21 12 21z"/><circle cx="12" cy="10.8" r="2.2"/></svg>

          <h4 data-i18n="city2"></h4><span class="st soon" data-i18n="st.soon"></span>

        </div>

        <div class="city reveal">

          <svg class="pin" viewBox="0 0 24 24"><path d="M12 21s-6.5-5.4-6.5-10.2A6.5 6.5 0 0 1 12 4.3a6.5 6.5 0 0 1 6.5 6.5C18.5 15.6 12 21 12 21z"/><circle cx="12" cy="10.8" r="2.2"/></svg>

          <h4 data-i18n="city3"></h4><span class="st soon" data-i18n="st.soon"></span>

        </div>

        <div class="city reveal">

          <svg class="pin" viewBox="0 0 24 24"><path d="M12 21s-6.5-5.4-6.5-10.2A6.5 6.5 0 0 1 12 4.3a6.5 6.5 0 0 1 6.5 6.5C18.5 15.6 12 21 12 21z"/><circle cx="12" cy="10.8" r="2.2"/></svg>

          <h4 data-i18n="city4"></h4><span class="st soon" data-i18n="st.soon"></span>

        </div>

        <div class="city reveal">

          <svg class="pin" viewBox="0 0 24 24"><path d="M12 21s-6.5-5.4-6.5-10.2A6.5 6.5 0 0 1 12 4.3a6.5 6.5 0 0 1 6.5 6.5C18.5 15.6 12 21 12 21z"/><circle cx="12" cy="10.8" r="2.2"/></svg>

          <h4 data-i18n="city5"></h4><span class="st soon" data-i18n="st.soon"></span>

        </div>

      </div>

      <p class="loc-addr" data-i18n="loc.addr"></p>

    </div>

  </section>


  <!-- CONTACT -->

  <section class="sec" id="contact">

    <div class="wrap">

      <div class="sec-head reveal">

        <div class="kicker" data-i18n="contact.kicker"></div>

        <h2 data-i18n="contact.title"></h2>

      </div>

      <p class="contact-text reveal" data-i18n="contact.text"></p>

      <div class="contact-grid">

        <div class="ccard reveal">

          <div class="ico"><svg viewBox="0 0 24 24"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z"/></svg></div>

          <span class="lb" data-i18n="c1.l"></span>

          <a href="tel:+35799000000">+357 99 000 000</a>

        </div>

        <div class="ccard reveal">

          <div class="ico"><svg viewBox="0 0 24 24"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></svg></div>

          <span class="lb" data-i18n="c2.l"></span>

          <a href="mailto:hello@tuman.cy">hello@tuman.cy</a>

        </div>

        <div class="ccard reveal">

          <div class="ico"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg></div>

          <span class="lb" data-i18n="c3.l"></span>

          <p class="v" data-i18n="c3.v"></p>

        </div>

      </div>

    </div>

  </section>

</main>


<footer>

  <div class="wrap">

    <a class="brand" href="#top">

      <svg viewBox="0 0 48 56" width="30" height="35" aria-hidden="true">

        <path d="M24 2 L44 9.5 V27 C44 41 35.5 49.5 24 54 C12.5 49.5 4 41 4 27 V9.5 Z" stroke="url(#shg)" stroke-width="2.2" fill="rgba(139,92,246,.08)"/>

        <path d="M16 20 H32 M24 20 V41" stroke="url(#shg)" stroke-width="2.8" stroke-linecap="round"/>

        <path d="M24 9.5 V13.5 M22 11.5 H26" stroke="#c4b5fd" stroke-width="1.6" stroke-linecap="round"/>

      </svg>

      <span class="brand-name">TUMAN</span>

    </a>

    <p class="fmotto" data-i18n="hero.motto"></p>

    <p class="fsmall" data-i18n="footer.made"></p>

    <p class="fsmall" data-i18n="footer.rights"></p>

  </div>

</footer>


<div class="mob-cta">

  <b data-i18n="price.value"></b>

  <a href="#locations" data-i18n="hero.cta1"></a>

</div>


<script>

/* ============ TRANSLATIONS ============ */

const T = {

  en:{

    "nav.reasons":"Why Dry Fog","nav.how":"How It Works","nav.price":"Price","nav.locations":"Locations","nav.contact":"Contact",

    "hero.kicker":"Self-service station — Cyprus",

    "hero.tagline":"Premium Automotive Aroma",

    "hero.motto":"Scent. Performance. Presence.",

    "hero.sub":"A self-service dry fog generator that renews your car interior in 20 minutes: it neutralizes stubborn odors, bacteria, viruses and allergens — for just <b>€10</b>.",

    "hero.cta1":"Find a Station","hero.cta2":"How It Works",

    "marquee":["Dry Fog","Scent","Performance","Presence","€10 Flat","Self-Service 24/7","Cyprus"],

    "stat1.v":"20 min","stat1.l":"Average session",

    "stat2.v":"99%","stat2.l":"Odors neutralized*",

    "stat3.v":"€10","stat3.l":"Flat price, any car",

    "stat4.v":"24/7","stat4.l":"No appointment needed",

    "stats.note":"*Up to 99% — according to lab tests of the active formulation.",

    "reasons.kicker":"Why Dry Fog","reasons.title":"5 Reasons to Choose TUMAN",

    "r1.t":"Kills odors, not your nose",

    "r1.d":"Tobacco smoke, pets, fast food — dry fog binds odor molecules in the air and upholstery and destroys them instead of masking them with perfume. What remains is a clean, fresh aroma.",

    "r2.t":"Bacteria & viruses eliminated",

    "r2.d":"The microscopic fog penetrates the ventilation, seats and carpets, destroying bacteria and viruses. Healthier air for you and your passengers.",

    "r3.t":"Allergens neutralized",

    "r3.d":"Pollen, dust and mold spores are captured and neutralized — every ride becomes easier for allergy sufferers.",

    "r4.t":"Reaches where wipes can't",

    "r4.d":"The vapor spreads like air itself: into air ducts, under seats, into seams and the headliner. Every hidden corner of the cabin gets treated in depth.",

    "r5.t":"Fast, safe, €10",

    "r5.d":"The full cycle takes about 20 minutes and requires zero effort. Safe for leather, fabric, plastics and electronics — and costs less than two coffees.",

    "how.kicker":"Self-service","how.title":"Fresh car in 3 steps",

    "s1.t":"Park & pay","s1.d":"Drive up to the TUMAN station, choose a scent on the screen and pay €10 by card or cash.",

    "s2.t":"Start the cycle","s2.d":"Close the doors and press start. The cabin fills with fine dry fog, deep-treating every surface.",

    "s3.t":"Breathe fresh","s3.d":"After ~20 minutes open the doors, air out for a minute and enjoy your renewed car.",

    "price.kicker":"Simple pricing","price.title":"One car. One price.",

    "price.value":"€10","price.per":"per full treatment",

    "price.note":"Any vehicle type · Scent of your choice · No hidden fees","price.cta":"Find a station",

    "faq.title":"Questions & answers",

    "faq.q1":"How long does the treatment take?",

    "faq.a1":"The full cycle takes about 20 minutes. You can wait nearby or run a quick errand — the machine does everything by itself.",

    "faq.q2":"Is dry fog safe for the interior?",

    "faq.a2":"Yes. It is a low-moisture dry fog that leaves no wet residue and is safe for leather, fabric, plastics and electronics.",

    "faq.q3":"Does it really remove cigarette smell?",

    "faq.a3":"Yes. Unlike air fresheners, dry fog neutralizes odor molecules instead of covering them — the smell doesn't come back the next day.",

    "faq.q4":"Which scents are available?",

    "faq.a4":"Each station offers a choice of premium aromas — from fresh ozone to warm vanilla. Pick your favorite on the screen.",

    "loc.kicker":"Cyprus","loc.title":"Where to find TUMAN",

    "loc.note":"Self-service stations are being installed across the island. The first machines are already live in Limassol.",

    "city1":"Limassol","city2":"Nicosia","city3":"Larnaca","city4":"Paphos","city5":"Ayia Napa",

    "st.live":"Now live","st.soon":"Coming soon",

    "loc.addr":"Exact addresses and live availability are shown on the machine's screen and on our social pages.",

    "contact.kicker":"Contact","contact.title":"Stay in touch",

    "contact.text":"Questions, partnerships or fleet pricing — reach out anytime. We answer daily.",

    "c1.l":"Phone","c2.l":"Email","c3.l":"Hours","c3.v":"Daily 24/7 — self-service",

    "footer.made":"Self-service dry fog stations — Cyprus",

    "footer.rights":"© 2025 TUMAN Cyprus. All rights reserved."

  },

  el:{

    "nav.reasons":"Γιατί Dry Fog","nav.how":"Πώς Λειτουργεί","nav.price":"Τιμή","nav.locations":"Τοποθεσίες","nav.contact":"Επικοινωνία",

    "hero.kicker":"Self-service σταθμός — Κύπρος",

    "hero.tagline":"Premium Automotive Aroma",

    "hero.motto":"Άρωμα. Επιδόσεις. Παρουσία.",

    "hero.sub":"Γεννήτρια ξηρής ομίχλης self-service που ανανεώνει το εσωτερικό του αυτοκινήτου σου σε 20 λεπτά: εξουδετερώνει επίμονες οσμές, βακτήρια, ιούς και αλλεργιογόνα — μόνο για <b>10 €</b>.",

    "hero.cta1":"Βρες Σταθμό","hero.cta2":"Πώς Λειτουργεί",

    "marquee":["Ξηρή Ομίχλη","Άρωμα","Επιδόσεις","Παρουσία","10 € Ενιαία","Self-Service 24/7","Κύπρος"],

    "stat1.v":"20 λεπ.","stat1.l":"Μέση διάρκεια",

    "stat2.v":"99%","stat2.l":"Οσμές εξουδετερωμένες*",

    "stat3.v":"10 €","stat3.l":"Ενιαία τιμή, κάθε αυτοκίνητο",

    "stat4.v":"24/7","stat4.l":"Χωρίς ραντεβού",

    "stats.note":"*Έως 99% — σύμφωνα με εργαστηριακά τεστ της σύνθεσης.",

    "reasons.kicker":"Γιατί Dry Fog","reasons.title":"5 Λόγοι να Διαλέξεις το TUMAN",

    "r1.t":"Σκοτώνει τις οσμές, όχι τη μύτη σου",

    "r1.d":"Καπνός τσιγάρου, κατοικίδια, φαγητό — η ξηρή ομίχλη δεσμεύει και καταστρέφει τα μόρια των οσμών στον αέρα και στην ταπετσαρία, αντί να τα σκεπάζει με άρωμα. Απομένει καθαρή, φρέσκια μυρωδιά.",

    "r2.t":"Βακτήρια και ιοί εξαλείφονται",

    "r2.d":"Η μικροσκοπική ομίχλη διεισδύει στον εξαερισμό, στα καθίσματα και στα χαλιά, καταστρέφοντας βακτήρια και ιούς. Πιο υγιής αέρας για εσένα και τους επιβάτες σου.",

    "r3.t":"Αλλεργιογόνα εξουδετερωμένα",

    "r3.d":"Η γύρη, η σκόνη και τα σπόρια μούχλας δεσμεύονται και εξουδετερώνονται — κάθε διαδρομή γίνεται πιο εύκολη για όσους έχουν αλλεργίες.",

    "r4.t":"Φτάνει εκεί που δεν φτάνει σφουγγαρίστρα",

    "r4.d":"Ο ατμός απλώνεται όπως ο αέρας: στους αγωγούς, κάτω από τα καθίσματα, στις ραφές και στο ταβάνι. Κάθε κρυφή γωνιά της καμπίνας καθαρίζει σε βάθος.",

    "r5.t":"Γρήγορα, ασφαλώς, 10 €",

    "r5.d":"Ο πλήρης κύκλος διαρκεί περίπου 20 λεπτά και δεν απαιτεί καμία προσπάθεια. Ασφαλές για δέρμα, ύφασμα, πλαστικά και ηλεκτρονικά — και κοστίζει λιγότερο από δύο καφέδες.",

    "how.kicker":"Self-service","how.title":"Φρέσκο αυτοκίνητο σε 3 βήματα",

    "s1.t":"Στάθμευσε & πλήρωσε","s1.d":"Πάρκαρε στον σταθμό TUMAN, διάλεξε άρωμα στην οθόνη και πλήρωσε 10 € με κάρτα ή μετρητά.",

    "s2.t":"Ξεκίνα τον κύκλο","s2.d":"Κλείσε τις πόρτες και πάτα start. Η καμπίνα γεμίζει με λεπτή ξηρή ομίχλη που καθαρίζει σε βάθος.",

    "s3.t":"Ανάπνευσε φρεσκάδα","s3.d":"Μετά από ~20 λεπτά άνοιξε τις πόρτες, άφησε λίγο αέρα και απόλαυσε το ανανεωμένο αυτοκίνητό σου.",

    "price.kicker":"Απλή τιμολόγηση","price.title":"Ένα αυτοκίνητο. Μία τιμή.",

    "price.value":"10 €","price.per":"ανά πλήρη επεξεργασία",

    "price.note":"Κάθε τύπος οχήματος · Άρωμα της επιλογής σου · Χωρίς κρυφές χρεώσεις","price.cta":"Βρες σταθμό",

    "faq.title":"Ερωτήσεις & απαντήσεις",

    "faq.q1":"Πόσο διαρκεί η επεξεργασία;",

    "faq.a1":"Ο πλήρης κύκλος διαρκεί περίπου 20 λεπτά. Μπορείς να περιμένεις τριγύρω ή να κάνεις μια σύντομη δουλειά — η μηχανή τα κάνει όλα μόνη της.",

    "faq.q2":"Είναι ασφαλής η ξηρή ομίχλη για το εσωτερικό;",

    "faq.a2":"Ναι. Είναι ομίχλη με ελάχιστη υγρασία που δεν αφήνει υγρά υπολείμματα και είναι ασφαλής για δέρμα, ύφασμα, πλαστικά και ηλεκτρονικά.",

    "faq.q3":"Πραγματικά αφαιρεί τη μυρωδιά του τσιγάρου;",

    "faq.a3":"Ναι. Σε αντίθεση με τα αρωματικά, η ξηρή ομίχλη εξουδετερώνει τα μόρια των οσμών αντί να τα σκεπάζει — η μυρωδιά δεν επιστρέφει την επόμενη μέρα.",

    "faq.q4":"Ποια αρώματα διατίθενται;",

    "faq.a4":"Κάθε σταθμός προσφέρει επιλογή premium αρωμάτων — από δροσερό όζον έως ζεστή βανίλια. Διάλεξε το αγαπημένο σου στην οθόνη.",

    "loc.kicker":"Κύπρος","loc.title":"Πού θα βρεις το TUMAN",

    "loc.note":"Οι self-service σταθμοί εγκαθίστανται σε όλο το νησί. Οι πρώτες μηχανές λειτουργούν ήδη στη Λεμεσό.",

    "city1":"Λεμεσός","city2":"Λευκωσία","city3":"Λάρνακα","city4":"Πάφος","city5":"Αγία Νάπα",

    "st.live":"Λειτουργεί ήδη","st.soon":"Σύντομα",

    "loc.addr":"Οι ακριβείς διευθύνσεις και η ζωντανή διαθεσιμότητα εμφανίζονται στην οθόνη της μηχανής και στις σελίδες μας.",

    "contact.kicker":"Επικοινωνία","contact.title":"Μείνε σε επαφή",

    "contact.text":"Ερωτήσεις, συνεργασίες ή τιμές για στόλους — επικοινώνησε όποτε θέλεις. Απαντάμε καθημερινά.",

    "c1.l":"Τηλέφωνο","c2.l":"Email","c3.l":"Ώρες","c3.v":"Καθημερινά 24/7 — self-service",

    "footer.made":"Σταθμοί ξηρής ομίχλης self-service — Κύπρος",

    "footer.rights":"© 2025 TUMAN Κύπρος. Με επιφύλαξη παντός δικαιώματος."

  }

};


/* hero.sub supports <b> — apply as innerHTML for that key only */

const HTML_KEYS = new Set(["hero.sub"]);


function renderMarquee(lang){

  const track = document.getElementById("marqueeTrack");

  const group = T[lang].marquee.map(i=>`<span>${i}</span><i>✦</i>`).join("");

  track.innerHTML = `<div class="mq-group">${group}</div><div class="mq-group">${group}</div>`;

}


function setLang(lang){

  document.documentElement.lang = lang;

  document.getElementById("btn-en").classList.toggle("active", lang==="en");

  document.getElementById("btn-el").classList.toggle("active", lang==="el");

  document.querySelectorAll("[data-i18n]").forEach(el=>{

    const key = el.dataset.i18n;

    const val = T[lang][key];

    if(val==null) return;

    if(HTML_KEYS.has(key)) el.innerHTML = val; else el.textContent = val;

  });

  renderMarquee(lang);

  try{ localStorage.setItem("tuman-lang", lang); }catch(e){}

}


/* ============ FAQ accordion ============ */

document.querySelectorAll(".faq-q").forEach(btn=>{

  btn.addEventListener("click", ()=>{

    const item = btn.parentElement;

    const open = item.classList.toggle("open");

    btn.setAttribute("aria-expanded", open);

  });

});


/* ============ scroll reveal ============ */

const io = new IntersectionObserver(entries=>{

  entries.forEach(e=>{ if(e.isIntersecting){ e.target.classList.add("visible"); io.unobserve(e.target);} });

},{threshold:.14});

document.querySelectorAll(".reveal").forEach(el=>io.observe(el));


/* ============ particles ============ */

(function(){

  const stage = document.getElementById("stage");

  if(!stage) return;

  const n = 26;

  for(let i=0;i<n;i++){

    const p = document.createElement("span");

    p.className = "particle";

    const size = 2 + Math.random()*3.5;

    p.style.width = size+"px";

    p.style.height = size+"px";

    p.style.left = (Math.random()*100)+"%";

    p.style.top = (45 + Math.random()*45)+"%";

    p.style.animationDuration = (6 + Math.random()*9)+"s";

    p.style.animationDelay = (Math.random()*9)+"s";

    p.style.opacity = 0;

    p.style.boxShadow = "0 0 8px rgba(196,181,253,.9)";

    stage.appendChild(p);

  }

})();


/* ============ hero parallax (desktop only) ============ */

(function(){

  const hero = document.querySelector(".hero");

  if(!hero || matchMedia("(hover:none)").matches) return;

  const layers = hero.querySelectorAll("[data-depth]");

  hero.addEventListener("mousemove", e=>{

    const r = hero.getBoundingClientRect();

    const dx = e.clientX/r.width - .5;

    const dy = e.clientY/r.height - .5;

    layers.forEach(el=>{

      const d = +el.dataset.depth;

      el.style.transform = `translate(${dx*d}px, ${dy*d}px)`;

    });

  });

  hero.addEventListener("mouseleave", ()=>{

    layers.forEach(el=> el.style.transform = "translate(0,0)");

  });

})();


/* init */

let saved = "en";

try{ saved = localStorage.getItem("tuman-lang") || "en"; }catch(e){}

setLang(saved);

</script>

</body>

</html>