/* Portal interactions are isolated behind each label; the approved world stays intact. */
.portal-nav{position:relative;height:2.75rem;margin:1.1rem auto 0;max-width:1040px;opacity:var(--areas-reveal);transform:translateY(calc((1 - var(--areas-reveal))* .75rem));pointer-events:auto;}
.portal-list{position:absolute;inset:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.1rem .6rem;}
.portal-item{position:relative;min-width:0;margin:0;}
.portal-link{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.55rem .65rem;border:0;border-radius:3px;color:#eff1e8;background:transparent;font:500 .7rem/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.105em;text-decoration:none;text-shadow:0 1px 9px rgba(0,8,13,.95);cursor:pointer;white-space:nowrap;list-style:none;transition:color .2s;}
.portal-link::-webkit-details-marker{display:none;}
.portal-link:after{content:"";position:absolute;left:.65rem;right:.65rem;bottom:5px;height:1px;background:linear-gradient(90deg,transparent,#d8c9a0,transparent);transform:scaleX(.2);opacity:0;transition:opacity .25s,transform .4s;}
.portal-link:hover:after,.portal-link:focus-visible:after{opacity:.65;transform:scaleX(1);}
.portal-link:focus-visible{outline:1px solid #e7d1a0;outline-offset:2px;background:rgba(10,25,29,.32);}
.portal-label{position:relative;z-index:2;}
.portal-chevron{position:relative;z-index:2;font-size:.8rem;opacity:.7;}
.portal-effect{position:absolute;z-index:0;inset:-6px 0;pointer-events:none;opacity:0;overflow:hidden;border-radius:50%;transition:opacity .5s;}
.portal-link:hover>.portal-effect,.portal-link:focus-visible>.portal-effect{opacity:1;}
[data-portal="talento"] .portal-effect{background:conic-gradient(from 220deg at 18% 50%,transparent 0deg,rgba(231,214,173,.24) 24deg,transparent 50deg);filter:blur(4px);transform:rotate(-7deg);}
[data-portal="talento"] .portal-effect:after{content:"";position:absolute;inset:0;background:conic-gradient(from 40deg at 82% 40%,transparent,rgba(212,229,243,.26) 25deg,transparent 50deg);}
[data-portal="negocios"] .portal-effect{background:linear-gradient(90deg,transparent 20%,rgba(204,226,213,.22) 20.5%,transparent 21%,transparent 72%,rgba(204,226,213,.22) 72.5%,transparent 73%),linear-gradient(0deg,transparent 25%,rgba(204,226,213,.2) 26%,transparent 27%,transparent 67%,rgba(204,226,213,.15) 68%,transparent 69%);transform:perspective(110px) rotateY(-20deg);border:1px solid rgba(203,222,209,.2);border-radius:2px;}
[data-portal="lab"] .portal-effect{inset:4px 20px;border:1px solid rgba(143,207,209,.35);border-radius:1px;transform:perspective(100px) rotateX(50deg) rotateZ(-24deg);background:repeating-linear-gradient(90deg,transparent 0 13px,rgba(157,213,212,.2) 14px 15px),repeating-linear-gradient(0deg,transparent 0 13px,rgba(157,213,212,.2) 14px 15px);}
[data-portal="proyectos"] .portal-effect{inset:4px 20px;border:1px solid rgba(216,218,231,.2);border-radius:0;transform:rotate(-3deg);}
[data-portal="proyectos"] .portal-effect:after{content:"";position:absolute;inset:5px 18px;border:1px solid rgba(216,218,231,.19);transform:rotate(7deg);}
[data-portal="agency"] .portal-effect{overflow:visible;}
[data-portal="agency"] .portal-effect i{position:absolute;left:30%;top:5%;width:40%;height:90%;border:1px solid rgba(221,202,155,.26);border-radius:50%;transform:rotate(-24deg);}
[data-portal="agency"] .portal-effect i:nth-child(2){transform:rotate(24deg);}
[data-portal="agency"] .portal-effect i:nth-child(3){transform:rotate(90deg);}
[data-portal="proposito"] .portal-effect{background:radial-gradient(ellipse,rgba(222,174,106,.25),transparent 65%);}
.availability-note{position:absolute;bottom:calc(100% + .5rem);left:50%;width:230px;max-width:70vw;transform:translateX(-50%);padding:.55rem .75rem;background:#13292d;border:1px solid #59635b;border-radius:5px;color:#e7e7db;font-size:.64rem;line-height:1.6;letter-spacing:0;white-space:normal;visibility:hidden;opacity:0;transition:opacity .2s;pointer-events:none;}
[data-portal="proposito"]:hover .availability-note,[data-portal="proposito"]:focus-visible .availability-note{visibility:visible;opacity:1;}
/* A progressive gravitational lens, clipped to the Universo portal. Text is never transformed. */
.universe-effect{inset:-14px -8px;overflow:hidden;contain:paint;border-radius:50%;}
.universe-effect i{position:absolute;display:block;pointer-events:none;}
.universe-stars{inset:0;background:radial-gradient(circle at 18% 25%,#e0e8e6 0 1px,transparent 1.4px),radial-gradient(circle at 79% 71%,#d1dcd5 0 1px,transparent 1.4px),radial-gradient(circle at 74% 16%,#fff0d4 0 .7px,transparent 1.1px),radial-gradient(circle at 30% 83%,#bcceda 0 .7px,transparent 1px),radial-gradient(ellipse at center,rgba(121,150,176,.16),transparent 65%);}
.universe-lens{inset:5% 19%;border-radius:50%;border:1px solid rgba(179,194,215,.55);box-shadow:0 0 8px rgba(132,169,189,.25),inset 0 0 9px rgba(149,178,198,.28);opacity:0;transform:scale(.5);transition:opacity .65s .16s,transform 1.1s .16s;}
.universe-disk{left:16%;right:16%;top:28%;height:42%;border-radius:50%;border:2px solid rgba(224,188,128,.57);box-shadow:0 0 8px rgba(224,175,115,.4),inset 0 0 6px rgba(239,191,126,.2);transform:rotate(-18deg) scale(.25);opacity:0;transition:opacity .8s .4s,transform 1.2s .3s;}
.universe-core{width:32px;height:32px;left:calc(50% - 16px);top:calc(50% - 16px);border-radius:50%;background:#030b12;box-shadow:0 0 0 1px rgba(204,203,174,.24),0 0 12px rgba(7,10,17,.9);transform:scale(0);transition:transform 1.2s .65s;}
[data-portal="universo"]:hover .universe-lens,[data-portal="universo"]:focus-visible .universe-lens{opacity:.75;transform:scale(1);}
[data-portal="universo"]:hover .universe-disk,[data-portal="universo"]:focus-visible .universe-disk{opacity:.9;transform:rotate(-18deg) scale(1);}
[data-portal="universo"]:hover .universe-core,[data-portal="universo"]:focus-visible .universe-core{transform:scale(1);}
[data-portal="universo"].is-entering .portal-effect{opacity:1;}
[data-portal="universo"].is-entering .universe-lens{opacity:1;transform:scale(1.13);}
[data-portal="universo"].is-entering .universe-disk{opacity:1;transform:rotate(-18deg) scale(1.13);}
[data-portal="universo"].is-entering .universe-core{transform:scale(1.13);}
.portal-submenu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:min(620px,calc(100vw - 2rem));padding:2rem;background:#14262a;border:1px solid #59635b;border-radius:16px;color:#eff1e8;text-align:left;box-shadow:0 20px 100px #020c11;}
.portal-dialog{position:fixed;width:min(660px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:2.7rem 2.5rem 1.5rem;border:1px solid rgba(218,226,209,.23);border-radius:18px;background:linear-gradient(145deg,#203437,#101e24);color:#f1f1e7;box-shadow:0 32px 150px rgba(0,5,10,.6);overflow-y:auto;overscroll-behavior:contain;}
.portal-dialog[open]{animation:portal-appear .28s ease both;}
.portal-dialog::backdrop{background:rgba(3,12,19,.56);backdrop-filter:blur(8px);}
.portal-close{position:absolute;right:1rem;top:.9rem;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(221,229,215,.2);border-radius:50%;background:transparent;color:#dce6db;font:300 1.6rem/1 sans-serif;cursor:pointer;}
.portal-close:hover{background:rgba(207,213,181,.07);border-color:#c4c4a6;}
.portal-eyebrow{margin:.3rem 0 1.2rem;color:#c1be9e;font-size:.61rem;line-height:1.6;letter-spacing:.18em;}
.portal-dialog h2,.portal-submenu h2{margin:0;font-size:clamp(1.5rem,5vw,2.6rem);font-weight:400;letter-spacing:-.04em;line-height:1.12;}
.portal-intro{margin:1rem 0 1.8rem;color:#becbc6;font-size:.87rem;line-height:1.65;}
.submenu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;}
.submenu-grid a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px;padding:1rem 1.1rem;border:1px solid rgba(222,230,215,.16);border-radius:7px;background:rgba(194,203,182,.025);color:#e8ede1;font-size:.94rem;line-height:1.4;text-decoration:none;transition:background .2s,border-color .2s;}
.submenu-grid a:hover{background:rgba(209,201,164,.08);border-color:#979f89;}
.submenu-grid a span:last-child{font-size:.85rem;color:#b8b79b;}
.business-grid a{font-size:.84rem;}
.portal-dialog-foot{display:flex;justify-content:space-between;gap:.8rem;margin:2rem 0 0;padding-top:1.1rem;border-top:1px solid rgba(218,226,209,.12);color:#adbdad;font-size:.55rem;line-height:1.5;letter-spacing:.13em;}
.portal-dialog-foot>span{font-size:.5rem;letter-spacing:.1em;color:#829b90;}
.craft-credit{margin:0;color:#c4d0c8;font-size:.61rem;letter-spacing:.02em;text-shadow:0 1px 6px #0b1b1d;}
body:not(.is-complete) .craft-credit{opacity:0;}
body.world-visible .progress-track{opacity:0;}
body.world-visible .closing{display:none;}
body.world-visible .identity{padding-bottom:.3rem;}
body.world-visible .weather-credit{font-size:.58rem;}
@keyframes portal-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.portal-nav{max-width:780px}.portal-list{gap:0 .2rem}.portal-link{font-size:.68rem;padding:.5rem .55rem;letter-spacing:.07em;}}
@media(max-width:700px){.portal-nav{height:5.5rem;max-width:480px;margin-top:.9rem}.portal-list{gap:0 .4rem}.portal-link{font-size:.68rem;}}
@media(max-width:600px){
 .portal-nav{height:2.75rem;max-width:350px;margin-top:.95rem;}
 .portal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem .15rem;}
 .portal-link{width:100%;min-height:44px;padding:.6rem .18rem;font-size:.67rem;letter-spacing:.055em;}
 [data-portal="universo"]{grid-column:1 / -1;justify-self:center;width:auto;min-width:128px;}
 .portal-link[data-portal="proyectos"]{font-size:.625rem;letter-spacing:.025em;}
 .portal-effect{inset:0 8px;}
 .universe-effect{inset:-9px -4px;}
 .portal-dialog{padding:2.8rem 1.15rem 1.3rem;border-radius:15px;}
 .portal-eyebrow{font-size:.52rem;letter-spacing:.12em;margin-bottom:1rem;padding-right:1.5rem;}
 .portal-intro{font-size:.82rem;margin:1rem 0 1.4rem;}
 .submenu-grid{gap:.5rem;}
 .submenu-grid a{min-height:69px;padding:.85rem .8rem;font-size:.88rem;}
 .business-grid{grid-template-columns:1fr;}
 .business-grid a{min-height:61px;}
 .portal-dialog-foot{font-size:.5rem;}
 .portal-dialog-foot>span{font-size:.43rem;}
 .availability-note{left:auto;right:0;transform:none;font-size:.62rem;}
 .craft-credit{font-size:.6rem;line-height:1.5;max-width:155px;text-align:center;}
 body.world-visible .weather-credit{max-width:80px;font-size:.52rem;}
 body.world-visible .experience-footer{padding-left:65px;padding-right:42px;}
 body.world-essential .webgl-fallback-message{bottom:5.8rem;width:min(88vw,360px);padding:.5rem .65rem;}
 body.world-essential .webgl-fallback-message p{font-size:.68rem;}
 body.world-essential .webgl-fallback-message span{font-size:.61rem;}
 body.world-essential .world-caption{display:none;}
}
@media(max-width:600px) and (max-height:700px){
 body.world-visible .identity{top:32%;}
 body.world-visible .identity-kicker{margin-bottom:1rem;}
 body.world-visible .slogan{margin-top:1rem;}
 .portal-nav{margin-top:.6rem;}
 .portal-list{gap:0 .1rem;}
 .portal-link{min-height:42px;}
 body.world-essential .webgl-fallback-message{bottom:5.2rem;}
}
@media(max-height:600px) and (orientation:landscape){
 .portal-nav{height:3rem;max-width:650px;margin-top:.5rem;}
 .portal-list{display:flex;gap:0 .2rem;}
 .portal-link{font-size:.61rem;min-height:36px;padding:.3rem .4rem;}
 body.world-visible .identity{top:37%;}
 body.world-essential .webgl-fallback-message{bottom:3.8rem;padding:.4rem .75rem;}
 body.world-essential .webgl-fallback-message span{display:none;}
 .craft-credit{font-size:.55rem;}
}
@media(prefers-reduced-motion:reduce){.portal-effect,.portal-effect *,.portal-link,.portal-link:after,.portal-dialog{transition:none!important;animation:none!important;}.universe-lens,.universe-disk{transform:none;}.universe-core{transition:none;}}
@media(prefers-contrast:more){.portal-link{background:rgba(0,8,14,.8);color:#fff}.portal-dialog{background:#102024}.portal-effect{display:none;}}

/* Editorial navigation. The landscape, not an HTML card, supplies the setting. */
.portal-nav{max-width:1240px;margin-top:1.4rem;}
.portal-list{gap:.1rem .5rem;}
.portal-item{--portal-accent:223,207,163;}
[data-portal="negocios"]{--portal-accent:166,207,181;}
[data-portal="lab"]{--portal-accent:168,218,220;}
[data-portal="proyectos"]{--portal-accent:207,205,229;}
[data-portal="agency"]{--portal-accent:230,197,141;}
[data-portal="proposito"]{--portal-accent:238,195,147;}
[data-portal="universo"]{--portal-accent:189,205,238;}
.portal-link{padding:.65rem .7rem;min-height:46px;color:#f1f0e8;font-size:.68rem;font-weight:500;letter-spacing:.105em;text-shadow:0 1px 3px rgba(2,9,13,.78),0 2px 12px rgba(2,9,13,.7);transition:color 220ms ease,background 220ms ease;}
.portal-label{display:inline-block;transition:transform 240ms cubic-bezier(.2,.65,.3,1),text-shadow 300ms ease;}
.portal-link:hover,.portal-link:focus-visible,.portal-link.is-entering{color:rgb(var(--portal-accent));}
.portal-link:hover .portal-label,.portal-link:focus-visible .portal-label{text-shadow:0 1px 9px #071119,0 0 20px rgba(var(--portal-accent),.23);}
.portal-link:before{content:"";position:absolute;pointer-events:none;inset:8px 3px;border-radius:3px;background:linear-gradient(112deg,transparent 24%,rgba(var(--portal-accent),.08) 48%,transparent 70%);background-size:260% 100%;background-position:120% 0;opacity:0;transition:opacity 250ms ease,background-position 750ms cubic-bezier(.2,.7,.2,1);}
.portal-link:hover:before,.portal-link:focus-visible:before{opacity:1;background-position:-20% 0;}
.portal-link:after{left:.7rem;right:.7rem;bottom:7px;background:linear-gradient(90deg,rgba(var(--portal-accent),.13),rgba(var(--portal-accent),.85),rgba(var(--portal-accent),.13));transform:scaleX(0);transform-origin:left;transition:transform 400ms cubic-bezier(.2,.7,.2,1),opacity 300ms;}
.portal-link:hover:after,.portal-link:focus-visible:after,.portal-link.is-entering:after{transform:scaleX(1);opacity:.9;}
.portal-chevron{font-size:.72rem;transition:transform 250ms ease;}
.portal-link[aria-expanded="true"] .portal-chevron{transform:rotate(180deg);}
.portal-link:focus-visible{outline-color:rgb(var(--portal-accent));background:rgba(6,17,21,.3);}
.portal-dialog{padding:3.4rem 2.5rem 1.65rem;border-radius:12px;border-color:rgba(218,226,209,.24);background:linear-gradient(150deg,rgba(23,43,44,.97),rgba(9,23,28,.98));box-shadow:0 35px 100px rgba(0,5,10,.48);}
.portal-dialog::backdrop{background:rgba(3,12,19,.36);backdrop-filter:blur(3px);}
.portal-dialog h2{font-size:clamp(1.7rem,5vw,2.8rem);font-weight:450;letter-spacing:-.045em;}
.portal-dialog .portal-eyebrow{color:rgb(var(--portal-accent));font-size:.57rem;letter-spacing:.2em;}
.portal-dialog .portal-intro{font-size:.84rem;color:#becbc5;}
.submenu-grid{gap:0 1.5rem;}
.submenu-grid a{min-height:73px;padding:1rem .1rem;border:0;border-bottom:1px solid rgba(222,230,215,.17);border-radius:0;background:transparent;transition:color 220ms ease,border-color 220ms ease;}
.submenu-grid a:hover{background:transparent;color:rgb(var(--portal-accent));border-color:rgba(var(--portal-accent),.7);}
.submenu-grid a span:last-child{display:inline-block;color:rgb(var(--portal-accent));transition:transform 260ms ease;}
.submenu-grid a:hover span:last-child{transform:translate(3px,-3px);}
.portal-dialog-foot{margin-top:2.25rem;}
.portal-close{border-color:rgba(217,225,215,.22);transition:transform 220ms ease,border-color 220ms ease;}
.portal-close:hover{transform:rotate(90deg);}
body.world-visible .identity{background:none;box-shadow:none;backdrop-filter:none;}
body.world-visible .identity h1{background:none;filter:none;clip-path:none;text-shadow:0 2px 3px rgba(3,10,16,.4),0 0 1px rgba(3,10,16,.28);}
body.world-visible .ambient-frame{background:linear-gradient(180deg,rgba(3,10,17,.06),transparent 17%,transparent 84%,rgba(2,10,13,.22));box-shadow:none;}
@media(min-width:1600px){.portal-nav{margin-top:1.65rem;}.portal-list{gap:.1rem .8rem;}.portal-link{font-size:.72rem;}}
@media(max-width:1100px){.portal-nav{max-width:810px;}.portal-list{gap:0 .15rem;}.portal-link{padding:.6rem .5rem;font-size:.65rem;letter-spacing:.075em;}}
@media(max-width:700px){.portal-nav{max-width:480px;margin-top:1rem;}.portal-list{gap:0 .35rem;}}
@media(max-width:600px){
 .portal-nav{height:11.25rem;max-width:350px;margin-top:1rem;}
 .portal-list{gap:.08rem .25rem;}
 .portal-link{font-size:.64rem;padding:.5rem .1rem;letter-spacing:.07em;min-height:44px;}
 .portal-link[data-portal="proyectos"]{font-size:.61rem;letter-spacing:.025em;}
 .portal-link:after{left:15%;right:15%;bottom:6px;}
 .portal-dialog{padding:3rem 1.4rem 1.35rem;border-radius:12px;}
 .portal-dialog .portal-eyebrow{font-size:.51rem;letter-spacing:.15em;}
 .submenu-grid{column-gap:1.1rem;}
 .submenu-grid a{min-height:65px;font-size:.85rem;}
 body.world-visible .identity{top:40%;}
 body.world-visible .identity h1{font-size:16.4vw;}
 body.world-visible .identity-kicker{margin-bottom:1.1rem;}
 body.world-visible .slogan{font-size:.9rem;margin-top:1.15rem;}
 .world-caption{bottom:7.1rem;}
}
@media(max-width:600px) and (max-height:740px){
 body.world-visible .identity{top:43%;}
 body.world-visible .identity h1{font-size:14.8vw;}
 body.world-visible .identity-kicker{margin-bottom:.8rem;}
 body.world-visible .slogan{margin-top:.85rem;font-size:.84rem;}
 .portal-nav{margin-top:.7rem;}
 .world-caption{display:none;}
}
@media(max-height:600px) and (orientation:landscape){
 .portal-nav{height:3rem;max-width:720px;margin-top:.6rem;}
 .portal-list{display:flex;gap:0 .15rem;}
 .portal-link{font-size:.59rem;min-height:36px;padding:.3rem .35rem;}
 body.world-visible .identity{top:43%;}
 .portal-link:after{bottom:2px;}
}
@media(prefers-reduced-motion:reduce){.portal-label,.portal-link:before,.portal-chevron,.submenu-grid a span:last-child,.portal-close{transition:none!important;transform:none!important;}}
@media(prefers-contrast:more){body.world-visible .ambient-frame{background:transparent;}.portal-link{background:rgba(0,8,14,.75);}.identity h1{filter:drop-shadow(0 2px 2px #000);}}
