/* ================================================================
   INTERNET ES ABUNDANCIA — SHARED STYLES
   ================================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:#0B0E1C; --bg2:#0F1526; --bg3:#141D30; --bg3h:#192440;
  --fg:#F5F7FF; --fg2:#8B9BBC; --fg3:#4D5C7E;
  --gold:#E9A825; --gold2:#FFBE50; --blue:#2563EB; --teal:#06B6D4;
  --grn:#22C55E; --purp:#7C3AED; --red:#EF4444;
  --brd:rgba(255,255,255,0.07); --brdh:rgba(233,168,37,0.30);
  --nav:rgba(11,14,28,0.95); --gg:linear-gradient(135deg,#E9A825,#FFBE50);
  --shd:0 4px 28px rgba(0,0,0,0.45); --glow:0 0 56px rgba(233,168,37,0.12);
}
[data-theme="light"] {
  --bg:#F7F8FF; --bg2:#EEF1FF; --bg3:#FFFFFF; --bg3h:#F0F4FF;
  --fg:#0C1020; --fg2:#485378; --fg3:#8B94B8;
  --gold:#B8720B; --gold2:#D4940E; --blue:#1D4ED8; --teal:#0891B2;
  --grn:#16A34A; --purp:#6D28D9;
  --brd:rgba(0,0,0,0.08); --brdh:rgba(184,114,11,0.30);
  --nav:rgba(247,248,255,0.95); --gg:linear-gradient(135deg,#B8720B,#D4940E);
  --shd:0 4px 28px rgba(0,0,0,0.08); --glow:0 0 56px rgba(184,114,11,0.08);
}

html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg); color:var(--fg); line-height:1.7;
  transition:background .3s,color .3s; overflow-x:hidden;
}
h1,h2,h3,h4,h5 { font-family:'Outfit',sans-serif; line-height:1.15; letter-spacing:-.025em; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
ul { list-style:none; }

/* ── UTILITIES ── */
.eyebrow {
  font-family:'Space Mono',monospace; font-size:.66rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold); display:inline-flex;
  align-items:center; gap:10px; margin-bottom:14px;
}
.eyebrow::before { content:''; width:24px; height:1px; background:var(--gold); flex-shrink:0; }
.grad { background:var(--gg); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.st { scroll-margin-top:72px; }
.sec-in { max-width:1180px; margin:0 auto; padding:80px 24px; }
.h2 { font-size:clamp(1.8rem,3.6vw,2.65rem); font-weight:800; margin-bottom:14px; }
.lead { font-size:1.04rem; color:var(--fg2); line-height:1.82; max-width:580px; }

/* ── NAVIGATION ── */
nav.main-nav {
  position:fixed; inset:0 0 auto 0; z-index:900;
  background:var(--nav); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px);
  border-bottom:1px solid var(--brd); transition:background .3s,border-color .3s;
}
.nav-in {
  max-width:1180px; margin:0 auto; height:68px; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.logo { display:flex; align-items:center; gap:10px; flex-shrink:0; text-decoration:none; }
.logo-icon { width:40px; height:40px; flex-shrink:0; }
.logo-txt { display:flex; flex-direction:column; line-height:1.1; }
.logo-name {
  font-family:'Outfit',sans-serif; font-weight:800; font-size:.9rem; letter-spacing:-.03em;
  background:var(--gg); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.logo-tag { font-family:'Space Mono',monospace; font-size:.5rem; letter-spacing:.14em; text-transform:uppercase; color:var(--fg3); }

.nav-links { display:flex; align-items:center; gap:2px; list-style:none; }
.nav-links > li { position:relative; }
.nav-links a {
  display:flex; align-items:center; gap:4px; padding:7px 13px; border-radius:8px;
  font-size:.875rem; font-weight:500; color:var(--fg2); transition:all .2s;
}
.nav-links a:hover, .nav-links a.active, .nav-links li.active > a {
  color:var(--fg); background:rgba(233,168,37,.1);
}
.has-dd > a::after { content:'▾'; font-size:.68rem; opacity:.6; transition:transform .2s; }
.has-dd:hover > a::after, .has-dd.active > a::after { transform:rotate(180deg); }

.dd {
  position:absolute; top:calc(100% + 6px); left:50%;
  transform:translateX(-50%) translateY(-8px);
  min-width:220px; background:var(--bg3); border:1px solid var(--brd);
  border-radius:14px; padding:6px; box-shadow:var(--shd);
  opacity:0; visibility:hidden; transition:all .22s ease;
}
.has-dd:hover .dd { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.dd a {
  display:flex; align-items:center; gap:10px; padding:10px 14px;
  border-radius:8px; font-size:.875rem; color:var(--fg2);
}
.dd a:hover, .dd a.active { color:var(--gold); background:rgba(233,168,37,.08); }
.dd .di { font-size:1rem; width:22px; text-align:center; }

.nav-r { display:flex; align-items:center; gap:10px; }
.btn-th {
  width:38px; height:38px; border-radius:9px; border:1px solid var(--brd);
  background:var(--bg3); color:var(--fg2); cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-size:1rem; transition:all .2s;
}
.btn-th:hover { border-color:var(--gold); color:var(--gold); background:rgba(233,168,37,.1); }
.btn-nv {
  padding:8px 18px; border-radius:9px; background:var(--gg); color:#0B0E1C;
  font-family:'Outfit',sans-serif; font-weight:700; font-size:.85rem;
  border:none; cursor:pointer; transition:all .2s; text-decoration:none; white-space:nowrap;
}
.btn-nv:hover { transform:translateY(-1px); box-shadow:0 4px 14px rgba(233,168,37,.4); }
.ham { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; border:1px solid var(--brd); border-radius:9px; background:var(--bg3); }
.ham span { display:block; width:20px; height:2px; background:var(--fg2); border-radius:2px; transition:all .3s; }
.ham.o span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.ham.o span:nth-child(2) { opacity:0; }
.ham.o span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile menu */
.mm {
  display:none; position:fixed; top:68px; inset-inline:0;
  background:var(--nav); backdrop-filter:blur(22px);
  border-bottom:1px solid var(--brd); padding:12px 24px 24px;
  z-index:898; max-height:calc(100vh - 68px); overflow-y:auto;
}
.mm.o { display:block; }
.mm a { display:block; padding:12px 4px; border-bottom:1px solid var(--brd); color:var(--fg2); font-weight:500; font-size:.92rem; }
.mm a:hover { color:var(--gold); }
.mm .ms { padding-left:18px; font-size:.875rem; color:var(--fg3); }
.mm .ms::before { content:'↳ '; }
.mm-cta { margin-top:14px; display:block; text-align:center; padding:14px !important; border-radius:12px; background:var(--gg); color:#0B0E1C !important; font-weight:700 !important; border-bottom:none !important; }

/* ── BUTTONS ── */
.btn-p {
  display:inline-flex; align-items:center; gap:8px; padding:13px 24px;
  border-radius:11px; background:var(--gg); color:#0B0E1C;
  font-family:'Outfit',sans-serif; font-weight:700; font-size:.93rem;
  border:none; cursor:pointer; transition:all .25s; text-decoration:none;
}
.btn-p:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(233,168,37,.4); }
.btn-g {
  display:inline-flex; align-items:center; gap:8px; padding:13px 24px;
  border-radius:11px; background:transparent; color:var(--fg);
  font-family:'Outfit',sans-serif; font-weight:600; font-size:.93rem;
  border:1px solid var(--brd); cursor:pointer; transition:all .25s; text-decoration:none;
}
.btn-g:hover { border-color:var(--brdh); color:var(--gold); }

/* ── PAGE HERO (inner pages) ── */
.page-hero {
  padding-top:68px; position:relative; overflow:hidden;
}
.page-hero-bg {
  position:absolute; inset:0;
}
.page-hero-inner {
  position:relative; z-index:2; max-width:1180px; margin:0 auto;
  padding:64px 24px 72px;
}
.breadcrumb {
  display:flex; align-items:center; gap:8px; margin-bottom:24px;
  font-size:.8rem; color:rgba(255,255,255,.55);
}
.breadcrumb a { color:rgba(255,255,255,.7); transition:color .2s; }
.breadcrumb a:hover { color:#fff; }
.breadcrumb .sep { opacity:.4; }
.breadcrumb .cur { color:rgba(255,255,255,.9); font-weight:600; }

.page-hero h1 {
  font-size:clamp(2rem,4.5vw,3.2rem); font-weight:900; color:#fff;
  line-height:1.06; letter-spacing:-.035em; margin-bottom:16px;
}
.page-hero h1 em { font-style:normal; background:var(--gg); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.page-hero .ph-desc { font-size:1.08rem; color:rgba(255,255,255,.78); max-width:560px; line-height:1.8; margin-bottom:32px; }
.ph-ctas { display:flex; flex-wrap:wrap; gap:14px; }
.ph-icon { font-size:3.5rem; margin-bottom:20px; display:block; }

/* Hero gradient presets */
.ph-blue  { background:linear-gradient(140deg,#0F2673 0%,#1E4ED8 60%,#1A40B8 100%); }
.ph-purp  { background:linear-gradient(140deg,#2D1063 0%,#6D28D9 60%,#5B21B6 100%); }
.ph-teal  { background:linear-gradient(140deg,#0B3344 0%,#0891B2 60%,#0773A0 100%); }
.ph-dark  { background:linear-gradient(140deg,#0B0E1C 0%,#1A1F35 60%,#111827 100%); }

/* ── CONTENT LAYOUT ── */
.content-wrap { max-width:1180px; margin:0 auto; padding:72px 24px; display:grid; grid-template-columns:1fr 340px; gap:52px; align-items:start; }
.content-wrap.rev { grid-template-columns:340px 1fr; }
.content-wrap.rev .content-main { order:2; }
.content-wrap.rev .content-side { order:1; }

.content-main h2 { font-size:1.55rem; font-weight:700; margin-bottom:13px; }
.content-main h3 { font-size:1.25rem; font-weight:700; margin:36px 0 12px; }
.content-main p { color:var(--fg2); line-height:1.88; margin-bottom:13px; font-size:.935rem; }
.content-main strong { color:var(--fg); }

/* Feature grid */
.feat-g { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:28px; }
.feat-item {
  background:var(--bg3); border:1px solid var(--brd); border-radius:12px;
  padding:18px; transition:border-color .2s;
}
.feat-item:hover { border-color:var(--brdh); }
.feat-item .ico { font-size:1.3rem; margin-bottom:8px; }
.feat-item h4 { font-size:.875rem; font-weight:600; margin-bottom:5px; }
.feat-item p { font-size:.8rem; color:var(--fg3); line-height:1.55; margin:0; }

/* ── SIDEBAR CTA ── */
.content-side { position:sticky; top:80px; }
.cta-box {
  background:var(--bg3); border:1px solid var(--brd);
  border-radius:22px; padding:32px;
}
.cpill {
  display:inline-block; padding:4px 12px; border-radius:100px;
  background:rgba(233,168,37,.1); border:1px solid rgba(233,168,37,.2);
  font-size:.7rem; font-weight:600; color:var(--gold); letter-spacing:.05em; margin-bottom:16px;
}
.cta-box h3 { font-size:1.2rem; font-weight:700; margin-bottom:9px; }
.cta-box > p { color:var(--fg2); font-size:.875rem; line-height:1.75; margin-bottom:20px; }
.cta-list { margin-bottom:22px; }
.cta-list li { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--brd); font-size:.84rem; }
.cta-list li:last-child { border-bottom:none; }
.ch-ico { width:28px; height:28px; border-radius:7px; background:rgba(233,168,37,.1); display:flex; align-items:center; justify-content:center; font-size:.9rem; flex-shrink:0; }
.cta-list strong { font-weight:600; color:var(--fg); display:block; font-size:.84rem; }
.cta-list span { font-size:.76rem; color:var(--fg3); }
.btn-cm {
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:13px 20px; border-radius:12px; background:var(--gg);
  color:#0B0E1C; font-family:'Outfit',sans-serif; font-weight:700;
  font-size:.9rem; border:none; cursor:pointer; transition:all .25s;
  text-decoration:none; margin-bottom:10px;
}
.btn-cm:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(233,168,37,.3); }
.btn-cs {
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:12px 20px; border-radius:12px; background:transparent;
  color:var(--fg2); font-family:'Outfit',sans-serif; font-weight:600;
  font-size:.875rem; border:1px solid var(--brd); cursor:pointer;
  transition:all .2s; text-decoration:none;
}
.btn-cs:hover { border-color:var(--brdh); color:var(--gold); }

/* ── FAQ ── */
.faq-sec { background:var(--bg2); border-top:1px solid var(--brd); }
.faq-in { max-width:1180px; margin:0 auto; padding:72px 24px; }
.faq-g { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:40px; }
.fq { background:var(--bg3); border:1px solid var(--brd); border-radius:14px; overflow:hidden; transition:border-color .2s; }
.fq.o { border-color:var(--brdh); }
.fqq { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:17px 20px; font-weight:600; font-size:.9rem; cursor:pointer; transition:color .2s; user-select:none; }
.fqq:hover { color:var(--gold); }
.fa2 { width:24px; height:24px; border-radius:6px; border:1px solid var(--brd); display:flex; align-items:center; justify-content:center; font-size:.7rem; flex-shrink:0; transition:all .25s; }
.fq.o .fa2 { background:var(--gold); border-color:var(--gold); color:#0B0E1C; transform:rotate(180deg); }
.fqa { max-height:0; overflow:hidden; transition:max-height .35s ease,padding .2s; padding:0 20px; }
.fq.o .fqa { max-height:280px; padding:0 20px 18px; }
.fqa p { font-size:.875rem; color:var(--fg2); line-height:1.82; }

/* ── CTA BANNER ── */
.cta-banner {
  background:var(--bg3); border-top:1px solid var(--brd); border-bottom:1px solid var(--brd);
  padding:64px 24px; text-align:center;
}
.cta-banner h2 { font-size:clamp(1.5rem,3vw,2.2rem); font-weight:800; margin-bottom:12px; }
.cta-banner p { color:var(--fg2); font-size:1rem; margin-bottom:28px; }
.cta-banner .btn-row { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }

/* ── SERVICE CARDS (index) ── */
.srv-g { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:48px; }
.srv-c {
  background:var(--bg3); border:1px solid var(--brd); border-radius:20px;
  padding:30px; transition:all .3s; position:relative; overflow:hidden;
}
.srv-c::before { content:''; position:absolute; inset:0; opacity:0; transition:opacity .3s; pointer-events:none; }
.srv-c.cb::before { background:radial-gradient(ellipse at top left,rgba(37,99,235,.07),transparent 65%); }
.srv-c.cp::before { background:radial-gradient(ellipse at top left,rgba(124,58,237,.07),transparent 65%); }
.srv-c.ct::before { background:radial-gradient(ellipse at top left,rgba(6,182,212,.07),transparent 65%); }
.srv-c.cg::before { background:radial-gradient(ellipse at top left,rgba(233,168,37,.07),transparent 65%); }
.srv-c:hover { border-color:var(--brdh); transform:translateY(-3px); box-shadow:var(--glow); }
.srv-c:hover::before { opacity:1; }
.s-ico { width:50px; height:50px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:1.45rem; margin-bottom:18px; }
.ib { background:rgba(37,99,235,.12); }
.ip { background:rgba(124,58,237,.12); }
.it { background:rgba(6,182,212,.12); }
.ig { background:rgba(233,168,37,.12); }
.srv-c h3 { font-size:1.18rem; font-weight:700; margin-bottom:9px; }
.srv-c > p { font-size:.875rem; color:var(--fg2); line-height:1.7; margin-bottom:16px; }
.sf li { font-size:.83rem; color:var(--fg2); padding:4px 0; display:flex; align-items:center; gap:7px; }
.sf li::before { content:'✓'; color:var(--gold); font-weight:700; font-size:.72rem; flex-shrink:0; }
.sf { margin-bottom:20px; }
.sl { display:inline-flex; align-items:center; gap:6px; font-family:'Outfit',sans-serif; font-weight:600; font-size:.875rem; color:var(--gold); transition:gap .2s; }
.sl:hover { gap:10px; }

/* ── TRUST BAR ── */
.trust { background:var(--bg2); border-top:1px solid var(--brd); border-bottom:1px solid var(--brd); padding:24px; }
.trust-in { max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; }
.tb { display:flex; align-items:center; gap:7px; padding:8px 16px; background:var(--bg3); border:1px solid var(--brd); border-radius:10px; font-size:.8rem; font-weight:500; color:var(--fg2); }
.tb .ck { color:var(--grn); font-weight:700; }

/* ── CONTACT ── */
.ct-g { display:grid; grid-template-columns:1fr 1.1fr; gap:52px; margin-top:44px; }
.ct-l h3 { font-size:1.2rem; font-weight:700; margin-bottom:11px; }
.ct-l > p { font-size:.92rem; color:var(--fg2); line-height:1.82; margin-bottom:24px; }
.ci-ls { display:flex; flex-direction:column; gap:12px; }
.ci { display:flex; align-items:flex-start; gap:13px; padding:16px; background:var(--bg3); border:1px solid var(--brd); border-radius:13px; transition:border-color .2s; }
.ci:hover { border-color:var(--brdh); }
.ci-ic { width:37px; height:37px; border-radius:9px; background:rgba(233,168,37,.1); display:flex; align-items:center; justify-content:center; font-size:.95rem; flex-shrink:0; }
.ci-t { display:flex; flex-direction:column; gap:2px; }
.ci-l { font-size:.72rem; color:var(--fg3); font-weight:500; letter-spacing:.04em; }
.ci-v { font-size:.875rem; color:var(--fg); font-weight:600; }
.cf { background:var(--bg3); border:1px solid var(--brd); border-radius:22px; padding:34px; }
.cf h3 { font-size:1.2rem; font-weight:700; margin-bottom:6px; }
.cf-sub { font-size:.82rem; color:var(--fg3); margin-bottom:22px; }
.fr { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.fg { margin-bottom:13px; }
.fg label { display:block; font-size:.77rem; font-weight:600; color:var(--fg2); margin-bottom:5px; }
.fg input,.fg select,.fg textarea {
  width:100%; padding:11px 14px; background:var(--bg2); border:1px solid var(--brd);
  border-radius:9px; color:var(--fg); font-family:'DM Sans',sans-serif;
  font-size:.875rem; outline:none; transition:all .2s; -webkit-appearance:none;
}
.fg input::placeholder,.fg textarea::placeholder { color:var(--fg3); }
.fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(233,168,37,.1); }
.fg select option { background:var(--bg3); color:var(--fg); }
.fg textarea { resize:vertical; min-height:108px; }

/* ── COMPARISON TABLE ── */
.cmpt { width:100%; border-collapse:collapse; margin-top:26px; font-size:.845rem; }
.cmpt th { background:rgba(233,168,37,.07); padding:10px 14px; text-align:left; font-weight:600; border-bottom:1px solid var(--brd); color:var(--fg); }
.cmpt td { padding:9px 14px; color:var(--fg2); border-bottom:1px solid var(--brd); }
.cmpt tr:last-child td { border-bottom:none; }
.cy { color:var(--grn); font-weight:600; }
.cn { color:var(--fg3); }
.cm { color:#F59E0B; }

/* ── FOOTER ── */
footer { background:var(--bg); border-top:1px solid var(--brd); }
.ft-m { max-width:1180px; margin:0 auto; padding:56px 24px 40px; display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:36px; }
.ft-b p { font-size:.84rem; color:var(--fg3); line-height:1.82; max-width:265px; margin:16px 0 20px; }
.soc { display:flex; gap:8px; }
.sl2 { width:33px; height:33px; border-radius:8px; background:var(--bg3); border:1px solid var(--brd); display:flex; align-items:center; justify-content:center; font-size:.875rem; color:var(--fg3); transition:all .2s; }
.sl2:hover { border-color:var(--gold); color:var(--gold); }
.ft-c h5 { font-size:.73rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--fg); margin-bottom:13px; }
.ft-c ul { display:flex; flex-direction:column; gap:9px; }
.ft-c ul a { font-size:.84rem; color:var(--fg3); transition:color .2s; }
.ft-c ul a:hover { color:var(--gold); }
.ft-bot { border-top:1px solid var(--brd); }
.ft-bot-in { max-width:1180px; margin:0 auto; padding:17px 24px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.ft-bot-in p { font-size:.77rem; color:var(--fg3); }
.ft-bot-in a { color:var(--gold); font-weight:600; }
.ft-bot-in a:hover { text-decoration:underline; }
.hb { display:flex; align-items:center; gap:7px; font-size:.77rem; color:var(--fg3); }
.hb a { color:var(--teal); font-weight:600; }
.hb a:hover { text-decoration:underline; }

/* ── RESPONSIVE ── */
@media (max-width:960px) {
  .content-wrap { grid-template-columns:1fr; }
  .content-wrap.rev { grid-template-columns:1fr; }
  .content-wrap.rev .content-main,.content-wrap.rev .content-side { order:unset; }
  .content-side { position:static; }
  .feat-g { grid-template-columns:1fr; }
  .faq-g { grid-template-columns:1fr; }
  .ct-g { grid-template-columns:1fr; }
  .srv-g { grid-template-columns:1fr; }
  .ft-m { grid-template-columns:1fr 1fr; }
  .ft-b { grid-column:1/-1; }
}
@media (max-width:640px) {
  .nav-links,.btn-nv { display:none; }
  .ham { display:flex; }
  .sec-in,.faq-in { padding:56px 16px; }
  .content-wrap { padding:56px 16px; }
  .page-hero-inner { padding:48px 16px 56px; }
  .fr { grid-template-columns:1fr; }
  .cf { padding:24px 16px; }
  .cta-box { padding:24px 16px; }
  .ft-m { grid-template-columns:1fr; padding:36px 16px 28px; }
  .ft-b { grid-column:auto; }
  .ft-bot-in { flex-direction:column; text-align:center; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.001ms!important; transition-duration:.001ms!important; } }
