/* ═══════════════════════════════════════════
   RESET & BASE
   ═══════════════════════════════════════════ */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#000000;
  --bg2:#050508;
  --accent:#3b82f6;
  --accent2:#06b6d4;
  --gold:#f59e0b;
  --green:#10b981;
  --red:#ef4444;
  --text:#f1f5f9;
  --text-dim:rgba(241,245,249,0.5);
  --text-dimmer:rgba(241,245,249,0.25);
  --font:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-mono:'SF Mono','Fira Code','Cascadia Code',monospace;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}
::selection{background:var(--accent);color:white}

/* ═══════════════════════════════════════════
   LOADING SCREEN
   ═══════════════════════════════════════════ */
#loading{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;gap:18px;transition:opacity 0.8s ease}
#loading.done{opacity:0;pointer-events:none}
body.loading{overflow:hidden}
#ll{display:flex;align-items:center;justify-content:center}
#ll img{height:112px;width:auto;max-width:85vw;display:block}
#lsub{color:rgba(255,255,255,0.85);font-size:0.72rem;letter-spacing:0.5em;text-transform:uppercase;font-weight:500}
#ltrack{width:150px;height:1px;background:rgba(255,255,255,0.1)}
#lfill{height:1px;background:rgba(255,255,255,0.8);width:0;transition:width 0.15s}

/* ═══════════════════════════════════════════
   HEADER / NAV
   ═══════════════════════════════════════════ */
header{position:fixed;top:0;left:0;right:0;z-index:3000;padding:3px 2rem;height:70px;display:flex;align-items:center;justify-content:space-between;transition:all 0.4s ease;background:linear-gradient(to right,rgba(200,210,220,0.85) 0%,rgba(80,90,110,0.8) 25%,rgba(20,25,35,0.9) 55%,rgba(0,0,0,0.95) 100%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
header.scrolled{background:linear-gradient(to right,rgba(200,210,220,0.9) 0%,rgba(80,90,110,0.85) 25%,rgba(20,25,35,0.95) 55%,rgba(0,0,0,0.98) 100%);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
@media(max-width:768px){header.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(to right,rgb(180,190,200) 0%,rgb(70,80,100) 25%,rgb(18,22,32) 55%,rgb(0,0,0) 100%)}}
@media(max-width:1024px){header.nav-open{box-shadow:none}}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo img{height:64px;width:auto}
nav{display:flex;align-items:center;gap:0}
nav a{color:rgba(255,255,255,0.85);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;padding:8px 14px;font-weight:400;transition:color 0.3s;position:relative}
nav a:hover{color:white}
nav a{opacity:1;transform:none;transition:opacity 0.3s ease,transform 0.3s ease,color 0.3s}
nav a.arrived{opacity:1;transform:scale(1)}
nav a::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%) scaleX(0);width:20px;height:1px;background:var(--accent);transition:transform 0.3s}
nav a:hover::after{transform:translateX(-50%) scaleX(1)}
.nav-cta{background:rgba(59,130,246,0.15);border:1px solid rgba(59,130,246,0.3);border-radius:4px;color:var(--accent)!important;padding:8px 18px!important;margin-left:8px;transition:all 0.3s!important}
.nav-cta:hover{background:rgba(59,130,246,0.25);border-color:rgba(59,130,246,0.5);color:white!important}
.nav-cta::after{display:none!important}

/* Desktop dropdowns for .nav-has-sub */
@media(min-width:1025px){
  .nav-has-sub{position:relative;display:inline-flex;align-items:center}
  .nav-has-sub > a{display:flex;align-items:center;gap:5px}
  .nav-has-sub > a::before{content:'';display:none}
  .nav-has-sub .nav-arrow{display:inline-block;font-size:0.55em;opacity:0.6;transition:transform 0.25s;margin-left:2px;line-height:1}
  .nav-has-sub:hover .nav-arrow,.nav-has-sub.open-sub .nav-arrow{transform:rotate(90deg);opacity:1}
  .nav-submenu{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:200px;background:rgba(8,14,28,0.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.08);border-radius:6px;box-shadow:0 12px 40px rgba(0,0,0,0.55),0 0 0 1px rgba(59,130,246,0.08);padding:6px 0;opacity:0;pointer-events:none;transition:opacity 0.18s ease,transform 0.22s ease;transform:translateX(-50%) translateY(-4px);flex-direction:column;display:flex;margin-top:6px;z-index:3100}
  .nav-has-sub:hover .nav-submenu,.nav-has-sub.open-sub .nav-submenu{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
  .nav-submenu::before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);width:10px;height:10px;background:rgba(8,14,28,0.96);border-left:1px solid rgba(255,255,255,0.08);border-top:1px solid rgba(255,255,255,0.08)}
  .nav-submenu a{display:block;padding:9px 18px!important;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.78)!important;white-space:nowrap;transition:all 0.2s}
  .nav-submenu a:hover{color:#fff!important;background:rgba(59,130,246,0.12)}
  .nav-submenu a::after{display:none}
}

/* Mobile menu */
.hamburger{display:none;position:fixed;top:20px;right:20px;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:4000}
.hamburger span{width:22px;height:1.5px;background:rgba(255,255,255,0.7);transition:all 0.3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}

@media(max-width:1024px){
  nav{position:fixed;top:70px;right:0;width:55%;height:calc(100vh - 70px);height:calc(100dvh - 70px);overscroll-behavior:contain;touch-action:pan-y;overflow-y:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(to right,rgba(32,38,52,0.85) 0%,rgba(16,20,30,0.9) 18%,rgba(2,3,6,0.95) 100%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-direction:column;justify-content:flex-start;align-items:stretch;padding:16px 0 calc(24px + env(safe-area-inset-bottom));gap:0;z-index:3500;border-radius:0 0 0 16px;border:none;border-left:1px solid transparent;border-bottom:1px solid transparent;box-shadow:none}
  nav{display:flex!important;transform-origin:top right;opacity:0;transform:translateX(20%);transition:transform 0.2s ease,opacity 0.2s ease,box-shadow 0.2s ease,background 0.2s ease;pointer-events:none}
  nav.open{opacity:1;transform:translateX(0);box-shadow:-4px 4px 20px rgba(0,0,0,0.5),0 14px 35px rgba(255,255,255,0.35);border-left-color:rgba(255,255,255,0.4);border-bottom-color:rgba(255,255,255,0.4);pointer-events:auto}
  nav.open a{opacity:1!important;transform:none!important}
  nav a,nav .nav-has-sub>a{display:block;font-size:0.8rem;letter-spacing:0.12em;padding:11px 20px;text-align:right!important;border-right:2px solid transparent;transition:all 0.3s;line-height:1.4;margin:0;box-sizing:border-box;width:100%;position:relative;z-index:1}
  nav a:hover,nav a.active,nav a.current{border-right-color:var(--accent);color:white;background:rgba(59,130,246,0.08)}
  nav a.current{border-right-color:var(--accent);color:var(--accent);font-weight:500}
  .nav-submenu{display:none;flex-direction:column;padding:0}
  .nav-submenu a{display:block;font-size:0.7rem;padding:11px 20px;text-align:right!important;color:rgba(255,255,255,0.5);border-right:2px solid transparent;line-height:1.4;margin:0;width:100%}
  .nav-submenu a:hover{color:white;border-right-color:var(--accent2)}
  .nav-has-sub{position:relative;display:flex;flex-direction:column}
  .nav-has-sub.open-sub .nav-submenu{display:flex;background:rgba(255,255,255,0.06)}
  .nav-has-sub .nav-arrow{font-size:0.5rem;margin-right:6px;transition:transform 0.3s;display:inline-block;float:left;line-height:1.8}
  .nav-has-sub.open-sub .nav-arrow{transform:rotate(90deg)}
  nav .nav-cta{background:transparent!important;border:none!important;border-right:2px solid transparent!important;border-radius:0!important;color:rgba(255,255,255,0.85)!important;padding:11px 20px!important;margin-left:0!important}
  nav .nav-cta:hover{border-right-color:var(--accent)!important;color:white!important;background:rgba(59,130,246,0.08)!important}
  .hamburger{display:flex;z-index:4000}
  .menu-particle{position:fixed;width:4px;height:4px;border-radius:50%;pointer-events:none;z-index:4001;opacity:1;transition:none}
  @keyframes menuParticle{0%{transform:translate(0,0) scale(1);opacity:1}100%{opacity:0}}
}

/* ═══════════════════════════════════════════
   HERO SECTION
   ═══════════════════════════════════════════ */
#hero{position:relative;height:500vh}
@media(max-width:768px){#hero{height:100vh}.circuit-lines{display:none !important}.mobile-signs-container{display:none !important}.scroll-hint{display:none !important}#nav-dots{display:none !important}#active-label{display:none !important}}
#canvas-wrap{position:sticky;top:0;width:100%;height:100vh;overflow:hidden;z-index:1;will-change:transform;touch-action:pan-y}
#hero-placeholder{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:3;background:#0A0A0B url('assets/images/cryostat_hero.webp') center 35%/cover no-repeat;transition:opacity 0.8s ease}
@media(max-width:768px){#hero-placeholder{background-image:url('assets/images/cryostat_hero_mobile.webp');background-position:center center}}
@media(max-width:1024px) and (pointer:coarse){#hero-placeholder{background-image:url('assets/images/cryostat_hero_mobile.webp');background-position:center center}}
#hero-placeholder.loaded{opacity:0;pointer-events:none}
@media(max-width:768px){#canvas-wrap{position:fixed;top:0;left:0;pointer-events:none;transition:opacity 0.6s}#canvas-wrap.dimmed{opacity:1}}
#canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:pan-y}
@media(max-width:768px){#canvas-wrap canvas{pointer-events:none}}
#active-label{position:fixed;top:2.5rem;left:50%;transform:translateX(-50%);color:white;font-size:0.7rem;letter-spacing:0.5em;text-transform:uppercase;font-weight:400;z-index:100;pointer-events:none;transition:opacity 0.4s;opacity:0}
#active-label.show{opacity:1}
#nav-dots{position:fixed;right:2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;z-index:100;opacity:0;transition:opacity 0.4s;pointer-events:none}
#nav-dots.show{opacity:1}
.nd{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,0.2);cursor:pointer;transition:all 0.35s;border:none;padding:0}
.nd:hover{background:rgba(255,255,255,0.6)}
.nd.on{background:white;transform:scale(2)}

.hero-content{position:fixed;top:50%;left:6%;transform:translateY(-50%);z-index:10;max-width:700px;pointer-events:none;transition:opacity 0.5s}
.hero-content.fade{opacity:0}
@media(min-width:769px){.hero-content a,.hero-content button{pointer-events:auto}}
.hero-pre{font-size:0.65rem;letter-spacing:0.5em;text-transform:uppercase;color:var(--accent2);font-weight:400;margin-bottom:16px}
.hero-tagline{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:200;letter-spacing:-0.02em;line-height:1.15;margin-bottom:20px}
.hero-tagline .word{display:inline-block}
.hero-tagline .highlight{color:var(--accent);position:relative}
.hero-tagline .highlight::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.hero-sub{font-size:0.85rem;font-weight:300;line-height:1.7;color:var(--text-dim);max-width:380px;margin-bottom:32px;background:rgba(0,0,0,0.45);padding:12px 16px;border-radius:8px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
@media(max-width:768px){.hero-sub{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(0,0,0,0.55);max-width:100%}
.hero-content{display:none !important}
.hero-tagline{font-size:clamp(1.8rem,7vw,2.6rem)}
.hero-cta-group{flex-wrap:wrap}
#pillars .pillars-grid{grid-template-columns:1fr !important}
#pillars .section-grid{padding:0 5%}
#pillars .pillar{text-align:center}
#pillars .pillar-num{font-size:0.9rem;color:rgba(255,255,255,0.5)}
#pillars .pillar-title-row{justify-content:center}
#pillars .pillar-info-btn{margin-top:4px}
#pillars .pillar .read-more-wrap{max-height:none !important;overflow:visible !important}
#pillars .pillar .read-more-wrap::after{display:none !important}
#pillars .pillar .read-more-btn{display:none !important}
}
/* ── Mobile horizontal slides over cryostat ── */
#hslides{display:none}
@media(max-width:768px){
#hslides{display:block;position:fixed;top:0;left:0;width:100%;height:100vh;z-index:10;pointer-events:none;overflow:hidden}
.hslide-hint{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;display:none;align-items:center;gap:10px;color:rgba(255,255,255,0.75);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;pointer-events:none;transition:opacity 0.6s;background:rgba(0,0,0,0.65);padding:10px 20px;border-radius:24px;border:1px solid rgba(255,255,255,0.15)}
@media(max-width:768px){.hslide-hint{display:flex}}
.hslide-hint.hidden{opacity:0}
.hslide-hint-arrows{display:flex;align-items:center;gap:6px;font-size:0.9rem}
.hslide-hint-arrows{font-size:1rem}
.hslide-hint-arrows span{animation:hintPulse 2s ease infinite}
.hslide-hint-arrows span:nth-child(1){animation-delay:0s}
.hslide-hint-arrows span:nth-child(2){animation-delay:0.3s}
.hslide-hint-arrows span:nth-child(3){animation-delay:0.6s}
.hslide-hint-arrows span:nth-child(4){animation-delay:0.9s}
@keyframes hintPulse{0%,100%{opacity:0.3}50%{opacity:0.8}}
.hslide-counter{position:fixed;bottom:28px;right:20px;z-index:20;color:rgba(255,255,255,0.35);font-size:0.65rem;letter-spacing:0.1em;font-family:monospace;pointer-events:none;display:none}
@media(max-width:768px){.hslide-counter{display:block}}
.hslide{position:absolute;top:18%;left:0;width:85%;max-width:360px;transform:translate(105vw,0);padding:28px 24px;background:rgba(8,12,20,0.43);border-radius:14px;border-left:3px solid var(--accent);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);pointer-events:auto;transition:none}
.hslide[data-slide="0"]{transform:translate(5vw,0);opacity:1}
.hslide-eyebrow{font-size:0.6rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--accent2);margin-bottom:10px;font-weight:500}
.hslide h2{font-size:1.4rem;font-weight:300;line-height:1.3;letter-spacing:-0.01em;margin-bottom:12px;color:#fff}
.hslide h2 .acc{color:var(--accent)}
.hslide p{font-size:0.82rem;line-height:1.65;color:rgba(255,255,255,0.7);margin-bottom:0}
.hslide .hslide-cta{display:inline-flex;margin-top:16px;padding:8px 16px;background:linear-gradient(135deg,var(--accent),#2563eb);color:#fff;text-decoration:none;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;border-radius:4px;pointer-events:auto}
.hslide-num{font-size:0.7rem;letter-spacing:0.3em;color:var(--accent);font-weight:500;margin-bottom:6px;font-family:monospace}
.hslide h3{font-size:1.1rem;font-weight:400;color:#fff;margin-bottom:8px}
}
.mobile-signs-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:15;pointer-events:none;overflow:hidden;touch-action:pan-y}
.mobile-sign{position:absolute;top:32%;left:50%;transform:translateX(120vw);padding:18px 30px;background:rgba(12,22,45,0.88);border-radius:12px;border-top:3px solid;white-space:nowrap;pointer-events:none;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:6px;transition:none;touch-action:pan-y}
.mobile-sign .ms-icon{font-size:1.8rem}
.mobile-sign .ms-label{font-size:1.2rem;font-weight:600;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.mobile-sign .ms-sub{font-size:0.72rem;font-weight:300;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.12em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.hero-cta-group{display:flex;gap:14px;flex-wrap:nowrap}
.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,var(--accent),#2563eb);color:white;text-decoration:none;font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;font-weight:500;border-radius:4px;border:none;cursor:pointer;transition:all 0.3s;position:relative;overflow:hidden;touch-action:pan-y}
.btn-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#2563eb,var(--accent2));opacity:0;transition:opacity 0.3s}
.btn-primary:hover::before{opacity:1}
.btn-primary span{position:relative;z-index:1}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:rgba(0,0,0,0.4);color:#fff;text-decoration:none;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;font-weight:500;border-radius:4px;border:1px solid rgba(255,255,255,0.45);cursor:pointer;transition:all 0.3s;text-align:center;white-space:nowrap;touch-action:pan-y}
.btn-secondary:hover{border-color:rgba(255,255,255,0.3);color:white}

/* Scroll indicator */
.scroll-hint{position:fixed;left:50%;bottom:2.5rem;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;animation:fadeUp 0.8s ease 1.8s forwards;transition:opacity 0.6s;background:rgba(0,0,0,0.5);padding:10px 20px;border-radius:20px;border:1px solid rgba(255,255,255,0.1);pointer-events:none}
.scroll-hint span{font-size:0.7rem;letter-spacing:0.5em;text-transform:uppercase;font-weight:400;animation:hintColorPulse 2s ease infinite}
.scroll-arrows{display:flex;align-items:center;gap:12px}
.scroll-arrow{font-size:1.4rem;color:rgba(255,255,255,0.9);animation:arrowBlink 1.5s ease infinite}
.scroll-arrow-h{font-size:1.1rem;color:rgba(255,255,255,0.7);animation:arrowBlinkH 1.5s ease infinite 0.3s}
@keyframes arrowBlink{0%,100%{opacity:0.3;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}
@keyframes arrowBlinkH{0%,100%{opacity:0.2;transform:translateX(0)}50%{opacity:0.8;transform:translateX(3px)}}
@keyframes hintColorPulse{0%,100%{color:rgba(255,255,255,0.9)}50%{color:#3b82f6}}

/* Circuit lines decorative */
.circuit-lines{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.circuit-line{position:absolute;background:var(--accent);opacity:0.06}
.cl-h{height:1px;animation:circuitH 4s ease infinite}
.cl-v{width:1px;animation:circuitV 4s ease infinite}
.circuit-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:0;animation:circuitDot 4s ease infinite}
@media(max-width:768px){a,button,input,textarea,select,.pillar{touch-action:pan-y!important}.desktop-only{display:none!important}#dbg{display:none!important}}

/* ═══════════════════════════════════════════
   SECTIONS COMMON
   ═══════════════════════════════════════════ */
section{padding:120px 0;position:relative}
@media(max-width:768px){section{padding:60px 0}
#pillars,#case-study,#case-study-2,#ai-competenza,#metodo,#cta{position:relative;z-index:5;background:rgba(8,12,20,0.43) !important;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}
#pillars *,#case-study *,#case-study-2 *,#ai-competenza *,#metodo *,#cta *{color:#fff !important}
#pillars .read-more-btn,#case-study .read-more-btn,#case-study-2 .read-more-btn,#ai-competenza .read-more-btn,#metodo .read-more-btn,#cta .read-more-btn{color:#06b6d4 !important}
#pillars .read-more-btn:hover,#case-study .read-more-btn:hover,#case-study-2 .read-more-btn:hover,#ai-competenza .read-more-btn:hover,#metodo .read-more-btn:hover,#cta .read-more-btn:hover{color:#67e8f9 !important}
#pillars .pillar-info-btn{color:#06b6d4 !important}
#case-study .section-label,#ai-competenza .section-label,#metodo .section-label{color:var(--accent) !important}
#case-study .case-stat-num,#metodo .fase-num{color:var(--accent) !important}
}
.section-grid{max-width:100%;margin:0 auto;padding:0 3%}
.section-label{font-size:0.6rem;letter-spacing:0.5em;text-transform:uppercase;color:var(--accent);font-weight:400;margin-bottom:8px;font-family:var(--font-mono)}
.section-title{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:200;letter-spacing:-0.02em;line-height:1.2;margin-bottom:16px}
.section-desc{font-size:0.95rem;font-weight:300;line-height:1.8;color:var(--text-dim);max-width:600px;margin-bottom:48px}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.8s ease,transform 0.8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s}
.reveal-delay-2{transition-delay:0.2s}
.reveal-delay-3{transition-delay:0.3s}
.reveal-delay-4{transition-delay:0.4s}

/* ═══════════════════════════════════════════
   PILLARS (4 pilastri)
   ═══════════════════════════════════════════ */
#pillars{background:var(--bg2)}
@media(max-width:768px){#pillars{position:relative;z-index:5}}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}
@media(max-width:900px){.pillars-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:550px){.pillars-grid{grid-template-columns:1fr}}

.pillar{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);padding:40px 32px;position:relative;overflow:hidden;cursor:pointer;transition:all 0.5s ease;text-decoration:none}
.pillar:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.12);transform:translateY(-4px)}
.pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;transform:scaleX(0);transition:transform 0.5s ease;pointer-events:none}
.pillar:hover::before{transform:scaleX(1)}
.pillar:nth-child(1)::before{background:var(--accent)}
.pillar:nth-child(2)::before{background:var(--green)}
.pillar:nth-child(3)::before{background:var(--gold)}
.pillar:nth-child(4)::before{background:var(--accent2)}

.pillar-icon{font-size:2.4rem;display:block;opacity:1;margin-bottom:16px}
.pillar:nth-child(1) .pillar-icon{color:var(--accent)}
.pillar:nth-child(2) .pillar-icon{color:var(--green)}
.pillar:nth-child(3) .pillar-icon{color:var(--gold)}
.pillar:nth-child(4) .pillar-icon{color:var(--accent2)}

.pillar-num{font-size:0.85rem;letter-spacing:0.3em;color:rgba(255,255,255,0.4);font-family:var(--font-mono);margin-bottom:0}
.pillar-num-row{display:flex;align-items:center;margin-bottom:16px}
.pillar-num-row .pillar-num{flex:0 0 auto}
.pillar-num-row .pillar-icon{flex:1;text-align:center;margin-bottom:0}
.pillar h3{font-size:1.1rem;font-weight:500;letter-spacing:0.02em;margin-bottom:12px;color:white}
.pillar p{font-size:0.82rem;line-height:1.7;color:rgba(255,255,255,0.7);font-weight:300}
.pillar-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px;position:relative;z-index:2}
.pillar-title-row h3{margin:0}
.pillar-info-btn{position:relative;z-index:3;padding:5px 12px;background:none;border:1px solid rgba(59,130,246,0.3);border-radius:12px;color:#06b6d4;font-size:0.65rem;letter-spacing:0.06em;cursor:pointer;transition:all 0.2s;font-family:inherit;white-space:nowrap}
.pillar-info-btn:hover{border-color:#06b6d4;background:rgba(6,182,212,0.1);color:#67e8f9}
.pillar-actions{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
/* Read more collapsible — mobile only */
.read-more-wrap{position:relative;transition:max-height 0.4s ease}
.read-more-btn{display:none}
@media(max-width:768px){
.read-more-wrap{max-height:4.5em;overflow:hidden}
.read-more-btn{display:inline-block}
}
.read-more-wrap.open{max-height:2000px}
@media(max-width:768px){
.read-more-wrap:not(.open)::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2em;background:linear-gradient(transparent,var(--bg))}
.pillar .read-more-wrap:not(.open)::after{background:linear-gradient(transparent,rgba(0,0,0,0.8))}
#ai-competenza .read-more-wrap:not(.open)::after{background:linear-gradient(transparent,rgba(8,12,20,0.95))}
}
.read-more-btn{margin-top:8px;padding:0;background:none;border:none;color:#06b6d4 !important;font-size:0.72rem;letter-spacing:0.08em;cursor:pointer;font-weight:400;transition:color 0.2s}
.read-more-btn:hover{color:#67e8f9 !important}
.read-more-btn .arrow{display:inline-block;transition:transform 0.3s;margin-left:4px}
.read-more-btn.open .arrow{transform:rotate(180deg)}
.pillar-link{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,0.5);transition:color 0.3s}
.pillar-link:hover{color:white;text-decoration:none}
.pillar-link .arrow{transition:transform 0.3s;display:inline-block}
.pillar:hover .pillar-link .arrow{transform:translateX(4px)}

/* Glowing orb behind pillar on hover */
.pillar::after{content:'';position:absolute;width:200px;height:200px;border-radius:50%;filter:blur(80px);opacity:0;transition:opacity 0.5s;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}
.pillar:hover::after{opacity:0.08}
.pillar:nth-child(1)::after{background:var(--accent)}
.pillar:nth-child(2)::after{background:var(--green)}
.pillar:nth-child(3)::after{background:var(--gold)}
.pillar:nth-child(4)::after{background:var(--accent2)}

/* ═══════════════════════════════════════════
   MANIFESTO
   ═══════════════════════════════════════════ */
#manifesto{background:var(--bg);overflow:hidden}
.manifesto-content{max-width:800px;margin:0 auto;text-align:center;padding-left:5%;padding-right:5%}
.manifesto-quote{font-size:clamp(1.4rem,3vw,2.2rem);font-weight:200;line-height:1.5;letter-spacing:-0.01em;margin-bottom:32px}
.manifesto-quote .em{color:var(--accent);font-style:normal}
.manifesto-detail{font-size:0.85rem;color:var(--text-dim);line-height:1.8;font-weight:300;max-width:600px;margin:0 auto 40px}

/* Stats counters */
.stats-row{display:flex;justify-content:center;gap:60px;flex-wrap:wrap;margin-top:48px}
.stat{text-align:center}
.stat-num{font-size:clamp(2rem,4vw,3rem);font-weight:200;font-family:var(--font-mono);letter-spacing:-0.03em}
.stat-num .counter{display:inline-block}
.stat:nth-child(1) .stat-num{color:var(--accent)}
.stat:nth-child(2) .stat-num{color:var(--green)}
.stat:nth-child(3) .stat-num{color:var(--gold)}
.stat-label{font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--text-dimmer);margin-top:8px}

/* Animated separator */
.separator{width:100%;height:1px;margin:0 auto;position:relative;overflow:hidden}
.separator::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--accent),var(--accent2),transparent);animation:separatorMove 3s ease infinite}

/* ═══════════════════════════════════════════
   CASE STUDY
   ═══════════════════════════════════════════ */
#case-study{background:var(--bg2)}
.case-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);border-radius:8px;padding:48px;max-width:900px;margin:0 auto;position:relative;overflow:hidden}
.case-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green),var(--accent2))}
.case-badge{display:inline-block;font-size:0.55rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--green);border:1px solid rgba(16,185,129,0.3);padding:4px 12px;border-radius:3px;margin-bottom:20px;font-family:var(--font-mono)}
.case-title{font-size:1.4rem;font-weight:300;margin-bottom:16px}
.case-text{font-size:0.88rem;line-height:1.8;color:var(--text-dim);font-weight:300;margin-bottom:32px}
.case-results{display:flex;gap:40px;flex-wrap:wrap}
.case-stat{display:flex;align-items:baseline;gap:8px}
.case-stat-num{font-size:2rem;font-weight:200;font-family:var(--font-mono);color:var(--accent2)}
.case-stat-label{font-size:0.7rem;color:var(--text-dim);letter-spacing:0.1em;text-transform:uppercase}

/* ═══════════════════════════════════════════
   COME LAVORIAMO (4 fasi)
   ═══════════════════════════════════════════ */
#metodo{background:var(--bg)}
.fasi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.fasi-grid::before{content:'';position:absolute;top:32px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,0.2),rgba(6,182,212,0.2),transparent)}
@media(max-width:900px){.fasi-grid{grid-template-columns:repeat(2,1fr)}.fasi-grid::before{display:none}}
@media(max-width:550px){.fasi-grid{grid-template-columns:1fr}}

.fase{text-align:center;padding:24px 16px}
.fase-num{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-family:var(--font-mono);font-size:0.75rem;color:var(--accent);position:relative;transition:all 0.5s}
.fase:hover .fase-num{border-color:var(--accent);box-shadow:0 0 30px rgba(59,130,246,0.15)}
.fase h4{font-size:0.9rem;font-weight:400;letter-spacing:0.05em;margin-bottom:10px}
.fase p{font-size:0.78rem;line-height:1.7;color:var(--text-dim);font-weight:300}

/* ═══════════════════════════════════════════
   CTA SECTION
   ═══════════════════════════════════════════ */
#cta{background:var(--bg2);text-align:center;padding:100px 3%;position:relative;overflow:hidden}
#cta::before{content:'';position:absolute;top:50%;left:50%;width:600px;height:600px;background:radial-gradient(circle,rgba(59,130,246,0.06),transparent 70%);transform:translate(-50%,-50%);pointer-events:none}
.cta-title{font-size:clamp(1.6rem,3.5vw,2.6rem);font-weight:200;margin-bottom:16px}
.cta-sub{font-size:0.9rem;color:var(--text-dim);font-weight:300;max-width:550px;margin:0 auto 36px;line-height:1.7}

/* Terminal-style text */
.terminal-line{font-family:var(--font-mono);font-size:0.7rem;color:var(--text-dimmer);margin-top:32px;overflow:hidden}
.terminal-line .prompt{color:var(--green)}
.terminal-line .cmd{color:var(--text-dim)}
.cursor-blink{display:inline-block;width:7px;height:14px;background:var(--green);animation:blink 1s step-end infinite;vertical-align:middle;margin-left:2px}
@media(max-width:768px){.cursor-blink{animation:none}}

/* ═══════════════════════════════════════════
   FOOTER — minimal with header-style gradient
   ═══════════════════════════════════════════ */
footer{background:linear-gradient(to right,rgba(200,210,220,0.85) 0%,rgba(80,90,110,0.8) 25%,rgba(20,25,35,0.9) 55%,rgba(0,0,0,0.95) 100%);padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;position:relative;z-index:5}
@media(max-width:768px){footer{background:rgba(8,12,20,0.43) !important}}
.footer-brand{display:flex;align-items:center;text-decoration:none}
.footer-brand img{height:46px;width:auto;display:block}
.footer-legal{font-size:0.7rem;letter-spacing:0.08em;color:rgba(255,255,255,0.78);text-align:right}
.footer-legal a{color:rgba(255,255,255,0.78);text-decoration:none;transition:color 0.2s}
.footer-legal a:hover{color:#fff}
@media (max-width:680px){
  footer{flex-direction:column;text-align:center;gap:10px}
  .footer-legal{text-align:center}
  .footer-brand img{height:42px}
}

/* ═══════════════════════════════════════════
   KEYFRAMES
   ═══════════════════════════════════════════ */
/* Flying sign plate */
.flying-sign{position:fixed;z-index:2000;pointer-events:none;padding:8px 16px;background:rgba(12,22,45,0.92);border:1px solid rgba(255,255,255,0.15);border-radius:6px;color:white;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:400;white-space:nowrap;backdrop-filter:blur(8px);box-shadow:0 0 20px rgba(59,130,246,0.2);transition:all 0.9s cubic-bezier(0.23,1,0.32,1)}
.flying-sign .sign-icon{margin-right:8px;font-size:0.85rem}
.flying-sign .sign-sub{display:block;font-size:0.5rem;color:var(--text-dim);letter-spacing:0.2em;margin-top:2px;font-weight:300;transition:opacity 0.4s}
.flying-sign.flying{transform:scale(0.5)!important;opacity:0.8}
.flying-sign.flying .sign-sub{opacity:0}

@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes lineGrow{to{transform:scaleX(1)}}
@keyframes scrollPulse{0%,100%{opacity:0.3;transform:scaleY(1)}50%{opacity:0.8;transform:scaleY(1.2)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes separatorMove{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes circuitH{0%{width:0;opacity:0}10%{opacity:0.1}50%{width:200px;opacity:0.06}100%{width:0;opacity:0}}
@keyframes circuitV{0%{height:0;opacity:0}10%{opacity:0.1}50%{height:150px;opacity:0.06}100%{height:0;opacity:0}}
@keyframes circuitDot{0%,100%{opacity:0;transform:scale(0)}20%{opacity:0.3;transform:scale(1)}80%{opacity:0.3;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes glowPulse{0%,100%{opacity:0.4}50%{opacity:0.8}}

/* ── Language switch (flags) in the header ── */
.lang-switch{display:flex;align-items:center;gap:8px;margin-left:18px}
.lang-switch a{display:inline-flex;align-items:center;font-size:1.15rem;line-height:1;text-decoration:none;opacity:0.45;filter:grayscale(0.6);transition:opacity 0.2s,filter 0.2s,transform 0.2s}
.lang-switch a:hover{opacity:0.85;filter:grayscale(0)}
.lang-switch a.active{opacity:1;filter:grayscale(0);transform:scale(1.05)}
@media(max-width:1024px){
  .lang-switch{position:fixed;top:22px;right:62px;z-index:4000;margin:0}
  .lang-switch a{font-size:1.25rem}
}

/* ── Header right cluster (nav + flags) ── */
.header-right{display:flex;align-items:center}

/* ── Sub-page content (home design language: Helvetica + home palette) ── */
.page section{padding:84px 5%;position:relative}
.page section.alt{background:var(--bg2)}
.page .wrap{max-width:1100px;margin:0 auto}
.page .narrow{max-width:760px;margin:0 auto}
.page-hero{padding-top:150px !important;padding-bottom:56px !important}
.page-hero .section-title{font-size:clamp(2.2rem,5.5vw,3.6rem);margin-bottom:22px}
.page .section-desc.lead{font-size:1.05rem;max-width:680px}
.page p.body{font-size:0.95rem;font-weight:300;line-height:1.85;color:var(--text-dim);max-width:760px;margin-top:16px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.note{font-size:0.78rem;color:var(--text-dimmer);margin-top:14px}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:8px}
.card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:10px;padding:26px 24px}
.card h3{font-size:1.02rem;font-weight:500;color:#fff;margin-bottom:9px;letter-spacing:-0.01em}
.card p{font-size:0.88rem;font-weight:300;line-height:1.7;color:var(--text-dim)}

/* numbered steps */
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 44px;margin-top:8px}
.step{display:flex;gap:18px;align-items:flex-start}
.step .num{font-family:var(--font-mono);font-size:1.3rem;color:var(--accent);font-weight:400;line-height:1.1;min-width:2.2ch}
.step h3{font-size:1.05rem;font-weight:500;color:#fff;margin-bottom:6px}
.step p{font-size:0.88rem;font-weight:300;line-height:1.7;color:var(--text-dim)}

/* project index cards */
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,360px));gap:20px;margin-top:8px}
.project-card{display:flex;flex-direction:column;gap:10px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:10px;padding:30px 26px;text-decoration:none;transition:border-color .2s,transform .2s}
.project-card:hover{border-color:rgba(59,130,246,0.4);transform:translateY(-2px)}
.project-card .tag{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent)}
.project-card h3{font-size:1.5rem;font-weight:300;color:#fff;letter-spacing:-0.01em}
.project-card p{font-size:0.9rem;font-weight:300;color:var(--text-dim);line-height:1.6;flex:1}
.project-card .more{font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent);margin-top:4px}

@media(max-width:768px){
  .steps{grid-template-columns:1fr}
  .proj-grid{grid-template-columns:1fr}
  .page section{padding:56px 6%}
  .page-hero{padding-top:108px !important}
}

/* ===== Language switch (SVG flags) — overrides emoji version ===== */
.lang-switch{display:flex;align-items:center;gap:7px;margin-left:18px;position:static;top:auto;right:auto}
.lang-switch .lang{display:inline-flex;line-height:0;border-radius:2px;overflow:hidden;font-size:0;opacity:0.4;filter:grayscale(0.7);box-shadow:0 0 0 1px rgba(255,255,255,0.18);transition:opacity .2s,filter .2s,box-shadow .2s}
.lang-switch .lang img{display:block;width:22px;height:15px;object-fit:cover}
.lang-switch a.lang{cursor:pointer}
.lang-switch a.lang:hover{opacity:0.9;filter:grayscale(0)}
.lang-switch .lang.active{opacity:1;filter:grayscale(0);box-shadow:0 0 0 1.5px var(--accent)}
.lang-switch .disabled{cursor:not-allowed;opacity:0.22}
.lang-switch-mobile{justify-content:flex-end;margin:0 0 6px;padding:14px 20px 16px;border-bottom:1px solid rgba(255,255,255,0.08)}
@media(min-width:1025px){.lang-switch-mobile{display:none}}
@media(max-width:1024px){#header .lang-switch{display:none}}

/* ===== Footer redistributed (clean columns) ===== */
footer{display:block !important;padding:52px 5% 26px !important}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1fr 1fr;gap:30px;align-items:start;text-align:left}
.footer-brand{display:inline-flex}
.footer-brand img{height:46px;width:auto;display:block}
.footer-col{font-size:0.78rem;font-weight:300;line-height:1.75;color:var(--text-dim)}
.footer-col .footer-h{display:block;font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-dimmer);margin-bottom:10px}
.footer-col a{color:var(--text-dim);text-decoration:none;transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-col .lang-switch{margin-left:0}
.footer-bottom{max-width:1100px;margin:34px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,0.07);font-size:0.7rem;color:var(--text-dimmer);text-align:center;letter-spacing:0.04em}
@media(max-width:768px){
  .footer-inner{grid-template-columns:1fr 1fr;gap:22px}
  .footer-brand-col{grid-column:1 / -1}
}

/* ===== Language switch as dropdown (droplist) — overrides row version ===== */
.lang-switch{position:relative;display:inline-flex;align-items:center;margin-left:18px;gap:0}
.lang-current{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:4px;padding:5px 8px;cursor:pointer;line-height:0}
.lang-current:hover{border-color:rgba(255,255,255,0.3)}
.lang-current img{width:22px;height:15px;display:block;border-radius:1px}
.lang-current .caret{font-size:0.55rem;color:var(--text-dim);line-height:1;transition:transform .2s}
.lang-switch.open .lang-current .caret{transform:rotate(180deg)}
.lang-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:172px;background:rgba(8,14,28,0.98);border:1px solid rgba(255,255,255,0.1);border-radius:6px;box-shadow:0 14px 40px rgba(0,0,0,0.55);padding:6px;display:none;flex-direction:column;gap:1px;z-index:3600}
.lang-switch.open .lang-menu{display:flex}
.lang-switch.up .lang-menu{top:auto;bottom:calc(100% + 6px)}
.lang-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;text-decoration:none;font-size:0.8rem;font-weight:300;color:var(--text)}
.lang-opt img{width:22px;height:15px;border-radius:1px;flex-shrink:0;box-shadow:0 0 0 1px rgba(255,255,255,0.12)}
.lang-opt .lang-name{color:var(--text)}
.lang-opt.active{background:rgba(59,130,246,0.16)}
.lang-opt:not(.disabled):hover{background:rgba(255,255,255,0.07)}
.lang-opt.disabled{opacity:0.45;cursor:not-allowed}
.lang-opt.disabled .lang-name{color:var(--text-dim)}
.lang-opt .soon{margin-left:auto;font-size:0.56rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-dimmer)}
/* mobile: dropdown lives at top of the menu panel */
.lang-switch-mobile{margin:0 0 4px;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,0.08);justify-content:flex-end}
.lang-switch-mobile .lang-menu{right:20px}
@media(min-width:1025px){.lang-switch-mobile{display:none}}
@media(max-width:1024px){#header .lang-switch{display:none}}

/* ===== SVG icons (recolorable via mask) + icon layouts ===== */
.ico{display:inline-block;width:22px;height:22px;background:var(--accent);flex-shrink:0;
  -webkit-mask-image:var(--m);mask-image:var(--m);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain}
.ico-ai{--m:url(/assets/images/icons/ai.svg)}
.ico-globe{--m:url(/assets/images/icons/globe.svg)}
.ico-card{--m:url(/assets/images/icons/card.svg)}
.ico-quote{--m:url(/assets/images/icons/quote.svg)}
.ico-route{--m:url(/assets/images/icons/route.svg)}
.ico-article{--m:url(/assets/images/icons/article.svg)}
.ico-calendar{--m:url(/assets/images/icons/calendar.svg)}
.ico-star{--m:url(/assets/images/icons/star.svg)}
.ico-megaphone{--m:url(/assets/images/icons/megaphone.svg)}
.ico-leaf{--m:url(/assets/images/icons/leaf.svg)}

/* feature chips (SaaS short giardiniamo section) */
.feat-row{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:26px}
.feat{display:flex;align-items:center;gap:9px;font-size:0.82rem;color:var(--text-dim)}
.feat .ico{width:20px;height:20px}

/* icon cards (detail page tools) */
.icards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;margin-top:8px}
.icard{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:10px;padding:26px 24px}
.icard .ico{width:26px;height:26px;margin-bottom:14px}
.icard h3{font-size:1.02rem;font-weight:500;color:#fff;margin-bottom:8px;letter-spacing:-0.01em}
.icard p{font-size:0.88rem;font-weight:300;line-height:1.7;color:var(--text-dim)}
.ico-chat{--m:url(/assets/images/icons/chat.svg)}
.ico-camera{--m:url(/assets/images/icons/camera.svg)}
.ico-code{--m:url(/assets/images/icons/code.svg)}
.ico-layers{--m:url(/assets/images/icons/layers.svg)}
.ico-shield{--m:url(/assets/images/icons/shield.svg)}

/* ===== "Punto di vista" modal ===== */
.pov-overlay{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(2,4,10,0.74);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.pov-overlay.open{display:flex}
.pov-modal{position:relative;max-width:600px;width:100%;max-height:86vh;overflow-y:auto;background:linear-gradient(160deg,rgba(16,22,38,0.98),rgba(8,11,20,0.99));border:1px solid rgba(59,130,246,0.18);border-radius:14px;padding:42px 38px;box-shadow:0 30px 80px rgba(0,0,0,0.6)}
.pov-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-dim);font-size:1.7rem;line-height:1;cursor:pointer;padding:4px}
.pov-close:hover{color:#fff}
.pov-eyebrow{font-size:0.6rem;letter-spacing:0.45em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.pov-claim{font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:300;line-height:1.3;color:#fff;letter-spacing:-0.01em;margin:0 0 28px}
.pov-claim .acc{color:var(--accent)}
.pov-points{display:flex;flex-direction:column;gap:20px}
.pov-point{display:flex;gap:14px;align-items:flex-start}
.pov-point .ico{width:24px;height:24px;margin-top:2px}
.pov-point strong{display:block;color:#fff;font-weight:500;font-size:0.98rem;margin-bottom:3px}
.pov-point p{color:var(--text-dim);font-size:0.88rem;font-weight:300;line-height:1.65;margin:0}
.pov-closing{margin:28px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,0.09);color:var(--text);font-size:0.92rem;font-weight:300;line-height:1.7}
@media(max-width:600px){.pov-modal{padding:34px 22px}}

.ico-refresh{--m:url(/assets/images/icons/refresh.svg)}

/* ===== Modal as draggable + resizable window (fixed header + always-visible X) ===== */
.pov-overlay{display:none;align-items:initial;justify-content:initial;padding:0;background:rgba(2,4,10,0.55)}
.pov-overlay.open{display:block}
.pov-modal{position:fixed;left:50%;top:8vh;transform:translateX(-50%);width:min(600px,92vw);height:auto;max-height:84vh;min-width:300px;min-height:220px;display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid rgba(59,130,246,0.22);border-radius:14px}
.pov-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 13px 24px;border-bottom:1px solid rgba(255,255,255,0.09);background:rgba(255,255,255,0.035);cursor:move;flex-shrink:0;touch-action:none;border-radius:14px 14px 0 0}
.pov-head .pov-eyebrow{margin:0}
.pov-close{position:static;flex-shrink:0;font-size:1.6rem;padding:0 4px;line-height:1}
.pov-body{flex:1;min-height:0;overflow-y:auto;padding:24px 30px 30px}
.pov-claim{margin:0 0 24px}
.pov-resize{position:absolute;right:2px;bottom:2px;width:18px;height:18px;cursor:nwse-resize;touch-action:none}
.pov-resize::after{content:'';position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid rgba(255,255,255,0.35);border-bottom:2px solid rgba(255,255,255,0.35)}
.pov-modal{max-width:96vw}
