/* V4 Cinemática — native, reversible scroll choreography. */
:root { --header-height:72px; --cinema-line:#b8d4c733; }
.hero-scroll-track { position:relative; }
.hero-optics { position:absolute; inset:0; perspective:1000px; pointer-events:none; }
.optical-plane { position:absolute; width:60%; height:47%; top:27%; left:20%; border:1px solid #b8d4c72e; background:linear-gradient(135deg,#b8d4c708,transparent 60%); transform:rotateY(-20deg) rotateX(10deg); }
.plane-back { transform:translate(-38px,-38px) rotateY(-20deg) rotateX(10deg); }
.plane-front { transform:translate(38px,38px) rotateY(-20deg) rotateX(10deg); }
.optical-plane:before,.optical-plane:after { content:''; position:absolute; width:16px; height:16px; border-color:#b8d4c799; border-style:solid; }
.optical-plane:before { top:-1px; left:-1px; border-width:1px 0 0 1px; }
.optical-plane:after { right:-1px; bottom:-1px; border-width:0 1px 1px 0; }
.optical-coordinate { position:absolute; right:27px; top:44%; font:9px 'DM Mono',monospace; writing-mode:vertical-rl; letter-spacing:.25em; color:#b8d4c780; }
.hero-scan { position:absolute; left:0; right:0; top:var(--scan-y,33%); height:1px; background:linear-gradient(90deg,transparent,#b8d4c766,transparent); pointer-events:none; opacity:.7; }
.hero-film-meter { position:absolute; height:2px; bottom:77px; left:25px; right:25px; background:#b8d4c71a; }
.hero-film-meter i { display:block; height:100%; background:#b8d4c7; transform:scaleX(var(--hero-progress,.05)); transform-origin:left; }
.cinema-enabled .hero-visual { background:radial-gradient(ellipse at 70% 25%,#2c555347,transparent 55%),linear-gradient(120deg,#0d202b,#19373e 70%,#112d36); }
.cinema-enabled .hero-visual:before { transform:translate3d(var(--hero-bg-x,0px),var(--hero-bg-y,0px),0); }
.cinema-enabled .hero-visual .scene-stage { transition:none; transform:translate3d(0,var(--hero-rise,0px),0) rotateX(calc(var(--hero-tilt,7deg) + var(--scene-y,0deg))) rotateY(calc(var(--hero-turn,-17deg) + var(--scene-x,0deg))) rotateZ(var(--hero-roll,-3deg)); }
.cinema-enabled .identity-card { animation:none; background:linear-gradient(145deg,#23444c,#102631 65%); }
.cinema-enabled .identity-card:after { animation:none; transform:translateX(var(--sheen-x,-25%)); }
.cinema-enabled .plane-back { transform:translate3d(var(--plane-back-x,-38px),var(--plane-back-y,-38px),0) rotateY(var(--hero-turn,-17deg)) rotateX(var(--hero-tilt,7deg)); }
.cinema-enabled .plane-middle { transform:translate3d(0,0,0) rotateY(var(--hero-turn,-17deg)) rotateX(var(--hero-tilt,7deg)); }
.cinema-enabled .plane-front { transform:translate3d(var(--plane-front-x,38px),var(--plane-front-y,38px),0) rotateY(var(--hero-turn,-17deg)) rotateX(var(--hero-tilt,7deg)); }
.hero-scrub-active .hero-scroll-track { height:calc(var(--hero-height) + var(--hero-distance)); }
.hero-scrub-active .hero { position:sticky; top:var(--header-height); height:var(--hero-height); min-height:0; }
.hero-scrub-active .hero-copy { padding:28px 22px 24px 40px; }
.hero-scrub-active .hero-copy>.eyebrow { margin-bottom:24px; }
.hero-scrub-active .hero h1 { font-size:clamp(68px,7vw,108px); }
.hero-scrub-active .hero-description { margin-top:23px; font-size:15px; }
.hero-scrub-active .hero-actions { margin-top:23px; }
.hero-scrub-active .hero-note { margin-top:18px; }
.hero-scrub-active .hero-scroll { margin-top:23px; padding-top:13px; }
.hero-scrub-active .hero-visual { min-height:0; height:100%; }
.hero-scrub-active .connection.signal { animation:none; stroke-dasharray:1300; stroke-dashoffset:var(--signal-offset,1300); }
.hero-scrub-active .identity-core img { transform:scale(var(--symbol-scale,1)); }
.hero-scrub-active .scene-stage { height:47%; top:25%; }

/* Three editorial frames. Static vertical content is the no-script default. */
.cinema-story { position:relative; background:#09151d; border-bottom:1px solid var(--line); }
.cinema-pin { padding:45px 0 30px; }
.cinema-heading { padding:0 40px; display:flex; gap:30px; align-items:flex-end; justify-content:space-between; margin-bottom:28px; }
.cinema-heading .eyebrow { color:#b8d4c7; margin-bottom:12px; font-size:8px; }
.cinema-heading h2 { font-size:clamp(30px,3.4vw,50px); letter-spacing:-.055em; line-height:1; }
.cinema-skip { flex-shrink:0; font-size:9px; color:#b8cbc6; }
.cinema-viewport { outline-offset:-4px; }
.cinema-track { display:grid; gap:24px; padding:0 40px; }
.cinema-panel { position:relative; isolation:isolate; display:grid; grid-template-columns:1fr 1.05fr; min-height:440px; overflow:hidden; border:1px solid #b8d4c733; }
.chapter-copy { padding:46px; display:flex; flex-direction:column; justify-content:center; z-index:2; }
.chapter-copy>.eyebrow { font-size:9px; margin-bottom:25px; color:inherit; }
.chapter-copy h3 { font-size:clamp(35px,4.1vw,61px); font-weight:700; line-height:.98; letter-spacing:-.06em; text-transform:uppercase; margin-bottom:26px; }
.chapter-copy h3 em { font-style:normal; color:transparent; -webkit-text-stroke:1px currentColor; -webkit-text-stroke-color:var(--chapter-ink,#eff2ee); }
.chapter-copy p { font-size:15px; line-height:1.7; max-width:340px; color:var(--chapter-copy,#b8ccc7); }
.chapter-footnote { margin-top:35px; font:8px/1.7 'DM Mono',monospace; letter-spacing:.07em; max-width:320px; }
.chapter-art { position:relative; min-height:340px; align-self:stretch; pointer-events:none; transform:translate3d(var(--art-shift,0px),0,0); }
.chapter-identity { background:linear-gradient(130deg,#132e39,#1c4247); color:#eff2ee; }
.chapter-network { background:#cddcd4; color:#102a3a; --chapter-ink:#102a3a; --chapter-copy:#385a50; }
.chapter-operation { background:#bdcfd6; color:#102a3a; --chapter-ink:#102a3a; --chapter-copy:#385663; }
.chapter-identity:after { content:''; width:480px; height:480px; border:1px solid #b8d4c70f; position:absolute; left:-180px; top:-180px; border-radius:50%; z-index:-1; }
.art-crosshair { position:absolute; inset:9% 12%; border:1px solid #b8d4c71f; }
.art-crosshair:before,.art-crosshair:after { content:''; position:absolute; background:#b8d4c71f; }
.art-crosshair:before { width:1px; top:-20%; bottom:-20%; left:50%; }
.art-crosshair:after { height:1px; left:-20%; right:-20%; top:50%; }
.identity-plate { width:230px; height:295px; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) perspective(800px) rotateY(var(--art-turn,-16deg)) rotateZ(-6deg); border:1px solid #b8d4c780; background:linear-gradient(145deg,#294e53,#102a3a); display:flex; align-items:center; flex-direction:column; padding:22px; box-shadow:12px 14px 0 -1px #17373f,12px 14px 0 #b8d4c740; }
.identity-plate>span { font:7px 'DM Mono',monospace; letter-spacing:.16em; align-self:flex-start; }
.identity-plate img { width:105px; height:105px; margin:25px 0 17px; }
.identity-plate>i { width:100%; height:1px; background:#b8d4c740; margin-bottom:17px; }
.identity-plate>b { font-size:16px; font-weight:500; }
.identity-plate>small { font:6px 'DM Mono',monospace; letter-spacing:.12em; color:#b8d4c7; margin-top:10px; }
.identity-seal { position:absolute; display:flex; align-items:center; gap:10px; background:#b8d4c7; color:#102a3a; padding:14px 16px; font:8px 'DM Mono',monospace; border:1px solid #d0e1d7; }
.identity-seal .icon { width:17px; height:17px; }
.identity-seal b { margin-left:10px; }
.seal-phone { right:5%; top:20%; transform:translateY(var(--seal-shift,0px)); }
.seal-cpf { bottom:16%; left:6%; transform:translateY(calc(0px - var(--seal-shift,0px))); }
.art-coordinate { position:absolute; bottom:24px; right:30px; font:8px 'DM Mono',monospace; letter-spacing:.1em; opacity:.65; }
.network-drawing { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.network-ring { fill:none; stroke:#102a3a20; stroke-width:1; }
.network-paths { fill:none; stroke:#315c5980; stroke-width:1.5; stroke-dasharray:600; stroke-dashoffset:var(--network-draw,0); }
.network-dots { fill:#315c59; stroke:#cddcd4; stroke-width:5; }
.network-hub { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) rotate(var(--hub-turn,0deg)); width:104px; height:104px; display:grid; place-items:center; background:#102a3a; box-shadow:0 0 0 15px #102a3a09,0 0 0 30px #102a3a05; }
.network-hub img { width:70px; height:70px; }
.network-label { position:absolute; font:8px 'DM Mono',monospace; padding:8px 12px; background:#dde8e0; border:1px solid #315c5930; }
.label-a { left:16%; top:18%; }.label-b { right:9%; top:15%; }.label-c { right:8%; bottom:24%; }
.territory-grid { position:absolute; width:360px; height:360px; top:50%; left:50%; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; transform:translate(-50%,-50%) perspective(700px) rotateX(56deg) rotateZ(-24deg); }
.territory-grid i { border:1px solid #102a3a2b; background:#102a3a04; }
.territory-grid i:nth-child(3n) { background:#315c5919; border-color:#315c593d; }
.operation-card { position:absolute; background:#eff2ee; border:1px solid #102a3a44; color:#102a3a; }
.card-territory { width:270px; height:215px; padding:24px; left:50%; top:46%; transform:translate(-50%,-50%) perspective(800px) rotateY(var(--art-turn,-12deg)) rotateZ(-4deg); box-shadow:10px 12px 0 #102a3a14; }
.card-territory>span { display:flex; align-items:center; gap:9px; font:9px 'DM Mono',monospace; }
.card-territory>span .icon { width:16px; height:16px; }
.card-territory>b { display:block; margin-top:20px; font-size:22px; font-weight:500; letter-spacing:-.04em; }
.mini-bars { display:flex; align-items:flex-end; gap:10px; height:65px; margin-top:18px; }
.mini-bars i { background:#315c59; width:100%; height:35%; transform:scaleY(var(--bar-scale,1)); transform-origin:bottom; }
.mini-bars i:nth-child(2) { height:48%; }.mini-bars i:nth-child(3) { height:40%; }.mini-bars i:nth-child(4) { height:66%; }.mini-bars i:nth-child(5) { height:58%; }.mini-bars i:nth-child(6) { height:80%; }.mini-bars i:nth-child(7) { height:100%; background:#6e9a91; }
.card-field { padding:18px 20px; display:flex; align-items:center; gap:14px; bottom:16%; right:7%; transform:translateY(var(--seal-shift,0px)); }
.card-field>span { font-size:12px; }.card-field small { display:block; margin-top:4px; font:8px 'DM Mono',monospace; color:#385663; }.card-field>b { margin-left:16px; font-size:24px; font-weight:400; }
.cinema-controls { padding:25px 40px 0; display:flex; align-items:center; gap:20px; font:8px 'DM Mono',monospace; color:#b8ccc7; }
.cinema-instruction { min-width:160px; }
.cinema-meter { height:1px; background:#b8d4c730; flex:1; }
.cinema-meter i { display:block; height:100%; width:100%; background:#b8d4c7; transform:scaleX(var(--story-progress,.02)); transform-origin:left; }
.cinema-count { white-space:nowrap; }
.cinema-arrows { display:none; gap:7px; }
.cinema-arrows button { width:40px; height:40px; display:grid; place-items:center; background:transparent; color:#eff2ee; border:1px solid #b8d4c766; transition:background .2s,color .2s; }
.cinema-arrows button:hover { background:#b8d4c7; color:#102a3a; }
.cinema-arrows button:disabled { opacity:.3; cursor:default; }
.cinema-arrows button:first-child .icon { transform:rotate(180deg); }
.cinema-arrows .icon { width:17px; height:17px; }
.cinema-disclaimer { font-size:6px; letter-spacing:.05em; }
.cinema-enhanced .cinema-arrows { display:flex; }
.story-pinned .cinema-story { height:var(--story-height); }
.story-pinned .cinema-pin { position:sticky; top:var(--header-height); height:var(--story-pin-height); display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:28px 0 22px; }
.story-pinned .cinema-heading { margin-bottom:23px; }
.story-pinned .cinema-viewport { overflow:hidden; min-height:0; }
.story-pinned .cinema-track { display:flex; width:max-content; height:100%; gap:24px; will-change:transform; }
.story-pinned .cinema-panel { width:min(1250px,calc(100vw - var(--rail) - 100px)); flex:none; height:100%; min-height:0; }
.story-pinned .chapter-art { min-height:0; }
.story-pinned .chapter-copy { padding:32px 40px; }
.story-pinned .chapter-copy h3 { font-size:clamp(34px,3.8vw,57px); }
.story-pinned .cinema-controls { padding-top:20px; }

/* Background planes move at a different rate from the reading plane. */
.security-section { isolation:isolate; }
.security-depth { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:-1; }
.security-depth>span { position:absolute; font:800 clamp(250px,40vw,650px)/1 'Inter Tight',sans-serif; color:#b8d4c705; top:3%; left:2%; letter-spacing:-.09em; transform:translateY(var(--depth-y,0px)); }
.security-depth i { position:absolute; border:1px solid #b8d4c70d; width:42vw; height:42vw; max-width:650px; max-height:650px; left:5%; top:24%; transform:translateY(var(--depth-y,0px)) rotate(-24deg); }
.security-depth i:nth-of-type(2) { left:9%; top:28%; }.security-depth i:nth-of-type(3) { left:13%; top:32%; }
.cinema-enabled .security-layer { position:relative; z-index:1; transform:translate3d(var(--layer-shift,0px),0,0); }
.cinema-enabled .security-layer.reveal.is-visible { transform:translate3d(var(--layer-shift,0px),0,0); }
.cinema-enabled .security-layer:hover { transform:translate3d(calc(var(--layer-shift,0px) - 6px),0,0); }
.experience-band { position:relative; overflow:hidden; isolation:isolate; }
.experience-inner { position:relative; z-index:1; }
.experience-marquee { position:absolute; bottom:-.12em; left:-10%; width:max-content; font:800 clamp(110px,14vw,230px)/1 'Inter Tight',sans-serif; letter-spacing:-.065em; color:#102a3a08; pointer-events:none; transform:translate3d(var(--marquee-x,0px),0,0); }
.cinema-enabled .experience-line { transform:translateY(var(--experience-y,0px)); }
.cinema-toggle { position:fixed; z-index:95; right:20px; bottom:20px; display:none; align-items:center; gap:9px; padding:11px 13px; border:1px solid #b8d4c766; background:#102a3af2; color:#d7e6dd; font:8px 'DM Mono',monospace; box-shadow:0 4px 20px #0002; }
.cinema-toggle .icon { width:13px; height:13px; }.cinema-toggle:hover { background:#b8d4c7; color:#102a3a; }
.cinema-enhanced .cinema-toggle { display:flex; }
.modal-open .cinema-toggle { display:none; }
.site-footer { padding-bottom:80px; }
.cinema-loading { position:fixed; left:calc(var(--rail) + 20px); bottom:20px; z-index:95; display:flex; align-items:center; gap:12px; padding:12px 16px; background:#102a3af2; border:1px solid #b8d4c740; color:#cddcd4; font:8px 'DM Mono',monospace; pointer-events:none; }
.cinema-loading img { width:22px; height:22px; }

@media(max-width:1099px),(max-height:779px) {
 .cinema-enhanced:not(.cinema-static) .cinema-viewport { overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#6e9a91 #102a3a; }
 .cinema-enhanced:not(.cinema-static) .cinema-track { display:flex; width:max-content; gap:18px; padding-inline:28px; }
 .cinema-enhanced:not(.cinema-static) .cinema-panel { flex:none; width:calc(100vw - var(--rail) - 76px); min-height:455px; scroll-snap-align:center; }
 .cinema-heading { padding-inline:28px; }.cinema-controls { padding-inline:28px; }
 .chapter-copy { padding:30px; }.chapter-copy h3 { font-size:clamp(31px,4.4vw,48px); }.chapter-copy p { font-size:14px; }
 .cinema-disclaimer { display:none; }.identity-plate { transform:translate(-50%,-50%) scale(.85) rotateY(-12deg) rotateZ(-5deg); }
 .seal-phone { right:2%; font-size:7px; }.seal-cpf { left:1%; font-size:7px; }.network-hub { width:86px; height:86px; }
 .card-territory { width:235px; }.card-field { right:3%; }
}
@media(max-width:620px) {
 :root { --header-height:67px; }
 .hero-film-meter { left:20px; right:20px; bottom:69px; }.optical-plane { width:64%; left:18%; }.optical-coordinate { right:14px; font-size:6px; }
 .plane-back { transform:translate(-22px,-22px) rotateY(-15deg); }.plane-front { transform:translate(22px,22px) rotateY(-15deg); }
 .cinema-pin { padding-top:34px; padding-bottom:25px; }
 .cinema-heading { padding:0 22px; display:block; margin-bottom:24px; }
 .cinema-heading h2 { font-size:37px; max-width:330px; }.cinema-heading .eyebrow { font-size:7px; }.cinema-skip { margin-top:15px; font-size:8px; }
 .cinema-track { padding-inline:18px; gap:14px; }
 .cinema-enhanced:not(.cinema-static) .cinema-track { padding-inline:18px; gap:14px; }
 .cinema-enhanced:not(.cinema-static) .cinema-panel { width:calc(100vw - 36px); min-height:570px; }
 .cinema-panel { grid-template-columns:1fr; grid-template-rows:auto 295px; min-height:570px; }
 .chapter-copy { padding:27px 25px 10px; justify-content:flex-start; }.chapter-copy>.eyebrow { font-size:7px; margin-bottom:21px; }
 .chapter-copy h3 { font-size:clamp(31px,8.6vw,45px); margin-bottom:19px; }.chapter-copy p { font-size:13px; line-height:1.65; max-width:350px; }
 .chapter-footnote { display:none; }.chapter-art { min-height:295px; transform:none; }
 .identity-plate { width:200px; height:255px; transform:translate(-50%,-50%) scale(.78) rotateY(-12deg) rotateZ(-5deg); }
 .identity-plate img { width:80px; height:80px; margin-top:18px; }.identity-plate>b { font-size:15px; }
 .identity-seal { padding:10px; font-size:6px; gap:6px; }.identity-seal .icon { width:14px; height:14px; }.identity-seal b { margin-left:3px; }
 .seal-phone { right:4%; top:17%; }.seal-cpf { left:4%; bottom:15%; }.art-coordinate { bottom:14px; right:20px; font-size:6px; }
 .network-hub { width:70px; height:70px; }.network-hub img { width:49px; height:49px; }.network-label { font-size:6px; padding:6px 8px; }
 .territory-grid { width:275px; height:275px; }.card-territory { width:205px; height:175px; padding:17px; top:43%; }.card-territory>b { font-size:19px; margin-top:14px; }.mini-bars { height:50px; margin-top:12px; gap:8px; }
 .card-field { padding:12px 14px; bottom:14%; }.card-field>span { font-size:10px; }.card-field small { font-size:7px; }.card-field .icon { width:19px; height:19px; }
 .cinema-controls { padding:18px 18px 0; gap:12px; flex-wrap:wrap; }.cinema-instruction { font-size:7px; min-width:0; flex:1; }.cinema-meter { display:none; }.cinema-count { font-size:8px; }.cinema-arrows button { width:40px; height:40px; }
 .cinema-toggle { right:12px; bottom:12px; font-size:7px; padding:10px; }.cinema-toggle .icon { width:12px; height:12px; }
 .security-depth i { width:90vw; height:90vw; left:2%; }.security-depth>span { font-size:300px; }
}

/* No pin, no lateral displacement, no hidden chapters when movement is reduced. */
.cinema-static .hero-scroll-track,.cinema-static .cinema-story { height:auto!important; }
.cinema-static .hero,.cinema-static .cinema-pin { position:relative; top:auto; height:auto; }
.cinema-static .cinema-viewport { overflow:visible; }
.cinema-static .cinema-track { display:grid; width:auto; transform:none!important; }
.cinema-static .cinema-panel { width:auto; min-height:440px; }
.cinema-static .chapter-art,.cinema-static .security-layer,.cinema-static .experience-line,.cinema-static .experience-marquee { transform:none!important; }
.cinema-static .cinema-arrows,.cinema-static .cinema-meter,.cinema-static .cinema-count { display:none; }
.cinema-static .hero-optics,.cinema-static .hero-scan,.cinema-static .hero-film-meter { display:none; }
.cinema-static .hero-visual .scene-stage { transform:none; }
.cinema-static .reveal { opacity:1!important; transform:none!important; clip-path:none!important; }
@media(max-width:620px) { .cinema-static .cinema-panel { min-height:570px; } }
