:root { --ink:#111313; --panel:#191c1b; --paper:#f2f2eb; --muted:#a8aca4; --line:rgba(242,242,235,.16); --acid:#d8fa42; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--ink); color:var(--paper); font-family:"Space Grotesk",sans-serif; } a { color:inherit; text-decoration:none; }
.topbar { height:74px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:20; border-bottom:1px solid var(--line); background:#101212; }.wordmark { font:800 27px/.8 "Barlow Condensed",sans-serif; letter-spacing:-.05em; }.wordmark span { color:var(--acid); margin-left:2px; } nav { display:flex; gap:27px; margin-left:auto; margin-right:43px; font:500 10px/1 "IBM Plex Mono",monospace; letter-spacing:.06em; text-transform:uppercase; color:#c2c6bd; } nav a:hover { color:var(--acid); }.availability { display:flex; gap:9px; align-items:center; font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.045em; text-transform:uppercase; color:#c2c6bd; }.availability i,.eyebrow i { display:block; width:9px; height:9px; border:2px solid var(--acid); box-shadow:0 0 14px rgba(216,250,66,.5); }
.hero { min-height:calc(100vh - 74px); padding:13vh 5vw 46px; position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; background-color:#111313; background-image:linear-gradient(90deg,transparent 24.96%,rgba(242,242,235,.11) 25%,transparent 25.05%,transparent 49.96%,rgba(242,242,235,.11) 50%,transparent 50.05%,transparent 74.96%,rgba(242,242,235,.11) 75%,transparent 75.05%),linear-gradient(rgba(242,242,235,.055) 1px,transparent 1px),radial-gradient(rgba(255,255,255,.14) .65px,transparent .8px); background-size:100% 100%,100% 86px,5px 5px; }.hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(0,0,0,.15),transparent 55%,rgba(0,0,0,.52)),linear-gradient(0deg,rgba(0,0,0,.5),transparent 44%); pointer-events:none; } #field { position:absolute; inset:0; z-index:0; width:100%; height:100%; opacity:.26; pointer-events:none; mix-blend-mode:screen; }
 .hero-medusa { position:absolute; z-index:3; right:2vw; bottom:-8vh; width:min(48vw,720px); height:min(86vh,900px); filter:drop-shadow(-26px 8px 38px rgba(0,0,0,.6)) saturate(.88) contrast(1.13); animation:float 7s ease-in-out infinite; pointer-events:auto; cursor:crosshair; }.hero-medusa img,.hero-medusa canvas { position:absolute; inset:0; width:100%; height:100%; }.hero-medusa img { object-fit:contain; transition:opacity .45s ease; }.hero-medusa canvas { opacity:0; transition:opacity .45s ease; touch-action:pan-y; }.hero-medusa.is-3d { cursor:crosshair; }.hero-medusa.is-3d img { opacity:0; }.hero-medusa.is-3d canvas { opacity:1; }
.eva-pose-panel { position:absolute; z-index:7; right:5vw; top:20px; display:flex; align-items:center; gap:11px; opacity:0; transform:translateY(-7px); pointer-events:none; transition:.25s; }.hero:has(.hero-medusa.is-3d) .eva-pose-panel { opacity:1; transform:none; pointer-events:auto; }.eva-pose-panel>span { font:500 8px/1 "IBM Plex Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }.eva-pose-buttons { display:flex; padding:3px; gap:2px; border:1px solid var(--line); background:rgba(17,19,19,.84); backdrop-filter:blur(8px); }.eva-pose-buttons button { min-height:29px; padding:0 8px; border:0; background:transparent; color:var(--paper); font:500 8px/1 "IBM Plex Mono",monospace; text-transform:uppercase; cursor:pointer; }.eva-pose-buttons button:hover,.eva-pose-buttons button[aria-pressed="true"] { background:var(--acid); color:var(--ink); }.eva-pose-buttons button:focus-visible { outline:2px solid var(--acid); }
.hero-word { position:absolute; z-index:1; left:-.045em; bottom:0; font:800 clamp(138px,23vw,385px)/.66 "Barlow Condensed",sans-serif; letter-spacing:-.08em; color:rgba(242,242,235,.055); white-space:nowrap; pointer-events:none; }.hero-tags { position:absolute; z-index:5; right:16px; top:27%; display:flex; flex-direction:column; gap:21px; font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }.hero-tags span { writing-mode:vertical-rl; }.hero-tags span::before { content:"+"; color:var(--acid); margin-bottom:8px; }.eyebrow { position:relative; z-index:5; display:flex; align-items:center; gap:10px; font:500 10px/1.2 "IBM Plex Mono",monospace; letter-spacing:.05em; text-transform:uppercase; color:#d8dbd2; }.eyebrow i { width:8px; height:8px; } h1,h2 { margin:0; font-family:"Barlow Condensed",sans-serif; font-weight:800; letter-spacing:-.035em; } h1 { position:relative; z-index:5; max-width:800px; margin:50px 0 45px; font-size:clamp(68px,9.3vw,156px); line-height:.78; } h1 em,h2 em { color:var(--acid); font-style:normal; font-weight:600; }
.hero-foot { position:relative; z-index:5; display:flex; justify-content:space-between; align-items:end; gap:36px; }.hero-foot p { max-width:370px; margin:0; color:#d1d5cc; font-size:14px; line-height:1.55; }.round-link { min-width:226px; padding:18px 17px 18px 20px; display:inline-flex; justify-content:space-between; align-items:center; border:1px solid rgba(242,242,235,.65); font:500 10px/1 "IBM Plex Mono",monospace; letter-spacing:.04em; text-transform:uppercase; transition:background .2s,color .2s,transform .2s; }.round-link span { font:18px/1 Arial,sans-serif; }.round-link:hover { background:var(--acid); color:var(--ink); border-color:var(--acid); transform:translateY(-3px); }.hero-index { position:absolute; z-index:5; left:5vw; bottom:20px; font:500 8px/1 "IBM Plex Mono",monospace; letter-spacing:.07em; text-transform:uppercase; color:#9a9f96; } @keyframes float { 50% { transform:translateY(-14px) rotate(1deg); } }
.cases { padding:126px 5vw 132px; background:#111313; border-top:1px solid var(--line); }.section-head { display:flex; align-items:end; justify-content:space-between; gap:60px; padding-bottom:58px; }.section-head h2,.approach h2,.contact h2 { margin-top:17px; font-size:clamp(50px,6.5vw,106px); line-height:.8; }.section-head>p { width:300px; margin:0 0 5px; color:var(--muted); font-size:13px; line-height:1.6; }.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }.project { min-height:0; aspect-ratio:16/9; container-type:inline-size; padding:23px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; position:relative; overflow:hidden; cursor:pointer; background:var(--panel); background-image:radial-gradient(rgba(255,255,255,.07) .6px,transparent .75px); background-size:5px 5px; transition:background .25s,transform .25s; }.project::before { content:""; position:absolute; inset:0; opacity:0; background:linear-gradient(135deg,rgba(216,250,66,.18),transparent 47%); transition:opacity .25s; }.project::after { content:""; position:absolute; right:18px; top:19px; width:10px; height:10px; border:1px solid var(--project-color,var(--acid)); }.project:hover { background:#262a27; transform:scale(.985); }.project:hover::before { opacity:1; }.project>* { position:relative; z-index:1; }.project-no { color:var(--acid); font:500 10px/1 "IBM Plex Mono",monospace; }.project h3 { margin:clamp(28px,4.6vw,74px) 0 0; font:800 clamp(28px,7cqw,51px)/.82 "Barlow Condensed",sans-serif; letter-spacing:-.03em; white-space:nowrap; }.project p { min-height:58px; margin:18px 0 0; color:#afb5aa; font-size:12px; line-height:1.55; }.project-action { display:flex; align-items:center; gap:12px; font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.055em; text-transform:uppercase; }.project-action b { width:29px; height:29px; display:grid; place-items:center; background:var(--acid); color:var(--ink); font:400 18px/1 Arial,sans-serif; }
.object-archive { min-height:760px; padding:120px 5vw; display:grid; grid-template-columns:minmax(290px,.8fr) 1.2fr; gap:8vw; align-items:center; background:#171918; border-top:1px solid var(--line); }.archive-copy h2 { margin:18px 0 0; font-size:clamp(52px,6vw,100px); line-height:.8; }.archive-copy>p { min-height:3.3em; max-width:420px; margin:30px 0 36px; color:var(--muted); font-size:14px; line-height:1.6; }.archive-choices { border-top:1px solid var(--line); }.archive-choices button { width:100%; min-height:52px; padding:0; display:grid; grid-template-columns:45px 1fr 15px; align-items:center; border:0; border-bottom:1px solid var(--line); background:transparent; color:#969d94; text-align:left; cursor:pointer; transition:color .2s,padding-left .2s; }.archive-choices button::after { content:"↗"; font:11px Arial,sans-serif; opacity:0; }.archive-choices button:hover,.archive-choices button[aria-pressed="true"] { color:var(--paper); padding-left:8px; }.archive-choices button[aria-pressed="true"]::after { opacity:1; color:var(--acid); }.archive-choices b { color:var(--acid); font:500 9px "IBM Plex Mono",monospace; }.archive-choices span { font:500 10px "IBM Plex Mono",monospace; letter-spacing:.05em; text-transform:uppercase; }.archive-credit { display:inline-block; margin-top:15px; color:#8e958d; font:500 8px/1.4 "IBM Plex Mono",monospace; text-transform:uppercase; }.archive-credit:hover { color:var(--acid); }.archive-stage { position:relative; min-height:590px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); background-color:#101212; background-image:linear-gradient(rgba(216,250,66,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(216,250,66,.08) 1px,transparent 1px); background-size:37px 37px; touch-action:pan-y; cursor:grab; isolation:isolate; }.archive-stage::before { content:"ARCHIVO 3D / 05"; position:absolute; left:17px; top:16px; color:var(--acid); font:500 9px "IBM Plex Mono",monospace; letter-spacing:.06em; z-index:3; }.archive-stage:active,.archive-stage.is-dragging { cursor:grabbing; }.archive-stage img,.archive-stage canvas { position:absolute; z-index:1; inset:0; width:100%; height:100%; }.archive-stage img { object-fit:contain; padding:10%; opacity:.55; transition:opacity .35s; }.archive-stage canvas { opacity:0; transition:opacity .35s; }.archive-stage.is-3d img { opacity:0; }.archive-stage.is-3d canvas { opacity:1; }.archive-status { position:absolute; z-index:3; left:17px; bottom:16px; color:#c8cdc5; font:500 9px "IBM Plex Mono",monospace; letter-spacing:.05em; text-transform:uppercase; }.archive-scan { position:absolute; z-index:2; left:0; right:0; top:15%; height:1px; background:linear-gradient(90deg,transparent,var(--acid),transparent); box-shadow:0 0 18px var(--acid); opacity:.6; animation:scan 5.5s ease-in-out infinite; } @keyframes scan { 50% { top:85%; } }.archive-zoom { position:absolute; z-index:6; top:12px; right:12px; display:grid; grid-template-columns:38px 58px 38px; gap:2px; padding:3px; border:1px solid var(--line); background:rgba(17,19,19,.88); backdrop-filter:blur(8px); }.archive-zoom button { min-height:36px; border:0; background:transparent; color:var(--paper); font:500 15px/1 "IBM Plex Mono",monospace; cursor:pointer; }.archive-zoom button:hover,.archive-zoom button:focus-visible { background:var(--acid); color:var(--ink); outline:none; }.archive-zoom .archive-zoom-value { font-size:8px; }.archive-zoom output { pointer-events:none; }.drink-panel { position:absolute; z-index:6; right:17px; bottom:14px; display:flex; flex-direction:column; align-items:flex-end; gap:6px; opacity:0; transform:translateY(7px); pointer-events:none; transition:.25s; }.archive-stage.is-3d[data-model="coffee"] .drink-panel { opacity:1; transform:none; pointer-events:auto; }.drink-panel>span { color:var(--muted); font:500 8px/1 "IBM Plex Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }.drink-buttons { display:flex; flex-wrap:wrap; justify-content:flex-end; padding:3px; gap:2px; border:1px solid var(--line); background:rgba(17,19,19,.84); backdrop-filter:blur(8px); }.drink-buttons button { min-height:29px; padding:0 9px; border:0; background:transparent; color:var(--paper); font:500 8px/1 "IBM Plex Mono",monospace; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; transition:background .18s,color .18s; }.drink-buttons button:hover,.drink-buttons button[aria-pressed="true"] { background:var(--acid); color:var(--ink); }.drink-buttons button[data-drink-explode] { margin-left:6px; border-left:1px solid var(--line); }.drink-buttons button:focus-visible { outline:2px solid var(--acid); outline-offset:-2px; }
.approach { padding:124px 5vw; display:grid; grid-template-columns:.72fr 2.25fr; gap:8vw; background:var(--paper); color:var(--ink); }.approach-label { padding-top:5px; color:#3c433d; font:500 10px "IBM Plex Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }.approach h2 { margin:0; }.approach h2 em { color:#526b11; }.approach-copy { grid-column:2; display:grid; grid-template-columns:1fr 1fr; gap:42px; max-width:780px; margin-top:55px; }.approach-copy p { margin:0; font-size:15px; line-height:1.65; }.contact { padding:133px 5vw 118px; color:var(--ink); background:var(--acid); background-image:linear-gradient(rgba(17,19,19,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(17,19,19,.12) 1px,transparent 1px); background-size:44px 44px; }.contact .eyebrow { color:var(--ink); }.contact .eyebrow i { border-color:var(--ink); box-shadow:none; }.contact h2 { max-width:1000px; }.contact h2 em { color:var(--ink); -webkit-text-stroke:1px var(--ink); }.contact p { max-width:465px; margin:38px 0 30px; font-size:14px; line-height:1.65; }.round-link.light { border-color:var(--ink); }.round-link.light:hover { background:var(--ink); color:var(--acid); } footer { display:flex; justify-content:space-between; gap:20px; padding:21px 5vw; color:#aab0a5; border-top:1px solid var(--line); background:#101212; font:500 8px "IBM Plex Mono",monospace; letter-spacing:.055em; text-transform:uppercase; }
dialog { width:min(1080px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:clamp(34px,5vw,68px); overflow:auto; border:1px solid var(--line); color:var(--paper); background-color:var(--panel); background-image:linear-gradient(90deg,transparent 49.94%,rgba(242,242,235,.045) 50%,transparent 50.06%),radial-gradient(rgba(255,255,255,.06) .6px,transparent .75px); background-size:100% 100%,5px 5px; box-shadow:0 28px 90px rgba(0,0,0,.66); }dialog::backdrop { background:rgba(0,0,0,.84); backdrop-filter:blur(10px); }.modal-close { position:absolute; right:20px; top:18px; width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(242,242,235,.7); background:rgba(17,19,19,.72); color:var(--paper); font-size:32px; cursor:pointer; }.modal-close:hover,.modal-close:focus-visible { background:var(--acid); color:var(--ink); border-color:var(--acid); outline:none; }.modal-kicker { color:var(--acid); font:500 9px "IBM Plex Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }dialog h2 { max-width:calc(100% - 70px); margin-top:24px; font-size:clamp(52px,7vw,92px); line-height:.78; }.modal-summary { max-width:780px; margin:25px 0 38px; font-size:clamp(16px,1.7vw,21px); line-height:1.55; }.modal-meta { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.modal-meta div { padding:18px 0; }.modal-meta div+div { padding-left:24px; border-left:1px solid var(--line); }.modal-meta span,.modal-story span,.modal-tech span { display:block; margin-bottom:8px; color:var(--muted); font:500 9px "IBM Plex Mono",monospace; letter-spacing:.055em; text-transform:uppercase; }.modal-meta strong { font-size:13px; }.modal-case { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(230px,.75fr); gap:clamp(36px,6vw,82px); padding-top:42px; }.modal-story { display:grid; gap:30px; }.modal-story section { padding-top:1px; }.modal-story p { margin:0; color:#c9cec5; font-size:14px; line-height:1.72; }.modal-story section>span::before,.modal-tech section>span::before { content:"+ "; color:var(--acid); }.modal-context { padding-bottom:28px!important; border-bottom:1px solid var(--line); }.modal-context p { color:var(--paper); font-size:15px; }.modal-outcome { padding:22px!important; border-left:2px solid var(--acid); background:rgba(216,250,66,.055); }.modal-outcome p { color:var(--paper); }.modal-tech { display:flex; flex-direction:column; gap:32px; padding-left:28px; border-left:1px solid var(--line); }.modal-tags { display:flex; flex-wrap:wrap; gap:7px; }.modal-tags b { padding:8px 9px; border:1px solid rgba(242,242,235,.18); background:#141616; color:#d8ddd4; font:500 9px/1.2 "IBM Plex Mono",monospace; letter-spacing:.02em; }
@media(max-width:700px) { .topbar { height:63px; padding:0 20px; }.wordmark { font-size:24px; } nav { margin:0; gap:16px; }.availability { display:none; }.hero { min-height:720px; padding:110px 20px 36px; background-size:100% 100%,100% 68px,5px 5px; }.hero-medusa { right:-19vw; bottom:6vh; width:112vw; height:520px; opacity:.78; }.hero-tags,.hero-index { display:none; }.eva-pose-panel { top:15px; left:20px; right:0; display:block; }.eva-pose-panel>span { display:block; margin-bottom:6px; }.eva-pose-buttons { overflow-x:auto; border-right:0; }.hero-word { bottom:12%; font-size:37vw; }.hero h1 { margin:43px 0 auto; font-size:clamp(65px,20vw,103px); }.hero-foot { display:block; }.hero-foot p { max-width:300px; margin-bottom:25px; font-size:13px; }.round-link { width:100%; }.cases,.object-archive,.approach { padding:78px 20px; }.section-head { display:block; padding-bottom:39px; }.section-head>p { width:auto; margin-top:25px; }.section-head h2,.approach h2,.contact h2 { font-size:clamp(52px,16vw,85px); }.project-grid { grid-template-columns:1fr; }.project { min-height:265px; aspect-ratio:auto; }.project h3 { margin-top:38px; }.object-archive { display:block; min-height:0; }.archive-stage { min-height:450px; margin-top:38px; }.approach { display:block; }.approach-copy { display:block; margin-top:40px; }.approach-copy p+p { margin-top:20px; }.contact { padding:83px 20px; }.contact h2 { font-size:clamp(55px,17vw,88px); }.contact p { max-width:340px; }.modal-meta { grid-template-columns:1fr; }.modal-meta div+div { padding-left:0; border-left:0; border-top:1px solid var(--line); } footer { padding:19px 20px; flex-wrap:wrap; } }
@media(max-width:700px) { dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); padding:30px 20px 38px; background-image:radial-gradient(rgba(255,255,255,.06) .6px,transparent .75px); background-size:5px 5px; }.modal-close { position:sticky; z-index:3; top:0; float:right; width:42px; height:42px; margin:-12px -4px 0 12px; }.modal-kicker { padding-top:4px; }dialog h2 { max-width:none; margin-top:24px; font-size:clamp(43px,13vw,62px); }.modal-summary { margin:20px 0 28px; font-size:16px; }.modal-case { display:block; padding-top:32px; }.modal-story { gap:28px; }.modal-story p { font-size:13px; line-height:1.67; }.modal-outcome { padding:18px!important; }.modal-tech { margin-top:34px; padding:28px 0 0; border-top:1px solid var(--line); border-left:0; }.modal-tags b { font-size:8px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } #field { display:none; }.hero-medusa,.archive-scan { animation:none; }.hero-medusa img,.hero-medusa canvas,.eva-pose-panel,.archive-stage img,.archive-stage canvas,.project,.project::before,.round-link { transition:none; } }

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.electro-demo{margin-top:56px;padding-top:38px;border-top:1px solid var(--line)}.electro-demo[hidden]{display:none}.electro-demo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:24px}.electro-demo-head span,.electro-quote>span{color:var(--acid);font:500 9px "IBM Plex Mono",monospace;letter-spacing:.07em;text-transform:uppercase}.electro-demo-head h3{margin:8px 0 7px;font:800 clamp(36px,5vw,60px)/.85 "Barlow Condensed",sans-serif;text-transform:uppercase}.electro-demo-head p{max-width:580px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.electro-demo-signal{flex:none;padding:10px 12px;border:1px solid rgba(216,250,66,.25);color:#c9cec5;font:500 9px "IBM Plex Mono",monospace;letter-spacing:.05em;text-transform:uppercase}.electro-demo-signal i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 12px var(--acid)}.electro-demo-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);border:1px solid var(--line);background:#101211}.electro-chat{min-width:0;border-right:1px solid var(--line)}.electro-chat-log{height:330px;padding:22px;overflow:auto;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}.electro-message{max-width:84%;padding:13px 15px;border:1px solid rgba(242,242,235,.12);background:#1b1e1c}.electro-message-user{align-self:flex-end;border-color:rgba(216,250,66,.28);background:rgba(216,250,66,.075)}.electro-message span{display:block;margin-bottom:6px;color:var(--muted);font:500 8px "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.electro-message p{margin:0;color:var(--paper);font-size:13px;line-height:1.5}.electro-message.is-thinking p::after{content:' ';display:inline-block;width:18px;height:7px;margin-left:7px;background:radial-gradient(circle,var(--acid) 1.5px,transparent 2px) 0 50%/6px 6px repeat-x;animation:demo-thinking .85s linear infinite}.electro-examples{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 16px}.electro-examples button{padding:8px 10px;border:1px solid rgba(242,242,235,.16);background:transparent;color:#bfc5bb;font:500 8px "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}.electro-examples button:hover,.electro-examples button:focus-visible{border-color:var(--acid);color:var(--acid);outline:none}.electro-composer{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border-top:1px solid var(--line);background:#171a18}.electro-composer textarea{min-height:56px;resize:none;padding:11px 12px;border:1px solid rgba(242,242,235,.18);border-radius:0;outline:none;background:#101211;color:var(--paper);font:400 12px/1.45 "IBM Plex Mono",monospace}.electro-composer textarea:focus{border-color:var(--acid)}.electro-composer button{min-width:108px;border:0;background:var(--acid);color:var(--ink);font:600 10px "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}.electro-composer button:disabled{opacity:.45;cursor:wait}.electro-quote{min-width:0;padding:22px;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:18px 18px}.electro-quote-empty{min-height:250px;display:flex;flex-direction:column;justify-content:center}.electro-quote-empty b{font:700 25px "Barlow Condensed",sans-serif;text-transform:uppercase}.electro-quote-empty p{max-width:240px;color:var(--muted);font-size:11px;line-height:1.55}.electro-quote-number{display:block;margin:10px 0 22px;color:var(--paper);font:700 22px "Barlow Condensed",sans-serif}.electro-quote-list{border-top:1px solid var(--line)}.electro-quote-list>div{display:grid;grid-template-columns:1fr auto;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.electro-quote-list b{display:block;font-size:11px;line-height:1.4}.electro-quote-list small{display:block;margin-top:5px;color:var(--muted);font:500 8px/1.45 "IBM Plex Mono",monospace}.electro-quote-list>div>strong{font:600 10px "IBM Plex Mono",monospace}.electro-quote-total{display:flex;justify-content:space-between;align-items:end;gap:18px;padding:18px 0}.electro-quote-total span{color:var(--muted);font:500 9px "IBM Plex Mono",monospace;text-transform:uppercase}.electro-quote-total strong{color:var(--acid);font:700 22px "Barlow Condensed",sans-serif}.electro-quote-stamp{margin:4px 0 0;padding:9px;border:1px solid rgba(255,104,74,.45);color:#ff8469;text-align:center;font:600 8px "IBM Plex Mono",monospace;letter-spacing:.07em}.electro-demo button:focus-visible,.electro-demo textarea:focus-visible{outline:2px solid var(--acid);outline-offset:2px}@keyframes demo-thinking{to{background-position:6px 50%}}
@media(max-width:700px){.electro-demo{margin-top:38px;padding-top:30px}.electro-demo-head{display:block}.electro-demo-signal{display:inline-block;margin-top:16px}.electro-demo-layout{display:block}.electro-chat{border-right:0;border-bottom:1px solid var(--line)}.electro-chat-log{height:300px;padding:15px}.electro-message{max-width:91%}.electro-examples{flex-wrap:nowrap;padding:0 14px 13px;overflow-x:auto}.electro-examples button{flex:none}.electro-composer{grid-template-columns:1fr}.electro-composer button{min-height:44px}.electro-quote{padding:18px}.electro-quote-empty{min-height:180px}}

.electro-custom-title{display:block;max-width:280px;margin:32px 0 14px;font:800 38px/.9 "Barlow Condensed",sans-serif;text-transform:uppercase}.electro-custom-copy{max-width:290px;margin:0 0 24px;color:#c9cec5;font-size:12px;line-height:1.6}.electro-whatsapp{display:flex;align-items:center;justify-content:center;min-height:48px;padding:11px 14px;background:var(--acid);color:var(--ink);font:700 9px/1.35 "IBM Plex Mono",monospace;text-align:center;text-decoration:none;text-transform:uppercase}.electro-whatsapp:hover,.electro-whatsapp:focus-visible{background:var(--paper);outline:2px solid var(--acid);outline-offset:3px}.electro-custom-note{display:block;margin-top:10px;color:var(--muted);font:500 8px/1.45 "IBM Plex Mono",monospace}

.electro-launcher{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;min-height:188px;margin-top:28px;padding:30px 34px;overflow:hidden;border:1px solid rgba(216,250,66,.34);background:linear-gradient(112deg,rgba(216,250,66,.12),rgba(16,18,17,.96) 48%,rgba(101,213,224,.07))}.electro-launcher[hidden]{display:none}.electro-launcher::before{content:"";position:absolute;z-index:-1;inset:-1px;width:34%;background:linear-gradient(90deg,transparent,rgba(216,250,66,.12),transparent);transform:skewX(-18deg) translateX(-160%);animation:electro-scan 5.8s ease-in-out infinite}.electro-launcher-copy{position:relative;z-index:1}.electro-launcher-copy>span{display:block;margin-bottom:10px;color:var(--acid);font:500 9px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.electro-launcher-copy>strong{display:block;font:800 clamp(28px,3.4vw,48px)/.86 "Barlow Condensed",sans-serif;text-transform:uppercase}.electro-launcher-copy>p{margin:13px 0 0;color:#bfc5bb;font-size:12px}.electro-launcher button{position:relative;z-index:2;width:176px;height:116px;padding:17px;border:1px solid var(--acid);background:var(--acid);color:var(--ink);display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;align-items:start;text-align:left;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}.electro-launcher button small{grid-column:1/-1;font:600 8px "IBM Plex Mono",monospace;text-transform:uppercase}.electro-launcher button b{align-self:end;font:800 23px/.9 "Barlow Condensed",sans-serif;text-transform:uppercase}.electro-launcher button em{align-self:end;font:400 27px/1 Arial,sans-serif}.electro-launcher button:hover,.electro-launcher button:focus-visible{transform:translateY(-5px);background:var(--paper);box-shadow:0 14px 40px rgba(216,250,66,.18);outline:none}.electro-launcher-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}.electro-launcher-particles i{position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px var(--acid);animation:electro-particle 4.8s var(--d) ease-in-out infinite}.electro-launcher-particles i::after{content:"";position:absolute;left:2px;top:2px;width:34px;height:1px;background:linear-gradient(90deg,rgba(216,250,66,.55),transparent);transform:rotate(-24deg);transform-origin:left}.electro-demo{scroll-margin-top:62px}.electro-demo.is-arriving .electro-demo-layout{animation:electro-arrive .7s cubic-bezier(.2,.8,.2,1)}.electro-demo.is-arriving .electro-demo-head h3{text-shadow:0 0 26px rgba(216,250,66,.23)}@keyframes electro-particle{0%,100%{opacity:.18;transform:translate3d(-8px,7px,0) scale(.7)}50%{opacity:1;transform:translate3d(12px,-10px,0) scale(1.35)}}@keyframes electro-scan{0%,64%,100%{transform:skewX(-18deg) translateX(-160%)}82%{transform:skewX(-18deg) translateX(460%)}}@keyframes electro-arrive{from{opacity:.4;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.electro-launcher{display:block;min-height:0;margin-top:22px;padding:24px 20px}.electro-launcher-copy>strong{font-size:34px}.electro-launcher-copy>p{max-width:250px;line-height:1.5}.electro-launcher button{width:100%;height:72px;margin-top:22px;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:end}.electro-launcher button b{font-size:21px}.electro-launcher button em{grid-row:1/-1;grid-column:2;align-self:center}.electro-launcher-particles i:nth-child(even){display:none}}
@media(prefers-reduced-motion:reduce){.electro-launcher::before,.electro-launcher-particles i,.electro-demo.is-arriving .electro-demo-layout{animation:none}.electro-launcher button{transition:none}}

.modal-editor{position:sticky;z-index:4;top:0;display:flex;justify-content:flex-end;min-height:0;margin:0 62px -34px 0;pointer-events:none}.modal-editor[hidden]{display:none}.modal-edit-toggle,.modal-edit-actions button{pointer-events:auto;border:1px solid rgba(216,250,66,.45);background:rgba(17,19,19,.94);color:var(--acid);font:600 9px "IBM Plex Mono",monospace;letter-spacing:.055em;text-transform:uppercase;cursor:pointer}.modal-edit-toggle{min-height:38px;padding:0 14px}.modal-edit-toggle:hover,.modal-edit-toggle:focus-visible,.modal-edit-actions button:hover,.modal-edit-actions button:focus-visible{border-color:var(--acid);background:var(--acid);color:var(--ink);outline:none}.modal-edit-actions{pointer-events:auto;display:flex;align-items:center;gap:8px;max-width:720px;padding:8px;background:rgba(17,19,19,.96);border:1px solid rgba(216,250,66,.45);box-shadow:0 12px 32px rgba(0,0,0,.36)}.modal-edit-actions[hidden]{display:none}.modal-edit-actions span{min-width:210px;padding:0 8px;color:#c9cec5;font:500 9px/1.35 "IBM Plex Mono",monospace}.modal-edit-actions button{min-height:34px;padding:0 11px}.modal-edit-actions button:last-child{background:var(--acid);color:var(--ink)}dialog.is-editing [contenteditable="true"]{position:relative;border-radius:1px;outline:1px dashed rgba(216,250,66,.62);outline-offset:7px;background:rgba(216,250,66,.045);caret-color:var(--acid);transition:background .18s,outline-color .18s}dialog.is-editing [contenteditable="true"]:hover{background:rgba(216,250,66,.08);outline-color:var(--acid)}dialog.is-editing [contenteditable="true"]:focus{outline:2px solid var(--acid);background:rgba(216,250,66,.1)}dialog.is-editing .electro-launcher,dialog.is-editing .electro-demo{pointer-events:none;opacity:.42}
@media(max-width:700px){.modal-editor{top:0;justify-content:flex-start;margin:-12px 48px 12px 0}.modal-edit-toggle{min-height:42px}.modal-edit-actions{position:fixed;z-index:8;left:10px;right:10px;bottom:10px;box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr;padding:9px}.modal-edit-actions span{grid-column:1/-1;min-width:0;padding:3px 4px}.modal-edit-actions button{min-height:42px}dialog.is-editing{padding-bottom:132px}dialog.is-editing [contenteditable="true"]{outline-offset:4px}}
.drink-buttons button.coffee-pour { flex-basis:100%; margin-top:3px; background:var(--acid); color:var(--ink); }.drink-buttons button.coffee-pour:hover,.drink-buttons button.coffee-pour[aria-busy="true"] { background:#f2ff93; }
@media(max-width:700px) { .drink-panel { left:12px; right:12px; bottom:12px; align-items:flex-start; }.drink-buttons { width:100%; justify-content:flex-start; }.archive-stage[data-model="coffee"] .archive-status { display:none; } }

/* Arranque interactivo: conserva el archivo operativo y le suma un ingreso ceremonial. */
.hero-intro { position:absolute; z-index:12; inset:0; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr auto; gap:30px; padding:32px 5vw 36px; color:var(--paper); background:var(--ink); background-image:radial-gradient(rgba(242,242,235,.15) .65px,transparent .8px),linear-gradient(90deg,transparent 24.96%,rgba(242,242,235,.11) 25%,transparent 25.05%,transparent 49.96%,rgba(242,242,235,.11) 50%,transparent 50.05%,transparent 74.96%,rgba(242,242,235,.11) 75%,transparent 75.05%); background-size:5px 5px,100% 100%; transition:opacity .62s ease,visibility .62s step-end; }.hero-intro::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 48%,rgba(216,250,66,.17),transparent 22%); opacity:.7; pointer-events:none; }.hero-intro>* { position:relative; z-index:1; }.hero-intro-mark { align-self:start; font:500 10px "IBM Plex Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }.hero-intro-mark span { color:var(--acid); }.hero-intro-copy { align-self:center; grid-column:1/-1; justify-self:center; width:min(760px,100%); text-align:center; }.hero-intro-copy .eyebrow { justify-content:center; }.hero-intro-copy strong { display:block; margin:24px 0 18px; font:800 clamp(78px,12vw,184px)/.72 "Barlow Condensed",sans-serif; letter-spacing:-.045em; }.hero-intro-copy strong::first-line { color:var(--acid); }.hero-intro-copy p { max-width:330px; margin:0 auto; color:#c8cec2; font-size:13px; line-height:1.55; }.hero-start { align-self:end; justify-self:end; width:170px; min-height:170px; display:grid; place-items:center; gap:4px; border:1px solid rgba(242,242,235,.75); border-radius:50%; background:rgba(17,19,19,.62); color:var(--paper); font:500 10px "IBM Plex Mono",monospace; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:background .2s,color .2s,transform .2s; }.hero-start b { font:400 25px/1 Arial,sans-serif; }.hero-start:hover,.hero-start:focus-visible { border-color:var(--acid); background:var(--acid); color:var(--ink); transform:scale(1.06); outline:none; }.hero-intro-note { align-self:end; font:500 8px "IBM Plex Mono",monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }.hero-started .hero-intro { opacity:0; visibility:hidden; pointer-events:none; }.hero:not(.is-charged) .hero-medusa { filter:drop-shadow(-26px 8px 38px rgba(0,0,0,.6)) saturate(.62) contrast(1.02); }.hero.is-charged::after { content:""; position:absolute; z-index:2; right:19vw; top:43%; width:7px; height:7px; background:var(--acid); box-shadow:0 0 0 9px rgba(216,250,66,.13),0 0 50px 15px rgba(216,250,66,.22); pointer-events:none; animation:signal 1.7s ease-in-out infinite; }.hero.is-charged .hero-medusa { filter:drop-shadow(-26px 8px 38px rgba(0,0,0,.6)) saturate(1.15) contrast(1.16) drop-shadow(0 0 18px rgba(216,250,66,.25)); }.hero-drive { position:absolute; z-index:8; right:5vw; bottom:28px; width:min(340px,27vw); display:grid; gap:8px; }.hero-drive>span:first-child,.hero-drive>span:last-child { font:500 8px/1.35 "IBM Plex Mono",monospace; letter-spacing:.055em; text-transform:uppercase; color:#aeb4aa; }.hero-drive>span:last-child { min-height:1.35em; color:#d7ddd2; }.hero-drive button { --progress:calc(var(--hero-charge,0) * 100%); min-height:45px; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:12px; padding:0 11px; border:1px solid rgba(242,242,235,.52); background:rgba(17,19,19,.74); color:var(--paper); cursor:pointer; text-align:left; overflow:hidden; position:relative; }.hero-drive button::before { content:""; position:absolute; inset:0; width:var(--progress); background:rgba(216,250,66,.18); transition:width .05s linear; }.hero-drive button>* { position:relative; z-index:1; }.hero-drive i { width:18px; height:18px; border:1px solid var(--acid); border-radius:50%; display:grid; place-items:center; }.hero-drive i b { width:5px; height:5px; border-radius:50%; background:var(--acid); }.hero-drive strong,.hero-drive em { font:500 9px "IBM Plex Mono",monospace; letter-spacing:.05em; text-transform:uppercase; font-style:normal; }.hero-drive em { color:var(--acid); }.hero-drive button:hover,.hero-drive button:focus-visible,.hero-drive button.is-holding { border-color:var(--acid); outline:none; }.hero-drive button.is-holding i { animation:pulse .7s ease-in-out infinite; }.hero.is-charged .hero-drive button { background:rgba(216,250,66,.1); border-color:var(--acid); cursor:default; } @keyframes pulse { 50% { box-shadow:0 0 0 6px rgba(216,250,66,.16); } } @keyframes signal { 50% { transform:scale(1.7); opacity:.4; } }
@media(max-width:700px) { .hero-intro { padding:22px 20px 26px; grid-template-columns:1fr; }.hero-intro-copy { align-self:center; }.hero-intro-copy strong { font-size:clamp(68px,21vw,102px); }.hero-start { width:126px; min-height:126px; justify-self:end; }.hero-intro-note { display:none; }.hero-drive { left:20px; right:20px; bottom:20px; width:auto; }.hero-drive>span:first-child { display:none; }.hero.is-charged::after { right:20vw; top:48%; } }
@media(prefers-reduced-motion:reduce) { .hero-intro,.hero-start,.hero-drive button { transition:none; }.hero.is-charged::after,.hero-drive button.is-holding i { animation:none; } }

/* El EVA se abre como un archivo técnico cuando el cursor lo inspecciona. */
.hero-word { display:flex; align-items:flex-end; color:rgba(242,242,235,.055); }.hero-word i { display:block; font-style:normal; transform:translate3d(var(--glyph-x,0),var(--glyph-y,0),0) rotate(var(--glyph-rotate,0deg)) scale(var(--glyph-scale,1)); transform-origin:50% 100%; transition:transform .68s cubic-bezier(.16,.85,.22,1),color .3s; }.hero.is-inspecting .hero-word { color:rgba(216,250,66,.105); text-shadow:0 0 28px rgba(216,250,66,.13); }.hero.is-inspecting .hero-word i:nth-child(odd) { color:rgba(242,242,235,.11); }
@media(min-width:701px) { .hero-word { left:13vw; bottom:-.03em; font-size:clamp(138px,26vw,560px); } }
.hero.is-charged .eva-shell { animation:shell-turn 13s linear infinite; }.hero.is-charged .eva-shell::before { border-color:rgba(216,250,66,.45); box-shadow:inset 0 0 90px rgba(216,250,66,.08),0 0 65px rgba(216,250,66,.08); }.hero.is-charged .eva-shell span { opacity:.42; }.hero.is-charged.is-inspecting .eva-shell span { opacity:.94; }.hero.is-charged .eva-readout::after { content:"SEÑAL / ESTABLE"; color:#bfc8b3; font:500 7px "IBM Plex Mono",monospace; letter-spacing:.055em; } @keyframes shell-turn { to { transform:rotate(360deg); } }
.eva-shell span:nth-child(9) { left:3%; top:32%; width:clamp(36px,4.4vw,72px); height:clamp(28px,3.2vw,52px); transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(32deg) rotate(var(--turn,0deg)); }.eva-shell span:nth-child(10) { right:3%; top:31%; width:clamp(36px,4.4vw,72px); height:clamp(28px,3.2vw,52px); transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(148deg) rotate(var(--turn,0deg)); }.eva-shell span:nth-child(11) { left:26%; top:35%; width:clamp(30px,3.4vw,54px); height:clamp(22px,2.6vw,42px); transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(96deg) rotate(var(--turn,0deg)); }.eva-shell span:nth-child(12) { right:25%; top:39%; width:clamp(30px,3.4vw,54px); height:clamp(22px,2.6vw,42px); transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(-78deg) rotate(var(--turn,0deg)); }
.eva-shell span:nth-child(13) { left:34%; bottom:12%; width:clamp(28px,3vw,46px); height:clamp(21px,2.3vw,36px); transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(12deg) rotate(var(--turn,0deg)); }.eva-shell span:nth-child(14) { right:33%; bottom:13%; width:clamp(28px,3vw,46px); height:clamp(21px,2.3vw,36px); transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(168deg) rotate(var(--turn,0deg)); }.eva-shell span:nth-child(15) { left:18%; top:11%; width:clamp(25px,2.7vw,40px); height:clamp(18px,2vw,31px); transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(-43deg) rotate(var(--turn,0deg)); }.eva-shell span:nth-child(16) { right:18%; top:10%; width:clamp(25px,2.7vw,40px); height:clamp(18px,2vw,31px); transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(43deg) rotate(var(--turn,0deg)); }
.eva-shell { position:absolute; z-index:4; right:3vw; bottom:1vh; width:min(43vw,650px); height:min(75vh,760px); pointer-events:none; }.eva-shell::before { content:""; position:absolute; inset:13% 5% 8%; border:1px solid rgba(216,250,66,.22); border-radius:48% 52% 46% 54%; box-shadow:inset 0 0 70px rgba(216,250,66,.035),0 0 48px rgba(216,250,66,.025); opacity:.45; transform:rotate(-9deg) scale(.91); transition:opacity .35s,transform .55s cubic-bezier(.2,.8,.2,1); }.eva-shell::after { content:""; position:absolute; left:50%; top:50%; width:17%; aspect-ratio:1; border:1px solid rgba(216,250,66,.58); border-radius:50%; box-shadow:0 0 0 8px rgba(216,250,66,.055),0 0 28px rgba(216,250,66,.16); opacity:0; transform:translate(-50%,-50%) scale(.6); transition:opacity .25s,transform .35s; }.eva-shell span { position:absolute; width:clamp(58px,7.1vw,120px); height:clamp(42px,4.7vw,79px); border:1px solid rgba(216,250,66,.38); background:linear-gradient(135deg,rgba(216,250,66,.22),rgba(20,24,20,.04) 39%,rgba(242,242,235,.16) 40%,rgba(216,250,66,.06) 77%); box-shadow:inset 0 0 18px rgba(216,250,66,.08),0 0 22px rgba(0,0,0,.24); clip-path:polygon(12% 0,100% 9%,85% 100%,0 80%); opacity:.18; transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(var(--turn,0deg)); transition:transform .55s cubic-bezier(.16,.85,.22,1),opacity .28s,border-color .28s; }.eva-shell span:nth-child(1) { left:7%; top:21%; transform-origin:100% 100%; }.eva-shell span:nth-child(2) { right:8%; top:17%; transform-origin:0 100%; }.eva-shell span:nth-child(3) { left:0; top:42%; }.eva-shell span:nth-child(4) { right:0; top:43%; transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(180deg) rotate(var(--turn,0deg)); }.eva-shell span:nth-child(5) { left:13%; bottom:19%; transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(196deg) rotate(var(--turn,0deg)); }.eva-shell span:nth-child(6) { right:13%; bottom:19%; transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(15deg) rotate(var(--turn,0deg)); }.eva-shell span:nth-child(7) { left:35%; top:8%; transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(-14deg) rotate(var(--turn,0deg)); }.eva-shell span:nth-child(8) { right:32%; bottom:7%; transform:translate3d(var(--shift-x,0),var(--shift-y,0),0) rotate(171deg) rotate(var(--turn,0deg)); }.hero.is-inspecting .eva-shell::before { opacity:.84; transform:rotate(-9deg) scale(1.03); }.hero.is-inspecting .eva-shell::after { opacity:1; transform:translate(-50%,-50%) scale(1); }.hero.is-inspecting .eva-shell span { opacity:.88; border-color:rgba(216,250,66,.86); }.eva-readout { position:absolute; z-index:6; right:calc(5vw + 350px); bottom:31px; display:grid; gap:5px; padding-left:12px; border-left:1px solid rgba(216,250,66,.5); color:#bfc8b3; font:500 8px/1.15 "IBM Plex Mono",monospace; letter-spacing:.055em; text-transform:uppercase; pointer-events:none; }.eva-readout b { color:var(--acid); font-weight:500; }.hero.is-inspecting .eva-readout { color:var(--paper); } @media(max-width:1000px) { .eva-readout { display:none; }.eva-shell { right:-5vw; opacity:.74; } } @media(max-width:700px) { .eva-shell { right:-18vw; bottom:6vh; width:112vw; height:520px; opacity:.5; }.eva-shell span { width:66px; height:44px; }.eva-shell::before { inset:12% 14%; } } @media(prefers-reduced-motion:reduce) { .eva-shell,.eva-shell::before,.eva-shell::after,.eva-shell span { transition:none; }.eva-shell { display:none; } }

/* Manifiesto central: una segunda lectura del título detrás del EVA. */
.hero-word { position:absolute; z-index:1; top:50%; right:0; left:0; bottom:auto; width:100%; display:grid; align-content:center; gap:clamp(1px,.7vw,12px); transform:translateY(-50%); color:rgba(242,242,235,.055); white-space:nowrap; pointer-events:none; animation:manifest-drift 12s ease-in-out infinite alternate; }
.hero-word::before,.hero-word::after { content:""; position:absolute; left:50%; width:min(74vw,1080px); height:1px; transform:translateX(-50%); background:linear-gradient(90deg,transparent,rgba(242,242,235,.14) 20%,rgba(216,250,66,.3) 50%,rgba(242,242,235,.14) 80%,transparent); opacity:.54; }
.hero-word::before { top:29%; }.hero-word::after { bottom:23%; }
.hero-word-line { display:block; width:100%; font:800 clamp(88px,12.4vw,242px)/.72 "Barlow Condensed",sans-serif; letter-spacing:-.065em; text-align:center; color:rgba(242,242,235,.055); -webkit-text-stroke:1px rgba(242,242,235,.07); transform:translate3d(var(--word-x,0),var(--word-y,0),0) rotate(var(--word-rotate,0deg)) scale(var(--word-scale,1)); transform-origin:50% 50%; transition:transform .72s cubic-bezier(.16,.85,.22,1),color .35s,-webkit-text-stroke-color .35s; }
.hero-word-line:nth-child(2) { font-size:clamp(136px,20.5vw,390px); color:rgba(216,250,66,.082); -webkit-text-stroke:1px rgba(216,250,66,.28); letter-spacing:-.075em; text-shadow:0 0 38px rgba(216,250,66,.055); }
.hero-word-line:nth-child(3) { font-size:clamp(86px,11.2vw,218px); letter-spacing:-.07em; }
.hero.is-inspecting .hero-word { color:rgba(216,250,66,.12); }.hero.is-inspecting .hero-word-line { color:rgba(242,242,235,.085); -webkit-text-stroke-color:rgba(242,242,235,.13); }.hero.is-inspecting .hero-word-line:nth-child(2) { color:rgba(216,250,66,.14); -webkit-text-stroke-color:rgba(216,250,66,.47); text-shadow:0 0 42px rgba(216,250,66,.12); }
@keyframes manifest-drift { 0% { transform:translateY(calc(-50% + 7px)); } 100% { transform:translateY(calc(-50% - 7px)); } }
@media(max-width:700px) { .hero-word { top:53%; gap:3px; }.hero-word::before,.hero-word::after { width:86vw; }.hero-word::before { top:25%; }.hero-word::after { bottom:22%; }.hero-word-line { font-size:clamp(42px,11.3vw,76px); -webkit-text-stroke-width:1px; }.hero-word-line:nth-child(2) { font-size:clamp(92px,25.2vw,170px); }.hero-word-line:nth-child(3) { font-size:clamp(42px,11.5vw,78px); } }
@media(prefers-reduced-motion:reduce) { .hero-word { animation:none; }.hero-word-line { transition:none; } }

/* Título fijo y su reflejo: la luz se activa por letra, no por bloque. */
.hero-title-line { display:block; white-space:pre; }.hero-title-line.is-acid { color:var(--acid); font-weight:600; }.hero-title-letter,.hero-title-space { display:inline-block; }.hero-title-letter { cursor:crosshair; }.hero-title-space,.reflection-space { width:.27em; }.hero-word { inset:0; display:block; transform:none; animation:none; }.hero-word::before,.hero-word::after { display:none; }.hero-word-line,.hero.is-inspecting .hero-word-line,.hero.is-inspecting .hero-word-line:nth-child(2) { position:absolute; width:max-content; margin:0; color:rgba(216,250,66,.095); -webkit-text-stroke:1px rgba(216,250,66,.18); text-align:left; text-shadow:none; transform:none; transition:none; pointer-events:none; }.reflection-letter,.reflection-space { display:inline-block; }.reflection-letter { color:inherit; transform:translate3d(calc(var(--reflection-x,0px) + var(--repel-x,0px)),calc(var(--reflection-y,0px) + var(--repel-y,0px)),0) rotate(var(--repel-rotate,0deg)) scale(1); transform-origin:50% 65%; transition:transform .22s cubic-bezier(.16,.85,.22,1),color .16s,filter .16s,text-shadow .16s; }.reflection-letter.is-lit { color:var(--acid); filter:brightness(1.25); text-shadow:0 0 9px rgba(216,250,66,.8),0 0 28px rgba(216,250,66,.72),0 0 58px rgba(216,250,66,.42); transform:translate3d(calc(var(--reflection-x,0px) + var(--repel-x,0px)),calc(var(--reflection-y,0px) + var(--repel-y,0px)),0) rotate(var(--repel-rotate,0deg)) scale(1.12); }

/* Reflejo ácido: tres planos cercanos que siguen el punto de vista, no el título fijo. */
.hero-word { perspective:960px; perspective-origin:50% 50%; transform-style:preserve-3d; }.hero-word-line,.hero.is-inspecting .hero-word-line,.hero.is-inspecting .hero-word-line:nth-child(2) { transform:translate3d(var(--manifest-x,0px),var(--manifest-y,0px),var(--manifest-z,0px)) rotateX(var(--manifest-rotate-x,0deg)) rotateY(var(--manifest-rotate-y,0deg)); transform-style:preserve-3d; transform-origin:50% 50%; will-change:transform; backface-visibility:hidden; }.hero-word-line:nth-child(2) { filter:drop-shadow(0 0 16px rgba(216,250,66,.08)); }.reflection-letter { transform:translate3d(calc(var(--reflection-x,0px) + var(--repel-x,0px)),calc(var(--reflection-y,0px) + var(--repel-y,0px)),0) rotate(var(--repel-rotate,0deg)) scale(1); } @media(prefers-reduced-motion:reduce) { .hero-word-line,.hero.is-inspecting .hero-word-line,.hero.is-inspecting .hero-word-line:nth-child(2) { transform:none; will-change:auto; } }

/* En celular el hero pasa de afiche superpuesto a ficha vertical de inspección. */
@media(max-width:700px) {
  .hero {
    min-height:980px;
    padding:126px 20px 178px;
    justify-content:flex-start;
  }
  .eva-pose-panel {
    top:12px;
    left:16px;
    right:16px;
  }
  .eva-pose-panel>span { margin:0 0 8px 2px; }
  .eva-pose-buttons {
    gap:3px;
    padding:3px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .eva-pose-buttons::-webkit-scrollbar { display:none; }
  .eva-pose-buttons button {
    min-height:37px;
    padding:0 11px;
    flex:0 0 auto;
    font-size:9px;
    white-space:nowrap;
    scroll-snap-align:start;
  }
  .hero .eyebrow { margin-top:0; }
  .hero h1 {
    max-width:100%;
    margin:27px 0 0;
    font-size:clamp(58px,17vw,72px);
    line-height:.8;
  }
  .hero-medusa {
    top:328px;
    right:-4vw;
    bottom:auto;
    width:108vw;
    height:400px;
    opacity:.9;
  }
  .eva-shell {
    top:328px;
    right:-4vw;
    bottom:auto;
    width:108vw;
    height:400px;
    opacity:.42;
  }
  .hero-word { top:49%; }
  .hero-foot {
    position:absolute;
    right:20px;
    bottom:111px;
    left:20px;
  }
  .hero-foot p {
    max-width:335px;
    margin-bottom:18px;
    font-size:13px;
  }
  .round-link { min-height:58px; }
  .hero-drive {
    right:20px;
    bottom:20px;
    left:20px;
  }
}

/* Compuerta del recorrido: el portafolio se habilita al completar una pulsación sostenida. */
html { scrollbar-gutter:stable; }
body.experience-locked { height:100dvh; overflow:hidden; overscroll-behavior:none; }
body.experience-locked .topbar nav,
body.experience-locked .topbar .availability { opacity:.24; pointer-events:none; }
.topbar nav,.topbar .availability { transition:opacity .35s ease; }
.hero-intro {
  --intro-charge:0;
  --intro-x:calc(100% - 5vw - 85px);
  --intro-y:calc(100% - 121px);
  position:fixed;
  top:74px;
  right:0;
  bottom:0;
  left:0;
  clip-path:circle(150% at var(--intro-x) var(--intro-y));
  transition:clip-path .78s cubic-bezier(.72,.02,.28,1),opacity .7s ease,visibility .78s step-end;
  touch-action:none;
}
.hero-intro>.hero-intro-field {
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  opacity:calc(.35 + var(--intro-charge) * .65);
  pointer-events:none;
}
.hero-intro-aperture {
  position:absolute!important;
  z-index:0!important;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  opacity:calc(.18 + var(--intro-charge) * .72);
}
.hero-intro-aperture i {
  position:absolute;
  left:var(--intro-x);
  top:var(--intro-y);
  width:150vmax;
  height:1px;
  background:linear-gradient(90deg,transparent 5%,rgba(216,250,66,.36) 35%,rgba(242,242,235,.82) 50%,rgba(216,250,66,.36) 65%,transparent 95%);
  box-shadow:0 0 14px rgba(216,250,66,.25);
  transform:translate(-50%,-50%) rotate(0deg) scaleX(calc(.18 + var(--intro-charge) * .82));
  transform-origin:center;
}
.hero-intro-aperture i:nth-child(2) { transform:translate(-50%,-50%) rotate(45deg) scaleX(calc(.18 + var(--intro-charge) * .82)); }
.hero-intro-aperture i:nth-child(3) { transform:translate(-50%,-50%) rotate(90deg) scaleX(calc(.18 + var(--intro-charge) * .82)); }
.hero-intro-aperture i:nth-child(4) { transform:translate(-50%,-50%) rotate(135deg) scaleX(calc(.18 + var(--intro-charge) * .82)); }
.hero-intro-copy strong {
  transform:scale(calc(1 + var(--intro-charge) * .035));
  filter:brightness(calc(1 + var(--intro-charge) * .55));
  text-shadow:0 0 calc(var(--intro-charge) * 54px) rgba(216,250,66,.36);
  transition:transform .12s linear,filter .12s linear,text-shadow .12s linear;
}
.hero-start {
  position:relative;
  isolation:isolate;
  overflow:visible;
  border:0;
  background:conic-gradient(from -90deg,var(--acid) calc(var(--intro-charge) * 1turn),rgba(242,242,235,.34) 0);
  color:var(--paper);
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}
.hero-start::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:4px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 42%,rgba(216,250,66,.09),transparent 46%),rgba(17,19,19,.94);
  box-shadow:inset 0 0 calc(22px + var(--intro-charge) * 56px) rgba(216,250,66,calc(.04 + var(--intro-charge) * .18));
}
.hero-start::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:calc(-10px - var(--intro-charge) * 22px);
  border:1px solid rgba(216,250,66,calc(.14 + var(--intro-charge) * .58));
  border-radius:50%;
  box-shadow:0 0 calc(var(--intro-charge) * 64px) rgba(216,250,66,.28);
  opacity:calc(.35 + var(--intro-charge) * .65);
}
.hero-start>* { position:relative; z-index:1; }
.hero-start span { font:500 9px/1.35 "IBM Plex Mono",monospace; letter-spacing:.065em; text-align:center; }
.hero-start em { position:absolute; top:27px; color:var(--acid); font:500 8px/1 "IBM Plex Mono",monospace; font-style:normal; }
.hero-start b { position:absolute; bottom:27px; transition:transform .18s ease; }
.hero-start:hover,.hero-start:focus-visible {
  border:0;
  background:conic-gradient(from -90deg,var(--acid) calc(var(--intro-charge) * 1turn),rgba(242,242,235,.52) 0);
  color:var(--paper);
  transform:scale(1.035);
  outline:1px solid var(--acid);
  outline-offset:8px;
}
.hero-start.is-holding { transform:scale(.97); }
.hero-start.is-holding b { transform:translateX(7px); }
.hero-start.is-complete { color:var(--acid); }
.hero-intro.is-holding::before { opacity:calc(.7 + var(--intro-charge) * .3); }
.hero-intro.is-unlocking .hero-intro-copy,
.hero-intro.is-unlocking .hero-intro-mark,
.hero-intro.is-unlocking .hero-intro-note { opacity:0; transform:scale(1.035); transition:opacity .32s ease,transform .55s ease; }
.hero-started .hero-intro {
  clip-path:circle(0 at var(--intro-x) var(--intro-y));
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.hero-intro-note { max-width:280px; line-height:1.5; }

@media(max-width:700px) {
  .hero-intro {
    --intro-x:calc(100% - 20px - 67px);
    --intro-y:calc(100% - 93px);
    top:63px;
  }
  .hero-start { width:134px; min-height:134px; }
  .hero-start em { top:21px; }
  .hero-start b { bottom:21px; }
  .hero-intro-note { display:block; max-width:170px; align-self:end; font-size:7px; }
}

@media(prefers-reduced-motion:reduce) {
  .hero-intro-field,.hero-intro-aperture { display:none; }
  .hero-intro-copy strong,.hero-start,.hero-start::after { transition:none; }
  .hero-started .hero-intro { clip-path:none; }
}

/* La compuerta activa el recorrido, no transforma visualmente al personaje. */
.hero.is-charged::after { display:none; }
.hero.is-charged .hero-medusa {
  filter:drop-shadow(-26px 8px 38px rgba(0,0,0,.6)) saturate(.88) contrast(1.13);
}

/* Los controles conservan jerarquía cuando el zoom reduce el alto útil. */
.hero-drive { transition:opacity .24s ease,transform .24s ease,visibility .24s step-end; }
.hero.is-charged .hero-drive {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
}

@media (min-width:701px) and (max-width:1250px),
       (min-width:701px) and (max-height:720px) {
  .eva-pose-panel {
    right:3vw;
    max-width:min(610px,62vw);
    min-width:0;
    gap:8px;
  }
  .eva-pose-panel>span {
    flex:0 0 auto;
    white-space:nowrap;
  }
  .eva-pose-buttons {
    flex:1 1 auto;
    min-width:0;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%);
  }
  .eva-pose-buttons::-webkit-scrollbar { display:none; }
  .eva-pose-buttons button {
    flex:0 0 auto;
    min-height:34px;
    padding:0 10px;
    white-space:nowrap;
  }
}

/* Edición directa del contenido general: visible sólo cuando responde la API local. */
.page-editor {
  position:fixed;
  z-index:70;
  left:18px;
  bottom:18px;
  pointer-events:none;
}
.page-editor[hidden],.page-edit-actions[hidden],.page-edit-toggle[hidden] { display:none; }
.page-edit-toggle,.page-edit-actions button {
  pointer-events:auto;
  min-height:40px;
  border:1px solid rgba(216,250,66,.52);
  background:rgba(17,19,19,.94);
  color:var(--acid);
  font:600 9px "IBM Plex Mono",monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 12px 32px rgba(0,0,0,.3);
}
.page-edit-toggle { padding:0 15px; }
.page-edit-toggle:hover,.page-edit-toggle:focus-visible,
.page-edit-actions button:hover,.page-edit-actions button:focus-visible {
  border-color:var(--acid);
  background:var(--acid);
  color:var(--ink);
  outline:none;
}
.page-edit-actions {
  position:fixed;
  z-index:70;
  left:50%;
  bottom:18px;
  display:flex;
  align-items:center;
  gap:8px;
  width:min(720px,calc(100vw - 36px));
  box-sizing:border-box;
  padding:8px;
  transform:translateX(-50%);
  border:1px solid rgba(216,250,66,.52);
  background:rgba(17,19,19,.97);
  box-shadow:0 18px 55px rgba(0,0,0,.48);
  pointer-events:auto;
}
.page-edit-actions span {
  flex:1;
  padding:0 8px;
  color:#c9cec5;
  font:500 9px/1.4 "IBM Plex Mono",monospace;
}
.page-edit-actions button { padding:0 12px; }
#page-edit-save { background:var(--acid); color:var(--ink); }
.page-edit-actions button:disabled { opacity:.55; cursor:wait; }
.page-edit-tones { display:flex; gap:5px; }
.page-edit-tones button { min-width:58px; box-shadow:none; }
.page-edit-tones button[data-page-tone="white"] { color:var(--paper); border-color:rgba(242,242,235,.5); }
.page-edit-tones button[aria-pressed="true"] { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.page-edit-tones button[data-page-tone="green"][aria-pressed="true"] { background:var(--acid); border-color:var(--acid); }
[data-page-tone="white"],[data-page-tone="white"] * { color:var(--paper)!important; }
[data-page-tone="green"],[data-page-tone="green"] * { color:var(--acid)!important; }
.experience-locked .page-editor { opacity:0; pointer-events:none; }
body.is-page-editing [contenteditable="true"] {
  border-radius:1px;
  outline:1px dashed rgba(216,250,66,.72);
  outline-offset:7px;
  background:rgba(216,250,66,.055);
  caret-color:var(--acid);
  transition:background .18s ease,outline-color .18s ease;
}
body.is-page-editing [contenteditable="true"]:hover {
  outline-color:var(--acid);
  background:rgba(216,250,66,.09);
}
body.is-page-editing [contenteditable="true"]:focus {
  outline:2px solid var(--acid);
  background:rgba(216,250,66,.12);
}
body.is-page-editing [contenteditable="true"].is-color-target { outline-style:solid; box-shadow:0 0 0 4px rgba(216,250,66,.08); }
body.is-page-editing { padding-bottom:88px; }

/* Durante la descarga del rig no se expone la ilustración plana como si fuera el EVA final. */
.hero-medusa[data-rig-state="booting"],
.hero-medusa[data-rig-state="loading"] { cursor:wait; }
.hero-medusa[data-rig-state="booting"] img,
.hero-medusa[data-rig-state="loading"] img { opacity:0; transform:scale(.9); }
.hero-medusa[data-rig-state="booting"]::before,
.hero-medusa[data-rig-state="loading"]::before {
  content:"";
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:min(28vw,190px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border:1px solid rgba(216,250,66,.44);
  border-radius:50%;
  background:linear-gradient(90deg,transparent 49.5%,rgba(216,250,66,.42) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,rgba(216,250,66,.42) 50%,transparent 50.5%),radial-gradient(circle,rgba(216,250,66,.18) 0 2px,transparent 2.5px);
  background-size:100% 100%,100% 100%,18px 18px;
  box-shadow:0 0 0 18px rgba(216,250,66,.035),0 0 58px rgba(216,250,66,.12);
  animation:eva-sync 1.35s linear infinite;
  pointer-events:none;
}
.hero-medusa[data-rig-state="booting"]::after,
.hero-medusa[data-rig-state="loading"]::after {
  content:"EVA-01 / SINCRONIZANDO";
  position:absolute;
  z-index:2;
  left:50%;
  top:calc(50% + min(17vw,116px));
  transform:translateX(-50%);
  padding:7px 9px;
  border:1px solid rgba(216,250,66,.28);
  background:rgba(17,19,19,.86);
  color:var(--acid);
  font:500 8px/1 "IBM Plex Mono",monospace;
  letter-spacing:.07em;
  white-space:nowrap;
  pointer-events:none;
}
.hero-medusa[data-rig-state="failed"] img,
.hero-medusa[data-rig-state="unsupported"] img { opacity:.42; filter:grayscale(.24) contrast(.86) brightness(.72); }
.hero-medusa.is-3d::before,
.hero-medusa.is-3d::after { opacity:0; transition:opacity .24s ease; }
@keyframes eva-sync { to { transform:translate(-50%,-50%) rotate(1turn); } }

@media(max-width:700px) {
  .page-editor { left:10px; bottom:10px; }
  .page-edit-toggle { min-height:44px; }
  .page-edit-actions {
    bottom:10px;
    width:calc(100vw - 20px);
    display:grid;
    grid-template-columns:1fr 1fr;
    padding:9px;
  }
  .page-edit-actions span { grid-column:1/-1; padding:3px 4px; }
  .page-edit-tones { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
  .page-edit-actions button { min-height:44px; }
  body.is-page-editing { padding-bottom:136px; }
  body.is-page-editing [contenteditable="true"] { outline-offset:4px; }
  .hero-medusa[data-rig-state="booting"]::before,
  .hero-medusa[data-rig-state="loading"]::before { width:142px; }
  .hero-medusa[data-rig-state="booting"]::after,
  .hero-medusa[data-rig-state="loading"]::after { top:calc(50% + 87px); }
}
@media(prefers-reduced-motion:reduce) {
  .hero-medusa[data-rig-state="booting"]::before,
  .hero-medusa[data-rig-state="loading"]::before { animation:none; }
}

/* Selector de color dentro de las fichas de proyecto. */
.modal-edit-tones { display:flex; gap:5px; }
.modal-edit-tones button { min-width:58px; }
.modal-edit-tones button[aria-pressed="false"] { background:rgba(17,19,19,.94); color:var(--acid); }
.modal-edit-tones button[data-project-tone="white"][aria-pressed="false"] { color:var(--paper); border-color:rgba(242,242,235,.5); }
.modal-edit-tones button[aria-pressed="true"] { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.modal-edit-tones button[data-project-tone="green"][aria-pressed="true"] { background:var(--acid); border-color:var(--acid); }
dialog.is-editing [contenteditable="true"].is-color-target { outline-style:solid; box-shadow:0 0 0 4px rgba(216,250,66,.08); }
dialog.is-editing .panel-launcher,dialog.is-editing .panel-demo { pointer-events:none; opacity:.42; }

@media(max-width:700px) {
  .modal-edit-tones { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
  dialog.is-editing { padding-bottom:184px; }
}

/* Demo del Panel de agentes: una consola operativa, no otro chat genérico. */
.panel-launcher{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;min-height:188px;margin-top:28px;padding:30px 34px;overflow:hidden;border:1px solid rgba(116,117,255,.5);background:linear-gradient(112deg,rgba(116,117,255,.16),rgba(16,18,17,.97) 48%,rgba(216,250,66,.06))}.panel-launcher[hidden],.panel-demo[hidden]{display:none}.panel-launcher::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(116,117,255,.13) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(116,117,255,.08) 50%,transparent 50.2%);background-size:32px 32px;mask-image:linear-gradient(90deg,#000,transparent 70%);pointer-events:none}.panel-launcher>div,.panel-launcher>button{position:relative}.panel-launcher span,.panel-demo-head span,.panel-projects>span,.panel-context>span{display:block;color:#9c9dff;font:500 9px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.panel-launcher strong{display:block;margin-top:10px;font:800 clamp(29px,3.5vw,49px)/.86 "Barlow Condensed",sans-serif;text-transform:uppercase}.panel-launcher p{margin:13px 0 0;color:#bfc5bb;font-size:12px}.panel-launcher>button{width:176px;height:116px;padding:17px;border:1px solid #8e90ff;background:#7475ff;color:#fff;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;align-items:start;text-align:left;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}.panel-launcher button small{grid-column:1/-1;font:600 8px "IBM Plex Mono",monospace;text-transform:uppercase}.panel-launcher button b{align-self:end;font:800 23px/.9 "Barlow Condensed",sans-serif;text-transform:uppercase}.panel-launcher button em{align-self:end;font:400 27px/1 Arial,sans-serif}.panel-launcher button:hover,.panel-launcher button:focus-visible{transform:translateY(-5px);background:var(--acid);color:var(--ink);box-shadow:0 14px 40px rgba(116,117,255,.25);outline:none}
.panel-demo{margin-top:56px;padding-top:38px;border-top:1px solid var(--line);scroll-margin-top:62px}.panel-demo.is-arriving .panel-demo-shell{animation:electro-arrive .7s cubic-bezier(.2,.8,.2,1)}.panel-demo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:24px}.panel-demo-head h3{margin:8px 0 7px;font:800 clamp(36px,5vw,60px)/.85 "Barlow Condensed",sans-serif;text-transform:uppercase}.panel-demo-head p{max-width:590px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.panel-demo-live{flex:none;padding:10px 12px;border:1px solid rgba(116,117,255,.38);color:#c9cec5;font:500 9px "IBM Plex Mono",monospace;text-transform:uppercase}.panel-demo-live i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 12px var(--acid)}.panel-demo-shell{display:grid;grid-template-columns:190px minmax(0,1fr) 205px;min-height:500px;border:1px solid rgba(116,117,255,.35);background:#0e1010}.panel-projects,.panel-context{padding:18px 14px;background:#131615}.panel-projects{border-right:1px solid var(--line)}.panel-projects>span,.panel-context>span{margin:0 6px 16px}.panel-projects button{width:100%;display:grid;grid-template-columns:28px 1fr;gap:2px 8px;padding:11px 9px;border:1px solid transparent;background:transparent;color:#c8cdc4;text-align:left;cursor:pointer}.panel-projects button+button{margin-top:5px}.panel-projects button.is-active{border-color:rgba(116,117,255,.45);background:rgba(116,117,255,.11)}.panel-projects button i{grid-row:1/3;font-style:normal}.panel-projects button b{font-size:11px}.panel-projects button small{color:var(--muted);font:500 7px "IBM Plex Mono",monospace}.panel-workspace{min-width:0;display:flex;flex-direction:column}.panel-agent-bar{min-height:62px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);background:#171a18}.panel-agent-bar>div{display:flex;align-items:center;gap:10px}.panel-agent-bar i{width:32px;height:32px;display:grid;place-items:center;border:1px solid #7475ff;color:#aeb0ff;font:700 9px "IBM Plex Mono",monospace;font-style:normal}.panel-agent-bar span{display:grid;gap:3px}.panel-agent-bar b{font-size:11px}.panel-agent-bar small{color:var(--muted);font:500 8px "IBM Plex Mono",monospace}.panel-agent-bar>strong{color:var(--acid);font:600 8px "IBM Plex Mono",monospace;letter-spacing:.06em}.panel-task-options{display:flex;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line);overflow-x:auto}.panel-task-options button{flex:none;padding:8px 10px;border:1px solid rgba(242,242,235,.17);background:transparent;color:#bdc2b9;font:500 8px "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}.panel-task-options button:hover,.panel-task-options button:focus-visible{border-color:#7475ff;color:#aaaaff;outline:none}.panel-task-options button:disabled{opacity:.4;cursor:wait}.panel-activity{height:315px;padding:18px;overflow:auto;display:flex;flex-direction:column;gap:11px}.panel-empty{margin:auto;text-align:center}.panel-empty b{font:700 25px "Barlow Condensed",sans-serif;text-transform:uppercase}.panel-empty p{color:var(--muted);font-size:11px}.panel-event{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:11px;border:1px solid rgba(242,242,235,.1);background:#171a18}.panel-event>i{width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(116,117,255,.55);color:#aaaaff;font:600 8px "IBM Plex Mono",monospace;font-style:normal}.panel-event b{font-size:11px}.panel-event p{margin:5px 0 0;color:#bfc5bb;font-size:10px;line-height:1.5}.panel-event-user{margin-left:12%;border-color:rgba(216,250,66,.2);background:rgba(216,250,66,.045)}.panel-event-user>i,.panel-event-done>i{border-color:var(--acid);color:var(--acid)}.panel-event.is-running{border-color:rgba(116,117,255,.65);box-shadow:inset 3px 0 #7475ff}.panel-event.is-running b::after{content:"";display:inline-block;width:16px;height:5px;margin-left:7px;background:radial-gradient(circle,#aaaaff 1px,transparent 1.5px) 0 50%/5px 5px repeat-x;animation:demo-thinking .85s linear infinite}.panel-event.is-complete{opacity:.66}.panel-file{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-top:10px;padding:9px;border:1px solid rgba(216,250,66,.25);background:rgba(216,250,66,.055);color:var(--paper);text-align:left;cursor:pointer}.panel-file span{color:var(--acid);font:600 7px "IBM Plex Mono",monospace}.panel-file b{font:500 9px "IBM Plex Mono",monospace}.panel-file em{color:var(--muted);font:500 7px "IBM Plex Mono",monospace;font-style:normal}.panel-command{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:auto;padding:12px 14px;border-top:1px solid var(--line);background:#171a18}.panel-command input{min-width:0;min-height:42px;padding:0 11px;border:1px solid rgba(242,242,235,.18);border-radius:0;background:#0e1010;color:var(--paper);font:400 10px "IBM Plex Mono",monospace;outline:none}.panel-command input:focus{border-color:#7475ff}.panel-command button{padding:0 14px;border:0;background:#7475ff;color:#fff;font:600 9px "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}.panel-command button:disabled{opacity:.4;cursor:wait}.panel-context{border-left:1px solid var(--line)}.panel-context div{display:grid;gap:4px;padding:12px 6px;border-bottom:1px solid var(--line)}.panel-context small{color:var(--muted);font:500 7px "IBM Plex Mono",monospace;text-transform:uppercase}.panel-context b{font-size:10px}.panel-context p{margin:18px 6px;color:#9ea49b;font-size:10px;line-height:1.55}
@media(max-width:800px){.panel-launcher{display:block;min-height:0;padding:24px 20px}.panel-launcher strong{font-size:34px}.panel-launcher>button{width:100%;height:72px;margin-top:22px}.panel-demo{margin-top:38px;padding-top:30px}.panel-demo-head{display:block}.panel-demo-live{display:inline-block;margin-top:16px}.panel-demo-shell{display:block}.panel-projects{display:flex;gap:6px;padding:12px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.panel-projects>span{display:none}.panel-projects button{flex:0 0 150px}.panel-context{display:grid;grid-template-columns:repeat(3,1fr);padding:12px;border-left:0;border-top:1px solid var(--line)}.panel-context>span,.panel-context>p{grid-column:1/-1}.panel-context>span{margin:0 6px 7px}.panel-context>p{margin:12px 6px 3px}.panel-context div{padding:10px 6px}.panel-activity{height:330px;padding:14px}.panel-command{grid-template-columns:1fr}.panel-command button{min-height:42px}}
@media(prefers-reduced-motion:reduce){.panel-demo.is-arriving .panel-demo-shell,.panel-event.is-running b::after{animation:none}}

/* Los pedidos sugeridos se anuncian como acciones táctiles antes de que el visitante escriba. */
.electro-examples button {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-color:rgba(216,250,66,.4);
  color:#e2e8dc;
  box-shadow:0 0 0 0 rgba(216,250,66,0);
  animation:demo-suggestion-pulse 3.6s ease-in-out infinite;
}
.electro-examples button:nth-child(2) { animation-delay:.28s; }
.electro-examples button:nth-child(3) { animation-delay:.56s; }
.electro-examples button::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-1px;
  width:42%;
  background:linear-gradient(100deg,transparent,rgba(216,250,66,.2),transparent);
  transform:skewX(-18deg) translateX(-180%);
  animation:demo-suggestion-scan 3.6s ease-in-out infinite;
}
.electro-examples button:nth-child(2)::before { animation-delay:.28s; }
.electro-examples button:nth-child(3)::before { animation-delay:.56s; }
.electro-examples button::after { content:" ↗"; color:var(--acid); }
.electro-examples button:hover,.electro-examples button:focus-visible {
  background:rgba(216,250,66,.12);
  box-shadow:0 0 22px rgba(216,250,66,.2);
}
@keyframes demo-suggestion-pulse {
  0%,58%,100% { border-color:rgba(216,250,66,.28); box-shadow:0 0 0 rgba(216,250,66,0); transform:translateY(0); }
  68% { border-color:var(--acid); box-shadow:0 0 18px rgba(216,250,66,.22),inset 0 0 12px rgba(216,250,66,.06); transform:translateY(-2px); }
  78% { border-color:rgba(216,250,66,.48); box-shadow:0 0 8px rgba(216,250,66,.1); transform:translateY(0); }
}
@keyframes demo-suggestion-scan {
  0%,55% { transform:skewX(-18deg) translateX(-180%); }
  75%,100% { transform:skewX(-18deg) translateX(360%); }
}
@media(prefers-reduced-motion:reduce) {
  .electro-examples button,.electro-examples button::before { animation:none; }
  .electro-examples button { border-color:var(--acid); box-shadow:0 0 12px rgba(216,250,66,.12); }
}

/* Guía efímera: entra, apunta una respuesta y representa un clic sin interceptar el toque. */
.demo-guided-options { position:relative; }
.demo-click-guide {
  position:absolute;
  z-index:6;
  left:0;
  top:0;
  width:28px;
  height:32px;
  opacity:0;
  pointer-events:none;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.75));
}
.demo-click-guide i {
  position:absolute;
  z-index:2;
  left:0;
  top:0;
  width:21px;
  height:27px;
  background:var(--paper);
  clip-path:polygon(0 0,0 91%,27% 68%,44% 100%,58% 92%,42% 62%,76% 60%);
  filter:drop-shadow(0 0 1px #111);
}
.demo-click-guide b {
  position:absolute;
  z-index:1;
  left:-10px;
  top:-10px;
  width:34px;
  height:34px;
  border:2px solid var(--acid);
  border-radius:50%;
  opacity:0;
}
.demo-guided-options.is-guiding-click .demo-click-guide { animation:demo-cursor-click 3.2s cubic-bezier(.2,.75,.2,1) both; }
.demo-guided-options.is-guiding-click .demo-click-guide b { animation:demo-cursor-ring 3.2s ease both; }
.demo-guided-options.is-guiding-click button:first-of-type { animation:demo-guided-button 3.2s ease both; }
@keyframes demo-cursor-click {
  0% { opacity:0; transform:translate(245px,-35px) scale(.86); }
  15% { opacity:1; }
  48% { opacity:1; transform:translate(88px,12px) scale(1); }
  55% { transform:translate(88px,12px) scale(.82); }
  63% { transform:translate(88px,12px) scale(1); }
  82% { opacity:1; transform:translate(88px,12px) scale(1); }
  100% { opacity:0; transform:translate(88px,12px) scale(1); }
}
@keyframes demo-cursor-ring {
  0%,48% { opacity:0; transform:scale(.2); }
  53% { opacity:.95; transform:scale(.35); }
  72% { opacity:0; transform:scale(1.5); }
  100% { opacity:0; }
}
@keyframes demo-guided-button {
  0%,43%,100% { border-color:rgba(216,250,66,.3); box-shadow:0 0 0 rgba(216,250,66,0); }
  52%,66% { border-color:var(--acid); background:rgba(216,250,66,.14); box-shadow:0 0 25px rgba(216,250,66,.28),inset 0 0 16px rgba(216,250,66,.09); }
}
@media(max-width:700px) {
  @keyframes demo-cursor-click {
    0% { opacity:0; transform:translate(255px,-30px) scale(.86); }
    15% { opacity:1; }
    48% { opacity:1; transform:translate(82px,12px) scale(1); }
    55% { transform:translate(82px,12px) scale(.82); }
    63%,82% { opacity:1; transform:translate(82px,12px) scale(1); }
    100% { opacity:0; transform:translate(82px,12px) scale(1); }
  }
}
@media(prefers-reduced-motion:reduce) { .demo-click-guide { display:none; } }

/* Demo Luz&Fuerza: una reserva completa resumida en cuatro decisiones. */
.stay-launcher{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;min-height:188px;margin-top:28px;padding:30px 34px;overflow:hidden;border:1px solid rgba(101,213,224,.42);background:linear-gradient(112deg,rgba(101,213,224,.13),rgba(16,18,17,.97) 52%,rgba(216,250,66,.06))}.stay-launcher[hidden],.stay-demo[hidden]{display:none}.stay-launcher::before{content:"";position:absolute;right:-70px;top:-90px;width:330px;height:330px;border:1px solid rgba(101,213,224,.18);border-radius:50%;box-shadow:0 0 0 30px rgba(101,213,224,.025),0 0 0 70px rgba(101,213,224,.018)}.stay-launcher>div,.stay-launcher>button{position:relative}.stay-launcher span,.stay-demo-head span,.stay-step>span{display:block;color:#65d5e0;font:500 9px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.stay-launcher strong{display:block;margin-top:10px;font:800 clamp(29px,3.5vw,49px)/.86 "Barlow Condensed",sans-serif;text-transform:uppercase}.stay-launcher p{margin:13px 0 0;color:#bfc5bb;font-size:12px}.stay-launcher>button{width:176px;height:116px;padding:17px;border:1px solid #65d5e0;background:#65d5e0;color:var(--ink);display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;align-items:start;text-align:left;cursor:pointer;transition:transform .25s,box-shadow .25s}.stay-launcher button small{grid-column:1/-1;font:600 8px "IBM Plex Mono",monospace;text-transform:uppercase}.stay-launcher button b{align-self:end;font:800 22px/.9 "Barlow Condensed",sans-serif;text-transform:uppercase}.stay-launcher button em{align-self:end;font:400 27px/1 Arial,sans-serif}.stay-launcher button:hover,.stay-launcher button:focus-visible{transform:translateY(-5px);background:var(--acid);border-color:var(--acid);box-shadow:0 14px 40px rgba(101,213,224,.2);outline:none}.stay-demo{margin-top:56px;padding-top:38px;border-top:1px solid var(--line);scroll-margin-top:62px}.stay-demo.is-arriving .stay-demo-shell{animation:electro-arrive .7s cubic-bezier(.2,.8,.2,1)}.stay-demo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:24px}.stay-demo-head h3{margin:8px 0 7px;font:800 clamp(36px,5vw,60px)/.85 "Barlow Condensed",sans-serif;text-transform:uppercase}.stay-demo-head p{margin:0;color:var(--muted);font-size:13px}.stay-demo-signal{flex:none;padding:10px 12px;border:1px solid rgba(101,213,224,.3);color:#c9cec5;font:500 9px "IBM Plex Mono",monospace;text-transform:uppercase}.stay-demo-signal i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#65d5e0;box-shadow:0 0 12px #65d5e0}.stay-demo-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);border:1px solid rgba(101,213,224,.28);background:#0e1010}.stay-form{padding:22px;border-right:1px solid var(--line)}.stay-step{padding:0 0 19px}.stay-step+.stay-step{padding-top:19px;border-top:1px solid var(--line)}.stay-step>span{margin-bottom:11px}.stay-step label{display:grid;gap:6px;color:#c4cac0;font-size:11px}.stay-step input{width:100%;min-height:43px;padding:0 11px;border:1px solid rgba(242,242,235,.18);border-radius:0;background:#151817;color:var(--paper);font:500 11px "IBM Plex Mono",monospace;outline:none}.stay-step input:focus{border-color:#65d5e0}.stay-step>small{display:block;margin-top:8px;color:#7fca9b;font:500 8px "IBM Plex Mono",monospace}.stay-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stay-guests{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stay-payment{display:flex;gap:7px}.stay-payment button{flex:1;min-height:42px;border:1px solid rgba(242,242,235,.18);background:transparent;color:#c3c8bf;font:500 8px "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}.stay-payment button[aria-pressed="true"]{border-color:#65d5e0;background:rgba(101,213,224,.12);color:#87e9f1}.stay-submit{width:100%;min-height:50px;border:0;background:#65d5e0;color:var(--ink);font:700 9px "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}.stay-submit:disabled{opacity:.55;cursor:wait}.stay-result{min-width:0;padding:25px;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:18px 18px}.stay-result-empty{min-height:430px;display:flex;flex-direction:column;justify-content:center}.stay-result-empty b{font:800 29px "Barlow Condensed",sans-serif;text-transform:uppercase}.stay-result-empty p{max-width:245px;color:var(--muted);font-size:11px;line-height:1.55}.stay-result-empty.is-loading b{color:#65d5e0}.stay-result-empty.is-error b{color:#ff8469}.stay-result>span{color:#65d5e0;font:500 9px "IBM Plex Mono",monospace;text-transform:uppercase}.stay-result>strong{display:block;margin:12px 0 24px;font:800 35px/.9 "Barlow Condensed",sans-serif}.stay-result-data{display:grid;grid-template-columns:2fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stay-result-data p{display:grid;gap:6px;margin:0;padding:14px 8px}.stay-result-data p+p{border-left:1px solid var(--line)}.stay-result-data small{color:var(--muted);font:500 7px "IBM Plex Mono",monospace;text-transform:uppercase}.stay-result-data b{font-size:10px}.stay-rate{display:flex;align-items:end;justify-content:space-between;gap:15px;padding:22px 0}.stay-rate span{color:var(--muted);font:500 8px "IBM Plex Mono",monospace;text-transform:uppercase}.stay-rate b{color:var(--acid);font:800 26px "Barlow Condensed",sans-serif}.stay-next{min-height:50px;color:#c8cec4;font-size:11px;line-height:1.55}.stay-result>button{width:100%;min-height:46px;border:1px solid var(--acid);background:var(--acid);color:var(--ink);font:700 9px "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}.stay-stamp{display:block;margin-top:10px;color:#ff8469;text-align:center;font:500 7px "IBM Plex Mono",monospace}.stay-payment .demo-click-guide{top:1px}
@media(max-width:700px){.stay-launcher{display:block;min-height:0;padding:24px 20px}.stay-launcher strong{font-size:34px}.stay-launcher>button{width:100%;height:72px;margin-top:22px}.stay-demo{margin-top:38px;padding-top:30px}.stay-demo-head{display:block}.stay-demo-signal{display:inline-block;margin-top:16px}.stay-demo-shell{display:block}.stay-form{padding:17px;border-right:0;border-bottom:1px solid var(--line)}.stay-date-grid{grid-template-columns:1fr 1fr}.stay-guests{grid-template-columns:repeat(3,1fr)}.stay-result{padding:20px}.stay-result-empty{min-height:220px}.stay-result-data{grid-template-columns:1.6fr .7fr .7fr}}
@media(prefers-reduced-motion:reduce){.stay-demo.is-arriving .stay-demo-shell{animation:none}}

/* Cierre comercial común de las demos: lleva la prueba al contexto real del visitante. */
.demo-contact{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;margin-top:14px;padding:22px 24px;border:1px solid rgba(216,250,66,.32);background:linear-gradient(100deg,rgba(216,250,66,.075),rgba(15,17,16,.96) 56%)}.demo-contact span{display:block;margin-bottom:7px;color:var(--acid);font:500 8px "IBM Plex Mono",monospace;letter-spacing:.07em;text-transform:uppercase}.demo-contact strong{display:block;max-width:620px;font:700 clamp(20px,2.4vw,30px)/1 "Barlow Condensed",sans-serif;text-transform:uppercase}.demo-contact a{min-height:52px;display:flex;align-items:center;justify-content:center;gap:18px;padding:0 18px;border:1px solid var(--acid);background:var(--acid);color:var(--ink);font:700 9px "IBM Plex Mono",monospace;text-transform:uppercase;transition:background .2s,transform .2s,box-shadow .2s}.demo-contact a b{font-size:18px;transition:transform .2s}.demo-contact a:hover,.demo-contact a:focus-visible{background:var(--paper);transform:translateY(-2px);box-shadow:0 10px 30px rgba(216,250,66,.15);outline:none}.demo-contact a:hover b,.demo-contact a:focus-visible b{transform:translate(3px,-3px)}
@media(max-width:700px){.demo-contact{display:block;padding:19px}.demo-contact strong{font-size:24px}.demo-contact a{margin-top:18px;min-height:50px;text-align:center}}

/* El color parcial siempre prevalece sobre el tono elegido para el bloque completo. */
[data-inline-tone="white"],[data-page-tone] [data-inline-tone="white"] { color:var(--paper)!important; }
[data-inline-tone="green"],[data-page-tone] [data-inline-tone="green"] { color:var(--acid)!important; }
body.is-page-editing [data-inline-tone],dialog.is-editing [data-inline-tone] { border-radius:2px; box-shadow:inset 0 -1px rgba(216,250,66,.45); }

/* Casos que ya se pueden probar desde la ficha. */
.project-live{position:absolute;left:55px;top:15px;display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid rgba(216,250,66,.32);background:rgba(14,16,15,.78);color:var(--acid);font:600 7px "IBM Plex Mono",monospace;letter-spacing:.065em;text-transform:uppercase;box-shadow:0 0 18px rgba(216,250,66,.08)}.project-live>i{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 0 rgba(216,250,66,.45);animation:live-demo-ping 2.2s ease-out infinite}.project.has-live-demo{box-shadow:inset 0 0 0 1px rgba(216,250,66,.25)}.project.has-live-demo::before{opacity:.5;background:linear-gradient(108deg,transparent 25%,rgba(216,250,66,.11) 42%,transparent 58%);transform:translateX(-115%);animation:live-card-scan 5.2s ease-in-out infinite}.project.has-live-demo:hover{box-shadow:inset 0 0 0 1px rgba(216,250,66,.66),0 0 28px rgba(216,250,66,.12)}.project-live-field{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}.project-live-field i{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--acid);box-shadow:0 0 9px var(--acid);opacity:.22;animation:live-card-particle 4.4s ease-in-out infinite}.project-live-field i:nth-child(1){left:10%;top:72%;animation-delay:-.4s}.project-live-field i:nth-child(2){left:25%;top:23%;animation-delay:-2.1s}.project-live-field i:nth-child(3){left:46%;top:83%;animation-delay:-1.4s}.project-live-field i:nth-child(4){left:62%;top:16%;animation-delay:-3.2s}.project-live-field i:nth-child(5){left:74%;top:67%;animation-delay:-.9s}.project-live-field i:nth-child(6){left:87%;top:38%;animation-delay:-2.7s}.project-live-field i:nth-child(7){left:94%;top:84%;animation-delay:-1.8s}@keyframes live-demo-ping{0%{box-shadow:0 0 0 0 rgba(216,250,66,.5)}70%,100%{box-shadow:0 0 0 8px rgba(216,250,66,0)}}@keyframes live-card-scan{0%,62%,100%{transform:translateX(-115%)}82%{transform:translateX(115%)}}@keyframes live-card-particle{0%,100%{opacity:.12;transform:translate3d(-5px,7px,0) scale(.7)}50%{opacity:.85;transform:translate3d(9px,-11px,0) scale(1.35)}}
.project-collection+.project-collection{margin-top:72px}.project-collection-head{display:flex;align-items:end;justify-content:space-between;gap:34px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid var(--line)}.project-collection-head span{display:block;margin-bottom:8px;color:var(--acid);font:500 8px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.project-collection-head h3{margin:0;font:800 clamp(31px,4vw,54px)/.82 "Barlow Condensed",sans-serif;letter-spacing:-.025em}.project-collection-head p{max-width:390px;margin:0;color:var(--muted);font-size:11px;line-height:1.55}.project-grid-live{grid-template-columns:repeat(2,minmax(0,1fr));border-color:rgba(216,250,66,.28);background:rgba(216,250,66,.28)}.project-grid-live .project h3{font-size:clamp(30px,7cqw,58px)}
@media(max-width:700px){.project-collection+.project-collection{margin-top:54px}.project-collection-head{display:block}.project-collection-head p{margin-top:12px}.project-grid-live{grid-template-columns:1fr}}

/* Las demos se distinguen sin transformarse en afiches gigantes. */
.project-grid-live .project{min-height:clamp(270px,22vw,340px);aspect-ratio:auto}
.project-grid-live .project h3{margin-top:clamp(30px,3vw,48px);font-size:clamp(30px,6cqw,52px)}
.project-grid-live .project p{min-height:0}
@media(max-width:700px){.project-grid-live .project{min-height:230px;padding:19px}.project-grid-live .project h3{margin-top:30px}}

/* Demo Unimed: el turno se lee de un lado y la sincronización de agendas del otro. */
.unimed-launcher{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;min-height:188px;margin-top:28px;padding:30px 34px;overflow:hidden;border:1px solid rgba(255,104,74,.42);background:linear-gradient(112deg,rgba(255,104,74,.12),rgba(16,18,17,.97) 52%,rgba(116,117,255,.07))}.unimed-launcher[hidden],.unimed-demo[hidden]{display:none}.unimed-launcher::before{content:"+";position:absolute;right:205px;top:-68px;color:rgba(255,104,74,.08);font:800 260px/.8 "Barlow Condensed",sans-serif}.unimed-launcher>div,.unimed-launcher>button{position:relative}.unimed-launcher span,.unimed-demo-head span,.unimed-flow section>span{display:block;color:#ff8469;font:500 9px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.unimed-launcher strong{display:block;margin-top:10px;font:800 clamp(29px,3.5vw,49px)/.86 "Barlow Condensed",sans-serif;text-transform:uppercase}.unimed-launcher p{margin:13px 0 0;color:#bfc5bb;font-size:12px}.unimed-launcher>button{width:176px;height:116px;padding:17px;border:1px solid #ff684a;background:#ff684a;color:#111;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;align-items:start;text-align:left;cursor:pointer;transition:transform .25s,box-shadow .25s}.unimed-launcher button small{grid-column:1/-1;font:600 8px "IBM Plex Mono",monospace;text-transform:uppercase}.unimed-launcher button b{align-self:end;font:800 22px/.9 "Barlow Condensed",sans-serif;text-transform:uppercase}.unimed-launcher button em{align-self:end;font:400 27px/1 Arial,sans-serif}.unimed-launcher button:hover,.unimed-launcher button:focus-visible{transform:translateY(-5px);background:var(--acid);border-color:var(--acid);box-shadow:0 14px 40px rgba(255,104,74,.2);outline:none}.unimed-demo{margin-top:56px;padding-top:38px;border-top:1px solid var(--line);scroll-margin-top:62px}.unimed-demo.is-arriving .unimed-demo-shell{animation:electro-arrive .7s cubic-bezier(.2,.8,.2,1)}.unimed-demo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:24px}.unimed-demo-head h3{margin:8px 0 7px;font:800 clamp(36px,5vw,60px)/.85 "Barlow Condensed",sans-serif;text-transform:uppercase}.unimed-demo-head p{margin:0;color:var(--muted);font-size:13px}.unimed-demo-signal{flex:none;padding:10px 12px;border:1px solid rgba(255,104,74,.3);color:#c9cec5;font:500 9px "IBM Plex Mono",monospace;text-transform:uppercase}.unimed-demo-signal i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#ff684a;box-shadow:0 0 12px #ff684a}.unimed-demo-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);border:1px solid rgba(255,104,74,.25);background:#0e1010}.unimed-flow{padding:22px;border-right:1px solid var(--line)}.unimed-flow section{padding-bottom:19px}.unimed-flow section+section{padding-top:19px;border-top:1px solid var(--line)}.unimed-flow section>span{margin-bottom:11px}.unimed-specialties,.unimed-slots{display:flex;gap:7px}.unimed-specialties button,.unimed-slots button{flex:1;min-height:42px;border:1px solid rgba(242,242,235,.18);background:transparent;color:#c6cbc2;font:500 8px "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}.unimed-specialties button[aria-pressed="true"],.unimed-slots button[aria-pressed="true"]{border-color:#ff684a;background:rgba(255,104,74,.12);color:#ff987f}.unimed-days{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.unimed-days button{display:grid;gap:4px;min-height:78px;padding:9px;border:1px solid rgba(242,242,235,.16);background:#151817;color:var(--paper);text-align:left;cursor:pointer}.unimed-days button[aria-pressed="true"]{border-color:#ff684a;background:rgba(255,104,74,.1)}.unimed-days b,.unimed-days small{color:var(--muted);font:500 7px "IBM Plex Mono",monospace}.unimed-days strong{font:800 23px "Barlow Condensed",sans-serif}.unimed-demo form{display:grid;grid-template-columns:1fr auto;gap:9px;padding-top:20px;border-top:1px solid var(--line)}.unimed-demo form label{display:grid;gap:6px;color:#c5cbc1;font-size:10px}.unimed-demo form input{min-height:44px;padding:0 11px;border:1px solid rgba(242,242,235,.18);border-radius:0;background:#151817;color:var(--paper);outline:none}.unimed-demo form input:focus{border-color:#ff684a}.unimed-demo form button{padding:0 15px;border:0;background:#ff684a;color:#111;font:700 8px "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}.unimed-demo form button:disabled{opacity:.5;cursor:wait}.unimed-sync{min-width:0;padding:25px;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:18px 18px}.unimed-sync>span{color:#ff8469;font:500 9px "IBM Plex Mono",monospace;text-transform:uppercase}.unimed-sync-empty{min-height:390px;display:flex;flex-direction:column;justify-content:center}.unimed-sync-empty b{font:800 29px "Barlow Condensed",sans-serif;text-transform:uppercase}.unimed-sync-empty p{max-width:255px;color:var(--muted);font-size:11px;line-height:1.55}.unimed-sync-steps{display:grid;gap:10px;margin-top:26px}.unimed-sync-steps p{display:grid;grid-template-columns:12px 1fr;gap:3px 9px;margin:0;padding:14px;border:1px solid var(--line);opacity:.4}.unimed-sync-steps p i{grid-row:1/3;width:9px;height:9px;margin-top:2px;border:1px solid #ff684a;border-radius:50%}.unimed-sync-steps p b{font-size:10px}.unimed-sync-steps p small{color:var(--muted);font:500 8px "IBM Plex Mono",monospace}.unimed-sync-steps p.is-running{opacity:1;border-color:#ff684a;box-shadow:inset 3px 0 #ff684a}.unimed-sync-steps p.is-done{opacity:.72}.unimed-sync-steps p.is-done i{background:var(--acid);border-color:var(--acid)}.unimed-sync>strong{display:block;margin:18px 0;color:var(--acid);font:800 62px/.8 "Barlow Condensed",sans-serif}.unimed-ticket{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.unimed-ticket p{display:flex;justify-content:space-between;gap:15px;margin:0;padding:12px 0}.unimed-ticket p+p{border-top:1px solid var(--line)}.unimed-ticket small{color:var(--muted);font:500 7px "IBM Plex Mono",monospace;text-transform:uppercase}.unimed-ticket b{font-size:10px}.unimed-linked{display:grid;grid-template-columns:8px 1fr auto 1fr;align-items:center;gap:9px;margin-top:22px;padding:13px;border:1px solid rgba(216,250,66,.25);background:rgba(216,250,66,.05)}.unimed-linked>i{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px var(--acid)}.unimed-linked span{display:grid;gap:3px}.unimed-linked b{font-size:9px}.unimed-linked small{color:#86ce9d;font:500 7px "IBM Plex Mono",monospace}.unimed-linked em{color:var(--acid);font-style:normal}.unimed-stamp{margin-top:12px;color:#ff8469;text-align:center;font:500 7px "IBM Plex Mono",monospace}
@media(max-width:700px){.project-live{left:56px}.unimed-launcher{display:block;min-height:0;padding:24px 20px}.unimed-launcher strong{font-size:34px}.unimed-launcher>button{width:100%;height:72px;margin-top:22px}.unimed-demo{margin-top:38px;padding-top:30px}.unimed-demo-head{display:block}.unimed-demo-signal{display:inline-block;margin-top:16px}.unimed-demo-shell{display:block}.unimed-flow{padding:17px;border-right:0;border-bottom:1px solid var(--line)}.unimed-specialties{overflow-x:auto}.unimed-specialties button{flex:0 0 128px}.unimed-demo form{grid-template-columns:1fr}.unimed-demo form button{min-height:44px}.unimed-sync{padding:20px}.unimed-sync-empty{min-height:220px}}
@media(prefers-reduced-motion:reduce){.project-live>i,.project.has-live-demo::before,.project-live-field i,.unimed-demo.is-arriving .unimed-demo-shell{animation:none}}

/* Agenda del cierre: una pieza operativa, no un widget ajeno al portfolio. */
.meeting-scheduler{display:grid;grid-template-columns:1.15fr .72fr .95fr;max-width:1320px;margin-top:52px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);box-shadow:14px 14px 0 rgba(17,19,19,.14)}
.meeting-scheduler small{display:block;color:var(--acid);font:600 8px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.meeting-scheduler strong{display:block;margin-top:9px;font:800 28px/.9 "Barlow Condensed",sans-serif;text-transform:uppercase}
.meeting-calendar,.meeting-slots,.meeting-form{min-width:0;padding:28px}
.meeting-calendar,.meeting-slots{border-right:1px solid rgba(242,242,235,.16)}
.meeting-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.meeting-calendar-head>span{display:flex;align-items:center;gap:7px;color:#aeb5aa;font:500 7px/1.35 "IBM Plex Mono",monospace;text-align:right;text-transform:uppercase}
.meeting-calendar-head i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px var(--acid)}
.meeting-days{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:28px}
.meeting-days button{min-width:0;height:92px;padding:12px 7px;border:1px solid rgba(242,242,235,.16);background:#171a18;color:var(--paper);text-align:left;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s}
.meeting-days button:hover,.meeting-days button:focus-visible{border-color:var(--acid);outline:none;transform:translateY(-3px)}
.meeting-days button[aria-pressed="true"]{border-color:var(--acid);background:var(--acid);color:var(--ink)}
.meeting-days b,.meeting-days em,.meeting-days span{display:block;font-style:normal}
.meeting-days b{font:600 7px "IBM Plex Mono",monospace;text-transform:uppercase}
.meeting-days em{margin-top:7px;font:800 31px/.8 "Barlow Condensed",sans-serif}
.meeting-days span{margin-top:11px;font:500 6px "IBM Plex Mono",monospace;text-transform:uppercase}
.meeting-slot-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:28px}
.meeting-slot-list button{min-height:42px;border:1px solid rgba(242,242,235,.16);background:transparent;color:#cdd2ca;font:600 9px "IBM Plex Mono",monospace;cursor:pointer}
.meeting-slot-list button:hover,.meeting-slot-list button:focus-visible,.meeting-slot-list button[aria-pressed="true"]{border-color:var(--acid);background:rgba(216,250,66,.1);color:var(--acid);outline:none}
.meeting-slot-empty{grid-column:1/-1;margin:0!important;color:#8f968e!important;font:500 10px/1.55 "IBM Plex Mono",monospace!important}
.meeting-form{display:grid;grid-template-columns:1fr 1fr;gap:13px 10px;background:#141615}
.meeting-form-head{grid-column:1/-1;margin-bottom:7px}
.meeting-form label{display:grid;gap:7px;color:#afb6ad;font:500 7px "IBM Plex Mono",monospace;text-transform:uppercase}
.meeting-form label:nth-of-type(3){grid-column:1/-1}
.meeting-form input,.meeting-form textarea{width:100%;min-height:42px;padding:10px;border:1px solid rgba(242,242,235,.18);border-radius:0;resize:none;background:#0f1110;color:var(--paper);font:400 11px/1.4 "IBM Plex Mono",monospace;outline:none}
.meeting-form input:focus,.meeting-form textarea:focus{border-color:var(--acid)}
.meeting-form button{grid-column:1/-1;min-height:52px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border:0;background:var(--acid);color:var(--ink);font:700 9px "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}
.meeting-form button:disabled{background:#30342f;color:#737a72;cursor:not-allowed}
.meeting-form button span{font-size:18px}
.contact .meeting-form>p{grid-column:1/-1;max-width:none;margin:0;color:#8e958c;font:500 7px/1.5 "IBM Plex Mono",monospace}
.contact .meeting-form>p.is-ready{color:var(--ink);padding:9px;background:var(--acid)}
.meeting-scheduler-live{display:block;overflow:hidden}
.meeting-live-head{min-height:92px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(242,242,235,.16)}
.meeting-live-head>span{display:flex;align-items:center;gap:9px;color:#cbd1c7;font:600 8px "IBM Plex Mono",monospace;text-transform:uppercase}
.meeting-live-head>span i{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 0 rgba(216,250,66,.45);animation:live-demo-ping 2.2s ease-out infinite}
.meeting-booking-frame{display:block;width:100%;height:700px;border:0;background:#fff;color-scheme:light}
.meeting-live-foot{min-height:84px;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid rgba(242,242,235,.16)}
.contact .meeting-live-foot p{max-width:650px;margin:0;color:#aeb5aa;font:500 9px/1.55 "IBM Plex Mono",monospace}
.meeting-live-foot a{flex:none;min-width:245px;padding:15px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--acid);color:var(--acid);font:600 8px "IBM Plex Mono",monospace;text-transform:uppercase}
.meeting-live-foot a:hover,.meeting-live-foot a:focus-visible{background:var(--acid);color:var(--ink);outline:none}
@media(max-width:980px){.meeting-scheduler{grid-template-columns:1fr 1fr}.meeting-form{grid-column:1/-1;border-top:1px solid rgba(242,242,235,.16)}.meeting-slots{border-right:0}}
@media(max-width:700px){.contact{padding-left:20px;padding-right:20px}.meeting-scheduler{display:block;margin-top:38px;box-shadow:7px 7px 0 rgba(17,19,19,.14)}.meeting-calendar,.meeting-slots,.meeting-form{padding:21px}.meeting-calendar,.meeting-slots{border-right:0;border-bottom:1px solid rgba(242,242,235,.16)}.meeting-calendar-head{display:block}.meeting-calendar-head>span{margin-top:12px;text-align:left}.meeting-days{gap:4px;overflow-x:auto}.meeting-days button{min-width:76px;height:86px}.meeting-form{grid-template-columns:1fr}.meeting-form label,.meeting-form label:nth-of-type(3){grid-column:1}.meeting-form button,.contact .meeting-form>p{grid-column:1}.meeting-live-head{display:block;padding:20px}.meeting-live-head>span{margin-top:14px}.meeting-booking-frame{height:720px}.meeting-live-foot{display:block;padding:20px}.meeting-live-foot a{width:100%;margin-top:18px}}

.archive-stage::before { content:"ARCHIVO 3D / 04"; }

/* Agenda: Google resuelve la disponibilidad; el portfolio conserva la experiencia visual. */
.meeting-booking-console{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:480px;overflow:hidden;background-color:#101211;background-image:linear-gradient(rgba(216,250,66,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(216,250,66,.045) 1px,transparent 1px);background-size:31px 31px}
.meeting-booking-console::before{content:"BOOKING / LIVE";position:absolute;right:-38px;top:74px;color:rgba(216,250,66,.055);font:800 94px/.75 "Barlow Condensed",sans-serif;letter-spacing:.02em;transform:rotate(90deg);transform-origin:center;pointer-events:none}
.meeting-booking-intro{position:relative;z-index:1;padding:56px 52px 48px;border-right:1px solid rgba(242,242,235,.16)}
.meeting-booking-id{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border:1px solid rgba(216,250,66,.34);color:var(--acid);font:600 8px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.meeting-booking-intro h3{max-width:620px;margin:28px 0 21px;color:var(--paper);font:800 clamp(46px,5.2vw,82px)/.79 "Barlow Condensed",sans-serif;letter-spacing:-.02em;text-transform:uppercase}
.meeting-booking-intro h3 em{color:var(--acid);font-style:normal}
.contact .meeting-booking-intro>p{max-width:520px;margin:0;color:#aeb5aa;font:400 13px/1.65 "IBM Plex Mono",monospace}
.meeting-booking-action{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px;max-width:520px;min-height:88px;margin-top:39px;padding:19px 22px 19px 24px;overflow:hidden;border:1px solid var(--acid);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);background:rgba(216,250,66,.055);color:var(--paper);transition:color .24s,background .24s,transform .24s}
.meeting-booking-action::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--acid);transform:scaleX(.018);transform-origin:left;transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.meeting-booking-action span{display:grid;gap:8px}
.meeting-booking-action small{color:var(--acid);font:600 7px "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;transition:color .24s}
.meeting-scheduler .meeting-booking-action strong{margin:0;font:800 24px/.88 "Barlow Condensed",sans-serif;letter-spacing:.01em;text-transform:uppercase}
.meeting-booking-action>b{font:400 28px/1 Arial,sans-serif;transition:transform .24s}
.meeting-booking-action:hover,.meeting-booking-action:focus-visible{background:var(--acid);color:var(--ink);outline:none;transform:translateY(-4px)}
.meeting-booking-action:hover::before,.meeting-booking-action:focus-visible::before{transform:scaleX(1)}
.meeting-booking-action:hover small,.meeting-booking-action:focus-visible small{color:var(--ink)}
.meeting-booking-action:hover>b,.meeting-booking-action:focus-visible>b{transform:translate(3px,-3px)}
.meeting-booking-route{position:relative;z-index:1;padding:38px 38px 34px;background:rgba(19,22,20,.88)}
.meeting-route-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid rgba(242,242,235,.17);color:#aeb5aa;font:600 8px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.meeting-route-head b{color:var(--acid);font-weight:600}
.meeting-booking-route ol{position:relative;display:grid;gap:0;margin:0;padding:0;list-style:none}
.meeting-booking-route ol::before{content:"";position:absolute;left:16px;top:32px;bottom:32px;width:1px;background:linear-gradient(var(--acid),rgba(216,250,66,.12))}
.meeting-booking-route li{position:relative;display:grid;grid-template-columns:34px 1fr;gap:17px;padding:24px 0;border-bottom:1px solid rgba(242,242,235,.12)}
.meeting-booking-route li>b{position:relative;z-index:1;display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--acid);background:#121513;color:var(--acid);font:600 8px "IBM Plex Mono",monospace}
.meeting-scheduler .meeting-booking-route li strong{margin:2px 0 0;color:var(--paper);font:700 17px/.9 "Barlow Condensed",sans-serif;letter-spacing:.03em;text-transform:uppercase}
.contact .meeting-booking-route li p{max-width:360px;margin:8px 0 0;color:#899087;font:400 9px/1.55 "IBM Plex Mono",monospace}
.meeting-booking-window{position:relative;margin-top:25px;padding:16px 47px 16px 16px;border:1px solid rgba(216,250,66,.28);background:rgba(216,250,66,.04)}
.meeting-booking-window span{display:block;color:#899087;font:600 7px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.meeting-scheduler .meeting-booking-window strong{margin-top:8px;color:var(--acid);font:700 19px/.9 "Barlow Condensed",sans-serif;letter-spacing:.04em}
.meeting-booking-window i{position:absolute;right:16px;top:50%;width:9px;height:9px;margin-top:-4px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 0 rgba(216,250,66,.45);animation:live-demo-ping 2.2s ease-out infinite}
.meeting-booking-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(242,242,235,.16);background:#0d0f0e}
.meeting-booking-facts span{min-height:68px;padding:14px 18px;display:grid;align-content:center;gap:4px;color:#858d84;font:500 7px "IBM Plex Mono",monospace;letter-spacing:.05em;text-transform:uppercase}
.meeting-booking-facts span+span{border-left:1px solid rgba(242,242,235,.13)}
.meeting-booking-facts b{color:var(--paper);font:700 15px "Barlow Condensed",sans-serif;letter-spacing:.03em}
@media(max-width:900px){.meeting-booking-console{grid-template-columns:1fr}.meeting-booking-intro{border-right:0;border-bottom:1px solid rgba(242,242,235,.16)}.meeting-booking-console::before{display:none}}
@media(max-width:700px){.meeting-booking-intro{padding:37px 20px 32px}.meeting-booking-intro h3{margin-top:24px;font-size:clamp(45px,14vw,62px)}.contact .meeting-booking-intro>p{font-size:10px}.meeting-booking-action{min-height:78px;margin-top:29px;padding:16px 17px}.meeting-scheduler .meeting-booking-action strong{font-size:21px}.meeting-booking-route{padding:28px 20px 24px}.meeting-booking-facts{grid-template-columns:1fr 1fr}.meeting-booking-facts span{min-height:61px}.meeting-booking-facts span:nth-child(3){border-left:0;border-top:1px solid rgba(242,242,235,.13)}.meeting-booking-facts span:nth-child(4){border-top:1px solid rgba(242,242,235,.13)}}
@media(prefers-reduced-motion:reduce){.meeting-booking-window i{animation:none}.meeting-booking-action,.meeting-booking-action::before,.meeting-booking-action>b{transition:none}}

/* Banda sonora del recorrido: aparece sólo después de atravesar la compuerta. */
.journey-sound{position:absolute;z-index:18;right:5vw;bottom:20px;min-height:34px;padding:0 11px;display:flex;align-items:center;gap:9px;border:1px solid rgba(216,250,66,.32);background:rgba(13,15,14,.78);color:var(--acid);font:600 7px "IBM Plex Mono",monospace;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;opacity:0;transform:translateY(7px);pointer-events:none;transition:opacity .3s,transform .3s,background .2s,color .2s}
body.hero-started .journey-sound{opacity:1;transform:none;pointer-events:auto}
.journey-sound i{width:12px;height:12px;background:linear-gradient(90deg,var(--acid) 0 16%,transparent 16% 28%,var(--acid) 28% 48%,transparent 48% 61%,var(--acid) 61% 100%);clip-path:polygon(0 68%,16% 68%,16% 30%,28% 30%,28% 82%,48% 82%,48% 8%,61% 8%,61% 58%,100% 58%,100% 100%,0 100%);animation:journey-level .75s steps(3,end) infinite}
.journey-sound[aria-pressed="true"]{color:#a2a79f;border-color:rgba(242,242,235,.2)}
.journey-sound[aria-pressed="true"] i{animation:none;opacity:.45}
.journey-sound:hover,.journey-sound:focus-visible{background:var(--acid);color:var(--ink);outline:none}
@keyframes journey-level{50%{transform:scaleY(.48)}}
@media(max-width:700px){.journey-sound{position:fixed;right:12px;bottom:12px;z-index:30;background:rgba(13,15,14,.92)}}
@media(prefers-reduced-motion:reduce){.journey-sound i{animation:none}}
