@font-face{font-family:Sora;src:url('assets/Sora-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Sora;src:url('assets/Sora-SemiBold.ttf') format('truetype');font-weight:600 800;font-display:swap}
:root{color-scheme:dark;--bg:#030610;--text:#f5f6fb;--muted:#a2a9bb;--line:#ffffff17;--violet:#9a74ff;--page:min(1120px,calc(100% - 96px))}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.7 -apple-system,BlinkMacSystemFont,'SF Pro Text','SF Pro Display','Helvetica Neue',Arial,sans-serif;font-feature-settings:'kern' 1,'liga' 1}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #80d9ff;outline-offset:6px}button:disabled{cursor:default}p{margin:0 0 1em}h1,h2,h3{font-weight:600;line-height:1.2;letter-spacing:-.045em;margin:0}h2{font-size:clamp(1.75rem,3vw,2.5rem)}h3{font-size:1.15rem;line-height:1.4;letter-spacing:-.025em}img{display:block;max-width:100%}[hidden]{display:none!important}.page-width{width:var(--page);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:16px;z-index:100;background:white;color:#030610;padding:12px 18px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:fixed;inset:0 0 auto;z-index:20;transition:background .4s,border-color .4s;border-bottom:1px solid transparent}.landing-open .site-header{background:#030610df;backdrop-filter:blur(20px);border-color:var(--line)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:block;flex-shrink:0;padding-block:15px}.wordmark{display:block;position:relative;width:134px;aspect-ratio:1770/254;overflow:hidden}.wordmark img{position:absolute;max-width:none;width:122.655%;height:auto;left:-10.17%;top:-91.73%}.nav-links{display:flex;align-items:center;gap:30px;font-size:.875rem;transition:opacity .4s;color:#c4c8d2}.js body:not(.landing-open) .nav-links{visibility:hidden;opacity:0}.nav-links a:hover{color:white}.nav-controls{display:flex;align-items:center;gap:22px}.language-switch{display:flex;align-items:center;gap:1px;font-size:.875rem}.language-switch button{background:none;border:none;color:#9a9fb0;min-height:44px;min-width:39px;padding:8px}.language-switch button[aria-pressed=true]{color:white}.language-switch>span{color:#515868;font-size:.75rem}.menu-button{width:42px;height:42px;display:none;background:none;border:1px solid var(--line);border-radius:50%;padding:12px}.menu-button span{display:block;height:1px;background:#e3e6ef;margin:5px 0}
.intro{height:100svh;min-height:760px;position:relative;isolation:isolate;overflow:hidden;background:#030610;opacity:1;transition:opacity .65s ease,transform .9s ease}.intro.leaving{opacity:0;transform:scale(1.035)}.planet-stage{position:absolute;inset:0;z-index:-1}.planet-stage canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity 1.4s ease}.planet-stage.ready canvas{opacity:1}.planet-fallback{position:absolute;inset:0;background-image:linear-gradient(0deg,#030610 28%,transparent 85%),url('assets/planet-fxcell.png');background-size:cover;background-position:center top;opacity:.66;transition:opacity 1.5s}.planet-stage.ready .planet-fallback{opacity:0}.intro-copy{position:absolute;top:61%;left:50%;transform:translateX(-50%);width:min(640px,90%);text-align:center}.lockup{position:relative;overflow:hidden;width:440px;max-width:88%;aspect-ratio:1810/348;margin:0 auto}.lockup img{position:absolute;max-width:none;width:119.95%;height:auto;left:-8.8%;top:-66.6%}.intro-motto{font-size:.875rem;color:#b1b8cb;letter-spacing:.025em;margin:26px 0 25px}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:48px;padding:13px 24px;border-radius:28px;background:#f0f1f5;color:#10121b;font-size:.875rem;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:white;transform:translateY(-2px)}.enter-button{min-width:190px}.enter-button span[aria-hidden]{font-size:1.1rem}.intro-bottom{position:absolute;left:0;right:0;bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#939bae;font-size:.75rem}.intro-caption{letter-spacing:.025em}.motion-button{display:flex;align-items:center;gap:9px;padding:8px 0 8px 12px;min-height:44px;background:none;border:0;font-size:.875rem;color:#a8b0c1}.motion-button:hover{color:white}.motion-button:disabled{opacity:.6}.motion-button>span:first-child{width:16px}
.js body:not(.landing-open) #landing{display:none}.landing-open #landing{animation:appear .7s ease both}.landing-open .intro{display:none}.section{padding:100px 0;scroll-margin-top:20px}.section+.section{border-top:1px solid var(--line)}.eyebrow{font-size:.875rem;color:#b6a0ec;letter-spacing:.07em;margin-bottom:24px}.lead{font-size:1rem;line-height:1.85;color:var(--muted);max-width:640px;margin-top:26px}.landing-hero{padding-top:180px;padding-bottom:112px}.identity-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(230px,1fr);gap:90px;align-items:center}.landing-hero h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.2;letter-spacing:-.045em}.quiet-gradient{color:#aaa7ce}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px}.text-link{font-size:.875rem;color:#d5caee}.text-link:hover{text-decoration:underline;text-underline-offset:6px}.principles{padding-top:42px}.principles p{display:flex;gap:22px;padding:24px 0;margin:0;border-bottom:1px solid var(--line);font-size:.875rem}.principles p:first-child{border-top:1px solid var(--line)}.principles p>span:first-child{font-size:.75rem;color:#747e96;padding-top:2px}.section-heading{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:70px;margin-bottom:48px}.section-heading>p{color:var(--muted);margin:0;font-size:1rem;line-height:1.8}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.capability{padding-top:28px;border-top:1px solid #9384bd4a}.card-index{display:block;margin-bottom:40px;font-size:.75rem;color:#8f96aa;letter-spacing:.055em}.capability h3{max-width:290px;min-height:3em;margin-bottom:20px}.capability p{color:var(--muted);font-size:1rem;line-height:1.8;margin:0}.ecosystem-section{background:linear-gradient(125deg,#0b0b1c,#060912 70%)}.products{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:50px}.product{border-top:1px solid #ffffff25;padding:30px 0 0}.product-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:22px}.product h3{font-size:1.5rem}.status{font-size:.875rem;color:#a7a8c1;border:1px solid #ffffff26;border-radius:20px;padding:4px 10px}.product p{color:var(--muted);font-size:1rem;max-width:410px;margin:0}.process-list article{display:grid;grid-template-columns:60px 230px 1fr;align-items:baseline;gap:24px;padding:27px 0;border-top:1px solid var(--line)}.process-list article:last-child{border-bottom:1px solid var(--line)}.process-number{color:#8981a7;font-size:.75rem}.process-list p{color:var(--muted);font-size:1rem;margin:0}.contact-section{padding-top:112px;padding-bottom:120px}.contact-section h2{max-width:650px}.contact-section .lead{max-width:580px}.contact-link{display:inline-flex;gap:28px;font-size:clamp(1.15rem,3vw,1.65rem);margin-top:18px;color:#ded6f4}.contact-link:hover{color:#bba5ff}.contact-link span{color:#9c85d2}footer{border-top:1px solid var(--line);padding:42px 0 28px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-logo .wordmark{width:104px}.footer-top p{font-size:.8125rem;color:var(--muted);margin:0}.footer-bottom{margin-top:38px;color:#858da2;font-size:.75rem}.footer-bottom a{text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:3px}.footer-bottom a:hover{color:white}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:1800px){.intro-copy{top:62%}.lockup{width:520px}.intro-motto{font-size:.9375rem;margin-top:32px}.intro-bottom{bottom:36px}}
@media(max-width:900px){:root{--page:calc(100% - 48px)}.nav{gap:20px}.nav-links{gap:20px}.identity-grid{grid-template-columns:1.6fr 1fr;gap:40px}.principles p{gap:12px}.section-heading{gap:32px}.capability-grid{gap:24px}.process-list article{grid-template-columns:32px 175px 1fr;gap:18px}.intro{min-height:710px}.intro-copy{top:59%}}
@media(max-width:700px){:root{--page:calc(100% - 40px)}html{scroll-padding-top:90px}.nav{height:74px}.wordmark{width:115px}.nav-controls{gap:10px}.landing-open .menu-button{display:block}.nav-links{display:none;position:absolute;top:73px;left:0;right:0;padding:20px;background:#070b16f5;backdrop-filter:blur(20px);border-bottom:1px solid var(--line);font-size:.9375rem}.nav-links.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-links a{padding:13px 8px}.intro{min-height:700px}.intro-copy{top:57%;width:96%}.lockup{width:340px;max-width:83%}.intro-motto{font-size:.875rem;letter-spacing:0;margin:23px 20px 24px}.intro-bottom{bottom:18px;font-size:.75rem}.intro-caption{max-width:145px}.motion-button{font-size:.875rem}.intro-bottom{gap:10px}.section{padding:72px 0}.landing-hero{padding-top:132px;padding-bottom:70px}.identity-grid{grid-template-columns:1fr;gap:12px}.principles{padding-top:32px}.principles p{padding:16px 0;gap:20px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:36px}.capability-grid{grid-template-columns:1fr;gap:36px}.capability{padding-top:22px}.card-index{margin-bottom:18px}.capability h3{min-height:0;max-width:none;margin-bottom:12px;font-size:1.25rem}.capability p{max-width:540px}.products{grid-template-columns:1fr;gap:35px;margin-top:36px}.process-list article{grid-template-columns:28px 1fr;gap:8px 14px;padding:24px 0}.process-list p{grid-column:2}.process-list h3{font-size:1.125rem}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column;gap:20px}.footer-bottom{gap:10px;margin-top:30px}.footer-top p{margin-top:-5px}.hero-actions{gap:24px}.lead{line-height:1.8}.contact-section{padding-bottom:80px}}
@media(max-height:650px) and (min-width:701px){.intro{min-height:640px}.intro-copy{top:49%}.lockup{width:370px}.intro-motto{margin-top:18px;margin-bottom:20px}.intro-bottom{bottom:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover{transform:none}}
.footer-legal-links{display:flex;gap:20px;flex-wrap:wrap}
.landing-hero #landing-title{font-size:clamp(2rem,3.5vw,3rem);line-height:1.2;letter-spacing:-.045em}
#landing-title:focus{outline:none}
/* Keep the controls below the logo, including when the reader enlarges text. */
.intro{min-height:max(760px,48rem)}
.planet-fallback{background:url('assets/planet-flow-poster.jpg') center center/cover no-repeat;opacity:1;transition:none}
.planet-stage video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0}
.planet-stage.ready video{opacity:1}
.planet-stage.ready .planet-fallback{opacity:1}
.planet-stage::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#03061066);pointer-events:none}
.intro-copy{top:64%}
.lockup{width:380px;filter:drop-shadow(0 4px 24px #03061088)}
.js .intro .lockup{animation:brand-emerge 1.7s cubic-bezier(.2,.7,.2,1) .45s both}
.js .intro-motto{animation:appear 1s ease 1.3s both}
.js .enter-button{animation:appear .9s ease 1.6s both}
.enter-button:focus-visible{animation:none!important}
@keyframes brand-emerge{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1800px){.lockup{width:460px}}
@media(max-width:900px){.intro-copy{top:62%}}
@media(max-width:700px){.intro-copy{top:59%}.lockup{width:300px}}
@media(max-height:650px) and (min-width:701px){.intro-copy{top:51%}.lockup{width:340px}}
@media(max-width:900px){.intro{min-height:max(710px,45rem)}}
@media(max-width:700px){.intro{min-height:max(700px,44rem)}}
@media(max-height:650px) and (min-width:701px){.intro{min-height:max(640px,40rem)}}

/* Cinematic Flow cover — approved placement pass 02. */
.js body:not(.landing-open) .site-header .brand{visibility:hidden;opacity:0;pointer-events:none}
.intro-copy{top:69%}
.lockup{width:310px;max-width:78%}
.intro-motto{margin:18px 0 0}
.js .intro .lockup{animation:brand-emerge 4s cubic-bezier(.16,.7,.24,1) .55s both}
.js .intro-motto{animation:appear 1.4s ease 3.15s both}
.intro .enter-button{
  position:absolute;
  right:max(8%,72px);
  bottom:12%;
  z-index:2;
  min-width:206px;
  min-height:56px;
  color:#fff;
  background:linear-gradient(135deg,#a000ff 0%,#7000e8 58%,#5310b8 100%);
  border:1px solid #a726ff;
  box-shadow:0 12px 34px #5f00db55, inset 0 1px 0 #ffffff22;
  transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.intro .enter-button:hover{
  color:#fff;
  background:linear-gradient(135deg,#ab12ff 0%,#7600ee 58%,#5915c2 100%);
  border-color:#39f4e8;
  box-shadow:0 15px 38px #6500e066,0 0 0 1px #39f4e833,inset 0 1px 0 #ffffff2e;
  transform:translateY(-3px);
}
.intro .enter-button:focus-visible{border-color:#39f4e8;outline-color:#39f4e8}
.js .intro .enter-button{animation:appear 1s ease 3.4s both}
@keyframes brand-emerge{from{opacity:0;transform:translateY(28px) scale(.965);filter:blur(8px)}45%{filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}

@media(min-width:1800px){
  .intro-copy{top:70%}
  .lockup{width:360px}
  .intro .enter-button{right:10%;bottom:12%}
}
@media(max-width:900px){
  .intro-copy{top:66%}
  .lockup{width:280px}
  .intro .enter-button{right:7%;bottom:13%}
}
@media(max-width:700px){
  .intro-copy{top:64%}
  .lockup{width:260px;max-width:76%}
  .intro-motto{margin:16px 18px 0;font-size:.8125rem}
  .intro .enter-button{right:auto;left:50%;bottom:14%;min-width:200px;transform:translateX(-50%)}
  .intro .enter-button:hover{transform:translateX(-50%) translateY(-2px)}
  .js .intro .enter-button{animation:enter-appear-mobile 1s ease 3.4s both}
}
@keyframes enter-appear-mobile{from{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@media(max-height:650px) and (min-width:701px){
  .intro-copy{top:59%}
  .lockup{width:280px}
  .intro .enter-button{bottom:9%}
}

/* Logo + primary action as one balanced lower-stage composition. */
.intro-action-row{
  position:absolute;
  left:50%;
  bottom:9.5%;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:54px;
  width:max-content;
  max-width:calc(100% - 96px);
  transform:translateX(-50%);
}
.intro-action-row .intro-copy{position:static;width:340px;transform:none}
.intro-action-row .lockup{width:300px;max-width:100%}
/* Frame only the transparent margins of the unmodified 2172 × 724 logo.
   Keep the existing responsive widths and the logo's native proportions. */
.intro-action-row .lockup--cell{aspect-ratio:1920/500}
.lockup--cell img{position:static;display:block;width:100%;height:auto;left:auto;top:auto}
.intro-action-row .lockup--folded{aspect-ratio:1856/449}
.lockup--folded img{
  width:calc(2172 / 1856 * 100%);
  left:calc(-183 / 1856 * 100%);
  top:calc(-150 / 449 * 100%);
}
.intro-action-row .intro-motto{margin:16px 0 0;white-space:nowrap}
.intro-action-row .enter-button{position:static;right:auto;bottom:auto;flex:0 0 auto}

@media(min-width:1800px){
  .intro-action-row{bottom:9%;gap:64px}
  .intro-action-row .intro-copy{width:390px}
  .intro-action-row .lockup{width:350px}
}
@media(max-width:900px){
  .intro-action-row{bottom:10%;gap:34px;max-width:calc(100% - 48px)}
  .intro-action-row .intro-copy{width:290px}
  .intro-action-row .lockup{width:270px}
}
@media(max-width:700px){
  .intro-action-row{bottom:12%;flex-direction:column;gap:28px;width:calc(100% - 40px);max-width:none}
  .intro-action-row .intro-copy{width:100%}
  .intro-action-row .lockup{width:250px;margin-inline:auto}
  .intro-action-row .intro-motto{margin-top:14px;white-space:normal}
  .intro-action-row .enter-button{left:auto;transform:none}
  .intro-action-row .enter-button:hover{transform:translateY(-2px)}
  .js .intro .enter-button{animation:appear 1s ease 3.4s both}
}
@media(max-height:650px) and (min-width:701px){
  .intro-action-row{bottom:7%;gap:42px}
  .intro-action-row .intro-copy{width:300px}
  .intro-action-row .lockup{width:270px}
}

/* Automatic 7 s cinematic reveal. The Home is prepared beneath the film. */
.intro{z-index:10;will-change:clip-path}
.intro-action-row .intro-copy{width:min(620px,calc(100vw - 48px))}
.intro-action-row .intro-motto{white-space:normal;max-width:620px;line-height:1.65}
.intro-bottom{justify-content:flex-end}
.js body:not(.landing-open) #landing{
  display:block;
  position:fixed;
  inset:0;
  z-index:0;
  overflow-y:auto;
  visibility:hidden;
  pointer-events:none;
  background:#030610;
}
.js body.intro-revealing #landing{visibility:visible}
.intro.revealing{
  pointer-events:none;
  animation:fxcell-arc-reveal 900ms cubic-bezier(.62,.02,.3,1) both;
}
.landing-open #landing{animation:none}
@keyframes fxcell-arc-reveal{
  from{clip-path:ellipse(160% 145% at 50% -30%)}
  to{clip-path:ellipse(160% 0% at 50% -30%)}
}
@media(max-width:700px){
  .intro-action-row{bottom:13%}
  .intro-action-row .intro-copy{width:100%}
  .intro-action-row .intro-motto{max-width:340px;margin-inline:auto}
}
@media(prefers-reduced-motion:reduce){
  .intro.revealing{animation:none}
}

/* Finish the approved logo entrance before the 4.5 s light sweep. */
.js .intro .lockup{animation-duration:2.2s;animation-delay:.35s}
.js .intro-motto{animation-duration:.85s;animation-delay:1.65s}

/* Shared-scene transition: the frozen planet becomes the Home hero. */
.intro.revealing{animation:none;clip-path:none}
.js body.intro-revealing #landing{
  z-index:11;
  background:transparent;
}
.intro-revealing .intro-action-row{animation:intro-copy-away 900ms cubic-bezier(.4,0,.2,1) both}
.intro-revealing .intro-bottom{animation:intro-controls-away 500ms ease both}
.intro-revealing .landing-hero>p,
.intro-revealing .landing-hero>.identity-grid{animation:home-copy-arrive 1050ms cubic-bezier(.2,.72,.24,1) 120ms both}

.landing-open .intro{
  display:block;
  position:fixed;
  inset:0;
  z-index:0;
  width:100%;
  height:100svh;
  min-height:0;
  pointer-events:none;
  clip-path:none;
  transform:none;
  opacity:1;
}
.landing-open .intro-action-row,
.landing-open .intro-bottom{display:none}
.landing-open #landing{position:relative;z-index:1;background:transparent}
.landing-open .landing-hero{
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,#030610ed 0%,#030610a8 43%,#0306101f 76%,transparent 100%),
    linear-gradient(0deg,#030610 0%,#03061012 34%,transparent 58%);
}
.landing-open #capacidades,
.landing-open #metodo,
.landing-open #contacto,
.landing-open footer{position:relative;background:#030610}
.landing-open #ecosistema{position:relative}

@keyframes intro-copy-away{
  from{opacity:1;transform:translateX(-50%) translateY(0);filter:blur(0)}
  to{opacity:0;transform:translateX(-50%) translateY(-18px);filter:blur(8px)}
}
@keyframes intro-controls-away{from{opacity:1}to{opacity:0}}
@keyframes home-copy-arrive{
  from{opacity:0;filter:blur(7px)}
  to{opacity:1;filter:blur(0)}
}

@media(max-width:700px){
  .landing-open .landing-hero{
    min-height:100svh;
    background:
      linear-gradient(0deg,#030610 0%,#030610b8 47%,#03061024 80%,transparent 100%),
      linear-gradient(90deg,#0306109c,transparent 80%);
  }
}

.landing-open .nav-links a:hover,
.landing-open .nav-links a:focus-visible{color:#39f4e8}

/* Final cascade: keep one identical dark veil from Home through the footer. */
.landing-open #landing{background:rgba(3,6,16,.82)}
.landing-open .landing-hero{
  background:
    linear-gradient(90deg,rgba(3,6,16,.18) 0%,rgba(3,6,16,.08) 48%,transparent 82%),
    linear-gradient(0deg,rgba(3,6,16,.12),transparent 55%);
}
.landing-open h2{color:#5b18c8;text-shadow:0 0 28px rgba(104,35,207,.20)}
.landing-open .landing-hero h1{color:#fff}
.landing-open .quiet-gradient{color:#5b18c8;text-shadow:0 0 28px rgba(104,35,207,.22)}
.landing-open h3{color:#fff}
@media(max-width:700px){
  .landing-open .landing-hero{
    background:
      linear-gradient(0deg,rgba(3,6,16,.18),transparent 62%),
      linear-gradient(90deg,rgba(3,6,16,.12),transparent 88%);
  }
}

/* Keep the final palette active while the Home is still appearing. */
.intro-revealing #landing .quiet-gradient{color:#5b18c8;text-shadow:0 0 28px rgba(104,35,207,.22)}
.intro-revealing #landing .eyebrow,
.intro-revealing #landing .principles p>span:first-child{color:#ae7dff}
.intro-revealing #landing .text-link{color:#bd92ff}
.intro-revealing #landing .button{
  color:#fff;
  background:linear-gradient(135deg,#a000ff 0%,#7500ed 58%,#5b18c8 100%);
  border:1px solid rgba(196,142,255,.58);
  box-shadow:0 14px 38px rgba(92,0,220,.35),inset 0 1px 0 rgba(255,255,255,.18);
}

/* Navigation palette derived from the FXCELL X: night, violet and cyan. */
.landing-open .nav-links a{color:rgba(255,255,255,.80)}
.landing-open .nav-links a:hover,
.landing-open .nav-links a:focus-visible{color:#39f4e8}

/* Final continuity and tonal pass. */
.js body.intro-revealing #landing{
  background:rgba(3,6,16,.82);
  animation:fxcell-veil-arrive 1500ms cubic-bezier(.25,.7,.2,1) both;
}
.intro-revealing .intro-action-row{animation-duration:1150ms}
.intro-revealing .intro-bottom{animation-duration:800ms}
.intro-revealing .landing-hero>p,
.intro-revealing .landing-hero>.identity-grid{animation-duration:1400ms;animation-delay:160ms}
.intro-revealing .site-header{animation:fxcell-header-arrive 1500ms ease both}
html.js body.intro-revealing .site-header .brand,
html.js body.intro-revealing .nav-links{
  visibility:visible;
  pointer-events:auto;
  animation:fxcell-nav-arrive 1200ms ease 180ms both;
}
.landing-open #landing{background:rgba(3,6,16,.82)}
.landing-open .landing-hero{
  background:
    linear-gradient(90deg,rgba(3,6,16,.18) 0%,rgba(3,6,16,.08) 48%,transparent 82%),
    linear-gradient(0deg,rgba(3,6,16,.12),transparent 55%);
}
.landing-open #capacidades,
.landing-open #ecosistema,
.landing-open #metodo,
.landing-open #contacto,
.landing-open footer{background:transparent}
.landing-open h2{color:#5b18c8;text-shadow:0 0 28px rgba(104,35,207,.20)}
.landing-open .landing-hero h1{color:#fff}
.landing-open .quiet-gradient{color:#5b18c8;text-shadow:0 0 28px rgba(104,35,207,.22)}
.landing-open h3{color:#fff}
@keyframes fxcell-veil-arrive{
  from{background-color:rgba(3,6,16,0)}
  to{background-color:rgba(3,6,16,.82)}
}
@keyframes fxcell-header-arrive{
  from{background-color:rgba(3,6,16,0);border-color:transparent}
  to{background-color:rgba(3,6,16,.76);border-color:rgba(170,118,255,.22)}
}
@keyframes fxcell-nav-arrive{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:none}
}
@media(max-width:700px){
  .landing-open .landing-hero{
    background:
      linear-gradient(0deg,rgba(3,6,16,.18),transparent 62%),
      linear-gradient(90deg,rgba(3,6,16,.12),transparent 88%);
  }
  .intro-revealing .menu-button{display:block;animation:fxcell-nav-arrive 1200ms ease 180ms both}
}
@media(prefers-reduced-motion:reduce){
  .js body.intro-revealing #landing,
  .intro-revealing .site-header,
  html.js body.intro-revealing .site-header .brand,
  html.js body.intro-revealing .nav-links{animation:none}
}
.landing-open .language-switch button[aria-pressed=true]{color:#fff}
.landing-open .language-switch button:hover{color:#bd92ff}
.landing-open .menu-button{border-color:rgba(185,137,255,.42);background:rgba(102,22,205,.12)}
.landing-open .menu-button:hover{border-color:#39f4e8}
@media(max-width:700px){
  .landing-open .nav-links.open{
    background:linear-gradient(118deg,rgba(4,7,24,.98) 0%,rgba(22,5,53,.98) 58%,rgba(84,0,162,.96) 100%);
    border-color:rgba(174,121,255,.32);
    box-shadow:0 28px 65px rgba(0,0,0,.42);
  }
}
@media(prefers-reduced-motion:reduce){
  .intro-revealing .intro-action-row,
  .intro-revealing .intro-bottom,
  .intro-revealing .landing-hero>p,
  .intro-revealing .landing-hero>.identity-grid{animation:none}
}

/* Orbital glass — one continuous, edge-to-edge translucent surface. */
.landing-open #landing{
  background:rgba(3,6,16,.64);
  color:#fff;
}
.landing-open .site-header{
  background:rgba(3,6,16,.76);
  border-color:rgba(170,118,255,.22);
  backdrop-filter:blur(20px) saturate(125%);
}
.landing-open .nav-links{color:rgba(255,255,255,.76)}
.landing-open .nav-links a:hover{color:#b88cff}

.landing-open .landing-hero{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:0;
  padding-right:0;
  background:
    linear-gradient(90deg,rgba(3,6,16,.80) 0%,rgba(3,6,16,.54) 45%,rgba(3,6,16,.18) 76%,rgba(3,6,16,.08) 100%),
    linear-gradient(0deg,rgba(3,6,16,.76) 0%,rgba(3,6,16,.10) 42%,transparent 66%);
}
.landing-open .landing-hero>p,
.landing-open .landing-hero>.identity-grid{
  width:var(--page);
  margin-left:auto;
  margin-right:auto;
}

.landing-open #capacidades,
.landing-open #ecosistema,
.landing-open #metodo,
.landing-open #contacto,
.landing-open footer{background:transparent}
.landing-open .section+.section,
.landing-open footer{border-color:rgba(174,121,255,.22)}

.landing-open h1,
.landing-open h2,
.landing-open h3{color:#fff}
.landing-open .quiet-gradient{color:#c1a6ff}
.landing-open .eyebrow,
.landing-open .card-index,
.landing-open .process-number{color:#ae7dff}
.landing-open .lead,
.landing-open .section-heading>p,
.landing-open .capability p,
.landing-open .process-list p,
.landing-open .product p,
.landing-open .footer-top p,
.landing-open .footer-bottom{color:rgba(255,255,255,.76)}
.landing-open .principles p,
.landing-open .process-list article,
.landing-open .capability,
.landing-open .product{border-color:rgba(174,121,255,.24)}
.landing-open .principles p>span:first-child{color:#ae7dff}
.landing-open .status{
  color:#cdbaff;
  border-color:rgba(174,121,255,.42);
  background:rgba(106,36,214,.13);
}
.landing-open .text-link,
.landing-open .contact-link{color:#bd92ff}
.landing-open .text-link:hover,
.landing-open .contact-link:hover{color:#fff}
.landing-open .button{
  color:#fff;
  background:linear-gradient(135deg,#a000ff 0%,#7500ed 58%,#5b18c8 100%);
  border:1px solid rgba(196,142,255,.58);
  box-shadow:0 14px 38px rgba(92,0,220,.35),inset 0 1px 0 rgba(255,255,255,.18);
}
.landing-open .button:hover{
  color:#fff;
  background:linear-gradient(135deg,#ad18ff 0%,#8210f3 58%,#6824d1 100%);
  border-color:#fff;
  box-shadow:0 17px 44px rgba(105,0,235,.44),0 0 0 1px rgba(255,255,255,.12);
}

@media(max-width:700px){
  .landing-open .landing-hero{
    padding-left:0;
    padding-right:0;
    background:
      linear-gradient(0deg,rgba(3,6,16,.86) 0%,rgba(3,6,16,.58) 54%,rgba(3,6,16,.16) 84%,transparent 100%),
      linear-gradient(90deg,rgba(3,6,16,.44),transparent 88%);
  }
}
.landing-open .nav-links a:hover,
.landing-open .nav-links a:focus-visible{color:#39f4e8}

/* Authoritative final colors and veil. */
.landing-open #landing{background:rgba(3,6,16,.82)}
.landing-open .landing-hero{
  background:
    linear-gradient(90deg,rgba(3,6,16,.18) 0%,rgba(3,6,16,.08) 48%,transparent 82%),
    linear-gradient(0deg,rgba(3,6,16,.12),transparent 55%);
}
.landing-open h2{color:#5b18c8;text-shadow:0 0 28px rgba(104,35,207,.20)}
.landing-open .landing-hero h1{color:#fff}
.landing-open .quiet-gradient{color:#5b18c8;text-shadow:0 0 28px rgba(104,35,207,.22)}
.landing-open h3{color:#fff}
@media(max-width:700px){
  .landing-open .landing-hero{
    background:
      linear-gradient(0deg,rgba(3,6,16,.18),transparent 62%),
      linear-gradient(90deg,rgba(3,6,16,.12),transparent 88%);
  }
}

/* Apple system typography, white-only text and invariant transition geometry. */
html{overflow-y:scroll;scrollbar-gutter:stable}
body.intro-revealing{overflow:hidden}
html.js body.intro-revealing #landing{overflow:hidden}
:is(body.intro-revealing,body.landing-open) .landing-hero{
  width:100%;
  max-width:none;
  min-height:100svh;
  margin:0;
  padding-left:0;
  padding-right:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
:is(body.intro-revealing,body.landing-open) .landing-hero>p,
:is(body.intro-revealing,body.landing-open) .landing-hero>.identity-grid{
  width:var(--page);
  margin-left:auto;
  margin-right:auto;
}
:is(body.intro-revealing,body.landing-open) #landing :where(h1,h2,h3,p,a,span,button),
:is(body.intro-revealing,body.landing-open) .site-header :where(a,span,button){
  color:#fff;
  text-shadow:none;
}
.intro-motto,
.motion-button,
.language-switch button,
.language-switch>span{color:#fff}
.language-switch button:not([aria-pressed=true]){opacity:.68}
.intro-revealing #landing .quiet-gradient,
.intro-revealing #landing .eyebrow,
.intro-revealing #landing .principles p>span:first-child,
.intro-revealing #landing .text-link{color:#fff!important;text-shadow:none}

/* White navigation bar with the approved dark FXCELL lockup. */
@font-face{
  font-family:'HS Dream FXCELL';
  src:local('HS Dream SemiBold'),local('HS Dream');
  font-style:normal;
  font-weight:600;
  font-display:swap;
}
:root{--fxcell-ink:#08090c}
.nav{height:44px}
.site-header{border-bottom-width:0}
.header-lockup{display:block;width:218px;aspect-ratio:2172/724}
.header-lockup img{width:100%;height:auto}
.brand{padding:0}
.nav-links,
.language-switch{
  font-family:'HS Dream FXCELL',-apple-system,BlinkMacSystemFont,'SF Pro Text','SF Pro Display','Helvetica Neue',Arial,sans-serif;
  font-weight:600;
  letter-spacing:-.018em;
}
.landing-open .site-header{
  background:#fff;
  border-color:#e5e5e7;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
  backdrop-filter:none;
}
:is(body.intro-revealing,body.landing-open) .site-header :where(a,span,button){
  color:var(--fxcell-ink);
  text-shadow:none;
}
.landing-open .nav-links,
.landing-open .nav-links a,
.landing-open .language-switch button[aria-pressed=true]{color:var(--fxcell-ink)}
.landing-open .nav-links a:hover,
.landing-open .nav-links a:focus-visible,
.landing-open .language-switch button:hover{color:#6818c9}
.landing-open .language-switch>span{color:#86868b}
.landing-open .menu-button{
  border-color:#d2d2d7;
  background:#fff;
}
.landing-open .menu-button span{background:var(--fxcell-ink)}
.landing-open .menu-button:hover{border-color:#6818c9}
.intro-revealing .site-header{animation:fxcell-white-header-arrive 1500ms ease both}
@keyframes fxcell-white-header-arrive{
  from{background-color:rgba(255,255,255,0);border-color:transparent;box-shadow:none}
  to{background-color:#fff;border-color:#e5e5e7;box-shadow:0 1px 0 rgba(0,0,0,.04)}
}
@media(max-width:700px){
  .nav{height:48px}
  .header-lockup{width:174px}
  .landing-open .nav-links{top:48px}
  .landing-open .nav-links.open{
    background:rgba(255,255,255,.98);
    border-color:#e5e5e7;
    box-shadow:0 24px 50px rgba(0,0,0,.12);
    backdrop-filter:blur(20px);
  }
  .landing-open .nav-links.open a{color:var(--fxcell-ink)}
}

/* Content architecture and Apple-style category navigation. */
.header-lockup{
  width:232px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  aspect-ratio:auto;
}
.header-wordmark{
  position:relative;
  display:block;
  width:214px;
  aspect-ratio:1770/254;
  overflow:hidden;
}
.header-wordmark img{
  position:absolute;
  max-width:none;
  width:122.655%;
  height:auto;
  left:-10.17%;
  top:-91.73%;
}
.brand-descriptor{
  width:214px;
  color:var(--fxcell-ink);
  font-size:10px;
  font-weight:600;
  line-height:1;
  letter-spacing:.17em;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
}
.nav-links{gap:25px}
.nav-item{display:flex;align-items:center}
.nav-dropdown-toggle{
  display:flex;
  align-items:center;
  gap:5px;
  min-height:44px;
  padding:0;
  border:0;
  background:none;
  color:var(--fxcell-ink);
}
.nav-chevron{font-size:.88rem;line-height:1;transform:translateY(-1px);transition:transform .25s ease}
.nav-item-dropdown.open .nav-chevron,
.nav-item-dropdown:hover .nav-chevron{transform:rotate(180deg) translateY(1px)}
.mega-menu{
  position:fixed;
  top:44px;
  left:0;
  right:0;
  z-index:19;
  visibility:hidden;
  opacity:0;
  transform:translateY(-10px);
  pointer-events:none;
  background:rgba(22,22,23,.99);
  border-top:1px solid #252528;
  border-bottom:1px solid #2d2d30;
  box-shadow:0 28px 70px rgba(0,0,0,.42);
  transition:opacity .24s ease,transform .24s ease,visibility .24s;
}
.nav-item-dropdown:hover .mega-menu,
.nav-item-dropdown:focus-within .mega-menu,
.nav-item-dropdown.open .mega-menu{
  visibility:visible;
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.mega-menu-inner{
  display:grid;
  grid-template-columns:1.35fr .85fr .8fr;
  gap:84px;
  padding-top:42px;
  padding-bottom:48px;
}
.mega-group{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.mega-solutions{display:flex;flex-direction:column;gap:12px}
.mega-group-title{
  display:block;
  margin-bottom:2px;
  color:#8e8e93!important;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mega-intro>span{
  display:block;
  margin-bottom:9px;
  color:#6818c9!important;
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mega-intro p{margin:0;color:#424245!important;font-size:.88rem;line-height:1.55}
.mega-menu a{display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:#f5f5f7!important}
.mega-menu a>span{color:#9b6cff!important;font-size:.7rem;letter-spacing:.08em}
.mega-menu strong{color:#f5f5f7!important;font-size:1rem;line-height:1.35}
.mega-solutions strong{font-size:1.32rem;letter-spacing:-.025em}
.mega-menu small{color:#a1a1a6!important;font-size:.78rem;line-height:1.5;font-weight:400}
.mega-menu a:hover strong,.mega-menu a:focus-visible strong{color:#b77cff!important}

.landing-hero h1{max-width:800px}
.landing-hero .identity-grid{grid-template-columns:minmax(0,1.8fr) minmax(245px,.9fr)}
#estrategia,#agentes,#productos-digitales{scroll-margin-top:150px}
.product-kicker{
  display:block;
  margin-bottom:9px;
  color:#b99cff;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.landing-open #productos,
.landing-open #experiencia{position:relative;background:transparent}

.agent-process{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(185,156,255,.3);
  border-bottom:1px solid rgba(185,156,255,.22);
}
.agent-process article{
  min-width:0;
  padding:30px 24px 34px;
  border-right:1px solid rgba(185,156,255,.22);
}
.agent-process article:first-child{padding-left:0}
.agent-process article:last-child{padding-right:0;border-right:0}
.agent-letter{
  display:block;
  margin-bottom:30px;
  color:#a000ff!important;
  font-size:clamp(2.7rem,5vw,4.5rem);
  font-weight:600;
  line-height:1;
  letter-spacing:-.06em;
}
.agent-process .process-number{display:block;margin-bottom:7px;color:#b99cff!important;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.agent-process h3{min-height:3.2em;margin-bottom:15px;font-size:1rem}
.agent-process p{margin:0;color:#fff!important;font-size:.88rem;line-height:1.65;opacity:.78}

.experience-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px;
}
.experience-grid article{padding-top:24px;border-top:1px solid rgba(185,156,255,.32)}
.experience-grid article>span{display:block;margin-bottom:34px;color:#b99cff!important;font-size:.72rem;letter-spacing:.08em}
.experience-grid h3{margin-bottom:14px}
.experience-grid p{margin:0;color:#fff!important;font-size:.92rem;line-height:1.75;opacity:.78}
.vision-block{
  display:grid;
  grid-template-columns:.72fr 1.15fr 1fr;
  gap:48px;
  align-items:start;
  margin-top:90px;
  padding-top:44px;
  border-top:1px solid rgba(185,156,255,.32);
}
.vision-block .eyebrow{margin:4px 0 0}
.vision-block p:last-child{margin:5px 0 0;color:#fff!important;font-size:1rem;line-height:1.8;opacity:.84}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:25px}
.contact-actions .contact-link{margin-top:0}

@media(max-width:1050px){
  .header-lockup{width:198px}
  .header-wordmark,.brand-descriptor{width:185px}
  .brand-descriptor{font-size:8.5px}
  .nav-links{gap:17px;font-size:.8rem}
  .nav-controls{gap:12px}
  .agent-process{grid-template-columns:repeat(3,1fr)}
  .agent-process article:nth-child(3){border-right:0}
  .agent-process article:nth-child(n+4){border-top:1px solid rgba(185,156,255,.22)}
  .agent-process article:first-child{padding-left:24px}
  .agent-process article:last-child{padding-right:24px}
}
@media(max-width:700px){
  .header-lockup{width:184px;gap:3px}
  .header-wordmark,.brand-descriptor{width:174px}
  .brand-descriptor{font-size:8px;letter-spacing:.145em}
  .nav-links{align-items:stretch}
  .nav-item{display:block}
  .nav-dropdown-toggle{width:100%;justify-content:space-between;padding:13px 8px}
  .mega-menu{
    position:static;
    display:none;
    visibility:visible;
    opacity:1;
    transform:none;
    pointer-events:auto;
    border:0;
    border-top:1px solid #e7e7ea;
    box-shadow:none;
    background:#161617;
  }
  .nav-item-dropdown.open .mega-menu{display:block}
  .mega-menu-inner{width:100%;display:flex;flex-direction:column;gap:18px;padding:18px 8px 22px}
  .mega-solutions{display:flex}
  .mega-group{gap:13px}
  .mega-group+.mega-group{padding-top:17px;border-top:1px solid #343438}
  .mega-intro{display:none}
  .mega-menu a{padding:0 8px}
  .landing-hero .identity-grid{grid-template-columns:1fr}
  .agent-process{grid-template-columns:1fr}
  .agent-process article,
  .agent-process article:first-child,
  .agent-process article:last-child{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:25px 0;border-right:0;border-top:1px solid rgba(185,156,255,.22)}
  .agent-process article:first-child{border-top:0}
  .agent-letter{margin:0;font-size:2.8rem}
  .agent-process h3{min-height:0;margin-bottom:9px}
  .experience-grid{grid-template-columns:1fr 1fr;gap:34px 22px}
  .experience-grid article>span{margin-bottom:20px}
  .vision-block{grid-template-columns:1fr;gap:18px;margin-top:66px;padding-top:34px}
  .contact-link{font-size:1rem;overflow-wrap:anywhere}
}
@media(max-width:430px){
  .header-lockup{width:158px}
  .header-wordmark,.brand-descriptor{width:150px}
  .brand-descriptor{font-size:7px}
  .experience-grid{grid-template-columns:1fr}
}

/* Compact brand symbol in the global navigation. */
.header-symbol{
  display:block;
  width:160px;
  aspect-ratio:2171/724;
}
.header-symbol img{
  position:static;
  width:100%;
  height:auto;
}
@media(max-width:700px){
  .header-symbol{width:142px}
}

/* FXCELL global navigation: deep-space gradient inspired by the reference mood. */
.header-symbol.header-symbol--cell{width:150px;aspect-ratio:1920/500}
.header-symbol--cell img{display:block;width:100%;height:auto}
@media(max-width:700px){.header-symbol.header-symbol--cell{width:154px}}
.header-symbol.header-symbol--fx{width:66px;aspect-ratio:3/2}
.header-symbol--fx img{display:block;width:100%;height:auto}
@media(max-width:700px){
  .header-symbol.header-symbol--fx{width:72px}
}
.landing-open .site-header{
  background:
    radial-gradient(circle at 74% -180%,rgba(145,0,255,.42),transparent 48%),
    linear-gradient(105deg,#020713 0%,#100529 48%,#52008f 100%);
  border-color:rgba(190,122,255,.24);
  box-shadow:0 10px 34px rgba(0,0,0,.22);
  backdrop-filter:blur(20px) saturate(130%);
}
:is(body.intro-revealing,body.landing-open) .site-header :where(a,span,button),
.landing-open .nav-links,
.landing-open .nav-links a,
.landing-open .language-switch button[aria-pressed=true]{color:#fff}
.landing-open .nav-links a:hover,
.landing-open .nav-links a:focus-visible,
.landing-open .nav-dropdown-toggle:hover,
.landing-open .nav-dropdown-toggle:focus-visible,
.landing-open .language-switch button:hover{color:#b96cff}
.landing-open .language-switch>span,
.landing-open .language-switch button:not([aria-pressed=true]){color:rgba(255,255,255,.58)}
.landing-open .menu-button{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28)}
.landing-open .menu-button span{background:#fff}
.intro-revealing .site-header{animation:fxcell-gradient-header-arrive 1500ms ease both}
@keyframes fxcell-gradient-header-arrive{
  from{background-color:rgba(3,6,16,0);border-color:transparent;box-shadow:none}
  to{background-color:#100529;border-color:rgba(190,122,255,.24);box-shadow:0 10px 34px rgba(0,0,0,.22)}
}
@media(max-width:700px){
  .landing-open .nav-links.open{
    background:linear-gradient(135deg,rgba(2,7,19,.99),rgba(73,0,128,.99));
    border-color:rgba(190,122,255,.24);
    box-shadow:0 24px 50px rgba(0,0,0,.35);
  }
  .landing-open .nav-links.open a{color:#fff}
}

/* Brand system v2: absolute-black navigation and the new intelligent-cell family. */
.landing-open .site-header{
  background:#000;
  border-color:rgba(255,255,255,.10);
  box-shadow:0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:none;
}
.intro-revealing .site-header{animation:fxcell-black-header-arrive 1500ms ease both}
@keyframes fxcell-black-header-arrive{
  from{background-color:rgba(0,0,0,0);border-color:transparent;box-shadow:none}
  to{background-color:#000;border-color:rgba(255,255,255,.10);box-shadow:0 1px 0 rgba(255,255,255,.04)}
}
.header-symbol.header-symbol--cell{
  width:184px;
  aspect-ratio:1850/360;
}
.header-symbol--cell img{width:100%;height:auto}
.intro-action-row .intro-copy{width:min(700px,calc(100vw - 48px))}
.intro-action-row .lockup{width:390px}
.intro-action-row .intro-motto{
  max-width:700px;
  margin-top:23px;
}
.footer-brand-lockup{
  display:block;
  width:210px;
  aspect-ratio:1920/500;
}
.footer-brand-lockup img{width:100%;height:auto}

@media(min-width:1800px){
  .intro-action-row .intro-copy{width:760px}
  .intro-action-row .lockup{width:440px}
  .intro-action-row .intro-motto{max-width:760px;margin-top:26px}
}
@media(max-width:900px){
  .header-symbol.header-symbol--cell{width:172px}
  .intro-action-row .lockup{width:340px}
}
@media(max-width:700px){
  .header-symbol.header-symbol--cell{width:166px}
  .landing-open .nav-links.open{
    background:rgba(0,0,0,.98);
    border-color:rgba(255,255,255,.12);
    box-shadow:0 24px 50px rgba(0,0,0,.48);
  }
  .intro-action-row .lockup{width:310px}
  .intro-action-row .intro-motto{max-width:360px;margin-top:20px}
  .footer-brand-lockup{width:200px}
  .footer-top p{margin-top:-8px}
}
@media(max-width:430px){
  .header-symbol.header-symbol--cell{width:158px}
  .intro-action-row .lockup{width:286px}
}

/* Seamless planet handoff: never change the video's viewport geometry. */
.intro,
body.intro-revealing .intro,
.landing-open .intro{
  position:fixed;
  inset:0;
  width:100%;
  height:100svh;
  min-height:0;
  transform:none;
}
.planet-stage,
.planet-stage video,
.planet-fallback{inset:0}
.planet-stage video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
}

/* Full navigation signature: keep Intelligent Cells readable at every size. */
.nav{height:66px}
.brand{padding-block:6px}
.header-symbol.header-symbol--cell{
  width:208px;
  aspect-ratio:1920/500;
}
.mega-menu{top:66px}
@media(max-width:1050px){
  .header-symbol.header-symbol--cell{width:196px}
  .nav-links{gap:15px}
}
@media(max-width:700px){
  .nav{height:64px}
  .header-symbol.header-symbol--cell{width:184px}
  .landing-open .nav-links{top:64px}
}
@media(max-width:430px){
  .header-symbol.header-symbol--cell{width:176px}
}

/* Draw the descriptor as live type so it remains crisp and genuinely legible. */
.nav{height:72px}
.brand{padding-block:7px}
.header-brand-signature{
  display:flex;
  width:208px;
  flex-direction:column;
  align-items:center;
  gap:1px;
}
.header-brand-signature .header-symbol.header-symbol--cell{
  width:208px;
  aspect-ratio:1850/360;
}
.header-brand-descriptor{
  color:#fff;
  font-size:10px;
  font-weight:600;
  line-height:1;
  letter-spacing:.29em;
  text-transform:uppercase;
  white-space:nowrap;
}
.mega-menu{top:72px}
@media(max-width:1050px){
  .header-brand-signature{width:196px}
  .header-brand-signature .header-symbol.header-symbol--cell{width:196px}
  .header-brand-descriptor{font-size:9.5px}
}
@media(max-width:700px){
  .nav{height:68px}
  .header-brand-signature{width:184px}
  .header-brand-signature .header-symbol.header-symbol--cell{width:184px}
  .header-brand-descriptor{font-size:9px;letter-spacing:.25em}
  .landing-open .nav-links{top:68px}
}
@media(max-width:430px){
  .header-brand-signature{width:176px}
  .header-brand-signature .header-symbol.header-symbol--cell{width:176px}
  .header-brand-descriptor{font-size:8.5px}
}

/* Preferred compact navigation lockup. */
.nav{height:44px}
.brand{padding:0}
.header-symbol.header-symbol--cell{
  width:184px;
  aspect-ratio:1850/360;
}
.mega-menu{top:44px}
@media(max-width:900px){
  .header-symbol.header-symbol--cell{width:172px}
}
@media(max-width:700px){
  .nav{height:48px}
  .header-symbol.header-symbol--cell{width:166px}
  .landing-open .nav-links{top:48px}
}
@media(max-width:430px){
  .header-symbol.header-symbol--cell{width:158px}
}

/* White-header comparison pass. */
.landing-open .site-header{
  background:#fff;
  border-color:#dedede;
  box-shadow:0 1px 0 rgba(0,0,0,.08);
}
.intro-revealing .site-header{animation:fxcell-white-preview-arrive 1500ms ease both}
@keyframes fxcell-white-preview-arrive{
  from{background-color:rgba(255,255,255,0);border-color:transparent;box-shadow:none}
  to{background-color:#fff;border-color:#dedede;box-shadow:0 1px 0 rgba(0,0,0,.08)}
}
:is(body.intro-revealing,body.landing-open) .site-header :where(a,span,button),
.landing-open .nav-links,
.landing-open .nav-links a,
.landing-open .nav-dropdown-toggle,
.landing-open .language-switch button[aria-pressed=true]{color:#000}
.landing-open .language-switch>span,
.landing-open .language-switch button:not([aria-pressed=true]){color:#777}
.landing-open .nav-links a:hover,
.landing-open .nav-links a:focus-visible,
.landing-open .nav-dropdown-toggle:hover,
.landing-open .nav-dropdown-toggle:focus-visible,
.landing-open .language-switch button:hover{color:#5b18c8}
.landing-open .menu-button{background:#fff;border-color:#b7b7b7}
.landing-open .menu-button span{background:#000}
@media(max-width:700px){
  .landing-open .nav-links.open{
    background:rgba(255,255,255,.99);
    border-color:#dedede;
    box-shadow:0 24px 50px rgba(0,0,0,.16);
  }
  .landing-open .nav-links.open a,
  .landing-open .nav-links.open .nav-dropdown-toggle{color:#000}
}

/* Selected navigation: absolute black. */
.landing-open .site-header{
  background:#000;
  border-color:rgba(255,255,255,.10);
  box-shadow:0 1px 0 rgba(255,255,255,.04);
}
.intro-revealing .site-header{animation:fxcell-selected-black-arrive 1500ms ease both}
@keyframes fxcell-selected-black-arrive{
  from{background-color:rgba(0,0,0,0);border-color:transparent;box-shadow:none}
  to{background-color:#000;border-color:rgba(255,255,255,.10);box-shadow:0 1px 0 rgba(255,255,255,.04)}
}
:is(body.intro-revealing,body.landing-open) .site-header :where(a,span,button),
.landing-open .nav-links,
.landing-open .nav-links a,
.landing-open .nav-dropdown-toggle,
.landing-open .language-switch button[aria-pressed=true]{color:#fff}
.landing-open .language-switch>span,
.landing-open .language-switch button:not([aria-pressed=true]){color:rgba(255,255,255,.58)}
.landing-open .nav-links a:hover,
.landing-open .nav-links a:focus-visible,
.landing-open .nav-dropdown-toggle:hover,
.landing-open .nav-dropdown-toggle:focus-visible,
.landing-open .language-switch button:hover{color:#b96cff}
.landing-open .menu-button{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28)}
.landing-open .menu-button span{background:#fff}
@media(max-width:700px){
  .landing-open .nav-links.open{
    background:rgba(0,0,0,.98);
    border-color:rgba(255,255,255,.12);
    box-shadow:0 24px 50px rgba(0,0,0,.48);
  }
  .landing-open .nav-links.open a,
  .landing-open .nav-links.open .nav-dropdown-toggle{color:#fff}
}
