/* =====================================================
   DATA-GEL.EU — style.css
   Light Professional · v3.1
   Franco Filosa · Strato.de EU
   ===================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,700&family=JetBrains+Mono:wght@400;500;700&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:   #f5f7fc;
  --bg2:  #ffffff;
  --bg3:  #eef3fb;
  --bg4:  #e3ebf7;
  --bg5:  #d4e0f0;
  --b:    rgba(26,79,214,0.10);
  --b2:   rgba(26,79,214,0.16);
  --b3:   rgba(26,79,214,0.26);
  --w:    #111827;
  --w2:   #263a5f;
  --g:    #53627a;
  --g2:   #7b8aa5;
  --blue: #1a4fd6;
  --blue2:#2563eb;
  --blue3:#2e6ef7;
  --bdim: rgba(26,79,214,0.09);
  --bglow:rgba(26,79,214,0.18);
  --cyan: #06b6d4;
  --gold: #f59e0b;
  --green:#059669;
  --red:  #dc2626;
  --font: 'Inter',system-ui,sans-serif;
  --mono: 'JetBrains Mono',monospace;
  --r:    8px;
  --rl:   12px;
  --rxl:  16px;
}

:root[data-theme="dark"]{
  --bg:   #080b12;
  --bg2:  #101521;
  --bg3:  #151c2a;
  --bg4:  #1d2636;
  --bg5:  #27344a;
  --b:    rgba(255,255,255,0.08);
  --b2:   rgba(255,255,255,0.14);
  --b3:   rgba(96,165,250,0.34);
  --w:    #f4f7fb;
  --w2:   #d7e1f0;
  --g:    #9aabc4;
  --g2:   #71839d;
  --blue: #3b82f6;
  --blue2:#60a5fa;
  --blue3:#93c5fd;
  --bdim: rgba(96,165,250,0.13);
  --bglow:rgba(96,165,250,0.24);
}

html{scroll-behavior:smooth;font-size:16px}
body{background:var(--bg);color:var(--w);font-family:var(--font);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--bglow)}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--bg5);border-radius:3px}
a{color:inherit;text-decoration:none}

/* ─── TOPBAR PROMO ─── */
.topbar{
  background:linear-gradient(135deg,#1e3a8a 0%,#1d4ed8 50%,#2563eb 100%);
  text-align:center;padding:9px 2rem;
  font-size:13px;font-weight:500;color:#fff;
  display:flex;align-items:center;justify-content:center;gap:12px;
  position:relative;overflow:hidden;
}
.topbar::before{
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='0.04'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
}
.topbar a{color:#bfdbfe;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.topbar-gift{background:rgba(255,255,255,0.15);border-radius:20px;padding:2px 10px;font-size:12px;font-weight:700;border:1px solid rgba(255,255,255,0.25)}

/* ─── NAV ─── */
nav{
  position:sticky;top:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;height:64px;
  background:rgba(255,255,255,0.94);
  backdrop-filter:blur(24px) saturate(1.2);
  border-bottom:1px solid var(--b);
  transition:background .3s;
}
:root[data-theme="dark"] nav{background:rgba(16,21,33,0.94)}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-icon{
  width:34px;height:34px;background:var(--blue);border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-weight:700;font-size:12px;color:#fff;
  flex-shrink:0;letter-spacing:-0.5px;
  box-shadow:0 6px 18px rgba(26,79,214,0.18);
}
.logo-name{font-weight:800;font-size:17px;letter-spacing:1.5px;color:var(--w);text-transform:uppercase}
.logo-name em{color:var(--blue2);font-style:normal}
.logo-tld{font-family:var(--mono);font-size:10px;color:var(--g);background:var(--bg3);border:1px solid var(--b2);border-radius:5px;padding:2px 7px;letter-spacing:.5px}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-links a{font-size:13.5px;font-weight:500;color:var(--g);transition:color .2s;letter-spacing:.2px}
.nav-links a:hover,.nav-links a.active{color:var(--w)}
.nav-cta{display:flex;gap:10px}
.nav-tool{width:34px;height:34px;border-radius:8px;border:1px solid var(--b2);background:var(--bg3);color:var(--w);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s}
.nav-tool:hover{border-color:var(--b3);background:var(--bdim)}
.lang-switch{display:inline-flex;align-items:center;background:var(--bg3);border:1px solid var(--b2);border-radius:8px;overflow:hidden;height:34px}
.lang-switch button{border:0;background:transparent;color:var(--g);height:100%;padding:0 9px;font-family:var(--mono);font-size:11px;font-weight:700;cursor:pointer}
.lang-switch button.on{background:var(--blue);color:#fff}
.nav-hamburger{display:none;background:none;border:none;color:var(--w);font-size:22px;cursor:pointer;padding:4px;line-height:1}

/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;border-radius:var(--r);font-family:var(--font);font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s;border:none;white-space:nowrap;letter-spacing:.2px}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue2);transform:translateY(-1px);box-shadow:0 8px 24px rgba(37,99,235,0.35)}
.btn-outline{background:transparent;color:var(--blue2);border:1px solid rgba(37,99,235,0.45)}
.btn-outline:hover{background:var(--bdim);border-color:var(--blue2)}
.btn-ghost{background:transparent;color:var(--g);border:1px solid var(--b2)}
.btn-ghost:hover{color:var(--w);border-color:var(--b3)}
.btn-gold{background:linear-gradient(135deg,#d97706,#f59e0b);color:#000;font-weight:700}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(245,158,11,0.3)}
.btn-lg{padding:13px 28px;font-size:15px}
.btn-sm{padding:7px 16px;font-size:12.5px}

/* ─── HERO ─── */
.hero{
  padding:100px 2.5rem 80px;position:relative;overflow:hidden;
  background:radial-gradient(ellipse 900px 600px at 65% -10%, rgba(26,79,214,0.10) 0%,transparent 65%),
             radial-gradient(ellipse 500px 400px at 10% 80%,rgba(0,153,187,0.08) 0%,transparent 60%),
             linear-gradient(135deg,#f8fbff 0%,#edf3ff 100%);
}
:root[data-theme="dark"] .hero{
  background:radial-gradient(ellipse 900px 600px at 65% -10%, rgba(96,165,250,0.15) 0%,transparent 65%),
             radial-gradient(ellipse 500px 400px at 10% 80%,rgba(6,182,212,0.10) 0%,transparent 60%),
             linear-gradient(135deg,#0a1020 0%,#101827 100%);
}
.hero::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(26,79,214,0.055) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(26,79,214,0.055) 1px,transparent 1px);
  background-size:52px 52px;pointer-events:none;
}
.hero::after{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(37,99,235,0.5),transparent);
}
.hero-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 460px;gap:4rem;align-items:center;position:relative;z-index:1}
.hero-label{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:11.5px;color:var(--blue3);
  background:rgba(37,99,235,0.1);border:1px solid rgba(37,99,235,0.25);
  border-radius:20px;padding:5px 14px;margin-bottom:1.5rem;letter-spacing:.5px;
}
.hero-label::before{content:'';width:6px;height:6px;background:var(--blue);border-radius:50%;animation:pulse 2s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(37,99,235,0.4)}50%{opacity:.7;box-shadow:0 0 0 4px rgba(37,99,235,0)}}
.hero h1{font-size:clamp(34px,4vw,56px);font-weight:900;line-height:1.08;letter-spacing:-2px;color:var(--w);margin-bottom:1.25rem}
.hero h1 em{color:var(--blue2);font-style:italic;display:block}
.hero h1 .dim{color:var(--g);font-style:normal}
.hero-desc{font-size:16px;color:var(--g);line-height:1.75;max-width:500px;margin-bottom:2rem}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:2.5rem}
.hero-promo{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,rgba(245,158,11,0.1),rgba(245,158,11,0.05));
  border:1px solid rgba(245,158,11,0.3);border-radius:var(--r);
  padding:10px 16px;font-size:13px;color:#b45309;margin-bottom:2rem;
}
.hero-trust{display:flex;align-items:center;gap:1.75rem;padding-top:2rem;border-top:1px solid var(--b);flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--g)}
.trust-dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0;box-shadow:0 0 6px rgba(34,197,94,0.5)}

/* Hero Terminal */
.hero-terminal{
  background:var(--bg3);border:1px solid var(--b2);border-radius:var(--rl);
  overflow:hidden;
  box-shadow:0 20px 54px rgba(26,79,214,0.14),0 0 0 1px rgba(255,255,255,0.8),inset 0 1px 0 rgba(255,255,255,0.9);
}
.term-bar{background:var(--bg4);padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--b)}
.td{width:11px;height:11px;border-radius:50%}.td1{background:#ff5f57}.td2{background:#febc2e}.td3{background:#28c840}
.term-title{flex:1;text-align:center;font-family:var(--mono);font-size:11px;color:var(--g);letter-spacing:.5px}
.term-body{padding:1.5rem}
.tl{font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--g2);margin-bottom:4px}
.tp{color:var(--blue2)}.tc{color:var(--green)}.tg{color:var(--g2)}
.tdiv{border:none;border-top:1px solid var(--b);margin:10px 0}
.trow{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:7px;margin-bottom:6px;border:1px solid var(--b);background:var(--bg);transition:border-color .15s}
.trow:hover{border-color:rgba(37,99,235,0.3)}
.tico{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}
.tname{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--w2)}
.tmeta{font-size:11px;color:var(--g)}
.tpill{font-family:var(--mono);font-size:9.5px;padding:2px 8px;border-radius:4px;margin-left:auto;flex-shrink:0}
.pill-win{background:var(--bdim);color:var(--blue2);border:1px solid rgba(37,99,235,0.2)}
.pill-app{background:rgba(249,115,22,0.1);color:#c2410c;border:1px solid rgba(249,115,22,0.2)}
.pill-wip{background:rgba(245,158,11,0.1);color:#b45309;border:1px solid rgba(245,158,11,0.2)}
.pill-ia{background:rgba(168,85,247,0.1);color:#7c3aed;border:1px solid rgba(168,85,247,0.2)}

/* ─── STATS ─── */
.stats-bar{background:var(--bg2);border-top:1px solid var(--b);border-bottom:1px solid var(--b)}
.stats-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-cell{padding:2rem;text-align:center;border-right:1px solid var(--b)}
.stat-cell:last-child{border-right:none}
.stat-num{font-family:var(--mono);font-size:32px;font-weight:700;color:var(--w);letter-spacing:-1px;margin-bottom:4px}
.stat-num span{color:var(--blue2);font-size:22px}
.stat-lbl{font-size:12.5px;color:var(--g);letter-spacing:.3px}

/* ─── SECTIONS ─── */
.section{padding:5rem 2.5rem}
.section-inner{max-width:1160px;margin:0 auto}
.sec-tag{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--blue2);opacity:.8;text-transform:uppercase;margin-bottom:.6rem}
.sec-title{font-size:clamp(26px,3vw,38px);font-weight:800;letter-spacing:-1px;color:var(--w);margin-bottom:.6rem;line-height:1.2}
.sec-title em{color:var(--blue2);font-style:italic}
.sec-sub{font-size:15px;color:var(--g);line-height:1.75;max-width:580px}

/* ─── PRODUCT CARDS ─── */
.prod-section{background:var(--bg)}
.cat-filter{display:flex;gap:7px;flex-wrap:wrap;margin:1.5rem 0 2rem}
.cftab{padding:6px 16px;border-radius:20px;font-size:12.5px;font-weight:500;border:1px solid var(--b2);background:transparent;color:var(--g);cursor:pointer;font-family:var(--font);transition:all .2s}
.cftab:hover,.cftab.on{background:var(--bdim);color:var(--blue2);border-color:rgba(37,99,235,0.4)}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.pcard{
  background:var(--bg2);border:1px solid var(--b);border-radius:var(--rl);
  padding:1.5rem;transition:all .25s;text-decoration:none;color:inherit;display:flex;flex-direction:column;
  cursor:pointer;position:relative;overflow:hidden;
}
.pcard:hover{border-color:rgba(26,79,214,0.34);transform:translateY(-4px);box-shadow:0 16px 42px rgba(26,79,214,0.12),0 0 0 1px rgba(26,79,214,0.08)}
.pcard.featured{border-color:rgba(37,99,235,0.3);background:linear-gradient(145deg,var(--bg2),var(--bg3))}
.pcard.featured::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--blue2),transparent)}
.pcard.wip{border-style:dashed;border-color:rgba(245,158,11,0.3)}
.pcard.wip::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#f59e0b,transparent)}
.pcard-preview{height:150px;margin:-.35rem -.35rem 1rem;border-radius:12px;overflow:hidden;background:var(--bg3);border:1px solid var(--b2)}
.pcard-preview img,.product-preview img,.download-preview img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease,filter .28s ease}
.pcard:hover .pcard-preview img,.product-preview:hover img,.download-preview:hover img{transform:scale(1.045);filter:saturate(1.04)}
.pcard-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.1rem}
.pcard-icon{width:48px;height:48px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;border:1px solid var(--b2)}
.pcard-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.pbadge{font-family:var(--mono);font-size:9.5px;padding:3px 9px;border-radius:4px;font-weight:500}
.pb-win{background:var(--bdim);color:var(--blue2);border:1px solid rgba(37,99,235,0.2)}
.pb-app{background:rgba(249,115,22,0.1);color:#c2410c;border:1px solid rgba(249,115,22,0.2)}
.pb-free{background:rgba(5,150,105,0.1);color:#047857;border:1px solid rgba(5,150,105,0.2)}
.pb-pay{background:rgba(245,158,11,0.1);color:#b45309;border:1px solid rgba(245,158,11,0.2)}
.pb-ia{background:rgba(168,85,247,0.1);color:#7c3aed;border:1px solid rgba(168,85,247,0.2)}
.pb-wip{background:rgba(245,158,11,0.08);color:#b45309;border:1px dashed rgba(245,158,11,0.3)}
.pb-new{background:rgba(220,38,38,0.1);color:#b91c1c;border:1px solid rgba(220,38,38,0.2)}
.pcard-name{font-size:15.5px;font-weight:700;color:var(--w);margin-bottom:6px;line-height:1.3}
.pcard-desc{font-size:13px;color:var(--g);line-height:1.65;margin-bottom:1.25rem;flex:1}
.pcard-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--b);margin-top:auto}
.pcard-cat{font-family:var(--mono);font-size:11px;color:var(--g2)}
.pcard-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:6px;font-size:12.5px;font-weight:600;border:none;cursor:pointer;font-family:var(--font);transition:all .2s}
.pcb-blue{background:var(--blue);color:#fff}.pcb-blue:hover{background:var(--blue2)}
.pcb-out{background:var(--bdim);color:var(--blue2);border:1px solid rgba(37,99,235,0.25)}.pcb-out:hover{background:rgba(37,99,235,0.2)}
.pcb-wip{background:rgba(245,158,11,0.1);color:#b45309;border:1px dashed rgba(245,158,11,0.3)}
.pcb-gold{background:linear-gradient(135deg,#d97706,#f59e0b);color:#000;font-weight:700}.pcb-gold:hover{transform:translateY(-1px)}
.product-preview{height:180px;border-radius:14px;overflow:hidden;background:var(--bg2);border:1px solid var(--b2);margin-bottom:1rem}
.download-preview{width:96px;height:54px;border-radius:8px;overflow:hidden;background:var(--bg3);border:1px solid var(--b2);flex:0 0 auto}

/* Promo banner on card */
.pcard-promo{
  background:linear-gradient(135deg,rgba(245,158,11,0.1),rgba(245,158,11,0.05));
  border:1px solid rgba(245,158,11,0.25);border-radius:6px;
  padding:6px 10px;font-size:11px;color:#b45309;margin-bottom:.875rem;display:flex;align-items:center;gap:6px;
}

/* ─── WHY ─── */
.why-section{background:var(--bg)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--b);border:1px solid var(--b);border-radius:var(--rl);overflow:hidden;margin-top:2.5rem}
.why-cell{background:var(--bg2);padding:1.75rem 1.5rem;transition:background .2s}
.why-cell:hover{background:var(--bg3)}
.why-icon{width:42px;height:42px;border-radius:10px;border:1px solid var(--b2);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:20px}
.why-title{font-size:14px;font-weight:700;color:var(--w);margin-bottom:5px}
.why-desc{font-size:12.5px;color:var(--g);line-height:1.65}

/* ─── REQUEST MODAL (mailto link) ─── */
.request-section{background:var(--bg3);border-top:1px solid var(--b);border-bottom:1px solid var(--b);padding:4rem 2.5rem;text-align:center}
.request-box{max-width:640px;margin:0 auto}

/* ─── NEWSLETTER ─── */
.nl-section{padding:5rem 2.5rem;background:var(--bg);position:relative;overflow:hidden}
.nl-section::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(37,99,235,0.08),transparent 65%);pointer-events:none}
.nl-inner{max-width:600px;margin:0 auto;text-align:center;position:relative;z-index:1}
.nl-icon{width:56px;height:56px;background:var(--bdim);border:1px solid rgba(37,99,235,0.25);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:26px}
.nl-title{font-size:26px;font-weight:800;letter-spacing:-.5px;margin-bottom:.5rem}
.nl-sub{font-size:14.5px;color:var(--g);line-height:1.7;margin-bottom:.75rem}
.nl-form-card{background:var(--bg2);border:1px solid var(--b2);border-radius:var(--rl);padding:2rem;margin-top:2rem;text-align:left}
.nl-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fl{display:block;font-size:11.5px;font-weight:600;letter-spacing:.5px;color:var(--g);margin-bottom:5px;text-transform:uppercase}
.fi{width:100%;padding:10px 14px;background:var(--bg3);border:1px solid var(--b2);border-radius:var(--r);color:var(--w);font-size:13.5px;font-family:var(--font);outline:none;transition:border-color .2s}
.fi:focus{border-color:var(--blue2)}
.fi::placeholder{color:var(--g2)}
select.fi option{background:var(--bg3)}
.nl-gdpr{font-size:11px;color:var(--g2);line-height:1.65;margin-top:.75rem}
.nl-gdpr a{color:var(--g)}
.nl-gdpr input[type=checkbox]{accent-color:var(--blue);margin-right:5px}

/* ─── CONTACT ─── */
.contact-section{background:var(--bg2);border-top:1px solid var(--b)}
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:12px}
.contact-link{display:flex;align-items:center;gap:12px;padding:1rem 1.25rem;background:var(--bg3);border:1px solid var(--b);border-radius:var(--r);font-size:13.5px;color:var(--w2);transition:border-color .2s;text-decoration:none}
.contact-link:hover{border-color:rgba(37,99,235,0.35);color:var(--w)}
.contact-link-icon{width:36px;height:36px;background:var(--bdim);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}
.contact-link-label{font-size:11px;color:var(--g);margin-bottom:2px;font-family:var(--mono);letter-spacing:.3px}
.hosting-badge{display:flex;align-items:center;gap:7px;padding:.875rem 1.25rem;background:var(--bg3);border:1px solid var(--b);border-radius:var(--r);font-family:var(--mono);font-size:11.5px;color:var(--g)}
.hbdot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 6px rgba(34,197,94,0.5);flex-shrink:0}
.contact-form-box{background:var(--bg3);border:1px solid var(--b2);border-radius:var(--rl);padding:1.75rem}
.form-group{margin-bottom:12px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ─── FOOTER ─── */
footer{background:var(--bg2);border-top:1px solid var(--b);padding:4rem 2.5rem 2rem}
.footer-inner{max-width:1160px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--b);margin-bottom:2rem}
.footer-brand p{font-size:13px;color:var(--g);line-height:1.7;max-width:260px;margin-top:.875rem}
.footer-social{display:flex;gap:8px;margin-top:1.25rem}
.fsoc{width:34px;height:34px;border-radius:8px;background:var(--bg3);border:1px solid var(--b2);display:flex;align-items:center;justify-content:center;color:var(--g);font-size:14px;transition:all .2s}
.fsoc:hover{border-color:rgba(37,99,235,0.4);color:var(--blue2)}
.fcol-title{font-size:11.5px;font-weight:700;letter-spacing:1.5px;color:var(--w2);text-transform:uppercase;margin-bottom:1.1rem}
.flinks{list-style:none;display:flex;flex-direction:column;gap:9px}
.flinks a{font-size:13px;color:var(--g);transition:color .2s}
.flinks a:hover{color:var(--blue2)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer-copy{font-size:12px;color:var(--g2)}
.footer-host{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;color:var(--g2)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:12px;color:var(--g2);transition:color .2s}
.footer-legal a:hover{color:var(--g)}

/* ─── COOKIE ─── */
.cookie-banner{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:999;background:var(--bg2);border:1px solid var(--b2);border-radius:var(--rl);padding:1.25rem 1.5rem;max-width:640px;width:calc(100% - 3rem);display:flex;align-items:center;gap:1rem;box-shadow:0 18px 54px rgba(26,79,214,0.18);flex-wrap:wrap}
.cookie-text{font-size:12.5px;color:var(--g);line-height:1.6;flex:1;min-width:220px}
.cookie-text a{color:var(--blue2)}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}
.cbtn{padding:8px 16px;border-radius:6px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:var(--font);border:none;transition:all .2s}
.cbtn-no{background:var(--bg4);color:var(--g);border:1px solid var(--b2)}.cbtn-no:hover{color:var(--w)}
.cbtn-yes{background:var(--blue);color:#fff}.cbtn-yes:hover{background:var(--blue2)}

/* ─── MODAL RICHIESTA ─── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.8);z-index:500;display:none;align-items:center;justify-content:center;padding:1.5rem;backdrop-filter:blur(4px)}
.modal-overlay.open{display:flex}
.modal{background:var(--bg2);border:1px solid var(--b2);border-radius:var(--rxl);padding:2rem;max-width:540px;width:100%;max-height:90vh;overflow-y:auto;position:relative}
.modal-close{position:absolute;top:1rem;right:1rem;width:30px;height:30px;border-radius:7px;background:var(--bg4);border:1px solid var(--b);color:var(--g);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}
.modal-close:hover{color:var(--w);border-color:var(--b3)}
.modal-product-name{font-size:11px;color:var(--blue2);font-family:var(--mono);letter-spacing:.5px;margin-bottom:.5rem}
.modal-title{font-size:20px;font-weight:800;color:var(--w);letter-spacing:-.5px;margin-bottom:1.5rem}

/* ─── ALERT ─── */
.alert{padding:12px 16px;border-radius:var(--r);font-size:13.5px;margin-bottom:1rem;display:flex;align-items:center;gap:8px}
.alert-ok{background:rgba(5,150,105,0.1);border:1px solid rgba(5,150,105,0.2);color:#047857}
.alert-err{background:rgba(220,38,38,0.1);border:1px solid rgba(220,38,38,0.2);color:#b91c1c}

/* ─── REVEAL ANIMATION ─── */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ─── RESPONSIVE ─── */
@media(max-width:1100px){
  .hero-inner{grid-template-columns:1fr}.hero-terminal{display:none}
  .footer-grid{grid-template-columns:1fr 1fr 1fr;gap:2rem}
  .footer-grid>*:first-child{grid-column:1/-1}
}
@media(max-width:768px){
  nav{padding:0 1.25rem}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--bg2);border-bottom:1px solid var(--b);padding:1rem 1.25rem;gap:1.25rem;z-index:200}.nav-links.open{display:flex}.nav-hamburger{display:block}.nav-cta .btn-ghost{display:none}.lang-switch{display:none}
  .section,.hero,.nl-section{padding:3.5rem 1.25rem}
  .hero{padding-top:60px}
  .stats-inner{grid-template-columns:1fr 1fr}
  .stat-cell{border-right:none;border-bottom:1px solid var(--b)}
  .why-grid{grid-template-columns:1fr}
  .prod-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;text-align:center}
  .nl-form-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .hero-ctas{flex-direction:column}.hero-ctas .btn{width:100%;justify-content:center}
  footer{padding:2.5rem 1.25rem 1.5rem}
  .cookie-banner{bottom:0;border-radius:var(--rl) var(--rl) 0 0;width:100%}
  .form-row{grid-template-columns:1fr}
}
