:root{--bg:#0b0f10;--panel:#111719;--panel-2:#151d1e;--ink:#f2f4ee;--muted:#aab5ae;--line:rgba(242,244,238,.13);--lime:#d7f75b;--cyan:#66e5d0;--orange:#ff9d5c;--mono:'Fira Code',monospace;--sans:'DM Sans',system-ui,sans-serif;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}.site-noise{position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");z-index:5}.section-wrap,.site-header{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-family:var(--mono);font-size:13px}.brand span{display:grid;place-items:center;width:30px;height:30px;color:var(--bg);background:var(--lime);font-size:11px;font-weight:700}.brand b{font-weight:600}.site-nav{display:flex;align-items:center;gap:34px;font-family:var(--mono);font-size:12px}.site-nav a,.footer-links a{color:var(--muted);text-decoration:none;transition:color .2s}.site-nav a:hover,.footer-links a:hover{color:var(--lime)}.nav-cta{border:1px solid var(--line);padding:10px 14px;color:var(--ink)!important}.nav-cta span{color:var(--lime)}.menu-toggle{display:none;background:none;border:0;color:var(--ink)}.hero{min-height:650px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:6%;padding:82px 0 100px}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--lime);margin:0 0 22px}.pulse{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;margin:0 9px 1px 0;box-shadow:0 0 0 5px rgba(215,247,91,.1)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.3rem,7vw,6.5rem);font-weight:600;margin-bottom:28px}h1 em,h2 em{color:var(--lime);font-style:normal}h2{font-size:clamp(2.6rem,5vw,4.8rem);font-weight:600;margin-bottom:28px}h3{font-size:1.45rem;font-weight:600}.hero-lead{max-width:580px;color:var(--muted);font-size:1.1rem;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 18px;text-decoration:none;font-family:var(--mono);font-size:12px;border:1px solid transparent;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--lime);color:var(--bg);font-weight:600}.button-primary span{font-size:16px}.button-ghost{border-color:var(--line);color:var(--ink)}.button-ghost:hover{border-color:var(--lime)}.text-link{font-family:var(--mono);font-size:12px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}.text-link span{color:var(--lime);margin-left:8px}.hero-visual{position:relative;min-height:470px;display:grid;place-items:center}.terminal-card{width:min(100%,500px);position:relative;z-index:2;background:#0d1314;border:1px solid rgba(215,247,91,.32);box-shadow:24px 24px 0 rgba(102,229,208,.07),0 30px 80px rgba(0,0,0,.35)}.terminal-top{height:48px;padding:0 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;font:11px var(--mono);color:var(--muted)}.terminal-top b{margin-left:auto;color:var(--cyan);font-weight:400;font-size:10px}.window-dots{display:flex;gap:5px}.terminal-body{padding:28px 30px 34px;font:13px/2 var(--mono);min-height:335px}.terminal-body p{margin:0}.muted{color:#67736e}.code-answer{color:var(--cyan);padding-left:20px}.status-row{color:var(--muted);padding-left:20px}.check{color:var(--lime);margin-right:8px}.cursor-line{margin-top:8px!important}.cursor{display:inline-block;width:8px;height:15px;background:var(--lime);vertical-align:-3px;animation:blink 1s steps(2) infinite}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-one{width:280px;height:280px;right:3%;top:13%;background:radial-gradient(circle at 35% 35%,rgba(215,247,91,.3),transparent 68%)}.orb-two{width:210px;height:210px;left:0;bottom:0;background:radial-gradient(circle,rgba(102,229,208,.18),transparent 68%)}.visual-tag{position:absolute;z-index:3;pointer-events:none;font:10px var(--mono);color:var(--muted);background:var(--panel);border:1px solid var(--line);padding:9px 12px}.visual-tag span{color:var(--lime);margin-right:8px}.tag-top{right:0;top:10%}.tag-bottom{left:0;bottom:12%;}.section-block{padding:120px 0}.section-heading{margin-bottom:55px}.section-heading h2{margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{position:relative;min-height:360px;padding:28px;background:var(--panel);border:1px solid var(--line);transition:transform .25s,border-color .25s}.service-card:hover{transform:translateY(-5px);border-color:rgba(215,247,91,.5)}.service-card-featured{background:linear-gradient(150deg,rgba(215,247,91,.1),var(--panel) 50%)}.card-number{font:11px var(--mono);color:var(--lime);margin-bottom:80px}.service-icon{font:34px var(--mono);color:var(--lime);margin-bottom:18px}.service-card p{color:var(--muted);font-size:14px;line-height:1.7}.split-heading{display:flex;align-items:end;justify-content:space-between;gap:40px}.heading-note{max-width:340px;color:var(--muted);font-size:14px;margin-bottom:6px}.project-type{font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--cyan);margin-bottom:7px}.about-section{padding-top:0}.about-card{display:grid;grid-template-columns:1fr 1fr;background:var(--panel-2);border:1px solid var(--line);padding:56px;gap:70px}.about-copy h2{font-size:clamp(2.5rem,4vw,4rem)}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:560px}.about-facts{display:grid;grid-template-columns:repeat(3,1fr);align-content:center;gap:20px}.about-facts div{border-left:1px solid var(--lime);padding-left:14px}.about-facts b{display:block;color:var(--lime);font:600 2.5rem var(--mono);letter-spacing:-.1em}.about-facts span{display:block;color:var(--muted);font-size:11px;line-height:1.4}.contact-section{padding:120px 0 150px;text-align:center;border-top:1px solid var(--line)}.contact-section h2{font-size:clamp(3.4rem,8vw,7rem);margin-bottom:22px}.contact-section>p:not(.eyebrow){color:var(--muted);max-width:520px;margin:0 auto 30px}.contact-actions{display:flex;justify-content:center;gap:12px}.site-footer{border-top:1px solid var(--line);padding:34px 0 40px;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:20px}.site-footer .brand{margin-bottom:11px}.site-footer p{color:var(--muted);font-size:12px;margin:0}.footer-links{display:flex;justify-content:center;gap:22px;font:11px var(--mono)}.site-footer small{color:#65706b;font:10px var(--mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes blink{50%{opacity:0}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}@media(max-width:850px){.section-wrap,.site-header{width:min(calc(100% - 34px),var(--max))}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink)}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--panel);border:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:18px}.site-nav.is-open{display:flex}.site-nav a{padding:4px 0}.hero{grid-template-columns:1fr;padding:55px 0 80px;gap:65px}.hero-visual{min-height:400px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.card-number{margin-bottom:35px}.heading-note{margin-top:25px}.about-card{grid-template-columns:1fr;padding:32px;gap:45px}.about-facts{gap:12px}.site-footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.site-footer small{justify-self:start}.contact-actions{flex-direction:column;align-items:stretch}}@media(max-width:480px){h1{font-size:3.15rem}.hero-lead{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.terminal-body{padding:24px 18px;font-size:11px}.terminal-top{font-size:9px}.visual-tag{font-size:9px}.tag-top{right:-5px}.tag-bottom{left:-5px}.about-facts{grid-template-columns:1fr}.about-facts div{padding:12px 0 12px 14px}.contact-section{padding-block:90px}.contact-section h2{font-size:3.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.cursor{animation:none}}
/* --- terminal-card como ventana de escritorio --- */
.window-dot{display:block;width:12px;height:12px;padding:0;border:0;border-radius:50%;background:#ed6a5e;cursor:pointer;flex:0 0 auto}
.window-dot:hover{filter:brightness(1.15)}
.window-dot:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.window-dot-min{background:#f4bf4f}
.window-dot-max{background:#61c554}
.window-resize{display:none}
.terminal-card.is-window{position:absolute;margin:0;max-width:none;max-height:none;display:flex;flex-direction:column;overflow:hidden;transition:width .22s ease,height .22s ease,left .22s ease,top .22s ease}
.terminal-card.is-window .terminal-top{cursor:grab;touch-action:none;user-select:none}
.terminal-card.is-window .terminal-body{flex:1 1 auto;min-height:0;overflow:auto}
.terminal-card.is-window .window-resize{display:block;position:absolute;right:0;bottom:0;width:20px;height:20px;cursor:nwse-resize;touch-action:none;z-index:3}
.terminal-card.is-window .window-resize::before{content:"";position:absolute;right:3px;bottom:3px;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);opacity:.75}
.terminal-card.is-dragging .terminal-top{cursor:grabbing}
.terminal-card.is-interacting{transition:none;z-index:4;user-select:none}
.terminal-card.is-minimized{height:48px;min-height:48px;overflow:hidden}
.terminal-card.is-minimized .terminal-body{display:none}
.terminal-card.is-minimized .window-resize{display:none}
.terminal-card.is-maximized{border-color:rgba(215,247,91,.5)}
@media(prefers-reduced-motion:reduce){.terminal-card.is-window{transition:none}}
@media(max-width:850px){.terminal-card{width:100%}.terminal-card.is-window{position:relative;left:auto!important;top:auto!important;width:100%!important;height:auto!important;min-height:0;display:block}.terminal-card.is-window .terminal-top{cursor:default;touch-action:auto}.terminal-card.is-window .window-resize{display:none}.terminal-card.is-maximized{position:relative;width:100%;min-height:0}}

/* Hero: segunda línea de continuidad */
.hero-lead-second{margin-top:14px;padding-left:16px;border-left:2px solid var(--lime);color:var(--ink);font-size:1rem}

/* --- Casos (carta personal) --- */
.case-list{border-top:1px solid var(--line)}
.case-card{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:44px 0;border-bottom:1px solid var(--line)}
.case-index{font:12px var(--mono);color:var(--lime);padding-top:6px}
.case-main .project-type{margin-bottom:9px}
.case-main h3{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:12px;max-width:760px}
.case-line{color:var(--ink);font-size:15px;line-height:1.7;max-width:700px;margin-bottom:22px}
.case-body{max-width:720px}
.case-body p{color:var(--muted);font-size:14.5px;line-height:1.75;margin:0 0 14px}
.case-body b{color:var(--ink);font-weight:600}
.cases-note{margin-top:26px;max-width:none}
.cases-note a{color:var(--lime);text-decoration:none;border-bottom:1px solid rgba(215,247,91,.4)}
.cases-note a:hover{border-bottom-color:var(--lime)}

.case-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin:4px 0 0}
.case-links a{font:12px var(--mono);color:var(--lime);text-decoration:none;border-bottom:1px solid rgba(215,247,91,.4)}
.case-links a:hover{border-bottom-color:var(--lime)}
.case-links a span{margin-left:6px}
.case-links-note{font:12px var(--mono);color:#68736e}

.live-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.live-list li{padding:28px 0;border-bottom:1px solid var(--line)}
.live-list h3{margin:8px 0 6px;font-size:1.35rem}
.live-list a{color:var(--ink);text-decoration:none}
.live-list a span{color:var(--lime);margin-left:8px}
.live-list a:hover{color:var(--lime)}
.live-list li>p{margin:0;color:var(--muted);font-size:14.5px;max-width:640px}
.live-list li>p a{color:var(--lime);border-bottom:1px solid rgba(215,247,91,.4)}
.shot{margin-top:14px;max-width:720px;border:1px solid var(--line);background:var(--panel)}
.shot summary{display:flex;align-items:center;gap:8px;padding:11px 14px;cursor:pointer;font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cyan);list-style:none}
.shot summary::-webkit-details-marker{display:none}
.shot summary::before{content:"+";color:var(--lime);font-size:14px}
.shot[open] summary{border-bottom:1px solid var(--line)}
.shot[open] summary::before{content:"–"}
.shot summary:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}
.shot img{display:block;width:100%;height:auto}

/* --- Detalle técnico plegable --- */
.case-tech{margin-top:22px;border:1px solid var(--line);background:var(--panel)}
.case-tech summary{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--cyan);list-style:none}
.case-tech summary::-webkit-details-marker{display:none}
.case-tech summary::before{content:"+";color:var(--lime);font-size:14px;line-height:1}
.case-tech[open] summary{border-bottom:1px solid var(--line)}
.case-tech[open] summary::before{content:"–"}
.case-tech summary:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}
.case-tech p{margin:0;padding:15px 16px 17px;color:var(--muted);font-size:13px;line-height:1.7}

/* --- Bloque de prosa (lo que me gusta) --- */
.prose{max-width:720px;color:var(--muted);font-size:1.05rem;line-height:1.8}
.prose p{margin:0 0 20px}
.prose p:last-child{margin-bottom:0}
.prose em{color:var(--lime);font-style:normal}

/* --- Franja discreta de herramientas --- */
.tool-line{margin:26px 0 0;font:12px var(--mono);color:#68736e;line-height:1.7;max-width:560px}

@media(max-width:850px){
  .case-card{grid-template-columns:44px 1fr;gap:14px;padding:34px 0}
  .case-main h3{font-size:1.35rem}
}
@media(max-width:480px){
  .case-line{font-size:14px}
  .case-body p{font-size:13.5px}
}
