:root{color-scheme:dark;--bg:#11120f;--ink:#f3f1e9;--muted:#a8aaa0;--acid:#b99dff;--line:#45463f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--acid);outline-offset:5px}.skip{position:absolute;z-index:20;top:-60px;background:var(--acid);color:#111;padding:12px}.skip:focus{top:0}.wrap{width:calc(100% - 10%);max-width:1600px;margin:auto}.header{height:100px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:8%}.logo{font-weight:900;font-size:31px;letter-spacing:-2px}.logo span{color:var(--acid);font-size:26px}.logo small{font-size:11px;letter-spacing:0;margin-left:4px}.header-caption,.eyebrow,.hero-meta,.side-note,.section-aside,footer{font-size:10px;font-weight:700;letter-spacing:.12em;line-height:1.5}.header-caption{color:var(--muted)}nav{display:flex;align-items:center;gap:35px;margin-left:auto;font-size:12px;font-weight:700}nav a:not(.nav-cta):hover{color:var(--acid)}.nav-cta{border:1px solid #777970;border-radius:30px;padding:13px 18px}.nav-cta span{color:var(--acid);margin-left:18px}.hero{min-height:685px;padding:40px 0 45px;position:relative;overflow:hidden}.hero-meta{display:flex;justify-content:space-between;color:var(--muted)}.hero-meta i{font-style:normal;color:var(--acid);font-size:16px}.hero h1{font-size:clamp(70px,11.65vw,190px);line-height:.79;letter-spacing:-.085em;margin:100px 0 50px;font-weight:900}.hero h1>span{display:block}.hero h1 .last-line{display:flex;align-items:center;gap:2.5vw;margin-top:.16em}.hero h1 em{font-family:Georgia,serif;font-weight:400;font-size:.24em;letter-spacing:-.04em;line-height:1.05;max-width:3.8em;text-transform:none}.hero h1 b{font-weight:900;white-space:nowrap}.accent{color:var(--acid)}.hero-bottom{display:flex;align-items:center;gap:28px}.round-link{width:65px;height:65px;flex:none;border:1px solid #8a8c82;border-radius:50%;display:grid;place-items:center;font-size:27px;transition:background .25s,color .25s,transform .25s}.round-link:hover{background:var(--acid);color:#111;transform:rotate(-45deg)}.hero-bottom p{font-size:14px;line-height:1.55;max-width:330px;color:#c1c2ba}.side-note{margin-left:auto;color:var(--muted);text-align:right}.side-note b{color:var(--acid);font-size:20px}.asterisk{position:absolute;color:var(--acid);right:7%;top:25%;font-size:clamp(70px,11vw,160px);line-height:1;animation:spin 22s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ticker{background:var(--acid);color:#111;overflow:hidden;white-space:nowrap;padding:16px 0;font-size:12px;font-weight:900;letter-spacing:.12em}.ticker-track{width:max-content;animation:travel 25s linear infinite}.ticker .ticker-mark{font-size:20px;padding:0 35px}@keyframes travel{to{transform:translateX(-50%)}}.work,.services{padding:125px 0}.section-top{display:flex;justify-content:space-between}.eyebrow{color:var(--acid)}.section-aside{color:var(--muted);text-align:right}.work h2,.services h2,.contact h2{font-size:clamp(48px,7.7vw,110px);line-height:.95;letter-spacing:-.07em;margin:70px 0 60px}.work h2 em,.services h2 em,.contact h2 em{font:italic 400 .72em Georgia,serif;letter-spacing:-.055em}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-media{height:350px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.smart{background:#a79bc0}.piamonte{background:#969db9}.project-media img{display:block;width:85%;box-shadow:0 10px 60px #0005;transition:transform .5s}.project-media:hover img{transform:scale(1.04)}.project-media span{position:absolute;right:18px;top:18px;color:#111;font-size:25px}.project-info{display:flex;justify-content:space-between;align-items:center}.project-info h3{font-size:24px;letter-spacing:-.04em;margin:8px 0}.project-info .eyebrow{color:var(--muted);margin-top:22px}.project-info>span{font-size:28px}.services{border-top:1px solid var(--line)}.services-intro{display:flex;justify-content:space-between;align-items:end}.services-intro>p{max-width:260px;color:#c1c2ba;font-size:16px;line-height:1.5;margin-bottom:65px}.service-list>div{border-top:1px solid var(--line);display:grid;grid-template-columns:8% 40% 1fr 30px;gap:15px;align-items:center;padding:26px 0}.service-list>div:last-child{border-bottom:1px solid var(--line)}.service-list span{font-size:11px;color:var(--acid)}.service-list h3{font-size:clamp(22px,2.5vw,35px);letter-spacing:-.05em;margin:0}.service-list p{font-size:13px;color:var(--muted)}.service-list b{font-size:22px}.contact{background:var(--acid);color:#111}.contact-inner{padding:95px 0}.contact .eyebrow{color:#343f21}.contact-heading{display:flex;align-items:center;justify-content:space-between}.contact h2{margin:55px 0 40px}.contact-heading>span{font-size:clamp(90px,15vw,200px)}.contact-inner>p:not(.eyebrow){font-size:14px}.contact-inner>a{display:inline-block;border-bottom:1px solid #111;margin-top:30px;padding-bottom:8px;font-size:13px;font-weight:bold}footer{min-height:125px;display:flex;align-items:center;justify-content:space-between;color:var(--muted)}footer .logo{color:var(--ink)}.licitora-note{font-size:12px;color:var(--muted);margin:30px 0 0;max-width:620px;line-height:1.5}.licitora-cta{display:inline-flex;align-items:center;gap:14px;margin-top:35px;border:1px solid #777970;border-radius:30px;padding:14px 20px;font-size:13px;font-weight:700}.licitora-cta span{color:var(--acid)}.licitora-cta:hover{background:var(--acid);color:#111}.licitora-cta:hover span{color:#111}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:76px}.header-caption{display:none}nav{gap:14px;font-size:11px}nav a:nth-child(2){display:none}.nav-cta{padding:10px 12px}.nav-cta span{margin-left:6px}.hero{min-height:570px;padding-top:27px}.hero-meta{font-size:8px;gap:20px}.hero h1{font-size:clamp(58px,12.1vw,90px);margin:150px 0 45px}.hero h1 .last-line{gap:2vw}.hero h1 em{font-size:.25em}.asterisk{top:18%;right:5%;font-size:70px}.hero-bottom{gap:16px}.hero-bottom p{font-size:13px}.round-link{width:50px;height:50px}.side-note{display:none}.work,.services{padding:80px 0}.work h2,.services h2{margin:45px 0}.section-aside{font-size:9px}.project-grid{grid-template-columns:1fr;gap:35px}.project-media{height:270px}.services-intro{display:block}.services-intro>p{margin:0 0 40px}.service-list>div{grid-template-columns:30px 1fr 20px}.service-list p{grid-column:2;grid-row:2;margin:0}.service-list b{grid-column:3;grid-row:1}.contact-inner{padding:75px 0}.contact-heading>span{font-size:70px}.contact h2{font-size:clamp(48px,9vw,70px)}footer{gap:15px;flex-wrap:wrap;padding:30px 0}footer span{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.logo{display:inline-flex;align-items:center;gap:6px}.logo img{border-radius:7px}.hero h1,.hero-bottom,.hero-meta{position:relative;z-index:2}.orbital{position:absolute;right:1%;top:16%;height:360px;width:360px;pointer-events:none;filter:drop-shadow(0 0 65px #603ad855);animation:float 8s ease-in-out infinite}.orbit{position:absolute;inset:22% 3%;border:24px solid transparent;border-radius:50%;background:linear-gradient(#11120f,#11120f) padding-box,linear-gradient(115deg,#30b8ed,#6225c6 45%,#b89eff 70%,#2356a4) border-box;box-shadow:inset 0 0 25px #8250f2,0 0 22px #713ee477}.orbit-one{transform:rotate(-40deg)}.orbit-two{transform:rotate(20deg)}.orbit-three{transform:rotate(80deg)}.orbit-core{position:absolute;inset:38%;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f4dfff,#854deb 43%,#24144e 78%);box-shadow:0 0 50px #733ae7}.hero h1{text-shadow:0 3px 18px #11120f}.hero h1 .accent{text-shadow:none}@keyframes float{50%{transform:translateY(-16px) rotate(8deg)}}@media(max-width:700px){.orbital{width:210px;height:210px;top:15%;right:-2%}.orbit{border-width:16px}.hero h1{text-shadow:0 3px 18px #11120f,0 3px 18px #11120f}}@media(prefers-reduced-motion:reduce){.orbital{animation:none}}
@media(max-width:700px){.hero h1{font-size:clamp(36px,9.1vw,63px)}.logo{font-size:25px}.logo img{width:29px;height:29px}nav{gap:10px}.hero-meta span:last-child{text-align:right}.hero h1 em{font-size:.28em}.hero-bottom p{max-width:230px}.contact-heading>span{font-size:60px}}
/* El símbolo orbital se desplaza con calma; la cinta completa su recorrido desde el primer pliegue. */
.orbital{animation:float 7.6923076923s ease-in-out 6}
.ticker-track{animation:travel 5s ease-out 1}
@media(prefers-reduced-motion:reduce){.orbital,.ticker-track{animation:none}}
@media(max-width:360px){.header{gap:0}.header .logo{font-size:22px}.header .logo img{width:26px;height:26px}nav{gap:8px}.nav-cta{white-space:nowrap;padding:9px 10px}.nav-cta span{margin-left:3px}}

/* Logotipo orbital del brand kit; dimensiones proporcionales. */
.logo img,.header .logo img{display:block;width:156px;height:auto;border-radius:0}@media(max-width:700px){.logo img,.header .logo img{width:120px;height:auto}}@media(max-width:360px){.header .logo img{width:102px;height:auto}}
/* En tablet, el menú conserva una sola línea sin comprimir el logotipo. */
@media (min-width:701px) and (max-width:900px){.header{gap:20px}.header-caption{display:none}.header .logo{flex:none}nav{gap:22px}nav a{white-space:nowrap}.nav-cta span{margin-left:10px}}

/* Exploraciones ficticias, separadas de los proyectos reales del ecosistema. */
.concepts{padding:40px 0 125px}.concepts-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:54px}.concepts-heading h2{font-size:clamp(48px,7.7vw,110px);line-height:.95;letter-spacing:-.07em;margin:36px 0 0}.concepts-heading h2 em{font:italic 400 .72em Georgia,serif;letter-spacing:-.055em}.concepts-heading>p{max-width:275px;color:#c1c2ba;font-size:14px;line-height:1.55}.concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.concept-card a{display:block}.concept-image{position:relative;overflow:hidden;aspect-ratio:4/3;background:#252520}.concept-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.concept-card a:hover .concept-image img{transform:scale(1.045)}.concept-image>span{position:absolute;top:16px;right:16px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#f4f1e9;color:#111;font-size:20px}.concept-meta{padding:20px 0;border-bottom:1px solid var(--line)}.concept-meta p{color:var(--muted);font-size:10px;letter-spacing:.11em;font-weight:700;margin:0 0 12px}.concept-meta h3{font-size:28px;letter-spacing:-.04em;margin:0 0 5px}.concept-meta>span{font-size:13px;color:#c1c2ba}.concept-card a:focus-visible{outline:3px solid var(--acid);outline-offset:6px}@media(max-width:700px){.concepts{padding:10px 0 80px}.concepts-heading{display:block;margin-bottom:36px}.concepts-heading h2{font-size:clamp(44px,10vw,70px)}.concepts-heading>p{margin-top:24px}.concept-grid{grid-template-columns:1fr;gap:28px}.concept-image{aspect-ratio:16/11}}@media(prefers-reduced-motion:reduce){.concept-image img{transition:none}}
.concept-family{border-top:1px solid var(--line);padding-top:26px;margin-top:68px}.concept-family-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.concept-family-heading h3{font-size:clamp(32px,5vw,58px);letter-spacing:-.06em;margin:8px 0 0}.concept-family-heading>span{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--muted);text-align:right}.concept-meta h4{font-size:clamp(21px,2.2vw,28px);letter-spacing:-.04em;margin:0 0 7px}@media(max-width:700px){.concept-family{margin-top:48px}.concept-family-heading{align-items:start}.concept-family-heading>span{max-width:120px;font-size:9px}}


/* Ajusta el primer pliegue para incluir completa la cinta en alturas habituales. */
.hero{min-height:min(685px,calc(100vh - 155px));min-height:min(685px,calc(100svh - 155px));padding:26px 0 28px}
.hero h1{margin:30px 0 25px}
@media(max-width:700px){.hero{min-height:min(570px,calc(100vh - 131px));min-height:min(570px,calc(100svh - 131px));padding:22px 0 24px}.hero h1{margin:150px 0 30px}}
@media(max-width:360px){.hero h1{margin-top:142px}}


/* Cinta centrada: desplaza un grupo por ciclo y se detiene en una fase equivalente al inicio. */
.ticker{display:flex;align-items:center;height:55px;padding:0}
.ticker .ticker-track{display:flex;align-items:center;width:max-content;flex:none;animation:ticker-travel 20s linear 2 forwards}
.ticker-group{display:flex;align-items:center;flex:none;white-space:nowrap}
.ticker-group>span:not(.ticker-mark){font-size:12px}
@keyframes ticker-travel{to{transform:translateX(-8.3333333333%)}}

/* La cinta queda más cerca del mensaje del hero y mantiene el pliegue en móviles. */
.hero{min-height:min(620px,calc(100vh - 175px));min-height:min(620px,calc(100svh - 175px));padding-bottom:16px}
@media(max-width:700px){.hero{min-height:min(470px,calc(100vh - 131px));min-height:min(470px,calc(100svh - 131px));padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){.ticker .ticker-track{animation:none}}

/* En escritorio, la escala del título responde a la altura disponible del primer pliegue. */
@media(min-width:701px){
  .hero{min-height:min(620px,calc(100vh - 169px));min-height:min(620px,calc(100svh - 169px))}
  .hero h1{font-size:min(clamp(70px,11.65vw,190px),max(70px,calc(39.5vh - 142px)));font-size:min(clamp(70px,11.65vw,190px),max(70px,calc(39.5svh - 142px)))}
}

/* Inline SVG icons render consistently in Safari and retain each glyph's existing scale. */
.icon{display:inline-block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;overflow:visible;vertical-align:-.12em;flex:none}
.round-link .icon-arrow-down-right{stroke-width:1.7}
.contact-heading .icon-spark{stroke-width:1.45;vertical-align:middle}
@media(max-width:360px){.contact-heading .icon-spark{width:48px;height:48px}}

/* Contact form: native Zoho submission, clear fields and visible keyboard focus. */
.contact-form{max-width:760px;margin-top:28px}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.form-field label{font-size:12px;font-weight:700}
.form-field label span{font-size:11px;font-weight:400;opacity:.75}
.form-field input,.form-field select,.form-field textarea{box-sizing:border-box;width:100%;border:1px solid rgba(17,17,17,.38);border-radius:2px;background:rgba(255,255,255,.5);color:#111;padding:12px 13px;font:inherit;font-size:14px;line-height:1.45}
.form-field input,.form-field select{min-height:46px}
.form-field textarea{min-height:132px;resize:vertical}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible,.contact-submit:focus-visible,.contact-direct a:focus-visible{outline:3px solid #111;outline-offset:3px}
.form-field-message{grid-column:1/-1}
.form-note{max-width:640px;margin:14px 0 0;font-size:12px;line-height:1.5}
.contact-submit{display:inline-flex;align-items:center;gap:12px;margin-top:17px;padding:13px 18px;border:1px solid #111;background:#111;color:#f7f4e9;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.contact-submit:hover{background:transparent;color:#111}
.contact-submit .icon{width:16px;height:16px}
.contact-direct{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:30px;font-size:12px}
.contact-inner .contact-direct .direct-cta{display:inline-block;margin:0;border-bottom:1px solid #111;padding-bottom:3px;font-size:12px;font-weight:700}
@media(max-width:600px){.contact-form-grid{grid-template-columns:1fr;gap:16px}.form-field-message{grid-column:auto}.contact-form{margin-top:24px}.contact-submit{min-height:48px}.contact-direct{margin-top:24px}}
@media(max-width:360px){.contact-form-grid{gap:14px}.form-field input,.form-field select,.form-field textarea{padding:11px 10px}}

/* Usa el mismo símbolo oficial en el hero y conserva su encuadre animado. */
.orbital>img{display:block;width:100%;height:100%;object-fit:contain}
