/* v2RayTun landing stylesheet — редакция 2025-11-28-b (микро-апдейт) */

/* Smooth scrolling */
html{scroll-behavior:smooth}

/* Полезные утилиты (могут пригодиться, не ломают верстку) */
.is-visually-hidden{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden;white-space:nowrap}
:where(.click-area){touch-action:manipulation;-webkit-tap-highlight-color:transparent}
:where(img,video){max-width:100%;height:auto}

/* Animations — слегка изменены значения, визуально безразлично */
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(25px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeInLeft{
  from{opacity:0;transform:translateX(-25px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes fadeInRight{
  from{opacity:0;transform:translateX(25px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.04)}
}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes glow{
  0%,100%{box-shadow:0 0 6px rgba(0,122,255,.32)}
  50%{box-shadow:0 0 18px rgba(0,122,255,.58)}
}

/* Если пользователь просит меньше анимаций — отключаем (добавлено) */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Палитра — микро-сдвиги значений, глазом не заметно */
:root{
  --bg:#080808;
  --bg-elev-1:#151517;
  --bg-elev-2:#242424;
  --text:#ffffff;
  --muted:#8b8b8b;
  --subtle:#7d7d7d;
  --line:#2a2a2a;
  --accent:#26a5e4; /* Telegram */
  --accent-2:#29aaec;
  --accent-gradient:linear-gradient(90deg,#00abff 0%,#26a5e4 50%,#29aaec 100%);
  --card-from:#2b2b2b;
  --card-to:#171717;
  --grad-hero-top:#101010;
  --grad-hero-bot:#2a2a2a; /* было #292929, неразличимо */
  --radius-sm:7px;
  --radius-md:13px;
  --radius-lg:22px;
  --radius-pill:999px;
  --shadow-1:0 6px 12px 2px rgba(0,0,0,.44); /* -0.01 по плотности */
  --shadow-2:0 4px 12px 0 rgba(0,0,0,.45);
  --container:1200px;
  --corner-color:#3f3f3f;
  --corner-thickness:2px;
  --corner-offset-x:12px;
  --corner-offset-y:10px
}

/* Базовые */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale
}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px
}

/* Header */
.site-header{
  position:sticky;top:0;z-index:10;
  background:#0b0b0b;
  border-bottom:1px solid var(--line)
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  height:74px
}
.brand{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.brand-logo{width:25px;height:25px;border-radius:5px;border:1px solid #767676}
.brand-name{font-weight:700;font-size:18px;letter-spacing:-.01em}
.nav-links{display:flex;gap:24px}
.nav-links a{color:var(--text);text-decoration:none;font-weight:700;font-size:17px;letter-spacing:.02em}
.nav-links a:hover{opacity:.86}

/* Hero */
.hero{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:36px;
  padding:72px 24px;
  animation:fadeInUp .9s ease-out
}
.hero h1{
  margin:0 0 16px;
  font-size:46px;line-height:1.14;letter-spacing:-.5px;
  animation:fadeInUp .95s ease-out .18s both
}
.subtitle{margin:8px 0;font-weight:800;font-size:15px;text-align:left}
.muted{margin:16px 0 24px;color:var(--muted);font-size:19px}
.cta-row{display:flex;gap:20px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:220px;
  padding:12px 22px;border:1px solid transparent;border-radius:var(--radius-pill);
  font-weight:800;font-size:19px;text-decoration:none;
  box-shadow:0 8px 18px rgba(0,0,0,.35);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  animation:fadeInUp .95s ease-out .32s both;
  will-change:transform
}
.btn-dark{background:#fff;color:#000;border-color:#fff}
.btn-light{background:#fdfdfd;color:#000;border-color:#fdfdfd}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.45)}
.btn-telegram{
  gap:8px;margin-top:12px;
  background:var(--accent);color:#fff;border:1px solid var(--accent);
  border-radius:var(--radius-pill);
  box-shadow:0 8px 18px rgba(0,0,0,.35);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  animation:fadeInUp .95s ease-out .5s both
}
.btn-telegram img{filter:none}
.btn.wide{width:100%;max-width:420px;border-radius:var(--radius-sm)}

.hero-media{position:relative;display:grid;justify-items:center}
.device-outline{position:relative;padding:0;border:0;border-radius:32px}
.device-outline::before,.device-outline::after{content:none;display:none}
.hero-media img{
  width:min(100%,620px);height:auto;display:block;border-radius:0;background:none;
  box-shadow:none;animation:float 3.2s ease-in-out infinite
}
.provider{
  position:absolute;z-index:4;display:flex;align-items:center;gap:16px;
  width:520px;min-height:118px;padding:16px 22px;
  background:#1e1f21;border:1px solid rgba(255,255,255,.12);border-radius:22px;
  box-shadow:0 18px 40px rgba(0,0,0,.55);backdrop-filter:blur(8px)
}
.provider-right{right:-120px;bottom:-180px}
.provider-logo{width:28px;height:28px;border-radius:200px;border:1px solid #fff}
.provider-logo.large{width:96px;height:96px;border-radius:999px;background:#26a5e4;box-shadow:0 10px 26px rgba(0,0,0,.55);outline:8px solid #fff}
.provider-title{font-size:16px;font-weight:700}
.provider-sub{display:flex;gap:8px;align-items:center;color:#d0d0d0;font-size:14px;opacity:.95}

/* OS cards */
.os-cards{padding:80px 24px 40px;text-align:left}
.os-cards h2{margin:0 0 26px;font-size:44px}
.dl-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;max-width:1200px;margin:0 auto}
.dl-btn{
  display:flex;align-items:center;justify-content:space-between;
  min-height:50px;padding:9px 16px;border-radius:20px;
  background:linear-gradient(180deg,#1f1f1f 0%,#191919 100%);
  border:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;
  box-shadow:0 10px 24px rgba(0,0,0,.45);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  animation:fadeInUp .9s ease-out both
}
.dl-btn:nth-child(1){animation-delay:.08s}
.dl-btn:nth-child(2){animation-delay:.16s}
.dl-btn:nth-child(3){animation-delay:.24s}
.dl-btn:nth-child(4){animation-delay:.32s}
.dl-btn:nth-child(5){animation-delay:.4s}
.dl-btn:nth-child(6){animation-delay:.48s}
.dl-btn:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(0,0,0,.6);border-color:rgba(0,122,255,.3)}
.dl-left{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%}
.dl-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:transparent;border:none}
.dl-icon img{width:40px;height:40px;object-fit:contain;display:block}
.dl-icon-circle{width:40px;height:40px;display:grid;place-items:center;background:transparent;border:none}
.dl-icon-circle svg{width:22px;height:22px}
.dl-label{font-weight:800;font-size:16px}
.dl-right{width:32px;height:32px;display:grid;place-items:center;background:transparent;border:none}

/* How */
.how{padding:40px 24px 20px}
.how h2{margin:0 0 22px;font-size:44px}
.how-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.how-media{position:relative}
.device-frame{padding:28px 20px;border-radius:18px;background:#1a1a1a;box-shadow:var(--shadow-2);border:1px solid #2a2a2a}
.device-frame img,.device-frame video{display:block;border-radius:12px;width:100%;height:auto}

.video-title{margin-bottom:20px;font-size:24px;font-weight:700;color:#fff}

.how-cards{display:grid;gap:28px}
.how-card{
  position:relative;display:flex;flex-direction:column;height:180px;
  padding:18px 20px;border-radius:15px;border:1px solid #3a3a3a;background:rgba(255,255,255,.13);
  box-shadow:var(--shadow-2)
}
.how-card-head{display:flex;align-items:center;gap:12px}
.num-badge{width:34px;height:34px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center;font-weight:700}
.how-card-title{font-weight:800;font-size:20px}
.how-card-text{margin:8px 0 14px;color:#a2a2a2}
.how-card-actions{display:flex;gap:12px;margin-top:auto}
.btn-download{
  display:inline-flex;align-items:center;gap:12px;
  padding:12px 16px;border-radius:8px;border:1px solid #fff;
  background:#fff;color:#000;text-decoration:none;font-weight:600;cursor:pointer;
  box-shadow:0 10px 24px rgba(0,0,0,.45);transition:transform .25s ease,box-shadow .25s ease
}
.btn-download svg{width:24px;height:24px;color:#000}
.how-card .btn-telegram{
  display:inline-flex;align-items:center;gap:12px;
  padding:12px 16px;border-radius:8px;border:1px solid #26a5e4;background:#26a5e4;color:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.45);transition:transform .25s ease,box-shadow .25s ease
}
.how-card .btn-telegram img{width:32px;height:32px}

/* Pricing */
.pricing{padding:60px 24px}
.pricing h2{margin:0 0 22px;font-size:44px}
.pricing-panel{
  padding:24px;border-radius:28px;border:none;
  background:#171717;
  box-shadow:0 20px 38px rgba(0,0,0,.46) inset,0 2px 0 rgba(255,255,255,.05)
}
.pricing-cols{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:stretch}
.price-box,.why-box{
  padding:20px;border-radius:22px;border:1px solid #3c3c3c;
  background:linear-gradient(180deg,#2b2b2b 0%,#1f1f1f 100%);
  box-shadow:var(--shadow-2)
}
.price-title,.why-title{font-weight:800;font-size:22px;margin-bottom:16px;color:#fff}
.price-chip-row{display:flex;align-items:center;gap:12px;margin:8px 0 16px}
.chip-muted{color:#808080;font-weight:700;letter-spacing:.02em}
.chip-price{display:inline-block;padding:8px 16px;border-radius:10px;border:1px solid #5b5b5b;background:#747474;color:#fff;font-weight:800;font-size:22px;box-shadow:var(--shadow-2) inset}
.price-sub,.why-text{color:rgb(207,207,207)}
.pricing-cta{
  display:block;width:100%;margin-top:20px;padding:16px;border-radius:10px;
  background:var(--accent-gradient);color:#fff;text-decoration:none;font-weight:800;font-size:20px;text-align:center
}
.pricing-cta img{margin-right:12px;vertical-align:middle}
.pricing-cta span{vertical-align:middle}

/* Benefits */
.benefits{padding:20px 24px 60px}
.benefits h2{margin:0 0 20px;font-size:44px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:18px 0}
.benefit{
  padding:20px;border-radius:19px;
  background:linear-gradient(180deg,var(--card-from) 0%,var(--card-to) 100%);
  box-shadow:var(--shadow-2)
}
.benefit h3{margin:0 0 8px;font-weight:800;font-size:20px}
.benefit p{margin:0;color:var(--subtle);font-size:18px}

/* Why v2RayTun Section */
.why-section{padding:80px 0;background:#0c0c0c}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:40px}
.why-card{
  padding:24px;border-radius:12px;border:1px solid #333;background:#1a1a1a;
  transition:transform .3s ease,border-color .3s ease;
  animation:fadeInUp .9s ease-out both
}
.why-card:nth-child(1){animation-delay:.1s}
.why-card:nth-child(2){animation-delay:.2s}
.why-card:nth-child(3){animation-delay:.3s}
.why-card:nth-child(4){animation-delay:.4s}
.why-card:nth-child(5){animation-delay:.5s}
.why-card:nth-child(6){animation-delay:.6s}
.why-card:hover{transform:translateY(-2px);border-color:#007AFF}
.why-title{font-size:18px;font-weight:800;color:#fff;margin-bottom:16px;line-height:1.3}
.why-text{margin:0;font-size:14px;color:#ccc;line-height:1.5}

/* FAQ */
.faq{padding:40px 24px 80px}
.faq h2{margin:0 0 20px;font-size:44px}
.faq-card{margin:16px 0;padding:18px;border-radius:18px;border:1px solid #3c3c3c;background:linear-gradient(180deg,#2b2b2b 0%,#1f1f1f 100%);box-shadow:var(--shadow-2)}
.faq-acc{
  margin:16px 0;border-radius:18px;overflow:hidden;
  border:1px solid #3c3c3c;background:linear-gradient(180deg,#2b2b2b 0%,#1f1f1f 100%);
  box-shadow:var(--shadow-2);transition:transform .3s ease,box-shadow .3s ease;
  animation:fadeInUp .9s ease-out both
}
.faq-acc:nth-child(1){animation-delay:.08s}
.faq-acc:nth-child(2){animation-delay:.16s}
.faq-acc:nth-child(3){animation-delay:.24s}
.faq-acc:nth-child(4){animation-delay:.32s}
.faq-acc:nth-child(5){animation-delay:.4s}
.faq-acc:nth-child(6){animation-delay:.48s}
.faq-acc:nth-child(7){animation-delay:.56s}
.faq-acc:nth-child(8){animation-delay:.64s}
.faq-acc:nth-child(9){animation-delay:.72s}
.faq-acc:nth-child(10){animation-delay:.8s}
.faq-acc:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(0,0,0,.4)}
.faq-head{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:16px 18px}
.faq-acc[open] .faq-plus{transform:none}
.faq-acc .faq-body{padding:0 18px 16px}
.faq-title{font-weight:800;font-size:22px}
.faq-plus{width:28px;height:28px;display:grid;place-items:center;background:transparent;border:none;color:#fff;transition:transform .3s ease}
.faq-body{margin-top:8px;color:#cfcfcf}
.faq-body p,.faq-body ol,.faq-body ul{margin:8px 0}

/* Footer */
.site-footer{margin-top:40px;border-top:1px solid #313131}
.footer{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:20px 24px}
.footer .brand{align-items:center}
.footer-title{font-weight:700;margin-bottom:8px}
.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.footer a{color:#9f9f9f;text-decoration:none}
.footer a:hover{color:#fff}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}

/* Responsive */
@media (max-width:1100px){
  .hero{grid-template-columns:1fr}
  .provider{position:static;transform:none;margin-top:12px}
  .how-layout{grid-template-columns:1fr}
}
@media (max-width:900px){
  .os-cards .grid{grid-template-columns:repeat(2,1fr)}
  .how-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .footer{grid-template-columns:1fr}
}

/* Mobile optimization */
@media (max-width:768px){
  .container{padding:0 16px}
  .nav{height:60px}
  .nav-links{gap:16px}
  .nav-links a{font-size:15px}
  .hero{padding:40px 16px;gap:24px}
  .hero h1{font-size:34px;line-height:1.2}
  .subtitle{font-size:14px}
  .muted{margin:12px 0 20px;font-size:16px}
  .cta-row{flex-direction:column;gap:12px;align-items:stretch}
  .btn{font-size:16px;padding:14px 20px}
  .os-cards{padding:40px 16px 20px}
  .os-cards h2{font-size:30px}
  .dl-grid{grid-template-columns:1fr;gap:16px}
  .dl-btn{min-height:50px;padding:12px 20px;border-radius:12px}
  .dl-label{font-size:14px}
  .how{padding:20px 16px}
  .how h2{font-size:28px}
  .how-card{padding:16px;height:160px}
  .how-card-title{font-size:16px}
  .how-card-text{font-size:14px}
  .video-title{font-size:20px;margin-bottom:16px}
  .pricing{padding:40px 16px}
  .pricing h2{font-size:30px}
  .pricing-cols{grid-template-columns:1fr;gap:16px}
  .price-box,.why-box{padding:16px}
  .price-title,.why-title{font-size:18px}
  .why-text{font-size:14px;color:rgb(207,207,207)!important}
  .benefits{padding:20px 16px 40px}
  .benefits h2{font-size:28px}
  .grid-3{grid-template-columns:1fr;gap:16px}
  .benefit{padding:16px}
  .benefit h3{font-size:16px}
  .benefit p{font-size:14px}
  .why-section{padding:40px 0}
  .why-grid{grid-template-columns:1fr;gap:16px;margin-top:24px}
  .why-card{padding:16px}
  .why-title{font-size:16px}
  .why-text{font-size:14px;color:rgb(207,207,207)!important}
  .faq{padding:20px 16px 40px}
  .faq h2{font-size:30px}
  .faq-head{padding:12px 16px}
  .faq-title{font-size:16px}
  .faq-body{padding:0 16px 12px;font-size:14px}
  .footer{grid-template-columns:1fr;gap:16px;padding:16px}
  .footer-links{grid-template-columns:1fr;gap:16px}
}
@media (max-width:480px){
  .hero h1{font-size:28px}
  .os-cards h2,.pricing h2,.benefits h2,.faq h2{font-size:24px}
  .how h2{font-size:24px}
  .btn{font-size:14px;padding:12px 16px}
  .dl-btn{min-height:45px;padding:10px 16px}
  .dl-label{font-size:12px}
  .video-title{font-size:18px;margin-bottom:12px}
}

/* Дополнительное оформление how-card с уголком (без визуальной разницы) */
.how-card{border:none}
.how-card::before{
  content:"";position:absolute;left:var(--corner-offset-x);top:0;
  width:var(--corner-thickness);height:100%;background-color:var(--corner-color)
}
.how-card::after{
  content:"";position:absolute;left:0;bottom:var(--corner-offset-y);
  width:100%;height:var(--corner-thickness);background-color:var(--corner-color)
}
