:root { --bg:#020617; --surface:#090d16; --card:#0f172a; --line:#1e293b; --white:#f8fafc; --muted:#94a3b8; --cyan:#0ea5e9; --green:#10b981; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); font-family:Inter,sans-serif; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.site-shell { color:var(--white); background:var(--bg); overflow:hidden; font-family:Inter,sans-serif; }
.topbar { height:80px; display:flex; align-items:center; justify-content:space-between; padding:0 5.5vw; border-bottom:1px solid rgba(148,163,184,.13); position:relative; z-index:5; background:rgba(2,6,23,.82); backdrop-filter:blur(18px); }
.brand { color:var(--white); text-decoration:none; display:flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-size:17px; letter-spacing:-.5px; }.brand strong { color:var(--cyan); }.brand small { display:block; color:var(--muted); font:9px Inter,sans-serif; letter-spacing:1.8px; margin-top:2px; }.brand-mark { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--cyan); color:var(--cyan); font:bold 11px 'Space Grotesk'; letter-spacing:-1px; }
.nav-links { display:flex; align-items:center; gap:31px; }.nav-links a { color:#cbd5e1; text-decoration:none; font-size:12px; transition:color .2s ease; }.nav-links a:hover { color:var(--cyan); }.nav-cta { color:var(--white)!important; border:1px solid #334155; padding:11px 15px; display:flex; gap:9px; align-items:center; }.nav-cta:hover { border-color:var(--cyan); }.menu-toggle { display:none; color:var(--white); background:none; border:0; cursor:pointer; padding:6px; }.menu-toggle .icon-close { display:none; }.menu-toggle.is-open .icon-open { display:none; }.menu-toggle.is-open .icon-close { display:inline; }
.hero { min-height:685px; padding:90px 8vw 100px; display:grid; grid-template-columns:1.05fr .95fr; gap:7vw; align-items:center; position:relative; background:radial-gradient(circle at 78% 35%,rgba(14,165,233,.12),transparent 31%),linear-gradient(120deg,#020617 55%,#061223); }.hero-grid { position:absolute; inset:0; opacity:.18; pointer-events:none; background-image:linear-gradient(rgba(148,163,184,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.1) 1px,transparent 1px); background-size:72px 72px; -webkit-mask-image:linear-gradient(to right,transparent,black 65%); mask-image:linear-gradient(to right,transparent,black 65%); }.hero-copy,.hero-visual { position:relative; z-index:1; }.eyebrow { color:var(--cyan); font:600 10px 'Space Grotesk'; letter-spacing:2.2px; display:flex; align-items:center; gap:9px; }.corporate-section .eyebrow { justify-content:center; }.pulse-dot { width:7px; height:7px; background:var(--green); border-radius:50%; box-shadow:0 0 0 5px rgba(16,185,129,.12); animation:pulse 2s ease infinite; }@keyframes pulse { 0%,100%{box-shadow:0 0 0 4px rgba(16,185,129,.12)} 50%{box-shadow:0 0 0 8px rgba(16,185,129,.05)} }.hero h1 { font:500 clamp(44px,5.4vw,78px)/.99 'Space Grotesk'; letter-spacing:-4px; margin:23px 0 28px; }.hero h1 em,.hero h1 span,.section-heading h2 span,.method-copy h2 span,.corporate-section h2 span,.contact-intro h2 span { color:var(--cyan); font-style:normal; }.hero-lead { color:var(--muted); line-height:1.75; max-width:480px; font-size:15px; }.hero-actions { display:flex; gap:12px; margin:33px 0 30px; flex-wrap:wrap; }.button { border:1px solid transparent; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; font:600 12px Inter; padding:14px 18px; transition:transform .2s ease,background-color .2s ease,border-color .2s ease; }.button:hover { transform:translateY(-2px); }.button-primary { background:var(--cyan); color:#00101d; }.button-primary:hover { background:#38bdf8; }.button-ghost { border-color:#334155; color:var(--white); background:transparent; font-family:inherit; }.button-ghost:hover { border-color:var(--cyan); }.trust-line { display:flex; gap:10px; align-items:center; color:#64748b; font-size:10px; }.trust-line svg { color:var(--green); }.trust-line i { height:13px; width:1px; background:#334155; }
.visual-frame { position:relative; aspect-ratio:1.05/1; border:1px solid #26354a; padding:12px; background:#0a1423; box-shadow:18px 18px 0 rgba(14,165,233,.06); }.visual-frame:before { content:''; position:absolute; inset:-1px; border:1px solid rgba(14,165,233,.45); transform:translate(12px,12px); pointer-events:none; }.visual-frame img { width:100%; height:100%; object-fit:cover; filter:grayscale(70%) contrast(1.14) brightness(.68); display:block; }.scan-line { position:absolute; left:12px; right:12px; top:48%; height:1px; background:var(--cyan); box-shadow:0 0 16px 2px var(--cyan); opacity:.75; animation:scan 5s ease-in-out infinite; }@keyframes scan { 0%,100%{top:18%} 50%{top:78%} }.terminal-card { position:absolute; width:65%; bottom:-31px; left:-32px; background:rgba(6,15,27,.94); border:1px solid #2a415a; box-shadow:0 16px 50px #0008; }.terminal-top { height:28px; border-bottom:1px solid #1e3348; display:flex; align-items:center; justify-content:space-between; padding:0 10px; font:9px 'JetBrains Mono',monospace; color:#7890a9; }.terminal-top i { display:inline-block; width:6px; height:6px; border-radius:50%; background:#e87979; margin-right:4px; }.terminal-top i:nth-child(2){background:#eab308}.terminal-top i:nth-child(3){background:#22c55e}.terminal-top .live { color:var(--green); }.terminal-body { padding:11px 14px; font:10px/1.85 monospace; color:#8499ad; }.terminal-body p { margin:0; }.terminal-body b { color:var(--white); }.cyan { color:var(--cyan); }.green { color:var(--green); }.hash { color:#b1c3d2; }.visual-note { position:absolute; font:9px monospace; color:#64748b; letter-spacing:1.5px; }.note-top { right:-10px; top:-20px; }.note-bottom { bottom:-32px; right:0; }
.stat-strip { min-height:110px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); padding:0 8vw; background:#050b15; }.stat-strip div { display:flex; flex-direction:column; justify-content:center; border-left:1px solid var(--line); padding-left:26px; }.stat-strip div:last-child { border-right:1px solid var(--line); }.stat-strip strong { font:500 28px 'Space Grotesk'; color:var(--white); }.stat-strip span { color:#64748b; font-size:10px; margin-top:5px; }
.section { padding:125px 8vw; }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:52px; }.section-heading h2,.method-copy h2,.corporate-section h2,.contact-intro h2 { font:500 clamp(32px,4vw,56px)/1.05 'Space Grotesk'; letter-spacing:-2.5px; margin:18px 0 0; }.section-heading > p { width:350px; margin:0; color:var(--muted); font-size:14px; line-height:1.8; }.services-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.service-card { min-height:360px; padding:26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background-color .25s ease,transform .25s ease; }.service-card:hover { background:#0b1728; transform:translateY(-5px); }.service-top { display:flex; justify-content:space-between; align-items:center; color:var(--cyan); }.service-number { color:#64748b; font:11px monospace; }.service-card h3 { font:500 21px/1.12 'Space Grotesk'; margin:58px 0 15px; }.service-card p { color:var(--muted); font-size:12px; line-height:1.7; min-height:82px; }.tag-row { display:flex; gap:6px; flex-wrap:wrap; margin:23px 0; }.tag-row span { border:1px solid #26364a; color:#8195a9; padding:5px 7px; font-size:9px; }.service-card a,.text-link { color:var(--cyan); display:flex; align-items:center; gap:8px; font-size:11px; font-weight:600; text-decoration:none; }
.method-section { display:grid; grid-template-columns:1fr 1fr; gap:9vw; padding:115px 12vw; background:#07101d; align-items:center; }.method-image { position:relative; }.method-image img { width:100%; aspect-ratio:1.1/1; object-fit:cover; filter:grayscale(85%) brightness(.64); border:1px solid #294058; display:block; }.image-label { position:absolute; left:-17px; bottom:32px; background:var(--cyan); color:#00101d; padding:10px 12px; font:600 9px monospace; letter-spacing:1px; }.method-copy > p { color:var(--muted); line-height:1.8; font-size:14px; max-width:480px; margin:26px 0 33px; }.method-list { border-top:1px solid var(--line); margin-bottom:30px; }.method-list > div { display:grid; grid-template-columns:38px 1fr; gap:18px; padding:18px 0; border-bottom:1px solid var(--line); }.method-list span { color:var(--cyan); font:11px monospace; }.method-list strong { font:500 14px 'Space Grotesk'; }.method-list p { color:#71849a; font-size:11px; margin:6px 0 0; }
.corporate-section { padding:120px 8vw; text-align:center; background:radial-gradient(circle at 50% 0%,#0d2236,transparent 45%); }.corporate-section h2 { margin-bottom:58px; }.audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; text-align:left; max-width:950px; margin:auto; }.audience-grid > div { border:1px solid var(--line); padding:29px; background:#080f1a; transition:border-color .25s ease; }.audience-grid > div:hover { border-color:#2a415a; }.audience-grid svg { color:var(--cyan); margin-bottom:40px; }.audience-grid strong { display:block; font:500 20px 'Space Grotesk'; }.audience-grid p { color:var(--muted); font-size:12px; line-height:1.7; }
.faq-section { padding:120px 12vw; }.faq-list { width:50%; margin-left:auto; border-top:1px solid var(--line); }.faq-item { border-bottom:1px solid var(--line); }.faq-item button { width:100%; display:flex; gap:18px; align-items:center; text-align:left; background:none; border:0; color:var(--white); padding:21px 0; cursor:pointer; font-family:inherit; }.faq-item button > span:first-child { color:var(--cyan); font:10px monospace; }.faq-item button strong { font:500 14px 'Space Grotesk'; flex:1; }.faq-icon { display:inline-flex; color:#64748b; }.faq-icon-close { display:none; }.faq-item.active .faq-icon-open { display:none; }.faq-item.active .faq-icon-close { display:inline-flex; }.faq-item p { display:none; color:var(--muted); font-size:12px; line-height:1.8; padding:0 35px 22px 47px; margin:0; }.faq-item.active p { display:block; animation:rise .35s ease both; }
.contact-section { padding:100px 12vw 120px; display:grid; grid-template-columns:.9fr 1.1fr; gap:10vw; background:#06101b; border-top:1px solid var(--line); }.contact-intro > p { color:var(--muted); font-size:14px; line-height:1.8; max-width:420px; margin:27px 0 45px; }.contact-details { display:flex; flex-direction:column; gap:20px; }.contact-details a { display:flex; gap:13px; align-items:center; color:var(--white); text-decoration:none; font-size:13px; }.contact-details svg { color:var(--cyan); }.contact-details small { display:block; color:#64748b; font-size:9px; margin-bottom:4px; }.inquiry-form { border:1px solid #273b51; padding:28px; background:#091522; }.form-head { display:flex; justify-content:space-between; color:var(--cyan); font:10px monospace; letter-spacing:1.7px; padding-bottom:22px; border-bottom:1px solid var(--line); margin-bottom:22px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }.inquiry-form label { display:block; color:#8ca0b4; font-size:10px; margin-bottom:17px; }.inquiry-form input,.inquiry-form select,.inquiry-form textarea { width:100%; margin-top:8px; background:#060e18; color:var(--white); border:1px solid #26384d; padding:12px; outline:none; font:12px Inter; border-radius:0; }.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus { border-color:var(--cyan); }.inquiry-form input.is-invalid,.inquiry-form textarea.is-invalid { border-color:#ef4444; }.inquiry-form textarea { resize:vertical; }.hp-field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }.form-submit { width:100%; margin-top:4px; }.form-submit:disabled { opacity:.6; cursor:wait; transform:none; }.privacy-note { display:flex; align-items:center; justify-content:center; gap:5px; color:#64748b; font-size:9px; margin-top:15px; }.privacy-note svg { color:var(--green); }.form-alert { padding:12px 14px; font-size:12px; margin-bottom:20px; border:1px solid; }.form-alert-ok { color:#6ee7b7; border-color:#065f46; background:rgba(16,185,129,.08); }.form-alert-error { color:#fca5a5; border-color:#7f1d1d; background:rgba(239,68,68,.08); }
.footer { padding:31px 8vw; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; color:#64748b; font-size:10px; }.footer p { margin:0; }.floating-wa { position:fixed; right:25px; bottom:24px; z-index:10; background:#16a34a; color:white; display:flex; align-items:center; gap:8px; text-decoration:none; padding:13px 16px; font-size:11px; box-shadow:0 10px 26px #0008; transition:transform .2s ease,background-color .2s ease; }.floating-wa:hover { transform:translateY(-4px); background:#22c55e; }
.toast { position:fixed; top:22px; right:22px; z-index:50; max-width:340px; padding:14px 18px; font-size:12px; line-height:1.5; border:1px solid; box-shadow:0 14px 40px #000a; animation:rise .3s ease both; }.toast[hidden] { display:none; }.toast strong { display:block; font:600 12px 'Space Grotesk'; margin-bottom:3px; }.toast-ok { background:#052e1f; border-color:#10b981; color:#d1fae5; }.toast-error { background:#3b0d0d; border-color:#ef4444; color:#fee2e2; }
.reveal { animation:rise .8s ease both; }.reveal-delay { animation-delay:.15s; } @keyframes rise { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
/* Tarjetas de servicio: enlaces */
.service-card h3 a { color:inherit; text-decoration:none; transition:color .2s ease; }.service-card h3 a:hover { color:var(--cyan); }.card-links { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }.card-links a:last-child { color:#8ca0b4; }.card-links a:last-child:hover { color:var(--cyan); }
/* Testimonios y clientes */
.testimonials-section { padding:120px 8vw; background:#050b15; border-top:1px solid var(--line); }.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.testimonial-card { position:relative; margin:0; border:1px solid var(--line); background:#080f1a; padding:34px 28px 26px; display:flex; flex-direction:column; transition:border-color .25s ease,transform .25s ease; }.testimonial-card:hover { border-color:#2a415a; transform:translateY(-4px); }.testimonial-quote { color:var(--cyan); opacity:.7; margin-bottom:18px; display:inline-flex; }.testimonial-card blockquote { margin:0 0 28px; color:#cbd5e1; font-size:14px; line-height:1.8; flex:1; }.testimonial-card figcaption { display:flex; align-items:center; gap:12px; border-top:1px solid var(--line); padding-top:20px; }.testimonial-avatar { width:38px; height:38px; display:grid; place-items:center; border:1px solid #26364a; color:var(--cyan); font:600 14px 'Space Grotesk'; flex-shrink:0; }.testimonial-card figcaption strong { display:block; font:500 13px 'Space Grotesk'; }.testimonial-card figcaption small { color:#64748b; font-size:10px; display:block; margin-top:3px; }.verified-badge { margin-left:auto; display:inline-flex; align-items:center; gap:5px; color:var(--green); font-size:9px; letter-spacing:1px; text-transform:uppercase; white-space:nowrap; }.testimonials-empty { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.testimonials-empty-copy { border:1px solid var(--line); background:#080f1a; padding:34px 30px; display:flex; flex-direction:column; gap:12px; }.testimonials-empty-copy strong { font:500 22px 'Space Grotesk'; letter-spacing:-.5px; }.testimonials-empty-copy p { color:var(--muted); font-size:14px; line-height:1.8; margin:0 0 8px; }.trust-points { display:flex; flex-direction:column; gap:14px; }.trust-points > div { display:flex; gap:16px; align-items:flex-start; border:1px solid var(--line); background:#080f1a; padding:20px 24px; flex:1; }.trust-points svg { color:var(--green); flex-shrink:0; margin-top:2px; }.trust-points strong { display:block; font:500 14px 'Space Grotesk'; }.trust-points small { color:#64748b; font-size:11px; line-height:1.6; display:block; margin-top:3px; }
.clients-strip { margin-top:60px; border-top:1px solid var(--line); padding-top:34px; display:flex; flex-direction:column; gap:22px; }.clients-label { color:#64748b; font:600 9px 'Space Grotesk'; letter-spacing:2px; }.clients-logos { display:flex; flex-wrap:wrap; gap:14px 40px; align-items:center; }.clients-logos img { height:34px; width:auto; filter:grayscale(100%) brightness(1.8) opacity(.6); transition:filter .25s ease; }.clients-logos img:hover { filter:none; }.client-name { color:#64748b; font:600 15px 'Space Grotesk'; letter-spacing:-.5px; border:1px dashed #26364a; padding:10px 18px; }
/* Página de servicio */
.breadcrumb { display:flex; align-items:center; gap:8px; color:#64748b; font-size:10px; margin-bottom:26px; }.breadcrumb a { color:#8ca0b4; text-decoration:none; }.breadcrumb a:hover { color:var(--cyan); }.breadcrumb span { color:var(--white); }
.service-hero { padding:80px 8vw 90px; display:grid; grid-template-columns:1.2fr .8fr; gap:6vw; align-items:start; position:relative; background:radial-gradient(circle at 78% 35%,rgba(14,165,233,.12),transparent 31%),linear-gradient(120deg,#020617 55%,#061223); }.service-hero-copy { position:relative; z-index:1; }.service-hero h1 { font:500 clamp(36px,4.6vw,66px)/1.02 'Space Grotesk'; letter-spacing:-3px; margin:22px 0 24px; }.service-hero .hero-lead { max-width:600px; }.service-hero .tag-row { margin:0; }.service-hero-side { position:relative; z-index:1; border:1px solid #26354a; background:#0a1423; padding:30px; box-shadow:18px 18px 0 rgba(14,165,233,.06); margin-top:60px; }.service-icon-box { width:84px; height:84px; display:grid; place-items:center; border:1px solid var(--cyan); color:var(--cyan); margin-bottom:28px; }.service-hero-side p { color:var(--muted); font-size:13px; line-height:1.8; margin:12px 0 26px; }.side-trust { display:flex; align-items:center; gap:9px; color:#8ca0b4; font-size:11px; padding:10px 0; border-top:1px solid var(--line); }.side-trust svg { color:var(--green); }
.cases-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.case-card { padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background-color .25s ease; }.case-card:hover { background:#0b1728; }.case-card h3 { font:500 18px/1.2 'Space Grotesk'; margin:34px 0 12px; }.case-card p { color:var(--muted); font-size:12px; line-height:1.7; margin:0; }
.deliverables-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; padding:110px 12vw; background:#07101d; align-items:start; }.deliverables-copy h2 { font:500 clamp(32px,4vw,56px)/1.05 'Space Grotesk'; letter-spacing:-2.5px; margin:18px 0 0; }.deliverables-copy h2 span { color:var(--cyan); }.deliverables-copy p { color:var(--muted); font-size:14px; line-height:1.8; margin:24px 0 30px; }.deliverables-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }.deliverables-list li { display:flex; gap:18px; align-items:flex-start; padding:20px 0; border-bottom:1px solid var(--line); color:#cbd5e1; font-size:14px; line-height:1.7; }.check-box { flex-shrink:0; width:26px; height:26px; display:grid; place-items:center; border:1px solid var(--green); color:var(--green); margin-top:2px; }
.method-strip { padding:90px 8vw; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#050b15; }.method-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:34px; border-left:1px solid var(--line); }.method-steps > div { padding:0 26px; border-right:1px solid var(--line); }.method-steps span { color:var(--cyan); font:11px monospace; }.method-steps strong { display:block; font:500 18px 'Space Grotesk'; margin:14px 0 10px; }.method-steps p { color:#71849a; font-size:12px; line-height:1.7; margin:0; }
.related-section { padding:90px 8vw; }.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:30px; }.related-card { border:1px solid var(--line); background:#080f1a; padding:26px; text-decoration:none; color:var(--white); display:flex; flex-direction:column; gap:14px; transition:border-color .25s ease,transform .25s ease; }.related-card:hover { border-color:var(--cyan); transform:translateY(-4px); }.related-top { display:flex; justify-content:space-between; align-items:center; color:var(--cyan); }.related-card strong { font:500 18px/1.2 'Space Grotesk'; flex:1; }.related-link { color:var(--cyan); display:flex; align-items:center; gap:6px; font-size:11px; font-weight:600; }
/* Logo */
.brand-logo { height:54px; width:auto; display:block; transition:opacity .2s ease; }.brand:hover .brand-logo { opacity:.85; }.footer .brand-logo { height:40px; }.footer p a { color:#8ca0b4; text-decoration:none; }.footer p a:hover { color:var(--cyan); }
/* Turnos */
.turno-box { border:1px solid #26384d; padding:18px 18px 12px; margin:0 0 20px; background:#070f1a; }.turno-box legend { color:var(--cyan); font:600 10px 'Space Grotesk'; letter-spacing:1.5px; padding:0 8px; display:flex; align-items:center; gap:7px; text-transform:uppercase; }.turno-box legend small { color:#64748b; font:9px Inter; letter-spacing:0; text-transform:none; }.turno-box .form-grid { margin-top:6px; }.turno-box label { margin-bottom:8px; }.turno-note { display:block; color:#64748b; font-size:9px; line-height:1.6; }.inquiry-form input[type=date] { color-scheme:dark; }
/* Blog */
.blog-hero { position:relative; padding:80px 8vw 60px; background:radial-gradient(circle at 78% 35%,rgba(14,165,233,.12),transparent 31%),linear-gradient(120deg,#020617 55%,#061223); }.blog-hero > * { position:relative; z-index:1; }.blog-hero h1,.post-header h1 { font:500 clamp(36px,4.6vw,66px)/1.02 'Space Grotesk'; letter-spacing:-3px; margin:22px 0 24px; }.blog-hero h1 span { color:var(--cyan); }.blog-hero .hero-lead { max-width:620px; }.blog-filters { display:flex; gap:8px; margin-top:34px; flex-wrap:wrap; }.blog-filters a { color:#8ca0b4; text-decoration:none; border:1px solid #26364a; padding:9px 14px; font-size:11px; transition:border-color .2s ease,color .2s ease; }.blog-filters a:hover,.blog-filters a.active { color:var(--white); border-color:var(--cyan); }
.blog-featured { padding:0 8vw 40px; }.featured-card { display:grid; grid-template-columns:1.1fr .9fr; border:1px solid var(--line); background:#080f1a; text-decoration:none; color:var(--white); transition:border-color .25s ease; }.featured-card:hover { border-color:#2a415a; }.featured-image { position:relative; min-height:320px; }.featured-image img { width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(60%) brightness(.7); }.featured-image .image-label { left:auto; right:0; bottom:auto; top:0; }.featured-copy { padding:44px 40px; display:flex; flex-direction:column; gap:16px; justify-content:center; }.featured-copy h2 { font:500 clamp(24px,2.4vw,36px)/1.12 'Space Grotesk'; letter-spacing:-1.5px; margin:0; }.featured-copy p { color:var(--muted); font-size:14px; line-height:1.8; margin:0; }
.post-meta { display:flex; gap:16px; flex-wrap:wrap; color:#64748b; font-size:10px; }.post-meta span { display:inline-flex; align-items:center; gap:5px; }
.blog-list { padding-top:40px; }.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.post-card { border:1px solid var(--line); background:#080f1a; text-decoration:none; color:var(--white); display:flex; flex-direction:column; gap:14px; padding:0 0 24px; transition:border-color .25s ease,transform .25s ease; }.post-card:hover { border-color:var(--cyan); transform:translateY(-4px); }.post-card > * { margin:0 22px; }.post-image { position:relative; margin:0!important; aspect-ratio:16/9; overflow:hidden; border-bottom:1px solid var(--line); }.post-image img { width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(60%) brightness(.7); transition:transform .4s ease; }.post-card:hover .post-image img { transform:scale(1.04); }.post-type { position:absolute; top:12px; left:12px; background:var(--cyan); color:#00101d; font:600 9px monospace; letter-spacing:1px; padding:6px 9px; text-transform:uppercase; }.post-card h3 { font:500 18px/1.25 'Space Grotesk'; letter-spacing:-.5px; flex:1; }.post-card p { color:var(--muted); font-size:12px; line-height:1.7; }.blog-all { margin-top:34px; }
/* Artículo */
.post-header { padding:70px 8vw 40px; max-width:960px; }.post-header .hero-lead { max-width:720px; font-size:16px; margin-bottom:24px; }.post-cover { margin:0 8vw; border:1px solid #26354a; aspect-ratio:21/9; overflow:hidden; }.post-cover img { width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(50%) brightness(.75); }.post-layout { display:grid; grid-template-columns:1fr 320px; gap:6vw; padding:60px 8vw 80px; align-items:start; }.post-body { max-width:720px; }.post-body p { color:#cbd5e1; font-size:16px; line-height:1.85; margin:0 0 22px; }.post-body h2 { font:500 clamp(22px,2.2vw,30px)/1.2 'Space Grotesk'; letter-spacing:-1px; margin:44px 0 16px; }.post-body ul { list-style:none; margin:0 0 26px; padding:0; }.post-body li { display:flex; gap:14px; align-items:flex-start; color:#cbd5e1; font-size:15px; line-height:1.75; padding:10px 0; border-bottom:1px solid var(--line); }.post-body li .check-box { width:22px; height:22px; margin-top:3px; }.post-note { display:flex; gap:14px; border:1px solid var(--cyan); background:rgba(14,165,233,.07); padding:18px 20px; margin:30px 0; }.post-note svg { color:var(--cyan); flex-shrink:0; margin-top:3px; }.post-note p { margin:0; font-size:14px; color:#e2e8f0; }.case-facts { display:grid; grid-template-columns:1fr; border:1px solid var(--line); background:#080f1a; margin:0 0 30px; padding:0; }.case-facts > div { display:grid; grid-template-columns:120px 1fr; gap:16px; padding:16px 20px; border-bottom:1px solid var(--line); }.case-facts > div:last-child { border-bottom:0; }.case-facts dt { color:var(--cyan); font:600 10px 'Space Grotesk'; letter-spacing:1.5px; text-transform:uppercase; padding-top:3px; }.case-facts dd { margin:0; color:#cbd5e1; font-size:14px; line-height:1.7; }
.post-aside { display:flex; flex-direction:column; gap:14px; position:sticky; top:24px; }.aside-card { border:1px solid var(--line); background:#080f1a; padding:26px; display:flex; flex-direction:column; gap:12px; }.aside-icon { color:var(--cyan); }.aside-card strong { font:500 18px/1.2 'Space Grotesk'; }.aside-card p { color:var(--muted); font-size:12px; line-height:1.7; margin:0; }.aside-cta { border-color:#273b51; background:#091522; }.aside-cta .button { width:100%; }
/* Panel */
.panel-body { background:var(--bg); }.panel-login { min-height:100vh; display:grid; place-items:center; padding:40px 6vw; background:radial-gradient(circle at 50% 30%,rgba(14,165,233,.1),transparent 40%); }.login-form { width:100%; max-width:420px; }.login-form .brand { justify-content:center; margin-bottom:26px; }.login-form .brand-logo { height:60px; }.panel-actions { display:flex; gap:10px; align-items:center; }.panel-actions .button { padding:10px 14px; font-size:11px; }.panel-main { padding:60px 6vw 100px; }.panel-stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#050b15; margin-bottom:34px; }.panel-stats div { padding:24px 26px; border-left:1px solid var(--line); display:flex; flex-direction:column; }.panel-stats div:last-child { border-right:1px solid var(--line); }.panel-stats strong { font:500 26px 'Space Grotesk'; line-height:1.2; }.panel-stats span { color:#64748b; font-size:10px; margin-top:6px; }
.panel-filters { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:22px; }.panel-filters label { flex:1; min-width:240px; display:flex; align-items:center; gap:8px; background:#060e18; border:1px solid #26384d; padding:0 12px; color:#64748b; }.panel-filters label:focus-within { border-color:var(--cyan); }.panel-filters input:not([type=checkbox]) { flex:1; background:none; border:0; color:var(--white); padding:12px 0; font:12px Inter; outline:none; }.panel-filters select { background:#060e18; color:var(--white); border:1px solid #26384d; padding:12px; font:12px Inter; min-width:220px; }.panel-filters .check-label { flex:0; min-width:auto; white-space:nowrap; border:0; background:none; padding:0; font-size:11px; color:#8ca0b4; cursor:pointer; }.panel-filters .button { padding:12px 18px; }.panel-count { color:#64748b; font-size:11px; margin:0 0 12px; }
.consultas-list { border-top:1px solid var(--line); }.consulta-item { border-bottom:1px solid var(--line); }.consulta-item summary { list-style:none; display:grid; grid-template-columns:120px 1.2fr 1fr auto 24px; gap:18px; align-items:center; padding:18px 14px; cursor:pointer; transition:background-color .2s ease; }.consulta-item summary::-webkit-details-marker { display:none; }.consulta-item summary:hover,.consulta-item[open] summary { background:#0b1728; }.consulta-fecha { color:#64748b; font:11px monospace; }.consulta-nombre strong { display:block; font:500 14px 'Space Grotesk'; }.consulta-nombre small { color:#64748b; font-size:10px; }.consulta-servicio { color:#8ca0b4; font-size:11px; }.consulta-flags { display:flex; gap:6px; }.flag { font-size:9px; letter-spacing:.5px; padding:4px 8px; border:1px solid; display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }.flag-ok { color:#6ee7b7; border-color:#065f46; }.flag-warn { color:#fcd34d; border-color:#78350f; }.flag-turno { color:var(--cyan); border-color:#0c4a6e; }.consulta-chevron { color:#64748b; transition:transform .2s ease; }.consulta-item[open] .consulta-chevron { transform:rotate(180deg); }.consulta-detalle { padding:6px 14px 26px; background:#070f1a; }.consulta-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px 24px; margin-bottom:20px; }.consulta-grid div,.consulta-detalle > small { font-size:13px; color:var(--white); }.consulta-grid small,.consulta-detalle > small { display:block; color:#64748b; font-size:9px; letter-spacing:1px; text-transform:uppercase; margin-bottom:4px; }.consulta-grid a { color:var(--cyan); text-decoration:none; }.consulta-mensaje { color:#cbd5e1; font-size:13px; line-height:1.8; border-left:2px solid var(--cyan); padding:6px 16px; margin:0 0 22px; white-space:pre-wrap; }.consulta-acciones { display:flex; gap:10px; flex-wrap:wrap; }.consulta-acciones .button { padding:11px 15px; font-size:11px; }
.panel-empty { padding:70px 20px; text-align:center; color:#64748b; border:1px dashed var(--line); }.panel-empty svg { color:#334155; }.panel-empty p { font-size:13px; margin:14px 0 0; }.panel-tools { margin-top:50px; border:1px solid var(--line); padding:0 20px; }.panel-tools summary { cursor:pointer; padding:16px 0; color:#8ca0b4; font-size:12px; display:flex; align-items:center; gap:8px; list-style:none; }.panel-tools summary::-webkit-details-marker { display:none; }.hash-form { padding:0 0 20px; max-width:560px; }.hash-form label { display:block; color:#8ca0b4; font-size:10px; margin-bottom:12px; }.hash-form input { width:100%; margin-top:8px; background:#060e18; color:var(--white); border:1px solid #26384d; padding:12px; font:12px Inter; outline:none; }.hash-result { margin:16px 0 0; color:#cbd5e1; font-size:12px; line-height:1.8; }.hash-result code { display:inline-block; background:#060e18; border:1px solid #26384d; padding:6px 10px; font-size:11px; word-break:break-all; color:#6ee7b7; margin-top:6px; }
/* Gráficos del panel */
.charts-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:14px; margin-bottom:40px; }.chart-card { border:1px solid var(--line); background:#080f1a; padding:24px 26px 20px; }.chart-head { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:22px; }.chart-head span { color:#64748b; font-size:10px; display:flex; align-items:center; gap:6px; }.legend { display:inline-block; width:10px; height:10px; }.legend-total { background:#1e3a5f; }.legend-turno { background:var(--cyan); }.chart-empty { color:#64748b; font-size:12px; margin:0; }
.bar-chart { display:grid; grid-template-columns:repeat(12,1fr); gap:6px; height:190px; align-items:end; }.bar-col { display:flex; flex-direction:column; align-items:center; height:100%; justify-content:flex-end; gap:6px; }.bar-value { color:#8ca0b4; font:10px monospace; height:14px; }.bar-stack { position:relative; width:100%; max-width:34px; flex:1; display:flex; align-items:flex-end; border-bottom:1px solid var(--line); }.bar { position:absolute; bottom:0; left:0; right:0; transition:height .6s ease; min-height:0; }.bar-total { background:#1e3a5f; }.bar-turno { background:var(--cyan); }.bar-col:hover .bar-total { background:#264b7a; }.bar-label { color:#64748b; font-size:9px; letter-spacing:.5px; }
.hbar-chart { display:flex; flex-direction:column; gap:12px; }.hbar-row { display:grid; grid-template-columns:150px 1fr 64px; gap:12px; align-items:center; text-decoration:none; color:var(--white); }.hbar-label { font-size:11px; color:#cbd5e1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.hbar-track { height:12px; background:#0f1c2e; border:1px solid var(--line); display:block; }.hbar-fill { display:block; height:100%; background:var(--cyan); transition:width .6s ease; }.hbar-row:hover .hbar-fill { background:#38bdf8; }.hbar-value { font:11px monospace; color:var(--white); text-align:right; }.hbar-value small { color:#64748b; }
.panel-stats strong small { font-size:13px; color:#64748b; }
/* Valoraciones */
.valoraciones-section { margin-top:60px; }.valoraciones-section .section-heading { margin-bottom:30px; }.valoraciones-list { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }.valoracion-card { border:1px solid var(--line); background:#080f1a; padding:22px 24px; display:flex; flex-direction:column; gap:14px; }.valoracion-card.is-published { border-color:#065f46; }.valoracion-top { display:flex; justify-content:space-between; align-items:center; }.valoracion-stars,.testimonial-stars { color:#fbbf24; font-size:16px; letter-spacing:2px; }.valoracion-stars i,.testimonial-stars i { color:#334155; font-style:normal; }.testimonial-stars { display:block; margin:-8px 0 12px; font-size:13px; }.valoracion-card blockquote { margin:0; color:#cbd5e1; font-size:13px; line-height:1.75; flex:1; }.valoracion-card blockquote em { color:#64748b; }.valoracion-meta { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:14px; }.valoracion-meta strong { display:block; font:500 13px 'Space Grotesk'; }.valoracion-meta small { color:#64748b; font-size:10px; }.valoracion-meta small a { color:#8ca0b4; text-decoration:none; }.valoracion-flags { display:flex; gap:6px; flex-wrap:wrap; }.valoracion-form .button { padding:10px 14px; font-size:11px; }
.tools-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:0 0 20px; }.tool-card { border:1px solid var(--line); background:#060e18; padding:20px 22px; display:flex; flex-direction:column; gap:10px; align-items:flex-start; }.tool-card strong { font:500 15px 'Space Grotesk'; }.tool-card p { color:var(--muted); font-size:12px; line-height:1.7; margin:0; flex:1; }.tool-card .button { padding:10px 14px; font-size:11px; }.tool-row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }.tool-row input { background:#091522; color:var(--white); border:1px solid #26384d; padding:9px 12px; font:12px Inter; color-scheme:dark; }
.google-review { display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; border:1px solid #273b51; background:#091522; padding:22px 24px; margin:28px 0 8px; }.google-g { width:44px; height:44px; display:grid; place-items:center; background:#fff; color:#4285f4; font:700 24px 'Space Grotesk'; border-radius:50%; }.google-review strong { display:block; font:500 15px 'Space Grotesk'; }.google-review p { color:var(--muted); font-size:12px; line-height:1.6; margin:4px 0 0; }
/* Asistente (chat) */
.chat-launcher { position:fixed; right:25px; bottom:84px; z-index:10; background:var(--cyan); color:#00101d; border:0; cursor:pointer; display:flex; align-items:center; gap:8px; padding:13px 16px; font:600 11px Inter; box-shadow:0 10px 26px #0008; transition:transform .2s ease,background-color .2s ease; }.chat-launcher:hover { transform:translateY(-3px); background:#38bdf8; }.chat-launcher.is-open { background:#1e293b; color:var(--white); }.chat-launcher.has-hint:not(.is-open)::after { content:'¿Tenés una consulta? Te oriento en segundos'; position:absolute; right:calc(100% + 12px); top:50%; transform:translateY(-50%); background:#0f172a; color:var(--white); border:1px solid #273b51; padding:10px 12px; font:11px Inter; white-space:nowrap; animation:rise .4s ease both; pointer-events:none; }
.chat-panel { position:fixed; right:25px; bottom:140px; z-index:11; width:370px; max-width:calc(100vw - 32px); height:560px; max-height:calc(100vh - 170px); display:flex; flex-direction:column; background:#070f1a; border:1px solid #273b51; box-shadow:0 24px 60px #000b; animation:rise .3s ease both; }.chat-panel[hidden] { display:none; }.chat-head { display:flex; align-items:center; gap:12px; padding:14px 16px; border-bottom:1px solid var(--line); background:#091522; }.chat-avatar { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--cyan); color:var(--cyan); flex-shrink:0; }.chat-head strong { display:block; font:500 13px 'Space Grotesk'; }.chat-head small { color:#64748b; font-size:10px; display:flex; align-items:center; gap:6px; margin-top:2px; }.chat-dot { width:6px; height:6px; border-radius:50%; background:var(--green); display:inline-block; }.chat-close { margin-left:auto; background:none; border:0; color:#64748b; cursor:pointer; padding:6px; }.chat-close:hover { color:var(--white); }
.chat-messages { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:12px; scroll-behavior:smooth; }.chat-msg { display:flex; flex-direction:column; gap:8px; max-width:92%; animation:rise .25s ease both; }.chat-msg-user { align-self:flex-end; align-items:flex-end; }.chat-bubble { padding:11px 14px; font-size:12.5px; line-height:1.65; color:#e2e8f0; background:#0f1c2e; border:1px solid #1e293b; }.chat-msg-user .chat-bubble { background:var(--cyan); color:#00101d; border-color:var(--cyan); }.chat-bubble strong { color:var(--white); }.chat-msg-user .chat-bubble strong { color:#00101d; }.chat-chips { display:flex; flex-wrap:wrap; gap:6px; }.chat-chip { background:none; border:1px solid #2a415a; color:var(--cyan); font:600 11px Inter; padding:8px 11px; cursor:pointer; text-decoration:none; transition:border-color .2s ease,background-color .2s ease; }.chat-chip:hover { border-color:var(--cyan); background:rgba(14,165,233,.08); }.chat-chip:disabled { opacity:.45; cursor:default; }.chat-typing { display:flex; gap:4px; padding:14px; }.chat-typing i { width:6px; height:6px; border-radius:50%; background:#64748b; animation:blink 1.2s infinite; }.chat-typing i:nth-child(2) { animation-delay:.2s; }.chat-typing i:nth-child(3) { animation-delay:.4s; }@keyframes blink { 0%,80%,100%{opacity:.25} 40%{opacity:1} }
.chat-form { display:flex; border-top:1px solid var(--line); }.chat-form input { flex:1; background:#060e18; border:0; color:var(--white); padding:14px 16px; font:12.5px Inter; outline:none; }.chat-form button { background:var(--cyan); color:#00101d; border:0; width:48px; cursor:pointer; display:grid; place-items:center; }.chat-form button:hover { background:#38bdf8; }.chat-foot { display:block; color:#475569; font-size:9px; padding:8px 16px 10px; line-height:1.5; border-top:1px solid var(--line); }
/* Encuesta */
.survey-main { min-height:70vh; padding:70px 8vw 90px; display:grid; place-items:center; background:radial-gradient(circle at 50% 20%,rgba(14,165,233,.1),transparent 40%); }.survey-card { width:100%; max-width:640px; }.survey-card h1 { font:500 clamp(36px,4.6vw,58px)/1.02 'Space Grotesk'; letter-spacing:-2.5px; margin:22px 0 20px; }.survey-card h1 span { color:var(--cyan); }.survey-card .hero-lead strong { color:var(--white); }.survey-form { margin-top:34px; }.stars { border:0; padding:0; margin:0 0 6px; display:flex; flex-direction:row-reverse; justify-content:flex-start; gap:6px; }.stars input { position:absolute; opacity:0; width:0; height:0; }.stars label { font-size:38px; line-height:1; color:#334155; cursor:pointer; transition:color .15s ease,transform .15s ease; }.stars label:hover,.stars label:hover ~ label,.stars input:checked ~ label { color:#fbbf24; }.stars label:hover { transform:scale(1.1); }.stars input:focus-visible + label { outline:2px solid var(--cyan); outline-offset:3px; }.stars-hint { color:#64748b; font-size:10px; margin:0 0 20px; }.check-row { display:flex!important; gap:10px; align-items:flex-start; font-size:11px!important; color:#cbd5e1!important; cursor:pointer; }.check-row input { width:auto!important; margin:2px 0 0!important; accent-color:var(--cyan); }
@media(max-width:900px){.topbar{padding:0 5vw}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;align-items:stretch;padding:20px 5vw;background:#07101d;border-bottom:1px solid var(--line)}.nav-links.is-open{display:flex}.nav-links a{padding:10px}.hero{grid-template-columns:1fr;padding:70px 8vw 100px}.hero-visual{max-width:600px;width:90%;margin:auto}.services-grid{grid-template-columns:1fr 1fr}.method-section,.contact-section{grid-template-columns:1fr;padding:90px 8vw;gap:55px}.faq-list{width:100%}.stat-strip{padding:0 5vw}.section{padding:90px 8vw}.testimonials-grid{grid-template-columns:1fr}.testimonials-empty{grid-template-columns:1fr}.testimonials-section{padding:90px 8vw}.service-hero{grid-template-columns:1fr;padding:60px 8vw 80px}.service-hero-side{margin-top:0}.cases-grid{grid-template-columns:1fr 1fr}.deliverables-section{grid-template-columns:1fr;padding:90px 8vw;gap:40px}.method-steps{grid-template-columns:1fr 1fr;gap:30px 0}.related-grid{grid-template-columns:1fr}.posts-grid{grid-template-columns:1fr 1fr}.featured-card{grid-template-columns:1fr}.featured-image{min-height:220px}.post-layout{grid-template-columns:1fr;gap:40px}.post-aside{position:static}.panel-stats{grid-template-columns:1fr 1fr}.panel-stats div:nth-child(2){border-right:1px solid var(--line)}.consulta-item summary{grid-template-columns:1fr 1fr;gap:8px}.consulta-servicio,.consulta-chevron{display:none}.consulta-grid{grid-template-columns:1fr 1fr}.charts-grid{grid-template-columns:1fr}.valoraciones-list{grid-template-columns:1fr}.tools-grid{grid-template-columns:1fr}.google-review{grid-template-columns:1fr}}
@media(max-width:560px){.hero h1{letter-spacing:-2px}.hero{padding:55px 6vw 90px}.hero-actions{flex-direction:column;align-items:stretch}.trust-line{flex-wrap:wrap}.stat-strip{grid-template-columns:1fr 1fr;padding:20px 6vw;gap:20px}.stat-strip div{border:0!important;padding:0}.section-heading{display:block}.section-heading>p{width:auto;margin-top:25px}.services-grid{grid-template-columns:1fr}.service-card{min-height:300px}.method-section,.contact-section{padding:75px 6vw}.audience-grid{grid-template-columns:1fr}.faq-section{padding:75px 6vw}.form-grid{grid-template-columns:1fr}.footer{padding:25px 6vw;display:block}.footer p{margin:20px 0}.floating-wa span{display:none}.floating-wa{padding:15px;border-radius:50%}.chat-launcher span{display:none}.chat-launcher{padding:15px;border-radius:50%;bottom:86px}.chat-launcher.has-hint:not(.is-open)::after{display:none}.chat-panel{right:16px;bottom:16px;height:calc(100vh - 32px);max-height:none;z-index:30}.terminal-card{left:-10px;width:80%}.note-top{right:0}.hero-lead{font-size:14px}.toast{left:16px;right:16px;max-width:none}.testimonials-section,.method-strip,.related-section{padding:75px 6vw}.verified-badge{display:none}.service-hero h1{letter-spacing:-1.5px}.service-hero{padding:45px 6vw 70px}.cases-grid{grid-template-columns:1fr}.method-steps{grid-template-columns:1fr}.deliverables-section{padding:75px 6vw}.posts-grid{grid-template-columns:1fr}.blog-hero,.post-header{padding:45px 6vw 40px}.blog-hero h1,.post-header h1{letter-spacing:-1.5px}.post-cover{margin:0 6vw;aspect-ratio:16/10}.post-layout{padding:40px 6vw 60px}.post-body p{font-size:15px}.case-facts>div{grid-template-columns:1fr;gap:4px}.brand-logo{height:40px}.panel-main{padding:40px 5vw 80px}.panel-stats{grid-template-columns:1fr 1fr}.consulta-item summary{grid-template-columns:1fr}.consulta-grid{grid-template-columns:1fr}.panel-actions .button span{display:none}.hbar-row{grid-template-columns:1fr 50px}.hbar-label{grid-column:1/-1}.bar-chart{gap:3px}.bar-label{font-size:8px}.survey-main{padding:45px 6vw 70px}.stars label{font-size:32px}}
