
:root{
  --ft-bg:#05070b;
  --ft-text:#eef2f8;
  --ft-muted:rgba(235,241,248,0.68);
  --ft-muted-2:rgba(235,241,248,0.42);
  --ft-line:rgba(255,255,255,0.08);
  --ft-line-2:rgba(255,255,255,0.14);
  --ft-cyan:#19b5f1;
  --ft-cyan-glow:rgba(25,181,241,0.26);
  --ft-orange:#eb4b3f;
  --ft-orange-glow:rgba(235,75,63,0.18);
  --ft-smooth:cubic-bezier(.22,.61,.36,1);
}
.site-footer{
  position:relative; overflow:hidden; padding:90px 0 26px;
  background:
    radial-gradient(circle at 18% 18%, rgba(25,181,241,0.05), transparent 22%),
    radial-gradient(circle at 82% 76%, rgba(235,75,63,0.04), transparent 22%),
    linear-gradient(180deg,#04060a 0%, #060b14 55%, #04060a 100%);
  border-top:1px solid rgba(255,255,255,0.06); isolation:isolate; color:var(--ft-text);
}
.site-footer *{box-sizing:border-box}
.site-footer::before{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);
  background-size:62px 62px;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,.75), transparent 82%);
  -webkit-mask-image:radial-gradient(circle at center, rgba(0,0,0,.75), transparent 82%);
  opacity:.28; pointer-events:none;
}
.footer-bg-word{
  position:absolute; left:50%; top:40px; transform:translateX(-50%);
  font-family:'Playfair Display',serif; font-size:clamp(90px, 16vw, 240px);
  line-height:.85; letter-spacing:-.05em; white-space:nowrap; color:rgba(255,255,255,0.02);
  pointer-events:none; user-select:none; z-index:0;
}
.footer-glow{
  position:absolute; border-radius:50%; filter:blur(85px); opacity:.5; pointer-events:none;
  animation:footerFloat 12s ease-in-out infinite; z-index:0;
}
.footer-glow.one{width:240px;height:240px;left:-60px;top:40px;background:rgba(25,181,241,0.10)}
.footer-glow.two{width:280px;height:280px;right:-80px;bottom:20px;background:rgba(235,75,63,0.08);animation-delay:-4s}
.footer-wrap{width:min(1280px, calc(100% - 48px)); margin:0 auto; position:relative; z-index:2}
.footer-top{display:grid; grid-template-columns:1.2fr .8fr .9fr; gap:34px; padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,0.08)}
.footer-col{min-width:0}
.footer-label{
  display:inline-flex; align-items:center; gap:10px; font-size:10px; font-weight:600; letter-spacing:.24em;
  text-transform:uppercase; color:var(--ft-cyan); margin-bottom:16px;
}
.footer-label::before{content:""; width:20px; height:1px; background:linear-gradient(90deg,var(--ft-cyan),transparent)}
.footer-brand{font-family:'Playfair Display',serif; font-size:clamp(28px, 3vw, 42px); line-height:1; font-weight:500; letter-spacing:-.03em; margin-bottom:14px}
.footer-brand span{color:var(--ft-cyan); text-shadow:0 0 20px var(--ft-cyan-glow)}
.footer-text{max-width:460px; font-size:15px; line-height:1.9; color:var(--ft-muted); margin-bottom:20px}
.footer-mini-line{font-size:13px; line-height:1.8; color:var(--ft-muted-2)}
.footer-links,.footer-contact{display:flex; flex-direction:column; gap:10px}
.footer-link,.footer-contact-link{
  display:inline-flex; align-items:center; justify-content:flex-start; gap:10px; padding:12px 14px;
  border-radius:16px; border:1px solid rgba(255,255,255,0.06); background:rgba(255,255,255,0.025);
  color:var(--ft-text); text-decoration:none; font-size:14px; transition:all .3s var(--ft-smooth);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.footer-link:hover,.footer-contact-link:hover{
  transform:translateY(-1px); border-color:rgba(25,181,241,0.20); background:rgba(25,181,241,0.08)
}
.footer-link::after{content:"↗"; margin-left:auto; font-size:12px; color:var(--ft-muted-2)}
.footer-contact-link svg{width:15px; height:15px; flex:0 0 auto; opacity:.9}
.footer-bottom{display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:18px}
.footer-copy{font-size:12px; line-height:1.8; color:var(--ft-muted-2)}
.footer-copy strong{color:var(--ft-text); font-weight:500}
.footer-legal{display:flex; flex-wrap:wrap; gap:14px}
.footer-legal a{color:var(--ft-muted-2); text-decoration:none; font-size:12px; transition:color .25s ease}
.footer-legal a:hover{color:var(--ft-text)}
.footer-particles{position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1}
@keyframes footerFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@media (max-width:1100px){.footer-top{grid-template-columns:1fr}.footer-text{max-width:none}}
@media (max-width:767px){
  .site-footer{padding:70px 0 22px}
  .footer-wrap{width:calc(100% - 32px)}
  .footer-bottom{flex-direction:column; align-items:flex-start}
  .footer-bg-word{top:20px}
}
