/* V4 — dirección editorial. Las imágenes originales se componen sin cajas raster. */
:root{--stage:#07111d;--ink-soft:#d4e1ea;--rule:#b0d9e43b}
html{scroll-behavior:smooth}
body{background:#050b13}
.hero{isolation:isolate;background:radial-gradient(ellipse 46% 60% at 78% 42%,#193249 0%,#0b172a 56%,transparent 100%),linear-gradient(125deg,#050b14 2%,#0a1728 60%,#080c18 100%)}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:16%;background:linear-gradient(0deg,#050b13,transparent);pointer-events:none;z-index:1}
.hero__grid{opacity:.065;mask-image:linear-gradient(90deg,transparent,#000 70%,transparent)}
.hero .hero__inner{width:min(calc(100% - 96px),1390px);min-height:100svh;padding:94px 0 38px;justify-content:center}
.hero .hero__tag{margin-bottom:14px;letter-spacing:.15em}
.hero .hero__title{max-width:570px;font-size:clamp(58px,6.2vw,94px);line-height:.94;letter-spacing:-.073em;margin:16px 0 20px}
.hero .hero__sub{max-width:500px;font-size:17px;line-height:1.58;color:#deebf2;text-shadow:0 2px 16px #050b15}
.hero .hero__ctas{margin-top:24px;margin-bottom:19px}
.hero-stage{top:65px;right:-1.5%;width:58%;height:calc(100% - 70px);overflow:visible;opacity:1;mask-image:none}
.hero-stage img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;filter:saturate(1.05) contrast(1.035);mask-image:linear-gradient(180deg,transparent 0%,#000 17%,#000 59%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 13%,#000 84%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}
.hero-stage__mesh{opacity:.1;inset:14% 8% 12%}
.hero-stage__label{right:11%;bottom:13%;color:#d3edf4}

/* Dos presencias: la imagen ocupa el aire; el texto vive debajo, no encima del rostro. */
.world{position:relative;padding:122px 0 128px;background:radial-gradient(ellipse 55% 35% at 32% 39%,#102738 0%,transparent 82%),radial-gradient(ellipse 38% 34% at 88% 58%,#20162f 0%,transparent 85%),#050b13}
.world .wrap{max-width:1400px}
.duo-intro{display:grid;grid-template-columns:minmax(180px,.48fr) minmax(0,1.52fr);column-gap:6vw;max-width:none;margin-bottom:58px;border-top:1px solid var(--rule);padding-top:30px}
.duo-intro .eyebrow{grid-column:1;grid-row:1;line-height:1.6}
.duo-intro h2{grid-column:2;grid-row:1;margin:0;font-size:clamp(57px,6.5vw,94px);line-height:.98;max-width:880px}
.duo-intro p{grid-column:2;grid-row:2;margin:22px 0 0;max-width:600px;font-size:18px}
.duo-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:6vw;perspective:2000px}
.duo-card,.duo-card--sofia{position:relative;min-height:640px;margin:0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:none;box-shadow:none;overflow:hidden;isolation:isolate;transition:transform .55s ease}
.duo-card--sofia{min-height:570px;margin-top:76px}
.duo-card:hover{box-shadow:none}
.duo-card::before{inset:6% 4% 20%;background:radial-gradient(300px circle at var(--shine-x) var(--shine-y),#9defff13,transparent 80%);mix-blend-mode:screen}
.duo-card::after{content:"";position:absolute;inset:auto 0 0;height:1px;border:0;box-shadow:none;background:linear-gradient(90deg,#59dcea80,transparent);z-index:5}
.duo-card--sofia::after{background:linear-gradient(90deg,#db92ed88,transparent)}
.duo-card>img,.duo-card--sofia>img{position:absolute;left:-5%;top:2%;width:110%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;filter:saturate(1.08);opacity:.96;mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 52%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 14%,#000 84%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in;transform:scale(1.03);transition:transform .85s ease}
.duo-card--sofia>img{left:-8%;width:116%}
.duo-card:hover>img{transform:scale(1.055)}
.duo-card__halo{inset:0;background:linear-gradient(0deg,#07111c 0%,#07111c 17%,transparent 45%),radial-gradient(ellipse 53% 52% at 63% 28%,#67e5ee15,transparent 80%);animation:duo-breath 11s ease-in-out infinite}
.duo-card--sofia .duo-card__halo{background:linear-gradient(0deg,#0a101e 0%,#0a101e 15%,transparent 44%),radial-gradient(ellipse 53% 52% at 63% 28%,#d279e318,transparent 80%)}
.duo-card__serial{left:0;top:10px;font-size:11px;letter-spacing:.22em}
.duo-card__glass,.duo-card--sofia .duo-card__glass{left:0;bottom:0;width:100%;padding:26px 1px 30px;border:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.duo-card__glass h3{font-size:clamp(47px,5vw,72px);margin-bottom:13px;line-height:.98}
.duo-card__glass p{max-width:475px;font-size:17px;line-height:1.55;color:#dae6ed;margin-bottom:18px}
.duo-card--sofia .duo-card__glass p{max-width:380px}
.duo-card__glass a,.duo-card__glass button{font-size:14px;padding-bottom:3px}

/* Índice de cuatro especialidades: jerarquía 7/5 y 5/7, sin cuatro cajas iguales. */
.duo-secondary{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;margin-top:100px;border-top:1px solid var(--rule)}
.duo-secondary__item{min-height:300px;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
.duo-secondary__item:nth-child(4n+1),.duo-secondary__item:nth-child(4n+4){grid-column:span 7}
.duo-secondary__item:nth-child(4n+2),.duo-secondary__item:nth-child(4n+3){grid-column:span 5}
.duo-secondary__item:nth-child(odd){border-right:1px solid var(--rule)}
.duo-secondary__item::before{background:linear-gradient(90deg,#07111c 0%,#07111ce8 27%,#07111ca8 50%,transparent 82%)}
.duo-secondary__item::after{border:0;box-shadow:none}
.duo-secondary__item>img,.duo-secondary__item--sphere>img,.duo-secondary__item--thread>img{left:auto;right:0;top:0;width:57%;height:100%;object-fit:cover;object-position:center;opacity:.9;mask-image:linear-gradient(180deg,transparent 0%,#000 17%,#000 79%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 18%,#000 85%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}
.duo-secondary__item>span,.duo-secondary__item--sphere>span,.duo-secondary__item--thread>span{min-height:300px;width:62%;padding:26px 5% 26px 26px;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.duo-secondary__item b,.duo-secondary__item--sphere b,.duo-secondary__item--thread b{font-size:clamp(30px,3vw,46px);line-height:1.03}
.duo-secondary__item small{font-size:16px;line-height:1.48;color:#dbe8f0}
.duo-secondary__item em{font-size:13px;color:#aef4f4}
.duo-secondary__item:hover{box-shadow:none;background:#a7dcee07}
.world__note{max-width:750px;margin:26px 0 0;font-size:14px;color:#b9cad5}

/* El catálogo sigue siendo funcional y usa tarjetas compactas de lectura real. */
#precios{background:linear-gradient(180deg,#080f19,#0b1421)}
.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.price-card{min-height:190px;padding:26px;gap:12px;border-color:#8ccde53d;border-radius:15px;background:linear-gradient(135deg,#112337bf,#101925a8)}
.price-name{font-size:clamp(19px,1.8vw,25px)}
.price-amt{font-size:clamp(29px,2.8vw,40px)}
.price-src{margin-top:2px;font-family:inherit;font-size:15px;line-height:1.5;letter-spacing:0;text-transform:none;color:#d1dfeb}
.price-src span{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#a9d9e7;margin-bottom:5px}
.price-note{font-family:inherit;font-size:14px;letter-spacing:0;line-height:1.55;color:#bdcdd9}

@media(max-width:1150px){.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duo-grid{gap:30px}.duo-secondary__item b{font-size:34px}}
@media(max-width:900px){.duo-intro{grid-template-columns:1fr;gap:17px}.duo-intro .eyebrow,.duo-intro h2,.duo-intro p{grid-column:1;grid-row:auto}.duo-grid{grid-template-columns:1fr 1fr;gap:24px}.duo-card,.duo-card--sofia{min-height:560px;margin-top:0}.duo-secondary{grid-template-columns:1fr 1fr}.duo-secondary__item:nth-child(n){grid-column:auto}.duo-secondary__item>span,.duo-secondary__item--sphere>span,.duo-secondary__item--thread>span{width:70%}.duo-secondary__item b{font-size:31px}}
@media(max-width:740px){.hero .hero__inner{width:calc(100% - 44px);padding:125px 0 40px;justify-content:center}.hero .hero__title{max-width:510px;font-size:clamp(55px,9vw,68px)}.hero .hero__sub{max-width:480px}.hero-stage{right:-19%;top:3%;width:88%;height:69%;opacity:.45}.world{padding:86px 0}.duo-intro{margin-bottom:38px}.duo-intro h2{font-size:clamp(45px,8.5vw,67px)}.duo-grid{grid-template-columns:1fr;gap:24px}.duo-card,.duo-card--sofia{min-height:610px;margin:0}.duo-secondary{grid-template-columns:1fr;margin-top:58px}.duo-secondary__item:nth-child(n){grid-column:1;border-right:0}.duo-secondary__item{min-height:270px}.duo-secondary__item>span,.duo-secondary__item--sphere>span,.duo-secondary__item--thread>span{min-height:270px;width:63%}.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.hero .hero__inner{padding:112px 0 42px;min-height:100svh;justify-content:flex-start}.hero .hero__title{max-width:360px;font-size:clamp(52px,13vw,61px);margin:25px 0 17px}.hero .hero__sub{font-size:16px;line-height:1.5;max-width:95%}.hero-stage{right:-40%;top:4%;width:125%;height:51%;opacity:.3}.hero-stage img{object-position:center}.hero-stage__label{display:none}.duo-intro h2{font-size:clamp(43px,10.5vw,52px)}.duo-intro p{font-size:17px}.duo-card,.duo-card--sofia{min-height:560px}.duo-card__glass h3{font-size:51px}.duo-card__glass p{font-size:16px}.duo-secondary__item{min-height:310px}.duo-secondary__item>span,.duo-secondary__item--sphere>span,.duo-secondary__item--thread>span{min-height:310px;width:68%;padding:22px 2% 22px 5%}.duo-secondary__item b{font-size:30px}.duo-secondary__item>img{width:59%}.price-grid{grid-template-columns:1fr}.price-card{min-height:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.duo-card,.duo-card>img,.duo-secondary__item>img{transition:none!important;transform:none!important}.duo-card__halo{animation:none!important}}
.motion-paused .duo-card__halo,.tab-hidden .duo-card__halo,.world--offscreen .duo-card__halo{animation-play-state:paused!important}
/* En ancho estrecho se muestra el símbolo completo: el recorte cover de escritorio
   reducía Ruta RED a dos bucles y dejaba Comando fuera de la tarjeta. */
@media(max-width:480px){
  .duo-secondary__item>img,.duo-secondary__item--sphere>img,.duo-secondary__item--thread>img{right:0;top:27%;width:54%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 88%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 12%,#000 92%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}
  .duo-secondary__item--sphere>img,.duo-secondary__item--thread>img{top:15%;aspect-ratio:1/1;width:52%}
  .duo-secondary__item:hover>img{transform:scale(1.03)}
}
