@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#070d14;--surface:#101923;--border:#25313d;--text:#edf5f8;--muted:#94a8b6;--lime:#a2ff65;--cyan:#45dae0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--text);font:15px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{position:sticky;top:0;z-index:5;background:#080f17eb;backdrop-filter:blur(15px);border-bottom:1px solid #20303c}.nav{height:80px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;font-family:'Space Grotesk';font-weight:800;font-size:19px;border:1px solid #96fc7d;border-radius:11px;color:var(--lime);background:#1b2d22}.brand-mark span{color:#fff}.brand strong{display:block;font:700 18px 'Space Grotesk';letter-spacing:-.7px}.brand strong span{color:var(--lime)}.brand small{display:block;color:#8fa3a9;font-size:9px;letter-spacing:2.8px;margin-top:3px}nav{display:flex;align-items:center;gap:29px;font-size:13px;font-weight:600}nav>a:hover{color:var(--lime)}nav .navcta{padding:12px 16px;border:1px solid var(--lime);border-radius:9px;color:var(--lime)}.navtoggle{display:none;background:none;border:0;color:#fff;font-size:29px}.hero{position:relative;overflow:hidden;padding:95px 0 95px}.hero-glow{pointer-events:none;position:absolute;width:760px;height:760px;right:-270px;top:-220px;background:radial-gradient(circle,#15494073,transparent 65%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:78px;align-items:center}.eyebrow,.section-label{font:700 11px 'Space Grotesk';color:var(--lime);letter-spacing:2.2px}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 14px #b3ff70;margin-right:10px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Space Grotesk';letter-spacing:-2.5px}h1{font-size:clamp(48px,5.8vw,80px);line-height:1.03;margin:25px 0}h1 em{color:var(--lime);font-style:normal}h2{font-size:clamp(34px,4vw,54px);line-height:1.12;margin:20px 0}h2 span{color:var(--lime)}.lead{font-size:17px;color:var(--muted);line-height:1.8;max-width:570px}.lead b{color:var(--text)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 49px}.btn{border-radius:10px;padding:17px 22px;font-weight:800;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;font:700 14px 'DM Sans';transition:transform .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--lime);color:#0b2014;border:1px solid var(--lime)}.btn-outline{border:1px solid #5e7278;color:#fff}.hero-metrics{display:flex;gap:21px}.hero-metrics>div{padding-right:22px;border-right:1px solid #30424d}.hero-metrics>div:last-child{border:0}.hero-metrics strong{display:block;font:700 15px 'Space Grotesk'}.hero-metrics span{display:block;color:var(--muted);font-size:12px;margin-top:7px}.hero-visual{position:relative}.visual-frame{border:1px solid #355b4f;padding:11px;background:#0e1a22;border-radius:16px;box-shadow:0 18px 90px #0009;transform:rotate(1.5deg)}.visual-frame img{width:100%;height:410px;object-fit:cover;display:block;border-radius:5px}.visual-top,.visual-btm{display:flex;justify-content:space-between;align-items:center;color:#829ea0;font:10px 'Space Grotesk';letter-spacing:1.3px;padding:9px 5px 13px}.visual-btm{padding:14px 5px 5px}.dots{color:var(--lime)}.visual-btm .pulse{width:6px;height:6px}.float-label{position:absolute;bottom:40px;left:-38px;background:var(--lime);color:#0c2015;padding:16px 21px;font:800 11px 'Space Grotesk';letter-spacing:1.2px;border-radius:8px;box-shadow:0 9px 30px #0007}.float-label b{margin-left:17px}.section{padding:100px 0;border-top:1px solid #182530}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px}.section-head p{color:var(--muted);font-size:16px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{display:flex;flex-direction:column;min-height:250px;padding:29px 27px;background:linear-gradient(130deg,#121f2b,#0b151e);border:1px solid var(--border);border-radius:15px;transition:.25s}.service-card:hover{border-color:var(--lime);transform:translateY(-4px)}.service-symbol{font-size:29px;margin-bottom:31px}.service-title{font:700 20px 'Space Grotesk';display:flex;justify-content:space-between;gap:8px}.service-title span{color:var(--lime)}.service-card p{color:var(--muted);line-height:1.65;margin:11px 0 19px}.service-tags{font:600 11px 'Space Grotesk';color:var(--lime);margin-top:auto}.gallery-section{background:#0a121c}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#101b25}.gallery-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-meta{padding:20px 22px 23px}.gallery-meta small{color:var(--lime);text-transform:uppercase;letter-spacing:1px;font-size:11px}.gallery-meta h3{font:700 21px 'Space Grotesk';margin:10px 0}.gallery-meta p{color:var(--muted);line-height:1.5}.gallery-action{font-size:13px;font-weight:700;color:var(--lime)}.repair-note{font-size:13px;margin:13px 0;color:#c4d3d9}.sample-badge,.sample-note{color:#93a7b2;font-size:12px}.sample-badge{border-top:1px solid #293744;padding-top:13px;margin-top:18px}.sample-note{margin-bottom:24px}.demo-title{font:700 21px 'Space Grotesk';margin:38px 0 20px}.demo-title span{font:400 12px 'DM Sans';color:var(--muted)}.process h2{max-width:650px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:43px}.steps>div{border-top:1px solid #486052;padding-top:20px}.steps b{color:var(--lime);font:700 36px 'Space Grotesk'}.steps h3{font:700 19px 'Space Grotesk';margin-top:22px}.steps p{color:var(--muted);line-height:1.7}.contact{background:radial-gradient(ellipse at 5% 50%,#173127,#09121b 55%)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact-lead{color:var(--muted);font-size:17px;line-height:1.8;max-width:470px}.contact-points{margin-top:35px;color:#d4e8dd;display:grid;gap:19px}.quote-form{border:1px solid #3d5c4d;border-radius:17px;background:#0f1b22;padding:33px;box-shadow:0 20px 60px #0005}.form-title{color:var(--lime);font:700 13px 'Space Grotesk';letter-spacing:1.2px;display:flex;justify-content:space-between;margin-bottom:25px}.quote-form label{font-size:13px;font-weight:700;display:block;margin:19px 0 9px}.quote-form input,.quote-form textarea,.quote-form select{width:100%;background:#0b141e;border:1px solid #324651;color:#edf5f8;border-radius:8px;padding:15px 14px;outline:none;font:14px 'DM Sans';resize:vertical}.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{border-color:var(--lime)}.quote-form option{background:#101923}.full{width:100%;margin-top:22px}.form-note{display:block;text-align:center;color:var(--muted);margin-top:13px;line-height:1.5}.form-error{color:#ffb5b5;margin-bottom:0}footer{background:#060c12;border-top:1px solid #22343c;padding:46px 0 18px}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-grid>p{color:var(--muted);font-size:12px;max-width:280px}.footer-grid>div:last-child{display:flex;gap:20px;font-size:12px}.adminlink{color:#71828a}.copyright{border-top:1px solid #1b2a34;padding-top:20px;color:#6f8590;font-size:11px;margin-top:42px}@media(max-width:950px){.hero-grid{gap:30px}.services-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:35px}.hero-metrics{flex-wrap:wrap}.visual-frame img{height:340px}}@media(max-width:700px){.wrap{width:min(100% - 32px,500px)}.nav{height:68px}.brand strong{font-size:16px}.navtoggle{display:block}nav{display:none;position:absolute;top:68px;left:0;right:0;background:#0b1620;padding:22px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--border)}nav.opened{display:flex}.hero{padding:64px 0 75px}.hero-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{margin:15px 16px 0}.float-label{left:-14px;font-size:9px}.visual-frame img{height:290px}.section{padding:72px 0}.services-grid,.gallery-grid,.steps{grid-template-columns:1fr}.service-card{min-height:220px}.steps{gap:15px}.steps>div{padding:20px 0 0}.quote-form{padding:23px}.footer-grid{flex-direction:column;align-items:flex-start}.hero-metrics{gap:12px}.hero-metrics>div{padding-right:12px}.hero-metrics span{font-size:11px}h1{letter-spacing:-2px}}

/* Comentarios y reseñas */
.reviews-section{background:#0a131d}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0 38px}.review-summary{display:flex;align-items:center;gap:18px;margin:12px 0 22px}.review-summary strong{color:#58e1ce;font-size:28px}.review-summary span,.review-empty{color:#afc2d0}.review-card{background:#111e2a;border:1px solid #293e4c;border-radius:14px;padding:25px;min-width:0}.review-stars{color:#ffca5c;font-size:21px;letter-spacing:2px}.review-card p{color:#d3e1ec;white-space:normal;overflow-wrap:anywhere;line-height:1.65}.review-card strong{display:block}.review-card small{display:block;color:#8eabba;margin-top:5px}.review-form-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:45px;align-items:start;margin-top:40px}.review-form{background:#101e29;border:1px solid #334957;border-radius:16px;padding:28px}.review-form label{display:block;font-weight:700;margin:12px 0 7px}.review-form input,.review-form textarea,.review-form select{width:100%;background:#09131c;color:#f0f6fa;padding:12px;border:1px solid #435864;border-radius:8px;font:inherit}.review-form button{margin-top:20px}.review-form small{display:block;margin-top:12px;color:#a7bdc9}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.review-admin-item{border-bottom:1px solid #374754;padding:15px 0;overflow-wrap:anywhere}.review-admin-item p{color:#d8e5ef}.admin-review-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.admin-review-actions .btn{padding:9px 12px;font-size:13px}.response-page{max-width:680px;margin:16vh auto;padding:30px;text-align:center}.response-page h1{font-size:38px}.response-page h1 span{color:#58e1ce}.response-page p{margin:25px 0}@media(max-width:800px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-form-wrap{grid-template-columns:1fr;gap:20px}}@media(max-width:550px){.reviews-grid{grid-template-columns:1fr}.review-form{padding:19px}}
