:root {
  --brand: #f57b3c;
  --brand-light: #ff9a68;
  --brand-dark: #d95e21;
  --ink: #f7f7f4;
  --muted: #9da4af;
  --bg: #07090d;
  --panel: #0e1219;
  --panel-2: #121821;
  --line: rgba(255,255,255,.09);
  --success: #54d99b;
  --danger: #ff6b6b;
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: "DM Sans", sans-serif;
  overflow-x: hidden;
}
h1,h2,h3,h4,h5,h6,.navbar-brand { font-family: "Space Grotesk", sans-serif; }
a { color: inherit; text-decoration: none; }
p { color: var(--muted); line-height: 1.75; }
.site-noise {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
}
.site-navbar {
  background: rgba(7,9,13,.72);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.06);
  transition: .25s ease;
}
.navbar-toggler { border-color: rgba(255,255,255,.15); }
.navbar-toggler:focus { box-shadow: none; }
.brand-logo { width: 142px; height: auto; display:block; }
.nav-link { color: #aeb4bd !important; font-weight: 600; font-size: .94rem; padding: .65rem .8rem !important; }
.nav-link:hover,.nav-link.active { color: #fff !important; }
.nav-link.active { position: relative; }
.nav-link.active::after { content:""; position:absolute; left:.8rem; right:.8rem; bottom:.25rem; height:2px; background:var(--brand); box-shadow:0 0 12px rgba(245,123,60,.65); }
.btn-brand {
  background: var(--brand);
  border: 1px solid var(--brand);
  color: #100b08;
  font-weight: 800;
  border-radius: 10px;
  padding: .78rem 1.15rem;
  box-shadow: 0 10px 35px rgba(245,123,60,.16);
}
.btn-brand:hover { background: #ff9050; border-color:#ff9050; color:#100b08; transform: translateY(-1px); }
.btn-outline-brand {
  border:1px solid rgba(245,123,60,.6);
  color:#fff;
  border-radius:10px;
  padding:.78rem 1.15rem;
  font-weight:700;
}
.btn-outline-brand:hover { background:rgba(245,123,60,.1); border-color:var(--brand); color:#fff; }

.hero {
  min-height: 820px;
  padding: 150px 0 90px;
  position: relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 25%, rgba(245,123,60,.18), transparent 28%),
    radial-gradient(circle at 20% 80%, rgba(80,105,255,.09), transparent 25%),
    linear-gradient(180deg,#080a0f 0%,#07090d 100%);
}
.hero::before {
  content:"";
  position:absolute;
  width:680px; height:680px;
  right:-220px; top:80px;
  border:1px solid rgba(245,123,60,.18);
  border-radius:50%;
  box-shadow: 0 0 0 70px rgba(245,123,60,.025), 0 0 0 140px rgba(245,123,60,.018);
}
.hero-grid {
  position:absolute; inset:0;
  opacity:.25;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image: linear-gradient(to bottom, black, transparent 85%);
}
.eyebrow {
  display:inline-flex; align-items:center; gap:.55rem;
  color:var(--brand-light);
  font-size:.78rem; font-weight:800; letter-spacing:.16em;
  text-transform:uppercase;
  border:1px solid rgba(245,123,60,.22);
  background:rgba(245,123,60,.06);
  border-radius:100px; padding:.48rem .75rem;
}
.eyebrow::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--brand); box-shadow:0 0 14px var(--brand); }
.hero h1 { font-size:clamp(3rem,6.4vw,6.6rem); line-height:.95; letter-spacing:-.065em; max-width:850px; margin:1.35rem 0 1.5rem; }
.gradient-text { color:var(--brand); }
.hero-lead { max-width:650px; font-size:1.12rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.hero-meta { display:flex; flex-wrap:wrap; gap:1.4rem; margin-top:2.5rem; }
.meta-item strong { display:block; font-family:"Space Grotesk"; font-size:1.5rem; color:#fff; }
.meta-item span { color:#737b87; font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; }

.hero-terminal {
  margin-top:4rem;
  width:min(760px,100%);
  background:rgba(12,16,23,.9);
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  box-shadow:0 35px 90px rgba(0,0,0,.38), 0 0 80px rgba(245,123,60,.07);
  overflow:hidden;
}
.terminal-bar { padding:.8rem 1rem; border-bottom:1px solid var(--line); display:flex; gap:.4rem; }
.dot { width:8px; height:8px; border-radius:50%; background:#555; }
.terminal-body { padding:1.2rem 1.3rem; font:500 .82rem/1.9 "SFMono-Regular",Consolas,monospace; color:#8e98a5; }
.code-brand { color:var(--brand-light); }
.code-green { color:#66e3a5; }
.code-white { color:#e9edf2; }

.section { padding:105px 0; }
.section-sm { padding:75px 0; }
.section-dark { background:#0a0d12; }
.section-head { max-width:720px; margin-bottom:3.3rem; }
.section-kicker { color:var(--brand); text-transform:uppercase; letter-spacing:.16em; font-size:.76rem; font-weight:800; }
.section-title { font-size:clamp(2.25rem,4.5vw,4.1rem); letter-spacing:-.045em; line-height:1.03; margin-top:.7rem; }
.section-copy { font-size:1.05rem; }

.service-card {
  height:100%; padding:1.7rem; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  border:1px solid var(--line); border-radius:18px; transition:.3s ease; position:relative; overflow:hidden;
}
.service-card::after { content:""; position:absolute; width:130px;height:130px; right:-55px; top:-55px; border-radius:50%; background:rgba(245,123,60,.08); }
.service-card:hover { transform:translateY(-6px); border-color:rgba(245,123,60,.35); box-shadow:0 25px 55px rgba(0,0,0,.22); }
.service-icon { width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:rgba(245,123,60,.1);color:var(--brand);font-size:1.25rem;margin-bottom:1.4rem; }
.service-card h3 { font-size:1.35rem; }
.service-card p { font-size:.94rem; }
.service-link { color:#fff; font-weight:700; font-size:.88rem; }
.service-link i { color:var(--brand); transition:.2s; }
.service-link:hover i { transform:translateX(4px); }

.stats-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#090c11; }
.stat { padding:2rem 1rem; border-right:1px solid var(--line); }
.stat:last-child { border-right:0; }
.stat strong { font:700 clamp(2rem,4vw,3rem)/1 "Space Grotesk"; color:#fff; }
.stat span { display:block; margin-top:.45rem; color:#747c88; text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; }

.process-card { position:relative; padding:1.6rem 0; border-top:1px solid var(--line); }
.process-num { color:var(--brand); font:700 .8rem "Space Grotesk"; letter-spacing:.1em; }
.process-card h3 { margin:.5rem 0 .55rem; font-size:1.25rem; }

.cta-band {
  padding:70px 0;
  background:linear-gradient(120deg, rgba(245,123,60,.16), rgba(245,123,60,.035) 45%, rgba(255,255,255,.025));
  border-top:1px solid rgba(245,123,60,.18);
  border-bottom:1px solid rgba(245,123,60,.18);
}
.cta-band h2 { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.045em; }

.page-hero { padding:160px 0 80px; background:radial-gradient(circle at 75% 35%,rgba(245,123,60,.15),transparent 28%),#080a0f; }
.page-hero h1 { font-size:clamp(3rem,6vw,5.7rem); letter-spacing:-.06em; line-height:.96; }
.breadcrumbs { color:#6f7783; font-size:.84rem; }
.breadcrumbs a:hover { color:#fff; }

.detail-card { background:#0d1118; border:1px solid var(--line); border-radius:20px; padding:2rem; height:100%; }
.detail-card .big-icon { font-size:2rem; color:var(--brand); }
.detail-card ul { list-style:none; padding:0; margin:1.2rem 0 0; }
.detail-card li { color:#a6adb7; padding:.55rem 0; border-bottom:1px solid rgba(255,255,255,.06); }
.detail-card li:last-child { border-bottom:0; }
.detail-card li::before { content:"✓"; color:var(--brand); margin-right:.7rem; }

.timeline { border-left:1px solid rgba(245,123,60,.25); margin-left:12px; }
.timeline-item { position:relative; padding:0 0 2.5rem 2rem; }
.timeline-item::before { content:""; position:absolute; left:-6px; top:5px; width:11px;height:11px;border-radius:50%;background:var(--brand);box-shadow:0 0 20px rgba(245,123,60,.5); }
.timeline-year { color:var(--brand); font-weight:800; font-size:.8rem; letter-spacing:.13em; }

.contact-shell { background:#0d1118; border:1px solid var(--line); border-radius:24px; padding:2rem; }
.form-control,.form-select {
  background:#090c11 !important; color:#fff !important; border:1px solid rgba(255,255,255,.11) !important;
  padding:.85rem .95rem; border-radius:11px;
}
.form-control:focus,.form-select:focus { border-color:rgba(245,123,60,.7) !important; box-shadow:0 0 0 .22rem rgba(245,123,60,.1) !important; }
.form-label { color:#d8dce2; font-weight:700; font-size:.88rem; }
.invalid-feedback { color:#ff8a8a; }
.contact-info-card { border-top:1px solid var(--line); padding:1.25rem 0; }
.contact-info-card:first-child { border-top:0; padding-top:0; }
.contact-info-icon { color:var(--brand); font-size:1.2rem; margin-right:.7rem; }
.contact-info-card a:hover { color:var(--brand-light); }

.alert-success-custom { background:rgba(84,217,155,.08); border:1px solid rgba(84,217,155,.25); color:#9ff0c7; }
.alert-error-custom { background:rgba(255,107,107,.08); border:1px solid rgba(255,107,107,.25); color:#ffb0b0; }

.policy-content { max-width:900px; }
.policy-content h2 { margin-top:2.5rem; font-size:1.6rem; }
.policy-content h3 { margin-top:1.8rem; font-size:1.15rem; }
.policy-content ul { color:var(--muted); line-height:1.9; }

.site-footer { background:#05070a; border-top:1px solid var(--line); }
.footer-brand img { width:142px; }
.footer-copy { font-size:.82rem; }
.footer-links { display:flex; gap:1rem; flex-wrap:wrap; }
.footer-links a { color:#8f97a3; font-size:.82rem; }
.footer-links a:hover { color:#fff; }

.whatsapp-float {
  position:fixed; right:22px; bottom:22px; width:58px;height:58px; display:grid;place-items:center;
  border-radius:50%; background:#25D366; color:#fff; font-size:1.7rem; z-index:1000;
  box-shadow:0 12px 30px rgba(0,0,0,.3),0 0 0 7px rgba(37,211,102,.08);
  transition:.25s ease;
}
.whatsapp-float:hover { color:#fff; transform:translateY(-4px) scale(1.03); }

.reveal { opacity:0; transform:translateY(18px); transition:.7s ease; }
.reveal.show { opacity:1; transform:none; }

@media (max-width: 991.98px) {
  .site-navbar .navbar-collapse { background:rgba(7,9,13,.98); margin:0 -12px; padding:1rem 12px 1.25rem; border-top:1px solid var(--line); }
  .nav-cta { display:inline-block; margin-top:.75rem; }
  .hero { min-height:auto; padding-top:145px; }
  .stat { border-right:0; border-bottom:1px solid var(--line); }
  .stat:last-child { border-bottom:0; }
}
@media (max-width: 575.98px) {
  .section { padding:75px 0; }
  .page-hero { padding:135px 0 65px; }
  .hero h1 { font-size:3.25rem; }
  .hero-actions .btn { width:100%; }
  .contact-shell { padding:1.2rem; }
  .whatsapp-float { right:15px; bottom:15px; width:53px;height:53px; }
}
