/* ===== Hero ===== */
.hero{
  padding:84px 0 44px;
  margin-top: var(--nav-h);
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  align-items:stretch;
}
.hero h1{
  margin:14px 0 12px;
  font-size: clamp(32px, 4.1vw, 60px);
  line-height: 1.05;
  letter-spacing:-.03em;
}
.hero p{
  margin:0;
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 1.65;
  max-width: 58ch;
}
.hero-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:18px}
.hero-badges{display:flex; gap:8px; flex-wrap:wrap; margin-top:16px}
.hero-card{
  padding:18px;
  position:relative;
  overflow:hidden;
}
.hero-card:before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(250px 250px at 20% 15%, rgba(255,140,0,.18), transparent 60%),
    radial-gradient(260px 260px at 80% 30%, rgba(255,69,0,.14), transparent 60%),
    radial-gradient(260px 260px at 55% 90%, rgba(20,255,114,.09), transparent 60%);
  filter: blur(10px);
  opacity:.9;
}
.hero-card-inner{position:relative}
.hero-kpis{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
  margin-top: 14px;
}
.kpi{
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  min-height: 86px;
}
.kpi .label{
  color: rgba(255,255,255,.65);
  font-weight:700;
  font-size:11px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.kpi .value{
  font-size:18px;
  margin-top:8px;
  font-weight:900;
  letter-spacing:-.02em;
}
.kpi .hint{
  margin-top:4px;
  font-size:12px;
  color: rgba(255,255,255,.58);
}

.server-card{
  margin-top:14px;
  padding:14px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  flex-wrap:wrap;
}
.server-left{display:flex; align-items:center; gap:10px; min-width: 0; flex:1 1 auto}
.server-badge{
  width:46px; height:46px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(18px 18px at 30% 35%, rgba(255,255,255,.22), transparent 60%),
    linear-gradient(135deg, rgba(255,140,0,.42), rgba(255,69,0,.10));
  display:grid; place-items:center;
  box-shadow: 0 14px 46px rgba(255,110,0,.18);
  flex:0 0 auto;
  position:relative;
  overflow:hidden;
}
.server-badge:after{
  content:"";
  position:absolute; inset:-60%;
  background: radial-gradient(circle at 50% 40%, rgba(255,255,255,.18), transparent 35%);
  transform: rotate(-12deg);
  opacity:.8;
}
.server-badge span{position:relative; font-size:18px}
.server-meta{min-width:0}
.server-meta .title{font-weight:900; letter-spacing:-.02em}
.server-meta .sub{
  margin-top:4px;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  display:flex; align-items:center; gap:8px;
  flex-wrap:wrap;
}
.ip{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  padding: 6px 10px;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color:#fff;
  white-space:nowrap;
}
.server-right{display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end}

/* ===== Sections ===== */
section{padding: 56px 0}
.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom: 16px;
  flex-wrap:wrap;
}
.section-title{
  margin:0;
  font-size: clamp(22px, 2.7vw, 32px);
  letter-spacing:-.02em;
}
.section-desc{
  margin:0;
  color: rgba(255,255,255,.68);
  max-width: 64ch;
  line-height:1.65;
  font-size:14px;
}

.grid-3{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:12px}
.grid-2{display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px}

.card{
  padding:16px;
  border-radius: var(--radius-2xl);
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  position:relative;
  overflow:hidden;
  transition: transform var(--transition-fast), border var(--transition-fast), background var(--transition-fast);
}
.card:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
}
.card .icon{
  width:40px; height:40px;
  border-radius:16px;
  display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.14);
  background: linear-gradient(135deg, rgba(255,140,0,.35), rgba(255,69,0,.08));
  box-shadow: 0 18px 60px rgba(255,110,0,.10);
  margin-bottom: 10px;
}
.card h3{margin:0 0 6px; font-size: 15px; letter-spacing:-.01em}
.card p{margin:0; color: rgba(255,255,255,.68); line-height:1.65; font-size:13px}

.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items:stretch;
}

.container.narrow{
  max-width: 980px;
}

.split.split-single{
  grid-template-columns: minmax(0, 560px);
  justify-content:center;
}

@media (max-width: 720px){
  .split.split-single{
    grid-template-columns: minmax(0,1fr);
  }
}


/* ===== Map embed ===== */
.embed{
  padding:14px;
  border-radius: var(--radius-2xl);
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  overflow:hidden;
}
.embed iframe{
  width:100%;
  height: min(420px, 60vh);
  border:0;
  border-radius: 18px;
  background: rgba(0,0,0,.35);
}

/* ===== FAQ ===== */
.faq{display:flex; flex-direction:column; gap:10px}
.faq-item{
  padding: 14px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.faq-q{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  cursor:pointer;
  font-weight:900;
  letter-spacing:-.01em;
  font-size:14px;
  user-select:none;
}
.faq-a{
  /* Кросс-браузерная анимация: управляем высотой из JS (Safari/Grid иногда дергается) */
  margin-top:0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-2px);
  transition:
    height var(--transition-med),
    opacity var(--transition-fast),
    transform var(--transition-fast);
  will-change: height, opacity, transform;
  color: rgba(255,255,255,.68);
  line-height: 1.7;
  font-size:13px;
}
.faq-item[data-open="true"] .faq-a{
  margin-top:8px;
  opacity: 1;
  transform: translateY(0);
}
.faq-item[data-open="true"] .chev{transform: rotate(180deg)}
.chev{width:20px; height:20px; display:block; flex:0 0 auto; transition: transform var(--transition-fast)}

/* ===== Footer ===== */
footer{
  padding: 28px 0 40px;
  border-top:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.15);
  backdrop-filter: blur(14px);
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 16px;
  align-items:start;
}
.fine{color: rgba(255,255,255,.55); font-size:12px; line-height:1.6}
.links{display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end}
.links a{
  padding:8px 10px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.85);
  font-weight:700;
  font-size:12px;
  transition: background var(--transition-fast), border var(--transition-fast), transform var(--transition-fast);
}
.links a:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.16);
}

/* ===== Toast ===== */
.toast{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%) translateY(18px);
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.16);
  display:flex;
  gap:8px;
  align-items:center;
  opacity:0;
  pointer-events:none;
  transition: opacity var(--transition-fast), transform var(--transition-fast);
  z-index: 100;
  max-width:calc(100% - 32px);
}
.toast.is-visible{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.toast-icon{width:18px; height:18px; color: var(--ok)}
.toast-text{font-weight:800; font-size:13px;}
.toast-ip{padding:4px 8px}

/* ===== Responsive ===== */
@media (max-width: 1100px){
  .hero-grid{grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);}
  .grid-3{grid-template-columns: repeat(2, minmax(0,1fr));}
}
@media (max-width: 980px){
  .hero{padding-top:80px; margin-top:76px;}
  .hero-grid{grid-template-columns: 1fr; gap:20px;}
  .hero-card{order:-1;}
  .hero-kpis{grid-template-columns: repeat(3, minmax(0,1fr));}
  .split{grid-template-columns: 1fr;}
  .grid-3{grid-template-columns: repeat(2, minmax(0,1fr));}
  .grid-2{grid-template-columns: 1fr;}
  .server-card{flex-direction:column; align-items:flex-start;}
  .server-right{width:100%; justify-content:flex-start;}
  .links{justify-content:flex-start;}
  footer{padding-bottom:32px;}
}
@media (max-width: 720px){
  .hero{padding-top:72px;}
  .hero-kpis{grid-template-columns: repeat(2, minmax(0,1fr));}
  .grid-3{grid-template-columns: 1fr;}
  .footer-grid{grid-template-columns: 1fr;}
}
@media (max-width: 540px){
  .hero{
    padding-top:68px;
    padding-bottom:36px;
  }
  .hero h1{font-size:28px;}
  .hero-actions .btn{flex:1 1 100%; justify-content:center;}
  .hero-badges{gap:6px;}
  .hero-kpis{grid-template-columns: 1fr;}
  .server-card{padding:12px;}
  .pill{white-space:normal;}
  .section-head{flex-direction:column; align-items:flex-start;}
  main, section{scroll-margin-top:88px;}
}
