/* ============================================================
   VanillaSD — custom.css  (clean rewrite, blob section fixed)
   ============================================================ */

:root{
  --brand-accent:#7ee7dc;
  --brand-accent-2:#7db8ff;
  --brand-glow:rgba(126,231,220,.28);
  --brand-ring:rgba(126,231,220,.18);
  --smooth-ease:cubic-bezier(.22,1,.36,1);
}

html{scroll-behavior:auto;overflow-x:hidden;}
html,body{overscroll-behavior-x:none;}
body{background:#050608;color:#fff;overflow-x:hidden;position:relative;}
body::before{
  content:"";
  position:fixed;
  inset:-25%;
  z-index:-3;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 24%, rgba(126,231,220,.14), transparent 52%),
    radial-gradient(circle at 84% 18%, rgba(125,184,255,.12), transparent 54%),
    radial-gradient(circle at 22% 84%, rgba(146,184,155,.10), transparent 56%),
    radial-gradient(circle at 78% 86%, rgba(200,160,255,.09), transparent 58%);
  filter:blur(160px);
  opacity:.65;
}

#page-shell{isolation:isolate;min-height:100vh;}
#page-shell::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg, rgba(5,6,8,.36) 0%, rgba(5,6,8,.70) 35%, rgba(5,6,8,.96) 100%),
    radial-gradient(circle at 12% 18%, rgba(126,231,220,.07), transparent 42%),
    radial-gradient(circle at 88% 26%, rgba(125,184,255,.06), transparent 46%),
    radial-gradient(circle at 18% 78%, rgba(146,184,155,.05), transparent 48%),
    radial-gradient(circle at 82% 82%, rgba(200,160,255,.045), transparent 52%);
  pointer-events:none;
}

.brand-gradient{
  background:linear-gradient(90deg,#dffaf2 0%,#c9f5ec 18%,#9fe5df 38%,#cce8ff 62%,#ffffff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.brand-gradient-2{
  background:linear-gradient(90deg,#7ee7dc 0%,#9fe2ff 50%,#d9fbff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.display-font,
.minecraft-font{
  font-family:'Unbounded','Arial',sans-serif;
  letter-spacing:0;
}

.card-soft,
.reason-card,
.team-card,
.partner-card,
.monitoring-card{
  background:rgba(7,10,14,.64);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 60px rgba(0,0,0,.32);
  backdrop-filter:blur(10px);
}
.card-soft,
.team-card,
.partner-card,
.monitoring-card{border-radius:24px;}
.reason-card{border-radius:18px;overflow:hidden;}
.social-shell{border-radius:28px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.16);padding:18px;}

/* hero shell base */
.hero-backdrop{display:none !important;}
.hero-visual-wrap{
  display:flex;
  align-items:stretch;
  justify-content:center;
  width:100%;
}
.hero-visual-shell{
  position:relative;
  width:100%;
  min-height:460px;
  overflow:visible;
  isolation:isolate;
  background:transparent;
  border:none;
  box-shadow:none;
  backdrop-filter:none;
}

/* ambient glow behind blobs */
.hero-visual-shell::before{
  content:"";
  position:absolute;
  inset:-22% -20% -26% -24%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(closest-side at 68% 44%,
      rgba(223,239,197,.18) 0%,
      rgba(193,219,168,.12) 20%,
      rgba(144,186,166,.08) 40%,
      rgba(96,138,181,.04)  60%,
      rgba(78,109,150,0)    88%),
    radial-gradient(closest-side at 72% 50%,
      rgba(177,219,255,.10) 0%,
      rgba(177,219,255,.05) 30%,
      rgba(177,219,255,0)   80%);
  filter:blur(72px);
  opacity:.95;
}
.hero-visual-shell::after{content:none !important;display:none !important;}

/* ================================================================
   BLOBS  — single authoritative block
   ================================================================ */

.blobs{
  position:absolute;
  inset:-8% -8% -10% -10%;
  pointer-events:none;
  z-index:1;
  opacity:1;
  overflow:visible;
  /* no mask-image = no hard cutoff edge */
  /* no transform offset = correct position */
  will-change:opacity;
}

/* soft ambient fill behind individual blobs */
.blobs::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
  background:radial-gradient(circle,
    rgba(218,233,190,.18) 0%,
    rgba(177,219,255,.10) 34%,
    rgba(177,219,255,.04) 58%,
    rgba(177,219,255,0)   90%);
  filter:blur(80px);
  opacity:.88;
}
.blobs::after{
  content:"";
  position:absolute;
  inset:4% 2% 4% 2%;
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
  background:radial-gradient(circle,
    rgba(243,248,231,.12) 0%,
    rgba(177,219,255,.06) 40%,
    rgba(177,219,255,0)   86%);
  filter:blur(120px);
  opacity:.80;
}

.blob{
  position:absolute;
  border-radius:50%;
  mix-blend-mode:lighten;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  filter:saturate(1.02);
  opacity:1;
  will-change:transform;
}

/* smooth radial glow — no hard colour stops */
.blob::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 32%,
      rgba(214,228,188,.96)  0%,
      rgba(198,218,170,.88) 18%,
      rgba(177,204,158,.72) 36%,
      rgba(146,184,155,.48) 56%,
      rgba(124,168,188,.22) 74%,
      rgba(105,146,180,0)  100%),
    radial-gradient(circle at 72% 68%,
      rgba(177,219,255,.28) 0%,
      rgba(177,219,255,.10) 28%,
      rgba(177,219,255,0)   62%),
    radial-gradient(circle at 50% 50%,
      rgba(245,250,234,.10) 0%,
      rgba(245,250,234,0)   64%);
  box-shadow:
    0 0 80px  rgba(168,196,156,.22),
    0 0 200px rgba(104,150,191,.14),
    inset 0 0 52px rgba(234,244,220,.14);
}

.blob::after{
  content:"";
  position:absolute;
  inset:8%;
  border-radius:50%;
  background:radial-gradient(circle at 40% 38%,
    rgba(224,242,203,.16),
    rgba(177,219,255,.08) 36%,
    rgba(177,219,255,0)   68%);
  filter:blur(18px);
  opacity:.65;
}

/* sizes & positions */
.blob1{
  width:340px; height:340px;
  top:12%; right:10%;
  border-radius:44% 56% 52% 48% / 48% 42% 58% 52%;
}
.blob2{
  width:280px; height:280px;
  top:26%; right:3%;
  border-radius:56% 44% 46% 54% / 52% 48% 52% 48%;
}
.blob3{
  width:242px; height:242px;
  top:42%; right:7%;
  border-radius:46% 54% 60% 40% / 44% 50% 50% 56%;
}

/* float keyframes — slow & silky */
@keyframes blobLevitate1{
  0%,100%{ transform:translate3d(0,0,0) scale(1); }
  28%    { transform:translate3d(-4px,-8px,0) scale(1.010); }
  56%    { transform:translate3d( 4px,-14px,0) scale(1.018); }
  78%    { transform:translate3d( 6px,-5px,0) scale(1.008); }
}
@keyframes blobLevitate2{
  0%,100%{ transform:translate3d(0,0,0) scale(1); }
  30%    { transform:translate3d( 5px,-9px,0) scale(1.010); }
  58%    { transform:translate3d(-4px,-15px,0) scale(1.018); }
  80%    { transform:translate3d(-6px,-5px,0) scale(1.008); }
}
@keyframes blobLevitate3{
  0%,100%{ transform:translate3d(0,0,0) scale(1); }
  24%    { transform:translate3d(-3px,-7px,0) scale(1.007); }
  54%    { transform:translate3d( 5px,-12px,0) scale(1.015); }
  76%    { transform:translate3d( 7px,-4px,0) scale(1.006); }
}

.blob1{ animation:blobLevitate1 20s var(--smooth-ease) infinite; }
.blob2{ animation:blobLevitate2 23s var(--smooth-ease) infinite; }
.blob3{ animation:blobLevitate3 21s var(--smooth-ease) infinite; }

/* blob responsive */
@media (max-width:1279px){
  .blob1{ width:300px; height:300px; right:8%;  top:13%; }
  .blob2{ width:246px; height:246px; right:2%;  top:27%; }
  .blob3{ width:214px; height:214px; right:6%;  top:43%; }
}
@media (max-width:1024px){
  .blobs{ inset:-4% -4% -6% -4%; }
  .blob1{ width:260px; height:260px; top:14%; right:12%; }
  .blob2{ width:214px; height:214px; top:29%; right:5%;  }
  .blob3{ width:186px; height:186px; top:44%; right:14%; }
}
@media (max-width:720px){
  #welcome .hero-visual-shell{ min-height:340px; }
  .blobs{ inset:-4% -2% -6% -2%; opacity:1; }
  .blob1{ width:226px; height:226px; top:12%; right:10%; animation-duration:16s; }
  .blob2{ width:186px; height:186px; top:29%; right:2%;  animation-duration:18s; }
  .blob3{ width:162px; height:162px; top:43%; right:10%; animation-duration:17s; }
  .hero-visual-shell::before{ filter:blur(52px); }
}

/* ================================================================
   BACKGROUND BLOBS — scattered across the site
   ================================================================ */

.background-blobs{
  position:absolute;
  inset:-12% -8% -12% -8%;
  pointer-events:none;
  z-index:-1;
  opacity:.7;
  overflow:visible;
}
.shop-page-section,
.legal-page-section,
#why-section,
#faq-section,
#team-section,
#partners-section,
#socials-section{isolation:isolate;}

.bg-blob{
  position:absolute;
  border-radius:50%;
  mix-blend-mode:lighten;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  filter:saturate(1.02);
  opacity:.92;
  will-change:transform;
}

.bg-blob::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 32%,
      rgba(214,228,188,.96)  0%,
      rgba(198,218,170,.88) 18%,
      rgba(177,204,158,.72) 36%,
      rgba(146,184,155,.48) 56%,
      rgba(124,168,188,.22) 74%,
      rgba(105,146,180,0)  100%),
    radial-gradient(circle at 72% 68%,
      rgba(177,219,255,.28) 0%,
      rgba(177,219,255,.10) 28%,
      rgba(177,219,255,0)   62%),
    radial-gradient(circle at 50% 50%,
      rgba(245,250,234,.10) 0%,
      rgba(245,250,234,0)   64%);
  box-shadow:
    0 0 80px  rgba(168,196,156,.22),
    0 0 200px rgba(104,150,191,.14),
    inset 0 0 52px rgba(234,244,220,.14);
}

.bg-blob::after{
  content:"";
  position:absolute;
  inset:8%;
  border-radius:50%;
  background:radial-gradient(circle at 40% 38%,
    rgba(224,242,203,.16),
    rgba(177,219,255,.08) 36%,
    rgba(177,219,255,0)   68%);
  filter:blur(18px);
  opacity:.65;
}

.bg-blob1{
  width:240px; height:240px;
  top:10%; left:4%;
  border-radius:44% 56% 52% 48% / 48% 42% 58% 52%;
  animation:blobLevitate1 25s var(--smooth-ease) infinite;
}
.bg-blob2{
  width:198px; height:198px;
  top:54%; right:3%;
  border-radius:56% 44% 46% 54% / 52% 48% 52% 48%;
  animation:blobLevitate2 28s var(--smooth-ease) infinite;
}
.bg-blob3{
  width:168px; height:168px;
  bottom:14%; left:18%;
  border-radius:46% 54% 60% 40% / 44% 50% 50% 56%;
  animation:blobLevitate3 22s var(--smooth-ease) infinite;
}
.background-blobs--page{
  inset:-8% -10% -10% -10%;
  opacity:.6;
}
.background-blobs--page .bg-blob1{top:6%;left:auto;right:6%;width:300px;height:300px;}
.background-blobs--page .bg-blob2{top:42%;right:auto;left:-4%;width:230px;height:230px;}
.background-blobs--page .bg-blob3{bottom:8%;left:auto;right:18%;width:188px;height:188px;}

/* ================================================================
   Layout — welcome section (blobs must overflow)
   ================================================================ */
#welcome,
#welcome .welcome,
#welcome .item,
#welcome .left,
#welcome .right,
.hero-visual-wrap,
.hero-visual-shell{ overflow:visible; }

#welcome .item{
  position:relative;
  min-height:600px;
  align-items:flex-start;
}
#welcome .left{
  position:relative;
  z-index:2;
  max-width:58%;
}
#welcome .right.hero-visual-wrap{
  position:absolute;
  inset:0 0 0 auto;
  width:54%;
  min-height:100%;
  z-index:1;
  pointer-events:none;
  display:flex;
  align-items:stretch;
  justify-content:center;
  overflow:visible;
}
#welcome .hero-visual-shell{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:auto;
}

@media (max-width:1279px){
  #welcome .left{ max-width:56%; }
  #welcome .right.hero-visual-wrap{ width:56%; }
}
@media (max-width:1024px){
  #welcome .item{ min-height:unset; align-items:center; }
  #welcome .left{ max-width:100%; }
  #welcome .right.hero-visual-wrap{
    position:relative;
    inset:auto;
    width:100%;
    min-height:420px;
    margin-top:8px;
  }
  #welcome .hero-visual-shell{ position:relative; height:420px; min-height:420px; }
}
@media (max-width:640px){
  #welcome .right.hero-visual-wrap{ min-height:320px; }
  #welcome .hero-visual-shell{ height:320px; min-height:320px; }
}

@media (max-width:640px){
  header{
    min-width:0 !important;
    width:100% !important;
    padding:8px 10px !important;
  }
  header>div{
    width:100% !important;
    border-radius:22px !important;
    gap:12px !important;
    padding:8px 12px !important;
  }
  header a[href="index.html"]{
    min-width:0;
    gap:10px;
  }
  header [data-brand-icon]{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    border-radius:999px;
  }
  header [data-brand-short]{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:14px;
  }
  #page-shell main{
    gap:28px;
  }
  #welcome{
    padding:104px 16px 22px !important;
    min-width:0 !important;
  }
  #welcome .welcome{
    gap:34px;
  }
  #welcome .item{
    gap:22px;
  }
  #welcome h1{
    font-size:clamp(34px, 11vw, 46px) !important;
    line-height:.98 !important;
  }
  #welcome .hero-rotating-text{
    font-size:17px;
    line-height:1.45;
  }
  #welcome .card-soft{
    padding:18px !important;
    border-radius:18px;
  }
  #welcome [data-season-title]{
    font-size:22px;
    line-height:1.2;
  }
  #welcome .right.hero-visual-wrap{
    min-height:240px;
    margin-top:-6px;
  }
  #welcome .hero-visual-shell{
    height:240px;
    min-height:240px;
  }
}

.container{width:100%;max-width:1400px;margin:0 auto;}

/* ================================================================
   UI components
   ================================================================ */
.section-divider{height:1px;width:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);}
.badge-soft{border:1px solid rgba(126,231,220,.14);background:rgba(126,231,220,.08);color:#d9fffb;}

.reason-card{background:rgba(7,10,14,.54);transition:border-color .25s ease, box-shadow .25s ease;}
.reason-card:hover{border-color:rgba(var(--accent-rgb,126,231,220),.22);box-shadow:0 20px 65px rgba(0,0,0,.42), inset 0 0 0 1px rgba(var(--accent-rgb,126,231,220),.05);}
.reason-head{
  border-top-left-radius:18px;
  border-top-right-radius:18px;
  transition:background .25s ease, box-shadow .25s ease;
}
.reason-card.line-hover .reason-head,
.reason-card:hover .reason-head{
  background:linear-gradient(90deg, rgba(var(--accent-rgb,126,231,220),.16) 0%, rgba(var(--accent-rgb,126,231,220),.08) 44%, rgba(0,0,0,.04) 100%);
  box-shadow:inset 0 -1px 0 rgba(var(--accent-rgb,126,231,220),.10);
}
.reason-icon-box,
.reason-number{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;}
.reason-icon-box svg,.reason-line-icon svg{width:18px;height:18px;display:block;}
.reason-number{font-size:13px;font-weight:700;font-family:'Unbounded','Arial',sans-serif;}
.reason-line{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.05);border-radius:14px;transition:background .2s ease,border-color .2s ease,transform .2s ease;}
.reason-line:hover{background:rgba(var(--accent-rgb,126,231,220),.08);border-color:rgba(var(--accent-rgb,126,231,220),.18);transform:translateY(-1px);}
.reason-line-icon{width:30px;height:30px;min-width:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);}

.faq-item{border-bottom:1px solid rgba(255,255,255,.08);}
.faq-trigger{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-weight:600;font-size:16px;}
.faq-trigger svg{transition:transform .42s var(--smooth-ease);flex:0 0 auto;}
.faq-item.open .faq-trigger svg{transform:rotate(180deg);}
.faq-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s var(--smooth-ease);}
.faq-item.open .faq-content{grid-template-rows:1fr;}
.faq-content>div{overflow:hidden;}
.faq-answer{padding:0 0 18px 0;color:rgb(163 163 163);line-height:1.6;font-family:var(--font-geist,ui-sans-serif,system-ui);}

.faq-help-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:20px;}
.faq-help-card{
  border-radius:28px;
  padding:22px;
  min-height:174px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 18px 50px rgba(0,0,0,.25);
}
.faq-help-card__title{font-size:18px;font-weight:800;line-height:1.2;}
.faq-help-card__text{margin-top:10px;font-size:16px;line-height:1.35;color:rgba(255,255,255,.86);font-family:var(--font-geist,ui-sans-serif,system-ui);max-width:92%;}
.faq-help-button{
  margin-top:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  align-self:flex-start;
  background:#f3efe8;
  color:#090c10;
  min-height:44px;
  padding:0 18px;
  border-radius:14px;
  font-weight:700;
  box-shadow:0 2px 0 rgba(0,0,0,.12);
}
.faq-help-button svg{width:18px;height:18px;display:block;}

.monitoring-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#e8eef6;font-family:var(--font-geist,ui-sans-serif,system-ui);font-size:13px;}
.monitoring-dot{width:8px;height:8px;border-radius:999px;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12);}
.monitoring-dot.online{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12);}
.monitoring-dot.offline{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12);}

.social-card{
  position:relative;
  overflow:hidden;
  min-height:116px;
  border:none;
  box-shadow:none;
  backdrop-filter:none;
}
.social-card__content{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;width:100%;gap:16px;}
.social-card__title{font-size:18px;font-weight:800;line-height:1.1;}
.social-card__subtitle{font-size:15px;color:rgba(255,255,255,.78);line-height:1.15;margin-top:4px;}
.social-card__button{background:#f2efe8;color:#0b0f13;font-weight:700;border-radius:8px;min-height:36px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:0 2px 0 rgba(0,0,0,.18);}
.social-card__art{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1;}
.social-card__shape{position:absolute;right:-10px;bottom:-42px;width:220px;height:160px;background:rgba(255,255,255,.12);border-radius:46px;transform:rotate(-18deg);}
.social-card__shape::after{content:"";position:absolute;inset:20px 36px 12px 36px;border-radius:40px;background:rgba(255,255,255,.10);}
.social-card__icon{position:absolute;right:14px;bottom:-22px;width:146px;height:146px;display:flex;align-items:center;justify-content:center;}
.social-card__icon svg{display:block;width:100%;height:100%;}
.social-card__icon--base{opacity:.16;}
.social-card__icon--accent{opacity:.34;clip-path:polygon(48% 0,100% 0,100% 100%,72% 100%,60% 66%,46% 48%);}
.team-card,.partner-card{background:#000;}
.footer-note{border-top-left-radius:18px;border-top-right-radius:18px;background:linear-gradient(90deg, rgba(75,160,196,.92), rgba(126,231,220,.92));}
/* reveal animations */
[data-reveal]{
  opacity:0;
  filter:blur(4px);
  transform:translateY(12px);
  transition:opacity .7s var(--smooth-ease), filter .7s var(--smooth-ease), transform .7s var(--smooth-ease);
}
.reveal-ready [data-reveal]{opacity:1 !important;filter:none !important;transform:none !important;}
[data-reveal]:nth-child(2){transition-delay:.08s;}
[data-reveal]:nth-child(3){transition-delay:.16s;}
[data-reveal]:nth-child(4){transition-delay:.22s;}
[data-reveal]:nth-child(5){transition-delay:.28s;}

/* transitions */
.card-soft,
.reason-card,
.reason-head,
.reason-line,
.team-card,
.partner-card,
.faq-help-card,
.faq-help-button,
.social-card,
.social-card__button,
.footer-card,
.footer-contact-card,
.footer-legal-link,
.footer-eco-button,
.footer-payment-tile,
.monitoring-card,
.badge-soft{
  transition:transform .58s var(--smooth-ease), box-shadow .58s var(--smooth-ease), border-color .58s var(--smooth-ease), background-color .58s var(--smooth-ease), opacity .58s var(--smooth-ease), filter .58s var(--smooth-ease);
  will-change:transform, opacity;
}
.reason-card{transition-duration:.65s;}
.reason-card:hover{transform:translateY(-4px);}
.reason-head,
.reason-line{transition-duration:.52s;}
.faq-help-card:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(0,0,0,.30);}
.faq-help-button:hover{transform:translateY(-1px);}

.social-shell{padding:20px;border-radius:30px;background:rgba(0,0,0,.14);}
.social-card{
  min-height:118px;
  border-radius:16px;
  overflow:hidden;
  isolation:isolate;
  transform:translateZ(0);
  transition:transform .5s var(--smooth-ease), box-shadow .5s var(--smooth-ease);
}
.social-card:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 20px 60px rgba(0,0,0,.40);}
.social-card__watermark{transition:opacity .5s var(--smooth-ease), transform .5s var(--smooth-ease);}
.social-card:hover .social-card__watermark{opacity:.35 !important;transform:scale(1.08);}
.social-card__button{transition:transform .4s var(--smooth-ease), box-shadow .4s var(--smooth-ease);}
.social-card:hover .social-card__button{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.22);}
.social-card__content{align-items:center;gap:20px;}
.social-card__title{font-size:18px;font-weight:800;line-height:1.08;}
.social-card__subtitle{font-size:15px;line-height:1.15;margin-top:4px;color:rgba(255,255,255,.82);}
.social-card__button{min-height:40px;border-radius:8px;padding:0 18px;box-shadow:0 2px 0 rgba(0,0,0,.16);}
.social-card__art{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1;}
.social-card__corner{position:absolute;background:rgba(255,255,255,.13);}
/* watermark: large icon bottom-right, partially clipped by overflow:hidden on __art */
.social-card__watermark{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,1);
  /* size & position set per-platform below */
}
.social-card__watermark svg{width:100%;height:100%;display:block;}

/* VK */
.social-card--vk .social-card__corner{width:180px;height:180px;right:-50px;bottom:-90px;border-radius:50%;}
.social-card--vk .social-card__watermark{width:160px;height:160px;right:-20px;bottom:-20px;opacity:.22;}

/* Telegram */
.social-card--telegram .social-card__corner{width:180px;height:110px;right:-28px;top:14px;transform:rotate(-20deg);border-radius:24px;}
.social-card--telegram .social-card__watermark{width:158px;height:158px;right:-18px;bottom:-18px;opacity:.20;}

/* Discord */
.social-card--discord .social-card__corner{width:180px;height:180px;right:-54px;bottom:-80px;border-radius:50%;}
.social-card--discord .social-card__watermark{width:156px;height:156px;right:-16px;bottom:-16px;opacity:.22;}

/* Twitch */
.social-card--twitch .social-card__corner{width:180px;height:180px;right:-52px;bottom:-90px;transform:rotate(14deg);border-radius:28px;}
.social-card--twitch .social-card__watermark{width:154px;height:154px;right:-14px;bottom:-14px;opacity:.22;}

/* YouTube */
.social-card--youtube .social-card__corner{width:196px;height:110px;right:-22px;bottom:-26px;border-radius:999px;}
.social-card--youtube .social-card__watermark{width:160px;height:160px;right:-18px;bottom:-18px;opacity:.20;}

/* TikTok */
.social-card--tiktok .social-card__corner{width:160px;height:100px;right:-8px;bottom:-8px;border-radius:20px 0 0 0;}
.social-card--tiktok .social-card__watermark{width:148px;height:148px;right:-12px;bottom:-12px;opacity:.22;}

/* footer */
.site-footer{padding-top:18px;}
.footer-grid{display:grid;grid-template-columns:1.3fr .95fr;gap:24px;align-items:stretch;}
.footer-card{background:#050608;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:28px;box-shadow:0 18px 60px rgba(0,0,0,.26);min-height:100%;}
.footer-card--brand{border-color:rgba(126,231,220,.38);box-shadow:0 0 0 1px rgba(126,231,220,.08), inset 0 0 90px rgba(0,140,140,.08);}
.footer-card--eco{box-shadow:inset 0 0 100px rgba(0,135,80,.08);}
.footer-card--brand,
.footer-card--legal{min-height:332px;}
.footer-brand-head{display:flex;align-items:center;gap:16px;}
.footer-brand-logo-wrap{width:56px;height:56px;border-radius:18px;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), 0 12px 28px rgba(0,0,0,.24);}
.footer-brand-logo{width:28px;height:28px;object-fit:contain;border-radius:50%;}
.footer-brand-name{font-size:26px;font-weight:800;line-height:1.05;}
.footer-brand-tagline{margin-top:6px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.42);}
.footer-brand-description{margin-top:26px;font-size:16px;line-height:1.5;color:rgba(255,255,255,.84);max-width:520px;font-family:var(--font-geist,ui-sans-serif,system-ui);}
.footer-brand-accent{margin-top:12px;color:#7ee7dc;font-size:15px;line-height:1.4;font-family:var(--font-geist,ui-sans-serif,system-ui);}
.footer-contact-card{margin-top:32px;display:inline-flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);max-width:max-content;}
.footer-contact-card:hover{transform:translateY(-2px);border-color:rgba(126,231,220,.26);}
.footer-contact-icon{width:40px;height:40px;border-radius:12px;background:rgba(126,231,220,.16);display:flex;align-items:center;justify-content:center;color:#7ee7dc;}
.footer-contact-icon svg{width:18px;height:18px;display:block;}
.footer-contact-label{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.34);font-family:var(--font-geist,ui-sans-serif,system-ui);}
.footer-contact-value{display:block;margin-top:4px;font-size:16px;font-weight:700;color:#fff;}
.footer-card-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.20em;text-transform:uppercase;color:rgba(255,255,255,.42);}
.footer-card-label svg{width:15px;height:15px;display:block;}
.footer-card-label--plain{letter-spacing:.18em;}
.footer-legal-name{margin-top:22px;font-size:20px;font-weight:600;color:#d3d7df;line-height:1.4;}
.footer-inn-row{margin-top:20px;display:flex;align-items:center;gap:14px;}
.footer-inn-label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.34);}
.footer-inn-badge{padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);font-size:14px;color:#bfc5cf;}
.footer-legal-divider{height:1px;background:rgba(255,255,255,.08);margin:26px 0;}
.footer-legal-links{display:flex;flex-direction:column;gap:14px;}
.footer-legal-link{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);font-size:18px;color:#f0f2f6;}
.footer-legal-link:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.04);}
.footer-legal-link svg{width:18px;height:18px;display:block;color:rgba(229,235,243,.72);}
.footer-eco-box{display:flex;align-items:center;gap:18px;}
.footer-eco-icon{width:64px;height:64px;border-radius:18px;background:rgba(0,255,160,.08);border:1px solid rgba(0,255,160,.18);display:flex;align-items:center;justify-content:center;color:#31f0af;box-shadow:inset 0 0 80px rgba(10,120,70,.12);}
.footer-eco-icon svg{width:30px;height:30px;display:block;}
.footer-eco-title{font-size:20px;font-weight:800;line-height:1.15;color:#f4f6f8;}
.footer-eco-description{margin-top:8px;max-width:290px;font-family:var(--font-geist,ui-sans-serif,system-ui);font-size:16px;line-height:1.45;color:rgba(255,255,255,.78);}
.footer-eco-button{margin-top:32px;display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#eef4f7;font-size:16px;font-weight:600;}
.footer-eco-button:hover{transform:translateY(-2px);border-color:rgba(0,255,160,.18);}
.footer-eco-button svg{width:18px;height:18px;display:block;color:#31f0af;}
.footer-payments-head{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.footer-payments-dots{display:flex;align-items:center;gap:10px;}
.footer-payments-dots span{width:6px;height:6px;border-radius:50%;display:block;}
.footer-payments-dots span:nth-child(1){background:#3469e6;}
.footer-payments-dots span:nth-child(2){background:#ef4444;}
.footer-payments-dots span:nth-child(3){background:#c39209;}
.footer-payments-grid{margin-top:30px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.footer-payment-tile{height:64px;border-radius:14px;background:#f5f1eb;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:#11161b;letter-spacing:.02em;box-shadow:0 2px 0 rgba(0,0,0,.12);}
.footer-payment-tile:hover{transform:translateY(-2px);}
.footer-payment-tile--mir span{color:#1d9c5b;}
.footer-payment-tile--sbp span{color:#3f4ccf;}
.footer-payment-tile--visa span{color:#2055d6;}
.footer-payment-tile--mc span{font-size:15px;background:linear-gradient(90deg,#ef4444 0 50%, #f59e0b 50% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.footer-payments-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.footer-protection-text{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.30);}
.footer-dmca-badge{padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);font-size:11px;font-weight:800;letter-spacing:.08em;color:#d8dde6;}
.footer-copy-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:12px 4px 0;color:rgba(255,255,255,.58);font-family:var(--font-geist,ui-sans-serif,system-ui);font-size:14px;}
.footer-copy-right{max-width:620px;text-align:right;color:rgba(255,255,255,.40);font-size:12px;line-height:1.4;}

/* media queries: UI */
@media (min-width:768px){
  .faq-help-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:980px){
  .footer-grid{grid-template-columns:1fr;}
  .footer-card--brand,.footer-card--legal{min-height:0;}
}
@media (max-width:720px){
  .footer-grid{gap:18px;}
  .footer-card{padding:22px;}
  .footer-payments-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-copy-row{flex-direction:column;align-items:flex-start;}
  .footer-copy-right{text-align:left;max-width:none;}
  .social-card{min-height:112px;}
  .social-card__button{padding:0 16px;}
  .social-card__icon{width:122px;height:122px;right:10px;bottom:-14px;}
  .social-card__shape{width:170px;height:132px;right:-22px;bottom:-34px;}
}

@media (max-width:640px){
  .container{
    max-width:100%;
  }
  .statistic{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100%;
    gap:14px !important;
  }
  .statistic>div:not(.shrink-0){
    width:100%;
    padding:18px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(7,10,14,.50);
  }
  .statistic>.shrink-0{
    display:none;
  }
  .statistic span[data-stat-online],
  .statistic span[data-stat-uptime],
  .statistic span[data-stat-total]{
    font-size:clamp(44px, 17vw, 68px) !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    white-space:nowrap;
  }
  #why-section,
  #faq-section,
  #team-section,
  #partners-section,
  #socials-section{
    min-width:0 !important;
    padding:42px 16px !important;
  }
  #why-section .container,
  #faq-section .container,
  #team-section .container,
  #partners-section .container,
  #socials-section .container{
    gap:22px;
  }
  #why-section .display-font,
  #faq-section .display-font,
  #team-section .display-font,
  #partners-section .display-font,
  #socials-section .display-font,
  [data-shop-page-title]{
    font-size:24px !important;
    line-height:1.16 !important;
  }
  .reason-head{
    gap:12px;
    padding:16px;
  }
  .reason-head p{
    font-size:14px;
    line-height:1.25;
  }
  .reason-card .p-5{
    padding:16px !important;
  }
  .faq-trigger{
    font-size:15px;
    line-height:1.35;
  }
  .social-shell{
    padding:12px;
    border-radius:20px;
  }
  .social-card__content{
    align-items:flex-start;
    flex-direction:column;
  }
  .social-card__button{
    width:100%;
  }
  .footer-card{
    border-radius:20px;
  }
  .footer-brand-head,
  .footer-eco-box,
  .footer-payments-bottom{
    align-items:flex-start;
    flex-direction:column;
  }
  .footer-contact-card{
    width:100%;
    max-width:none;
  }
  .footer-contact-value{
    font-size:14px;
    overflow-wrap:anywhere;
  }
  .footer-legal-link{
    font-size:15px;
    padding:14px;
  }
  .footer-vanillasd-stats{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }
  footer .flex.gap-4{
    flex-wrap:wrap;
    gap:10px 16px;
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important;transition:none !important;}
}

/* ================================================================
   Rotating hero text
   ================================================================ */
.hero-rotating-text{
  display:inline;
  color:inherit;
}
.hero-rotating-text::after{
  content:none;
}

/* ================================================================
   Footer tagline — use proper non-AI-looking font treatment
   ================================================================ */
.footer-brand-tagline{
  font-family:var(--font-geist,ui-sans-serif,system-ui);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:11px;
  color:var(--brand-accent);
  opacity:.7;
}

/* footer brand-card used as vanillasd info block */
.footer-card--vanillasd-info{
  background:linear-gradient(135deg, rgba(7,10,18,.96) 0%, rgba(10,18,34,.92) 100%);
  border-color:rgba(126,231,220,.18);
  box-shadow:0 0 0 1px rgba(126,231,220,.06), inset 0 0 80px rgba(0,90,110,.06);
}
.footer-vanillasd-name{
  font-size:22px;
  background:linear-gradient(90deg, var(--brand-accent) 0%, var(--brand-accent-2) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.footer-vanillasd-stats{
  display:flex;
  gap:20px;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer-vanillasd-stat{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.footer-vanillasd-stat-value{
  font-size:22px;
  font-weight:800;
  font-family:'Unbounded','Arial',sans-serif;
  background:linear-gradient(90deg, var(--brand-accent) 0%, var(--brand-accent-2) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  line-height:1.1;
}
.footer-vanillasd-stat-label{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.38);
  font-family:var(--font-geist,ui-sans-serif,system-ui);
}
.footer-vanillasd-copy{
  margin-top:20px;
  font-size:12px;
  color:rgba(255,255,255,.36);
  font-family:var(--font-geist,ui-sans-serif,system-ui);
  letter-spacing:.06em;
}
.footer-monitoring-widget{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer-monitoring-widget iframe{
  display:block;
  width:100%;
  max-width:360px;
  height:22px;
  border:0;
  overflow:hidden;
}

/* footer brand description font — less "AI", more readable */
.footer-brand-description{
  font-family:var(--font-geist,ui-sans-serif,system-ui);
  font-size:15px;
  line-height:1.6;
  color:rgba(255,255,255,.78);
}
.footer-brand-accent{
  font-family:var(--font-geist,ui-sans-serif,system-ui);
  font-size:13px;
  letter-spacing:.04em;
}


/* static hero text */
.hero-rotating-text{display:inline;}

/* disabled links when url is empty (prevents # in address bar) */
.link-disabled{opacity:.55;pointer-events:none;cursor:default;}

/* ============================================================
   SHOP PAGE
   ============================================================ */
.shop-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;}
.shop-categories{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.shop-pill{border:1px solid rgba(255,255,255,.10);background:rgba(10,12,16,.55);color:#fff;padding:10px 14px;border-radius:999px;font-family:Geist,system-ui,sans-serif;font-size:14px;transition:background .25s var(--smooth-ease),border-color .25s var(--smooth-ease),transform .25s var(--smooth-ease);}
.shop-pill:hover{background:rgba(255,255,255,.08);transform:translate3d(0,-1px,0);}
.shop-pill.is-active{background:rgba(126,231,220,.16);border-color:rgba(126,231,220,.35);}
.shop-search-wrap{flex:1;min-width:240px;max-width:420px;display:flex;justify-content:flex-end;}
.shop-search{width:100%;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.35);color:#fff;border-radius:14px;padding:12px 14px;font-family:Geist,system-ui,sans-serif;outline:none;transition:border-color .25s var(--smooth-ease),background .25s var(--smooth-ease);}
.shop-search:focus{border-color:rgba(126,231,220,.40);background:rgba(0,0,0,.5);}

.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
@media (max-width:1100px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:720px){.shop-grid{grid-template-columns:1fr;}.shop-search-wrap{max-width:100%;}}

@media (max-width:640px){
  .shop-page-section{
    min-width:0 !important;
    padding:104px 16px 36px !important;
  }
  .shop-controls{
    align-items:stretch;
    flex-direction:column;
  }
  .shop-categories{
    gap:8px;
  }
  .shop-pill{
    flex:1 1 auto;
    padding:10px 12px;
    text-align:center;
  }
  .shop-search-wrap{
    min-width:0;
  }
  .shop-card{
    border-radius:18px;
  }
  .shop-card__top{
    flex-direction:column;
    align-items:flex-start;
  }
  .shop-card__image img{
    max-height:190px;
  }
  .shop-help-card{
    align-items:stretch;
    flex-direction:column;
  }
  .shop-help-button{
    width:100%;
  }
  .legal-page-section{
    max-width:100% !important;
    min-width:0 !important;
    padding:104px 16px 38px !important;
    overflow:hidden;
  }
  .background-blobs--page{
    inset:0;
    overflow:hidden;
  }
  .background-blobs--page .bg-blob1{
    right:-28px;
    width:220px;
    height:220px;
  }
  .background-blobs--page .bg-blob2{
    left:-72px;
    width:188px;
    height:188px;
  }
  .background-blobs--page .bg-blob3{
    right:22px;
    width:150px;
    height:150px;
  }
  .legal-card{
    padding:22px !important;
    border-radius:18px !important;
  }
  .legal-prose h1{
    font-size:clamp(28px, 9vw, 34px) !important;
    line-height:1.12 !important;
  }
  .legal-prose h2{
    font-size:20px !important;
  }
  .legal-prose p,
  .legal-prose li{
    font-size:15px;
    line-height:1.55;
  }
}

.shop-card{background:rgba(7,10,14,.70);border:1px solid rgba(255,255,255,.10);border-radius:22px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.34);display:flex;flex-direction:column;min-height:260px;position:relative;}
.shop-card::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 35% 20%, color-mix(in srgb, var(--accent) 60%, transparent) 0%, transparent 55%);filter:blur(40px);opacity:.55;pointer-events:none;}
.shop-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 16px 10px;position:relative;z-index:1;}
.shop-card__title{font-family:Unbounded,Arial,sans-serif;font-weight:700;font-size:18px;}
.shop-card__price{font-family:Unbounded,Arial,sans-serif;font-weight:700;font-size:18px;color:#fff;opacity:.95;}
.shop-badge{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);font-size:12px;color:#fff;}
.shop-card__image{padding:0 16px 8px;position:relative;z-index:1;}
.shop-card__image img{width:100%;max-height:160px;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.10);}
.shop-card__body{padding:0 16px 14px;display:flex;flex-direction:column;gap:10px;position:relative;z-index:1;}
.shop-card__desc{color:rgba(255,255,255,.75);font-family:Geist,system-ui,sans-serif;font-size:14px;line-height:1.35;}
.shop-card__perks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;}
.shop-card__perks li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.90);font-family:Geist,system-ui,sans-serif;font-size:14px;}
.shop-card__perks li::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--accent);opacity:.85;margin-top:6px;flex:0 0 auto;}
.shop-card__bottom{margin-top:auto;padding:0 16px 16px;position:relative;z-index:1;}
.shop-buy{display:inline-flex;align-items:center;justify-content:center;width:100%;gap:10px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.92);color:#111;font-family:Geist,system-ui,sans-serif;font-weight:700;transition:transform .25s var(--smooth-ease),filter .25s var(--smooth-ease);}
.shop-buy:hover{transform:translate3d(0,-1px,0);filter:brightness(1.02);}
.shop-empty{padding:22px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.22);color:rgba(255,255,255,.7);font-family:Geist,system-ui,sans-serif;}

.shop-help-card{margin-top:18px;padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg, rgba(126,231,220,.18) 0%, rgba(125,184,255,.14) 45%, rgba(0,0,0,.25) 100%);display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.shop-help-title{font-family:Unbounded,Arial,sans-serif;font-weight:800;font-size:18px;}
.shop-help-text{color:rgba(255,255,255,.78);font-family:Geist,system-ui,sans-serif;font-size:14px;max-width:56ch;}
.shop-help-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.92);color:#111;font-family:Geist,system-ui,sans-serif;font-weight:700;}
.shop-buy--disabled{opacity:.65;background:rgba(255,255,255,.55);pointer-events:none;}

/* Backend/account additions: reuse old visual language without changing main design */
button.shop-buy{border:0;cursor:pointer;}
button.shop-buy:disabled{opacity:.65;cursor:not-allowed;transform:none;filter:none;}
button.shop-pill{cursor:pointer;}
.account-field{max-width:none;}
