/* Xpertise · continuidad inmersiva sobre WOW 9.2.1.
   Intentionally additive. No reset, new typography, reordered sections or enlarged photographs. */
:root{--xp-ease:cubic-bezier(.22,1,.36,1);--xp-short:280ms;--xp-long:700ms;--xp-tone:#a855f7}
:where(a,button,summary,input,textarea,select,[tabindex]):focus-visible{outline:2px solid #22b8f0;outline-offset:5px}
.xp-motion-on .reveal{transition:opacity var(--xp-long) var(--xp-ease),transform var(--xp-long) var(--xp-ease)}
.nav.scrolled{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.xp-scene{position:relative}
.xp-scene::after{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;pointer-events:none;opacity:.38;background:linear-gradient(90deg,transparent 3%,#a855f7 27%,#22b8f0 59%,#ff7a1a 84%,transparent 98%);transform:scaleX(var(--xp-scene-line,0));transform-origin:left;transition:transform 950ms var(--xp-ease);z-index:1}
.xp-scene.xp-in-scene{--xp-scene-line:1}
/* Original positions, widths, heights and crops are unchanged. Only the frame moves, very slightly. */
.eureka-hero{position:relative;isolation:isolate}
.xp-depth-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.xp-depth-field i{position:absolute;left:-23%;top:-75%;width:74%;height:160%;border:1px solid #1c1d27;border-radius:50%;opacity:.35;transform:translate3d(var(--xp-field-x,0px),var(--xp-field-y,0px),0);transition:transform 1200ms var(--xp-ease)}
.xp-depth-field i:nth-child(2){left:-18%;top:-85%;border-color:#261d32}
.xp-depth-field i:nth-child(3){left:-13%;top:-95%;border-color:#18262d}
.hero-tomas,.contact-photo{position:relative}
.xp-motion-on .hero-tomas,.xp-motion-on .contact-photo{translate:var(--xp-media-x,0px) var(--xp-media-y,0px);transition:translate 800ms var(--xp-ease),box-shadow 700ms var(--xp-ease),border-color 500ms ease}
.xp-motion-on .hero-tomas:hover,.xp-motion-on .contact-photo:hover{border-color:#49515c;box-shadow:0 22px 52px -30px #000}
.xp-motion-on .hero-copy{translate:0 var(--xp-copy-y,0px);transition:translate 1000ms var(--xp-ease)}
/* Responses use the existing brand palette, never a new visual identity. */
.situation{transition:border-color 260ms ease,background-color 260ms ease,transform 420ms var(--xp-ease)}
.situation.active{border-color:var(--xp-tone,#765492)}
.situation.active i{color:var(--xp-tone,#a855f7)}
.situation-answer{transition:border-color 420ms ease;border-left-color:var(--xp-tone,#a855f7)}
.situation-answer .unit-badge{transition:color 300ms ease}
.service-card summary{transition:background-color 260ms ease}
.service-card summary>i{transition:transform 400ms var(--xp-ease),color 300ms ease}
.service-card strong,.service-symbol{transition:color 300ms ease}
.leadership .service-card:hover summary>i{color:#b25bf3}.learning .service-card:hover summary>i{color:#35bff4}.leverage .service-card:hover summary>i{color:#ff8a2b}
.unit-side{--xp-unit-progress:0}
.unit-side::after{content:"";display:block;width:68px;height:1px;margin-top:20px;background:currentColor;opacity:.65;transform:scaleX(var(--xp-unit-progress));transform-origin:left;transition:transform 600ms var(--xp-ease)}
.leadership .unit-side::after{color:#a855f7}.learning .unit-side::after{color:#22b8f0}.leverage .unit-side::after{color:#ff7a1a}
.work-node>span,.work-node b{transition:color 360ms ease,background-color 360ms ease,border-color 360ms ease}
.work-path-v9 span{transition:width 800ms var(--xp-ease),background 450ms ease}
.work-progress-copy{transition:border-color 500ms ease}
.work-experience[data-step="1"] .work-progress-copy{border-top-color:#593651}
.work-experience[data-step="2"] .work-progress-copy{border-top-color:#235367}
.work-experience[data-step="3"] .work-progress-copy{border-top-color:#654328}
.compass-visual .needle{transition:transform 800ms var(--xp-ease)}
.compass-point{transition:color 300ms ease,border-color 300ms ease,background-color 300ms ease}
.compass-copy{transition:border-color 500ms ease}
[data-direction="vision"] .compass-copy{border-left-color:#22b8f0}
[data-direction="mission"] .compass-copy{border-left-color:#a855f7}
[data-direction="essence"] .compass-copy{border-left-color:#ff7a1a}
[data-direction="values"] .compass-copy{border-left-color:#cf38cc}
.team-person{transition:border-color 300ms ease,background-color 300ms ease}
.contact-choice-v92 a,.contact-choice-v92 button,.nav-cta,.xp-product-action{transition:transform 350ms var(--xp-ease),border-color 300ms ease,background-color 300ms ease}
@media(hover:hover) and (pointer:fine){.xp-motion-on .situation:hover{transform:translateY(-2px)}.xp-product-action:hover span{transform:translate(2px,-2px)}.contact-choice-v92 a:hover,.contact-choice-v92 button:hover{transform:translateY(-2px)}}
/* Same automatic marquee; added pause and manual travel, in its existing lower space. */
.photo-marquee{position:relative}
.xp-marquee-controls{position:absolute;right:max(28px,calc((100vw - 1400px)/2));bottom:19px;display:flex;gap:6px;align-items:center}
.xp-marquee-controls button{min-height:30px;min-width:32px;display:inline-grid;place-items:center;padding:4px 10px;color:#b6bdc9;background:#0b0d11;border:1px solid #303641;border-radius:999px;font:inherit;font-size:12px;cursor:pointer}
.xp-marquee-controls button:hover{color:#fff;border-color:#606976}
.xp-marquee-paused .photo-marquee-track,.photo-marquee:focus-within .photo-marquee-track,.client-marquee:hover .client-track,.xp-offstage .photo-marquee-track,.xp-offstage .client-track,.xp-page-hidden *{animation-play-state:paused!important}
.xp-motion-toggle{float:right;appearance:none;padding:0;background:transparent;border:0;color:#a8adb8;font:inherit;cursor:pointer}
.xp-motion-toggle:hover{color:#f3f4f6}.xp-motion-toggle:disabled{opacity:.65;cursor:default}
/* Software: independent, compact, full-image plates; HUMIN remains separate. */
.xp-software-showcase{margin:0 0 28px}
.xp-software-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}
.xp-product-card{--xp-tone:#a855f7;position:relative;display:grid;grid-template-columns:minmax(128px,.82fr) minmax(0,1.18fr);align-items:center;gap:26px;padding:26px;background:#0a0c10;border:1px solid #262a32;border-radius:14px;transition:border-color 400ms ease,box-shadow 500ms var(--xp-ease)}
.xp-eli{--xp-tone:#22b8f0}.xp-humin{--xp-tone:#ff7a1a}
.xp-product-card::before{content:"";position:absolute;top:-1px;left:26px;width:54px;height:2px;background:var(--xp-tone);transition:width 650ms var(--xp-ease)}
.xp-product-card:hover,.xp-product-card:focus-within{border-color:#4b515d;box-shadow:0 14px 34px -24px #000}
.xp-product-card:hover::before,.xp-product-card:focus-within::before{width:100px}
.xp-product-picture{margin:0;min-width:0;width:100%;max-width:205px;justify-self:center}
.xp-screen-button{display:block;position:relative;width:100%;border:0;padding:0;background:#000;color:#afb5c1;font:inherit;cursor:zoom-in;border-radius:8px;overflow:hidden;text-align:left}
.xp-screen-button img{display:block;width:100%;height:auto;object-fit:contain;transform:none;filter:none}
.xp-screen-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;padding:8px 10px;background:#08090c;border-top:1px solid #22262d}
.xp-screen-button:hover .xp-screen-label,.xp-screen-button:focus-visible .xp-screen-label{color:#fff}
.xp-product-copy{min-width:0}
.xp-product-copy h3{color:var(--xp-tone);font-size:27px;line-height:1.15;margin:0 0 5px;font-weight:700}
.xp-product-copy>small{display:block;color:#9ca4b0;font-size:13px;margin:0 0 14px}
.xp-product-copy>p{color:#c0c4cc;font-size:15px;line-height:1.65;margin:0}
.xp-product-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;margin-top:20px}
.xp-product-action{display:inline-flex;gap:14px;align-items:center;font-size:14px;font-weight:600;color:#e2e5eb;border-bottom:1px solid #4c5461;padding:5px 0}
.xp-product-action:hover{border-color:var(--xp-tone);color:#fff}.xp-product-action span{display:inline-block;transition:transform 350ms var(--xp-ease);color:var(--xp-tone)}
.xp-humin-feature{grid-template-columns:245px minmax(0,1fr);gap:40px;padding:28px 36px}
.xp-humin-feature .xp-product-copy{max-width:690px}
.xp-humin-feature h3{font-size:30px}
.xp-product-detail-visual{display:flex;justify-content:flex-start;padding:24px 0 4px}
.xp-product-detail-visual .xp-product-picture{max-width:265px}
.xp-product-detail-visual .xp-screen-button{border:1px solid #262a32;border-radius:10px}
/***** Embedded video. No network until the visitor chooses to play. *****/
.xp-film{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:44px;align-items:center;margin:38px 0 38px;padding:30px 0;border-top:1px solid #262a32;border-bottom:1px solid #262a32;--xp-tone:#ff7a1a}
.xp-film-copy h3{font-size:clamp(24px,2.4vw,34px);line-height:1.15;letter-spacing:-.025em;margin:0 0 14px;color:#f3f4f6}
.xp-film-copy p:not(.kicker){font-size:16px;line-height:1.65;color:#a8adb8;margin:0 0 20px}
.xp-film .kicker{color:#ff8a2b}
.xp-video-external{display:inline-flex;gap:6px;padding-bottom:4px;font-size:13px;color:#c5cad3;border-bottom:1px solid #49515c}
.xp-video-block{min-width:0}
.xp-video-stage{aspect-ratio:16/9;min-height:200px;position:relative;border:1px solid #32343b;border-radius:14px;overflow:hidden;background:#030405}
.xp-film-poster{appearance:none;position:absolute;inset:0;border:0;padding:24px;background:#030405;color:#edf0f4;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;cursor:pointer;font:inherit}
.xp-film-poster::before,.xp-film-poster::after{content:"";position:absolute;inset:18px;pointer-events:none;border:1px solid #181c22;border-radius:7px;transition:border-color 600ms ease}
.xp-film-poster::after{inset:27px;border-color:#0d1117}
.xp-film-poster:hover::before{border-color:#734529}
.xp-film-poster>img{width:70%;max-width:320px;height:auto;object-fit:contain;filter:none}
.xp-play-disc{display:grid;place-items:center;width:56px;height:56px;border:1px solid #9e622e;border-radius:50%;background:#15100c;transition:background 400ms ease,border-color 400ms ease,transform 500ms var(--xp-ease)}
.xp-play-disc i{display:block;width:0;height:0;margin-left:4px;border-left:12px solid #ff8a2b;border-top:7px solid transparent;border-bottom:7px solid transparent}
.xp-film-poster:hover .xp-play-disc{background:#20160e;border-color:#ff8a2b;transform:scale(1.06)}
.xp-play-label{display:block;color:#c6cbd4;font-size:13px}.xp-play-label small{display:inline-block;margin-left:8px;font-size:10px;color:#79818e}
.xp-video-stage iframe{position:absolute;inset:0;border:0;width:100%;height:100%}
.xp-video-tools{padding-top:10px;text-align:right}.xp-video-tools[hidden]{display:none}
.xp-video-tools button{font:inherit;font-size:12px;border:0;padding:4px 0;background:transparent;color:#afb6c2;cursor:pointer}
.xp-video-tools button:hover{color:#fff}
/***** Optional, user-triggered view of the original software plate. *****/
.xp-screen-dialog{color:#e8ebf0;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);width:min(720px,calc(100vw - 28px));padding:18px;border:1px solid #343b47;border-radius:16px;background:#07090c;overflow:auto}
.xp-screen-dialog::backdrop{background:rgba(0,0,0,.93);backdrop-filter:blur(6px)}
.xp-screen-dialog header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.xp-screen-dialog h2{margin:0;font:inherit;font-size:18px;font-weight:650}
.xp-screen-dialog button{font:inherit;color:#dfe3ea;background:#11151b;border:1px solid #424b59;border-radius:999px;padding:6px 13px;cursor:pointer;font-size:13px}
.xp-screen-dialog>img{display:block;width:100%;height:auto;max-height:70dvh;object-fit:contain;margin:auto;filter:none}
.xp-screen-dialog p{font-size:12px;color:#959ead;margin:16px 0 0;line-height:1.6}
body:has(.xp-screen-dialog[open]){overflow:hidden}
@media(max-width:1050px){.xp-software-pair{gap:18px}.xp-product-card{gap:18px;padding:20px;grid-template-columns:minmax(112px,.76fr) minmax(0,1.24fr)}.xp-humin-feature{grid-template-columns:220px minmax(0,1fr);gap:28px;padding:26px}.xp-film{gap:28px}}
@media(max-width:780px){.xp-software-pair{grid-template-columns:1fr}.xp-product-card{grid-template-columns:150px minmax(0,1fr);gap:24px;padding:22px}.xp-humin-feature{grid-template-columns:150px minmax(0,1fr)}.xp-film{grid-template-columns:1fr;gap:22px}.xp-film-copy h3{max-width:430px}.xp-depth-field{display:none}.xp-motion-on .hero-tomas,.xp-motion-on .contact-photo,.xp-motion-on .hero-copy{translate:none!important}.xp-product-detail-visual .xp-product-picture{max-width:230px}}
@media(max-width:460px){.xp-product-card,.xp-humin-feature{grid-template-columns:1fr;gap:18px;padding:22px}.xp-product-picture{max-width:160px}.xp-product-copy h3{font-size:26px}.xp-film{margin-top:28px;padding:24px 0}.xp-film-poster{gap:12px;padding:14px}.xp-film-poster>img{max-width:220px}.xp-play-disc{width:44px;height:44px}.xp-play-label{font-size:12px}.xp-marquee-controls{right:18px}.xp-product-detail-visual .xp-product-picture{max-width:220px}}
/* Respect the visitor. Stop motion, not access to content. */
html.xp-motion-off{scroll-behavior:auto!important}
html.xp-motion-off *,html.xp-motion-off *::before,html.xp-motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.xp-motion-off .hero-tomas,html.xp-motion-off .contact-photo,html.xp-motion-off .hero-copy{translate:none!important}
html.xp-motion-off .photo-marquee-viewport,html.xp-motion-off .client-marquee{overflow-x:auto;scrollbar-width:thin}
html.xp-motion-off .photo-marquee-track,html.xp-motion-off .client-track{transform:none!important}
html.xp-motion-off .reveal{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.hero-tomas,.contact-photo,.hero-copy{translate:none!important}.xp-depth-field{display:none}.photo-marquee-viewport,.client-marquee{overflow-x:auto;scrollbar-width:thin}.photo-marquee-track,.client-track{transform:none!important}.reveal{opacity:1!important;transform:none!important}}
/* Explicit width prevents the iframe's minimum height from imposing a 356px intrinsic width on narrow phones. */
.xp-video-stage{width:100%;min-width:0;max-width:100%}
.xp-film,.xp-video-block{min-width:0}
.xp-film[id]{scroll-margin-top:104px}
/* The progress accent lives outside layout, so the original mobile service heights remain exact. */
.unit-side::after{position:absolute;left:0;bottom:-18px;margin:0}
@media(max-width:780px){.unit-side{position:relative}}
