:root{
  --bg:#07070a;
  --panel:#0e0e14;
  --panel2:#11111a;
  --text:#f7f7fb;
  --muted:#b8b8c7;
  --red:#ff1f3d;
  --red2:#ff4d67;
  --white:#ffffff;
  --shadow: 0 18px 50px rgba(0,0,0,.55);
  --shadow2: 0 12px 30px rgba(0,0,0,.45);
  --radius: 18px;
  --radius2: 28px;
  --max: 1120px;
  --ring: 0 0 0 4px rgba(255,31,61,.22);
  --ring2: 0 0 0 1px rgba(255,255,255,.10) inset;
  --border: 1px solid rgba(255,255,255,.10);
}

*{box-sizing:border-box}
html,body{height:100%}
html{overflow-x:hidden}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background:
    radial-gradient(ellipse 150% 100% at 50% 0%, rgba(255,31,61,.25), transparent 50%),
    radial-gradient(ellipse 100% 80% at 0% 50%, rgba(255,77,103,.15), transparent 50%),
    radial-gradient(ellipse 100% 80% at 100% 50%, rgba(255,31,61,.12), transparent 50%),
    radial-gradient(ellipse 150% 100% at 50% 100%, rgba(255,77,103,.18), transparent 50%),
    var(--bg);
  background-attachment: fixed;
  color:var(--text);
  line-height:1.5;
  min-height: 100vh;
}

 body{overflow-x:hidden}

 *, *::before, *::after{min-width:0}

 svg, img{max-width:100%; height:auto}

a{color:inherit; text-decoration:none}

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

.skip{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip:focus{left:18px; top:18px; width:auto; height:auto; padding:10px 12px; background:var(--panel); border:var(--border); border-radius:12px; box-shadow:var(--shadow2)}

.topbar{
  position:sticky; top:0; z-index:50;
  background: rgba(7,7,10,.72);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.topbar .btn{
  line-height: 1;
  font-size: 14px;
  padding: 10px 14px;
  min-height: 40px;
  -webkit-appearance: none;
  appearance: none;
 }

 .topbar .nav > .btn,
 .topbar .nav > a.btn{
  min-width: 92px;
 }

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 0;
}

.btn.burger{
  display: none;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width: 190px;
}

.logo{
  width:36px; height:36px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255,31,61,1), rgba(255,77,103,1));
  box-shadow: 0 14px 40px rgba(255,31,61,.18);
  display:grid; place-items:center;
}
.logo svg{width:22px; height:22px; fill:var(--white)}

.brand-title{display:flex; flex-direction:column; line-height:1.1}
.brand-title strong{letter-spacing:.2px}
.brand-title span{font-size:12px; color:var(--muted)}

.navlinks{display:flex; align-items:center; gap:18px}
.navlinks a{color:var(--muted); font-weight:600; font-size:14px}
.navlinks a:hover{color:var(--text)}

.cta{
  display:flex; gap:10px; align-items:center;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:10px 14px;
  border-radius: 14px;
  border: var(--border);
  background: rgba(255,255,255,.03);
  color: var(--text);
  font-weight: 700;
  box-shadow: var(--ring2);
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
  cursor:pointer;
}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.16)}
.btn:focus{outline:none; box-shadow: var(--ring), var(--ring2)}

.btn-primary{
  background: linear-gradient(135deg, var(--red), var(--red2));
  border-color: rgba(255,255,255,.14);
}
.btn-primary:hover{background: linear-gradient(135deg, #ff1436, #ff5f77)}

.btn-ghost{background: transparent}

.site-title{
  text-align:center;
  padding: 40px 0 30px;
}

.site-name{
  font-size: clamp(48px, 10vw, 80px);
  margin: 0;
  letter-spacing: -2px;
  background: linear-gradient(135deg, var(--white), var(--muted));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.site-tagline{
  font-size: clamp(14px, 3vw, 18px);
  color: var(--muted);
  margin: 8px 0 0;
  font-weight: 500;
}

.hero{
  padding: 20px 0 26px;
}

.hero-content{
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

.hero-lead{
  font-size: clamp(16px, 2.5vw, 20px);
  color: var(--muted);
  line-height: 1.6;
  margin: 0 0 24px;
}

.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 26px;
  align-items: stretch;
}

.kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,31,61,.10);
  border: 1px solid rgba(255,31,61,.22);
  color: var(--text);
  font-weight: 700;
  font-size: 13px;
}
.kicker b{color:var(--red2)}

.h1{
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  margin: 14px 0 12px;
  letter-spacing: -.5px;
}

.subhead{color: var(--muted); font-size: 16px; margin:0 0 18px}

.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top: 16px; justify-content:center}

.hero-content .hero-actions{margin-bottom: 24px}

.metrics{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 0;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.metric{
  border: var(--border);
  background: rgba(255,255,255,.03);
  border-radius: 16px;
  padding: 12px;
  box-shadow: var(--ring2);
}
.metric strong{display:block; font-size:18px}
.metric span{display:block; font-size:12px; color:var(--muted)}

.card{
  border: var(--border);
  background:
    radial-gradient(650px 300px at 50% 0%, rgba(255,31,61,.12), transparent 60%),
    rgba(255,255,255,.03);
  border-radius: var(--radius2);
  box-shadow: var(--shadow2);
}

.hero-card{padding: 18px}

.hero-card .mini{
  display:flex; align-items:center; justify-content:space-between;
  border-radius: 18px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(7,7,10,.65);
}

.pill{
  font-size:12px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: var(--muted);
  font-weight: 700;
}
.pill.hot{border-color: rgba(255,31,61,.26); background: rgba(255,31,61,.10); color: var(--text)}

.stack{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 12px;
}

.stack-item{
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
}
.stack-item strong{display:block}
.stack-item span{display:block; color:var(--muted); font-size:13px; margin-top:4px}

.section{padding: 28px 0}
.section h2{font-size: 28px; margin:0 0 10px}
.section p.lead{margin:0 0 18px; color:var(--muted)}

.grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.service{
  padding: 16px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  box-shadow: var(--ring2);
}
.service h3{margin:10px 0 6px; font-size:18px}
.service p{margin:0; color:var(--muted); font-size:14px}

.icon{
  width:42px; height:42px;
  border-radius: 16px;
  background: rgba(255,31,61,.10);
  border: 1px solid rgba(255,31,61,.22);
  display:grid; place-items:center;
}
.icon svg{width:22px; height:22px; fill:var(--white)}

.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.panel{
  padding: 18px;
  border-radius: var(--radius2);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  box-shadow: var(--ring2);
}
.panel h3{margin:0 0 10px}
.panel ul{margin:0; padding-left:18px; color:var(--muted)}
.panel li{margin:8px 0}

.banner{
  padding: 18px;
  border-radius: var(--radius2);
  border: 1px solid rgba(255,31,61,.22);
  background: rgba(255,31,61,.10);
}
.banner strong{display:block; font-size:18px; margin-bottom:6px}
.banner span{color: rgba(255,255,255,.86)}

.faq{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  max-width: 640px;
}

details{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius: 18px;
  padding: 12px 14px;
}
summary{cursor:pointer; font-weight:800}
summary::-webkit-details-marker{display:none}
details p{margin:10px 0 0; color:var(--muted)}

.footer{
  padding: 20px 0 30px;
  border-top: 1px solid rgba(255,255,255,.10);
  margin-top: 26px;
}

.footer-simple{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}

.footer small{color:var(--muted); font-size: 12px}
.footer a{color:var(--muted); font-size: 12px}
.footer a:hover{color:var(--text)}

.legal{
  display:flex;
  gap: 16px;
  align-items:center;
}

.page{
  padding: 36px 0;
}
.page h1{margin:0 0 10px; font-size: 40px; line-height:1.08}
.page p{color:var(--muted)}
.page .doc{
  margin-top:18px;
  padding: 18px;
  border-radius: var(--radius2);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}
.page .doc h2{margin:0 0 10px; font-size:20px}
.page .doc h3{margin:18px 0 8px; font-size:16px}
.page .doc p{margin:0 0 10px}
.page .doc ul{margin:0 0 12px; padding-left:18px; color:var(--muted)}

 .page .doc a{word-break:break-word}

.notice{
  border-radius: 18px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: var(--muted);
}

.contact-card{
  max-width: 480px;
  margin: 0 auto;
  text-align: center;
  padding: 32px 24px;
  border-radius: var(--radius2);
  border: 1px solid rgba(255,31,61,.22);
  background: 
    radial-gradient(400px 200px at 50% 0%, rgba(255,31,61,.12), transparent 60%),
    rgba(255,255,255,.03);
  box-shadow: var(--shadow2);
}

.contact-card p{
  margin: 0 0 20px;
  font-size: 20px;
}

.contact-card > a{
  color: var(--red2);
  font-weight: 700;
  font-size: 18px;
}

.contact-card .hero-actions{
  justify-content: center;
  margin-top: 0;
}

.contact-card .btn-primary{
  padding: 14px 28px;
  font-size: 16px;
}

@media (max-width: 940px){
  .hero-grid{grid-template-columns: 1fr;}
  .metrics{grid-template-columns: repeat(3, 1fr)}
  .grid3{grid-template-columns: 1fr}
  .split{grid-template-columns: 1fr}
  .footer-grid{grid-template-columns: 1fr}
  .legal{justify-content:flex-start}
}

@media (max-width: 720px){
  .container{padding:0 14px; text-align: center}

  .nav{justify-content: space-between}
  .btn.burger{display:inline-flex !important}
  .navlinks{display:none}
  
  .metrics{grid-template-columns: 1fr; max-width: 100%; text-align: center}
  .metric{text-align: center}

  .site-title{padding: 30px 0 20px; text-align: center}
  .site-name{font-size: clamp(36px, 12vw, 56px); text-align: center}

  .hero{padding: 10px 0 18px}
  .hero-content{text-align: center}
  .hero-lead{font-size: 16px; text-align: center}

  .hero-actions{flex-direction:column; align-items:center}
  .hero-actions .btn{width:100%}

  .section{padding: 22px 0; text-align: center}
  .section h2{font-size: 24px; text-align: center}
  .section .lead{text-align: center}

  .service{text-align: center}
  .service .icon{margin: 0 auto}

  .panel{text-align: left}
  .panel ul{text-align: left}

  .faq{max-width: 100%}
  details{text-align: left}

  .contact-card{padding: 18px; text-align: center}

  .footer-simple{flex-direction: column; text-align: center; gap: 8px; align-items: center}
  .legal{justify-content: center}

  .page{padding: 26px 0}
  .page h1{font-size: 30px; text-align: center}
  .page p{text-align: center}
  .page .doc{padding: 14px; text-align: left}
}

.mobile{
  display:none;
  padding: 8px 0 14px;
}
.mobile.open{display:block}
.mobile a{
  display:block;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  margin-top: 10px;
  color: var(--muted);
  font-weight:800;
  text-align:center;
}
.mobile a:hover{color:var(--text); border-color: rgba(255,255,255,.16)}

.hr{
  height:1px;
  background: rgba(255,255,255,.10);
  margin: 18px 0;
}

.tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  color: var(--text);
}
.tag i{
  width:8px; height:8px; border-radius: 999px;
  background: var(--red);
  box-shadow: 0 0 0 4px rgba(255,31,61,.16);
}
