:root{--bg:#08070A;--bg2:#111015;--card:#16151A;--card-hover:#1E1D23;--text:#F5F5F5;--text2:#A1A1AA;--muted:#71717A;--border:#2A292F;--border-subtle:#1E1D23;--brand:#EA0A0B;--brand-dark:#C00808;--brand-glow:rgba(234,10,11,0.35);--blue:#3b82f6;--blue-glow:rgba(59,130,246,0.25);--shadow:rgba(0,0,0,0.4)}
[data-theme="light"]{--bg:#F6F2F0;--bg2:#FEFDFB;--card:#FFFFFF;--card-hover:#F5F4F0;--text:#1C1917;--text2:#57534E;--muted:#A8A29E;--border:#E3E1DB;--border-subtle:#EEEDEA;--brand:#EA0A0B;--brand-dark:#C00808;--brand-glow:rgba(234,10,11,0.2);--blue:#2563eb;--blue-glow:rgba(37,99,235,0.15);--shadow:rgba(28,25,23,0.07)}

/* ─── Loading screen ──────────────────────────────────────── */
.loader{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg);
  transition:opacity 0.5s,visibility 0.5s;
  overflow:hidden;
}
.loader::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 30% 40%, rgba(234,10,11,0.06), transparent),
    radial-gradient(ellipse 60% 80% at 70% 60%, rgba(234,10,11,0.04), transparent);
  background-size:200% 200%,200% 200%;
  animation:loader-bg 4s ease-in-out infinite;
}
[data-theme="light"] .loader::before{
  background:
    radial-gradient(ellipse 80% 60% at 30% 40%, rgba(234,10,11,0.08), transparent),
    radial-gradient(ellipse 60% 80% at 70% 60%, rgba(234,10,11,0.05), transparent);
  background-size:200% 200%,200% 200%;
}
@keyframes loader-bg{
  0%{background-position:0% 0%,100% 100%}
  50%{background-position:100% 100%,0% 0%}
  100%{background-position:0% 0%,100% 100%}
}
.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-logo-wrap{position:relative;width:5rem;height:5rem;display:flex;align-items:center;justify-content:center}
.loader-ring{position:absolute;inset:0;width:100%;height:100%}
.loader-ring-active{animation:loader-spin 1.2s cubic-bezier(0.4,0,0.2,1) infinite;transform-origin:center}
@keyframes loader-spin{to{transform:rotate(360deg)}}
.loader-logo-img{width:3rem;height:auto;animation:loader-pulse 1.5s ease-in-out infinite}
@keyframes loader-pulse{0%,100%{transform:scale(0.9);opacity:0.7}50%{transform:scale(1.05);opacity:1}}
[data-theme="dark"] .loader-logo-img{filter:brightness(1.1)}

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
a{color:inherit;text-decoration:none}

/* ─── Animated background ────────────────────────────────── */
body::before{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 50% at 20% 30%, rgba(234,10,11,0.03), transparent),
    radial-gradient(ellipse 60% 70% at 80% 70%, rgba(59,130,246,0.025), transparent),
    radial-gradient(ellipse 50% 50% at 50% 50%, rgba(245,158,11,0.015), transparent);
  background-size:200% 200%,200% 200%,200% 200%;
  animation:bg-drift 60s ease-in-out infinite;
}
[data-theme="light"] body::before{
  background:
    radial-gradient(ellipse 80% 50% at 20% 30%, rgba(234,10,11,0.04), transparent),
    radial-gradient(ellipse 60% 70% at 80% 70%, rgba(59,130,246,0.035), transparent),
    radial-gradient(ellipse 50% 50% at 50% 50%, rgba(245,158,11,0.02), transparent);
  background-size:200% 200%,200% 200%,200% 200%;
}
@keyframes bg-drift{
  0%{background-position:0% 0%,100% 100%,50% 50%}
  25%{background-position:50% 80%,20% 30%,80% 20%}
  50%{background-position:100% 50%,50% 0%,20% 80%}
  75%{background-position:30% 20%,80% 70%,60% 40%}
  100%{background-position:0% 0%,100% 100%,50% 50%}
}

/* ─── Header ─────────────────────────────────────────────── */
.header{
  display:flex;align-items:center;justify-content:space-between;
  padding:0.875rem 2rem;
  border-bottom:1px solid var(--border);
  background:var(--card);
  position:sticky;top:0;z-index:100;
  backdrop-filter:blur(20px) saturate(1.6);
  background:rgba(22,21,26,0.7);
}
[data-theme="light"] .header{background:rgba(255,255,255,0.72)}
.header::after{
  content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--brand),var(--blue),transparent);
  opacity:0.3;animation:header-line 8s ease-in-out infinite;
}
@keyframes header-line{0%,100%{opacity:0.15}50%{opacity:0.5}}
.header-left{display:flex;align-items:center;gap:0.375rem;flex:1}
.header-center{flex:0 0 auto;display:flex;align-items:center}
.header-logo{height:2.25rem;transition:transform 0.3s,filter 0.3s}
.header-logo:hover{transform:scale(1.05)}
[data-theme="dark"] .header-logo{filter:brightness(1.1) drop-shadow(0 0 8px var(--brand-glow))}
.header-right{display:flex;align-items:center;gap:0.5rem;flex:1;justify-content:flex-end}

/* ─── Buttons ────────────────────────────────────────────── */
.lang-flag{width:1rem;height:0.75rem;object-fit:cover;border-radius:2px}
.lang-btn,.theme-btn{
  display:inline-flex;align-items:center;gap:0.375rem;
  padding:0.375rem 0.625rem;font-size:0.7rem;font-weight:600;
  border:1px solid var(--border);border-radius:100px;
  background:transparent;color:var(--text2);cursor:pointer;
  transition:all 0.3s;font-family:inherit;
}
.lang-btn:hover,.theme-btn:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}
.lang-btn.active{
  background:var(--brand);border-color:var(--brand);color:#fff;
  box-shadow:0 2px 12px var(--brand-glow);
}
.layout-btn{
  padding:0.375rem;border:1px solid var(--border);border-radius:0.5rem;
  background:transparent;color:var(--text2);cursor:pointer;
  transition:all 0.3s;display:flex;align-items:center;
}
.layout-btn:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}
.layout-btn svg{width:1rem;height:1rem}
.header-sep{width:1px;height:1.25rem;background:var(--border);margin:0 0.25rem}
.header-cta{
  padding:0.375rem 1rem;font-size:0.7rem;font-weight:700;
  border-radius:100px;transition:all 0.3s;font-family:inherit;
  letter-spacing:0.01em;white-space:nowrap;
}
.header-cta--primary{background:var(--brand);color:#fff;border:1px solid var(--brand)}
.header-cta--primary:hover{background:var(--brand-dark);transform:translateY(-1px);box-shadow:0 4px 20px var(--brand-glow)}
.header-cta--blue{background:transparent;color:var(--blue);border:1px solid var(--blue)}
.header-cta--blue:hover{background:var(--blue);color:#fff;transform:translateY(-1px);box-shadow:0 4px 20px var(--blue-glow)}

/* ─── Hero ───────────────────────────────────────────────── */
.hero{
  text-align:center;padding:4rem 2rem 2.5rem;
  position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,var(--brand-glow),transparent 70%);
  opacity:0.15;animation:hero-glow 10s ease-in-out infinite;pointer-events:none;
}
@keyframes hero-glow{0%,100%{transform:translateX(-50%) scale(0.8);opacity:0.1}50%{transform:translateX(-50%) scale(1.2);opacity:0.2}}
.hero h1{
  font-size:clamp(1.75rem,5vw,2.75rem);font-weight:900;
  letter-spacing:-0.03em;line-height:1.1;
  position:relative;z-index:1;
}
.hero h1 span{
  color:var(--brand);
  text-shadow:0 0 40px var(--brand-glow);
}
.hero p{
  margin-top:1rem;font-size:1.0625rem;color:var(--text2);
  max-width:38rem;margin-left:auto;margin-right:auto;line-height:1.7;
  position:relative;z-index:1;
}

/* ─── Stats ──────────────────────────────────────────────── */
.hero-stats{
  display:flex;justify-content:center;gap:2rem;margin-top:2rem;flex-wrap:wrap;
  position:relative;z-index:1;
}
.hero-stat{
  padding:1rem 1.5rem;
  background:var(--card);border:1px solid var(--border);
  border-radius:1rem;position:relative;overflow:hidden;
  transition:transform 0.4s cubic-bezier(0.16,1,0.3,1),border-color 0.3s,box-shadow 0.3s;
}
.hero-stat:hover{
  transform:translateY(-4px);border-color:var(--brand);
  box-shadow:0 8px 32px var(--shadow);
}
.hero-stat::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--brand),var(--blue));
  transform:scaleX(0);transition:transform 0.4s;transform-origin:left;
}
.hero-stat:hover::after{transform:scaleX(1)}
.hero-stat-val{
  font-size:1.75rem;font-weight:900;
  font-family:'Inter',sans-serif;color:var(--text);
  letter-spacing:-0.02em;
}
.hero-stat-label{
  font-size:0.6875rem;color:var(--muted);text-transform:uppercase;
  letter-spacing:0.1em;font-weight:600;margin-top:0.125rem;
}

/* ─── Divider ────────────────────────────────────────────── */
.section-divider{
  height:1px;position:relative;overflow:visible;margin:0 2rem;
}
.section-divider::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 5%,var(--border) 30%,var(--border) 70%,transparent 95%);
}
.section-divider::after{
  content:'';position:absolute;top:-1px;height:3px;
  width:40%;left:30%;
  background:radial-gradient(ellipse at center,var(--brand) 0%,var(--brand-dark) 30%,transparent 70%);
  filter:blur(2px);opacity:0;
  animation:ember-breathe 8s ease-in-out infinite,ember-drift 20s ease-in-out infinite;
}
@keyframes ember-breathe{0%,100%{opacity:0.03}40%{opacity:0.5}60%{opacity:0.35}}
@keyframes ember-drift{0%{left:10%;width:30%}25%{left:40%;width:45%}50%{left:25%;width:35%}75%{left:50%;width:25%}100%{left:10%;width:30%}}

/* ─── Iframe ─────────────────────────────────────────────── */
.iframe-wrap{flex:1;padding:0.5rem 2rem 2rem}
.iframe-wrap iframe{
  width:100%;border:none;overflow:hidden;
  transition:height 0.4s cubic-bezier(0.16,1,0.3,1);
}

/* ─── CTA ────────────────────────────────────────────────── */
.cta{
  text-align:center;padding:4rem 2rem;
  background:var(--bg2);
  position:relative;overflow:hidden;
  border-top:1px solid var(--border);
}
.cta::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 80% at 50% 100%,var(--brand-glow),transparent 70%);
  opacity:0.08;
}
.cta h2{font-size:1.5rem;font-weight:900;letter-spacing:-0.03em;position:relative}
.cta p{margin-top:0.625rem;font-size:1rem;color:var(--text2);max-width:34rem;margin-left:auto;margin-right:auto;line-height:1.6;position:relative}
.cta-buttons{display:flex;justify-content:center;gap:0.75rem;margin-top:2rem;flex-wrap:wrap;position:relative}
.cta-btn{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:1rem 2.25rem;font-size:1rem;font-weight:700;
  border-radius:0.875rem;transition:all 0.3s;cursor:pointer;
  border:none;font-family:inherit;position:relative;overflow:hidden;
}
.cta-btn--primary{background:var(--brand);color:#fff}
.cta-btn--primary::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);
  transform:translateX(-100%);transition:transform 0.6s;
}
.cta-btn--primary:hover::before{transform:translateX(100%)}
.cta-btn--primary:hover{background:var(--brand-dark);transform:translateY(-2px);box-shadow:0 8px 32px var(--brand-glow)}
.cta-btn--blue{background:transparent;color:var(--blue);border:1px solid var(--blue)}
.cta-btn--blue:hover{background:var(--blue);color:#fff;transform:translateY(-2px);box-shadow:0 8px 32px var(--blue-glow)}
.cta-btn svg{width:1.125rem;height:1.125rem}

/* ─── Footer ─────────────────────────────────────────────── */
.footer{
  padding:2.5rem 2rem;
  border-top:1px solid var(--border);
  background:var(--card);text-align:center;
  position:relative;
}
.footer::before{
  content:'';position:absolute;top:-1px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--border),transparent);
}
.footer-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:0.75rem}
.footer-links a{font-size:0.8125rem;color:var(--text2);transition:all 0.2s}
.footer-links a:hover{color:var(--brand);transform:translateY(-1px)}
.footer-nav{color:var(--blue) !important;font-weight:600}
.footer-nav:hover{color:#2563eb !important}
.footer-contact{margin-top:0.5rem}
.footer-copy{font-size:0.75rem;color:var(--muted);line-height:1.6}
.footer-dev{margin-top:0.75rem;font-size:0.6875rem;color:var(--muted)}
.footer-dev a{color:var(--blue);font-weight:600;transition:color 0.2s}
.footer-dev a:hover{color:#60a5fa}

/* ─── Mobile ─────────────────────────────────────────────── */
/* ─── Responsive visibility ──────────────────────────────── */
.mobile-only{display:none}

/* ─── Mobile language dropdown ───────────────────────────── */
.lang-dropdown{position:relative}
.lang-dropdown-toggle{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.375rem 0.75rem;font-size:0.8125rem;font-weight:600;
  border:1px solid var(--border);border-radius:0.625rem;
  background:transparent;color:var(--text);cursor:pointer;
  font-family:inherit;transition:all 0.2s;
}
.lang-dropdown-toggle:hover{border-color:var(--brand)}
.lang-dropdown-toggle svg{opacity:0.5;transition:transform 0.2s}
.lang-dropdown.open .lang-dropdown-toggle svg{transform:rotate(180deg)}
.lang-dropdown-menu{
  display:none;position:absolute;top:calc(100% + 0.375rem);left:0;
  min-width:10rem;
  background:var(--card);border:1px solid var(--border);border-radius:0.75rem;
  box-shadow:0 12px 32px var(--shadow);
  overflow:hidden;z-index:200;
}
.lang-dropdown.open .lang-dropdown-menu{display:block}
.lang-dropdown-item{
  display:flex;align-items:center;gap:0.625rem;width:100%;
  padding:0.625rem 1rem;font-size:0.8125rem;font-weight:500;
  background:transparent;border:none;color:var(--text);
  cursor:pointer;font-family:inherit;transition:background 0.15s;
  text-align:left;
}
.lang-dropdown-item:hover{background:var(--card-hover)}
.lang-dropdown-item.active{font-weight:700;color:var(--brand)}
.lang-dropdown-item .lang-flag{width:1.25rem;height:0.875rem}

@media(max-width:768px){
  .desktop-only{display:none !important}
  .mobile-only{display:flex}
  .header{padding:0.75rem 1rem}
  .header-left.mobile-only{flex:1;margin:0;padding:0}
  .header-center{flex:1;justify-content:center}
  .header-right{flex:1}
  .lang-dropdown-toggle{padding:0.375rem 0.625rem;font-size:0.75rem;border-radius:0.5rem}
  .hero{padding:3rem 1.25rem 2rem}
  .hero h1{font-size:1.75rem}
  .hero p{font-size:0.9375rem}
  .hero-stats{gap:0.75rem}
  .hero-stat{padding:0.75rem 1rem;flex:1;min-width:calc(50% - 0.75rem)}
  .hero-stat-val{font-size:1.375rem}
  .iframe-wrap{padding:0.25rem 1rem 1rem}
  .section-divider{margin:0 1rem}
  .cta{padding:3rem 1.25rem}
  .cta h2{font-size:1.25rem}
  .cta-btn{padding:0.875rem 1.75rem;font-size:0.9375rem;width:100%;justify-content:center}
  .footer{padding:2rem 1rem}
  .footer-links{gap:1rem}
}
@media(max-width:400px){
  .lang-btn{padding:0.25rem 0.5rem;font-size:0.65rem}
  .lang-flag{width:0.875rem;height:0.625rem}
  .header-logo{height:1.75rem}
  .hero-stat{min-width:calc(50% - 0.5rem);padding:0.625rem 0.75rem}
  .hero-stat-val{font-size:1.125rem}
  .hero-stat-label{font-size:0.6rem}
}
