/* Shared rhythm and typography, layered after the individual brand identities. */
:root { --text-muted:#b0bdd0; --primary:#62ddef; --cyan-glow:#38cce52b; }
body { line-height:1.6; }
section[id] { scroll-margin-top:100px; }
.gradient-text { animation:none; }
.container { max-width:1280px; }
.hero { padding:130px 0 42px;text-align:left; }
.hero::before { display:none; }
.hero::after { opacity:.45; }
.hero-layout { display:grid;grid-template-columns:1.25fr 1fr;gap:54px;align-items:center; }
.hero-copy { position:relative;z-index:2; }
.hero-badge { font-size:10px;letter-spacing:2px;padding:7px 14px;margin-bottom:25px;animation:soft-entry .7s both; }
.hero h1 { font-size:clamp(42px,4.35vw,64px);font-weight:800;letter-spacing:-3px;line-height:1.08;margin-bottom:25px;animation:none;color:#f1f7fb; }
.hero-line { display:block;animation:title-arrive .95s cubic-bezier(.16,1,.3,1) both; }
.hero-line-accent { background:linear-gradient(105deg,#9aeef5,#5ed1ed 45%,#b5a7ee);background-clip:text;-webkit-background-clip:text;color:transparent;animation-delay:.12s; }
.hero .hero-copy p { max-width:550px;font-size:17px;line-height:1.8;margin:0 0 28px;color:#b7c5d6;animation:soft-entry .8s .22s both; }
.hero-copy .btn-glow { animation:soft-entry .8s .32s both; }
.hero-footnote { display:block;margin-top:19px;font-size:11px;letter-spacing:.25px;color:#8fa7bd;animation:soft-entry .8s .4s both; }
.btn-glow { background:linear-gradient(115deg,#a4edf5,#5cd6ed);color:#082334;box-shadow:0 6px 22px #25b6d51b;padding:15px 25px;font-size:14px;border:1px solid #c4fbff60;transition:transform .25s,box-shadow .25s; }
.btn-glow:hover { transform:translateY(-3px);box-shadow:0 10px 28px #25b6d535; }
.btn-glow i,.btn-glow-secondary i { transition:transform .25s; }
.btn-glow:hover i,.btn-glow-secondary:hover i { transform:translateX(3px); }
.btn-glow-secondary { padding:15px 25px;font-size:14px; }
a:focus-visible,button:focus-visible { outline:2px solid #9aeef5;outline-offset:5px; }
@keyframes title-arrive { from { opacity:0;transform:translate3d(0,18px,0); } to { opacity:1;transform:none; } }
@keyframes soft-entry { from { opacity:0;transform:translate3d(0,10px,0); } to { opacity:1;transform:none; } }
/* Sculpted light frames the headline without introducing the brands. */
.hero-lightscape { position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0; }
.hero-lightscape svg { position:absolute;inset:0;width:100%;height:100%;opacity:.6;mask-image:linear-gradient(90deg,#000,transparent 35%,transparent 60%,#000); }
.light-ribbons { fill:none;stroke:url(#ribbon-light);stroke-width:1.3;animation:light-flow 14s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:75% 50%; }
.light-ribbons-echo { opacity:.5;animation:light-echo 17s ease-in-out infinite alternate;animation-play-state:paused; }
.hero-bloom { position:absolute;width:60%;aspect-ratio:1;border-radius:50%;opacity:.65;filter:blur(30px);animation:light-bloom 12s ease-in-out infinite alternate;animation-play-state:paused; }
.hero-bloom-cyan { top:-45%;right:-17%;background:radial-gradient(circle,#1b98b242,transparent 65%); }
.hero-bloom-violet { bottom:-70%;left:-20%;background:radial-gradient(circle,#7952c746,transparent 65%);animation-delay:-6s; }
.scene-active .light-ribbons,.scene-active .hero-bloom { animation-play-state:running; }
.motion-paused .light-ribbons,.motion-paused .hero-bloom { animation-play-state:paused; }
@keyframes light-flow { from { transform:translate3d(0,-12px,0) rotate(-2deg); } to { transform:translate3d(28px,24px,0) rotate(3deg); } }
@keyframes light-echo { from { transform:translate(1440px,900px) rotate(180deg); } to { transform:translate(1400px,870px) rotate(184deg); } }
@keyframes light-bloom { from { transform:translate3d(0,0,0) scale(.9);opacity:.45; } to { transform:translate3d(-30px,20px,0) scale(1.1);opacity:.8; } }
/* Consistent section rhythm: retain breathing room without empty screens. */
.stats-section { padding:22px 0; }
.stat-item { padding:20px 15px; }
.stat-number { font-size:36px;letter-spacing:-1.5px;margin-bottom:8px; }
.stat-label { display:block;font-size:10px;letter-spacing:1px; }
.about-section { padding:76px 0; }
.about-grid { gap:44px; }
.about-content h2 { font-size:clamp(30px,3.2vw,43px);letter-spacing:-1.5px;margin-bottom:22px;line-height:1.14; }
.about-content > p { font-size:15px;line-height:1.85;margin-bottom:26px; }
.visions-pills { gap:0; }
.vision-pill { padding:16px 0;border:0;border-bottom:1px solid #ffffff0d;border-radius:0;background:none;gap:17px; }
.vision-pill:hover { transform:translateX(3px);border-color:#6ae1f52b; }
.vision-pill i { font-size:21px;width:30px; }
.vision-pill h4 { font-size:14px; }
.vision-pill p { font-size:12px;line-height:1.7; }
/* Founders: consistent portrait treatment and sober, readable biographies. */
.founders-grid { gap:16px;align-items:stretch; }
.founder-card { border:1px solid #ffffff12;border-radius:20px;padding:13px 13px 20px;background:linear-gradient(145deg,#122033a6,#0a1223b3);text-align:left; }
.founder-card img { aspect-ratio:4/5;width:100%;object-fit:cover;object-position:center 28%;border:0;border-radius:12px;margin-bottom:16px;filter:saturate(.92); }
.founder-card:hover img { transform:none;box-shadow:none; }
.founder-card h4 { font-size:17px;letter-spacing:-.4px;padding:0 4px; }
.founder-card p { padding:0 4px; }
.founder-card p:last-child { font-size:12px!important;line-height:1.8!important;color:#afbed0!important; }
/* Four connected stages, with one clear reading direction. */
.model-section { padding:68px 0 34px;background:radial-gradient(ellipse at 50% 0,#1a335333,transparent 70%); }
.model-head { max-width:790px;margin-bottom:34px; }
.model-head h2,.tech-head h2,.partners-head h2 { font-size:clamp(28px,3vw,40px);letter-spacing:-1.3px;line-height:1.17; }
.model-intro,.tech-head p,.partners-head > p { font-size:15px;line-height:1.85; }
.model-eyebrow,.tech-eyebrow,.partners-eyebrow,.join-eyebrow { font-size:10px;letter-spacing:2px;margin-bottom:15px; }
.model-steps { gap:18px; }
.model-steps::before { top:41px;left:5%;right:5%;background:linear-gradient(90deg,#62ddef44,#b5a7ee33); }
.model-step { padding:25px 20px 22px;border-radius:17px;border-color:#ffffff12;background:#0b1628; }
.model-step-num { top:20px;right:18px;font-size:31px;color:#6acde24f;font-weight:500;letter-spacing:-1px; }
.model-step-icon { width:42px;height:42px;border-radius:12px;margin-bottom:21px; }
.model-step-icon i { font-size:18px; }
.model-step h3 { font-size:16px;line-height:1.35; }
.model-step p { font-size:12px;line-height:1.8; }
.model-step:hover { transform:translateY(-3px);box-shadow:0 10px 25px #0003; }
.backbone-title { margin-top:58px;margin-bottom:32px; }
.backbone-title h2 { font-size:clamp(28px,3vw,40px);letter-spacing:-1.2px;line-height:1.2;max-width:750px;margin:auto; }
#unidades .carousel-wrapper { padding-bottom:62px; }
#unidades .segment-card p { font-size:14px;line-height:1.75; }
#unidades .segment-role { font-size:10px; }
#unidades .feature-pill span { font-size:11px; }
#unidades .brand-caption { font-size:12px; }
/* Technology: bookend features frame the four supporting capabilities. */
.tech-section { padding:62px 0;background:radial-gradient(ellipse at 20% 30%,#12344524,transparent 65%); }
.tech-head { margin-bottom:30px;max-width:720px; }
.tech-grid { gap:14px;max-width:1000px; }
.tech-item { padding:24px;border-radius:17px;background:#0c1829a6;border-color:#ffffff10;gap:17px; }
.tech-item:first-child,.tech-item:last-child { grid-column:1/-1;background:linear-gradient(110deg,#12313d9c,#111a2d9c); }
.tech-item:first-child { padding:29px; }
.tech-item:first-child h3 { font-size:21px; }
.tech-item:first-child .tech-item-icon { width:58px;height:58px; }
.tech-item:last-child { align-items:center; }
.tech-item h3 { font-size:16px; }
.tech-item p { font-size:13px;line-height:1.8; }
.tech-item:hover { transform:translateY(-3px);box-shadow:0 10px 25px #0002; }
/* Partners: editorial introduction beside the benefits, rather than another grid. */
.partners-section { padding:66px 0; }
.partners-section > .container { display:grid;grid-template-columns:.85fr 1.15fr;gap:25px 48px;align-items:start; }
.partners-head { grid-column:1;grid-row:1/3;text-align:left;margin:10px 0 0;max-width:none; }
.partners-head h2 { margin-bottom:24px; }
.partners-points { grid-column:2;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:14px; }
.partners-point { padding:22px;border-radius:17px;background:#0b1729a8;border-color:#ffffff12; }
.partners-point-icon { width:38px;height:38px;border-radius:10px;margin-bottom:14px; }
.partners-point-icon i { font-size:16px; }
.partners-point h3 { font-size:15px;line-height:1.4; }
.partners-point p { font-size:12px;line-height:1.8; }
.partners-point:hover { transform:translateY(-3px);box-shadow:0 10px 25px #0002; }
.partners-cta { grid-column:2;grid-row:2;text-align:left; }
.partners-note { font-size:11px;color:#9bafc4;line-height:1.7; }
.join-section { padding:50px 0; }
.join-panel { border-radius:23px;box-shadow:none; }
.join-panel-content { padding:36px; }
.join-panel-content h3 { font-size:29px;letter-spacing:-1px; }
.join-panel-content p { font-size:14px;line-height:1.85;margin-bottom:25px; }
.join-panel-media { min-height:290px; }
/* A focused final invitation and a live ribbon of brand signatures. */
.final-cta { padding:28px 24px 60px;background:none; }
.final-cta > .container { padding:44px 30px;max-width:1170px;border:1px solid #74d7ec25;border-radius:25px;background:radial-gradient(ellipse at 50% 0,#36779425,transparent 75%),#0d1729; }
.final-cta h2 { font-size:clamp(29px,3.3vw,43px);letter-spacing:-1.5px;line-height:1.18; }
.final-cta > .container > p { font-size:15px;line-height:1.8;margin-bottom:25px;max-width:550px; }
footer { padding:38px 0 26px;background:#050e1c70; }
.footer-logo { height:54px;opacity:.9;margin-bottom:22px; }
.footer-nav { margin-bottom:26px;gap:30px; }
.footer-nav a { color:#afc0d3;font-size:11px; }
.footer-products { display:block;overflow:hidden;max-width:1110px;margin:0 auto 30px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.footer-marquee-track { display:flex;width:max-content;animation:brand-ribbon 28s linear infinite;will-change:transform; }
.footer-brand-group { display:flex;gap:16px;align-items:center;flex:none;padding-right:16px; }
.footer-brand-group a,.footer-brand-group .footer-brand,.footer-brand-group .footer-soon { display:inline-flex;gap:11px;align-items:center;white-space:nowrap;padding:11px 16px;min-height:58px;border:1px solid #ffffff0c;border-radius:13px;background:#10203766;color:#b9c9db;font-size:12px;text-decoration:none; }
.footer-brand-group img { width:50px;height:31px;object-fit:contain;background:none;padding:0;border-radius:6px; }
.footer-brand-group .footer-soon img { background:#e7edf7;padding:3px; }
.footer-brand-group a:hover { border-color:#6ae1f542;color:#e2f8ff; }
.footer-products:hover .footer-marquee-track { animation-play-state:paused; }
.footer-products:focus-within { overflow-x:auto;mask-image:none;-webkit-mask-image:none; }
.footer-products:focus-within .footer-marquee-track { animation:none;transform:none; }
.footer-products:focus-within .footer-brand-group[aria-hidden] { display:none; }
.footer-copy { font-size:12px;color:#8298b0; }
.footer-divider { margin-bottom:22px; }
.footer-socials { margin-bottom:22px; }
.footer-social { color:#a3b7cb;border-color:#ffffff16; }
@keyframes brand-ribbon { to { transform:translateX(-50%); } }
/* Motion follows one vocabulary and never changes the content being read. */
.reveal,.reveal-left,.reveal-right { transition:opacity .65s ease,transform .65s cubic-bezier(.16,1,.3,1);filter:none!important; }
.reveal { transform:translateY(18px); }
.reveal-left { transform:translateX(-18px); }
.reveal-right { transform:translateX(18px); }
.visible { transform:none; }
.nav-mobile-logo,.nav-mobile-logo img { animation:none; }
.scroll-top { width:40px;height:40px;right:20px;bottom:20px; }
.motion-paused .footer-marquee-track { animation-play-state:paused; }
@media (max-width:1100px) {
  .hero-layout { gap:30px;grid-template-columns:1.2fr 1fr; }
  .hero h1 { font-size:clamp(40px,4.5vw,54px);letter-spacing:-2px; }
  .hero-copy .hero-footnote { font-size:10px; }
  .about-grid { grid-template-columns:1fr;gap:30px; }
  .about-content { max-width:820px; }
  .founders-grid { max-width:650px; }
  .founder-card { display:grid;grid-template-columns:100px 1fr;column-gap:18px;align-content:start;padding:16px; }
  .founder-card img { grid-row:1/4;aspect-ratio:4/5;margin:0; }
  .founder-card p:last-child { font-size:12px!important; }
}
@media (max-width:820px) {
  .hero { padding:132px 0 45px; }
  .hero-layout { grid-template-columns:1fr;text-align:center;gap:30px; }
  .hero h1 { font-size:clamp(38px,7.7vw,61px);letter-spacing:-2px; }
  .hero .hero-copy p { margin:0 auto 24px;max-width:590px;font-size:16px; }
  .hero-badge { margin-bottom:22px; }
  .stats-section { padding:15px 0; }
  .partners-section > .container { grid-template-columns:1fr;gap:26px; }
  .partners-head,.partners-points,.partners-cta { grid-column:auto;grid-row:auto; }
  .partners-head { max-width:620px;margin:0; }
  .join-panel-content { padding:28px; }
  .join-panel-media { min-height:200px; }
}
@media (max-width:560px) {
  .container { padding-inline:24px; }
  .hero { padding-top:116px;padding-bottom:32px; }
  .hero-layout { gap:22px; }
  .hero h1 { font-size:clamp(33px,8.3vw,46px);letter-spacing:-1.5px; }
  .hero .hero-copy p { font-size:15px;line-height:1.8; }
  .hero-footnote { max-width:260px;margin:16px auto 0;font-size:10px; }
  .stat-number { font-size:29px; }
  .stat-label { font-size:9px;letter-spacing:.7px; }
  .stat-item { padding:17px 7px; }
  .about-section,.partners-section { padding:49px 0; }
  .about-content h2 { font-size:31px; }
  .founders-grid { grid-template-columns:1fr;max-width:100%; }
  .founder-card { grid-template-columns:90px 1fr;column-gap:14px; }
  .founder-card h4 { font-size:16px; }
  .founder-card p:last-child { font-size:12px!important; }
  .model-section { padding:47px 0 20px; }
  .model-head { margin-bottom:26px; }
  .model-head h2,.tech-head h2,.partners-head h2 { font-size:29px;letter-spacing:-1px; }
  .model-intro,.tech-head p,.partners-head > p { font-size:14px; }
  .model-steps { gap:12px; }
  .model-step { padding:21px; }
  .model-step-icon { margin-bottom:13px; }
  .model-step p { font-size:13px; }
  .backbone-title { margin-top:39px;margin-bottom:26px; }
  .backbone-title h2 { font-size:28px; }
  #unidades .carousel-wrapper { padding-bottom:43px; }
  #unidades .segment-card p { font-size:14px; }
  .tech-section { padding:46px 0; }
  .tech-item,.tech-item:first-child { padding:21px;gap:14px; }
  .tech-item:first-child h3 { font-size:18px; }
  .tech-item:first-child .tech-item-icon { width:44px;height:44px; }
  .partners-points { grid-template-columns:1fr;gap:12px; }
  .partners-point { display:grid;grid-template-columns:38px 1fr;gap:0 16px;padding:20px; }
  .partners-point-icon { grid-row:1/3;margin:0; }
  .partners-point p { font-size:13px; }
  .partners-cta .btn-glow { justify-content:center;width:100%; }
  .join-section { padding:36px 0; }
  .join-panel-content { padding:26px; }
  .join-panel-content h3 { font-size:26px; }
  .join-panel-media { min-height:165px; }
  .final-cta { padding:18px 16px 40px; }
  .final-cta > .container { padding:32px 22px; }
  .final-cta h2 { font-size:29px;letter-spacing:-1px; }
  .final-cta > .container > p { font-size:14px; }
  .cta-buttons { gap:12px; }
  .cta-buttons a { width:100%;justify-content:center; }
  footer { padding-top:32px; }
  .footer-logo { height:46px; }
  .footer-brand-group a,.footer-brand-group .footer-brand,.footer-brand-group .footer-soon { padding:10px 13px;font-size:12px; }
  .footer-products { margin-inline:-24px;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
  .footer-marquee-track { animation-duration:32s; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important;animation:none!important;transition:none!important; }
  .hero-line,.hero-badge,.hero-copy p,.hero-copy .btn-glow,.hero-footnote,.hero-ecosystem,.reveal,.reveal-left,.reveal-right { opacity:1!important;transform:none!important; }
  .footer-products { overflow-x:auto;mask-image:none;-webkit-mask-image:none; }
  .footer-brand-group[aria-hidden] { display:none; }
}

/* The hero is a typographic stage: smooth words, then a single light sweep. */
.hero { padding:165px 0 72px;min-height:650px;text-align:center; }
.hero-layout { display:block; }
.hero-copy { max-width:1080px;margin:auto; }
.hero h1 { position:relative;font-size:clamp(49px,6.7vw,88px);line-height:1.06;letter-spacing:-4px;margin-bottom:27px; }
.hero-line { animation:none; }
.hero-line-accent { background:none;color:inherit; }
.hero-word { display:inline-block;animation:word-light-in 1s cubic-bezier(.16,1,.3,1) var(--enter) both; }
.hero-line-accent .hero-word { color:transparent;background:linear-gradient(110deg,#b1f7f8 5%,#66dff1 35%,#90aaf6 70%,#d7c9f4);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;animation:word-light-in 1s cubic-bezier(.16,1,.3,1) var(--enter) both,title-light-sweep 2.6s ease-out .5s both; }
.hero .hero-copy p { max-width:650px;margin:0 auto 29px;font-size:17px;line-height:1.8;animation-delay:.45s; }
.hero-copy .btn-glow { animation-delay:.55s; }
.hero-footnote { margin:21px auto 0;font-size:11px;color:#93adc4;animation-delay:.65s; }
.hero-badge { margin-bottom:27px; }
@keyframes word-light-in { from { opacity:0;transform:translate3d(0,24px,0);filter:blur(5px); } to { opacity:1;transform:none;filter:blur(0); } }
@keyframes title-light-sweep { from { background-position:100% 0; } to { background-position:0 0; } }
@media (max-width:820px) {
  .hero { padding:145px 0 55px;min-height:590px; }
  .hero h1 { font-size:clamp(44px,7.5vw,65px);letter-spacing:-2.7px; }
  .hero .hero-copy p { font-size:16px;max-width:560px; }
}
@media (max-width:560px) {
  .hero { padding:133px 0 48px;min-height:570px; }
  .hero h1 { font-size:clamp(34px,9.1vw,49px);letter-spacing:-1.6px;line-height:1.14;margin-bottom:25px; }
  .hero .hero-copy p { font-size:15px;line-height:1.85; }
  .hero-badge { margin-bottom:25px;font-size:9px; }
  .hero-footnote { max-width:280px;font-size:10px;line-height:1.8; }
  .hero-lightscape svg { opacity:.45;mask-image:linear-gradient(90deg,#000,transparent 35%,transparent 65%,#000); }
  .hero-bloom { width:130%; }
  .hero-bloom-cyan { right:-70%;top:-10%; }
  .hero-bloom-violet { left:-70%;bottom:-30%; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-word { opacity:1!important;transform:none!important;filter:none!important; }
}
