:root{color-scheme:dark;--bg:#090d12;--panel:#111923;--ink:#f1f5f8;--muted:#94a3b3;--cyan:#77dcf5;--red:#ff343f;--line:#ffffff16;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}[hidden]{display:none!important}::selection{background:#77dcf544}p{line-height:1.8}img{max-width:100%}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--red);padding:15px}.skip:focus{top:10px}
.engineering-header{height:78px;position:sticky;top:0;z-index:20;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#090d12e8;backdrop-filter:blur(20px)}.brand{font-size:25px;font-weight:900;letter-spacing:-1.8px;display:inline-flex;align-items:center;gap:8px}.brand>span{width:7px;height:7px;background:var(--red)}.engineering-header nav{display:flex;align-items:center;gap:30px;font-size:11px;font-weight:600;color:#b0bdca}.engineering-header nav a:hover{color:white}.back-store{padding:12px 16px;border:1px solid #ffffff24;border-radius:30px}
.engineering-intro{max-width:1600px;margin:auto;padding:100px 9vw 0;position:relative;overflow:hidden}.intro-index{position:absolute;right:5vw;top:0;font-size:350px;line-height:1;font-weight:900;letter-spacing:-35px;color:#ffffff02;-webkit-text-stroke:1px #ffffff0c;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--cyan);text-transform:uppercase}.eyebrow>span{display:inline-block;width:6px;height:6px;background:var(--red);border-radius:50%;margin-right:9px}.engineering-intro h1{position:relative;font-size:clamp(36px,5.6vw,85px);font-weight:600;letter-spacing:-.065em;line-height:1.12;margin:35px 0}.engineering h1 em,.engineering h2 em{font-style:normal;color:#94aabb}.intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:30px 0 70px}.intro-bottom>p{font-size:12px;color:var(--muted)}.scroll-invitation{font-size:11px;display:flex;align-items:center;gap:22px}.scroll-invitation span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff30;border-radius:50%;font-size:22px}.intro-specs{display:flex;justify-content:space-between;padding:24px 0;border-top:1px solid var(--line);font-size:9px;letter-spacing:1.8px;color:#7d8d9d}
.engineering-story{position:relative;display:grid;isolation:isolate;overflow:clip}.story-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;grid-area:1 / 1;align-self:start;margin-bottom:0;background:radial-gradient(ellipse at 75% 48%,#17304270,transparent 53%),#090d12}.technical-grid{position:absolute;inset:0;background-image:linear-gradient(#78b8d007 1px,transparent 1px),linear-gradient(90deg,#78b8d007 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(transparent,#000 25%,#000 80%,transparent)}.stage-topline,.stage-footline{position:absolute;left:6vw;right:6vw;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1.5px;color:#6e899f;z-index:4}.stage-topline{top:110px}.stage-footline{bottom:28px}.engineering-model{position:absolute;left:44%;right:2%;top:15%;bottom:9%;pointer-events:none}.engineering-model canvas{display:block;width:100%;height:100%}.model-fallback{position:absolute;left:48%;right:5%;top:33%;margin:0;transition:opacity .5s}.model-fallback img{border:1px solid var(--line);border-radius:15px;width:100%}.model-fallback figcaption{color:var(--muted);font-size:10px;padding:12px}.model-ready .model-fallback{opacity:0;visibility:hidden}.story-steps{position:relative;grid-area:1 / 1;min-width:0;z-index:5;pointer-events:none;padding:50svh 0 0}.story-step{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:100px 0 80px 12vw;scroll-margin-top:0}.glass-card{pointer-events:auto;width:36vw;max-width:490px;border:1px solid #ffffff1b;border-radius:22px;background:linear-gradient(135deg,#18212bb8,#0d141cb0);backdrop-filter:blur(12px);padding:35px;box-shadow:0 20px 80px #0002}.step-number{font-size:9px;line-height:1.7;letter-spacing:1.6px;font-weight:700;color:var(--cyan);margin:0 0 25px}.client-badge{display:inline-block;font-size:9px;color:#acc0d0;padding:9px 10px;border-radius:5px;background:#ffffff07;border:1px solid #ffffff0b;line-height:1.6}.glass-card h2{font-size:clamp(25px,2.6vw,39px);line-height:1.18;letter-spacing:-1.4px;font-weight:600;margin:22px 0}.glass-card>p:not(.step-number),.glass-card li{font-size:12px;color:#b0bdca;line-height:1.9}.glass-card ul{padding-left:16px}.glass-card li{padding:5px 0}.text-link{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:11px;color:var(--cyan);line-height:1.7}.text-link>span{font-size:9px}.card-spec{border-top:1px solid var(--line);margin-top:24px;padding-top:22px;display:flex;flex-direction:column;gap:10px}.card-spec span{font-size:8px;color:#6e899f;letter-spacing:1px}.card-spec strong{font-size:15px;font-weight:500}.infographic-preview{padding:0;border:1px solid #ffffff24;background:#0b1119;border-radius:10px;overflow:hidden;text-align:left;margin-top:14px;width:100%}.infographic-preview img{display:block;width:100%}.infographic-preview span{font-size:10px;display:block;padding:14px;color:var(--cyan)}.delivery-badge{display:inline-block;color:#9edcc7;font-size:11px;padding:14px 0}
.story-progress{position:absolute;left:2.5vw;top:40%;display:flex;flex-direction:column;gap:22px;z-index:8}.story-progress a{display:flex;align-items:center;gap:8px;font-size:8px;color:#607082;transition:color .3s}.story-progress b{font-size:11px;font-weight:500;display:flex;align-items:center;gap:8px}.story-progress b::before{content:'';width:2px;height:22px;background:#34414d;transition:background .3s}.story-progress a[aria-current]{color:var(--cyan)}.story-progress a[aria-current] b::before{background:var(--cyan);box-shadow:0 0 14px #77dcf570}.story-progress a span{display:none}.story-progress a:hover span{display:block;background:#0b1119;padding:6px;position:absolute;left:35px;white-space:nowrap}
.laser-sweep{position:absolute;left:51%;right:10%;top:22%;height:1px;background:#74e1ff;box-shadow:0 0 20px 4px #37d9ff60;opacity:0;pointer-events:none;z-index:3}.story-stage[data-step="1"] .laser-sweep{opacity:.8;animation:laser 3s ease-in-out infinite}@keyframes laser{0%,100%{transform:translateY(0)}50%{transform:translateY(38vh)}}
.model-hotspots{position:absolute;inset:0;pointer-events:none;z-index:4;opacity:0;transition:opacity .4s}.model-hotspots span{position:absolute;max-width:160px;padding:8px 10px;font-size:9px;line-height:1.6;background:#09141ee8;border:1px solid #77dcf54d;border-radius:6px;color:#b5edfa;transform:translate(-50%,-100%)}.model-hotspots span::after{content:'';position:absolute;width:1px;height:22px;background:#77dcf5;top:100%;left:50%}.model-hotspots span::before{content:'';position:absolute;width:5px;height:5px;border:1px solid var(--cyan);border-radius:50%;top:calc(100% + 20px);left:calc(50% - 2px)}.story-stage[data-step="2"].model-ready .model-hotspots{opacity:1}.axis-label{position:absolute;bottom:14%;right:8%;display:none;gap:10px;align-items:center;font-size:10px}.axis-label i{font-style:normal}.axis-label i:nth-child(1){color:#ff7d87}.axis-label i:nth-child(2){color:#9fe4af}.axis-label i:nth-child(3){color:#7dbdff}.axis-label span{color:#8194a7;font-size:8px;letter-spacing:1.5px}.story-stage[data-step="2"] .axis-label{display:flex}
.delivery-reveal{position:absolute;right:9%;top:22%;width:29%;max-width:390px;margin:0;border:1px solid #ffffff24;border-radius:18px;overflow:hidden;background:#101923;box-shadow:0 20px 70px #0006;opacity:0;transform:translateY(30px);transition:opacity .65s,transform .65s;z-index:3}.delivery-reveal img{display:block;width:100%;height:36vh;object-fit:cover;object-position:center 30%}.delivery-reveal figcaption{padding:22px;display:flex;flex-direction:column;gap:12px}.delivery-reveal figcaption>span{font-size:8px;color:#a3e6c9;letter-spacing:1px}.delivery-reveal strong{font-size:22px;line-height:1.3;letter-spacing:-.6px;font-weight:600}.delivery-reveal small{font-size:10px;color:var(--muted)}.story-stage[data-step="4"] .delivery-reveal{opacity:1;transform:translateY(0)}
.music-section{position:relative;isolation:isolate;background:var(--bg);max-width:1500px;margin:auto;padding:64px 9vw 110px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}.section-heading h2,.projects-cta h2{font-size:clamp(35px,4.8vw,68px);letter-spacing:-.06em;font-weight:600;line-height:1.1;margin:20px 0 0}.section-heading>p{max-width:330px;color:var(--muted);font-size:12px}.bento-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bento-card{border:1px solid var(--line);background:#111820;border-radius:24px;overflow:hidden}.bento-main{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr}.video-media{height:340px;position:relative;background:radial-gradient(ellipse,#26313c,#10151c);overflow:hidden}.bento-main .video-media{height:490px}.video-media video,.reference-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.reference-image{z-index:2;background:#141b24}.compare-toggle{position:absolute;top:18px;right:18px;z-index:4;background:#0a0d13c9;border:1px solid #ffffff36;backdrop-filter:blur(12px);padding:10px 13px;border-radius:24px;font-size:9px}.compare-toggle[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan)}.video-control{position:absolute;bottom:44px;right:18px;z-index:4;width:34px;height:34px;border-radius:50%;border:1px solid #ffffff45;background:#0a0d13c9;font-size:12px}.media-tag{position:absolute;top:21px;left:20px;max-width:43%;font-size:8px;line-height:1.6;letter-spacing:1px;background:#080d13a8;padding:6px;color:#cedbe7;pointer-events:none;z-index:3}.bento-copy{padding:32px}.bento-main .bento-copy{display:flex;flex-direction:column;justify-content:center;padding:42px}.bento-copy>span{font-size:9px;color:var(--cyan);letter-spacing:1.2px}.bento-copy h3{font-size:24px;line-height:1.3;letter-spacing:-.8px;font-weight:600;margin:20px 0 14px}.bento-main h3{font-size:32px}.bento-copy p{font-size:12px;color:var(--muted);margin:0}.delivery-bento{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#10171f}.delivery-photos{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-height:340px}.delivery-photos img{width:100%;height:340px;object-fit:cover;object-position:center 35%}.delivery-bento>div:last-child{padding:35px;align-self:center}.delivery-bento h3{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-1px;margin:20px 0}.delivery-bento p:last-child{font-size:11px;color:#acd9c7}
.projects-cta{border-top:1px solid var(--line);text-align:center;padding:100px 8vw 120px;background:radial-gradient(ellipse at 50% 100%,#182d3e55,transparent 70%)}.projects-cta>p:not(.eyebrow){color:var(--muted);font-size:12px;margin-top:25px}.cta-paths{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:40px auto 0;text-align:left}.project-button{border:1px solid #ffffff25;padding:25px;border-radius:15px;display:flex;flex-direction:column;gap:12px;background:#ffffff04;transition:transform .2s,border-color .2s}.project-button:hover{transform:translateY(-4px);border-color:#77dcf580}.project-button.primary{background:#ef303c;border-color:#ff5660}.project-button>span{font-size:8px;letter-spacing:1.5px;opacity:.7}.project-button strong{font-size:15px;line-height:1.6;font-weight:600}.project-button small{font-size:10px;opacity:.8}.engineering-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:35px 6vw;border-top:1px solid var(--line)}.engineering-footer p,.engineering-footer>a:last-child{font-size:10px;color:var(--muted)}
#infographic-dialog{background:#0e151e;border:1px solid #ffffff30;border-radius:18px;padding:0;width:min(1400px,94vw);max-height:90svh;color:var(--ink)}#infographic-dialog::backdrop{background:#03060ce8;backdrop-filter:blur(10px)}.infographic-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line)}.infographic-toolbar h2{font-size:12px;margin:0}.infographic-toolbar>div{display:flex;align-items:center;gap:14px}.infographic-toolbar button,.infographic-toolbar a{font-size:10px;border:1px solid #ffffff30;background:transparent;border-radius:20px;padding:9px 12px}#close-infographic{font-size:22px;width:36px;height:36px;padding:0}.infographic-scroll{overflow:auto;max-height:75svh}.infographic-scroll img{display:block;width:100%;max-width:none}.infographic-scroll.zoomed img{width:2055px}body:has(#infographic-dialog[open]){overflow:hidden}
@media(min-width:1650px){.story-progress{left:4vw}.story-progress a span{display:inline}.story-progress a:hover span{position:static;padding:0;background:none}.story-step{padding-left:15vw}}
@media(max-width:900px){.engineering-header{padding-inline:5vw}.engineering-header nav{gap:16px;font-size:10px}.engineering-intro{padding:70px 6vw 0}.intro-index{font-size:260px}.intro-bottom{margin-bottom:40px}.intro-specs{font-size:7px;letter-spacing:1px}.glass-card{padding:25px;width:39vw}.story-step{padding-left:9vw}.glass-card h2{font-size:27px}.glass-card>p:not(.step-number),.glass-card li{font-size:11px}.step-number{font-size:8px}.stage-topline{left:6vw;right:6vw;font-size:8px}.music-section{padding:75px 6vw}.bento-main .bento-copy{padding:25px}.bento-main h3{font-size:26px}.bento-copy{padding:25px}.bento-copy h3{font-size:21px}.video-media{height:300px}.delivery-bento h3{font-size:26px}.delivery-reveal{right:5%;width:35%}.model-hotspots span{font-size:8px;max-width:120px}}
@media(max-width:600px){html{scroll-padding-top:70px}.engineering-header{height:66px;padding:0 18px}.brand{font-size:22px}.engineering-header nav{gap:12px}.engineering-header nav>a:first-child{display:none}.engineering-header nav>a{font-size:9px}.back-store{padding:9px 11px}.engineering-intro{padding:60px 23px 0}.engineering-intro .eyebrow{font-size:8px;letter-spacing:1.3px;max-width:260px;line-height:1.9}.intro-index{font-size:210px;top:48px;right:15px;letter-spacing:-20px}.engineering-intro h1{font-size:39px;letter-spacing:-2px;line-height:1.14;margin:28px 0}.intro-bottom{display:block;margin-bottom:38px}.intro-bottom>p{font-size:11px}.scroll-invitation{margin-top:24px;font-size:10px}.scroll-invitation span{width:33px;height:33px;font-size:16px}.intro-specs{font-size:7px;gap:15px;line-height:1.7;letter-spacing:.4px}.intro-specs span:last-child{display:none}.stage-topline{top:86px;left:22px;right:22px;font-size:7px;letter-spacing:.6px}.stage-topline>span:last-child{max-width:125px;text-align:right;line-height:1.6}.engineering-model{left:3%;right:3%;top:13%;bottom:54%}.model-fallback{left:7%;right:7%;top:20%}.model-fallback figcaption{font-size:9px}.story-step{min-height:100svh;padding:0 22px 80px;align-items:end}.glass-card{width:100%;max-width:none;padding:22px;border-radius:18px;background:#101923df}.glass-card h2{font-size:25px;line-height:1.13;margin:14px 0}.glass-card>p:not(.step-number),.glass-card li{font-size:11px;line-height:1.8}.step-number{margin-bottom:15px;font-size:8px;letter-spacing:1px}.client-badge{font-size:8px;padding:6px}.text-link{font-size:10px;margin-top:15px;padding-top:15px}.story-progress{left:22px;right:22px;top:auto;bottom:24px;flex-direction:row;gap:0;justify-content:space-between}.story-progress a{flex:1;gap:0;justify-content:center}.story-progress b{gap:6px;font-size:10px}.story-progress b::before{height:2px;width:22px}.story-progress a span,.story-progress a:hover span{display:none}.stage-footline{bottom:auto;top:54%;font-size:7px;left:23px;right:23px}.stage-footline span:last-child{display:none}.laser-sweep{left:20%;right:20%;top:19%}@keyframes laser{0%,100%{transform:translateY(0)}50%{transform:translateY(24vh)}}.axis-label{bottom:auto;top:51%;right:25px;font-size:8px}.model-hotspots span{font-size:7px;max-width:105px;padding:5px 7px}.delivery-reveal{right:14%;top:15%;width:72%;display:grid;grid-template-columns:1fr 1fr;max-width:none;border-radius:12px}.delivery-reveal img{height:27svh}.delivery-reveal figcaption{padding:13px;justify-content:center;gap:10px}.delivery-reveal strong{font-size:17px}.delivery-reveal figcaption>span{font-size:7px;line-height:1.6}.delivery-reveal small{font-size:8px}.infographic-preview img{max-height:80px;object-fit:cover}.infographic-preview span{padding:10px;font-size:9px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:42px}.section-heading>p{font-size:11px;margin-top:22px}.music-section{padding:65px 20px}.bento-grid{grid-template-columns:1fr;gap:18px}.bento-main{display:block}.bento-card{border-radius:18px}.video-media,.bento-main .video-media{height:360px}.bento-main h3,.bento-copy h3{font-size:23px}.bento-copy,.bento-main .bento-copy{padding:26px}.bento-copy p{font-size:11px}.delivery-bento{grid-template-columns:1fr;border-radius:18px}.delivery-photos,.delivery-photos img{height:260px;min-height:0}.delivery-bento>div:last-child{padding:26px}.delivery-bento h3{font-size:29px}.projects-cta{padding:70px 22px}.projects-cta h2{font-size:45px}.projects-cta>.eyebrow{font-size:8px;letter-spacing:1.3px}.projects-cta>p:not(.eyebrow){font-size:11px}.cta-paths{grid-template-columns:1fr}.engineering-footer{flex-wrap:wrap;padding:30px 22px}.engineering-footer p{order:3;width:100%;margin:0}.infographic-toolbar{padding:12px;gap:10px;flex-wrap:wrap}.infographic-toolbar h2{font-size:10px}.infographic-toolbar>div{gap:8px}.infographic-toolbar a{font-size:9px}.infographic-scroll{max-height:65svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.laser-sweep{display:none}.story-stage{position:relative;height:65svh;margin-bottom:0}.engineering-story{min-height:0;display:block}.story-steps{padding:0}.story-step{min-height:0;padding:25px 6vw}.glass-card{width:100%;max-width:900px;margin:auto}.story-progress{display:none}.story-stage .engineering-model{left:20%;right:20%;top:15%;bottom:10%}.stage-topline{top:25px}.stage-footline{top:auto;bottom:20px}.model-fallback{top:20%;left:20%;right:20%}.delivery-reveal{display:none}.story-step:last-child::after{content:'';display:block;width:35%;height:300px;margin:20px auto;background:url('../assets/portfolio/entrega-tesga.jpg') center/contain no-repeat}.story-step:last-child{flex-wrap:wrap}.infographic-preview img{max-height:none}.model-hotspots{display:none}}


@media(max-width:600px) and (max-height:740px){.engineering-model{top:14%;bottom:64%}.stage-footline{top:35%}.glass-card{padding:18px}.glass-card h2{font-size:23px}.glass-card>p:not(.step-number){font-size:10px}.delivery-reveal{top:15%}.delivery-reveal img{height:20svh}}
.video-error{position:absolute;inset:35% 10% auto;color:#b0bdca;font-size:12px;text-align:center}

@media(min-width:1101px){.story-progress a span{display:inline}.story-progress a:hover span{position:static;background:none;padding:0}}

/* The scene leaves inside its own section; subsequent projects never cross its canvas. */
.story-stage>.engineering-model,.story-stage>.delivery-reveal,.story-stage>.story-progress,.story-stage>.stage-footline{opacity:var(--scene-exit,1)}
.story-stage:not([data-step="4"])>.delivery-reveal{opacity:0}
.music-section .section-heading{border-top:1px solid var(--line);padding-top:32px}
.projects-arrive{animation:projects-arrive .7s cubic-bezier(.2,.7,.3,1) both;animation-delay:var(--arrival-delay,0ms)}
@keyframes projects-arrive{from{opacity:.25;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.music-section{padding-top:36px}.music-section .section-heading{padding-top:24px}}
