:root{
  --lime:#9BE861; --green:#4ede8a; --teal:#19d3b8; --cyan:#12A594; --deep:#0B6E6B;
  --grad:linear-gradient(120deg,#9BE861,#19d3b8 55%,#0f8f8a);
  --grad-2:linear-gradient(135deg,#b6f06a,#19d3b8);
  --grad-text:linear-gradient(100deg,#b6f06a,#19d3b8 60%,#5ee0ff);
  --glow-teal:rgba(25,211,184,.45); --glow-lime:rgba(155,232,97,.38);

  --bg:#070f0d; --bg-2:#0a1512; --bg-3:#0e1c18;
  --card:rgba(17,32,27,.72); --card-solid:#111f1b;
  --ink:#ecfff8; --ink-2:#a9c6bd; --muted:#6f8c83; --line:rgba(150,225,195,.13);
  --glass-brd:linear-gradient(160deg,rgba(150,225,195,.35),rgba(25,211,184,.12));
  --gloss:linear-gradient(160deg,rgba(150,240,200,.10),rgba(0,0,0,0) 55%);
  --header-bg:rgba(8,17,14,.6);
  --shadow-sm:0 6px 18px rgba(0,0,0,.4);
  --shadow:0 18px 45px rgba(0,0,0,.5);
  --shadow-lg:0 28px 70px rgba(0,0,0,.62);
  --glow:0 0 0 1px rgba(25,211,184,.18),0 22px 60px -20px var(--glow-teal);
  --ico:#9BE861;
  --tile-bg:linear-gradient(145deg,rgba(125,194,66,.20),rgba(14,149,148,.12));
  --tile-brd:rgba(125,194,66,.28);

  --mono:'JetBrains Mono','Vazirmatn',monospace;
  --r:16px; --r-sm:12px; --r-lg:26px; --container:1200px; --fast:.25s; --med:.55s;
}
[data-theme="light"]{
  --lime:#6cae1f; --green:#43B02A; --teal:#0FA090; --cyan:#12A594; --deep:#0B6E6B;
  --grad:linear-gradient(120deg,#8CC63F,#12A594 58%,#0B6E6B);
  --grad-2:linear-gradient(135deg,#9BE15D,#12A594);
  --grad-text:linear-gradient(100deg,#5aa11e,#0FA090 60%,#0B6E6B);
  --glow-teal:rgba(18,165,148,.28); --glow-lime:rgba(140,198,63,.3);
  --bg:#f4faf7; --bg-2:#ecf5f1; --bg-3:#e6f2ec;
  --card:rgba(255,255,255,.8); --card-solid:#ffffff;
  --ink:#0f2a24; --ink-2:#3a5b52; --muted:#6b8b81; --line:rgba(11,110,107,.14);
  --glass-brd:linear-gradient(160deg,rgba(255,255,255,.9),rgba(18,165,148,.28));
  --gloss:linear-gradient(160deg,rgba(255,255,255,.8),rgba(255,255,255,.2) 55%);
  --header-bg:rgba(255,255,255,.72);
  --shadow-sm:0 6px 18px rgba(13,60,42,.06);
  --shadow:0 18px 45px rgba(13,60,42,.10);
  --shadow-lg:0 28px 70px rgba(13,60,42,.14);
  --glow:0 0 0 1px rgba(18,165,148,.12),0 22px 56px -20px var(--glow-teal);
  --ico:#4e9a2e;
  --tile-bg:linear-gradient(145deg,rgba(125,194,66,.16),rgba(14,149,148,.10));
  --tile-brd:rgba(125,194,66,.22);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Vazirmatn','Yekan',system-ui,Tahoma,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.9;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;transition:background var(--fast),color var(--fast);
  position:relative;
}

body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
   radial-gradient(60vw 50vh at 85% -5%,var(--glow-lime),transparent 60%),
   radial-gradient(55vw 55vh at 0% 100%,var(--glow-teal),transparent 60%);
  opacity:.5}
a{color:inherit;text-decoration:none;transition:color var(--fast)}
img{max-width:100%;display:block}
h1,h2,h3,h4{line-height:1.5;font-weight:700;color:var(--ink);letter-spacing:-.3px}
.container{max-width:var(--container);margin-inline:auto;padding-inline:22px}
.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.mono{font-family:var(--mono)}

#progress{position:fixed;top:0;right:0;height:3px;width:0;z-index:1000;background:var(--grad);box-shadow:0 0 12px var(--glow-teal)}

.site-header{position:sticky;top:0;z-index:900;transition:all var(--fast);
  background:var(--header-bg);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  border-bottom:1px solid transparent}
.site-header.scrolled{border-color:var(--line);box-shadow:0 10px 40px -22px rgba(0,0,0,.7)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;height:80px;transition:height var(--fast)}
.site-header.scrolled .nav{height:66px}
.brand .logo-img{height:64px;width:auto;display:block;transition:var(--fast);filter:drop-shadow(0 6px 16px var(--glow-teal))}
.site-header.scrolled .brand .logo-img{height:52px}
@media(max-width:560px){.brand .logo-img{height:52px}}
.menu{display:flex;align-items:center;gap:2px;list-style:none}
.menu a{padding:9px 14px;border-radius:10px;font-weight:500;color:var(--ink-2);font-size:.95rem;position:relative}
.menu a:hover{color:var(--ink)}
.menu a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;
  background:var(--grad);transform:scaleX(0);transition:transform var(--fast);transform-origin:right}
.menu a:hover::after{transform:scaleX(1)}
.nav-cta{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:12px;font-weight:600;
  cursor:pointer;border:0;font-family:inherit;font-size:.95rem;position:relative;
  transition:transform var(--fast),box-shadow var(--fast),background var(--fast)}
.btn-primary{background:var(--grad);color:#04231e;box-shadow:var(--glow)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.btn-white{background:var(--card-solid);color:var(--deep);border:1px solid var(--line)}
[data-theme="light"] .btn-primary{color:#fff}
.theme-toggle,.icon-btn{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);
  color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:var(--fast);backdrop-filter:blur(8px);flex-shrink:0}
.theme-toggle:hover,.icon-btn:hover{transform:translateY(-2px);border-color:var(--teal);box-shadow:var(--glow);color:var(--teal)}
.icon-btn svg{width:20px;height:20px}

.icon-btn .i-sun{display:none}
[data-theme="light"] #themeToggle .i-sun{display:block}
[data-theme="light"] #themeToggle .i-moon{display:none}

#soundToggle .i-on{display:none}
#soundToggle[data-on="1"] .i-on{display:block}
#soundToggle[data-on="1"] .i-off{display:none}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:24px;height:2.5px;background:var(--ink);border-radius:2px;transition:var(--fast)}

.kicker,.section-head .kicker{font-family:var(--mono);font-weight:600;letter-spacing:.5px;font-size:.8rem;
  text-transform:none;color:var(--teal);display:inline-block}
.kicker::before{content:"// ";opacity:.6}

.hero{position:relative;padding:80px 0 96px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:44px;align-items:center}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.82rem;font-weight:600;
  color:var(--teal);background:rgba(25,211,184,.08);padding:8px 16px;border-radius:999px;border:1px solid var(--line)}
.hero h1{font-size:clamp(2.1rem,5vw,3.6rem);margin:22px 0;letter-spacing:-1px;font-weight:800}
.hero p.lead{font-size:1.14rem;color:var(--ink-2);max-width:46ch}
.hero-actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.hero-trust{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.hero-trust .t{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 20px;backdrop-filter:blur(8px);min-width:120px}
.hero-trust b{font-family:var(--mono);font-size:1.7rem;font-weight:700;background:var(--grad-text);
  -webkit-background-clip:text;background-clip:text;color:transparent;display:block;line-height:1.2}
.hero-trust span{font-size:.82rem;color:var(--muted)}

.gono-wrap,.hero-visual{position:relative;aspect-ratio:1/1;display:grid;place-items:center}
.halo{position:absolute;inset:8%;border-radius:50%;
  background:conic-gradient(from 0deg,var(--lime),var(--teal),var(--cyan),var(--lime));
  filter:blur(38px);opacity:.35;animation:spin 14s linear infinite}
.gono-wrap .card,.hero-visual .card-float{position:relative;z-index:2;background:var(--card);border-radius:var(--r-lg);
  padding:30px;text-align:center;width:80%;border:1px solid var(--line);backdrop-filter:blur(14px);box-shadow:var(--shadow-lg)}
.hero-visual .ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--line);animation:pulse 6s ease-in-out infinite}
.hero-visual .ring:nth-child(2){inset:12%}.hero-visual .ring:nth-child(3){inset:24%}
.hero-visual .card-float .ic{width:76px;height:76px;border-radius:20px;background:var(--grad-2);color:#04231e;
  display:grid;place-items:center;margin:0 auto 14px;font-size:2rem;box-shadow:0 12px 30px -10px var(--glow-teal)}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;z-index:-1;animation:float 12s ease-in-out infinite}
.blob.b1{width:440px;height:440px;background:var(--lime);top:-140px;left:-120px}
.blob.b2{width:400px;height:400px;background:var(--teal);bottom:-160px;right:-110px;animation-delay:-6s}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.05);opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}

.marquee{overflow:hidden;border-block:1px solid var(--line);padding:20px 0;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;gap:48px;width:max-content;animation:scroll 28s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee .it{font-family:var(--mono);color:var(--muted);font-size:1rem;white-space:nowrap;display:flex;align-items:center;gap:8px}
@keyframes scroll{to{transform:translateX(50%)}}

.section{padding:88px 0;position:relative}
.section.alt{background:var(--bg-2)}
.section-head{max-width:680px;margin:0 auto 52px;text-align:center}
.section-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin:12px 0;font-weight:800}
.section-head p{color:var(--ink-2)}

.grid{display:grid;gap:24px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;backdrop-filter:blur(10px);
  box-shadow:var(--shadow-sm);transition:transform var(--med),box-shadow var(--med),border-color var(--med)}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--teal)}

.services-2026{overflow:hidden}
.svc{position:relative;padding:1px;border-radius:22px;background:var(--glass-brd);box-shadow:var(--shadow-sm);
  transition:transform var(--med),box-shadow var(--med)}
.svc:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}
.svc-in{position:relative;height:100%;border-radius:21px;padding:30px 26px;overflow:hidden;
  background:var(--gloss),var(--card);backdrop-filter:blur(16px)}
.svc-in::before{content:"";position:absolute;top:-50%;left:-30%;width:160%;height:80%;
  background:linear-gradient(180deg,rgba(255,255,255,.14),transparent);transform:rotate(-8deg);pointer-events:none}
[data-theme="light"] .svc-in::before{background:linear-gradient(180deg,rgba(255,255,255,.55),transparent)}
.svc .ic{position:relative;width:64px;height:64px;border-radius:18px;display:grid;place-items:center;
  margin-bottom:18px;color:var(--ico);background:var(--tile-bg);border:1px solid var(--tile-brd);
  box-shadow:var(--shadow-sm);transition:transform var(--fast)}
.svc:hover .ic{transform:translateY(-3px) scale(1.05)}
.ico{display:block}
.ic .ico{width:26px;height:26px}
.svc h3{font-size:1.16rem;margin-bottom:8px;position:relative}
.svc p{color:var(--ink-2);font-size:.95rem;position:relative}
.svc .price{margin-top:14px;font-family:var(--mono);font-weight:700;color:var(--teal);position:relative}
.svc .go{margin-top:16px;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--teal);position:relative;font-size:.92rem}
.svc:hover .go{gap:11px}

.service-card{padding:30px 26px;background:var(--gloss),var(--card);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(12px);transition:transform var(--med),box-shadow var(--med),border-color var(--med)}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--glow);border-color:var(--teal)}
.service-card .ic{width:64px;height:64px;border-radius:18px;background:var(--tile-bg);border:1px solid var(--tile-brd);color:var(--ico);display:grid;
  place-items:center;margin-bottom:18px;box-shadow:var(--shadow-sm)}

.tile-soft{background:var(--tile-bg);color:var(--ico);border:1px solid var(--tile-brd)}
.tile-soft .ico{width:22px;height:22px}
.service-card h3{font-size:1.15rem;margin-bottom:8px}
.service-card p{color:var(--ink-2);font-size:.95rem}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;backdrop-filter:blur(10px)}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--mono);font-size:2.4rem;font-weight:700;
  background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}
.step h3{font-size:1.1rem;margin:10px 0 6px}
.step p{color:var(--ink-2);font-size:.92rem}

.cat-cloud{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.cat-pill{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);
  padding:11px 20px;border-radius:999px;font-weight:600;color:var(--ink-2);transition:var(--fast);backdrop-filter:blur(8px)}
.cat-pill:hover{background:var(--grad);color:#04231e;transform:translateY(-3px);border-color:transparent;box-shadow:var(--glow)}
.cat-pill .n{font-family:var(--mono);background:rgba(25,211,184,.12);color:var(--teal);border-radius:999px;padding:1px 9px;font-size:.78rem}
.cat-pill:hover .n{background:rgba(4,35,30,.22);color:#04231e}

.search-bar{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);
  border-radius:999px;padding:5px 6px 5px 16px;min-width:280px;box-shadow:var(--shadow-sm);transition:border-color var(--fast),box-shadow var(--fast)}
.search-bar:focus-within{border-color:var(--teal);box-shadow:var(--glow)}
.search-bar .search-ic{display:grid;place-items:center;color:var(--muted);flex-shrink:0}
.search-bar input{flex:1;border:0;background:transparent;color:var(--ink);font-family:inherit;font-size:.95rem;padding:8px 0;min-width:0}
.search-bar input:focus{outline:0}
.search-bar input::placeholder{color:var(--muted)}
.search-bar button{border:0;cursor:pointer;background:var(--grad);color:#04231e;font-family:inherit;font-weight:700;
  font-size:.9rem;padding:10px 20px;border-radius:999px;flex-shrink:0;transition:transform var(--fast)}
.search-bar button:hover{transform:translateY(-1px)}
@media(max-width:560px){.search-bar{width:100%;min-width:0}}

.post-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);transition:transform var(--med),box-shadow var(--med),border-color var(--med)}
.post-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--teal)}
.post-card .thumb{aspect-ratio:16/10;overflow:hidden;background:var(--bg-3);position:relative}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.post-card:hover .thumb img{transform:scale(1.08)}
.post-card .body{padding:20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-card .cat{font-family:var(--mono);color:var(--teal);font-weight:600;font-size:.78rem}
.post-card h3{font-size:1.06rem;line-height:1.65}
.post-card .meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;
  color:var(--muted);font-size:.8rem;padding-top:12px;border-top:1px solid var(--line);font-family:var(--mono)}
.post-card .rd{color:var(--teal);font-weight:600;font-family:'Yekan',sans-serif}

.cta{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:56px 46px;
  background:var(--grad);color:#04231e;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
  box-shadow:var(--glow)}
.cta::before{content:"";position:absolute;width:320px;height:320px;background:rgba(255,255,255,.18);border-radius:50%;top:-130px;left:-70px}
.cta h2{color:#04231e;font-size:1.8rem}
.cta p{opacity:.85;margin-top:6px;color:#063029}

.article-hero{padding:44px 0 18px}
.breadcrumb{display:flex;gap:8px;color:var(--muted);font-size:.82rem;flex-wrap:wrap;font-family:var(--mono)}
.breadcrumb a:hover{color:var(--teal)}
.article-wrap{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start;padding-bottom:60px}
.article-body{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:36px 40px;font-size:1.07rem;backdrop-filter:blur(10px)}
.article-body img{border-radius:var(--r-sm);margin:22px auto}
.article-body h2{font-size:1.5rem;margin:30px 0 12px}
.article-body h3{font-size:1.22rem;margin:22px 0 10px}
.article-body p{margin:14px 0;color:var(--ink-2)}
.article-body ul,.article-body ol{margin:14px 26px;color:var(--ink-2)}
.article-body a{color:var(--teal);font-weight:600;border-bottom:1px dashed var(--teal)}
.cover{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:var(--r);margin-bottom:26px}
.sidebar{position:sticky;top:98px;display:flex;flex-direction:column;gap:22px}
.widget{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;backdrop-filter:blur(10px)}
.widget h4{margin-bottom:14px;font-size:1.05rem}
.widget .mini{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.widget .mini:last-child{border:0}
.widget .mini img{width:64px;height:52px;object-fit:cover;border-radius:8px;flex-shrink:0}
.widget .mini a{font-size:.9rem;font-weight:500;line-height:1.6}

.pager{display:flex;gap:8px;justify-content:center;margin-top:44px;flex-wrap:wrap;font-family:var(--mono)}
.pager a,.pager span{padding:9px 15px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-weight:600}
.pager a:hover{border-color:var(--teal);color:var(--teal)}
.pager .on{background:var(--grad);color:#04231e;border-color:transparent}

.form-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:34px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.field{margin-bottom:16px}
.field label{display:block;font-weight:500;margin-bottom:7px;font-size:.92rem;color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);
  border-radius:var(--r-sm);font-family:inherit;font-size:.95rem;background:var(--bg-2);color:var(--ink);transition:var(--fast)}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--teal);background:var(--bg-3);
  box-shadow:0 0 0 4px rgba(25,211,184,.14)}
.slots{display:flex;flex-wrap:wrap;gap:8px}
.slot{padding:9px 14px;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;font-weight:600;font-family:var(--mono);
  background:var(--bg-2);color:var(--ink);transition:var(--fast);font-size:.9rem}
.slot:hover{border-color:var(--teal)}
.slot.active{background:var(--grad);color:#04231e;border-color:transparent}
.alert{padding:14px 18px;border-radius:var(--r-sm);margin-bottom:18px;font-weight:500}
.alert-success{background:rgba(25,211,184,.12);color:var(--teal);border:1px solid var(--line)}
.alert-error{background:rgba(224,75,74,.14);color:#ff9a9a;border:1px solid rgba(224,75,74,.3)}
[data-theme="light"] .alert-error{color:#c0392b}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.info-item{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.info-item .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0}

.faq-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:12px;overflow:hidden;backdrop-filter:blur(10px)}
.faq-q{padding:18px 22px;font-weight:500;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.faq-q .x{transition:var(--fast);color:var(--teal);font-size:1.4rem;font-family:var(--mono)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;color:var(--ink-2)}
.faq-a div{padding:0 22px 20px}
.faq-item.open{border-color:var(--teal)}
.faq-item.open .faq-a{max-height:400px}
.faq-item.open .faq-q .x{transform:rotate(45deg)}

.gallery-grid{columns:4;column-gap:16px}
.gallery-grid img{width:100%;border-radius:var(--r-sm);margin-bottom:16px;transition:var(--fast);border:1px solid var(--line)}
.gallery-grid img:hover{transform:scale(1.02);box-shadow:var(--glow);border-color:var(--teal)}

.site-footer{position:relative;overflow:hidden;margin-top:80px;padding:60px 0 22px;background:var(--bg-2);border-top:1px solid var(--line)}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad);opacity:.85}
.foot-aurora{position:absolute;top:-45%;left:50%;transform:translateX(-50%);width:80%;height:320px;
  background:radial-gradient(ellipse at center,var(--glow-teal),transparent 70%);opacity:.55;pointer-events:none;filter:blur(30px)}
.footer-top{position:relative;z-index:1;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.5fr;gap:34px}
.site-footer h4{color:var(--ink);margin-bottom:16px;font-size:1rem;font-weight:700}
.foot-col a{color:var(--ink-2);display:block;padding:6px 0;font-size:.92rem;transition:color var(--fast),transform var(--fast)}
.foot-col a:hover{color:var(--teal);transform:translateX(-4px)}
.foot-brand .logo-img{height:64px;margin-bottom:14px;filter:drop-shadow(0 6px 16px var(--glow-teal))}
.foot-brand p{color:var(--ink-2);font-size:.92rem;line-height:2;max-width:34ch}
.socials{display:flex;gap:10px;margin-top:16px}
.socials a{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:var(--ico);
  background:var(--tile-bg);border:1px solid var(--tile-brd);transition:var(--fast)}
.socials a:hover{background:var(--grad);color:#04231e;transform:translateY(-3px);border-color:transparent;box-shadow:var(--glow)}
.foot-contact .fc-item{display:flex;gap:12px;align-items:center;padding:8px 0;color:var(--ink-2);font-size:.9rem}
.foot-contact a.fc-item:hover{color:var(--teal)}
.foot-contact .fc-item small{display:block;color:var(--muted);font-size:.72rem;margin-bottom:1px}
.fc-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;color:var(--ico);background:var(--tile-bg);border:1px solid var(--tile-brd)}
.foot-bottom{position:relative;z-index:1;border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:12px;color:var(--muted);font-size:.84rem;align-items:center;font-family:var(--mono)}
.to-top{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);
  cursor:pointer;display:grid;place-items:center;transition:var(--fast)}
.to-top:hover{background:var(--grad);color:#04231e;border-color:transparent;transform:translateY(-3px)}
.credit{display:inline-flex;align-items:center;gap:6px}
.heart{display:inline-block;color:#ff4d6d;animation:beat 1s ease-in-out infinite;font-style:normal}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.32)}30%{transform:scale(1)}45%{transform:scale(1.22)}}
.general{position:relative;color:var(--lime);font-weight:700;border-bottom:1px dashed rgba(155,232,97,.5)}
.general:hover{color:var(--teal)}
.general .tip{position:absolute;bottom:150%;left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--grad);color:#04231e;padding:12px 16px;border-radius:14px;font-size:.82rem;font-weight:600;font-family:'Yekan',sans-serif;
  white-space:nowrap;box-shadow:var(--glow);opacity:0;visibility:hidden;transition:.3s;pointer-events:none;line-height:1.9}
.general .tip b{display:block;font-size:1rem;direction:ltr;font-family:var(--mono)}
.general .tip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:8px solid transparent;border-top-color:var(--teal)}
.general:hover .tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

#webgl{position:fixed;inset:0;width:100%;height:100%;z-index:-3;pointer-events:none;opacity:.9}

.hero-portrait{display:grid;place-items:center}
.portrait{position:relative;z-index:2;width:86%;border-radius:26px;overflow:hidden;margin:0;
  border:1px solid var(--line);box-shadow:var(--shadow-lg);background:var(--card);isolation:isolate}
.portrait::after{content:"";position:absolute;inset:0;border-radius:26px;padding:1px;pointer-events:none;
  background:var(--glass-brd);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude}
.portrait img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block;transition:transform .8s}
.portrait:hover img{transform:scale(1.04)}
.portrait figcaption{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;
  justify-content:space-between;gap:12px;padding:12px 16px;border-radius:16px;
  background:rgba(8,17,14,.55);backdrop-filter:blur(14px);border:1px solid rgba(150,225,195,.2)}
.portrait figcaption strong{display:block;color:#fff;font-size:1.02rem}
.portrait figcaption .mono{color:var(--lime);font-size:.72rem}
.portrait figcaption .btn{padding:9px 18px}

.fab{position:fixed;bottom:24px;inset-inline-end:22px;z-index:850;display:flex;flex-direction:column;gap:14px}
.fab-btn{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;
  color:#fff;box-shadow:var(--shadow-lg);transition:transform var(--fast)}
.fab-btn .ico{width:24px;height:24px}
.fab-btn:hover{transform:translateY(-3px) scale(1.06)}
.fab-btn.wa{background:linear-gradient(135deg,#25D366,#128C7E)}
.fab-btn.tel{background:var(--grad);color:#04231e}
.fab-btn .ping{position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;
  opacity:.7;animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite;pointer-events:none}
@keyframes ping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(1.6);opacity:0}}

.bottom-nav{display:none}
@keyframes navUp{from{transform:translateY(140%)}to{transform:translateY(0)}}
@media(max-width:940px){
  .fab{display:none}                    
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  .bottom-nav.cols6{grid-template-columns:repeat(6,1fr)}
  .bottom-nav button.bn{background:none;border:0;font-family:inherit;cursor:pointer}
  .bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;
    position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:860;height:62px;
    background:var(--header-bg);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);
    border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);
    padding:6px 4px;animation:navUp .55s cubic-bezier(.2,.8,.2,1) both;overflow:visible}
  .bottom-nav .bn{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;
    color:var(--muted);font-size:.66rem;font-weight:600;height:100%;transition:color var(--fast);min-width:0}
  .bottom-nav .bn .i{display:grid;place-items:center;transition:transform var(--fast)}
  .bottom-nav .bn .i svg{width:22px;height:22px}
  .bottom-nav .bn span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .bottom-nav .bn.active{color:var(--teal)}
  .bottom-nav .bn.active .i{transform:translateY(-2px) scale(1.08)}
  .bottom-nav .bn.center{justify-content:flex-start}
  .bottom-nav .bn.center .i{width:52px;height:52px;border-radius:50%;background:var(--grad);
    margin-top:-26px;margin-bottom:2px;box-shadow:0 10px 24px -8px var(--glow-teal),0 0 0 5px var(--bg);color:#04231e}
  .bottom-nav .bn.center .i svg{width:26px;height:26px}
  .bottom-nav .bn.center span:last-child{color:var(--teal)}
  .bottom-nav .bn.center:active .i{transform:scale(.93)}
}
@media(max-width:360px){ .bottom-nav .bn{font-size:.6rem} .bottom-nav .bn .i svg{width:20px;height:20px} }

.map-card{margin-top:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;backdrop-filter:blur(10px)}
.map-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px}
.map-title{display:flex;align-items:center;gap:14px}
.map-title>div{display:flex;flex-direction:column}
.map-title b{font-size:1.06rem;color:var(--ink)}
.map-title span{color:var(--muted);font-size:.85rem}
.map-title .ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;flex-shrink:0}
.map-title .ic .ico{width:26px;height:26px}
.map-arrow{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;transition:var(--fast)}
.map-arrow:hover{transform:translateY(-2px);border-color:var(--teal);box-shadow:var(--glow)}
.map-card iframe{width:100%;height:400px;border:0;display:block}

.jdate-display{cursor:pointer}
.jdp{position:absolute;z-index:1200;background:var(--card-solid);border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--shadow-lg);padding:12px;backdrop-filter:blur(16px)}
.jdp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.jdp-head b{font-size:.95rem;color:var(--ink)}
.jdp-head button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);
  color:var(--ink);cursor:pointer;font-size:1.15rem;line-height:1;transition:var(--fast)}
.jdp-head button:hover{border-color:var(--teal);color:var(--teal)}
.jdp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.jdp-wd{margin-bottom:4px}
.jdp .wd{text-align:center;font-size:.72rem;color:var(--muted);padding:4px 0}
.jdp .day{text-align:center;padding:8px 0;border-radius:9px;cursor:pointer;font-size:.85rem;font-family:var(--mono);color:var(--ink);transition:var(--fast)}
.jdp .day:hover{background:var(--bg-2);color:var(--teal)}
.jdp .day.today{border:1px solid var(--teal)}
.jdp .day.sel{background:var(--grad);color:#04231e}
.jdp .day.off{opacity:.28;cursor:not-allowed}
.jdp .day.off:hover{background:none;color:var(--ink)}

.achat{position:fixed;bottom:24px;inset-inline-start:22px;z-index:870}
.achat-btn{position:relative;width:60px;height:60px;border-radius:50%;border:0;cursor:pointer;
  background:var(--grad);color:#04231e;display:grid;place-items:center;box-shadow:var(--glow);transition:transform var(--fast)}
.achat-btn svg{width:26px;height:26px}
.achat-btn:hover{transform:translateY(-3px) scale(1.05)}
.achat-ping{position:absolute;top:4px;inset-inline-end:4px;width:12px;height:12px;border-radius:50%;background:#43e08a;border:2px solid var(--bg)}
.achat.open .achat-btn{transform:scale(.9);opacity:.85}
.achat-panel{position:absolute;bottom:74px;inset-inline-start:0;width:360px;max-width:calc(100vw - 32px);height:520px;max-height:70vh;
  background:var(--card-solid);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:var(--shadow-lg);animation:chatIn .3s cubic-bezier(.2,.8,.2,1)}
.achat-panel[hidden]{display:none}
@keyframes chatIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.achat-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--grad);color:#04231e}
.achat-ava{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.25);display:grid;place-items:center;font-weight:900;font-size:1.1rem}
.achat-title{flex:1;display:flex;flex-direction:column;line-height:1.4}
.achat-title b{font-size:.98rem}.achat-title span{font-size:.72rem;opacity:.8}
.achat-close{background:rgba(255,255,255,.2);border:0;color:#04231e;width:30px;height:30px;border-radius:9px;cursor:pointer;font-size:1rem}
.achat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg)}
.achat-msg{max-width:82%;padding:10px 14px;border-radius:16px;font-size:.92rem;line-height:1.8;word-break:break-word}
.achat-msg.bot{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-inline-start-radius:5px}
.achat-msg.me{align-self:flex-end;background:var(--grad);color:#04231e;border-bottom-inline-end-radius:5px}
.achat-msg.typing{display:flex;gap:4px;align-items:center}
.achat-msg.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}
.achat-msg.typing span:nth-child(2){animation-delay:.2s}.achat-msg.typing span:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,60%,100%{opacity:.3}30%{opacity:1}}
.achat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--card-solid)}
.achat-input input{flex:1;padding:11px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font-family:inherit;font-size:.92rem}
.achat-input input:focus{outline:0;border-color:var(--teal)}
.achat-input button{width:44px;height:44px;border:0;border-radius:12px;background:var(--grad);color:#04231e;cursor:pointer;display:grid;place-items:center}
.achat-input button svg{width:20px;height:20px}
@media(max-width:940px){
  .achat-btn{display:none}
  .achat{inset-inline-start:0;bottom:0}
  .achat-panel{position:fixed;inset-inline:10px;bottom:88px;width:auto;max-width:none;height:70vh}
}

.has-js [data-reveal]{opacity:0;transform:translateY(36px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.has-js [data-reveal].in{opacity:1;transform:none}
[data-reveal].d1{transition-delay:.08s}[data-reveal].d2{transition-delay:.16s}
[data-reveal].d3{transition-delay:.24s}[data-reveal].d4{transition-delay:.32s}

@media(max-width:940px){
  .hero{padding:34px 0 54px}
  .hero-grid{grid-template-columns:1fr;gap:26px}
  .hero h1{font-size:clamp(1.8rem,7vw,2.4rem);margin:14px 0}
  .hero-copy{order:0}
  .gono-wrap,.hero-visual{max-width:360px;margin:0 auto;order:1;aspect-ratio:auto}
  .halo{inset:-4%}
  .article-wrap{grid-template-columns:1fr}.sidebar{position:static}
  .g-4,.steps{grid-template-columns:repeat(2,1fr)}.g-3{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}
  .gallery-grid{columns:2}
  .menu,.hide-mobile{display:none}.burger{display:flex}
  .menu.open{display:flex;position:absolute;top:100%;right:0;left:0;flex-direction:column;background:var(--card-solid);
    padding:16px;box-shadow:var(--shadow);gap:2px;border-bottom:1px solid var(--line)}
  .menu.open a{padding:12px}
}
@media(max-width:560px){
  .g-2,.g-3,.g-4,.steps{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}
  .cta{padding:36px 24px}.article-body{padding:24px 20px}.gallery-grid{columns:2}
  .foot-bottom{flex-direction:column;text-align:center}
}
