/* Luxury-natural: verde chiaro + botanico + premium */
:root{
  --bg:#f4f6f2;
  --ink:#10221b;
  --muted:#3b4b44;
  --card:#ffffff;
  --line:#dfe7df;
  --a:#78bfa0;   /* sage */
  --b:#2f7a58;   /* forest */
  --gold:#c7ab6a;
  --shadow: 0 14px 36px rgba(16,34,27,.10);
  --r:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background:var(--bg);
  color:var(--ink);
}

/* Headings: più luxury */
h1, h2, h3, .brand-name{
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
h1, h2{letter-spacing:-.02em}

.wrap{max-width:1100px;margin:0 auto;padding:0 20px}

.topbar{
  position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(140%) blur(10px);
  background:rgba(244,246,242,.72);
  border-bottom:1px solid var(--line);
}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;gap:10px;align-items:center;font-weight:800}
.brand-badge{
  width:36px;height:36px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--a),var(--b));
  color:#fff;
}
.brand-name{letter-spacing:.2px}
.nav{display:flex;gap:14px;align-items:center}
.nav a{color:var(--muted);text-decoration:none;font-weight:650}
.nav a:hover{color:var(--ink)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 22px;border-radius:999px;
  background:linear-gradient(135deg,var(--a),var(--b));
  color:#fff;text-decoration:none;font-weight:900;
  border:1px solid rgba(47,122,88,.18);
  box-shadow: var(--shadow);
}
.btn:hover{filter:saturate(1.05) brightness(1.02)}
.btn:hover{transform:translateY(-1px)}
.btn.small{padding:10px 16px;box-shadow:none}
.btn.ghost{background:transparent;box-shadow:none;color:var(--muted);border:1px solid var(--line)}
.btn:active{transform:translateY(0)}

.hero{
  padding:54px 0 34px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(1200px 520px at 16% 0%, rgba(120,191,160,.26), transparent 60%),
    radial-gradient(1000px 520px at 86% 0%, rgba(199,171,106,.18), transparent 56%),
    url("assets/floral-pattern.svg");
  background-repeat:no-repeat, no-repeat, repeat;
  background-size:auto, auto, 240px 240px;
}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}
.pill{
  display:inline-block;
  padding:8px 12px;border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--line);
  color:var(--muted);font-weight:900;
}
.hero h1{font-size:48px;line-height:1.06;margin:14px 0 14px}
.hero p{font-size:18px;color:var(--muted);max-width:52ch}
.hero-illu img{width:100%;height:auto;filter: drop-shadow(0 18px 32px rgba(25,25,60,.10));}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.mini-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.mini{
  padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.75);
  border:1px solid var(--line); color:var(--muted); font-weight:800;
}

.scroll-hint{margin-top:14px;text-align:center;color:var(--muted);font-weight:700}

/* Video section */
.video{
  padding:56px 0;
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(120,191,160,.18), transparent 55%),
    radial-gradient(900px 420px at 88% 0%, rgba(199,171,106,.12), transparent 55%),
    url("assets/floral-pattern.svg");
  background-repeat:no-repeat, no-repeat, repeat;
  background-size:auto, auto, 280px 280px;
}
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}
.video-copy h2{font-size:34px;margin:0 0 10px}
.video-copy p{color:var(--muted);margin:0 0 12px;max-width:70ch}
.video-points{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.vp{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.75);
  border:1px solid var(--line);
  color:var(--muted);
  font-weight:900;
}
.video-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius: var(--r);
  padding:12px;
  box-shadow: var(--shadow);
}
.video-player{
  width:100%;
  height:auto;
  display:block;
  border-radius:18px;
  background:#0b0b18;
}

.story{padding:56px 0}
.story h2{font-size:34px;margin:0 0 18px}
.scene{
  display:grid;grid-template-columns: .9fr 1.1fr;gap:22px;align-items:center;
  background:rgba(255,255,255,.78);
  border:1px solid var(--line);
  border-radius: var(--r);
  padding:22px;
  box-shadow: var(--shadow);
  margin:18px 0;
}
.scene.reverse{grid-template-columns: 1.1fr .9fr}
.scene.reverse .scene-illu{order:2}
.scene-illu img{width:100%;height:auto}
.scene h3{margin:0 0 10px;font-size:22px}
.scene p{margin:0;color:var(--muted);font-size:16px}
.badges, .good{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.badge{
  padding:8px 10px;border-radius:999px;
  background:#fff;border:1px solid var(--line);font-weight:900;color:var(--muted);
}
.badge.ok{background:rgba(120,191,160,.12);border-color:rgba(120,191,160,.26)}
.flow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.flow-item{
  padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);
  font-weight:900;color:var(--muted)
}
.flow-arrow{font-weight:900;color:rgba(63,63,100,.55)}

.modules{padding:56px 0}
.modules h2{font-size:34px;margin:0 0 18px}
.grid{
  display:grid;grid-template-columns: repeat(2, 1fr);gap:16px;
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius: var(--r);
  padding:20px;
  box-shadow: var(--shadow);
}
.card-title{font-weight:950;font-size:20px;margin-bottom:8px}
.card p{margin:0 0 10px;color:var(--muted)}
.card ul{margin:0;padding-left:18px;color:var(--muted)}
.card li{margin:6px 0}

.pricing{padding:56px 0}
.pricing h2{font-size:34px;margin:0 0 10px}
.pricing .sub{color:var(--muted);margin:0 0 18px;max-width:70ch}
.plan .price{
  font-weight:950;
  font-size:34px;
  margin:10px 0 10px;
  letter-spacing:-.02em;
  color:var(--ink);
}
.plan .price span{font-size:14px;font-weight:850;color:rgba(70,70,100,.70)}
.plan.highlight{
  background:linear-gradient(135deg, rgba(120,191,160,.14), rgba(199,171,106,.12));
  border-color:rgba(120,191,160,.30);
}
.plan .smallprint{margin-top:10px}

.result{padding:56px 0}
.result-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}
.result h2{font-size:34px;margin:0 0 10px}
.result p{color:var(--muted);margin:0 0 14px;max-width:60ch}
.kpis{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.kpi{
  display:flex;gap:10px;align-items:center;
  padding:12px 14px;border-radius:18px;background:#fff;border:1px solid var(--line);
  box-shadow: var(--shadow);
}
.kpi-n{font-size:18px}
.kpi-t{font-weight:900;color:var(--muted)}
.bubble{
  background: linear-gradient(135deg, rgba(120,191,160,.12), rgba(199,171,106,.10));
  border:1px solid var(--line);
  border-radius: var(--r);
  padding:20px;
  box-shadow: var(--shadow);
}
.bubble-title{font-weight:950;margin-bottom:10px}
.bubble-row{
  display:flex;gap:10px;align-items:center;
  padding:10px 12px;margin:8px 0;border-radius:16px;background:#fff;border:1px solid var(--line);
  font-weight:900;color:var(--muted)
}
.bubble-row span{
  width:28px;height:28px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--a),var(--b));color:#fff;font-weight:950;
}

.final-cta{padding:66px 0;text-align:center}
.final-cta h2{font-size:36px;margin:0 0 10px}
.final-cta p{color:var(--muted);margin:0 auto 14px;max-width:64ch}
.smallprint{margin-top:12px;color:rgba(70,70,100,.65);font-size:13px}

.footer{padding:22px 0;border-top:1px solid var(--line);background:#fff}
.footer-inner{display:flex;justify-content:space-between;align-items:center;color:rgba(70,70,100,.75);font-weight:700;flex-wrap:wrap;gap:10px}
.footer-links{display:flex;gap:12px}
.footer-links a{color:rgba(70,70,100,.75);text-decoration:none}
.footer-links a:hover{color:var(--ink)}

/* Reveal on scroll (fallback sicuro: se JS non parte, il testo resta visibile) */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease, transform .55s ease}
.js .reveal.is-in{opacity:1;transform:translateY(0)}

@media (prefers-reduced-motion: reduce){
  .js .reveal{transition:none;transform:none;opacity:1}
}

@media (max-width: 920px){
  .hero-grid{grid-template-columns:1fr;gap:14px}
  .hero h1{font-size:40px}
  .scene, .scene.reverse{grid-template-columns:1fr}
  .scene.reverse .scene-illu{order:0}
  .grid{grid-template-columns:1fr}
  .result-grid{grid-template-columns:1fr}
  .video-grid{grid-template-columns:1fr}
  .nav{display:none}
}


/* Contact */
.contact{padding:56px 0;background:
  radial-gradient(900px 420px at 10% 0%, rgba(120,191,160,.18), transparent 55%),
  radial-gradient(900px 420px at 90% 0%, rgba(199,171,106,.12), transparent 55%),
  url("assets/floral-pattern.svg");
  background-repeat:no-repeat, no-repeat, repeat;
  background-size:auto, auto, 300px 300px;
}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;align-items:start}
.contact-copy h2{font-size:34px;margin:0 0 10px}
.contact-copy p{color:var(--muted);margin:0 0 14px;max-width:62ch}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.contact-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;box-shadow:var(--shadow);
}
.cc-title{font-weight:950;margin-bottom:6px}
.cc-text{color:var(--muted);font-weight:650;margin-bottom:10px}
.contact-form{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);
}
.form-title{font-weight:950;font-size:20px;margin-bottom:10px}
form label{display:block;font-weight:900;color:var(--muted);margin:10px 0 6px}
input, textarea{
  width:100%;padding:12px 12px;border-radius:14px;border:1px solid var(--line);
  background:rgba(246,247,251,.6);outline:none;
}
input:focus, textarea:focus{border-color:rgba(47,122,88,.55);box-shadow:0 0 0 4px rgba(120,191,160,.14)}
.form-note{margin-top:10px;color:rgba(70,70,100,.65);font-size:13px;font-weight:650}
.privacy-note{margin-top:10px;color:rgba(70,70,100,.75);font-weight:700}
.privacy-note a{color:rgba(70,70,100,.75);text-decoration:underline}
@media (max-width: 920px){
  .contact-grid{grid-template-columns:1fr}
  .contact-cards{grid-template-columns:1fr}
}

/* Footer ownership line */
.footer-left{display:flex;flex-direction:column;gap:4px}
.footer-meta{font-size:12px;line-height:1.25;color:rgba(70,70,100,.72);font-weight:650}

/* Privacy page card */
.privacy-card{
  margin:14px 0 24px;
  padding:16px 16px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
}

/* Academy */
.academy-hero .hero-illu img{max-width:420px;margin-left:auto}
.academy-sub{margin:0 0 14px;color:var(--muted);max-width:70ch}

.academy{padding:56px 0}

/* Manifesto (Academy testo unico) */
.manifesto .reading{
  max-width: 78ch;
  font-size: 17px;
  line-height: 1.75;
}
.manifesto .reading h3{
  margin: 22px 0 10px;
  font-size: 22px;
}
.manifesto .reading p{margin: 0 0 14px}
.manifesto .reading ul, .manifesto .reading ol{padding-left: 20px; margin: 10px 0 16px}
.manifesto .reading li{margin: 8px 0}

.lux{
  color: var(--b);
  text-decoration: underline;
  text-decoration-color: rgba(199,171,106,.55);
  text-underline-offset: 6px;
}

.muted{color: var(--muted)}
.quote-card{
  background:
    radial-gradient(900px 420px at 10% 0%, rgba(120,191,160,.18), transparent 55%),
    radial-gradient(900px 420px at 90% 0%, rgba(199,171,106,.14), transparent 55%),
    rgba(255,255,255,.9);
  border: 1px solid rgba(120,191,160,.28);
  border-left: 6px solid rgba(199,171,106,.85);
  border-radius: var(--r);
  padding: 18px 18px;
  box-shadow: var(--shadow);
  margin: 16px 0 18px;
}
.quote-title{
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(47,122,88,.92);
  font-size: 12px;
}
.quote-big{
  font-weight: 950;
  font-size: 30px;
  margin: 8px 0 6px;
}
.quote-sub{
  color: var(--muted);
  max-width: 80ch;
}


.academy-tabs{
  display:flex;gap:10px;flex-wrap:wrap;
  padding:10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.65);
  box-shadow: var(--shadow);
  margin:12px 0 18px;
}
.tab-btn{
  cursor:pointer;
  border:1px solid var(--line);
  background:#fff;
  color:var(--muted);
  font-weight:950;
  padding:10px 14px;
  border-radius:999px;
}
.tab-btn:hover{transform:translateY(-1px)}
.tab-btn.is-active{
  background:linear-gradient(135deg, rgba(120,191,160,.22), rgba(199,171,106,.16));
  border-color:rgba(120,191,160,.32);
}

.tab-panel{display:none}
.tab-panel.is-active{display:block}

.academy-banner{
  display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  padding:14px 16px;
  border-radius:18px;
  background: linear-gradient(135deg, rgba(120,191,160,.14), rgba(199,171,106,.10));
  border:1px solid var(--line);
  box-shadow: var(--shadow);
  margin:10px 0 16px;
}
.academy-banner-title{font-weight:950;color:var(--muted)}
.academy-banner-copy{color:var(--muted);font-weight:900}

.accordion{display:flex;flex-direction:column;gap:10px}
.acc-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow: var(--shadow);
  overflow:hidden;
}
.acc-h{
  width:100%;
  text-align:left;
  padding:14px 16px;
  border:0;
  background:rgba(246,247,251,.65);
  font-weight:950;
  color:var(--muted);
  cursor:pointer;
}
.acc-h::after{
  content:"+";
  float:right;
  font-weight:950;
  opacity:.7;
}
.acc-item.is-open .acc-h::after{content:"–"}
.acc-c{display:none}
.acc-item.is-open .acc-c{display:block}
.acc-pad{padding:0 16px 16px;color:var(--muted)}
.acc-pad h4{margin:12px 0 8px;color:var(--muted)}
.acc-pad ul, .acc-pad ol{margin:0;padding-left:18px}
.acc-pad li{margin:6px 0}
.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}

.academy-steps{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.step{
  display:flex;gap:10px;align-items:center;
  padding:10px 12px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--line);
  font-weight:900;
  color:var(--muted);
}
.step span{
  width:28px;height:28px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--a),var(--b));color:#fff;font-weight:950;
}
.academy-note{margin-top:10px;color:rgba(70,70,100,.72);font-weight:700}

.do-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:14px}
.do-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:16px;box-shadow:var(--shadow);
}
.do-wide{grid-column:1 / -1}
.do-title{font-weight:950;font-size:18px;margin-bottom:6px;color:var(--muted)}
.do-sub{margin:0 0 10px;color:var(--muted);font-weight:650}
.checklist{display:flex;flex-direction:column;gap:10px}
.checklist label{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-weight:800}
.checklist input{margin-top:2px}
.do-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

.qa label{display:block;margin:10px 0 6px;font-weight:900;color:var(--muted)}
.qa textarea{width:100%}

.progress{
  height:12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(246,247,251,.75);
  overflow:hidden;
}
.progress-bar{height:100%;width:0%;background:linear-gradient(135deg,var(--a),var(--b))}
.progress-meta{margin:8px 0 10px;color:rgba(70,70,100,.72);font-weight:800}

.bootcamp{display:flex;flex-direction:column;gap:10px;margin-top:8px}

.download-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:14px}
.download-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow)}
.download-title{font-weight:950;color:var(--muted);margin-bottom:6px}
.download-sub{margin:0 0 12px;color:var(--muted);font-weight:650}

@media (max-width: 920px){
  .do-grid{grid-template-columns:1fr}
  .download-grid{grid-template-columns:1fr}
}

/* Academy v2 (Levels / Quiz / Timer) */
.level-block{margin-top:10px}
.level-head{font-weight:950;letter-spacing:.3px;text-transform:uppercase;color:var(--muted)}
.level-sub{margin:6px 0 12px;color:var(--muted);font-weight:650;max-width:80ch}

.quiz{margin-top:10px}
.q{padding:12px 12px;border-radius:16px;border:1px solid var(--line);background:rgba(246,247,251,.55);margin:10px 0}
.q-title{font-weight:950;color:var(--muted);margin-bottom:8px}
.q label{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-weight:800;margin:6px 0}
.q input{width:auto;margin-top:2px}
.quiz-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.quiz-result{margin-top:10px;font-weight:900}
.quiz-result.ok{color:#115e59}
.quiz-result.bad{color:#b91c1c}
.cert-row{margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.timer{padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);margin:10px 0}
.timer-display{font-weight:950;font-size:28px;letter-spacing:-.02em;color:#111827;margin-bottom:8px}
.timer-actions{display:flex;gap:10px;flex-wrap:wrap}
.timer-meta{margin-top:10px;color:var(--muted);font-weight:650}
.timer-result{margin-top:10px;font-weight:950}
.timer-result.ok{color:#115e59}
.timer-result.bad{color:#b91c1c}

.calc-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.calc-out{padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);font-weight:950;color:var(--muted);min-width:120px}
