body.film-page{--film-bg: #050810;--film-dot: rgba(0, 119, 170, .1);--film-row: #0d1628;--film-card: rgba(5, 8, 16, .88);--film-wash: linear-gradient(90deg, rgba(5, 8, 16, .9) 0%, rgba(5, 8, 16, .86) 62%, rgba(5, 8, 16, 0) 100%);--film-vignette: radial-gradient(ellipse 70% 60% at 50% 45%, rgba(5, 8, 16, 0) 35%, rgba(5, 8, 16, .72) 100%);--film-glow: radial-gradient(120% 90% at 50% 45%, rgba(0, 119, 170, .1), rgba(5, 8, 16, 0) 70%)}body.film-page.light{--film-bg: #f0f4f8;--film-dot: rgba(0, 119, 170, .18);--film-row: #ffffff;--film-card: rgba(240, 244, 248, .92);--film-wash: linear-gradient(90deg, rgba(240, 244, 248, .94) 0%, rgba(240, 244, 248, .9) 62%, rgba(240, 244, 248, 0) 100%);--film-vignette: radial-gradient(ellipse 70% 60% at 50% 45%, rgba(240, 244, 248, 0) 38%, rgba(240, 244, 248, .66) 100%);--film-glow: radial-gradient(120% 90% at 50% 45%, rgba(0, 119, 170, .1), rgba(240, 244, 248, 0) 70%)}body.film-page:before{display:none}.film-area{position:relative;background-color:var(--film-bg);background-image:radial-gradient(var(--film-dot) 1px,transparent 1px);background-size:26px 26px}.film-hero{position:relative;min-height:86vh;display:grid;place-items:center;padding:84px clamp(24px,6vw,96px) 48px;text-align:center}.film-hero-inner{display:flex;flex-direction:column;align-items:center;gap:22px;max-width:780px}.film-eyebrow{margin:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--cyan)}.film-hero h1{margin:0;max-width:none;font-size:clamp(40px,6.4vw,88px);line-height:.98;letter-spacing:-.01em;text-wrap:pretty}.film-hero--long h1{max-width:900px;font-size:clamp(38px,5.6vw,76px)}.film-hero p{max-width:560px;margin:0;font-size:clamp(15px,1.5vw,19px);font-weight:300;line-height:1.7;color:var(--muted)}.film-cue{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px 0 0;font-family:var(--font-mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}.film-cue:before{content:"";display:block;width:6px;height:6px;background:var(--gold);animation:filmCue 2.4s ease-in-out infinite}@keyframes filmCue{0%,to{transform:translateY(0);opacity:.3}50%{transform:translateY(5px);opacity:.95}}.film-keys{margin:0;font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);opacity:.75}@media(any-pointer:coarse)and (not (any-pointer:fine)){.film-keys{display:none}}.film-track{position:relative}html.js .film-track--panes{height:var(--track-h, 600vh)}html.film-off .film-track--panes{height:auto}.film-stage{position:relative}html.js .film-stage{position:sticky;top:0;height:100vh;overflow:hidden}html.film-off .film-stage{position:relative;height:auto;overflow:visible}.film-canvas,drone-film,scan-film{position:absolute;inset:0;display:block;z-index:0}html:not(.js) drone-film,html:not(.js) scan-film,html.film-off drone-film,html.film-off scan-film{display:none}.film-glow,.film-vignette{position:absolute;inset:0;z-index:1;pointer-events:none}.film-glow{background:var(--film-glow)}.film-vignette{background:var(--film-vignette)}html:not(.js) .film-glow,html:not(.js) .film-vignette,html.film-off .film-glow,html.film-off .film-vignette{display:none}.film-stage-label{position:absolute;left:clamp(24px,6vw,96px);bottom:22px;z-index:2;font-family:var(--font-mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}html:not(.js) .film-stage-label,html.film-off .film-stage-label{display:none}.film-labels{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0}.film-labels div[data-lbl]{position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px;transform:translate(-9999px,-9999px);font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;color:var(--cyan)}.film-labels div[data-lbl]:before{content:"";width:38px;height:1px;background:var(--cyan-dim)}.film-labels div[data-tone=gold]{color:var(--gold)}.film-labels div[data-tone=gold]:before{background:var(--gold-dim)}html:not(.js) .film-labels,html.film-off .film-labels{display:none}@media(max-width:1100px){.film-labels{display:none}}.film-rail{position:absolute;right:6vw;top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;gap:18px;pointer-events:none;transition:opacity .4s var(--ease-out)}.film-rail div{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);transition:color .35s var(--ease-out)}.film-rail div:after{content:"";display:block;width:34px;height:1px;background:var(--border-hi);transform:scaleX(.647);transform-origin:right center;transition:transform .35s var(--ease-out),background .35s var(--ease-out)}.film-rail div.on{color:var(--gold)}.film-rail div.on:after{transform:scaleX(1);background:var(--gold)}html:not(.js) .film-rail,html.film-off .film-rail{display:none}@media(max-width:1100px){.film-rail{display:none}}.film-panes{position:relative;z-index:4}html.js .film-stage--panes .film-panes{position:absolute;inset:0;pointer-events:none}html.film-off .film-stage--panes .film-panes{position:relative;inset:auto;pointer-events:auto}.film-pane{--pane-w: min(46vw, 520px);display:flex;flex-direction:column;align-items:flex-start}.film-pane--wide{--pane-w: min(48vw, 560px)}html.js .film-pane{width:var(--pane-w);padding:30px 44px 30px 32px;margin-left:-32px;background:var(--film-wash)}html.js .film-stage--panes .film-pane{position:absolute;left:6vw;top:50%;transform:translateY(-50%);opacity:0}html.film-off .film-pane,html:not(.js) .film-pane{position:relative;left:auto;top:auto;width:auto;max-width:62ch;transform:none;opacity:1;margin:0 auto;padding:72px max(24px,calc((100vw - var(--max)) / 2 + 48px));background:none}.film-pane .film-step{margin:0 0 16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--cyan)}.film-pane h1{margin:0;max-width:none;font-size:clamp(38px,4.4vw,62px);line-height:1.02;letter-spacing:-.01em;text-wrap:balance}.film-pane h2{margin:0;font-family:var(--font-head);font-weight:600;font-size:clamp(28px,3vw,42px);line-height:1.08;letter-spacing:-.01em;color:var(--white);text-wrap:balance}.film-pane h1 em,.film-pane h2 em,.film-result h2 em{font-style:normal;color:var(--cyan)}.film-pane p{margin:16px 0 0;max-width:46ch;font-size:15px;font-weight:300;line-height:1.75;color:var(--muted);text-wrap:pretty}.film-pane p+p{margin-top:18px}.film-pane a:not(.button){color:var(--cyan);border-bottom:1px solid var(--border-hi)}.film-pane a:not(.button):hover{color:var(--white)}.film-kpis{display:grid;grid-template-columns:repeat(var(--kpi-cols, 3),minmax(0,auto));justify-content:start;column-gap:34px;row-gap:20px;margin-top:26px}.film-kpis b{display:block;font-family:var(--font-head);font-weight:700;font-size:26px;line-height:1;color:var(--white);font-variant-numeric:tabular-nums}.film-kpis>div:first-child b{color:var(--gold)}.film-kpis span{display:block;margin-top:7px;font-family:var(--font-mono);font-size:9px;line-height:1.4;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}.film-list{display:flex;flex-direction:column;gap:8px;margin:20px 0 0;padding:0;list-style:none;font-family:var(--font-mono);font-size:11px;line-height:1.6;letter-spacing:.1em;color:var(--muted)}.film-list li{padding-left:1.3em;text-indent:-1.3em}.film-list li:before{content:"■ ";color:var(--cyan-dim)}.film-layers{display:flex;flex-direction:column;gap:1px;margin-top:26px;background:var(--border);width:100%}.film-layers>div{display:flex;gap:14px;align-items:baseline;padding:13px 16px;background:var(--film-row)}.film-layers b{font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:.22em;color:var(--cyan)}.film-layers strong{display:block;font-family:var(--font-head);font-weight:600;font-size:15px;line-height:1.2;color:var(--white)}.film-layers>div:first-child strong,.film-layers>div:first-child strong a{color:var(--gold)}.film-layers span{display:block;margin-top:4px;font-size:13px;font-weight:300;line-height:1.5;color:var(--muted)}.film-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.film-phi{height:2px;background:linear-gradient(90deg,var(--cyan) 0%,var(--gold) 61.8%,var(--cyan) 100%)}.film-phi--short{width:180px;margin-top:18px}.film-screen{padding:0 clamp(24px,6vw,96px)}html.js .film-screen{height:var(--screen-h, 300vh);padding:0}html.film-off .film-screen{height:auto;padding:0 clamp(24px,6vw,96px)}.film-screen-inner{display:flex;align-items:center;padding:72px 0}html.js .film-screen-inner{position:sticky;top:0;height:100vh;padding:0 clamp(24px,6vw,96px)}html.film-off .film-screen-inner{position:static;height:auto;padding:72px 0}.film-result{position:relative;display:grid;place-items:center;padding:clamp(60px,10vh,120px) clamp(24px,6vw,96px);text-align:center}.film-result-inner{display:flex;flex-direction:column;align-items:center;gap:20px;max-width:620px}.film-result h2{margin:0;font-family:var(--font-head);font-weight:700;font-size:clamp(26px,3vw,40px);line-height:1.08;color:var(--white)}.film-result p{margin:0;font-size:15px;font-weight:300;line-height:1.75;color:var(--muted)}.film-result .film-actions{justify-content:center}.film-steps.proceso-steps{grid-template-columns:repeat(var(--steps, 4),1fr);margin-top:52px}.film-summary{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px;align-items:start;margin-top:64px}.film-summary>*{min-width:0}.film-summary figure{margin:0}.film-summary img{width:100%;height:100%;min-height:260px;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-2)}.film-summary figcaption,.film-note{margin-top:10px;font-family:var(--font-mono);font-size:10px;line-height:1.7;letter-spacing:.12em;color:var(--faint)}.film-summary figcaption{text-transform:uppercase}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:1024px){.film-summary{grid-template-columns:1fr}}@media(max-width:900px){.film-steps.proceso-steps{grid-template-columns:1fr;gap:32px;margin-top:40px}html.js .film-track--panes .film-screen,html.js .film-stage--panes .film-panes{position:relative}html.js .film-pane{width:auto;max-width:none;margin:0 20px;padding:24px;border:1px solid var(--border-hi);border-radius:var(--radius-2);background:var(--film-card);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}html.js .film-stage--panes .film-pane{left:0;right:0}html.js .film-screen{height:auto;min-height:150vh;display:flex;align-items:center;padding:0 clamp(20px,6vw,40px)}html.js .film-screen-inner{position:static;height:auto;padding:48px 0}html.film-off .film-screen{min-height:0}.film-kpis{grid-template-columns:repeat(2,minmax(0,auto));column-gap:20px}.film-pane p{max-width:none}}@media(prefers-reduced-motion:reduce){.film-cue:before{animation:none;opacity:.8}}
