/* Vortex Coding - focused dark onepager */
:root{
  --bg:#080c12;
  --bg-soft:#0c121a;
  --text:#e9eef5;
  --muted:#a9b7c6;
  --accent:#00b4ff;
  --accent-2:#2ad6ff;
  --wrap:1120px;
  --card:#101824;
  --border:rgba(255,255,255,.1);
  --shadow:0 18px 52px rgba(0,0,0,.42);
  --topbar-h:72px;
}

*{box-sizing:border-box}
html{
  min-height:100%;
  background:var(--bg);
  scroll-padding-top:calc(var(--topbar-h) + 18px);
}
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
}
body{
  min-height:100%;
  margin:0;
  color:var(--text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.6;
  background:
    linear-gradient(135deg, rgba(0,180,255,.13), transparent 34%),
    linear-gradient(225deg, rgba(42,214,255,.08), transparent 30%),
    linear-gradient(180deg, #080c12 0%, #0a1018 46%, #0c121a 100%);
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.86), rgba(0,0,0,.18));
}

img{display:block; max-width:100%; height:auto}
a{color:var(--accent-2); text-decoration:none}
a:hover{color:#75e7ff}
a:visited{color:var(--accent-2)}
a:focus-visible,
button:focus-visible{
  outline:3px solid rgba(42,214,255,.95);
  outline-offset:4px;
}
h1,h2,h3,p{margin-top:0}
h1{
  max-width:820px;
  margin-bottom:20px;
  font-size:3.25rem;
  line-height:1.05;
  letter-spacing:0;
}
h2{
  margin-bottom:14px;
  font-size:2.15rem;
  line-height:1.12;
  letter-spacing:0;
}
h3{
  margin-bottom:8px;
  font-size:1.08rem;
  line-height:1.25;
  letter-spacing:0;
}
p{color:var(--muted)}
code{
  padding:2px 6px;
  border-radius:6px;
  background:rgba(255,255,255,.08);
  color:var(--text);
}

.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:24px;
}
.wrap.narrow{max-width:820px}
.section{padding-block:96px}
.section:first-child{padding-top:120px}
.section-head{
  max-width:720px;
  margin-bottom:34px;
}
.section-head p:last-child{margin-bottom:0}
.eyebrow{
  margin-bottom:12px;
  color:var(--accent-2);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  min-height:var(--topbar-h);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(8,12,18,.86);
  backdrop-filter:blur(18px);
}
.topbar__inner,
.topbar .wrap{
  min-height:var(--topbar-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:var(--text);
  font-weight:800;
}
.brand:visited{color:var(--text)}
.logo{
  width:40px;
  height:40px;
  border-radius:8px;
  box-shadow:0 0 24px rgba(0,180,255,.22);
}
.brand-name{
  color:var(--text);
  white-space:nowrap;
  letter-spacing:0;
}
.nav-list{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}
.nav-link{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  padding:8px 12px;
  border-radius:8px;
  color:var(--muted);
  font-size:.95rem;
  font-weight:700;
}
.nav-link:visited{color:var(--muted)}
.nav-link:hover,
.nav-link[aria-current="page"]{
  color:var(--text);
  background:rgba(255,255,255,.055);
}
.nav-button{margin-left:6px}
.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(255,255,255,.04);
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  width:20px;
  height:2px;
  margin:5px auto;
  border-radius:2px;
  background:var(--text);
}

.btn{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 18px;
  border:1px solid transparent;
  border-radius:8px;
  color:var(--text);
  font-weight:800;
  line-height:1.2;
  text-align:center;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.btn:visited{color:var(--text)}
.btn:hover{color:var(--text)}
.btn:active{transform:translateY(1px)}
.btn-primary{
  color:#041019;
  background:linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow:0 14px 30px rgba(0,180,255,.18);
}
.btn-primary:visited,
.btn-primary:hover{
  color:#041019;
}
.btn-primary:hover{border-color:rgba(255,255,255,.34)}
.btn-secondary{
  border-color:rgba(42,214,255,.34);
  background:rgba(0,180,255,.08);
}
.btn-secondary:hover{background:rgba(0,180,255,.14)}

.hero__grid,
.request-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.78fr);
  gap:48px;
  align-items:center;
}
.hero__copy,
.request-hero .reveal{
  display:grid;
  justify-items:start;
}
.hero__lead{
  max-width:720px;
  margin-bottom:28px;
  color:#c7d5e3;
  font-size:1.18rem;
}
.hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.terminal-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(42,214,255,.2);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(16,24,36,.96), rgba(7,11,17,.96));
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.06);
}
.terminal-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, transparent 0, rgba(255,255,255,.035) 50%, transparent 100%);
  background-size:100% 8px;
  opacity:.24;
}
.terminal-card__bar{
  display:flex;
  gap:8px;
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}
.terminal-card__bar span{
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.38);
}
.terminal-card__body{
  display:grid;
  gap:10px;
  padding:24px;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-size:.94rem;
}
.terminal-card__body p{margin:0}
.terminal-prompt{color:var(--accent-2); font-weight:800}
.terminal-status{color:#7dffba; font-weight:800}

.cards-grid{
  display:grid;
  gap:18px;
}
.cards-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.cards-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card,
.price-card,
.process-step,
.contact-panel{
  border:1px solid var(--border);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(16,24,36,.94), rgba(9,14,22,.92));
  box-shadow:0 14px 34px rgba(0,0,0,.3);
}
.card,
.price-card,
.process-step{
  padding:24px;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.card:hover,
.price-card:hover,
.process-step:hover{
  border-color:rgba(42,214,255,.28);
  box-shadow:0 20px 44px rgba(0,0,0,.38);
}
@media (prefers-reduced-motion:no-preference){
  .card:hover,
  .price-card:hover,
  .process-step:hover{transform:translateY(-3px)}
}
.card p,
.price-card p,
.process-step p{margin-bottom:0}

.section-split{
  border-block:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.022);
}
.split-grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:44px;
  align-items:start;
}
.feature-list p{font-size:1.05rem}
.check-list,
.list{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}
.check-list li,
.list li{
  position:relative;
  padding-left:26px;
  color:var(--muted);
}
.check-list li::before,
.list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:9px;
  height:9px;
  border-radius:2px;
  background:linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow:0 0 16px rgba(0,180,255,.35);
}
.check-list--large{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 24px;
  padding:28px;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(255,255,255,.035);
}

.process-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:none;
}
.process-step span{
  display:inline-flex;
  margin-bottom:20px;
  color:var(--accent-2);
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-weight:800;
}
.price-card__value{
  margin-bottom:14px;
  color:var(--accent-2);
  font-size:1.5rem;
  font-weight:900;
}
.price-note{
  display:grid;
  gap:8px;
  margin-top:18px;
  padding:18px 20px;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(255,255,255,.035);
}
.price-note p{
  margin:0;
  color:#b8c5d2;
}
.price-note strong{color:var(--text)}

.faq-list{
  display:grid;
  gap:12px;
  max-width:860px;
}
.faq-item{
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(16,24,36,.86);
}
.faq-item h3{margin:0}
.faq-q{
  width:100%;
  min-height:54px;
  padding:16px 52px 16px 18px;
  border:0;
  border-radius:8px;
  color:var(--text);
  background:transparent;
  font:inherit;
  font-weight:800;
  text-align:left;
  cursor:pointer;
  position:relative;
}
.faq-q::after{
  content:"+";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  color:var(--accent-2);
  font-size:1.35rem;
}
.faq-q[aria-expanded="true"]::after{content:"-"}
.faq-panel{
  padding:0 18px 18px;
}
.faq-panel p{margin:0}

.contact-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:34px;
}
.contact-panel h2{margin-bottom:10px}
.contact-panel p:last-child{margin-bottom:0}

.request-hero .btn{margin-top:8px}

.site-footer{
  border-top:1px solid rgba(255,255,255,.08);
  background:#070a0f;
}
.terminal-footer__wrap{
  display:grid;
  gap:10px;
  padding-block:30px;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-size:.9rem;
}
.terminal-footer p{margin:0;color:var(--muted)}
.terminal-footer nav{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.page main.section,
.page main .section:first-child{
  padding-top:96px;
}
.page .wrap.narrow{
  padding-block:24px;
}
.page .wrap.narrow h1{font-size:2.55rem}
.page .wrap.narrow h2{
  margin-top:34px;
  font-size:1.55rem;
}
.page .wrap.narrow h3{
  margin-top:24px;
  font-size:1.15rem;
}
.page .wrap.narrow p,
.page .wrap.narrow li{color:#b8c5d2}
.hint{
  margin-top:32px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(255,255,255,.035);
}

.reveal{
  opacity:1;
  transform:none;
}
.js .reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .42s ease, transform .42s ease;
}
.js .reveal.in{
  opacity:1;
  transform:translateY(0);
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
}

@media (max-width:1040px){
  .cards-grid--four,
  .process-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero__grid,
  .request-grid{grid-template-columns:1fr}
}

@media (max-width:820px){
  :root{--topbar-h:64px}
  body.nav-open{overflow:hidden}
  h1{font-size:2.35rem}
  h2{font-size:1.75rem}
  .section{padding-block:68px}
  .section:first-child{padding-top:92px}
  .brand-name{font-size:.98rem}
  .nav-toggle{display:block}
  .nav{
    position:absolute;
    left:16px;
    right:16px;
    top:calc(100% + 10px);
    display:none;
    padding:12px;
    border:1px solid var(--border);
    border-radius:8px;
    background:#0b111a;
    box-shadow:var(--shadow);
  }
  .nav.open{display:block}
  .nav-list{
    display:grid;
    align-items:stretch;
  }
  .nav-link,
  .nav-button{
    width:100%;
    justify-content:flex-start;
  }
  .nav-button{margin-left:0}
  .split-grid{grid-template-columns:1fr}
  .contact-panel{
    display:grid;
    align-items:start;
  }
  .contact-panel .btn{width:100%}
}

@media (max-width:640px){
  .wrap{padding-inline:18px}
  h1{font-size:2rem}
  h2{font-size:1.55rem}
  .hero__lead{font-size:1.03rem}
  .hero__actions,
  .hero__actions .btn,
  .request-hero .btn{width:100%}
  .hero__actions{display:grid}
  .cards-grid--four,
  .cards-grid--three,
  .process-list,
  .check-list--large{grid-template-columns:1fr}
  .card,
  .price-card,
  .process-step,
  .contact-panel{padding:20px}
  .terminal-card__body{padding:18px;font-size:.86rem}
  .page .wrap.narrow h1{font-size:2rem}
}
