:root{--color-nero: #0A0A0A;--color-blu-abisso: #1B4F72;--color-blu-mare: #2E86C1;--color-blu-cielo: #AED6F1;--color-rosso: #C8102E;--color-sabbia: #C9A96E;--color-bianco: #F8F4EE;--color-black: #0A0A0A;--color-dark: #111111;--color-grey: #1C1C1C;--color-red: #C8102E;--color-sand: #C9A96E;--color-sand-light: #EDD9A3;--color-blue: #1B4F72;--color-blue-light: #2E86C1;--color-white: #F8F4EE;--color-white-dim: rgba(248, 244, 238, .72);--overlay-standard: rgba(0, 0, 0, .6);--overlay-blue: rgba(11, 38, 60, .65);--overlay-dark: rgba(0, 0, 0, .6);--overlay-heavy: rgba(0, 0, 0, .75);--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--text-4xl: 3.75rem;--text-5xl: 5rem;--text-hero: clamp(3rem, 8vw, 7rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--space-32: 8rem;--max-width: 1400px;--section-pad-v: clamp(4rem, 8vh, 8rem);--section-pad-h: clamp(1.5rem, 6vw, 6rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.76, 0, .24, 1);--dur-fast: .3s;--dur-base: .6s;--dur-slow: 1.2s;--dur-cinematic: 2s;--z-bg: 0;--z-content: 2;--z-nav: 100;--z-progress: 200}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:auto;-webkit-text-size-adjust:100%}body{background-color:var(--color-black);color:var(--color-white);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;overflow-x:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}img,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font:inherit;color:inherit}ul,ol{list-style:none}::selection{background:var(--color-red);color:var(--color-white)}:focus-visible{outline:2px solid var(--color-sand);outline-offset:3px}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--color-dark)}::-webkit-scrollbar-thumb{background:var(--color-red);border-radius:2px}.t-hero{font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;line-height:1.05;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.95),0 4px 24px rgba(0,0,0,.85),0 8px 48px rgba(0,0,0,.6)}.t-title{font-family:var(--font-display);font-size:clamp(var(--text-3xl),5vw,var(--text-4xl));font-weight:600;line-height:1.1;letter-spacing:-.01em;text-shadow:0 2px 4px rgba(0,0,0,.95),0 4px 24px rgba(0,0,0,.85),0 8px 48px rgba(0,0,0,.6)}.t-subtitle{font-family:var(--font-display);font-size:clamp(var(--text-xl),3vw,var(--text-2xl));font-weight:400;font-style:italic;line-height:1.3;color:#ffffffeb;text-shadow:0 1px 3px rgba(0,0,0,.95),0 2px 12px rgba(0,0,0,.8)}.t-body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.75}.t-body-lg{font-family:var(--font-body);font-size:var(--text-lg);line-height:1.7;text-shadow:0 1px 3px rgba(0,0,0,.95),0 2px 12px rgba(0,0,0,.8)}.t-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#c9a96e;text-shadow:0 1px 6px rgba(0,0,0,.9)}.t-caption{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-white-dim);line-height:1.5}.t-act{font-family:var(--font-display);font-size:var(--text-sm);font-weight:400;font-style:italic;color:#c9a96e;letter-spacing:.15em;text-shadow:0 1px 6px rgba(0,0,0,.9)}.text-red{color:var(--color-red)}.text-sand{color:var(--color-sand)}.text-blue{color:var(--color-blue-light)}.text-dim{color:var(--color-white-dim)}.text-white{color:var(--color-white)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}#app{position:relative}.doc-section{position:relative;height:100vh;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.doc-section--dark{background-color:var(--color-black)}.doc-section--grey{background-color:var(--color-grey)}.doc-section--red{background-color:var(--color-red)}.doc-section--blue{background-color:var(--color-blue)}.section-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-bg);background-size:cover;background-position:center;background-repeat:no-repeat;will-change:transform}.section-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000040,#000000b8 35%,#000000b8 65%,#00000059);z-index:1;pointer-events:none}#bridge .section-bg:after{background:linear-gradient(105deg,#00000094,#00000047 42%,#0000000f)}#geography .section-bg:after{display:none}#geography #geo-map-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,#1b4f7280,#1b4f7233 40%,#1b4f7200 70%);pointer-events:none;z-index:1}.section-bg--video{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:0}.section-bg--video video{width:100%;height:100%;object-fit:cover;object-position:center}.section-bg--video:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0003,#000000b3 35%,#000000b3 65%,#00000040);z-index:1}#morph-persistent{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;will-change:transform}#morph-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.section-content{position:relative;z-index:var(--z-content);width:100%;max-width:800px;margin:0 auto;padding:0 clamp(2rem,10vw,12rem);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-6)}.act-label{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.act-label__line{width:2.5rem;height:1px;background:var(--color-sand);flex-shrink:0}.divider{width:4rem;height:2px;background:var(--color-red);margin:var(--space-6) auto}.divider--left{margin-left:0}#progress-bar{position:fixed;top:0;left:0;width:0%;height:3px;background:var(--color-rosso);z-index:var(--z-progress);transform-origin:left;transition:width .1s linear}#nav-dots{position:fixed;right:var(--space-8);top:50%;transform:translateY(-50%);z-index:var(--z-nav);display:flex;flex-direction:column;gap:var(--space-3)}.nav-dot{width:8px;height:8px;border-radius:50%;background:#aed6f159;border:1px solid transparent;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);cursor:pointer}.nav-dot.active{background:var(--color-blu-mare);transform:scale(1.4)}.nav-dot:hover{background:var(--color-blu-cielo)}.scroll-hint{position:absolute;bottom:var(--space-8);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);z-index:var(--z-content)}.scroll-hint__line{width:1px;height:3rem;background:linear-gradient(to bottom,var(--color-sand),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.4;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}[data-reveal]{opacity:0;transform:translateY(2rem)}[data-reveal=fade]{opacity:0;transform:none}[data-reveal=left]{opacity:0;transform:translate(-3rem)}[data-reveal=right]{opacity:0;transform:translate(3rem)}[data-reveal=scale]{opacity:0;transform:scale(.94)}.section-bg{transition:transform var(--dur-cinematic) var(--ease-out)}.section-bg.zoomed{transform:scale(1.06)}.doc-section{transition:opacity var(--dur-base) var(--ease-out)}.doc-section.is-active .act-label__line{animation:lineGrow .8s var(--ease-out) forwards}@keyframes lineGrow{0%{width:0}to{width:2.5rem}}#morph-active-path{vector-effect:non-scaling-stroke}@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1!important;transform:none!important}.section-bg{transition:none!important}.scroll-hint__line{animation:none}#morph-persistent{display:none!important}}@media (max-width: 1024px){#nav-dots{right:var(--space-4)}}@media (max-width: 768px){.doc-section{padding:var(--space-16) var(--space-6);min-height:100svh}#nav-dots{display:none}.t-hero{font-size:clamp(2.5rem,12vw,4rem)}.t-title{font-size:clamp(1.75rem,7vw,2.5rem)}.act-label{margin-bottom:var(--space-3)}}@media (max-width: 480px){:root{--section-pad-h: 1.25rem}.doc-section{padding-block:var(--space-12)}.t-hero{font-size:clamp(2rem,13vw,3rem)}}@media (min-height: 900px){.doc-section{min-height:100svh}}@media (min-width: 1600px){:root{--section-pad-h: 8rem}}
