/* DVP home page stylesheet. Sections are the former separate files, kept in the same
   order so the cascade is unchanged. Edit, then run: sh tools/rehash.sh */

/* ===== Base styles (desktop and phone) (was build/styles.15edc903d5dd.css) ===== */
/* DVP / EL JUEGO COMPLETO — V3
   Lienzo editorial de ocho escenas. Sin librerías ni archivos de tipografía. */
:root{--ink:#151811;--paper:#eeeee3;--lime:#d5ed5a;--acid:#e3fa6e;--aqua:#04bbae;--ui:#151811;--ui-bg:rgba(237,239,226,.92);--line:rgba(21,24,17,.24);--sans:Arial,Helvetica,system-ui,sans-serif;--display:"Acumin Pro Condensed","acumin-pro-condensed","Impact","Arial Black","Inter Display",Arial,sans-serif;--safe-bottom:env(safe-area-inset-bottom,0px);--header-h:86px}
*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-color:#657231 #e6e8db}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior-x:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}figure{margin:0}button{color:inherit}::selection{background:#d1f85d;color:#121711}:focus-visible{outline:3px solid currentColor;outline-offset:5px}.skip-link{position:fixed;z-index:500;top:8px;left:20px;padding:16px;background:var(--paper);color:#111;transform:translateY(-150%)}.skip-link:focus{transform:none}.skip-contact{left:240px}.site-header{position:fixed;inset:0 0 auto;z-index:60;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 3.4vw;color:var(--ui);transition:color .3s ease;background:linear-gradient(var(--ui-fade,rgba(237,239,226,.78)),transparent);pointer-events:none}.site-header a,.site-header button{pointer-events:auto}.brand{width:139px;flex:none}.brand img{width:100%;height:auto;transition:filter .3s}.ui-dark{--ui:#f0f0e3;--ui-bg:rgba(19,23,21,.93);--ui-fade:rgba(12,20,24,.45);--line:rgba(237,239,227,.25)}.ui-dark .brand img{filter:invert(1)}.header-statement{font-size:10px;letter-spacing:.14em;display:flex;align-items:center;gap:11px;font-weight:700}.header-statement span{border:1px solid currentColor;border-radius:50%;padding:10px 5px;font-size:10px;letter-spacing:-.03em}.header-actions{display:flex;align-items:center;gap:27px}.index-button{display:flex;align-items:center;gap:12px;padding:10px 0;border:0;background:none;font-size:12px;font-weight:700}.index-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}.header-contact{display:flex;align-items:center;gap:25px;border:1px solid currentColor;padding:11px 16px;font-size:12px;font-weight:700}.header-contact span{font-size:23px;font-weight:400;line-height:1}.header-contact:hover{background:var(--ui);color:var(--ui-bg)}
/* Without JavaScript, every scene remains in ordinary document flow. */
.journey{position:relative}.viewport{position:relative}.atlas{position:relative}.scene{width:100%;height:900px;height:100svh;min-height:680px;position:relative;overflow:hidden;isolation:isolate;scroll-margin-top:0;background:var(--paper)}.scene.dark{color:var(--paper)}.scene-art{position:absolute;inset:0;z-index:-3;pointer-events:none;background-size:cover;background-position:center}.scene::after{content:"";position:absolute;inset:0;z-index:15;pointer-events:none;background-image:url("../assets/grain.svg");opacity:.11;mix-blend-mode:multiply}.scene.dark::after{mix-blend-mode:screen;opacity:.09}.scene-eyebrow{font-weight:700;font-size:11px;letter-spacing:.15em;line-height:1.4}.scene h1,.scene h2{font-family:var(--display);font-weight:900;letter-spacing:-.065em;line-height:.84;text-transform:uppercase}.fit-line{display:block;white-space:nowrap;width:max-content;transform:scaleX(var(--fit,1));transform-origin:0 50%}.body-copy{font-size:16px;line-height:1.6;max-width:390px;letter-spacing:-.02em}.lead{font-size:23px;line-height:1.2;font-weight:500;letter-spacing:-.045em}.scene-foot{position:absolute;left:3.4vw;right:3.4vw;bottom:78px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid currentColor;padding-top:14px;font-size:9px;letter-spacing:.08em;font-weight:700;line-height:1.5;z-index:18}.direction-label{display:flex;align-items:center;gap:20px}.direction-label b{font-size:24px;font-weight:400;line-height:.6}.service-line{display:flex;flex-wrap:wrap;gap:10px 22px;font-weight:700;font-size:9px;letter-spacing:.04em}.service-line span{padding-top:9px;border-top:1px solid currentColor}.service-note{font-size:12px;line-height:1.5}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding:10px 0}.text-link span{font-size:20px}.accent-lime{color:var(--lime)}
/* 00 — A printed football campaign opens into the atlas. */
.hero-ground{background:linear-gradient(90deg,#eceee0 0%,rgba(236,238,224,.96) 32%,rgba(236,238,224,.1) 72%),url("../assets/gradient-1.webp") center/cover}.hero-orbit{position:absolute;width:62vw;height:62vw;max-width:990px;max-height:990px;top:50%;left:62%;transform:translate(-34%,-53%) rotate(-25deg);background:url("../assets/gradient-3.webp") center/cover;border-radius:50%;z-index:-1;box-shadow:inset -50px -50px 130px rgba(73,59,4,.21)}.hero-orbit i{position:absolute;inset:7%;border:1px solid rgba(25,31,10,.62);border-radius:50%}.hero-orbit i:nth-child(2){inset:14%}.hero-orbit i:nth-child(3){inset:22%}.hero-orbit>span{position:absolute;right:14%;top:22%;font-family:var(--display);font-weight:900;font-size:clamp(60px,10vw,170px);letter-spacing:-.07em;color:rgba(0,0,0,.2)}.hero-eyebrow{position:absolute;top:16.3%;left:5.6%;}.hero-title{position:absolute;top:23%;left:5.2%;width:64%;font-size:clamp(80px,12.1vw,194px);z-index:4}.hero-title .hero-solo{font-size:1.42em;line-height:.88;margin-top:2.5%;}.hero-athlete{position:absolute;width:47vw;max-width:800px;right:1.2%;top:18%;z-index:3;transform:rotate(-7deg)}.hero-athlete img{width:100%;height:auto;filter:drop-shadow(10px 25px 24px rgba(37,37,4,.22));transform:translate3d(calc(var(--parallax,0)*10px),calc(var(--parallax,0)*-16px),0)}.hero-copy{position:absolute;left:5.6%;bottom:18%;z-index:5}.hero-copy p{font-size:17px;line-height:1.45;letter-spacing:-.03em}.hero-copy strong{font-weight:700}.hero-copy a{margin-top:17px}.hero-side{position:absolute;right:2.2%;top:37%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.15em;font-weight:700}.hero-ticket{position:absolute;left:52%;bottom:18.5%;z-index:5;transform:rotate(-7deg);padding:13px 20px;border:1px solid var(--ink);background:var(--lime);box-shadow:4px 4px 0 var(--ink)}.hero-ticket span{font-size:8px;letter-spacing:.1em;display:block}.hero-ticket b{display:block;margin-top:4px;font-size:15px;letter-spacing:-.04em}
/* 01 — Management is sport first, not a corporate diagram. */
.management-ground{background:linear-gradient(90deg,#131b22 0%,rgba(19,27,34,.92) 30%,rgba(22,39,42,.1) 100%),url("../assets/gradient-9.webp") center/cover}.management-word{position:absolute;left:24%;top:14%;font-family:var(--display);font-size:clamp(250px,28vw,450px);font-weight:900;line-height:.8;letter-spacing:-.08em;color:rgba(198,220,130,.1);transform:rotate(-9deg);z-index:-1}.management-photo{position:absolute;right:7%;top:13%;width:36%;height:69%;transform:rotate(8deg);overflow:hidden;background:#777}.management-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:saturate(.7);transform:scale(1.04) translateY(calc(var(--parallax,0)*-10px))}.management-photo::after{position:absolute;inset:0;content:"";box-shadow:inset 0 0 50px rgba(10,19,25,.13);background:linear-gradient(0deg,rgba(2,12,16,.55),transparent 36%)}.management-cross{position:absolute;right:6%;top:28%;width:150px;height:150px;z-index:4;transform:rotate(-12deg)}.management-cross span{position:absolute;left:50%;width:2px;height:100%;background:var(--lime);transform:rotate(45deg)}.management-cross span+span{transform:rotate(-45deg)}.management-route{position:absolute;right:0;top:16%;width:52%;height:72%;stroke:var(--lime);stroke-width:1.7;z-index:2;pointer-events:none}.management-route path:first-child{stroke-dasharray:5 8}.management-main{position:absolute;top:17%;left:5.6%;width:51%;z-index:4}.management-main h2{font-size:clamp(76px,9.5vw,160px);margin-top:28px;width:100%}.management-main .lead{margin-top:34px;color:var(--lime);max-width:340px}.management-main .body-copy{margin-top:16px;color:rgba(239,239,227,.83)}.management-main .service-line{margin-top:30px}.management-caption{position:absolute;right:9%;bottom:18%;width:30%;transform:rotate(-5deg);z-index:5;line-height:1.08;font-family:var(--display);font-weight:900;font-size:29px;letter-spacing:-.035em}.management-caption span{display:block}.management-caption strong{font:inherit;color:var(--lime)}
/* 02 — A football-analysis visual, not fictional performance statistics. */
.analytics-ground{background:linear-gradient(100deg,rgba(94,227,195,.65),transparent 66%),url("../assets/gradient-4.webp") center/cover}.analysis-visual{position:absolute;right:5%;top:10.5%;width:42%;height:76%;transform:rotate(4deg);overflow:hidden;background:#183d35;border:1px solid rgba(9,54,44,.6);box-shadow:12px 16px 0 rgba(14,46,42,.12)}.analysis-film{height:100%;overflow:hidden}.analysis-film img{width:100%;height:100%;object-fit:cover;filter:contrast(1.1) saturate(.8);opacity:.67;transform:scale(1.05) translateY(calc(var(--parallax,0)*-9px))}.tactical-overlay{position:absolute;inset:0;width:100%;height:100%;padding:0;stroke:var(--lime)}.pitch-line{stroke-width:1;opacity:.44}.play-route{stroke-width:3;stroke-dasharray:8 10}.play-arrow{stroke-width:3}.point{fill:#e5ff90;stroke:rgba(233,255,160,.2);stroke-width:17}.sight{stroke-width:2;stroke:#efffb2}.visual-label{position:absolute;bottom:17px;left:20px;color:#e3f5d9;font-size:8px;letter-spacing:.08em}.scan-line{position:absolute;inset:8% 0 auto;height:1px;background:#cbff91;box-shadow:0 0 30px 9px rgba(150,255,92,.13);opacity:.45}.analytics-main{position:absolute;top:19%;left:5.6%;width:54%;z-index:4}.analytics-main h2{font-size:clamp(75px,9.1vw,155px);margin-top:37px;width:100%}.analytics-main .body-copy{margin-top:34px;max-width:350px}.analytics-notes{display:grid;gap:15px;margin-top:27px;font-size:10px}.analytics-notes span{display:flex;align-items:center;gap:18px}.analytics-notes b{font-size:10px;font-weight:700;letter-spacing:.03em}.analytics-main .service-note{margin-top:22px;font-size:11px}.analytics-readout{position:absolute;right:2.3%;top:28%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.13em;font-weight:700;display:flex;gap:24px}
/* 03 — Body and mind share the field. */
.wellness-ground{background:linear-gradient(90deg,rgba(37,25,50,.08),rgba(21,11,36,.52) 72%),url("../assets/gradient-5.webp") center/cover}.wellness-photo{position:absolute;left:-2%;top:12%;width:48%;height:77%;transform:rotate(-7deg);clip-path:polygon(0 0,89% 0,100% 100%,0 100%)}.wellness-photo img{width:100%;height:100%;object-fit:cover;object-position:45% 50%;filter:saturate(.55) contrast(1.08);transform:scale(1.05) translateY(calc(var(--parallax,0)*-12px))}.wellness-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,13,49,.02),rgba(117,47,138,.42));mix-blend-mode:screen}.wellness-orbits{position:absolute;left:7%;top:18%;width:33%;aspect-ratio:1/1.28;z-index:3}.wellness-orbits i{position:absolute;inset:0;border:1px solid rgba(222,248,111,.84);border-radius:50%;transform:rotate(18deg)}.wellness-orbits i:nth-child(2){inset:11%;transform:rotate(44deg)}.wellness-orbits i:nth-child(3){inset:23%;transform:rotate(64deg)}.wellness-orbits span{position:absolute;bottom:-2%;left:0;color:var(--lime);font-size:9px;line-height:1.7;letter-spacing:.08em}.wellness-main{position:absolute;right:5.6%;top:17%;width:46%;z-index:4}.wellness-main h2{font-size:clamp(75px,9vw,150px);margin-top:30px}.wellness-main .body-copy{max-width:370px;margin-top:24px;color:rgba(249,243,249,.92)}.wellness-services{position:absolute;left:5.6%;bottom:17.5%;display:flex;flex-wrap:wrap;width:37%;gap:8px 11px;z-index:4}.wellness-services span{padding:8px 10px;border:1px solid rgba(239,238,223,.6);font-size:9px;letter-spacing:.03em;background:rgba(10,21,15,.58)}
/* 04 — Publicity is a culture wall, not a client roster. */
.publicity-ground{background:linear-gradient(90deg,rgba(240,106,83,.8),rgba(207,49,22,.2)),url("../assets/gradient-2.webp") center/cover}.publicity-photo{position:absolute;overflow:hidden;box-shadow:8px 15px 30px rgba(55,9,0,.15)}.publicity-photo img{width:100%;height:100%;object-fit:cover}.publicity-one{right:9.5%;top:14%;width:28%;height:57%;transform:rotate(9deg);z-index:2}.publicity-two{right:-4%;top:36%;width:28%;height:45%;transform:rotate(-9deg);z-index:3}.publicity-three{right:29%;top:58%;width:18%;height:24%;transform:rotate(-13deg);z-index:4}.publicity-main{position:absolute;top:16.5%;left:5.6%;width:47%;z-index:5}.publicity-main h2{font-size:clamp(75px,8.5vw,144px);margin-top:26px}.publicity-main .body-copy{margin-top:25px;max-width:345px}.publicity-tape{position:absolute;left:-10%;top:70%;width:128%;height:43px;line-height:43px;background:var(--lime);color:var(--ink);transform:rotate(-9deg);z-index:1;overflow:hidden;font-family:var(--display);font-weight:900;letter-spacing:-.025em;font-size:25px}.publicity-tape>div{width:max-content}.publicity-label{position:absolute;left:53%;top:12%;display:flex;gap:17px;font-size:8px;font-weight:700;transform:rotate(6deg);z-index:6}
/* 05 — Wealth without financial clichés or invented returns. */
.wealth-ground{background:linear-gradient(90deg,rgba(237,231,192,.9),rgba(237,231,192,.04) 76%),url("../assets/gradient-7.webp") center/cover}.wealth-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,rgba(237,231,198,.9),transparent 70%)}.wealth-photo{position:absolute;right:-1%;top:16%;width:37%;height:61%;transform:rotate(-5deg);overflow:hidden;opacity:.54;mix-blend-mode:multiply;mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.65) 60%,transparent)}.wealth-photo img{width:100%;height:100%;object-fit:cover;filter:sepia(.7) saturate(.55);transform:scale(1.08) translateY(calc(var(--parallax,0)*-8px))}.wealth-horizon{position:absolute;left:61%;right:6%;top:26%;display:flex;align-items:center;gap:16px;font-size:8px;letter-spacing:.08em;font-weight:700}.wealth-horizon i{height:1px;background:currentColor;flex:1}.wealth-loop{position:absolute;right:2%;top:33%;width:43%;height:42%;stroke:#232a0c;stroke-width:1.2;opacity:.62;transform:rotate(-18deg)}.wealth-loop path+path{opacity:.35}.wealth-main{position:absolute;left:5.6%;top:16.5%;width:55%;z-index:3}.wealth-main h2{font-size:clamp(70px,8.2vw,134px);margin-top:28px}.wealth-main .lead{margin-top:24px;font-size:24px}.wealth-main .body-copy{max-width:378px;margin-top:16px}.wealth-services{position:absolute;right:7%;bottom:22%;width:29%;display:flex;flex-wrap:wrap;gap:10px 16px;font-size:9px;font-weight:700;z-index:4}.wealth-services span{border-bottom:1px solid rgba(32,37,10,.32);padding-bottom:8px}.wealth-note{position:absolute;right:7%;width:29%;bottom:15.8%;font-size:11px;line-height:1.6;z-index:4}
/* 06 — The original globe becomes the main actor. */
.global-ground{background:linear-gradient(90deg,rgba(9,23,19,.18),rgba(13,18,16,.84) 66%),url("../assets/gradient-8.webp") center/cover}.global-orbits{position:absolute;left:7%;top:18%;width:40%;height:65%;transform:rotate(-18deg)}.global-orbits i{position:absolute;inset:0;border:1px solid rgba(206,226,112,.58);border-radius:50%;transform:rotate(5deg)}.global-orbits i:nth-child(2){inset:11% -11%;transform:rotate(25deg)}.global-orbits i:nth-child(3){inset:26% -12%;transform:rotate(-14deg)}.global-orbits i:nth-child(4){inset:37% -15%;transform:rotate(-39deg)}.global-routes{position:absolute;left:2%;top:12%;width:48%;height:75%;stroke:rgba(224,244,156,.64);stroke-width:1;stroke-dasharray:2 8}.global-market{position:absolute;font-size:10px;letter-spacing:.08em;display:flex;align-items:center;gap:9px;z-index:7;color:var(--lime);white-space:nowrap}.global-market i{height:6px;width:6px;background:var(--lime);border-radius:50%;box-shadow:0 0 14px rgba(207,255,83,.5)}.market-mx{left:5%;top:34%}.market-us{left:20%;top:19%}.market-eu{left:42%;top:36%}.market-sa{left:28%;top:77%}.global-main{position:absolute;right:4%;top:20%;width:47%;z-index:4}.global-main h2{font-size:clamp(74px,8.1vw,140px);margin-top:26px}.global-main .body-copy{max-width:360px;margin-top:32px;color:rgba(240,240,230,.86)}.global-signature{position:absolute;left:6%;bottom:18%;font-size:9px;line-height:1.8;letter-spacing:.11em;opacity:.8}
/* 07 — A real conversation, no lead-capture fiction. */
.contact-ground{background:linear-gradient(110deg,rgba(232,238,218,.91) 0%,rgba(231,238,218,.6) 47%,rgba(212,242,118,.07)),url("../assets/gradient-10.webp") center/cover}.contact-orbit{position:absolute;right:-15%;top:-12%;width:62%;height:124%;transform:rotate(26deg);border-radius:50%;background:url("../assets/gradient-1.webp") center/cover;mix-blend-mode:multiply}.contact-orbit i{position:absolute;inset:10%;border:1px solid rgba(47,65,22,.27);border-radius:50%}.contact-orbit i:nth-child(2){inset:17%}.contact-orbit i:nth-child(3){inset:26%}.contact-eyebrow{position:absolute;left:5.6%;top:16.5%}.contact h2{position:absolute;left:5.6%;top:24%;width:78%;font-size:clamp(85px,10.6vw,185px);z-index:3}.contact-answer{position:absolute;left:5.6%;top:55%;font-size:clamp(30px,3.8vw,65px);font-weight:500;letter-spacing:-.075em;z-index:3}.contact-links{position:absolute;left:5.6%;right:7%;bottom:19%;display:flex;align-items:center;gap:5vw;z-index:4}.contact-primary{position:relative;display:flex;justify-content:space-between;gap:40px;align-items:flex-start;min-width:330px;background:var(--ink);color:var(--paper);padding:23px 24px 39px;font-size:22px;line-height:1.15;font-weight:500;letter-spacing:-.04em;transition:background .2s,color .2s}.contact-primary svg{width:37px;height:37px;stroke:currentColor;stroke-width:1.5}.contact-primary small{position:absolute;left:24px;bottom:14px;font-size:8px;letter-spacing:.12em}.contact-primary:hover{background:#34552f;color:#fff}.contact-details{display:flex;flex-direction:column;gap:9px;font-size:16px;letter-spacing:-.02em}.contact-details a{border-bottom:1px solid rgba(20,30,13,.3);padding:6px 0;display:flex;justify-content:space-between;gap:30px}.contact-details p{font-size:12px;margin-top:3px}.contact-branches{position:absolute;right:6%;top:49%;display:grid;gap:8px;font-size:9px;font-weight:700;letter-spacing:.04em;text-align:right;z-index:2}.contact .scene-foot button{border:0;padding:0;background:none;font-size:10px}.contact .scene-foot>a{font-size:9px}
/* The cinematic view is a progressive enhancement of the real document. */
body.cinematic .journey{height:var(--journey-height)}body.cinematic .viewport{position:sticky;top:0;width:100%;height:100svh;min-height:0;overflow:hidden;background:#dedfcc}body.cinematic .atlas{position:absolute;left:0;top:0;width:var(--frame-w);height:var(--frame-h);transform-origin:0 0;will-change:transform}body.cinematic .scene{position:absolute;left:var(--scene-x);top:var(--scene-y);width:var(--frame-w);height:var(--frame-h);min-height:0;contain:layout paint}body.cinematic .scene:not(.is-near){visibility:hidden}body.cinematic .scene.is-near{visibility:visible}.traveler{display:none}body.cinematic .traveler{display:block;position:absolute;left:0;top:0;width:180px;height:186px;pointer-events:none;z-index:25;transform-origin:50% 50%;color:var(--ink);will-change:transform}.traveler-body{position:absolute;inset:0;animation:globe-turn 19s linear infinite;transform-style:preserve-3d;filter:drop-shadow(6px 13px 7px rgba(0,0,0,.1))}.traveler-body img{width:100%;height:100%;object-fit:contain}.traveler.is-light .traveler-body img{filter:invert(1)}.traveler.is-light{color:var(--paper)}.traveler-halo{position:absolute;inset:-12% -17%;border:1px solid currentColor;border-radius:50%;opacity:.5;transform:rotate(-22deg)}.traveler-tag{position:absolute;left:0;right:0;bottom:-20px;text-align:center;font-size:8px;letter-spacing:.16em;white-space:nowrap}.transition-line{display:none}body.cinematic .transition-line{position:absolute;pointer-events:none;z-index:27;left:50%;bottom:82px;width:40px;height:1px;opacity:0;background:var(--ui);transform-origin:0 50%}.transition-line span{display:block;position:absolute;right:0;top:-2px;background:var(--ui);width:5px;height:5px;border-radius:50%}.journey-hud{position:fixed;inset:auto 0 0;z-index:65;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:11px 3.4vw calc(11px + var(--safe-bottom));background:var(--ui-bg);color:var(--ui);border-top:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:color .3s,background .3s}.hud-position{display:flex;align-items:center;gap:9px;font-size:10px;min-width:180px;font-weight:700}.hud-divider{opacity:.35}.hud-progress{display:flex;gap:4px;align-items:center}.hud-progress a{width:37px;height:30px;display:flex;align-items:center;justify-content:center}.hud-progress a i{height:2px;width:29px;background:currentColor;opacity:.23;transition:opacity .3s,height .3s}.hud-progress a[aria-current] i{opacity:1;height:4px}.hud-progress a.is-past i{opacity:.5}.motion-toggle{border:none;background:none;display:flex;gap:8px;align-items:center;padding:7px 0;font-size:10px;font-weight:700}.motion-toggle svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none}.motion-toggle[aria-pressed="true"] svg{transform:rotate(90deg)}
/* Dialogs are optional shortcuts; no story content requires a click. */
dialog{color:var(--ink);border:none;background:var(--paper);padding:30px;max-height:calc(100svh - 48px);overflow:auto;width:min(680px,calc(100% - 32px));box-shadow:0 18px 100px rgba(0,0,0,.23)}dialog::backdrop{background:rgba(15,22,13,.64);backdrop-filter:blur(9px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(0,0,0,.25);padding-bottom:20px;font-size:10px;font-weight:700;letter-spacing:.06em}.dialog-top button{border:0;background:none;font-size:12px;display:flex;align-items:center;gap:12px}.dialog-top button span{font-size:27px;line-height:1}.index-dialog nav{padding:16px 0}.index-dialog nav a{padding:12px 0;display:flex;align-items:center;border-bottom:1px solid rgba(0,0,0,.16);font-size:27px;letter-spacing:-.05em;font-weight:700;gap:15px}.index-dialog nav a small{font:10px var(--sans);letter-spacing:.04em;font-weight:400}.index-dialog nav a span{margin-left:auto;font-weight:400}.index-dialog nav a:hover{color:#597121}.index-dialog>p{font-size:12px;margin-top:13px;line-height:1.6}.info-dialog h2{font-family:var(--display);font-size:45px;font-weight:900;letter-spacing:-.04em;line-height:1;margin:28px 0}.info-dialog h3{font-size:15px;margin:24px 0 7px}.info-dialog p{font-size:14px;line-height:1.6}.noscript-note{padding:24px 24px 100px;font-size:13px;background:var(--paper)}
@keyframes globe-turn{0%{transform:perspective(700px) rotateY(0deg) rotateZ(-10deg)}100%{transform:perspective(700px) rotateY(360deg) rotateZ(-10deg)}}
@keyframes film-scan{0%,100%{transform:translateY(0)}50%{transform:translateY(480px)}}
@keyframes tape-run{to{transform:translateX(-42%)}}
@keyframes dash-run{to{stroke-dashoffset:-180}}
@keyframes slow-orbit{to{transform:rotate(360deg)}}
@keyframes photo-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
body.cinematic .scene.is-active .scan-line{animation:film-scan 9s ease-in-out infinite}body.cinematic .scene.is-active .play-route{animation:dash-run 18s linear infinite}body.cinematic .scene.is-active .publicity-tape>div{animation:tape-run 22s linear infinite}body.cinematic .scene.is-active .drift{animation:photo-float 9s ease-in-out infinite}body.cinematic .scene.is-active .global-routes{animation:dash-run 35s linear infinite}
/* Mid-size desktop: adapt the composition rather than clipping its text. */
@media(min-width:901px) and (max-height:800px){.hero-title{top:22%;font-size:11vw}.hero-title .hero-solo{font-size:1.31em}.hero-copy{bottom:20%}.hero-copy p{font-size:15px}.hero-copy a{margin-top:8px}.hero-athlete{top:15%;width:44vw;right:1%}.hero-ticket{bottom:21%}.scene-eyebrow{font-size:10px}.management-main,.analytics-main,.wellness-main,.publicity-main,.wealth-main{top:16.5%}.scene h2{font-size:7.9vw}.management-main h2,.analytics-main h2{margin-top:25px;font-size:8.4vw}.management-main .lead{margin-top:25px;font-size:21px}.management-main .body-copy{margin-top:12px}.body-copy{font-size:14px;line-height:1.5}.management-main .service-line{margin-top:23px}.analytics-main .body-copy{margin-top:26px}.analytics-notes{margin-top:22px;gap:13px}.analytics-main .service-note{margin-top:17px}.wellness-main h2{margin-top:22px;font-size:7.9vw}.wellness-main .body-copy{margin-top:20px}.publicity-main h2{font-size:7.5vw;margin-top:20px}.publicity-main .body-copy{margin-top:20px}.wealth-main h2{font-size:7.3vw;margin-top:21px}.wealth-main .lead{font-size:21px;margin-top:20px}.wealth-main .body-copy{font-size:14px;margin-top:13px;max-width:340px}.wealth-note{bottom:19%;font-size:10px}.wealth-services{bottom:28%}.global-main h2{font-size:7.5vw}.global-main .body-copy{margin-top:24px}.contact h2{font-size:9.4vw;top:23%}.contact-answer{top:53%;font-size:3.5vw}.contact-links{bottom:21%}.contact-primary{min-width:300px;font-size:19px;padding:20px 20px 35px}.contact-details{font-size:14px}.contact-branches{top:46%}.contact-eyebrow{top:16%}}
/* Tablet and mobile: same route, new art direction for the portrait frame. */
@media(max-width:900px){:root{--header-h:75px}.site-header{padding:0 24px}.brand{width:120px}.header-statement{display:none}.header-actions{gap:19px}.header-contact{gap:18px;font-size:11px}.scene{min-height:780px}.scene-eyebrow{font-size:10px}.scene-foot{left:24px;right:24px;bottom:86px;font-size:8px;letter-spacing:.04em;gap:15px;padding-top:11px}.scene-foot .direction-label{font-size:8px;gap:14px}.hero-title{top:20%;left:5.6%;font-size:18vw;width:80%}.hero-title .hero-solo{font-size:1.40em}.hero-eyebrow{top:14%}.hero-orbit{width:95vw;height:95vw;left:72%;top:48%}.hero-athlete{width:70%;top:31%;right:-4%}.hero-copy{left:5.6%;bottom:17.8%}.hero-ticket{left:auto;right:7%;bottom:18.5%;padding:10px 12px}.hero-ticket b{font-size:12px}.hero-ticket span{font-size:7px}.hero-side{right:2%;top:49%}.management-main{top:15%;left:5.6%;width:64%}.management-main h2{font-size:13.5vw;margin-top:30px}.management-main .lead{margin-top:28px;font-size:23px;max-width:280px}.management-main .body-copy{max-width:290px;font-size:15px}.management-main .service-line{width:280px;gap:10px 16px;margin-top:25px}.management-photo{right:-12%;top:27%;width:53%;height:55%;transform:rotate(8deg)}.management-caption{right:6%;bottom:19%;width:40%;font-size:24px}.management-route{right:-20%;top:29%;width:76%;height:51%}.management-cross{right:6%;top:21%;width:100px;height:100px}.management-word{top:22%;font-size:50vw}.analytics-main{top:15%;left:5.6%;width:80%}.analytics-main h2{font-size:13.5vw;margin-top:26px}.analytics-main .body-copy{font-size:15px;width:45%;max-width:275px;margin-top:28px}.analytics-notes{gap:13px;margin-top:24px;max-width:43%}.analytics-notes b{font-size:9px}.analytics-main .service-note{max-width:43%;font-size:11px}.analysis-visual{top:38%;right:-6%;width:57%;height:44%}.analytics-readout{top:21%;right:3%;font-size:8px}.wellness-main{left:5.6%;right:auto;top:14.5%;width:86%}.wellness-main h2{font-size:15vw;margin-top:26px}.wellness-main .body-copy{margin-left:auto;width:44%;font-size:15px;position:absolute;right:0;top:calc(33.5vw + 88px)}.wellness-photo{top:45%;left:-11%;width:61%;height:35%}.wellness-orbits{top:46%;left:0;width:47%;height:31%;aspect-ratio:auto}.wellness-orbits span{font-size:8px;bottom:2%;left:15%}.wellness-services{bottom:17%;left:50%;width:44%;gap:6px}.wellness-services span{font-size:8px;padding:6px 7px}.publicity-main{left:5.6%;top:15%;width:65%}.publicity-main h2{font-size:13.6vw;margin-top:27px}.publicity-main .body-copy{font-size:15px;width:68%;margin-top:28px}.publicity-one{right:0;top:25%;width:36%;height:41%}.publicity-two{top:51%;right:-9%;width:42%;height:30%}.publicity-three{right:27%;top:69%;height:14%;width:24%}.publicity-tape{top:65%;font-size:23px}.publicity-label{left:auto;right:3%;top:18%;display:grid;gap:6px;font-size:8px}.wealth-main{left:5.6%;top:15%;width:78%}.wealth-main h2{font-size:13vw;margin-top:26px}.wealth-main .lead{font-size:23px;margin-top:25px}.wealth-main .body-copy{max-width:300px;font-size:15px;width:61%}.wealth-photo{width:49%;height:49%;top:35%;right:-14%}.wealth-loop{width:55%;right:-8%;top:39%;height:30%}.wealth-horizon{left:61%;right:4%;top:41%;gap:8px;font-size:7px}.wealth-services{right:5%;bottom:24%;width:30%;gap:8px;font-size:8px}.wealth-note{right:5%;bottom:17%;width:30%;font-size:9px}.global-main{left:5.6%;top:15%;right:auto;width:83%}.global-main h2{font-size:14vw;margin-top:25px}.global-main .body-copy{font-size:15px;width:46%;margin-top:27px;margin-left:auto}.global-orbits{top:44%;left:3%;width:50%;height:37%}.global-routes{top:39%;left:-4%;width:60%;height:45%}.market-us{left:10%;top:48%}.market-mx{left:5%;top:61%}.market-eu{left:39%;top:57%}.market-sa{left:22%;top:77%}.global-market{font-size:8px}.global-signature{display:none}.contact-eyebrow{top:15%;left:5.6%}.contact h2{top:24%;left:5.6%;font-size:15vw;width:88%}.contact-answer{left:5.6%;top:48%;font-size:5.7vw}.contact-orbit{width:87%;right:-40%;top:1%;height:103%}.contact-links{left:5.6%;right:5.6%;bottom:21%;gap:25px;align-items:flex-start}.contact-primary{min-width:0;width:47%;padding:22px 20px 35px;font-size:19px;gap:14px}.contact-primary small{left:20px}.contact-primary svg{width:28px;flex:none}.contact-details{font-size:13px;flex:1;gap:7px;padding-top:4px}.contact-details a{gap:5px;padding:6px 0}.contact-details p{font-size:11px;line-height:1.5}.contact-branches{top:58%;right:6%;display:flex;gap:12px;flex-wrap:wrap;width:60%;justify-content:flex-end;font-size:8px}.contact .scene-foot{bottom:87px}.contact .scene-foot>a{font-size:8px}.contact .scene-foot button{font-size:9px}.journey-hud{padding:10px 24px calc(10px + var(--safe-bottom));gap:15px}.hud-position{min-width:160px;font-size:9px}.hud-progress a{width:23px}.hud-progress a i{width:17px}.motion-toggle{font-size:9px}}
@media(max-width:580px){:root{--header-h:69px}.site-header{padding:0 20px}.brand{width:103px}.header-actions{gap:16px}.header-contact{padding:8px 11px;gap:16px;font-size:10px}.header-contact span{font-size:22px}.index-button span{display:none}.index-button{padding:10px 0}.scene{min-height:780px}.scene-eyebrow{font-size:9px;letter-spacing:.11em;line-height:1.6}.scene-foot{left:20px;right:20px;bottom:80px;font-size:7px;gap:13px}.scene-foot .direction-label{font-size:7px;gap:9px}.direction-label b{font-size:20px}.hero-ground{background:linear-gradient(180deg,rgba(233,237,221,.8),rgba(233,237,221,.1) 50%,rgba(233,237,221,.5)),url("../assets/gradient-1.webp") center/cover}.hero-eyebrow{top:12%;left:6%}.hero-title{top:17%;left:5.3%;width:91%;font-size:21.6vw;line-height:.82}.hero-title .hero-solo{font-size:1.46em;margin-top:1%;line-height:.9}.hero-orbit{top:53%;left:58%;width:114vw;height:114vw;transform:translate(-38%,-43%) rotate(-23deg)}.hero-orbit>span{font-size:90px;right:19%;top:22%}.hero-athlete{width:95%;top:34%;right:-9%;transform:rotate(-7deg)}.hero-copy{left:6%;bottom:16.8%;max-width:58%}.hero-copy p{font-size:13px;line-height:1.45}.hero-copy a{font-size:10px;gap:12px;margin-top:8px;padding:5px 0}.hero-copy .text-link span{font-size:16px}.hero-ticket{right:6%;bottom:30%;padding:8px 10px;max-width:49%;box-shadow:3px 3px 0 #181d10}.hero-ticket span{font-size:6px}.hero-ticket b{font-size:10px}.hero-side{display:none}.management-ground{background:linear-gradient(105deg,rgba(15,23,31,.91),rgba(15,23,31,.63)),url("../assets/gradient-9.webp") center/cover}.management-main{top:12.7%;left:6%;width:88%}.management-main h2{font-size:19vw;line-height:.87;margin-top:22px}.management-main .lead{font-size:18px;max-width:65%;margin-top:29px}.management-main .body-copy{font-size:13px;line-height:1.55;max-width:60%;margin-top:16px}.management-main .service-line{font-size:8px;gap:11px;width:55%;margin-top:20px;line-height:1.4}.management-main .service-line span{padding-top:6px}.management-photo{right:-20%;top:40%;width:65%;height:36%;transform:rotate(7deg)}.management-caption{right:6%;bottom:17.5%;width:43%;font-size:18px;line-height:1.1}.management-cross{width:75px;height:75px;top:37%;right:7%}.management-route{top:43%;right:-22%;width:80%;height:34%}.management-word{top:34%;font-size:56vw}.analytics-main{top:12.7%;left:6%;width:88%}.analytics-main h2{font-size:18.2vw;line-height:.88;margin-top:24px}.analytics-main .body-copy{font-size:13px;line-height:1.55;max-width:65%;width:65%;margin-top:30px}.analytics-notes{margin-top:29px;gap:16px;max-width:53%;font-size:8px}.analytics-notes span{gap:10px;line-height:1.5}.analytics-notes b{font-size:8px;line-height:1.6}.analytics-main .service-note{font-size:10px;max-width:57%;margin-top:23px}.analysis-visual{top:46%;right:-24%;width:65%;height:34%;transform:rotate(6deg)}.visual-label{font-size:6px;left:8px;bottom:12px;width:65%;line-height:1.5}.analytics-readout{top:36%;right:5%;font-size:7px;gap:15px}.wellness-main{top:12.7%;left:6%;width:88%}.wellness-main h2{font-size:20.2vw;line-height:.87;margin-top:24px;width:90%}.wellness-main .body-copy{top:calc(53vw + 83px);right:0;font-size:13px;line-height:1.6;width:46%;max-width:none;margin:0}.wellness-photo{top:48%;left:-23%;width:76%;height:33%}.wellness-orbits{top:48%;left:-7%;width:58%;height:31%}.wellness-orbits span{font-size:7px;bottom:2%;left:25%}.wellness-services{bottom:17.3%;left:52%;width:43%;gap:6px}.wellness-services span{font-size:7px;padding:5px 6px;line-height:1.1}.wellness .scene-foot>span:first-child{max-width:60%}.publicity-main{left:6%;top:12.7%;width:62%}.publicity-main h2{font-size:18.9vw;line-height:.87;margin-top:23px}.publicity-main .body-copy{font-size:13px;line-height:1.55;width:91%;max-width:none;margin-top:27px}.publicity-one{right:-13%;top:25%;width:43%;height:31%;transform:rotate(8deg)}.publicity-two{right:-24%;top:53%;width:53%;height:28%}.publicity-three{right:26%;top:69%;width:28%;height:13%}.publicity-tape{top:67%;height:31px;line-height:31px;font-size:19px;transform:rotate(-12deg)}.publicity-label{top:15%;font-size:7px;gap:4px;right:5%}.wealth-main{left:6%;top:12.7%;width:88%}.wealth-main h2{font-size:18vw;line-height:.87;margin-top:23px;width:100%}.wealth-main .lead{font-size:18px;line-height:1.2;margin-top:25px;max-width:66%}.wealth-main .body-copy{font-size:13px;line-height:1.55;width:61%;max-width:210px;margin-top:14px}.wealth-photo{right:-24%;top:41%;width:61%;height:36%}.wealth-loop{right:-19%;top:45%;width:67%;height:28%}.wealth-horizon{left:67%;right:2%;top:43%;font-size:6px;gap:5px}.wealth-horizon span:last-child{max-width:40px;line-height:1.5}.wealth-services{right:5%;bottom:23%;width:28%;font-size:7px;line-height:1.5;gap:8px}.wealth-services span{padding-bottom:4px}.wealth-note{left:6%;right:auto;bottom:17%;width:57%;font-size:9px;line-height:1.5}.global-main{top:12.7%;left:6%;width:88%}.global-main h2{font-size:18.6vw;line-height:.87;margin-top:24px}.global-main .body-copy{font-size:13px;line-height:1.55;width:45%;max-width:none;margin-top:30px}.global-orbits{top:46%;left:-10%;width:62%;height:32%}.global-routes{top:39%;left:-20%;width:80%;height:43%}.global-market{font-size:7px;gap:6px}.global-market i{width:4px;height:4px}.market-us{top:47%;left:5%}.market-mx{top:64%;left:4%}.market-eu{top:54%;left:35%}.market-sa{top:77%;left:16%}.contact-eyebrow{top:12.7%;left:6%;font-size:8px}.contact h2{top:21%;left:6%;font-size:20.4vw;line-height:.86;width:88%}.contact-answer{top:40.5%;left:6%;font-size:8.2vw;letter-spacing:-.06em}.contact-orbit{right:-35%;top:11%;width:96%;height:82%;transform:rotate(20deg)}.contact-links{left:6%;right:6%;bottom:24%;flex-direction:column;gap:18px;align-items:flex-start}.contact-primary{width:77%;padding:17px 18px 31px;font-size:18px;gap:25px}.contact-primary small{left:18px;bottom:11px;font-size:7px}.contact-primary svg{width:27px;height:27px}.contact-details{font-size:14px;width:88%;gap:5px;padding:0}.contact-details a{padding:5px 0}.contact-details p{font-size:10px;margin-top:3px}.contact-branches{left:6%;right:auto;top:auto;bottom:17.2%;width:88%;justify-content:flex-start;gap:9px 17px;font-size:7px}.contact .scene-foot{bottom:82px;flex-wrap:wrap;row-gap:7px;font-size:7px}.contact .scene-foot button{font-size:8px}.contact .scene-foot a{font-size:7px}.journey-hud{padding:8px 20px calc(8px + var(--safe-bottom));min-height:56px;gap:11px}.hud-position{min-width:0;font-size:8px;gap:5px;max-width:130px;line-height:1.3}.hud-progress{gap:0;margin-left:auto}.hud-progress a{width:13px;height:30px}.hud-progress a i{width:9px}.motion-toggle{padding:10px 0;gap:0;flex:none}.motion-toggle svg{width:14px;height:14px}.motion-toggle span{display:none}.motion-toggle{min-width:24px;justify-content:center}.traveler-tag{font-size:6px;letter-spacing:.1em;bottom:-16px}.scene-foot .direction-label{max-width:45%;text-align:right}.index-dialog{padding:24px}.index-dialog nav a{font-size:23px;padding:12px 0}.info-dialog{padding:24px}.info-dialog h2{font-size:36px}.info-dialog p{font-size:13px}.info-dialog h3{font-size:14px}.dialog-top{font-size:9px}.dialog-top button{font-size:11px}}
/* Compact portrait keeps a complete composition in shorter viewports. */
@media(max-width:580px) and (min-height:620px) and (max-height:760px){.hero-title{top:18%;font-size:19vw}.hero-title .hero-solo{font-size:1.34em}.hero-athlete{top:35%;width:86%;right:-9%}.hero-ticket{bottom:30.5%}.hero-copy{bottom:19%}.hero-copy p{font-size:12px}.hero-copy a{margin-top:5px}.scene-foot{bottom:75px}.management-main h2{font-size:17.3vw;margin-top:20px}.management-main .lead{font-size:16px;margin-top:24px}.management-main .body-copy{font-size:12px;margin-top:12px}.management-main .service-line{font-size:7px;margin-top:17px;gap:9px}.management-caption{bottom:20%;font-size:16px}.analytics-main h2{font-size:17vw;margin-top:20px}.analytics-main .body-copy{font-size:12px;margin-top:25px}.analytics-notes{margin-top:23px;gap:13px}.analytics-main .service-note{margin-top:17px;font-size:9px}.wellness-main h2{font-size:18.8vw;margin-top:20px}.wellness-main .body-copy{top:calc(50vw + 70px);font-size:12px;line-height:1.5}.wellness-services{bottom:20.5%}.wellness-services span{font-size:6.8px;padding:4px 5px}.publicity-main h2{font-size:17.3vw;margin-top:20px}.publicity-main .body-copy{font-size:12px;margin-top:21px}.wealth-main h2{font-size:16.5vw;margin-top:20px}.wealth-main .lead{font-size:16px;margin-top:23px}.wealth-main .body-copy{font-size:12px;margin-top:13px}.wealth-note{bottom:19.2%;font-size:8px}.wealth-services{bottom:26%;font-size:6.8px}.global-main h2{font-size:17.1vw;margin-top:20px}.global-main .body-copy{font-size:12px;margin-top:24px}.market-sa{top:75%}.contact h2{font-size:18.4vw;top:22%}.contact-answer{font-size:7.8vw;top:40%}.contact-links{bottom:26%;gap:12px}.contact-primary{font-size:16px;padding:13px 15px 29px;width:74%}.contact-primary small{left:15px}.contact-details{font-size:12px;gap:2px}.contact-details p{font-size:9px}.contact-branches{bottom:18.5%;font-size:6.8px;gap:7px 14px}.contact .scene-foot{bottom:76px}}
/* Calm view preserves every word and image in a normal, scrollable document. */
body:not(.cinematic) .site-header{background:var(--ui-bg)}body:not(.cinematic) .scene{--parallax:0}body:not(.cinematic) .journey-hud .hud-progress{display:none}body:not(.cinematic) .motion-toggle span{display:inline}body:not(.cinematic) .motion-toggle{gap:8px}body:not(.cinematic) .scene .direction-label{display:none}body:not(.cinematic) .global::before{content:"";position:absolute;left:16%;top:35%;width:22%;height:30%;background:url("../assets/globe-white-hd.webp") center/contain no-repeat;z-index:3}body:not(.cinematic) .hero::before{content:"";position:absolute;right:6%;top:62%;width:11%;height:14%;background:url("../assets/globe-black-hd.webp") center/contain no-repeat;z-index:6}
@media(max-width:900px){body:not(.cinematic) .global::before{left:16%;top:55%;width:23%;height:17%}}@media(max-width:580px){body:not(.cinematic) .global::before{left:12%;top:56%;width:27%;height:17%}body:not(.cinematic) .hero::before{right:6%;top:70%;width:18%;height:9%}}
@media(max-height:619px){.scene{height:820px;min-height:820px}.site-header{position:sticky;top:0;height:65px}.scene-foot{bottom:40px}.scene.contact .scene-foot{bottom:40px}.journey-hud{position:sticky;bottom:0}.scene-eyebrow{top:10%}.hero-eyebrow{top:10%}.hero-title{top:18%}.contact-eyebrow{top:10%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.journey-hud,.traveler,.transition-line,.skip-link,dialog{display:none!important}.journey{height:auto!important}.viewport{position:static!important;height:auto!important;overflow:visible!important}.atlas{position:static!important;transform:none!important;height:auto!important;width:auto!important}.scene{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:760px!important;min-height:760px!important;visibility:visible!important;break-inside:avoid;break-after:page}.scene *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.scene-foot{bottom:30px!important}}
body:not(.js-ready) .index-button,body:not(.js-ready) .motion-toggle,body:not(.js-ready) #open-info{display:none}
/* Final editorial refinements: breathable words, kinetic last lines. */
.fit-line{word-spacing:.13em;letter-spacing:-.057em}
.hero-title .hero-solo,.management h2 .fit-line:last-child,.analytics h2 .fit-line:last-child,.publicity h2 .fit-line:last-child,.wealth h2 .fit-line:last-child{font-style:italic;padding-right:.055em}
@keyframes globe-turn{0%{transform:perspective(700px) rotateY(-18deg) rotateZ(0deg)}50%{transform:perspective(700px) rotateY(18deg) rotateZ(180deg)}100%{transform:perspective(700px) rotateY(-18deg) rotateZ(360deg)}}
@media(max-width:580px){.hero-athlete{top:30%;width:85%;right:-9%}.hero-copy{bottom:16%}.hero-ticket{bottom:29.5%}.body-copy{font-size:14px}.management-main .body-copy{font-size:14px;max-width:58%}.analytics-main .body-copy{font-size:14px}.wellness-main .body-copy{font-size:14px}.publicity-main .body-copy{font-size:14px}.wealth-main .body-copy{font-size:14px}.global-main .body-copy{font-size:14px}}
@media(max-width:580px) and (min-height:620px) and (max-height:760px){.hero-athlete{width:79%;top:29%}.hero-copy{bottom:18%}.hero-ticket{bottom:31%}.management-main .body-copy,.analytics-main .body-copy,.wellness-main .body-copy,.publicity-main .body-copy,.wealth-main .body-copy,.global-main .body-copy{font-size:12.5px}.hero-copy p{font-size:12px}}
@media(max-width:580px) and (min-height:761px){.wellness-services span{font-size:9px;padding:6px 7px}.analytics-notes b{font-size:10px}.analytics-notes{font-size:9px}.wealth-services{font-size:9px}.management-main .service-line{font-size:9px}.publicity-label{font-size:8px}.contact-branches{font-size:8px}}
body:not(.js-ready) .fit-line{transform:scaleX(.63)}

/* DVP V4 / Mobile is the primary composition, not a scaled desktop slide.
   Every animation works on touch. No :hover or fine-pointer gate is used. */
html,body{overflow-x:clip}
.desktop-layout{display:contents}.mobile-layout{display:none}
.next-scene{display:none}
.m-plane svg{width:100%;height:100%;display:block}
.desktop-plane{position:absolute;left:12%;top:24%;width:30vw;height:30vw;z-index:7;pointer-events:none;animation:m-orbit 18s linear infinite}
.desktop-plane .m-plane{position:absolute;top:-14px;left:50%;width:44px;height:44px;transform:rotate(90deg);color:#effac2}
body.motion-paused *,body.page-hidden *{animation-play-state:paused!important}
.scene:not(.is-active) .desktop-plane{animation-play-state:paused}
@keyframes m-orbit{to{transform:rotate(360deg)}}
@keyframes m-hover{0%,100%{transform:translate3d(0,0,0) rotate(-5deg)}50%{transform:translate3d(0,-9px,0) rotate(1deg)}}
@keyframes m-kick{0%,100%{transform:translate3d(-3px,5px,0) rotate(-4deg)}50%{transform:translate3d(5px,-6px,0) rotate(3deg)}}
@keyframes m-pulse{0%,100%{transform:scale(.94);opacity:.6}50%{transform:scale(1.04);opacity:1}}
@keyframes m-draw{from{stroke-dashoffset:200}to{stroke-dashoffset:-200}}
@keyframes m-scan{0%,100%{transform:translateY(-75px);opacity:.1}40%,60%{opacity:.8}50%{transform:translateY(90px)}}
@keyframes m-tape{to{transform:translateX(-50%)}}
@keyframes m-star{to{transform:rotate(180deg)}}
@keyframes m-point{0%,100%{opacity:.7;r:7px}50%{opacity:1;r:10px}}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
 :root{--header-h:calc(66px + env(safe-area-inset-top,0px));--mobile-safe:env(safe-area-inset-bottom,0px)}
 body{touch-action:pan-y pinch-zoom;background:#eceddd}
 .site-header{position:fixed!important;height:var(--header-h);padding:env(safe-area-inset-top,0px) 20px 0;gap:12px;pointer-events:none}
 .brand{width:106px;min-height:44px;display:flex;align-items:center}
 .brand img{height:auto;width:106px}
 .header-statement{display:none}.header-actions{gap:9px}
 .index-button{min-width:44px;min-height:44px;padding:9px;justify-content:center;border:1px solid var(--line);border-radius:50%}
 .index-button span{display:none}.index-button svg{width:19px;height:19px}
 .header-contact{min-height:44px;padding:0 13px;font-size:11px;gap:10px;border-radius:24px}.header-contact span{font-size:20px}
 .journey-hud{position:fixed!important;bottom:0;left:0;right:0;padding:5px 18px calc(5px + var(--mobile-safe));height:calc(61px + var(--mobile-safe));min-height:61px;gap:10px;background:var(--ui-bg);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
 .journey-hud::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--ui);transform:scaleX(var(--chapter-progress,.125));transform-origin:left;transition:transform .25s ease}
 .hud-position{font-size:11px;gap:7px;min-width:0;max-width:180px;line-height:1.35;flex:1}
 .hud-progress{display:none!important}
 .motion-toggle{display:flex;gap:7px;min-width:86px;min-height:44px;padding:8px 5px;justify-content:center;font-size:11px;flex:none}
 .motion-toggle span{display:inline!important}.motion-toggle svg{width:15px;height:15px}
 .next-scene{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:24px}
 .scene>.desktop-layout{display:none}
 .scene::after{background-image:url('../assets/grain.webp');background-size:120px;opacity:.055;mix-blend-mode:multiply}
 .scene.dark::after{opacity:.035;mix-blend-mode:screen}
 .scene{height:100svh;min-height:780px;width:100%;--parallax:0}
 body.cinematic .scene{height:var(--frame-h);min-height:0}
 .mobile-layout{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(150px,1fr) auto;gap:14px;padding:calc(83px + env(safe-area-inset-top,0px)) 24px calc(94px + var(--mobile-safe));overflow:hidden}
 .m-head{position:relative;z-index:4;min-width:0}
 .m-eyebrow{font-size:10px;line-height:1.5;letter-spacing:.12em;font-weight:700}
 .scene .m-title{font-size:clamp(52px,18.3vw,104px);font-family:var(--display);line-height:.87;letter-spacing:-.045em;margin-top:19px;font-weight:900;max-width:100%}
 .m-title .fit-line{word-spacing:.045em;letter-spacing:-.055em;transform-origin:left center;padding-right:.045em}
 .m-title .fit-line:last-child{font-style:italic}
 .m-art{position:relative;min-height:150px;width:100%;isolation:isolate;z-index:2}
 .m-body{position:relative;z-index:6;min-width:0}
 .m-body>p{font-size:15.5px;line-height:1.44;max-width:36ch;letter-spacing:-.015em}
 .m-body strong{font-weight:700}
 .m-tags{display:flex;gap:7px 9px;flex-wrap:wrap;margin-top:15px}
 .m-tags span{font-size:11px;line-height:1.3;border:1px solid currentColor;border-radius:18px;padding:6px 10px;font-weight:500;white-space:normal}
 .m-body .m-note{font-size:10.5px;line-height:1.45;margin-top:12px;opacity:.83;max-width:none}
 .m-globe-slot{position:absolute;z-index:6;pointer-events:none;width:60px;height:64px}
 .m-static-globe{width:100%;height:100%;object-fit:contain;animation:globe-turn 19s linear infinite}
 body.cinematic .m-static-globe{visibility:hidden}
 .traveler-tag{display:none}.traveler-halo{opacity:.32}
 .traveler-body{filter:none}
 body:not(.cinematic) .hero::before,body:not(.cinematic) .global::before{display:none!important}
 .scene:not(.is-active) .mobile-layout *{animation-play-state:paused!important}
 .scene:not(.is-active) .m-globe-slot{opacity:1}
 /* Hero / anonymous remate: real SVG traced from the supplied artwork. */
 .hero{background:linear-gradient(180deg,rgba(239,242,224,.97),rgba(239,242,224,.70) 60%,rgba(236,241,218,.9)),url('../assets/gradient-1.webp') center/cover}
 .hero .mobile-layout{grid-template-rows:auto minmax(160px,1fr) auto auto;gap:10px}
 .scene .m-title-hero{font-size:20vw;margin-top:19px}
 .scene .m-title-hero .m-solo{font-size:1.47em;line-height:.87}
 .m-hero-art{margin-top:5px}
 .m-hero-disc{position:absolute;top:50%;left:50%;width:91%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at 65% 75%,transparent 30%,rgba(16,26,12,.6)),url('../assets/gradient-3.webp') center/cover}
 .m-ring{position:absolute;top:50%;left:50%;width:101%;height:85%;border:1px solid rgba(25,31,10,.5);border-radius:50%;transform:translate(-50%,-50%) rotate(-25deg);pointer-events:none}
 .m-ring-two{width:92%;height:70%;transform:translate(-50%,-50%) rotate(-25deg);opacity:.5}
 .m-volley{position:absolute;inset:-8% 3% -5%;color:#fcfff0;animation:m-kick 7s ease-in-out infinite;filter:drop-shadow(0 8px 2px rgba(70,51,0,.11))}
 .m-kick-svg{width:100%;height:100%;display:block}
 .m-giant360{position:absolute;left:1%;top:0;color:rgba(34,42,18,.17);font-size:15vw;font-family:var(--display);font-weight:900;letter-spacing:-.07em}
 .m-side-caption{position:absolute;right:-10px;top:10%;writing-mode:vertical-rl;font-size:8.5px;letter-spacing:.1em;font-weight:700}
 .hero-slot{right:-4px;bottom:4%;width:63px;height:69px}
 .m-scrollcue{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(20,25,12,.35);min-height:34px;padding-top:10px;margin-top:4px;font-size:9px;letter-spacing:.045em;font-weight:700}
 .m-scrollcue b{font-size:20px;line-height:1}
 .hero .m-body>p{font-size:15px}
 /* Management / photography stays in the design. */
 .management{background:linear-gradient(180deg,rgba(8,18,26,.75),rgba(8,18,26,.2) 60%,rgba(8,18,26,.9)),url('../assets/gradient-9.webp') center/cover}
 .m-photo-block{position:absolute;left:0;top:4%;width:79%;height:93%;overflow:hidden;transform:rotate(-5deg);background:#172029}
 .m-photo-block img{width:100%;height:100%;object-fit:cover;object-position:center 60%;filter:saturate(.78);transform:scale(1.05)}
 .m-management-route{position:absolute;inset:0;width:100%;height:100%;stroke:#d9f27d;stroke-width:2;stroke-dasharray:7 9;animation:dash-run 10s linear infinite;z-index:2}
 .m-management-route path+path{stroke-dasharray:0}
 .m-photo-ticket{position:absolute;right:0;bottom:5%;background:#dcf275;color:#182011;padding:10px 13px;font-size:10px;line-height:1.55;transform:rotate(3deg);z-index:3}
 .management-slot{right:3px;top:10%;width:62px;height:69px}
 /* Analytics / animated vector scan and tactical trajectory. */
 .analytics{background:linear-gradient(180deg,rgba(224,243,219,.97),rgba(180,231,203,.84)),url('../assets/gradient-4.webp') center/cover}
 .m-analytics-art{background:#183e36;border-radius:2px;overflow:hidden;color:#e0f698}
 .m-pitch-photo{position:absolute;inset:0;opacity:.2;mix-blend-mode:screen;overflow:hidden}
 .m-pitch-photo img{width:100%;height:100%;object-fit:cover}
 .m-pitch{position:absolute;width:100%;height:100%;inset:0}
 .m-pitch-lines{stroke:rgba(217,246,181,.35);stroke-width:1.1}
 .m-play-path{stroke:#e2f775;stroke-width:2.6;stroke-dasharray:7 8;animation:m-draw 14s linear infinite}
 .m-play-head{stroke:#e2f775;stroke-width:2.6}
 .m-tactical-point{fill:#e6f9a7;stroke:#244d32;stroke-width:2;animation:m-point 4s ease-in-out infinite}.point-b{animation-delay:.8s}.point-c{animation-delay:1.6s}
 .m-scan{position:absolute;top:50%;left:0;width:100%;height:2px;background:#bcff81;box-shadow:0 0 22px #8ecd7a;opacity:.6;animation:m-scan 5s ease-in-out infinite}
 .m-art-label{position:absolute;bottom:10px;left:10px;font-size:8px;letter-spacing:.08em}
 .analytics-slot{right:11px;bottom:16px;width:49px;height:54px}
 /* Wellness / sculptural asset plus vector pulse. */
 .wellness{background:linear-gradient(180deg,rgba(2,28,26,.8),rgba(1,44,43,.20) 50%,rgba(2,29,26,.96)),url('../assets/gradient-4.webp') center/cover;color:#f1f8de}
 .wellness .m-title .fit-line:last-child{color:#daf379}
 .m-sculpture{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:m-hover 8s ease-in-out infinite;z-index:2}
 .m-wellness-glow{position:absolute;inset:4% 0 10%;background:radial-gradient(ellipse,rgba(160,255,184,.25),transparent 68%)}
 .m-orbit-orb{position:absolute;inset:7% 6%;border:1px solid rgba(221,252,140,.6);border-radius:50%;transform:rotate(-24deg)}
 .m-heartline{position:absolute;width:100%;height:50%;bottom:-7%;left:0;z-index:3;fill:none;stroke:#e5fd90;stroke-width:2;overflow:visible}
 .heart-base{opacity:.18}.heart-trace{stroke-dasharray:80 600;animation:m-draw 4s linear infinite}
 .wellness-slot{right:0;top:0;width:53px;height:58px}
 /* Publicity / moving printed collage, not a roster. */
 .publicity{background:linear-gradient(180deg,rgba(237,132,111,.8),rgba(234,111,92,.8)),url('../assets/gradient-2.webp') center/cover;color:#231814}
 .m-pub-one{position:absolute;left:3%;top:2%;width:55%;height:91%;transform:rotate(-9deg);overflow:hidden;box-shadow:0 8px 12px #411c2422}
 .m-pub-two{position:absolute;right:0;top:14%;width:53%;height:79%;transform:rotate(8deg);overflow:hidden}
 .m-pub-one img,.m-pub-two img{height:100%;width:100%;object-fit:cover}
 .m-publicity-star{position:absolute;left:40%;top:-5%;width:52px;height:52px;color:#e9f58f;z-index:3;animation:m-star 16s linear infinite}
 .m-publicity-star svg{width:100%;height:100%}
 .m-tape{position:absolute;bottom:5%;left:-15%;width:130%;height:31px;overflow:hidden;background:#e6f875;transform:rotate(-6deg);z-index:3;line-height:31px;font-size:17px;font-weight:900;font-style:italic;letter-spacing:-.03em;color:#16200e}
 .m-tape span{display:block;width:max-content;animation:m-tape 18s linear infinite}
 .publicity-slot{right:0;top:0;width:53px;height:59px}
 /* Wealth / independent layers, no invented graph data. */
 .wealth{background:linear-gradient(180deg,rgba(246,231,186,.95),rgba(218,183,80,.35) 55%,rgba(242,226,174,.97)),url('../assets/gradient-7.webp') center/cover;color:#24230f}
 .m-wealth-word{position:absolute;top:2%;left:0;font-size:16vw;font-weight:900;font-family:var(--display);letter-spacing:-.08em;color:#25240826}
 .m-wealth-sculpture{inset:0 3% 8%;width:94%;height:92%;animation-duration:10s}
 .m-wealth-trajectory{position:absolute;inset:0;width:100%;height:100%;stroke:#4d4b1a;stroke-width:2;z-index:0;opacity:.5}
 .wealth-path{stroke-dasharray:6 9;animation:dash-run 16s linear infinite}
 .m-wealth-marker{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:.04em;z-index:3;white-space:nowrap}
 .m-wealth-marker i{width:6px;height:6px;border-radius:50%;background:#464817;animation:m-pulse 3s infinite}.m-wealth-marker b{height:1px;background:currentColor;opacity:.5;flex:1}
 .wealth-slot{right:0;top:3%;width:56px;height:63px}
 /* Global / plane follows a real vector orbit on phone. */
 .global{background:linear-gradient(180deg,rgba(12,26,12,.80),rgba(12,29,11,.28) 53%,rgba(12,26,12,.9)),url('../assets/gradient-8.webp') center/cover;color:#f0f8d8}
 .global .m-title .fit-line:last-child{color:#dbf371}
 .m-world-art{color:#e6f58d}
 .m-world-ring{position:absolute;width:78%;height:80%;left:11%;top:10%;border:1px solid #c9e67b66;border-radius:50%;transform:rotate(-20deg)}
 .ring-b{transform:rotate(30deg);width:91%;left:4.5%;height:48%;top:26%}.ring-c{transform:rotate(-45deg);width:50%;left:25%;height:95%;top:2.5%;border-style:dashed;opacity:.65}
 .m-world-art .m-plane-orbit{position:absolute;width:230px;height:230px;left:calc(50% - 115px);top:calc(50% - 115px);z-index:8;animation:m-orbit 14s linear infinite;pointer-events:none}
 .m-world-art .m-plane{position:absolute;width:45px;height:45px;left:calc(50% - 22px);top:-20px;transform:rotate(90deg);color:#fbffe8;filter:drop-shadow(0 2px 1px #14231033)}
 .global-slot{width:127px;height:146px;left:calc(50% - 63.5px);top:calc(50% - 73px)}
 .m-market{position:absolute;font-size:8.5px;letter-spacing:.065em;font-weight:700;z-index:9;padding:4px 6px;background:#172711aa;border-radius:12px;color:#ecfdb9}
 .m-market::before{content:"";display:inline-block;width:4px;height:4px;margin:0 5px 1px 0;background:currentColor;border-radius:50%}
 .m-mex{left:0;top:60%}.m-usa{left:0;top:10%}.m-eur{right:0;top:12%}.m-sam{right:0;bottom:5%}
 /* Contact / full-width targets reachable with one thumb. */
 .contact{background:linear-gradient(180deg,rgba(236,240,220,.96),rgba(219,234,172,.85)),url('../assets/gradient-10.webp') center/cover;color:#19210e}
 .contact .m-title{position:static;width:100%;max-width:100%;font-size:18.8vw;margin-top:20px}
 .m-contact-art{min-height:140px}
 .m-contact-orbit{position:absolute;right:-35px;top:-10%;width:68%;height:106%;border:1px solid rgba(51,70,24,.5);border-radius:50%;transform:rotate(26deg)}
 .m-team-word{position:absolute;left:0;top:18%;font-size:clamp(24px,9vw,47px);font-weight:500;line-height:1.04;letter-spacing:-.05em}
 .contact-slot{right:12%;top:18%;width:76px;height:90px}
 .m-contact-body{position:relative;display:grid;gap:0;z-index:6}
 .m-contact-primary{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px 17px;background:#19210e;color:#eff6d9;font-size:18px;font-weight:500;border:0!important;min-height:74px;margin-bottom:12px}
 .m-contact-primary small{display:block;font-size:9px;letter-spacing:.09em;margin-top:7px}.m-contact-primary b{font-size:30px;font-weight:400}
 .m-contact-body>a:not(.m-contact-primary){padding:12px 0;border-bottom:1px solid #28391544;font-size:15px;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:8px;overflow-wrap:anywhere}
 .m-contact-legal{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}
 .m-contact-legal>span{font-size:8px;line-height:1.4}
 .m-contact-legal button{min-height:44px;padding:6px 0;max-width:50%;border:0;background:none;font-size:10px;text-align:right;line-height:1.5}
 .contact .mobile-layout{padding-bottom:calc(75px + var(--mobile-safe));gap:12px}
 /* Dialogs are touch-sized and fit even with a browser toolbar. */
 .index-dialog,.info-dialog{max-height:84svh;width:calc(100% - 28px);padding:20px;overflow-y:auto;overscroll-behavior:contain}
 .dialog-top{font-size:10px}.dialog-top button{min-width:56px;min-height:44px}
 .index-dialog nav a{font-size:21px;min-height:48px;padding:10px 0}.index-dialog nav a span{font-size:10px}
 .info-dialog p{font-size:14px;line-height:1.6}.info-dialog h3{font-size:16px}
 .skip-link{font-size:13px;left:12px;max-width:90vw}.skip-contact{left:12px;top:64px}
}
/* Fit to compact portrait WITHOUT switching off the mobile animations. */
@media(max-width:760px) and (min-height:620px) and (max-height:739px){
 .mobile-layout{padding-top:79px;padding-bottom:84px;gap:11px}
 .scene .m-title{font-size:16.3vw;margin-top:13px}
 .scene .m-title-hero{font-size:18vw}.scene .m-title-hero .m-solo{font-size:1.40em}
 .hero .mobile-layout{grid-template-rows:auto minmax(132px,1fr) auto auto;gap:6px}
 .m-art{min-height:132px}.m-body>p{font-size:14px;line-height:1.4}.hero .m-body>p{font-size:14px}
 .m-tags{margin-top:11px;gap:6px}.m-tags span{font-size:10px;padding:5px 8px}.m-body .m-note{font-size:9.5px;margin-top:8px}
 .m-world-art .m-plane-orbit{width:186px;height:186px;left:calc(50% - 93px);top:calc(50% - 93px)}
 .m-world-art .m-plane{width:38px;height:38px}.global-slot{width:104px;height:120px;left:calc(50% - 52px);top:calc(50% - 60px)}
 .m-photo-ticket{font-size:9px;padding:7px 10px}.m-art-label{font-size:7px}
 .m-market{font-size:7.7px}.m-contact-art{min-height:108px}.contact .m-title{font-size:16.7vw}
 .m-contact-primary{min-height:67px;font-size:16px;padding:13px 15px;margin-bottom:4px}.m-contact-body>a:not(.m-contact-primary){font-size:14px;min-height:44px;padding:8px 0}
 .contact .mobile-layout{padding-bottom:72px;gap:7px}.m-contact-legal{margin-top:3px}.m-team-word{font-size:8.2vw}
 .contact-slot{width:64px;height:73px}.hero-slot{width:50px;height:56px}
}
/* Short portrait and landscape remain freely scrollable. All local motion stays on. */
@media(max-width:760px) and (max-height:619px){
 .scene{height:760px;min-height:760px}.scene .m-title{font-size:16vw}.scene .m-title-hero{font-size:18vw}
 .mobile-layout{padding-top:85px;padding-bottom:94px}.hero .mobile-layout{padding-bottom:86px}
 .m-contact-art{min-height:160px}
}
@media(min-width:581px) and (max-width:760px){
 .mobile-layout{padding-left:8%;padding-right:8%;padding-top:92px}.scene .m-title{font-size:min(10vh,92px)}
 .scene .m-title-hero{font-size:88px}.m-art{max-width:450px;margin-left:auto;margin-right:auto}
 .m-body>p{font-size:17px}.m-tags span{font-size:12px}.m-body .m-note{font-size:11px}
}
@media(max-height:619px) and (orientation:landscape){
 .scene{height:740px;min-height:740px}.mobile-layout{padding-top:86px;padding-bottom:95px}.scene .m-title{font-size:66px}.scene .m-title-hero{font-size:66px}.scene .m-title-hero .m-solo{font-size:1.25em}.m-art{max-width:350px;margin:auto;width:100%}.m-body>p{font-size:15px}.hero .m-body>p{font-size:15px}.contact .m-title{font-size:66px}
}
@media(prefers-reduced-motion:reduce){.m-play-path{stroke-dashoffset:0}.m-scan{display:none}.m-plane-orbit{transform:rotate(24deg)!important}.mobile-layout *{animation:none!important;transition:none!important}.journey-hud::before{transition:none}}
/* Keep keyboard-only shortcuts offscreen until focused. */
.skip-link{transform:translateY(-220px)}
.skip-link:focus{transform:translateY(0)}
body:not(.js-ready) .next-scene{display:none}
@media(max-width:760px){html{-webkit-text-size-adjust:100%;text-size-adjust:100%}}
@media(max-width:760px) and (min-height:620px) and (max-height:739px){
 .contact .mobile-layout{padding-bottom:84px;gap:5px;grid-template-rows:auto minmax(80px,1fr) auto}
 .m-contact-art{min-height:80px}
}
@media(max-width:760px){.m-scrollcue{min-height:44px}}

/* V5 — quieter editorial system, real branch lockups and a shared wordmark traveler.
   This file intentionally overrides V4 without changing the approved Wellness artwork. */
:root{--display:Impact,"Acumin Pro Condensed","acumin-pro-condensed","Arial Black","Inter Display",Arial,sans-serif}
.branch-logo-slot{position:relative;width:252px;height:78px;z-index:5;pointer-events:none}
.branch-logo-slot img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.branch-name{font-size:13px!important;line-height:1.4!important;font-weight:600;letter-spacing:.025em;margin:9px 0 0!important}
.branch-note{font-family:var(--sans);font-size:11px!important;line-height:1.45!important;max-width:370px;margin-top:16px;opacity:.78}
body.brand-travel-ready.cinematic .branch-logo-slot img{visibility:hidden}
.brand-traveler{display:none;pointer-events:none}
body.cinematic .brand-traveler{display:block;position:absolute;left:0;top:0;width:356px;height:112px;transform-origin:0 0;z-index:26;will-change:transform}
.brand-traveler img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center}
#brand-to{opacity:0}
.dvd-ambient{position:fixed;left:0;top:0;width:112px;height:40px;z-index:28;opacity:.105;pointer-events:none;will-change:transform}
.dvd-ambient img{width:100%;height:100%;object-fit:contain;transition:filter .4s ease}
.ui-dark .dvd-ambient img{filter:invert(1)}
body.motion-paused .dvd-ambient{opacity:0}
.traveler-halo{opacity:.24!important}
.traveler-tag,.transition-line{display:none!important}
.header-actions{gap:22px}
.site-header{background:none}
.header-contact{border:0;border-bottom:1px solid currentColor;padding:9px 0}
/* Remove captions already replaced by the branch explanation. */
.wealth-horizon,.publicity-label,.analytics-readout,.analysis-caption{display:none!important}
/* A restrained control strip, not four corners of messaging. */
.journey-hud{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;height:54px;padding-top:2px!important;padding-bottom:2px!important;pointer-events:none}
.hud-position{display:none!important}
.journey-hud::before{display:none!important}
.hud-progress{opacity:.6;margin-left:auto;margin-right:auto;pointer-events:auto}
.motion-toggle{border-radius:30px!important;background:var(--ui-bg)!important;min-width:44px!important;width:44px;height:44px;display:flex;align-items:center;justify-content:center;pointer-events:auto}
.motion-toggle span{display:none!important}.motion-toggle svg{width:16px;height:16px}
.next-scene{pointer-events:auto;background:var(--ui-bg)!important}
/* New cover: familiar multicolor print, no large circle, no client-like cutout. */
.hero-ground{background:linear-gradient(115deg,rgba(239,244,211,.84),rgba(209,238,154,.30)),url('../assets/gradient-1.webp') center/cover}
.hero-print-main,.hero-print-back{position:absolute;overflow:hidden}
.hero-print-main{background:#e77872;box-shadow:0 20px 55px #153b1d25;transform:rotate(-9deg);z-index:2}
.hero-print-back{transform:rotate(9deg);background:#435732;z-index:1}
.hero-print-main img,.hero-print-back img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero-print-main img{transform:scale(1.025)}
.hero-print-back img{object-position:55% 65%;filter:saturate(.6)}
.hero-definition{font-weight:700!important;line-height:1.4!important;font-size:18px!important;letter-spacing:-.02em!important}
.hero-copy p+p,.hero-intro p+p{margin-top:9px}
.hero-cta{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #233c234a;font-size:13px;font-weight:600;min-height:44px}
.hero-cta span{font-size:23px}
@media(min-width:761px){
 .hero-message{position:absolute;left:6%;top:22%;width:49%;z-index:4}
 .hero-title{position:static;top:auto;left:auto;width:100%;font-size:clamp(92px,11vw,168px);line-height:.87!important;margin:0}
 .hero-title .hero-solo{font-size:1.29em;margin-top:8px;line-height:.9}
 .hero-copy{position:static;margin-top:32px;max-width:430px}
 .hero-copy p{font-size:17px;line-height:1.55}
 .hero-copy a{margin-top:16px}
 .hero-collage{position:absolute;left:57%;top:17%;width:38%;height:74%;z-index:2}
 .hero-collage .hero-print-main{left:7%;top:12%;width:73%;height:81%}
 .hero-collage .hero-print-back{right:0;top:0;width:57%;height:68%}
 .hero-brand-home{position:absolute;left:60%;top:82%;width:166px;height:52px;z-index:6;background:#e8f0cb;box-shadow:0 8px 24px #15221b12;padding:7px}
 .hero-brand-home img{object-position:center}
 .hero-cutline{position:absolute;left:-4%;top:40%;width:104%;height:45%;border:1px solid #19382444;border-radius:50%;transform:rotate(-35deg);z-index:3;pointer-events:none}
 /* Logos head up the content blocks; they have a real destination in every scene. */
 .management-main,.analytics-main,.wealth-main,.publicity-main{top:16%;left:6%;width:43%;right:auto}
 .management-main h2,.analytics-main h2,.wealth-main h2,.publicity-main h2{margin-top:27px;font-size:clamp(65px,7.5vw,122px);line-height:.90}
 .management-main .body-copy,.analytics-main .body-copy,.wealth-main .body-copy,.publicity-main .body-copy{position:static;margin:27px 0 0;width:100%;max-width:385px;font-size:16px;line-height:1.6}
 .analytics-main{left:55%;width:39%;top:20%}
 .analysis-visual{left:5%!important;right:auto!important;top:26%!important;width:43%!important;height:52%!important}
 .wealth-main{left:54%;width:40%;top:17%}
 .wealth-photo{left:7%!important;right:auto!important;top:25%!important;width:34%!important;height:52%!important;transform:rotate(-7deg)!important}
 .wealth-wash{left:0;right:auto}
 .wealth-loop{left:2%!important;right:auto!important;opacity:.5}
 .wealth-main h2{font-size:clamp(68px,7.1vw,112px)}
 .publicity{color:#221714!important}
 .publicity-ground{background:linear-gradient(120deg,rgba(241,155,139,.94),rgba(241,155,139,.26)),url('../assets/gradient-2.webp') center/cover}
 .publicity-main{top:18%;width:43%}
 .publicity-main h2{font-size:clamp(60px,7.1vw,116px)}
 .publicity-main .body-copy{color:#221714}
 .wellness-main{top:14%;right:5.6%;left:auto;width:46%}
 .wellness-main .branch-logo-slot{width:284px;height:85px}
 .wellness-main h2{font-size:clamp(66px,7.1vw,114px);line-height:.88;margin-top:25px}
 .wellness-main .body-copy{position:static;top:auto;right:auto;width:100%;max-width:420px;margin:25px 0 0;font-size:16px;line-height:1.55}
 .wellness-photo{width:35%!important;left:7%!important;top:26%!important;height:56%!important}
 .global-main{top:23%;left:55%;width:40%}
 .global-main h2{font-size:clamp(65px,7.4vw,116px)}
 .global-main .body-copy{font-size:16px;line-height:1.55;max-width:390px;margin:24px 0 0;width:100%}
 .closing-brand-home{position:absolute;left:55%;top:12%;width:204px;height:64px}
 .contact .closing-brand-home{left:6%;top:16%;width:220px;height:68px}
 .contact h2{font-size:8.8vw;top:29%;width:76%}
 .contact-answer{top:58%;font-size:3vw}
 .contact-links{bottom:13%}
 .contact .scene-foot{bottom:63px}
 .contact-primary{min-width:290px;padding:18px 22px 34px;font-size:20px}
}
@media(min-width:761px) and (max-height:760px){
 .hero-message{top:20%}.hero-title{font-size:9.6vw}.hero-copy{margin-top:18px}.hero-copy a{margin-top:7px}
 .branch-logo-slot{width:214px;height:64px}
 .management-main,.wealth-main,.publicity-main{top:16%}
 .management-main h2,.wealth-main h2,.publicity-main h2,.analytics-main h2{font-size:6.3vw;margin-top:20px}
 .management-main .body-copy,.wealth-main .body-copy,.publicity-main .body-copy,.analytics-main .body-copy{font-size:15px;margin-top:21px}
 .wellness-main{top:14%}.wellness-main .branch-logo-slot{width:220px;height:65px}.wellness-main h2{font-size:6.4vw;margin-top:20px}.wellness-main .body-copy{font-size:14px;margin-top:22px}
 .branch-note{font-size:10px!important;margin-top:12px}.global-main h2{font-size:6.8vw}
 .contact .closing-brand-home{top:14%;height:60px}.contact h2{top:27%;font-size:8vw}.contact-answer{top:56%}.contact-links{bottom:13%}
 .contact-primary{padding:14px 18px 28px;font-size:17px}.contact-details{font-size:13px}
}
/* Phone is still the primary, fully animated composition. */
@media(max-width:760px){
 .site-header{padding-left:23px;padding-right:23px;background:linear-gradient(var(--ui-fade,rgba(229,243,208,.45)),transparent)}
 .brand{width:92px}.brand img{width:92px}
 .header-actions{gap:9px}.header-contact{font-size:11px!important;min-height:44px;padding:7px 0!important}
 .index-button{width:44px}
 .journey-hud{padding-left:23px!important;padding-right:23px!important;justify-content:flex-end;height:calc(55px + env(safe-area-inset-bottom,0px));gap:8px}
 .journey-hud .motion-toggle span{display:none!important}
 .mobile-layout{padding:calc(96px + env(safe-area-inset-top,0px)) 25px calc(77px + env(safe-area-inset-bottom,0px));gap:20px;grid-template-rows:auto minmax(145px,1fr) auto}
 .scene .m-title{margin-top:20px;font-size:16.7vw;line-height:.91;letter-spacing:-.035em}
 .m-head .branch-logo-slot{width:215px;height:66px;max-width:68%}
 .m-head .branch-name{font-size:12px!important;margin:6px 0 0!important}
 .wellness .m-head .branch-logo-slot{width:246px;height:74px;max-width:75%}
 .m-body>p{font-size:15px;line-height:1.5;max-width:none}
 .m-body .branch-note{font-size:10px!important;line-height:1.4!important;margin-top:11px;max-width:none;opacity:.76}
 .m-art{min-height:145px}
 .scene .m-title .fit-line{word-spacing:0;letter-spacing:-.05em}
 .hero{background:linear-gradient(130deg,rgba(232,243,207,.74),rgba(207,236,137,.25)),url('../assets/gradient-1.webp') center/cover}
 .hero .mobile-layout{grid-template-rows:auto auto minmax(195px,1fr) auto;gap:15px;padding-top:105px;padding-bottom:80px}
 .scene .m-title-hero{margin:0;font-size:18.8vw;line-height:.91}
 .scene .m-title-hero .m-solo{font-size:1.38em;line-height:.9;margin-top:2px}
 .hero .hero-intro{padding-top:3px}
 .hero .hero-intro .hero-definition{font-size:15px!important;max-width:29ch;line-height:1.4!important}
 .hero .hero-intro p+p{font-size:14px;line-height:1.5;margin-top:8px;max-width:34ch}
 .m-hero-art{margin:9px 0 0;isolation:isolate;min-height:195px}
 .m-hero-art .hero-print-back{left:0;top:8%;width:50%;height:78%;transform:rotate(-9deg)}
 .m-hero-art .hero-print-main{right:6%;top:-1%;width:61%;height:98%;transform:rotate(7deg)}
 .m-hero-art .hero-print-main img{object-position:50% 45%}
 .m-hero-art .hero-slot{right:-8px;bottom:2%;width:55px;height:62px;z-index:7}
 .m-hero-art .hero-brand-home{position:absolute;left:0;top:auto;bottom:0;width:138px;height:43px;padding:6px;background:#eaf1d3;z-index:8;transform:none}
 .hero-cta{font-size:12px;width:142px;margin-top:2px;align-self:end}
 .dvd-ambient{width:76px;height:29px;opacity:.10}
 .m-head .closing-brand-home{position:relative;left:auto;top:auto;width:178px;height:54px;max-width:58%;margin-bottom:20px}
 .contact .m-title{margin-top:0!important;font-size:17vw!important}
 .contact .mobile-layout{gap:16px;padding-top:95px;padding-bottom:75px}
 .m-contact-art{min-height:100px}
 .m-contact-primary{min-height:65px;font-size:17px;padding:14px 16px}
 .m-contact-body>a:not(.m-contact-primary){font-size:14px}
 .m-team-word{font-size:8vw;top:12%}
 .global .m-title{font-size:16.8vw}
 .m-world-art .m-plane-orbit{width:200px;height:200px;left:calc(50% - 100px);top:calc(50% - 100px)}
 .global-slot{width:118px;height:130px;left:calc(50% - 59px);top:calc(50% - 65px)}
 .m-world-art{min-height:220px}
}
@media(max-width:760px) and (min-height:620px) and (max-height:740px){
 .mobile-layout{padding-top:84px;padding-bottom:70px;gap:13px;grid-template-rows:auto minmax(105px,1fr) auto}
 .m-head .branch-logo-slot{width:180px;height:54px}.wellness .m-head .branch-logo-slot{width:213px;height:64px}
 .scene .m-title{font-size:15vw;margin-top:16px}
 .m-art{min-height:105px}.m-body>p{font-size:13.5px;line-height:1.45}
 .m-body .branch-note{font-size:9px!important;margin-top:8px}
 .hero .mobile-layout{padding-top:85px;padding-bottom:68px;gap:11px;grid-template-rows:auto auto minmax(148px,1fr) auto}
 .scene .m-title-hero{font-size:16.8vw;margin:0}.scene .m-title-hero .m-solo{font-size:1.3em}
 .hero .hero-intro .hero-definition{font-size:14px!important}.hero .hero-intro p+p{font-size:13px;margin-top:6px}
 .m-hero-art{min-height:148px;margin:0}.m-hero-art .hero-print-main{width:56%;right:10%;height:100%}.m-hero-art .hero-print-back{left:9%;width:41%}
 .m-hero-art .hero-brand-home{width:116px;height:36px;left:5%}.hero-slot{width:48px!important;height:55px!important;right:0!important}
 .hero-cta{padding:8px 0;min-height:39px}
 .m-head .closing-brand-home{width:155px;height:46px;margin-bottom:15px}
 .m-world-art{min-height:174px}.m-world-art .m-plane-orbit{width:160px;height:160px;left:calc(50% - 80px);top:calc(50% - 80px)}
 .global-slot{width:87px;height:100px;left:calc(50% - 43.5px);top:calc(50% - 50px)}
 .m-market{font-size:7.5px}.contact .mobile-layout{padding-top:82px;gap:10px;padding-bottom:67px}.contact .m-title{font-size:15vw!important}
 .m-contact-art{min-height:88px}.m-contact-primary{min-height:55px;font-size:16px;padding:10px 14px;margin-bottom:3px}
 .m-contact-body>a:not(.m-contact-primary){font-size:13px;min-height:44px;padding:8px 0}.m-contact-legal{margin-top:2px}
}
@media(max-width:760px) and (max-height:619px){
 .scene{height:790px;min-height:790px}
 .mobile-layout{padding-top:90px;padding-bottom:70px}
 .scene .m-title{font-size:17vw}.m-art{min-height:170px}
 .hero .mobile-layout{grid-template-rows:auto auto minmax(190px,1fr) auto;padding-top:94px;padding-bottom:70px}
 .contact .mobile-layout{padding-top:91px;padding-bottom:75px}
}
@media(min-width:581px) and (max-width:760px){
 .mobile-layout{padding-left:9%;padding-right:9%}.scene .m-title{font-size:74px}.scene .m-title-hero{font-size:88px}
 .hero .mobile-layout{padding-left:9%;padding-right:9%}.hero .m-art{width:100%;max-width:420px;margin-left:auto;margin-right:auto}
 .m-head .branch-logo-slot{width:240px;height:74px}.wellness .m-head .branch-logo-slot{width:260px;height:80px}
 .hero .hero-intro .hero-definition{font-size:17px!important}
}
@media(prefers-reduced-motion:reduce){.dvd-ambient,.brand-traveler{display:none!important}.branch-logo-slot img{visibility:visible!important}}
@media print{.dvd-ambient,.brand-traveler{display:none!important}.branch-logo-slot img{visibility:visible!important}}
@media(max-width:760px){
 .wealth .m-head .branch-logo-slot,.analytics .m-head .branch-logo-slot{margin-left:auto}
}
/* Separate the live globe from the printed globe already present in the archival poster. */
@media(max-width:760px){.m-hero-art .hero-slot{bottom:auto;top:12%;right:-4px}}

/* V6 — photographic replacement, not a new visual identity.
   No raster typography and no invented emblems. Branch logos remain unchanged. */
.organic-photo{margin:0;position:absolute;overflow:hidden;background:#9ca591;z-index:2}
.organic-photo img{display:block;width:100%;height:100%;object-fit:cover;transform:translateY(calc(var(--parallax,0)*-5px)) scale(1.025)}
.wealth-photo{opacity:1!important;mix-blend-mode:normal!important;mask-image:none!important;-webkit-mask-image:none!important;box-shadow:0 18px 50px #4c3a1620}
.wealth-photo img,.wellness-photo img{filter:none!important;object-position:50% 50%;transform:translateY(calc(var(--parallax,0)*-7px)) scale(1.025)!important}
.wellness-photo{opacity:1!important;mask-image:none!important;-webkit-mask-image:none!important;mix-blend-mode:normal!important}
.wellness-orbits{opacity:.22}
.global-orbits{opacity:.24}
.service-actions{display:flex;align-items:center;gap:18px;flex-wrap:nowrap;margin-top:14px}
.service-open{border:0;border-bottom:1px solid currentColor;background:transparent;padding:9px 0;min-height:44px;font:inherit;font-size:13px;font-weight:600;color:inherit;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:24px}
.service-open span{font-size:24px;line-height:1}
.service-open:hover{opacity:.72}
.service-modality{font-size:10px;line-height:1.4;max-width:145px;opacity:.8}
.service-dialog{width:min(700px,calc(100% - 32px));max-height:calc(100svh - 40px);padding:clamp(22px,4vw,45px);background:#f1f0e5;color:#172013;border:0;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.service-dialog::backdrop{background:#121711b8;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.service-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;margin-bottom:25px}
.service-dialog-top img{width:163px;height:51px;object-fit:contain;object-position:left center}
.service-dialog-top .reverse-logo{filter:invert(1)}
.service-dialog-top button{color:inherit;cursor:pointer;background:none;border:0;min-width:72px;min-height:44px;font:inherit;font-size:13px}
.service-dialog h2{font-family:var(--sans);font-size:clamp(25px,5vw,36px);line-height:1.06;letter-spacing:-.04em;text-transform:none;margin:0 0 16px;font-weight:700}
.service-intro{font-family:var(--sans);font-size:15px;line-height:1.6;max-width:56ch}
.service-list{margin:27px 0 0}
.service-list>div{border-top:1px solid #17201325;padding:18px 0}
.service-list dt{font-weight:700;font-size:16px;letter-spacing:-.01em;margin-bottom:6px}
.service-list dd{margin:0;font-size:14px;line-height:1.65;color:#394438}
.service-conditions{margin-top:19px;padding-top:17px;border-top:1px solid #17201325;font-size:12px;line-height:1.6}
.service-contact{display:inline-block;margin:23px 0 3px;border-bottom:1px solid currentColor;padding:12px 0;font-weight:600;font-size:14px;color:inherit}
body.service-reading{overflow:hidden}
body.service-reading .dvd-ambient{visibility:hidden}
body.service-reading .scene *,body.service-reading .traveler *{animation-play-state:paused!important}
@media(min-width:761px){
 .global .organic-international{left:9%;top:25%;width:31%;height:54%;transform:rotate(-5deg)}
 .has-service-details .body-copy{max-width:390px}
}
@media(max-width:760px){
 .has-service-details .mobile-layout{gap:14px}
 .organic-wealth{inset:3% 12% 4% 13%;transform:rotate(-4deg);box-shadow:8px 10px 0 #67592717}
 .organic-wellness{inset:3% 11% 4% 9%;transform:rotate(4deg);box-shadow:-8px 10px 0 #d9efb618}
 .m-wealth-art .wealth-slot{right:0;top:auto;bottom:8%;width:57px;height:64px}
 .m-wellness-art .wellness-slot{right:0;top:4%;width:53px;height:58px}
 .m-world-art .organic-international{inset:4% 13% 5% 10%;transform:rotate(-4deg)}
 .m-world-art .m-world-ring{opacity:.28}
 .m-world-art .global-slot{left:auto;top:auto;right:0;bottom:7%;width:72px;height:81px}
 .service-actions{margin-top:8px;gap:18px}
 .service-open{font-size:13px;gap:25px}
 .service-modality{font-size:10px;max-width:130px}
 .service-dialog{width:100%;max-width:100%;max-height:92svh;margin:auto 0 0;border-radius:18px 18px 0 0;padding:24px 24px calc(28px + env(safe-area-inset-bottom,0px))}
 .service-dialog-top{margin-bottom:20px}
 .service-dialog-top img{width:144px;height:44px}
 .service-dialog h2{font-size:27px;max-width:20ch}
 .service-intro{font-size:14px}
 .service-list dt{font-size:15px}.service-list dd{font-size:14px}
}
@media(max-width:760px) and (min-height:620px) and (max-height:740px){
 .has-service-details .mobile-layout{gap:10px}
 .has-service-details .m-head .branch-logo-slot{height:50px}
 .has-service-details .m-title{font-size:13.5vw;margin-top:12px}
 .has-service-details .m-body>p{font-size:13px;line-height:1.4}
 .has-service-details .m-art{min-height:100px}
 .service-actions{margin-top:3px}
 .service-modality{font-size:9px}
}
@media(max-width:760px) and (max-height:619px){
 .has-service-details .scene{min-height:790px}
 .service-dialog{max-height:91svh}
}
@media(prefers-reduced-motion:reduce){
 .organic-photo img{transform:none!important}
}


/* V7 — constrained text, double-size primary identity and a single shared logo flight. */
:root{--header-h:118px;--primary-logo-width:278px}
html,body,#root{width:100%;min-width:0;margin:0}
#root{position:relative}
.site-header{height:var(--header-h);gap:16px}
.site-header .brand{width:var(--primary-logo-width);max-width:calc(100vw - 170px);height:auto;display:block;flex:none}
.site-header .brand img{width:100%;height:auto;max-width:100%;display:block}
body.cinematic.brand-travel-ready .site-header .brand img{visibility:hidden}
body.cinematic .brand-traveler{position:fixed;top:0;left:0;z-index:61;transform-origin:0 0;pointer-events:none;will-change:transform;}
.brand-traveler img{object-fit:contain;object-position:left top}
body.cinematic.brand-travel-ready .hero-brand-home img{visibility:visible}
.hero-brand-home{opacity:var(--secondary-logo-opacity,1);pointer-events:none}
/* Keep the DVD wordmark visible throughout the cinematic journey. */
.dvd-ambient{opacity:.08}
body:not(.cinematic) .dvd-ambient{display:none}
/* This legacy floating globe only fades. It no longer makes a second journey. */
body.cinematic #traveler{opacity:var(--secondary-logo-opacity,1);pointer-events:none}
/* Prevent natural word width and intrinsic grid sizing from enlarging the canvas. */
.mobile-layout,.desktop-layout,.m-head,.m-body,.hero-message,.hero-copy,.management-main,.wealth-main,.publicity-main,.analytics-main,.wellness-main,.global-main{min-width:0;box-sizing:border-box}
.scene h1,.scene h2{max-width:100%;min-width:0;contain:inline-size}
.fit-line{max-width:none;width:max-content;transform:scaleX(var(--fit,.5));transform-origin:left center;padding-right:.04em}
body:not(.js-ready) .fit-line{transform:scaleX(.5)}
/* Readable progressive enhancement: without JS, wrap text instead of clipping it. */
body:not(.js-ready) .scene h1,body:not(.js-ready) .scene h2{font-size:clamp(38px,5.2vw,84px)!important;line-height:1}
body:not(.js-ready) .fit-line{transform:none!important;white-space:normal;width:auto;overflow-wrap:break-word;font-size:inherit!important;line-height:1!important}
.hero-message{max-width:49%}
.hero-title{font-size:clamp(66px,min(10.8vw,16svh),160px)!important;line-height:.92!important}
.hero-title .hero-solo{line-height:.96!important}
.hero-copy{max-width:100%;margin-top:24px}
.hero-message{top:max(144px,20%)}
.hero .hero-definition{font-size:18px!important}
.hero-brand-home{background:transparent!important;box-shadow:none!important;padding:0!important}
.hero-collage{max-width:40%}
.wellness-photo img{object-position:center 42%!important;transform:scale(1.025) translateY(calc(var(--parallax,0)*-6px))!important}
.wellness-orbits{opacity:1}
.organic-wellness{inset:1% 15% 2% 13%;transform:rotate(-8deg);box-shadow:none}
.organic-wellness img{object-position:center 40%}
/* A light echo of the approved desktop orbital graphic, not a new icon. */
.m-wellness-art::after{content:'';position:absolute;inset:-3% 4%;border:1px solid #dcf37585;border-radius:50%;transform:rotate(-27deg);pointer-events:none;z-index:4}
.m-wellness-art::before{content:'';position:absolute;inset:12% 17%;border:1px solid #dcf37585;border-radius:50%;transform:rotate(-27deg);pointer-events:none;z-index:4}
.global-orbits{opacity:.8}
/* Reserve vertical room above copy for the full-size identity. */
.management-main,.wealth-main,.publicity-main{top:max(138px,17%)}
.analytics-main{top:max(140px,19%)}
.wellness-main{top:max(130px,15%)}
.global .closing-brand-home{top:max(125px,13%)}
.global-main{top:max(215px,25%)}
.contact .closing-brand-home{top:max(134px,15%)}
@media(min-width:761px) and (max-height:760px){
 .hero-message{top:130px}.hero-title{font-size:min(9.6vw,14svh)!important}.hero-copy{margin-top:18px}
 .hero-copy p{font-size:15px}.hero .hero-definition{font-size:16px!important}
 .management-main,.wealth-main,.publicity-main,.analytics-main{top:128px}
 .wellness-main{top:124px}.global .closing-brand-home{top:122px}.global-main{top:204px}
}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
 :root{--header-h:calc(96px + env(safe-area-inset-top,0px));--primary-logo-width:184px}
 .site-header{padding-left:24px;padding-right:24px;gap:6px;align-items:center}
 .site-header .brand{max-width:calc(100% - 94px);min-height:0}
 .site-header .header-actions{gap:6px;flex:none;margin-left:auto}
 .site-header .header-contact{width:44px;min-width:44px;height:44px;padding:0!important;border:0;font-size:0!important;gap:0;justify-content:center}
 .site-header .header-contact span{font-size:25px}
 .site-header .index-button{width:44px;min-width:44px;border:0}
 .mobile-layout{padding-top:calc(112px + env(safe-area-inset-top,0px));grid-template-columns:minmax(0,1fr);overflow:visible}
 .hero .mobile-layout{padding-top:calc(114px + env(safe-area-inset-top,0px));padding-bottom:76px;gap:14px;grid-template-rows:auto auto minmax(160px,1fr) auto}
 .scene .m-title{font-size:clamp(48px,min(16.7vw,8.2svh),88px);line-height:1!important;max-width:100%;margin-top:17px}
 .scene .m-title-hero{font-size:clamp(54px,min(18.6vw,9.4svh),96px)!important;line-height:.98!important;margin:0}
 .scene .m-title-hero .m-solo{font-size:1.32em;line-height:1!important;margin-top:0}
 .hero .hero-intro .hero-definition{font-size:15px!important;max-width:31ch}
 .hero .hero-intro p+p{font-size:14px;line-height:1.45;max-width:32ch}
 .m-head,.m-body{width:100%;max-width:100%}
 .hero-message{max-width:none}
 .m-art{min-width:0}
 .m-hero-art .hero-brand-home{width:138px;height:43px;left:0;bottom:2%;top:auto}
 .has-service-details .mobile-layout{gap:12px}
 .m-head .branch-logo-slot{max-width:75%;width:215px;height:66px}
 .wellness .m-head .branch-logo-slot{max-width:80%;width:246px;height:74px}
 body:not(.cinematic) .scene{height:auto;min-height:820px}
 body:not(.cinematic) .mobile-layout{position:relative;inset:auto;min-height:820px;height:auto;grid-template-rows:auto minmax(180px,260px) auto}
 body:not(.cinematic) .hero .mobile-layout{grid-template-rows:auto auto minmax(190px,260px) auto}
 body:not(.cinematic) .m-title{font-size:clamp(48px,16vw,88px)!important}
 body:not(.cinematic) .scene .m-title-hero{font-size:clamp(52px,17vw,90px)!important}
 .m-world-art .global-slot{left:calc(50% - 59px);top:calc(50% - 65px);right:auto;bottom:auto;width:118px;height:130px}
 .global .m-world-art{min-height:160px}
 body:not(.js-ready) .mobile-layout{overflow:visible}
 body:not(.js-ready) .scene .m-title{font-size:clamp(34px,10vw,64px)!important}
 body:not(.js-ready) .site-header{position:absolute!important}
}
@media(max-width:760px) and (min-height:620px) and (max-height:740px){
 .mobile-layout,.has-service-details .mobile-layout{padding-top:102px;padding-bottom:67px;gap:10px}
 .hero .mobile-layout{padding-top:103px;padding-bottom:68px;gap:10px;grid-template-rows:auto auto minmax(115px,1fr) auto}
 .scene .m-title-hero{font-size:min(16.6vw,8.8svh)!important}
 .scene .m-title{font-size:clamp(43px,min(14vw,7.8svh),63px);margin-top:12px!important}
 .hero .hero-intro .hero-definition{font-size:14px!important}.hero .hero-intro p+p{font-size:13px}
 .m-art{min-height:100px}.m-hero-art{min-height:115px}
 .m-head .branch-logo-slot{width:180px;height:54px}
 .wellness .m-head .branch-logo-slot{width:210px;height:64px}
 .m-body>p{font-size:13px;line-height:1.42}
 .hero-cta{min-height:40px;padding:7px 0}
 .service-actions{margin-top:4px}
}
@media(max-width:359px){
 .site-header{padding-left:20px;padding-right:20px;gap:4px}
 .site-header .header-actions{gap:2px}
 .mobile-layout,.hero .mobile-layout{padding-left:20px;padding-right:20px}
 .service-actions{gap:13px}.service-modality{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .brand-traveler,.dvd-ambient,#traveler{display:none!important}
 .site-header .brand img,.branch-logo-slot img{visibility:visible!important}
 .hero-brand-home{opacity:0}
}
@media print{.brand-traveler{display:none!important}.site-header .brand img{visibility:visible!important}}

.fit-line{word-spacing:.12em}
.m-title .fit-line{word-spacing:.18em}
@media(max-width:760px){.wellness{background:linear-gradient(105deg,rgba(80,37,123,.15),rgba(27,10,57,.2)),url('../assets/gradient-5.webp') center/cover}}
@media(min-width:581px) and (max-width:760px){
 .contact .mobile-layout{padding-top:112px;padding-bottom:93px;grid-template-rows:auto minmax(72px,1fr) auto;gap:12px}
 .contact .m-title{font-size:clamp(60px,13vw,84px)!important}
 .m-contact-art{min-height:72px}
 .contact .m-contact-primary{min-height:58px;padding:11px 16px;font-size:16px}
}

/* V8: supplied high-resolution PNGs, exact pixels, no upscaling or AI recreation. */
.site-header .brand img,.branch-logo-slot img,.brand-traveler img,.dvd-ambient img,.traveler-body img,.m-static-globe{image-rendering:auto}
.brand-traveler img{max-width:none;object-fit:contain;object-position:left top}

/* V9: semantic anchors keep the approved button appearance. */
a.service-open{text-decoration:none}
.service-page-link{display:inline-block;margin:0 0 16px;color:inherit;font-size:14px;text-underline-offset:4px}

/* V10: a shared hero H1, no content replacement during React enhancement. */
.hero-unified{position:relative;width:100%;height:100%;min-height:inherit;background:linear-gradient(115deg,rgba(239,244,211,.84),rgba(209,238,154,.30)),url('../assets/gradient-1.webp') center/cover}
.hero-unified .hero-message{position:absolute;left:6%;top:max(144px,20%);width:49%;max-width:49%;z-index:4}
.hero-unified .hero-title{position:static;width:100%;font-size:clamp(66px,min(10.8vw,16svh),160px)!important;line-height:.92!important;margin:0;font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.04em}
.hero-unified .hero-title .hero-solo{font-size:1.29em;line-height:.96!important;margin-top:8px}
.hero-unified .hero-copy{position:static;max-width:100%;margin-top:24px;z-index:5}
.hero-unified .hero-collage{position:absolute;left:57%;top:17%;width:38%;height:74%;max-width:40%;z-index:2}
.hero-unified .hero-collage .hero-brand-home{position:absolute;left:8%;top:auto;bottom:3%;width:166px;height:52px;z-index:6}
.hero-unified>.hero-cta{display:none}
.hero-unified .m-globe-slot{display:none}
.hero-unified .hero-print-main img,.hero-unified .hero-print-back img{aspect-ratio:591/773}
.page-directory{display:flex!important;gap:8px 16px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid #2224}
.page-directory a{font-size:13px!important;padding:10px 0!important;min-height:44px;display:block!important;width:auto!important;border:0!important}
.trust-links{display:flex;gap:12px 22px;flex-wrap:wrap;margin-top:12px}
.trust-links a{font-size:12px!important;line-height:1.4!important;padding:7px 0!important;min-height:32px}
.index-dialog{max-height:calc(100svh - 32px);overflow-y:auto}
@media(min-width:761px) and (max-height:720px){.hero-unified .hero-message{top:130px}.hero-unified .hero-title{font-size:min(9.6vw,14svh)!important}.hero-unified .hero-copy{margin-top:18px}}
@media(max-width:760px){
 .hero-unified{height:100%;min-height:inherit;display:grid;grid-template-rows:auto auto minmax(160px,1fr) auto;gap:14px;padding:calc(114px + env(safe-area-inset-top,0px)) 6% 76px;background:linear-gradient(130deg,rgba(232,243,207,.74),rgba(207,236,137,.25)),url('../assets/gradient-1.webp') center/cover}
 .hero-unified .hero-message{display:contents}
 .hero-unified .hero-title{position:relative;top:auto;left:auto;width:100%;max-width:100%;font-size:clamp(54px,min(18.6vw,9.4svh),96px)!important;line-height:.98!important;min-width:0;z-index:4}
 .hero-unified .hero-title .m-solo{font-size:1.32em;line-height:1!important;margin-top:0}
 .hero-unified .hero-copy{position:relative;left:auto;bottom:auto;max-width:none;width:100%;margin:0;padding-top:3px;min-width:0}
 .hero-unified .hero-copy .hero-definition{font-size:15px!important;line-height:1.4!important;max-width:31ch}
 .hero-unified .hero-copy p+p{font-size:14px;line-height:1.45;margin-top:8px;max-width:32ch}
 .hero-unified .hero-copy .text-link{display:none}
 .hero-unified .hero-collage{position:relative;left:auto;top:auto;width:100%;max-width:420px;height:100%;min-height:160px;margin:0 auto;grid-row:3}
 .hero-unified .hero-collage .hero-print-main{left:auto;right:6%;top:-1%;width:61%;height:98%;transform:rotate(7deg)}
 .hero-unified .hero-collage .hero-print-back{left:0;right:auto;top:8%;width:50%;height:78%;transform:rotate(-9deg)}
 .hero-unified .hero-collage .hero-print-main img{object-position:50% 45%}
 .hero-unified .hero-collage .hero-brand-home{left:0;top:auto;bottom:2%;width:138px;height:43px}
 .hero-unified .m-globe-slot{display:block;position:absolute;right:-8px;bottom:2%;width:55px;height:62px;z-index:7}
 .hero-unified>.hero-cta{display:flex;width:142px;grid-row:4;margin:0;min-height:44px;z-index:4}
 .hero-unified .hero-cutline{display:none}
 body:not(.cinematic) .hero-unified{min-height:810px;grid-template-rows:auto auto minmax(190px,260px) auto}
 .trust-links{margin-top:4px;gap:8px 14px}.trust-links a{min-height:34px}
}
@media(max-width:760px) and (min-height:620px) and (max-height:740px){
 .hero-unified{padding-top:103px;padding-bottom:68px;gap:10px;grid-template-rows:auto auto minmax(115px,1fr) auto}
 .hero-unified .hero-title{font-size:min(16.6vw,8.8svh)!important}
 .hero-unified .hero-copy .hero-definition{font-size:14px!important}.hero-unified .hero-copy p+p{font-size:13px}
 .hero-unified .hero-collage{min-height:115px}.hero-unified .hero-collage .hero-print-main{width:56%;right:10%;height:100%}
 .hero-unified .hero-collage .hero-print-back{left:9%;width:41%}
 .hero-unified .hero-collage .hero-brand-home{width:116px;height:36px;left:5%}
}
@media(max-width:360px){.hero-unified{padding-left:20px;padding-right:20px}.hero-unified .hero-brand-home{opacity:0}}
@media(prefers-reduced-motion:reduce){.hero-unified .hero-collage img{transform:none!important}}

/* ===== Service cards: interaction only (was build/service-cards.ae55228a59fa.css) ===== */
/* DVP service cards v3 — interaction only; never changes authored layouts. */
body.js-ready .scene.has-service-details .service-open{display:none!important}
body.js-ready #representacion .service-actions{display:none!important}

.dvp-service-card{
  cursor:pointer;
  isolation:isolate;
  outline:none;
  transition:translate .34s cubic-bezier(.22,.75,.24,1),box-shadow .34s ease,filter .28s ease;
}
.dvp-service-card:focus-within{box-shadow:0 0 0 3px rgba(245,245,232,.92),0 0 0 7px rgba(10,10,10,.35)!important}

.dvp-card-link{position:absolute;inset:0;z-index:45;border-radius:inherit}
.dvp-card-link:focus-visible{outline:3px solid currentColor;outline-offset:-5px}

.dvp-card-back{
  position:absolute;inset:0;z-index:30;box-sizing:border-box;
  display:flex;flex-direction:column;justify-content:flex-end;gap:10px;
  padding:clamp(18px,2.2vw,34px);color:#f5f3e9;
  background:radial-gradient(circle at 82% 15%,var(--dvp-card-glow,rgba(207,255,75,.22)),transparent 34%),linear-gradient(145deg,rgba(8,12,12,.93),rgba(10,13,12,.82));
  border:1px solid rgba(255,255,255,.13);opacity:0;transform:translateY(10px);
  transition:opacity .28s ease,transform .34s cubic-bezier(.22,.75,.24,1);pointer-events:none;
}
.dvp-card-back small{font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;opacity:.66}
.dvp-card-back strong{display:block;max-width:15ch;font-size:clamp(24px,2.8vw,44px);line-height:.94;letter-spacing:-.035em;text-transform:uppercase}
.dvp-card-back p{max-width:36ch;margin:0;font-size:clamp(12px,1.02vw,16px);line-height:1.45;opacity:.84}
.dvp-card-back span{margin-top:4px;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.dvp-card-management{--dvp-card-glow:rgba(199,255,48,.26)}
.dvp-card-wealth{--dvp-card-glow:rgba(186,104,255,.30)}
.dvp-card-publicity{--dvp-card-glow:rgba(255,126,64,.31)}
.dvp-card-analytics{--dvp-card-glow:rgba(46,229,215,.30)}
.dvp-card-wellness{--dvp-card-glow:rgba(206,255,62,.28)}

@media (hover:hover) and (pointer:fine){
  .dvp-service-card:hover,.dvp-service-card:focus-within{translate:0 -4px}
  .dvp-service-card:hover > img,.dvp-service-card:focus-within > img,
  .dvp-service-card:hover > .analysis-film,.dvp-service-card:focus-within > .analysis-film{filter:brightness(.48) saturate(.78)!important}
  .dvp-service-card:hover .dvp-card-back,.dvp-service-card:focus-within .dvp-card-back{opacity:1;transform:translateY(0)}
  #future .dvp-service-card:hover,#future .dvp-service-card:focus-within{opacity:1!important;mix-blend-mode:normal!important;-webkit-mask-image:none!important;mask-image:none!important}
}

@media (max-width:760px){
  .dvp-card-back{display:none!important}
  .dvp-service-card::before{content:"TOCA ↗";position:absolute;right:10px;bottom:10px;z-index:40;padding:7px 10px 6px;border-radius:999px;color:#fff;background:rgba(9,11,10,.76);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:8px;font-weight:800;letter-spacing:.12em;pointer-events:none}
  .dvp-service-card{animation:dvpCardInvite 5.2s cubic-bezier(.22,.75,.24,1) infinite}
}
@keyframes dvpCardInvite{0%,72%,100%{translate:0 0}78%{translate:0 -5px}84%{translate:0 1px}90%{translate:0 -2px}}
@media (prefers-reduced-motion:reduce){.dvp-service-card{animation:none!important;transition:none!important}.dvp-card-back{transition:none!important}}

/* ===== Management card: full artwork (was build/management-full-card.d450e60b2d2b.css) ===== */
/* Full approved artwork, with the existing service-card interaction. */
#representacion .management-photo,
#representacion .m-photo-block {
  aspect-ratio: 1672 / 941;
  height: auto;
  margin: 0;
  background: #172029;
  box-shadow: 0 16px 44px rgba(0, 0, 0, .2);
}

#representacion .management-photo {
  right: 5%;
  top: 53%;
  width: min(44%, 96svh);
  transform: translateY(-50%) rotate(3deg);
  z-index: 5;
}

#representacion .management-photo > img,
#representacion .m-photo-block > img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none;
  filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#representacion .management-photo::after { display: none; }
#representacion .management-cross,
#representacion .management-route,
#representacion .m-management-route { pointer-events: none; }

#representacion .dvp-card-back {
  justify-content: center;
  gap: clamp(6px, .75vw, 12px);
  padding: clamp(16px, 2vw, 30px);
}
#representacion .dvp-card-back strong { font-size: clamp(23px, 2.4vw, 40px); }
#representacion .dvp-card-back p { font-size: clamp(12px, 1vw, 15px); }

@media (max-width: 760px), (pointer: coarse) and (max-width: 1024px) and (max-height: 619px) {
  #representacion .m-management-art { container-type: size; }
  #representacion .m-photo-block {
    left: 50%;
    top: 50%;
    width: 94%;
    width: min(94cqw, calc(88cqh * 1672 / 941));
    height: auto;
    transform: translate(-50%, -50%) rotate(-2deg);
    z-index: 7;
  }
  #representacion .m-photo-block::before { content: "CONOCE MÁS ↗"; }
}

@media (hover: none), (pointer: coarse) {
  #representacion .dvp-service-card::before {
    content: "CONOCE MÁS ↗";
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 40;
    padding: 7px 10px 6px;
    border-radius: 999px;
    color: #fff;
    background: rgba(9, 11, 10, .8);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
    pointer-events: none;
  }
}

/* ===== Phone layout and phone camera (last: wins the cascade) (was build/mobile-layout.f74a3bda57f0.css) ===== */
/* Match the camera and the scroll endpoint to the visible browser height. */
body.cinematic .viewport { height:var(--frame-h); }
/* Hash/focus navigation must not scroll inside the transformed camera. */
body.cinematic .viewport, body.cinematic .scene { overflow:clip; }
.journey { overflow-anchor:none; }
/* Mobile scenes share one budget for the header, content and safe-area controls. */
@media (max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px) {
  :root {
    --header-h:calc(80px + env(safe-area-inset-top, 0px));
    --mobile-content-bottom:calc(76px + env(safe-area-inset-bottom, 0px));
  }
  .mobile-layout,
  .has-service-details .mobile-layout,
  .contact .mobile-layout {
    padding-top:calc(90px + env(safe-area-inset-top, 0px));
    padding-bottom:var(--mobile-content-bottom);
    gap:12px;
  }
  .hero-unified {
    padding-top:calc(94px + env(safe-area-inset-top, 0px));
    padding-bottom:var(--mobile-content-bottom);
  }
  .journey-hud {
    height:calc(64px + env(safe-area-inset-bottom, 0px));
    min-height:64px;
    padding-top:8px!important;
    padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px))!important;
  }
  /* Desktop offsets must never move these logos out of the mobile header. */
  .scene .m-head .closing-brand-home {
    position:relative;
    inset:auto;
    width:180px;
    height:54px;
    max-width:68%;
    margin:0 0 14px;
  }
  .global .m-title,
  .contact .m-title {
    margin-top:0!important;
    font-size:clamp(42px, min(15vw, 7.4svh), 68px)!important;
    line-height:1!important;
  }
  .global .mobile-layout { grid-template-rows:auto minmax(150px, 1fr) auto; }
  .global .m-body>p { font-size:15px; line-height:1.5; }
  .m-market { font-size:9px; }
  .contact .mobile-layout { grid-template-rows:auto minmax(60px, 1fr) auto; gap:10px; }
  .contact .m-contact-art { min-height:60px; }
  .contact .m-team-word {
    position:relative;
    top:auto;
    display:block;
    padding-top:5px;
    font-size:clamp(24px, 7.4vw, 36px);
  }
  .contact .m-contact-orbit { right:0; top:0; height:100%; width:55%; }
  .contact .m-contact-primary {
    min-height:62px;
    padding:12px 15px;
    font-size:16px;
    margin-bottom:4px;
  }
  .contact .m-contact-body>a:not(.m-contact-primary) {
    min-height:44px;
    padding:10px 0;
    font-size:14px;
  }
  .contact .m-contact-legal { margin-top:4px; gap:10px; }
  .contact .m-contact-legal>span { font-size:9px; }
  .contact .m-contact-legal button { font-size:11px; min-height:44px; }
  .contact .trust-links { margin-top:2px; gap:0 14px; }
  .contact .trust-links a { display:flex; align-items:center; min-height:44px; }
  /* Short screens and enlarged text retain a complete, naturally scrolling page. */
  body:not(.cinematic) .contact .mobile-layout {
    min-height:0;
    grid-template-rows:auto minmax(90px, auto) auto;
    gap:24px;
  }
  body:not(.cinematic) .contact { min-height:0; }
}

/* ===== Phone camera (2026-09): static vectors, frame locked to the small viewport ===== */
@media (max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px) {
  /* The strip a collapsing browser toolbar reveals under the frame takes the scene colour. */
  body.cinematic .journey { background:var(--frame-fill, #dedfcc); }
  body.cinematic .viewport { height:var(--frame-h); background:var(--frame-fill, #dedfcc); }
  /* Flying vectors are desktop-only. Each phone scene shows its own static logo and globe. */
  body.cinematic .traveler,
  body.cinematic .transition-line,
  body.cinematic .brand-traveler,
  .dvd-ambient { display:none!important; }
  body.cinematic .m-static-globe { visibility:visible; animation:none!important; }
  body.cinematic .branch-logo-slot img,
  body.cinematic .site-header .brand img,
  body.cinematic .hero-brand-home img { visibility:visible!important; }
  /* The header wordmark belongs to the opening scene; every other scene carries its own lockup. */
  body.cinematic:not([data-scene="inicio"]) .site-header .brand img { visibility:hidden!important; }
  /* Decorative keyframes that animate filters or large transforms stay off on phones. */
  .m-volley, .m-sculpture, .m-publicity-star, .m-plane-orbit, .m-tape span,
  .traveler-body, .dvp-service-card { animation:none!important; }
  .m-plane-orbit { transform:rotate(24deg); }
  /* The grain overlay uses blend modes, which cost a compositing pass per scene on every camera move. */
  body.frame-phone.cinematic .scene::after { display:none; }
  /* Headlines beyond the safe squeeze shrink uniformly instead of distorting (set by app.js). */
  .fit-line { transform:scale(var(--fit-shrink, 1)) scaleX(var(--fit, 1)); }
  /* Short frames shrink the scene content instead of losing the camera (set by app.js). */
  body.cinematic .mobile-layout,
  body.cinematic .hero-unified { transform:scale(var(--layout-scale, 1)); transform-origin:50% 50%; }
  /* Compact frames (small viewport under 700px), keyed on a class so toolbars never flip the layout. */
  body.frame-compact .mobile-layout,
  body.frame-compact .has-service-details .mobile-layout,
  body.frame-compact .contact .mobile-layout {
    padding-top:calc(82px + env(safe-area-inset-top, 0px));
    padding-bottom:calc(70px + env(safe-area-inset-bottom, 0px));
    gap:10px;
  }
  body.frame-compact .hero-unified {
    padding-top:calc(86px + env(safe-area-inset-top, 0px));
    padding-bottom:calc(70px + env(safe-area-inset-bottom, 0px));
    gap:10px;
  }
  body.frame-compact .scene .m-title { font-size:16vw; margin-top:12px; }
  body.frame-compact .scene .m-title-hero { font-size:17.5vw; }
  body.frame-compact .hero-unified .hero-title { font-size:clamp(48px, min(17vw, 8.6svh), 88px)!important; }
  body.frame-compact .m-art { min-height:120px; }
  body.frame-compact .m-body>p { font-size:14px; line-height:1.4; }
  body.frame-compact .hero-unified .hero-collage { min-height:140px; }
  body.frame-compact .m-tags { margin-top:10px; gap:6px; }
  body.frame-compact .m-tags span { font-size:10px; padding:5px 8px; }
  body.frame-compact .m-contact-art { min-height:70px; }
  body.frame-compact .journey-hud { height:calc(58px + env(safe-area-inset-bottom, 0px)); min-height:58px; }
  /* Tight frames (small viewport under 600px: iPhone SE/8, small Androids). */
  body.frame-tight .mobile-layout,
  body.frame-tight .has-service-details .mobile-layout,
  body.frame-tight .contact .mobile-layout {
    padding-top:calc(72px + env(safe-area-inset-top, 0px));
    padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px));
    gap:8px;
  }
  body.frame-tight .hero-unified {
    padding-top:calc(76px + env(safe-area-inset-top, 0px));
    padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px));
    gap:8px;
    grid-template-rows:auto auto minmax(120px,1fr) auto;
  }
  body.frame-tight .scene .m-title { font-size:14.5vw; margin-top:8px; }
  body.frame-tight .scene .m-title-hero { font-size:16vw; }
  body.frame-tight .hero-unified .hero-title { font-size:clamp(44px, min(15.5vw, 8.2svh), 80px)!important; }
  body.frame-tight .hero-unified .hero-copy .hero-definition { font-size:14px!important; }
  body.frame-tight .hero-unified .hero-copy p+p { font-size:13px; margin-top:6px; }
  body.frame-tight .scene .mobile-layout { grid-template-rows:auto minmax(110px,1fr) auto; }
  body.frame-tight .m-art { min-height:110px; }
  body.frame-tight .m-body>p { font-size:13.5px; line-height:1.38; }
  body.frame-tight .m-body .m-note { font-size:9.5px; margin-top:8px; }
  body.frame-tight .m-contact-art { min-height:56px; }
  body.frame-tight .contact .mobile-layout { grid-template-rows:auto minmax(50px,1fr) auto; gap:8px; }
  body.frame-tight .contact .m-title { font-size:clamp(38px, min(13.5vw, 6.8svh), 60px)!important; }
  body.frame-tight .contact .m-contact-primary { min-height:54px; padding:10px 14px; font-size:15px; }
  body.frame-tight .contact .m-contact-body>a:not(.m-contact-primary) { min-height:40px; padding:8px 0; font-size:13px; }
  body.frame-tight .journey-hud { height:calc(54px + env(safe-area-inset-bottom, 0px)); min-height:54px; }
  body.frame-tight .site-header { height:calc(64px + env(safe-area-inset-top, 0px)); }
}

/* ===== Phone GPU budget (2026-09-21) ===== */
@media (max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px) {
  /* The atlas is not a layer on phones; each visible scene is (see render() in app.js). */
  body.frame-phone.cinematic .atlas { transform:none!important; will-change:auto; }
  body.frame-phone.cinematic .scene.is-near { will-change:transform; }
  body.frame-phone.cinematic .scene:not(.is-near) { will-change:auto; transform:none!important; }
  /* No blur over moving content: a backdrop-filter re-renders every frame on phones. */
  body.frame-phone .journey-hud,
  body.frame-phone .site-header,
  body.frame-phone .dvp-service-card::before,
  body.frame-phone #representacion .dvp-service-card::before {
    backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
  }
  body.frame-phone .journey-hud { background:var(--ui-bg); }
  body.frame-phone dialog::backdrop { backdrop-filter:none; -webkit-backdrop-filter:none; }
  /* The vector animations are desktop-only (owner's call): stroke and transform keyframes
     inside a scene repaint on the CPU every frame while the camera is already moving. */
  body.frame-phone .scene *,
  body.frame-phone .scene *::before,
  body.frame-phone .scene *::after { animation:none!important; transition:none!important; }
  body.frame-phone .m-play-path { stroke-dashoffset:0; }
  body.frame-phone .m-scan { display:none; }
  body.frame-phone .heart-trace { stroke-dasharray:none; opacity:.9; }
  /* Blend modes inside a scene force an isolated group per repaint; a plain tint is enough here. */
  body.frame-phone .m-pitch-photo { mix-blend-mode:normal; opacity:.14; }
  /* Photo layers no longer float, so their filters are one-off rasters; keep them cheap. */
  body.frame-phone .m-volley, body.frame-phone .m-world-art .m-plane { filter:none; }
}

/* ===== Narrativa v2 (propuesta 2026-09): escenas nuevas, demo de Performance, mapa, clubes ===== */
/* Hero: propuesta de valor y CTA a contacto */
.hero-actions{display:flex;align-items:center;gap:26px;margin-top:24px;flex-wrap:wrap}
.hero-primary{display:inline-flex;align-items:center;gap:14px;padding:13px 20px;border:1px solid currentColor;font-size:13px;font-weight:700;letter-spacing:.02em;min-height:46px;background:var(--ink);color:var(--paper);border-color:var(--ink)}
.hero-primary span{font-size:20px;line-height:1}
.hero-primary:hover{background:transparent;color:var(--ink)}
.header-clubs{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-right:18px;opacity:.85}
.header-clubs span{opacity:.4}
.header-clubs:hover{opacity:1}
.branch-name.eyebrow-strong{font-weight:800}
.accent-lime{color:var(--lime)}
.scene.dark .body-copy{color:inherit}
.clubs-link{font-weight:700}

/* 02 · DVP: una carrera, un equipo alrededor */
.dvp-ground{background:linear-gradient(90deg,rgba(21,11,36,.92) 0%,rgba(21,11,36,.62) 48%,rgba(37,25,50,.10) 100%),url("../assets/gradient-5.webp") center/cover}
.dvp-main{position:absolute;top:16%;left:5.6%;width:48%;z-index:4}
.dvp-main h2{font-size:clamp(66px,7.6vw,132px);margin-top:26px;width:100%}
.dvp-diagram{position:absolute;right:5%;top:14%;width:40%;height:72%;z-index:3;display:flex;align-items:center;justify-content:center}
.dvp-system{width:100%;height:100%;max-height:100%;overflow:visible}
.sys-rings ellipse{stroke:rgba(229,253,144,.45);stroke-width:1}
.sys-lines path{stroke:rgba(229,253,144,.35);stroke-width:1.2;stroke-dasharray:3 6}
.sys-node circle{fill:#e5fd90;stroke:#150b24;stroke-width:2}
.sys-core{fill:#e5fd90}
.sys-you{font-family:var(--display);font-weight:900;font-size:34px;fill:#150b24;letter-spacing:-.04em}
.sys-label{font-family:var(--sans);font-weight:800;font-size:10px;letter-spacing:.14em;fill:#f1f8de}
.sys-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:9px;max-width:470px}
.sys-list li{font-size:14px;line-height:1.45;padding-left:16px;position:relative;letter-spacing:-.01em}
.sys-list li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--lime)}
.sys-list b{font-weight:800}

/* 04 · Performance: demo ilustrativa en cuatro cuadros */
.storyboard{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative}
.sb-frame{margin:0;background:#183e36;border-radius:3px;padding:7px 7px 6px;color:#e0f698;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.sb-frame svg{display:block;width:100%;height:auto}
.sb-frame figcaption{display:block;margin-top:5px;font-size:9px;letter-spacing:.09em;font-weight:700;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-frame figcaption b{font-size:11px;letter-spacing:0;margin-right:1px}
.sb-pitch{stroke:rgba(217,246,181,.38);stroke-width:1.1}
.sb-def{fill:#0f2b26;stroke:#e0f698;stroke-width:1.4}
.sb-me{fill:#e6f9a7;stroke:#244d32;stroke-width:2}
.sb-mate{fill:#e6f9a7;stroke:#244d32;stroke-width:1.5;opacity:.85}
.sb-ball{fill:#fff}
.sb-sight{stroke:#e2f775;stroke-width:1.6}
.sb-freeze{stroke:#e2f775;stroke-width:2}
.sb-lane{stroke:#e2f775;stroke-width:2.2;stroke-dasharray:4 4}
.sb-press{stroke:#ff8f6b;stroke-width:2}
.sb-space{stroke:#e2f775;stroke-width:1.2;opacity:.7}
.sb-data{fill:#e2f775}
.sb-text{font-family:var(--sans);font-weight:800;font-size:9px;fill:#153a30;letter-spacing:.06em}
.sb-1 .sb-sight,.sb-1 .sb-freeze,.sb-1 .sb-lane,.sb-1 .sb-press,.sb-1 .sb-space,.sb-1 .sb-data,.sb-1 .sb-text{display:none}
.sb-2 .sb-lane,.sb-2 .sb-press,.sb-2 .sb-space,.sb-2 .sb-data,.sb-2 .sb-text{display:none}
.sb-3 .sb-data,.sb-3 .sb-text{display:none}
.sb-note{grid-column:1/-1;font-size:9px;letter-spacing:.08em;font-weight:700;text-transform:uppercase;opacity:.7;margin-top:2px}
.analysis-storyboard{top:20%;right:4.5%;width:50%;height:auto;transform:none!important;opacity:1}
.analysis-storyboard .sb-frame{padding:10px 10px 8px}
.analysis-storyboard .sb-frame figcaption{font-size:10px}

/* 07 · Así se nota: entregables y prueba */
.prueba-ground{background:linear-gradient(90deg,rgba(236,241,214,.96),rgba(236,241,214,.72) 50%,rgba(213,237,90,.10)),url("../assets/gradient-3.webp") center/cover}
.prueba-main{position:absolute;top:16%;left:5.6%;width:42%;z-index:4}
.prueba-main h2{font-size:clamp(72px,8.6vw,150px);margin-top:26px}
.prueba-steps{position:absolute;right:5.6%;top:20%;width:44%;z-index:4}
.proof-line{display:block;width:100%;height:auto;margin-bottom:10px}
.pl-path{stroke:currentColor;stroke-width:1.5;opacity:.5}
.pl-dots circle{fill:var(--lime);stroke:currentColor;stroke-width:2}
.pl-labels text{font-family:var(--sans);font-weight:800;font-size:11px;letter-spacing:.12em;fill:currentColor}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:step}
.steps li{display:grid;grid-template-columns:118px 1fr;gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid rgba(21,24,17,.22)}
.steps li:last-child{border-bottom:1px solid rgba(21,24,17,.22)}
.steps b{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.steps span{font-size:15px;line-height:1.45;letter-spacing:-.015em}
.proof-note{margin-top:22px;padding:14px 16px;border:1px dashed rgba(21,24,17,.45);font-size:12.5px;line-height:1.5;max-width:420px}
.proof-note b{font-weight:800}

/* 08 · Sin fronteras: mapa limpio */
.global-map{position:absolute;left:4%;top:12%;width:46%;height:76%;z-index:3}
.net-map{display:block;width:100%;height:100%}
.net-arcs path{stroke:#dbf371;stroke-width:1.4;opacity:.75;stroke-dasharray:5 6}
.net-nodes circle{fill:#dbf371;stroke:#0c1a0c;stroke-width:3}
.global-map .global-market{position:absolute;transform:translate(-50%,-50%);white-space:nowrap}
.global-map .market-us{left:29.5%;top:14%}
.global-map .market-mx{left:24%;top:59%}
.global-map .market-sa{left:37.5%;top:91%}
.global-map .market-eu{left:79.5%;top:22%}
.net-tags{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.net-tags li{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border:1px solid rgba(219,243,113,.55);border-radius:18px;padding:6px 11px}

/* 09 · Personas */
.equipo-ground{background:linear-gradient(90deg,rgba(15,23,31,.2) 0%,rgba(15,23,31,.9) 58%),url("../assets/gradient-9.webp") center/cover}
.team-photo{position:absolute;left:5.6%;top:15%;width:33%;height:70%;margin:0;overflow:hidden;background:#172029;transform:rotate(-2deg);box-shadow:0 16px 44px rgba(0,0,0,.3);z-index:3}
.team-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}
.team-photo figcaption{position:absolute;left:12px;bottom:12px;padding:7px 10px 6px;background:rgba(9,11,10,.8);color:#fff;font-size:9px;letter-spacing:.12em;font-weight:800;border-radius:999px}
.equipo-main{position:absolute;right:5.6%;top:15%;width:50%;z-index:4}
.equipo-main h2{font-size:clamp(64px,7.2vw,124px);margin-top:26px}
.team-cards{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;max-width:470px}
.team-cards li{display:grid;gap:3px;padding:12px 14px;border:1px solid rgba(240,240,227,.28);background:rgba(240,240,227,.06)}
.team-cards b{font-size:15px;font-weight:800;letter-spacing:-.01em}
.team-cards span{font-size:12px;letter-spacing:.02em;opacity:.85}
.team-note{margin-top:14px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;opacity:.7}

/* Diálogo de Performance con los dos lockups */
.service-group dt{display:flex;align-items:center;gap:10px;margin-top:8px}
.service-group dt img{height:22px;width:auto;filter:invert(1)}

@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  .header-clubs{display:none}
  .hero-unified .hero-actions{display:none}
  .hero-unified .hero-copy .hero-definition{max-width:34ch}
  .hero-unified .hero-copy p+p{max-width:36ch}
  .dvp{background:linear-gradient(180deg,rgba(21,11,36,.82),rgba(21,11,36,.25) 55%,rgba(21,11,36,.94)),url('../assets/gradient-5.webp') center/cover;color:#f1f8de}
  .dvp .m-title .fit-line:last-child{color:#daf379}
  .m-dvp-art{display:flex;align-items:center;justify-content:center}
  .m-dvp-art .dvp-system{width:100%;height:100%;max-height:230px}
  .m-dvp-art .sys-you{font-size:40px}
  .m-dvp-art .sys-label{font-size:12px}
  .dvp-slot{right:0;top:0;width:52px;height:58px}
  .m-storyboard{display:grid!important;grid-template-columns:1fr 1fr;gap:5px;padding:6px;background:#0f2b26;border-radius:3px;min-height:0}
  .m-storyboard .sb-frame{padding:5px 5px 4px;box-shadow:none;border-radius:2px}
  .m-storyboard .sb-frame figcaption{font-size:7.5px;margin-top:3px;letter-spacing:.06em}
  .m-storyboard .sb-frame figcaption b{font-size:9px}
  .m-storyboard .sb-note{font-size:7px;margin:0;color:#e0f698}
  .performance .m-tags{margin-top:9px;gap:5px 6px}
  .performance .m-tags span{font-size:9.5px;padding:4px 8px}
  .performance .m-body>p{max-width:none}
  .prueba{background:linear-gradient(180deg,rgba(236,241,214,.97),rgba(236,241,214,.78) 60%,rgba(213,237,90,.35)),url('../assets/gradient-3.webp') center/cover;color:#19210e}
  .m-prueba-art{min-height:72px}
  .m-prueba-art .proof-line{position:absolute;inset:0;width:100%;height:100%}
  .m-prueba-art .pl-labels text{font-size:13px}
  .prueba-slot{right:0;top:-6px;width:44px;height:48px;display:none}
  .prueba .m-body .steps{gap:0;margin-top:0}
  .prueba .m-body .steps li{grid-template-columns:92px 1fr;gap:8px;padding:6px 0;border-top:1px solid rgba(21,24,17,.2)}
  .prueba .m-body .steps b{font-size:9px;letter-spacing:.08em}
  .prueba .m-body .steps span{font-size:12.5px;line-height:1.35}
  .prueba .m-body .proof-note{margin-top:8px;padding:8px 10px;font-size:10.5px;line-height:1.4}
  .m-net{display:block}
  .m-net .net-map{position:absolute;inset:4% 6%;width:88%;height:92%}
  .m-net .m-market{transform:translate(-50%,-50%)}
  .m-net .m-usa{left:32%;top:20%;right:auto}
  .m-net .m-mex{left:27%;top:52%;right:auto}
  .m-net .m-sam{left:40%;top:84%;right:auto;bottom:auto}
  .m-net .m-eur{left:78%;top:27%;right:auto}
  .global .m-tags span{border-color:rgba(219,243,113,.5)}
  .equipo{background:linear-gradient(180deg,rgba(15,23,31,.8),rgba(15,23,31,.25) 55%,rgba(15,23,31,.95)),url('../assets/gradient-9.webp') center/cover;color:#f0f0e3}
  .equipo .m-title .fit-line:last-child{color:#daf379}
  .m-equipo-art{min-height:112px}
  .m-equipo-art .team-photo{position:absolute;left:50%;top:50%;width:min(92%,340px);height:100%;transform:translate(-50%,-50%) rotate(-2deg)}
  .m-equipo-art .team-photo img{object-position:50% 30%}
  .m-equipo-art .team-photo figcaption{font-size:7.5px;padding:5px 8px 4px;left:8px;bottom:8px}
  .equipo .m-body .team-cards{gap:5px;margin-top:9px}
  .equipo .m-body .team-cards li{padding:7px 10px;gap:1px}
  .equipo .m-body .team-cards b{font-size:13px}
  .equipo .m-body .team-cards span{font-size:10.5px}
  .equipo .m-body .team-note{font-size:9px;margin-top:8px}
  .equipo .m-body>p{font-size:14px;line-height:1.4}
  .contact .trust-links .clubs-link{flex-basis:100%}
}
@media(min-width:761px){
  .performance .analytics-main{width:44%}
  .global-main{width:44%}
}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  /* Height budget of the new scenes on phones */
  .hero-unified>.hero-cta{width:auto;min-width:142px;gap:14px;white-space:nowrap}
  .prueba .mobile-layout,.equipo .mobile-layout{grid-template-rows:auto minmax(64px,1fr) auto;gap:10px}
  .m-prueba-art{min-height:64px}
  .m-equipo-art{min-height:64px}
  .prueba .m-body .steps li{padding:4px 0;grid-template-columns:84px 1fr;gap:6px}
  .prueba .m-body .steps span{font-size:12px;line-height:1.3}
  .prueba .m-body .proof-note{margin-top:6px;padding:6px 9px;font-size:10px;line-height:1.35}
  .equipo .m-body>p{font-size:13.5px;line-height:1.35;max-width:none}
  .equipo .m-body .team-cards{gap:4px;margin-top:7px}
  .equipo .m-body .team-cards li{padding:5px 9px;gap:0}
  .equipo .m-body .team-cards b{font-size:12.5px}
  .equipo .m-body .team-cards span{font-size:10px}
  .equipo .m-body .team-note{font-size:8.5px;margin-top:6px}
  .contact .trust-links .clubs-link{flex-basis:auto}
}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  .performance .mobile-layout{grid-template-rows:auto minmax(196px,1fr) auto;gap:10px}
  .performance .m-title{font-size:15.2vw}
  .performance .m-body>p{font-size:14px;line-height:1.38}
  .performance .m-body .perf-areas{font-size:10px;margin-top:6px;letter-spacing:.03em;font-weight:700;opacity:.9}
  .performance .service-actions{margin-top:6px}
  .m-storyboard{align-content:start}
}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  .performance .mobile-layout{grid-template-rows:auto minmax(188px,1fr) auto;gap:8px}
  .performance .m-title{font-size:14.4vw;margin-top:10px}
  .performance .service-actions{margin-top:3px}
  .performance .service-modality{max-width:150px}
}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  body.frame-compact .m-equipo-art,body.frame-tight .m-equipo-art,
  body.frame-compact .m-prueba-art,body.frame-tight .m-prueba-art{min-height:64px}
  .m-prueba-art .pl-labels text{font-size:12px}
}
@media(min-width:761px){
  .dvp-main .body-copy,.prueba-main .body-copy,.equipo-main .body-copy{margin-top:28px}
  .dvp-main .branch-logo-slot,.prueba-main .branch-logo-slot,.equipo-main .branch-logo-slot{width:190px;height:60px}
}
/* Map labels live inside the SVG so they never drift from their node. */
.net-labels text{font-family:var(--sans);font-weight:800;font-size:11px;letter-spacing:.14em;fill:#ecfdb9}
.global-map{top:50%;height:auto;aspect-ratio:4/3;transform:translateY(-50%)}
.net-map{height:auto}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  .m-net .net-map{position:absolute;left:0;top:50%;width:100%;height:auto;max-height:100%;transform:translateY(-50%);inset:auto}
  .m-net .net-labels text{font-size:12px}
}
.analysis-storyboard{background:none!important;box-shadow:none!important;padding:0!important}
.analysis-storyboard .sb-note{color:#0f2b26;opacity:.75}
/* Contacto: fila de Instagram en lugar de los enlaces secundarios */
.contact-social{display:flex;align-items:center;gap:14px;margin-top:22px;padding:12px 0;border-top:1px solid rgba(21,24,17,.22);border-bottom:1px solid rgba(21,24,17,.22);min-height:56px;text-decoration:none;color:inherit}
.contact-social svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.8;flex:none}
.contact-social .social-text{display:grid;gap:2px;flex:1;min-width:0}
.contact-social b{font-size:15px;font-weight:800;letter-spacing:-.01em}
.contact-social small{font-size:11px;letter-spacing:.02em;opacity:.75}
.contact-social i{font-style:normal;font-size:20px;line-height:1;flex:none}
.contact-social:hover b{text-decoration:underline}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  .contact .m-contact-body .contact-social{margin-top:6px;padding:9px 0;min-height:48px;gap:12px}
  .contact .m-contact-body .contact-social svg{width:22px;height:22px}
  .contact .m-contact-body .contact-social b{font-size:14px}
  .contact .m-contact-body .contact-social small{font-size:10px}
}

/* ===== Ajustes tras la prueba en iPhone (2026-09-22) ===== */
/* La escena activa pinta también la franja que deja la barra del navegador. */
body.frame-phone.cinematic .journey{background:#dedfcc}
/* Así se nota: línea de tiempo vertical dentro del texto, fondo lima. */
.prueba-ground{background:linear-gradient(90deg,rgba(226,240,190,.96),rgba(226,240,190,.78) 50%,rgba(213,237,90,.30)),url("../assets/gradient-1.webp") center/cover}
.steps{position:relative;gap:0;padding-left:30px}
.steps::before{content:"";position:absolute;left:8px;top:14px;bottom:14px;width:2px;background:currentColor;opacity:.28}
.steps li{position:relative;grid-template-columns:118px 1fr;border:0!important;padding:10px 0}
.steps li::before{content:"";position:absolute;left:-30px;top:14px;width:18px;height:18px;border-radius:50%;background:var(--lime);border:2px solid currentColor;box-sizing:border-box}
.prueba-steps{top:50%;transform:translateY(-50%)}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  /* Pantallas altas: el arte no se estira sin límite, se centra en su fila. */
  .mobile-layout>.m-art{align-self:center;height:clamp(150px,40svh,380px);min-height:0}
  body.frame-compact .mobile-layout>.m-art,body.frame-tight .mobile-layout>.m-art{height:auto;align-self:stretch}
  .mobile-layout>.m-art.m-storyboard{height:auto!important;align-self:center;min-height:0}
  .mobile-layout>.m-art.m-dvp-art{height:clamp(150px,38svh,330px)}
  .mobile-layout>.m-art.m-equipo-art{height:clamp(96px,30svh,260px)}
  body.frame-compact .m-equipo-art,body.frame-tight .m-equipo-art{height:auto}
  .m-net .net-map{inset:auto;left:0;top:50%;transform:translateY(-50%)}
  .prueba{background:linear-gradient(180deg,rgba(226,240,190,.97),rgba(226,240,190,.82) 55%,rgba(213,237,90,.45)),url('../assets/gradient-1.webp') center/cover;color:#19210e}
  .prueba .mobile-layout{grid-template-rows:auto auto;align-content:center;gap:16px}
  .m-prueba-art{display:none}
  .prueba .m-body .steps{padding-left:26px}
  .prueba .m-body .steps::before{left:7px;top:12px;bottom:12px}
  .prueba .m-body .steps li{grid-template-columns:1fr;gap:2px;padding:7px 0;border:0}
  .prueba .m-body .steps li::before{left:-26px;top:10px;width:16px;height:16px}
  .prueba .m-body .steps b{font-size:9.5px;letter-spacing:.1em}
  .prueba .m-body .steps span{font-size:13.5px;line-height:1.35}
  .prueba .m-body .proof-note{margin-top:14px;padding:9px 11px;font-size:11px;line-height:1.4;border-color:rgba(21,24,17,.4)}
}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  /* The art fills its row up to a cap and never overflows it (percent heights resolve against the grid area). */
  .mobile-layout>.m-art{height:100%;max-height:min(40svh,380px)}
  .mobile-layout>.m-art.m-dvp-art{max-height:min(38svh,330px)}
  .mobile-layout>.m-art.m-equipo-art{height:100%;max-height:min(30svh,260px)}
  .mobile-layout>.m-art.m-storyboard{height:auto!important;max-height:none}
  body.frame-compact .mobile-layout>.m-art,body.frame-tight .mobile-layout>.m-art{height:100%;max-height:none;align-self:stretch}
}

/* ===== Fotos del brandbook (2026-09-22) ===== */
/* Future: dos piezas, arquitectura al frente y corredor sobre pared amarilla detrás. */
.wealth-photo-back{position:absolute;right:24%;top:9%;width:27%;height:50%;margin:0;overflow:hidden;transform:rotate(6deg);z-index:2;box-shadow:0 14px 40px rgba(76,58,22,.16)}
.wealth-photo-back img{width:100%;height:100%;object-fit:cover;object-position:35% 50%}
.wealth-photo{right:3%;top:22%;width:33%;height:60%;z-index:3}
.wealth-photo img{object-position:50% 40%}
/* DVP: túnel al estadio detrás del diagrama. */
.dvp-photo{position:absolute;right:5%;top:12%;width:40%;height:76%;overflow:hidden;z-index:2;opacity:.55;transform:rotate(-2deg)}
.dvp-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:saturate(.8)}
.dvp-diagram{z-index:3}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  .organic-wealth-back{inset:0 36% 18% 0;transform:rotate(5deg);z-index:1;box-shadow:6px 8px 0 #67592717}
  .organic-wealth-back img{object-position:35% 50%}
  .organic-wealth{inset:10% 0 0 28%;transform:rotate(-4deg);z-index:2}
  .organic-wealth img{object-position:50% 40%}
  .m-dvp-art .dvp-photo{inset:0 6%;width:auto;height:100%;opacity:.5;transform:rotate(-2deg)}
  .m-dvp-art .dvp-system{position:relative;z-index:3}
}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  #future .wealth-slot{right:auto;left:0;top:auto;bottom:0;width:52px;height:58px}
}
@media(min-width:761px){
  /* The desktop layout keeps the Future photo on the left; the back piece peeks out above it. */
  .wealth-photo-back{left:2%;right:auto;top:5%;width:25%;height:46%;transform:rotate(7deg)}
  .wealth-photo{z-index:3}
}

/* ===== Safari: la rejilla de la demo debe estirar sus columnas ===== */
.storyboard{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;box-sizing:border-box;justify-items:stretch}
.sb-frame{width:100%;min-width:0;box-sizing:border-box}
.sb-frame svg{width:100%;height:auto;aspect-ratio:200/112;display:block}
.sb-frame figcaption{white-space:normal}
/* Future: azotea sobre la ciudad al frente, el niño con el balón detrás; tamaños contenidos. */
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  .m-storyboard{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%;box-sizing:border-box}
  .mobile-layout>.m-art.m-wealth-art{max-height:min(34svh,300px)}
  .organic-wealth-back{inset:0 40% 22% 0;transform:rotate(-5deg)}
  .organic-wealth-back img{object-position:50% 45%}
  .organic-wealth{inset:8% 0 0 32%;transform:rotate(4deg)}
  .organic-wealth img{object-position:50% 35%}
}
@media(min-width:761px){
  .wealth-photo{width:27%;height:54%;top:24%;left:9%;right:auto;transform:rotate(3deg)}
  .wealth-photo-back{left:1%;top:8%;width:22%;height:42%;transform:rotate(-6deg)}
}
/* La demo usa flex con anchos explícitos: idéntico en Chrome y Safari, sin depender del sizing de grid. */
.storyboard,.m-storyboard{display:flex!important;flex-wrap:wrap;justify-content:space-between;align-content:flex-start;grid-template-columns:none}
.storyboard .sb-frame{flex:0 0 calc(50% - 6px);width:calc(50% - 6px);max-width:calc(50% - 6px);margin:0 0 12px;box-sizing:border-box;min-width:0}
.storyboard .sb-frame svg{width:100%;height:auto;aspect-ratio:auto;display:block}
.storyboard .sb-note{flex:0 0 100%;width:100%}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  .m-storyboard .sb-frame{flex:0 0 calc(50% - 3px);width:calc(50% - 3px);max-width:calc(50% - 3px);margin:0 0 5px}
  .m-storyboard .sb-note{margin-top:2px}
}
/* Anchos en porcentaje sin gap horizontal: dos por fila siempre. */
.storyboard,.m-storyboard{column-gap:0!important;row-gap:0!important;gap:0!important}
.storyboard .sb-frame{flex:0 0 48.5%;width:48.5%;max-width:48.5%}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  .m-storyboard .sb-frame{flex:0 0 49%;width:49%;max-width:49%;margin:0 0 5px}
}

/* ===== Imán nativo por escena en teléfonos ===== */
html.snap-scenes{scroll-snap-type:y mandatory}
html.snap-scenes .journey{position:relative}
html.snap-scenes .snap-point{position:absolute;left:0;width:1px;height:1px;pointer-events:none;scroll-snap-align:start;scroll-snap-stop:always}

/* ===== Así se nota, escritorio: tarjetas numeradas sobre una foto ===== */
@media(min-width:761px){
  .prueba-main{top:15%;width:38%}
  .prueba-main h2{font-size:clamp(84px,10vw,176px)}
  .prueba-main .body-copy{font-size:18px;max-width:430px}
  .prueba-main .proof-note{font-size:13.5px;max-width:460px}
  .prueba-photo{position:absolute;right:3%;top:8%;width:30%;height:72%;margin:0;overflow:hidden;transform:rotate(3deg);z-index:2;box-shadow:0 18px 50px rgba(20,30,10,.18)}
  .prueba-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:saturate(.9)}
  .prueba-steps{right:12%;top:50%;width:46%;transform:translateY(-50%);z-index:4}
  .prueba-steps .steps{padding-left:0;gap:10px;counter-reset:step}
  .prueba-steps .steps::before{display:none}
  .prueba-steps .steps li{counter-increment:step;grid-template-columns:52px 150px 1fr;gap:16px;align-items:center;padding:16px 20px;background:rgba(246,250,232,.86);border:1px solid rgba(21,24,17,.18);box-shadow:0 10px 26px rgba(20,30,10,.10)}
  .prueba-steps .steps li::before{content:"0" counter(step);position:static;width:auto;height:auto;border:0;border-radius:0;background:none;font-family:var(--display);font-weight:900;font-size:38px;line-height:.9;letter-spacing:-.04em;color:var(--ink)}
  .prueba-steps .steps b{font-size:11.5px;letter-spacing:.12em}
  .prueba-steps .steps span{font-size:16.5px;line-height:1.4}
}
@media(min-width:761px) and (max-width:1100px){
  .prueba-steps{width:52%;right:6%}
  .prueba-photo{display:none}
}

/* ===== Fotografías V2 (22-09-2026): distrito financiero y campo aéreo ===== */
/* Future: una sola pieza vertical en blanco y negro, marco crema, inclinación mínima. */
.wealth-photo-back,.organic-wealth-back{display:none!important}
.wealth-photo{border:6px solid #f4efdf;background:#f4efdf;box-shadow:0 16px 44px rgba(76,58,22,.20)}
.wealth-photo img{object-position:50% 45%;filter:none!important}
@media(min-width:761px){
  .wealth-photo{left:7%;right:auto;top:14%;width:26%;height:72%;transform:rotate(-2deg)}
}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  .organic-wealth{inset:0 14% 0 14%;transform:rotate(2deg);border-width:5px}
  .organic-wealth img{object-position:50% 45%}
  .mobile-layout>.m-art.m-wealth-art{max-height:min(38svh,340px)}
}
/* Así se nota: campo aéreo en 4:3, marco crema, sin texto encima. */
.prueba-photo{border:6px solid #f4efdf;background:#f4efdf}
.prueba-photo img{object-position:50% 50%;filter:none!important}
@media(min-width:761px){
  .prueba-photo{right:4%;top:auto;bottom:12%;width:30%;height:auto;aspect-ratio:4/3;transform:rotate(-2deg)}
  .prueba-steps{top:44%;width:44%;right:11%}
}
@media(min-width:761px) and (max-width:1100px){.prueba-photo{display:none}}
@media(min-width:761px){
  /* El campo va bajo las tarjetas, sin invadirlas. */
  .prueba-steps{top:38%;width:42%;right:5%;transform:translateY(-50%)}
  .prueba-photo{right:auto;left:44%;bottom:7%;top:auto;width:23%}
  .prueba-main{top:14%;width:36%}
}
@media(min-width:1500px){
  .prueba-steps{width:38%;right:6%}
  .prueba-photo{left:46%;width:21%}
}

/* ===== Future: ciudad y cancha contrapuestas ===== */
.wealth-photo-back,.organic-wealth-back{display:block!important;margin:0;overflow:hidden;position:absolute;border:5px solid #f4efdf;background:#f4efdf;box-shadow:0 12px 32px rgba(76,58,22,.18)}
.wealth-photo-back img,.organic-wealth-back img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:none}
@media(min-width:761px){
  .wealth-photo{left:9%;top:11%;width:24%;height:66%;transform:rotate(-3deg);z-index:4}
  .wealth-photo-back{left:23%;top:52%;width:20%;aspect-ratio:4/3;height:auto;transform:rotate(5deg);z-index:3}
}
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  .organic-wealth{inset:0 26% 12% 6%;transform:rotate(-3deg);z-index:3}
  .organic-wealth-back{inset:auto 2% 0 46%;width:52%;aspect-ratio:4/3;height:auto;transform:rotate(5deg);z-index:4}
}
/* Así se nota: pieza de portería en lugar de repetir la cancha */
@media(min-width:761px){.prueba-photo{left:44%;bottom:6%;width:22%;aspect-ratio:auto;transform:rotate(-3deg)}}

/* Perfiles profesionales e Instagram como contacto de cierre. */
.team-cards{max-width:540px}
.team-cards span{line-height:1.45}
.contact .contact-links .contact-details{width:min(420px,100%)}
.contact .contact-links .contact-social{margin-top:12px;padding:18px 0}
.contact .contact-links .contact-social b{font-size:20px}
@media(min-width:761px){
  .team-photo{top:22%;height:58%}
}

/* Seis especialidades: lectura en dos columnas. */
.equipo .team-cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:8px}
.equipo .team-cards li{align-content:start}
@media(min-width:761px){
  .equipo-main{top:12%}
  .equipo-main h2{margin-top:18px}
  .equipo-main .body-copy{margin-top:18px;max-width:540px}
  .equipo .team-cards{margin-top:16px}
  .equipo .team-cards li{padding:10px 12px}
}
@media(max-width:760px){
  .equipo .mobile-layout{grid-template-rows:auto minmax(48px,1fr) auto;gap:8px}
  .equipo .mobile-layout>.m-equipo-art{min-height:0;max-height:100px}
  .equipo .m-body .team-cards{gap:5px}
  .equipo .m-body .team-cards li{padding:7px 8px;gap:4px}
  .equipo .m-body .team-cards b{font-size:12px;line-height:1.15}
  .equipo .m-body .team-cards span{font-size:11px;line-height:1.35;letter-spacing:0}
}
@media(max-width:760px) and (max-height:740px){
  .equipo .mobile-layout{padding-top:72px;padding-bottom:64px;grid-template-rows:auto auto;align-content:start;gap:12px}
  .equipo .m-head .branch-logo-slot{width:150px;height:44px}
  .equipo .m-title{font-size:44px!important;margin-top:10px!important}
  .equipo .mobile-layout>.m-equipo-art{display:none}
  .equipo .m-body>p{font-size:12px;line-height:1.35}
  .equipo .m-body .team-cards li{padding:6px 7px;gap:3px}
}

/* Mobile team: player, three support areas, then the specialists in that area. */
@media(max-width:760px), (pointer:coarse) and (max-width:1024px) and (max-height:619px){
  #equipo{background:radial-gradient(ellipse at 50% 34%,#273c30 0%,#17251f 50%,#101b17 100%)}
  #equipo .mobile-layout{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:90px 24px 64px;overflow:visible}
  #equipo .mobile-layout>*{flex-shrink:0}
  #equipo .m-head .branch-logo-slot{width:135px;height:40px}
  #equipo .m-head .branch-name{font-size:10px;margin-top:7px}
  #equipo .m-title{font-size:clamp(42px,13vw,58px)!important;line-height:.96!important;margin-top:14px!important}
  #equipo .m-title .fit-line:last-child{color:var(--lime)}
  #equipo .tree-description{font-size:13px;line-height:1.4;margin:0 0 18px;max-width:none}
  body:not(.cinematic) #equipo{height:auto;min-height:100svh}
  body:not(.cinematic) #equipo .mobile-layout{min-height:0;height:auto;padding-top:100px;padding-bottom:80px}
  #equipo .team-pyramid{--pyramid-line:rgba(222,234,192,.42);position:relative;color:#f1f0e5}
  #equipo .pyramid-root{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:116px;min-height:49px;margin:0 auto;background:var(--lime);color:#172013;gap:2px;border:1px solid var(--lime)}
  #equipo .pyramid-root b{font-family:var(--display);font-size:27px;line-height:1}
  #equipo .pyramid-root span{font-size:9px;line-height:1.2}
  #equipo .pyramid-root::after{content:"";position:absolute;top:100%;left:50%;width:1px;height:17px;background:var(--pyramid-line)}
  #equipo .pyramid-areas{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:17px;padding-top:17px}
  #equipo .pyramid-areas::before{content:"";position:absolute;top:0;left:calc((100% - 16px)/6);right:calc((100% - 16px)/6);height:1px;background:var(--pyramid-line)}
  #equipo .pyramid-tab{position:relative;min-width:0;min-height:46px;padding:9px 4px;border:1px solid var(--pyramid-line);border-radius:0;background:#17261f;color:#f1f0e5;font:600 13px/1.2 var(--sans);cursor:pointer}
  #equipo .pyramid-tab::before{content:"";position:absolute;bottom:100%;left:50%;width:1px;height:18px;background:var(--pyramid-line)}
  #equipo .pyramid-tab[aria-selected="true"]{color:var(--lime);border-color:var(--lime);background:#304329}
  #equipo .pyramid-tab[aria-selected="true"]::after{content:"";position:absolute;top:100%;left:50%;width:1px;height:17px;background:var(--lime)}
  #equipo .pyramid-tab:focus-visible{outline:2px solid #f1f0e5;outline-offset:3px}
  #equipo .pyramid-panels{margin-top:17px}
  #equipo .is-interactive .pyramid-panels{display:grid}
  #equipo .pyramid-panel{min-width:0;border:1px solid var(--pyramid-line);padding:12px;background:rgba(10,21,16,.58)}
  #equipo .is-interactive .pyramid-panel{grid-area:1/1}
  #equipo .is-interactive .pyramid-panel[hidden]{display:block;visibility:hidden;pointer-events:none}
  #equipo .pyramid-panel:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
  #equipo .pyramid-panel-title{font-size:10px;line-height:1.2;font-weight:700;color:var(--lime);text-transform:uppercase;letter-spacing:.12em;margin:0 0 12px}
  #equipo .pyramid-profiles{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:0;margin:0}
  #equipo .pyramid-profile{min-width:0;padding-top:9px;border-top:1px solid rgba(222,234,192,.2)}
  #equipo .pyramid-profile h3{font:600 13px/1.25 var(--sans);letter-spacing:-.015em;margin:0}
  #equipo .pyramid-profile p{font-size:12px;line-height:1.4;opacity:.8;margin:6px 0 0}
  #equipo #team-panel-brand .pyramid-profiles,#equipo #team-panel-future .pyramid-profiles{grid-template-columns:1fr}
  #equipo #team-panel-brand .pyramid-profile,#equipo #team-panel-future .pyramid-profile{padding:17px 4px}
  #equipo #team-panel-brand .pyramid-profile h3,#equipo #team-panel-future .pyramid-profile h3{font-size:20px;line-height:1.2}
  #equipo #team-panel-brand .pyramid-profile p,#equipo #team-panel-future .pyramid-profile p{max-width:30ch;margin-top:12px;font-size:14px;line-height:1.5}
  #equipo .team-pyramid:not(.is-interactive) .pyramid-areas,#equipo .team-pyramid:not(.is-interactive) .pyramid-root::after{display:none}
  #equipo .team-pyramid:not(.is-interactive) .pyramid-panel+ .pyramid-panel{margin-top:14px}
}
@media(max-width:760px) and (max-height:740px){
  #equipo .mobile-layout{padding:74px 22px 59px;gap:12px}
  #equipo .m-head .branch-logo-slot{width:115px;height:34px}
  #equipo .m-head .branch-name{display:none}
  #equipo .m-title{font-size:43px!important;margin-top:11px!important}
  #equipo .tree-description{display:none}
  #equipo .pyramid-root{min-height:45px;width:110px}
  #equipo .pyramid-root b{font-size:25px}
  #equipo .pyramid-root::after{height:14px}
  #equipo .pyramid-areas{margin-top:14px;padding-top:14px}
  #equipo .pyramid-tab::before{height:15px}
  #equipo .pyramid-panel{padding:10px}
  #equipo .pyramid-panel-title{margin-bottom:9px}
  #equipo .pyramid-profiles{gap:12px 10px}
  #equipo .pyramid-profile p{line-height:1.32}
}
@media(max-width:360px){#equipo .pyramid-tab{font-size:12px}}
