:root{--color-verde-oscuro: #2E6F2C;--color-verde-principal: #077917;--color-verde-lima: #94F03D;--color-chartreuse: #79FB02;--color-dark: #111814;--color-dark-2: #0F1A13;--color-verde-clarisimo: #EBF5E8;--gradiente-m: linear-gradient(135deg, var(--color-verde-oscuro), var(--color-verde-principal));--gradiente-a: linear-gradient(135deg, var(--color-verde-principal), var(--color-verde-lima));--color-fondo: var(--color-dark);--color-fondo-alt: #161E18;--color-texto: #FFFFFF;--color-texto-suave: #8A9E8D;--color-borde: rgba(46, 111, 44, .35);--color-borde-claro: rgba(255, 255, 255, .25);--color-error: #FF6B6B;--font-principal: "Poppins", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--fs-hero: clamp(2.25rem, 4.5vw + 1rem, 4rem);--fs-h2: clamp(1.75rem, 2.5vw + 1rem, 2.5rem);--fs-h3: 1.25rem;--fs-body: 1rem;--fs-small: .875rem;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--max-width: 1180px;--radius: 12px;--shadow-card: 0 8px 30px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-fondo);color-scheme:dark;scroll-padding-top:100px}body{margin:0;font-family:var(--font-principal);color:var(--color-texto);background:var(--color-fondo);line-height:1.55}h1,h2,h3{font-weight:700;margin:0 0 var(--space-sm)}p{margin:0 0 var(--space-sm);color:var(--color-texto-suave)}a{color:var(--color-chartreuse);text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-chartreuse);outline-offset:3px}.container{max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-md)}.section{padding-block:var(--space-2xl)}.section--alt{background:var(--color-fondo-alt)}.section-title{font-size:var(--fs-h2)}.section-lead{margin-bottom:var(--space-lg)}.section-marker{display:block;font-family:var(--font-mono);color:var(--color-chartreuse);font-size:var(--fs-small);letter-spacing:.03em;margin-bottom:var(--space-xs)}.site-header{position:fixed;top:var(--space-md);left:50%;transform:translate(-50%);z-index:20;width:calc(100% - 2 * var(--space-lg));max-width:var(--max-width);background:#0f1a13bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-borde);border-radius:9999px;box-shadow:var(--shadow-card)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-sm)}.brand{display:flex;align-items:center;gap:var(--space-xs)}.brand-logo{display:block}.brand-name{color:var(--color-texto)}.brand-mark{font-family:var(--font-principal);font-weight:800;letter-spacing:-.4px;color:var(--color-chartreuse)}.brand-mark--xl{letter-spacing:-3px}.site-nav{display:flex;align-items:center;gap:var(--space-md)}.site-nav a{color:var(--color-texto);font-size:var(--fs-small);font-weight:600;position:relative}.site-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--color-chartreuse);transform:scaleX(0);transition:transform .25s ease}.site-nav a:not(.nav-cta):hover:after,.site-nav a:not(.nav-cta):focus-visible:after{transform:scaleX(1)}.nav-cta{background:var(--color-verde-oscuro);color:#fff!important;padding:.5rem 1rem;border-radius:9999px;transition:background-color .2s ease,transform .2s ease}.nav-cta:hover{background:var(--color-verde-principal);transform:translateY(-1px)}.nav-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;color:var(--color-texto);cursor:pointer;flex-shrink:0}.nav-toggle-icon,.nav-toggle-icon:before,.nav-toggle-icon:after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s ease,opacity .25s ease}.nav-toggle-icon{position:relative}.nav-toggle-icon:before,.nav-toggle-icon:after{content:"";position:absolute;left:0}.nav-toggle-icon:before{top:-6px}.nav-toggle-icon:after{top:6px}.nav-toggle.is-open .nav-toggle-icon{background:transparent}.nav-toggle.is-open .nav-toggle-icon:before{top:0;transform:rotate(45deg)}.nav-toggle.is-open .nav-toggle-icon:after{top:0;transform:rotate(-45deg)}.hero{position:relative;padding-block:var(--space-2xl);padding-top:calc(var(--space-2xl) + var(--space-lg));background:linear-gradient(to right,#111814d1,#111814d1 1500px,#11181426 2000px),url(/hero-bg.webp) center / cover no-repeat,var(--color-fondo)}.hero-inner{max-width:760px}.eyebrow{font-family:var(--font-mono);color:var(--color-chartreuse);font-size:var(--fs-small);letter-spacing:.05em}.hero-title{font-size:var(--fs-hero);line-height:1.1}.text-accent{color:var(--color-chartreuse)}.hero-subtitle{font-size:1.125rem;max-width:60ch}.hero-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap}.hero-scroll-cue{display:none;position:absolute;left:50%;bottom:var(--space-lg);transform:translate(-50%)}.hero-scroll-line{display:block;width:1px;height:32px;background:linear-gradient(to bottom,var(--color-chartreuse),transparent);animation:scroll-cue 1.8s ease-in-out infinite}@keyframes scroll-cue{0%,to{opacity:.25;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1);transform-origin:top}}@media (min-height: 780px){.hero-scroll-cue{display:block}}.btn{display:inline-block;padding:.85rem 1.5rem;border-radius:9999px;font-weight:600;font-size:var(--fs-small);border:2px solid transparent;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--color-verde-oscuro);color:#fff!important}.btn-primary:hover{background:var(--color-verde-principal)}.btn-ghost{border-color:var(--color-borde-claro);color:var(--color-texto)!important}.btn-ghost:hover{border-color:var(--color-chartreuse)}.cards-grid{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:var(--color-fondo-alt);border:1px solid var(--color-borde);border-radius:var(--radius);padding:var(--space-md);box-shadow:var(--shadow-card);transition:transform .25s ease,border-color .25s ease}.card:hover{transform:translateY(-4px);border-color:#79fb0266}.card-icon{width:40px;height:40px;border-radius:10px;background:transparent;border:1px solid rgba(121,251,2,.4);display:flex;align-items:center;justify-content:center;color:var(--color-texto);margin-bottom:var(--space-sm);flex-shrink:0}.card-icon svg{width:20px;height:20px}.card h3{font-size:var(--fs-h3)}.card p{font-size:var(--fs-small);margin:0}.cards-grid--bento{grid-template-columns:repeat(3,1fr)}.cards-grid--bento .card--featured{grid-column:span 2;display:flex;flex-direction:column;background:linear-gradient(160deg,rgba(121,251,2,.05),var(--color-fondo-alt) 60%)}.cards-grid--bento .card--featured .card-icon{width:48px;height:48px;background:#79fb0214}.cards-grid--bento .card--featured .card-icon svg{width:24px;height:24px}.cards-grid--bento .card--featured h3{font-size:1.4rem}.cards-grid--bento .card--featured p{font-size:var(--fs-body);max-width:46ch}@media (max-width: 900px){.cards-grid--bento{grid-template-columns:repeat(2,1fr)}.cards-grid--bento .card--featured{grid-column:span 2}}@media (max-width: 560px){.cards-grid--bento{grid-template-columns:1fr}.cards-grid--bento .card--featured{grid-column:span 1}}.points-grid{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.point-number{font-family:var(--font-mono);color:var(--color-chartreuse);font-weight:700;font-size:1.5rem}.point h3{font-size:var(--fs-h3);margin-top:var(--space-xs)}.point p{font-size:var(--fs-small);margin:0}.points-grid--list{grid-template-columns:1fr;gap:0;max-width:860px}.points-grid--list .point{display:grid;grid-template-columns:3rem 1fr;column-gap:var(--space-md);align-items:baseline;padding-block:var(--space-md);border-top:1px solid var(--color-borde)}.points-grid--list .point:last-child{padding-bottom:0}.points-grid--list .point-number{font-size:1.25rem}.points-grid--list .point h3{margin-top:0}.points-grid--list .point h3,.points-grid--list .point p{grid-column:2}@media (max-width: 560px){.points-grid--list .point{grid-template-columns:1fr;row-gap:var(--space-xs)}.points-grid--list .point h3,.points-grid--list .point p{grid-column:1}}.points-grid--process{position:relative;grid-template-columns:1fr}@media (min-width: 640px){.points-grid--process{grid-template-columns:repeat(2,1fr)}}.points-grid--process .point-number{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--color-fondo);border:1px solid var(--color-borde);font-size:1.1rem;margin-bottom:var(--space-xs)}@media (min-width: 1000px){.points-grid--process{grid-template-columns:repeat(4,1fr)}.points-grid--process:before{content:"";position:absolute;top:1.375rem;left:calc(12.5% - 1.375rem);right:calc(12.5% - 1.375rem);height:1px;background:var(--color-borde)}}.case-study{display:flex;flex-direction:column;gap:var(--space-lg);border:1px solid var(--color-borde);border-radius:var(--radius);padding:var(--space-lg);background:var(--color-fondo-alt)}.case-content{max-width:68ch}.case-content>*:last-child{margin-bottom:0}.case-actions{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-sm)}.case-cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:var(--space-sm);font-weight:600;color:var(--color-chartreuse)}.case-actions .case-cta{margin-top:0}.case-cta span{transition:transform .2s ease}.case-cta:hover span,.case-cta:focus-visible span{transform:translate(3px)}.case-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);align-items:start}.shot-frame--main{grid-column:1 / -1}.shot-frame{min-width:0;background:var(--color-dark-2);border:1px solid var(--color-borde);border-radius:10px;overflow:hidden;margin:0;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.shot-frame:hover{transform:translateY(-4px);border-color:#79fb0273;box-shadow:var(--shadow-card)}.shot-titlebar{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--color-borde)}.shot-dot{width:8px;height:8px;border-radius:50%;background:#ffffff2e}.shot-frame img{display:block;width:100%;height:auto;max-width:100%}.case-gallery .shot-frame--sm img{aspect-ratio:8 / 5;object-fit:cover}@media (max-width: 860px){.case-gallery{grid-template-columns:1fr}}.case-header{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap}.case-header h3{font-size:var(--fs-h3);margin:0}.case-tag{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--color-chartreuse)}.case-stack{display:flex;gap:var(--space-sm);list-style:none;padding:0;margin:0;flex-wrap:wrap}.case-stack li{font-family:var(--font-mono);font-size:var(--fs-small);background:var(--color-fondo);border:1px solid var(--color-borde);padding:.25rem .6rem;border-radius:6px;color:var(--color-texto-suave)}.contacto-inner{display:grid;gap:var(--space-lg);grid-template-columns:1fr 1fr;align-items:start}.contacto-detail{font-family:var(--font-mono);font-size:var(--fs-small)}.contact-form{display:flex;flex-direction:column;gap:var(--space-sm)}.contact-panel{background:var(--color-fondo);border:1px solid var(--color-borde);border-radius:var(--radius);padding:var(--space-lg);box-shadow:var(--shadow-card)}.contact-form label{font-size:var(--fs-small);font-weight:600;display:flex;flex-direction:column;gap:.35rem}.contact-form input,.contact-form textarea{font-family:inherit;font-size:1rem;padding:.65rem .75rem;border:1px solid var(--color-borde);border-radius:8px;background:var(--color-fondo);color:var(--color-texto)}.contact-form input:focus-visible,.contact-form textarea:focus-visible{border-color:var(--color-chartreuse)}.contact-form input:disabled,.contact-form textarea:disabled,.contact-form button:disabled{opacity:.5;cursor:not-allowed}.contact-form button{align-self:flex-start;cursor:pointer}.form-status{font-size:var(--fs-small);min-height:1.2em}.form-status[data-state=ok]{color:var(--color-chartreuse)}.form-status[data-state=error]{color:var(--color-error)}@media (max-width: 720px){.contacto-inner{grid-template-columns:1fr}.header-inner{position:relative}.nav-toggle{display:flex}.site-nav{display:none;position:absolute;top:calc(100% + var(--space-sm));left:6px;right:6px;flex-direction:column;align-items:stretch;gap:0;background:var(--color-dark-2);border:1px solid var(--color-borde);border-radius:var(--radius);padding:var(--space-xs);box-shadow:var(--shadow-card)}.site-nav.is-open{display:flex}.site-nav a{min-height:44px;padding:.75rem var(--space-sm);display:flex;align-items:center;border-radius:8px}.nav-cta{justify-content:center;margin-top:var(--space-xs)}}.site-footer{padding-top:var(--space-2xl);border-top:1px solid var(--color-borde)}.site-footer p{font-size:var(--fs-small);margin:0}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:var(--space-lg);padding-bottom:var(--space-xl)}.footer-col-title{font-family:var(--font-mono);font-size:var(--fs-small);font-weight:600;color:var(--color-texto-suave);text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--space-sm)}.footer-col--brand .brand{margin-bottom:var(--space-sm)}.footer-tagline{font-size:var(--fs-small);max-width:32ch;margin-bottom:var(--space-md)}.footer-social{display:flex;gap:var(--space-sm)}.footer-icon-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-texto-suave)}.footer-icon-link svg{width:18px;height:18px}.footer-icon-link:hover{color:var(--color-chartreuse)}.footer-links{display:flex;flex-direction:column;gap:var(--space-xs);align-items:flex-start}.footer-links a{color:var(--color-texto-suave);font-size:var(--fs-small);font-weight:600}.footer-links a:hover{color:var(--color-chartreuse)}.footer-contact-list{list-style:none;margin:0 0 var(--space-md);padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);font-size:var(--fs-small);color:var(--color-texto-suave)}.footer-contact-list a{color:var(--color-texto-suave)}.footer-contact-list a:hover{color:var(--color-chartreuse)}.footer-availability{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--fs-small);color:var(--color-texto-suave);background:var(--color-fondo-alt);border:1px solid var(--color-borde);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);width:fit-content;margin-inline:auto}.footer-availability-dot{width:8px;height:8px;border-radius:50%;background:var(--color-chartreuse);flex-shrink:0}.footer-bottom{border-top:1px solid var(--color-borde);padding-block:var(--space-md);text-align:center}.footer-copy{color:var(--color-texto-suave)}@media (max-width: 800px){.footer-grid{grid-template-columns:1fr 1fr}.footer-col--brand{grid-column:1 / -1}}@media (max-width: 560px){.footer-grid{grid-template-columns:1fr}}.back-to-top{position:fixed;right:var(--space-md);bottom:var(--space-md);width:48px;height:48px;border-radius:50%;background:var(--color-verde-oscuro);color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);cursor:pointer;z-index:20;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,visibility .25s}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top svg{width:20px;height:20px}.back-to-top:hover{background:var(--color-verde-principal)}@media (prefers-reduced-motion: reduce){.back-to-top{transition:none}}.hero-inner>*{opacity:0;transform:translateY(20px);animation:hero-in .6s ease forwards}.hero-inner .eyebrow{animation-delay:0ms}.hero-inner .hero-title{animation-delay:.12s}.hero-inner .hero-subtitle{animation-delay:.24s}.hero-inner .hero-actions{animation-delay:.36s}@keyframes hero-in{to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.hero-inner>*{animation:none!important;opacity:1!important;transform:none!important}.reveal{transition:none!important;opacity:1!important;transform:none!important}.hero-scroll-line{animation:none!important;opacity:1;transform:none}.btn,.nav-cta,.card,.shot-frame,.case-cta span,.site-nav a:after{transition:none!important}.btn:hover,.nav-cta:hover,.card:hover,.shot-frame:hover{transform:none!important}}
