
/* Layout: editorial grid, headlines anchas en mayúscula, el lima solo para lo que tiene que destacar */
:root{
  --ink:#151515;       /* negro profundo, fondo */
  --paper:#F5F5EF;     /* blanco cálido, títulos */
  --lime:#C2F24B;      /* acento de marca */
  --mute:#B7B7AF;      /* texto secundario */
  --line:#383835;      /* bordes y divisores */
  --raise:#1D1D1B;     /* superficie elevada */
  --display:"Space Grotesk", Arial, sans-serif;
  --body:"Inter", Arial, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, Menlo, monospace;
  --gut:clamp(20px, 5vw, 64px);
  --max:1280px;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--paper);font-family:var(--body);font-size:17px;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,svg{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:2px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--lime);color:var(--ink);padding:8px 14px;z-index:999;font-weight:600}
.skip:focus{left:8px}

/* Type */
.disp{font-family:var(--display);font-weight:600;letter-spacing:-.05em;line-height:1.04;text-wrap:balance}
.h1{font-size:clamp(2.3rem, 7.4vw, 6.2rem)}
.h2{font-size:clamp(1.9rem, 5vw, 4rem)}
.h3{font-size:clamp(1.3rem, 2.2vw, 1.65rem);line-height:1.1;letter-spacing:-.035em}
.eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:8px;height:8px;background:var(--lime);flex:none}
.lead{font-size:clamp(1.05rem, 1.5vw, 1.25rem);color:var(--mute);max-width:58ch}
.mute{color:var(--mute)}
.hl{background:var(--lime);color:var(--ink);padding:0 .2em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* Buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 22px;font-weight:600;font-size:.98rem;border:1px solid var(--line);transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn:hover{border-color:var(--paper)}
.btn.primary{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.btn.primary:hover{background:var(--paper);border-color:var(--paper)}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(4px)}
.link{font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--lime);padding-bottom:3px;display:inline-flex;gap:8px}
.link:hover{color:var(--lime)}

/* Header */
header.top{position:sticky;top:0;z-index:50;background:rgba(21,21,21,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.logo{display:inline-flex;align-items:center}
.logo img{height:24px;width:auto}
footer .logo img{height:30px}
.logo span{font-size:19px;letter-spacing:-1px;margin-left:.28em}
.logo i{display:inline-block;width:6px;height:6px;background:var(--lime);margin-left:6px}
nav.main{display:flex;gap:28px;align-items:center}
nav.main a{font-size:.93rem;color:var(--mute);position:relative;padding:6px 0}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--paper)}
nav.main a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--lime)}
.bar .btn{padding:10px 16px;font-size:.9rem}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line)}
.burger span{width:18px;height:2px;background:var(--paper);display:block;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--paper)}
.burger span::before{top:-6px}.burger span::after{top:6px}
.mnav{display:none}
@media (max-width:900px){
  nav.main,.bar .btn{display:none}
  .burger{display:flex}
  .mnav{position:fixed;inset:68px 0 0 0;background:var(--ink);z-index:49;padding:28px var(--gut);flex-direction:column;gap:6px}
  .mnav.open{display:flex}
  .mnav a.ml{font-family:var(--display);font-weight:700;font-size:2rem;padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}
  .mnav a.ml[aria-current="page"]{color:var(--lime)}
  .mnav .btn{margin-top:24px;justify-content:center}
}

/* Views */
.view{display:none}
.view.on{display:block;animation:fadein .45s ease}
@keyframes fadein{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
section.blk{padding:clamp(64px, 10vw, 128px) 0;border-top:1px solid var(--line)}
section.blk:first-child{border-top:0}
.sechead{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:clamp(36px, 5vw, 64px)}
@media (min-width:900px){.sechead{grid-template-columns:1.3fr 1fr;align-items:end}}
.num{font-family:var(--mono);color:var(--lime);font-size:.8rem;letter-spacing:.12em}

/* Hero */
.hero{padding:clamp(48px, 8vw, 104px) 0 clamp(40px, 6vw, 72px);overflow-x:clip}
.hero-grid{display:grid;gap:44px}
@media (min-width:1000px){.hero-grid{grid-template-columns:1.55fr 1fr;align-items:end}}
.hero .h1{margin:0 0 26px;font-size:clamp(2.3rem, 5.6vw, 5rem)}
@media (min-width:1000px){.hero-grid{grid-template-columns:1.35fr 1fr;align-items:center}}
@media (max-width:700px){.jota-btn{padding:12px}.jota-btn > span:last-child{display:none}.jota-panel{bottom:76px}}
.hero .lead{margin-bottom:34px}
.cursor{display:inline-block;width:.42em;height:.72em;background:var(--lime);margin-left:.08em;vertical-align:baseline;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.panel{border:1px solid var(--line);background:var(--raise)}
.panel-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:0.72rem;letter-spacing:.12em;color:var(--mute);text-transform:uppercase}
.dot{width:8px;height:8px;border-radius:50%;background:var(--lime);display:inline-block;margin-right:8px;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.pillars{display:grid;grid-template-columns:1fr 1fr}
.pillar{padding:22px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:128px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:background .25s}
.pillar:nth-child(2n){border-right:0}
.pillar:nth-child(n+3){border-bottom:0}
.pillar b{font-family:var(--display);font-weight:700;font-size:1.15rem;line-height:1}
.pillar small{font-family:var(--mono);font-size:0.72rem;color:var(--mute);letter-spacing:.08em}
.pillar.act{background:var(--lime);color:var(--ink)}
.pillar.act small{color:var(--ink)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.fact{padding:16px;border-right:1px solid var(--line)}
.fact:last-child{border-right:0}
.fact strong{display:block;font-family:var(--display);font-weight:700;font-size:1.5rem;line-height:1}
.fact span{font-size:.75rem;color:var(--mute);line-height:1.3;display:block;margin-top:6px}

/* Robot Jota */
.robot-stage{position:relative;aspect-ratio:1;max-width:520px;width:100%;justify-self:center;isolation:isolate;background:radial-gradient(ellipse at 50% 45%,rgba(194,242,75,.09),transparent 62%)}
.robot-stage::before{content:"";position:absolute;inset:3%;border:1px solid rgba(194,242,75,.13);border-radius:50%;border-top-color:rgba(194,242,75,.6);border-bottom-color:rgba(194,242,75,.33);animation:mechOrbit 32s linear infinite;pointer-events:none}
.robot-stage::after{content:"";position:absolute;inset:10%;border:1px dashed rgba(194,242,75,.15);border-radius:50%;animation:mechOrbit 45s linear infinite reverse;z-index:-1;pointer-events:none}
.stage-orbit{position:absolute;border:1px solid rgba(194,242,75,.19);border-radius:50%;z-index:-1;inset:12% 4%;animation:mechOrbit 25s linear infinite}
.stage-orbit::after{content:"";position:absolute;width:7px;height:7px;background:var(--lime);border-radius:50%;top:12%;left:12%;box-shadow:0 0 14px #ccff60}
.orbit-two{inset:28% -3%;border-color:rgba(194,242,75,.22);animation-direction:reverse;animation-duration:38s}
.robot-touch{display:block;position:relative;z-index:1;width:96%;height:96%;margin:2% auto 0;cursor:pointer;transition:filter .3s}
.robot-touch:hover{filter:brightness(1.07)}
.robot-touch:focus-visible{outline-offset:-25px;border-radius:40%}
.jota-robot{width:100%;height:100%;overflow:visible}
.robot-float{animation:robotHover 5s ease-in-out infinite;transform-origin:50% 70%;transform-box:fill-box}
.robot-head{transform:translate(var(--look-x,0px),var(--look-y,0px));transition:transform .16s ease-out}
.robot-eyes{transform:translate(var(--eye-x,0px),var(--eye-y,0px));transition:transform .13s ease-out;filter:drop-shadow(0 0 6px rgba(194,242,75,.4))}
.robot-touch:hover .robot-smile{stroke-width:6}
.robot-stage:hover .right-arm{animation:robotWave .8s ease-in-out 2;transform-origin:326px 321px}
.robot-greeting{position:absolute;z-index:4;bottom:2%;left:50%;transform:translateX(-50%);white-space:nowrap;display:flex;align-items:center;gap:12px;background:#20251C;border:1px solid rgba(161,189,123,.27);padding:10px 15px;font-size:.88rem;min-height:46px;transition:border-color .2s}
.robot-greeting:hover{border-color:var(--lime)}
.robot-greeting > span:last-child{color:var(--lime)}
.tiny-bot{width:29px;height:24px;border-radius:8px;border:1.5px solid var(--lime);display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative;flex-shrink:0}
.tiny-bot::before{content:"";position:absolute;top:-5px;height:4px;width:1.5px;background:var(--lime)}
.tiny-bot i{width:4px;height:7px;border-radius:5px;background:var(--lime)}
.jota-btn .tiny-bot{border-color:var(--ink)}
.jota-btn .tiny-bot::before,.jota-btn .tiny-bot i{background:var(--ink)}
.jp-head .tiny-bot{width:34px;height:28px}
@keyframes mechOrbit{to{rotate:360deg}}
@keyframes robotHover{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-13px) rotate(1deg)}}
@keyframes robotWave{0%,100%{transform:rotate(0)}50%{transform:rotate(-16deg)}}
@media (max-width:999px){.robot-stage{max-width:340px}}
@media (max-width:600px){.robot-stage{max-width:300px;margin-top:-8px}.robot-greeting{font-size:.8rem;padding:9px 12px;gap:9px}}
.facts-row{display:flex;flex-wrap:wrap;gap:28px 40px;margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}
.facts-row div strong{display:block;font-family:var(--display);font-weight:700;font-size:1.7rem;line-height:1}
.facts-row div span{font-size:.8rem;color:var(--mute);display:block;margin-top:6px;max-width:16ch;line-height:1.3}

/* Marquee */
.marq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;overflow:hidden}
.marq-lbl{font-family:var(--mono);font-size:0.72rem;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;margin-bottom:16px}
.track{display:flex;width:max-content;animation:marq 38s linear infinite}
.track span{font-family:var(--display);font-weight:700;font-size:clamp(1.3rem, 2.6vw, 2rem);padding:0 28px;white-space:nowrap;color:var(--paper);display:flex;align-items:center;gap:56px}
.track span::after{content:"";width:9px;height:9px;background:var(--lime);display:block}
.track .lg{display:flex;align-items:center;gap:56px;padding:0 28px}
.track .lg::after{content:"";width:9px;height:9px;background:var(--lime);display:block;flex:none}
.track img{height:40px;width:auto;opacity:.95}
.track img.wide{height:30px}
@keyframes marq{to{transform:translateX(-50%)}}

/* Service cards */
.grid4{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:700px){.grid4{grid-template-columns:repeat(2,1fr)}.grid4 .svc:last-child:nth-child(odd){grid-column:1/-1}}
@media (min-width:1100px){.grid4{grid-template-columns:repeat(5,1fr)}.grid4 .svc:last-child{grid-column:auto!important}}
.svc{background:var(--ink);padding:28px 24px 30px;display:flex;flex-direction:column;gap:14px;min-height:260px;transition:background .25s}
.svc:hover{background:var(--raise)}
.svc .num{margin-bottom:auto}
.svc p{color:var(--mute);font-size:.95rem}

/* Work cards */
.works{display:grid;gap:20px}
@media (min-width:800px){.works{grid-template-columns:repeat(3,1fr)}}
.work{border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.work:hover{border-color:var(--lime);transform:translateY(-3px)}
.work-vis{aspect-ratio:4/3;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:var(--raise);display:flex;align-items:flex-end;padding:18px}
.work-vis .big{font-family:var(--display);font-weight:700;font-size:clamp(2rem, 4vw, 3rem);line-height:.88;color:var(--paper);position:relative;z-index:1}
.work-vis .pat{position:absolute;inset:0;opacity:.9}
.work-vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.work-vis.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(21,21,21,.85))}
.work-vis.logo-img{background:var(--raise)}
.work-vis.logo-img img{object-fit:contain;padding:22% 26% 28%}
.work-vis.logo-light{background:var(--paper)}
.work-vis.logo-light img{object-fit:contain;padding:10%}
.work-vis.has-img .big{font-size:clamp(1.5rem, 2.6vw, 2rem);z-index:2}
.work-body{padding:20px 20px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.tag{font-family:var(--mono);font-size:0.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lime)}
.work-body p{color:var(--mute);font-size:.94rem}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px}
.chip{font-family:var(--mono);font-size:0.72rem;letter-spacing:.06em;border:1px solid var(--line);padding:4px 8px;color:var(--mute);text-transform:uppercase}

/* Process */
.steps{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:800px){.steps.s4{grid-template-columns:repeat(4,1fr)}.steps.s6{grid-template-columns:repeat(3,1fr)}}
.step{background:var(--ink);padding:26px 22px;display:flex;flex-direction:column;gap:12px}
.step p{color:var(--mute);font-size:.94rem}

/* Split */
.split{display:grid;gap:40px}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;align-items:center}}
.iso-wrap{display:flex;justify-content:center;align-items:center;aspect-ratio:1;max-width:440px;width:100%;margin:auto;border:1px solid var(--line);background:radial-gradient(circle at 60% 40%,rgba(194,242,75,.07),transparent 65%)}
.iso-wrap img{width:58%}
.bigtype{font-family:var(--display);font-weight:700;font-size:clamp(4rem, 15vw, 11rem);line-height:.82;letter-spacing:-.03em}
.bigtype em{font-style:normal;color:var(--lime)}

/* Lab strip */
.labstrip{border:1px dashed var(--line);padding:20px 22px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.labstrip p{font-size:.95rem;color:var(--mute)}
.labstrip b{color:var(--paper);font-weight:600}

/* CTA */
.cta{background:var(--lime);color:var(--ink);padding:clamp(56px, 9vw, 112px) 0}
.cta .eyebrow{color:var(--ink)}
.cta .eyebrow::before{background:var(--ink)}
.cta .h2{margin:20px 0 18px;max-width:16ch}
.cta p{font-size:1.15rem;max-width:44ch;margin-bottom:30px}
.cta .btn{border-color:var(--ink)}
.cta .btn.primary{background:var(--ink);color:var(--paper)}
.cta .btn.primary:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cta .btn:not(.primary):hover{background:var(--ink);color:var(--lime)}

.crumb{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;color:var(--mute)}
.crumb a:hover{color:var(--lime)}
.crumb span{color:var(--paper)}
/* Page head */
.phead{padding:clamp(56px, 9vw, 112px) 0 clamp(40px, 6vw, 72px)}
.phead .h1{margin:20px 0 22px;max-width:15ch}

/* Plans */
.plans{display:grid;gap:20px}
@media (min-width:960px){.plans{grid-template-columns:repeat(3,1fr)}}
.plan{border:1px solid var(--line);padding:30px 26px;display:flex;flex-direction:column;gap:18px;position:relative;background:var(--ink)}
.plan.rec{border-color:var(--lime)}
.badge{position:absolute;top:-1px;right:-1px;background:var(--lime);color:var(--ink);font-family:var(--mono);font-size:0.72rem;letter-spacing:.12em;padding:6px 10px;text-transform:uppercase;font-weight:500}
.plan .for{color:var(--mute);font-size:.95rem;min-height:3em}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:9px;border-top:1px solid var(--line);padding-top:18px;margin-bottom:8px;flex:1}
.plan li{display:grid;grid-template-columns:14px 1fr;gap:10px;font-size:.94rem;line-height:1.4}
.plan li::before{content:"";width:7px;height:7px;background:var(--lime);margin-top:.5em}
.plan li.plus{color:var(--lime);font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
.plan li.plus::before{background:none;border:1px solid var(--lime)}
.plan .btn{justify-content:space-between}
.paid{display:grid;gap:30px;border:1px solid var(--line);padding:clamp(26px, 4vw, 48px)}
@media (min-width:900px){.paid{grid-template-columns:1.2fr 1fr;align-items:center}}
.formula{font-family:var(--mono);font-size:clamp(.85rem, 1.4vw, 1rem);border:1px solid var(--line);padding:20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--raise)}
.formula b{color:var(--lime);font-weight:500}
.platforms{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.extras{display:flex;flex-wrap:wrap;gap:8px}
.extras span{border:1px solid var(--line);padding:10px 14px;font-size:.92rem}
.note{font-size:.88rem;color:var(--mute);border-left:2px solid var(--lime);padding-left:14px;max-width:70ch;margin-top:28px}

/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:9px 14px;color:var(--mute)}
.filters button[aria-pressed="true"]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.work[hidden]{display:none}

/* Press list */
.press{border-top:1px solid var(--line)}
.press li{list-style:none;display:grid;grid-template-columns:110px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.press .who{font-family:var(--display);font-weight:700;font-size:1.1rem}
.press .when{font-family:var(--mono);font-size:0.72rem;color:var(--lime);letter-spacing:.08em;display:block;margin-top:4px}
.press p{color:var(--mute);font-size:.95rem}

/* About */
.timeline{border-top:1px solid var(--line)}
.tl{display:grid;grid-template-columns:1fr;gap:6px;padding:22px 0;border-bottom:1px solid var(--line)}
@media (min-width:800px){.tl{grid-template-columns:200px 1fr 1.4fr;gap:28px;align-items:baseline}}
.tl .yr{font-family:var(--mono);font-size:.78rem;color:var(--lime);letter-spacing:.06em}
.tl b{font-family:var(--display);font-weight:700;font-size:1.1rem}
.tl p{color:var(--mute);font-size:.95rem}
.values{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:800px){.values{grid-template-columns:repeat(3,1fr)}}


/* About */
.about-hero{display:grid;gap:40px}
@media (min-width:900px){.about-hero{grid-template-columns:1.2fr 1fr;align-items:end}}
.portrait{position:relative;border:1px solid var(--line);overflow:hidden;max-width:520px;width:100%;justify-self:end}
.portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:grayscale(.15)}
.portrait figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:12px;padding:40px 18px 16px;background:linear-gradient(transparent,rgba(21,21,21,.92));font-family:var(--mono);font-size:0.72rem;letter-spacing:.08em;text-transform:uppercase}
.portrait figcaption span:last-child{color:var(--lime)}
.now{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:800px){.now{grid-template-columns:1fr 1fr}}
.nowc{background:var(--ink);padding:28px 24px;display:flex;flex-direction:column;gap:10px}
.nowc .role{color:var(--paper);font-weight:500}
.nowc p:not(.role){color:var(--mute);font-size:.95rem}
.two-col{display:grid;gap:48px}
@media (min-width:900px){.two-col{grid-template-columns:1.3fr 1fr}}
@media (min-width:800px){.tl.tl2{grid-template-columns:220px 1fr}}
.edu{list-style:none;border-top:1px solid var(--line)}
.edu li{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.edu b{font-family:var(--display);font-weight:600;font-size:1.1rem;letter-spacing:-.02em}
.edu span{color:var(--mute);font-size:.92rem}

/* Metrics */
.counters{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:900px){.counters{grid-template-columns:repeat(4,1fr)}}
.ctr{background:var(--ink);padding:28px 22px;display:flex;flex-direction:column;gap:10px}
.ctr strong{font-family:var(--display);font-weight:600;letter-spacing:-.05em;font-size:clamp(2.8rem, 6vw, 4.6rem);line-height:.9;font-variant-numeric:tabular-nums;display:flex;align-items:flex-start}
.ctr strong em{font-style:normal;color:var(--lime);font-size:.6em;margin-left:2px}
.ctr > span{color:var(--mute);font-size:.88rem;line-height:1.35;max-width:22ch}
.gantt{margin-top:40px;border:1px solid var(--line);padding:22px clamp(16px, 3vw, 28px) 26px;overflow-x:auto}
.g-axis,.g-row{display:grid;grid-template-columns:minmax(150px, 220px) 1fr;gap:18px;align-items:center;min-width:620px}
.g-track{background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 10%)!important}
.g-axis{font-family:var(--mono);font-size:0.72rem;color:var(--mute);letter-spacing:.06em;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.g-years{display:grid;grid-template-columns:repeat(10,1fr)}
.g-years span{border-left:1px solid var(--line);padding-left:6px}
@media (max-width:700px){
  .g-axis,.g-row{grid-template-columns:1fr;min-width:0;gap:8px}
  .g-axis > span:first-child{display:none}
  .g-years{font-size:0.72rem}
  .g-years span{padding-left:2px;letter-spacing:0}
  .g-years span:nth-child(even){color:transparent}
  .gantt{overflow:visible}
}
.g-row{padding:10px 0;border-bottom:1px dashed var(--line)}
.g-row:last-child{border-bottom:0}
.g-lbl{font-size:.92rem;font-weight:500;line-height:1.2}
.g-lbl small{display:block;color:var(--mute);font-weight:400;font-size:.76rem;margin-top:2px}
.g-track{position:relative;height:14px;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),var(--line) calc(10% - 1px) 10%)}
.g-track i{position:absolute;top:0;bottom:0;left:calc(var(--s) * 1%);width:calc((var(--e) - var(--s)) * 1%);background:var(--paper);transform-origin:left;display:block}
.g-track i.cur{background:var(--lime)}
.metrics-sec.go .g-track i{animation:grow 1.1s cubic-bezier(.2,.7,.2,1) both}
.metrics-sec.go .g-row:nth-child(3) i{animation-delay:.12s}.metrics-sec.go .g-row:nth-child(4) i{animation-delay:.24s}.metrics-sec.go .g-row:nth-child(5) i{animation-delay:.36s}.metrics-sec.go .g-row:nth-child(6) i{animation-delay:.48s}.metrics-sec.go .g-row:nth-child(7) i{animation-delay:.6s}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}


/* Web showcase */
.showcase{display:grid;gap:clamp(56px, 8vw, 96px)}
.site{display:grid;gap:32px;align-items:center}
@media (min-width:960px){.site{grid-template-columns:1.45fr 1fr}.site.rev .device-stage{order:2}}
.device-stage{position:relative;padding:0 0 8% 0}
.browser{border:1px solid var(--line);background:#0E0E0E;box-shadow:0 30px 70px rgba(0,0,0,.5);transition:transform .5s}
.bbar{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--raise)}
.bbar i{width:9px;height:9px;border-radius:50%;background:var(--line);display:block}
.bbar i:first-child{background:var(--lime)}
.bbar span{margin-left:12px;font-family:var(--mono);font-size:.72rem;color:var(--mute);background:var(--ink);padding:4px 12px;flex:1;max-width:280px}
.screen,.pscreen{position:relative;overflow:hidden}
.screen{aspect-ratio:16/10}
.screen img,.pscreen img{width:100%;height:auto;display:block;animation:autoscroll var(--dur,26s) ease-in-out infinite;will-change:transform}
.device-stage:hover img{animation-play-state:paused}
@keyframes autoscroll{0%,8%{transform:translateY(0)}46%,54%{transform:translateY(calc(var(--dist,0px) * -1))}92%,100%{transform:translateY(0)}}
.phone{position:absolute;right:-2%;bottom:0;width:24%;min-width:96px;border:6px solid #2A2A28;border-radius:22px;background:#0E0E0E;box-shadow:0 24px 50px rgba(0,0,0,.6);overflow:hidden}
.phone::before{content:"";position:absolute;top:5px;left:50%;transform:translateX(-50%);width:30%;height:5px;border-radius:5px;background:#2A2A28;z-index:2}
.pscreen{aspect-ratio:9/19}
.pscreen img{--dur:30s}
.site-info{display:flex;flex-direction:column;gap:14px}
.site-info .disp{font-size:clamp(2rem, 4vw, 3rem)}
.site-info p{color:var(--mute)}
.site-info ul{list-style:none;display:flex;flex-direction:column;gap:8px;margin:4px 0 8px}
.site-info li{display:grid;grid-template-columns:14px 1fr;gap:10px;font-size:.95rem}
.site-info li::before{content:"";width:7px;height:7px;background:var(--lime);margin-top:.55em}
@media (max-width:600px){.phone{border-width:4px;border-radius:16px;right:0}}

/* Feature: Civit Avenue / Rolex */
.feature{border:1px solid var(--line);overflow:hidden;background:var(--raise)}
.feature-hero{position:relative;aspect-ratio:1670/650;min-height:260px;overflow:hidden}
.feature-hero img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:kenburns 18s ease-in-out infinite alternate}
@keyframes kenburns{to{transform:scale(1.12) translate(-2%,-1%)}}
.feature-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(21,21,21,.92))}
.feature-hero .over{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(20px, 4vw, 40px);display:flex;flex-direction:column;gap:10px}
.feature-hero .over .disp{font-size:clamp(1.9rem, 5vw, 3.6rem);max-width:18ch}
.feature-body{display:grid;gap:28px;padding:clamp(22px, 4vw, 40px)}
@media (min-width:900px){.feature-body{grid-template-columns:1.3fr 1fr;align-items:center}}
.feature-body p{color:var(--mute)}
.feature-body .cover{border:1px solid var(--line);background:#fff;transform:rotate(1.5deg);box-shadow:0 20px 50px rgba(0,0,0,.45);transition:transform .4s}
.feature-body .cover:hover{transform:rotate(0) scale(1.02)}
.feature-body .cover img{width:100%;height:auto;display:block}
.feature-body small{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--mute);text-transform:uppercase}

/* Contact */
.cgrid{display:grid;gap:40px}
@media (min-width:960px){.cgrid{grid-template-columns:1.2fr 1fr}}
form.cf{display:grid;gap:18px}
.field{display:grid;gap:8px}
.field label{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.field input,.field textarea{font:inherit;color:var(--paper);background:var(--raise);border:1px solid var(--line);padding:14px 16px;border-radius:0;width:100%}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--lime)}
.field textarea{min-height:130px;resize:vertical}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts{position:relative}
.opts input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.opts label{border:1px solid var(--line);padding:10px 14px;font-size:.92rem;cursor:pointer;text-transform:none;letter-spacing:0;font-family:var(--body);color:var(--paper)}
.opts input:checked + label{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.opts input:focus-visible + label{outline:2px solid var(--lime);outline-offset:2px}
.two{display:grid;gap:18px}
@media (min-width:600px){.two{grid-template-columns:1fr 1fr}}
.channels{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.channels a,.channels div{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}
.channels small{font-family:var(--mono);font-size:0.72rem;letter-spacing:.1em;color:var(--mute);text-transform:uppercase}
.channels strong{font-weight:500;word-break:break-all}
.channels a:hover strong{color:var(--lime)}
.formmsg{font-size:.9rem;color:var(--mute)}

/* Lab */
.lab{border:1px solid var(--line);max-width:860px}
.lab-body{padding:clamp(22px, 4vw, 40px)}
.lab-q{font-size:1.05rem;margin:14px 0 22px;color:var(--mute)}
.hooks{display:grid;gap:12px}
@media (min-width:700px){.hooks{grid-template-columns:1fr 1fr}}
.hook{border:1px solid var(--line);padding:22px;text-align:left;font-family:var(--display);font-weight:700;font-size:1.15rem;line-height:1.2;transition:border-color .2s,background .2s;min-height:120px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.hook small{font-family:var(--mono);font-size:0.72rem;font-weight:400;color:var(--mute);letter-spacing:.1em}
.hook:hover:not(:disabled){border-color:var(--paper)}
.hook.win{border-color:var(--lime);background:rgba(194,242,75,.08)}
.hook.lose{opacity:.45}
.hook:disabled{cursor:default}
.lab-why{margin-top:20px;padding:18px;border-left:2px solid var(--lime);background:var(--raise);display:none}
.lab-why.on{display:block}
.lab-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(22px, 4vw, 40px);border-top:1px solid var(--line);font-family:var(--mono);font-size:.72rem;color:var(--mute);letter-spacing:.08em;flex-wrap:wrap}
.prog{display:flex;gap:6px}
.prog i{width:28px;height:4px;background:var(--line);display:block}
.prog i.done{background:var(--lime)}

/* Footer */
footer{border-top:1px solid var(--line);padding:64px 0 28px}
.fgrid{display:grid;gap:36px;grid-template-columns:1fr 1fr}
@media (min-width:900px){.fgrid{grid-template-columns:1.6fr 1fr 1fr 1fr}}
.fgrid > div:first-child{grid-column:1/-1}
@media (min-width:900px){.fgrid > div:first-child{grid-column:auto}}
.fgrid .fh{font-family:var(--mono);font-size:0.72rem;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;font-weight:400;margin-bottom:14px}
.fgrid ul{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:.94rem}
.fgrid a:hover{color:var(--lime)}
.fbot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:56px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--mono);font-size:0.72rem;letter-spacing:.1em;color:var(--mute);text-transform:uppercase}
.fbot button{font-family:var(--mono);font-size:0.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--line)}
.fbot button:hover{color:var(--paper)}

/* Jota */
.jota-btn{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:10px;background:var(--lime);color:var(--ink);padding:11px 18px 11px 14px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.45);font-weight:600;font-size:.92rem;transition:transform .2s}
.jota-btn:hover{transform:translateY(-2px)}
.jota-btn.hide{opacity:0;pointer-events:none;transform:translateY(12px)}
.jota-btn{transition:transform .25s,opacity .25s}
.jota-btn .face{width:40px;height:40px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center}
.jota-panel{position:fixed;right:18px;bottom:84px;z-index:61;width:min(380px, calc(100vw - 36px));max-height:min(560px, calc(100vh - 120px));display:none;flex-direction:column;background:var(--raise);border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.55)}
.jota-panel.open{display:flex;animation:fadein .25s ease}
.jp-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.jp-head .face{width:42px;height:42px;background:var(--ink);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.jp-head b{display:block;font-family:var(--display);font-weight:700;font-size:1rem;line-height:1}
.jp-head small{font-family:var(--mono);font-size:0.72rem;color:var(--mute);letter-spacing:.08em}
.jp-close{margin-left:auto;width:36px;height:36px;border:1px solid var(--line);font-size:1.1rem;line-height:1}
.jp-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}
.bub{background:var(--ink);border:1px solid var(--line);padding:12px 14px;font-size:.94rem;max-width:92%}
.bub.me{align-self:flex-end;background:var(--lime);color:var(--ink);border-color:var(--lime)}
.jp-opts{display:flex;flex-direction:column;gap:8px}
.jp-opts button,.jp-opts a{border:1px solid var(--line);padding:11px 14px;text-align:left;font-size:.92rem;display:flex;justify-content:space-between;gap:10px;transition:border-color .2s}
.jp-opts button:hover,.jp-opts a:hover{border-color:var(--lime)}
.jp-opts a.go{background:var(--lime);color:var(--ink);border-color:var(--lime);font-weight:600}

/* Motion off */
html.still *,html.still *::before,html.still *::after{animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

.view{display:block!important;animation:none}
.legal{max-width:72ch}
.legal h2{font-family:var(--display);font-weight:600;letter-spacing:-.03em;font-size:1.5rem;margin:40px 0 12px}
.legal p,.legal li{color:var(--mute);margin-bottom:12px}
.legal ul{padding-left:20px}
.legal a{color:var(--paper);border-bottom:1px solid var(--lime)}
.hp{position:absolute!important;left:-9999px!important}
