/* ============ TOKENS ============ */
:root{
  --blue:#277AFF;          /* primary brand blue: buttons, labels, "Con Alva" */
  --blue-strong:#1B60F5;   /* icons, borders, graphs, radial origin */
  --blue-2:#59A5FF;        /* AI label, small decorative */
  --blue-logo:#1369F4;
  --lime:#C4F60D;          /* manifesto base */
  --lime-dark:#A0CB00;     /* manifesto gradient dark */
  --lime-1:#C0F500;        /* CTA gradient sides */
  --lime-2:#DBFF5B;        /* CTA gradient center */
  --ink:#000000;           /* main titles */
  --hero-ink:#1D1D1D;      /* hero title */
  --body:#71717A;          /* secondary text / descriptions */
  --review-ink:#0B0A0B;
  --card:#F5F8FE;          /* light section / feature card */
  --faq:#F9F9F9;
  --line:#EEEEEE;
  --line-blue:#D1DFFA;
  --line-2:#D4D4D8;
  --star:#F59E0B;
  --neg:#F26969;
  --neg-strong:#DA432F;
  --pos:#37A45E;
  --footer:#171717;
  --maxw:1312px;
  --gutter:64px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--ink);
  background:#fff;
  font-size:18px;
  line-height:1.4;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}

.container{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--gutter);
  width:100%;
}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:600;font-size:17px;border-radius:999px;
  padding:14px 26px;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;
  border:none;
}
.btn-primary{background:var(--blue);color:#fff;}
.btn-primary:hover{background:var(--blue-strong);transform:translateY(-1px);}
.btn-white{background:#fff;color:var(--blue);padding:16px 34px;font-size:19px;box-shadow:0 6px 20px rgba(0,0,0,.06);}
.btn-white:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(0,0,0,.10);}

/* ============ HEADER ============ */
.site-header{position:sticky;top:0;z-index:50;background:#fff;}
.nav{display:flex;align-items:center;height:96px;gap:24px;}
.logo{display:inline-flex;align-items:center;}
.logo-img{height:42px;width:auto;display:block;}
.main-nav{display:flex;gap:38px;margin:0 auto;}
.main-nav a{font-size:16px;font-weight:400;color:#1D1D1D;transition:color .15s ease;}
.main-nav a:hover{color:var(--blue);}
.nav-cta{margin-left:auto;font-size:16px;}

/* ============ HERO ============ */
.hero{position:relative;overflow:hidden;padding-bottom:40px;}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;position:relative;z-index:2;padding-top:36px;}
.hero-copy{max-width:640px;}
.hero h1{
  font-size:72px;line-height:1.15;font-weight:700;letter-spacing:-1px;margin:0 0 26px;color:var(--hero-ink);
}
.hero-lead{font-size:20px;line-height:1.5;color:#1D1D1D;max-width:560px;margin:0 0 30px;font-weight:400;}
.hero-lead strong{font-weight:700;color:#000;}
.store-badges{display:flex;gap:14px;flex-wrap:wrap;}
.store-link{display:inline-flex;transition:transform .15s ease;}
.store-link:hover{transform:translateY(-2px);}
.store-link img{height:50px;width:auto;display:block;}
.hero-visual{position:relative;justify-self:end;}
.hero-visual img{width:min(560px,100%);margin-left:auto;filter:drop-shadow(0 30px 60px rgba(20,40,90,.12));}

/* hero decorative background: soft radial + arcs */
.hero-blob{position:absolute;border-radius:50%;z-index:1;pointer-events:none;}
.hero-blob-1{width:720px;height:720px;
  background:radial-gradient(circle at 50% 45%,rgba(27,96,245,.16) 0%,rgba(94,145,255,.10) 42%,rgba(255,255,255,0) 70%);
  top:-120px;right:-80px;}
.hero-c{position:absolute;top:20px;right:-120px;width:520px;z-index:1;opacity:.85;pointer-events:none;}

.scopri{
  position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;
  margin:30px auto 0;color:var(--blue);font-weight:600;font-size:19px;
  padding-top:40px;
  background:linear-gradient(180deg,rgba(219,232,255,0) 0%,rgba(224,235,255,.45) 100%);
}
.scopri svg{animation:bob 1.8s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

/* ============ SECTION SHARED ============ */
.eyebrow{color:var(--blue);font-weight:700;font-size:14px;letter-spacing:1.4px;text-transform:uppercase;margin:0 0 14px;}
.eyebrow-center{text-align:center;}
.section-title{font-size:48px;line-height:1.1;font-weight:700;letter-spacing:-1px;margin:0 0 18px;color:var(--ink);}
.section-title.center{text-align:center;}
.section-sub{font-size:18px;line-height:1.55;color:var(--body);margin:0 auto;max-width:760px;}
.section-sub.center{text-align:center;}
.ink{color:var(--ink);font-weight:700;}

/* ============ FEATURES ============ */
.features{padding:90px 0 70px;text-align:center;}
.features .eyebrow{text-align:center;}
.features .section-sub{margin-bottom:56px;}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;text-align:left;}
.feature-card{background:var(--card);border:1px solid #EDF1F8;border-radius:22px;padding:30px 28px 34px;}
.feat-icon{width:48px;height:48px;display:block;margin-bottom:26px;}
.feature-card h3{font-size:24px;font-weight:700;margin:0 0 12px;color:var(--ink);}
.feature-card p{font-size:16px;line-height:1.55;color:var(--body);margin:0;}

/* ============ MANIFESTO (LIME) ============ */
.manifesto{background:var(--lime);position:relative;overflow:hidden;}
.manifesto::before{content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,var(--lime) 0%,var(--lime) 45%,rgba(160,203,0,.55) 100%);
  pointer-events:none;}
.manifesto-inner{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;min-height:560px;position:relative;z-index:2;}
.manifesto-copy{padding:70px 0;position:relative;z-index:2;}
.manifesto h2{font-size:74px;line-height:1.12;font-weight:700;letter-spacing:-1.4px;margin:0 0 22px;color:#000;}
.manifesto-copy p{font-size:20px;color:#0B0A0B;margin:0 0 34px;font-weight:500;}
.manifesto-visual{position:absolute;top:0;right:0;bottom:0;width:48%;z-index:1;}
.manifesto-visual::before{content:"";position:absolute;right:2%;top:6%;width:78%;height:82%;background:rgba(255,255,255,.16);transform:rotate(40deg);border-radius:52px;}
.manifesto-visual img{position:absolute;right:-10px;bottom:-30px;height:132%;width:auto;max-width:none;margin:0;filter:drop-shadow(0 24px 50px rgba(20,40,10,.16));}

/* ============ METODO / COMPARE ============ */
.metodo{background:var(--card);padding:96px 0 110px;text-align:center;}
.metodo .eyebrow{text-align:center;}
.metodo .section-sub{margin-bottom:56px;}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:34px;text-align:left;max-width:1140px;margin:0 auto;}
.compare-card{border-radius:26px;padding:44px 46px;}
.compare-other{background:#fff;border:1px solid #EAEEF5;}
.compare-alva{background:linear-gradient(135deg,var(--blue) 0%,var(--blue-strong) 100%);position:relative;overflow:hidden;}
.compare-alva::after{content:"";position:absolute;top:-60px;right:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.09);}
.compare-card h3{font-size:26px;font-weight:700;margin:0 0 28px;}
.compare-other h3{color:var(--ink);}
.compare-alva h3{color:#fff;position:relative;z-index:1;}
.compare-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:24px;position:relative;z-index:1;}
.compare-card li{display:flex;gap:16px;align-items:flex-start;}
.compare-card li p{margin:0;font-size:16.5px;line-height:1.5;}
.compare-other li p{color:var(--body);}
.compare-other li p strong{color:var(--ink);font-weight:700;}
.compare-alva li p{color:rgba(255,255,255,.82);}
.compare-alva li p strong{color:#fff;font-weight:700;}
.ico-x,.ico-check{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;}
.ico-x{background:#FBE0E0;}
.ico-check{background:var(--lime);}

/* ============ AI DARK ============ */
.ai{background:linear-gradient(160deg,#0A1E3D 0%,#06132A 45%,#03060F 100%);color:#fff;padding:96px 0 100px;position:relative;overflow:hidden;}
.ai::before{content:"";position:absolute;top:-12%;right:-4%;width:640px;height:640px;
  background:radial-gradient(circle,rgba(27,96,245,.28) 0%,rgba(27,96,245,0) 62%);pointer-events:none;}
.ai-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;position:relative;z-index:2;}
.eyebrow-on-dark{color:var(--blue-2);}
.ai h2{font-size:48px;line-height:1.1;font-weight:700;letter-spacing:-1px;margin:0 0 22px;color:#fff;}
.ai-lead{font-size:18px;line-height:1.55;color:#EAECEF;margin:0 0 36px;max-width:640px;}
.ai-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:26px;}
.ai-list li{display:flex;gap:16px;align-items:flex-start;}
.ai-list li p{margin:0;font-size:16.5px;line-height:1.5;color:#F0F0F0;}
.ai-list li p strong{color:#fff;font-weight:700;}
.ai-visual{display:flex;flex-direction:column;align-items:flex-end;gap:18px;}
.ai-bubble{width:min(560px,100%);height:auto;filter:drop-shadow(0 12px 30px rgba(0,0,0,.35));}
.ai-card{width:min(560px,100%);height:auto;border-radius:20px;filter:drop-shadow(0 20px 44px rgba(0,0,0,.45));}

/* ============ VANTAGGI ============ */
.vantaggi{padding:100px 0 40px;}
.vantaggi .section-title.center{margin-bottom:110px;}
.benefit{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:120px;}
.benefit-copy h3{font-size:65px;line-height:1.1;font-weight:700;letter-spacing:-1.3px;margin:0 0 22px;color:var(--ink);}
.benefit-copy h3 .blue{color:var(--blue);}
.benefit-copy p{font-size:18px;line-height:1.55;color:var(--body);margin:0;max-width:470px;}
.benefit-visual img{width:100%;filter:drop-shadow(0 24px 50px rgba(20,40,90,.10));}
.benefit-1 .benefit-visual{justify-self:end;max-width:560px;}
.benefit-2 .benefit-visual{justify-self:start;max-width:560px;}
.benefit-3 .benefit-visual{justify-self:end;max-width:600px;}
.chart-card{background:#fff;border:1px solid #EEF1F6;border-radius:24px;padding:40px 44px;box-shadow:0 24px 50px rgba(20,40,90,.08);}
.chart-card img{filter:none;}

/* ============ REVIEWS ============ */
.reviews{background:var(--card);padding:90px 0 96px;}
.reviews .section-sub{margin-bottom:56px;}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.review-card{background:#fff;border:1px solid #EAEEF5;border-radius:20px;padding:34px 34px 30px;display:flex;flex-direction:column;min-height:230px;}
.stars{color:var(--star);font-size:20px;letter-spacing:3px;margin-bottom:22px;}
.quote{font-size:17px;line-height:1.55;color:var(--review-ink);margin:0 0 auto;}
.reviewer{display:flex;align-items:center;gap:14px;margin-top:26px;}
.avatar{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;font-weight:700;font-size:15px;}
.av-blue{background:#BBD4FF;color:#2C68D6;}
.av-green{background:#BEE3B6;color:#3E9A46;}
.av-orange{background:#FBE0C8;color:#E38A3A;}
.rev-name{font-weight:600;font-size:16px;color:var(--review-ink);}

/* ============ FAQ ============ */
.faq{padding:90px 0 110px;}
.faq .section-title.center{margin-bottom:50px;}
.faq-list{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:18px;}
.faq-item{background:var(--faq);border:1px solid var(--line);border-radius:16px;padding:0 30px;overflow:hidden;}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:20px;font-weight:600;color:var(--ink);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-icon{position:relative;flex:0 0 auto;width:22px;height:22px;}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;background:var(--blue);border-radius:2px;transition:opacity .2s ease,transform .2s ease;}
.faq-icon::before{top:10px;left:2px;width:18px;height:2.4px;}
.faq-icon::after{left:9.8px;top:2px;width:2.4px;height:18px;}
.faq-item[open] .faq-icon::after{opacity:0;transform:rotate(90deg);}
.faq-body{padding:0 0 26px;max-width:820px;}
.faq-body p{margin:0;font-size:17px;line-height:1.6;color:var(--body);}

/* ============ CTA ============ */
.cta{background:var(--lime);position:relative;overflow:hidden;}
.cta::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--lime-1) 0%,var(--lime-2) 50%,var(--lime-1) 100%);
  opacity:.9;pointer-events:none;}
.cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;min-height:520px;position:relative;z-index:2;}
.cta-copy{padding:80px 0;position:relative;z-index:2;}
.cta h2{font-size:64px;line-height:1.08;font-weight:700;letter-spacing:-1.3px;margin:0 0 24px;color:#000;}
.cta-copy p{font-size:19px;line-height:1.5;color:#0B0A0B;margin:0 0 32px;font-weight:500;}
.cta-visual{position:absolute;top:0;right:0;bottom:0;width:54%;z-index:1;}
.cta-visual::before{content:"";position:absolute;right:4%;top:-6%;width:70%;height:70%;background:rgba(255,255,255,.16);transform:rotate(40deg);border-radius:52px;}
.cta-visual img{position:absolute;right:-40px;top:46px;width:min(700px,52vw);max-width:none;height:auto;filter:drop-shadow(0 24px 50px rgba(20,40,10,.16));}

/* ============ FOOTER ============ */
.site-footer{background:var(--footer);color:#fff;}
.site-footer .logo-img{height:46px;}
.footer-inner{display:flex;align-items:center;gap:30px;height:150px;}
.footer-links{display:flex;gap:34px;margin:0 auto;font-family:'DM Sans',sans-serif;}
.footer-links a{color:#C9CCD1;font-size:16px;transition:color .15s ease;}
.footer-links a:hover{color:#fff;}
.copyright{color:#9AA0A8;font-size:16px;margin-left:auto;font-family:'DM Sans',sans-serif;}

/* ============ RESPONSIVE ============ */
@media (max-width:1200px){
  :root{--gutter:40px;}
  .hero h1{font-size:58px;}
  .section-title{font-size:42px;}
  .manifesto h2{font-size:56px;}
  .cta h2{font-size:50px;}
  .ai h2{font-size:40px;}
  .benefit-copy h3{font-size:48px;}
  .feature-grid{gap:18px;}
  .feature-card{padding:26px 22px 28px;}
}
@media (max-width:900px){
  .nav{height:76px;gap:14px;}
  .main-nav{display:none;}
  .hero-inner{grid-template-columns:1fr;gap:10px;padding-top:16px;}
  .hero-copy{max-width:none;}
  .hero h1{font-size:46px;letter-spacing:-.8px;}
  .hero-visual{justify-self:center;margin-top:20px;}
  .hero-visual img{margin:0 auto;width:min(440px,90%);}
  .hero-c{display:none;}
  .feature-grid{grid-template-columns:repeat(2,1fr);}
  .manifesto-inner,.cta-inner{grid-template-columns:1fr;min-height:0;}
  .manifesto-copy,.cta-copy{padding:56px 0 0;text-align:center;}
  .manifesto-copy .btn-white{margin-inline:auto;}
  .manifesto-visual,.cta-visual{position:static;width:auto;height:auto;}
  .manifesto-visual::before,.cta-visual::before{display:none;}
  .manifesto-visual img,.cta-visual img{position:static;top:auto;bottom:auto;right:auto;height:auto;width:min(460px,88%);margin:30px auto 0;}
  .compare,.ai-inner,.benefit{grid-template-columns:1fr;gap:34px;}
  .ai-visual{align-items:center;}
  .benefit-2 .benefit-visual{order:-1;}
  .benefit-1 .benefit-visual,.benefit-2 .benefit-visual,.benefit-3 .benefit-visual{justify-self:center;margin:0 auto;}
  .benefit-copy p{max-width:none;}
  .review-grid{grid-template-columns:1fr;}
  .section-title{font-size:36px;}
  .manifesto h2,.cta h2{font-size:44px;}
  .ai h2{font-size:36px;}
  .benefit-copy h3{font-size:40px;}
  .footer-inner{flex-direction:column;height:auto;padding-top:40px;padding-bottom:40px;gap:22px;}
  .footer-links{margin:0;flex-wrap:wrap;justify-content:center;}
  .copyright{margin:0;}
}
@media (max-width:560px){
  :root{--gutter:22px;}
  .hero h1{font-size:38px;}
  .hero-lead{font-size:18px;}
  .feature-grid{grid-template-columns:1fr;}
  .section-title{font-size:30px;}
  .manifesto h2,.cta h2{font-size:34px;}
  .benefit-copy h3{font-size:34px;}
  .compare-card{padding:30px 26px;}
  .store-badges{justify-content:center;}
}
