*{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#050505;
  --panel:#0c0c0f;
  --text:#f4f4f0;
  --muted:#a5a5ad;
  --line:rgba(255,255,255,.11);
  --accent:#b8ff3d;
  --accent2:#7f5cff;
  --max:1180px
}

html{scroll-behavior:smooth}

body{
  background:var(--bg);
  color:var(--text);
  font-family:"DM Sans",sans-serif;
  line-height:1.55;
  overflow-x:hidden
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 75% 10%,rgba(127,92,255,.11),transparent 30%),
    radial-gradient(circle at 20% 45%,rgba(184,255,61,.055),transparent 28%);
  pointer-events:none;
  z-index:-2
}

.noise{
  position:fixed;
  inset:0;
  opacity:.035;
  pointer-events:none;
  z-index:20;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")
}

.container{
  width:min(var(--max),calc(100% - 48px));
  margin:auto
}

.narrow{max-width:880px}

.section{
  padding:130px 0;
  position:relative
}

.dark{background:#070709}

.progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:transparent;
  z-index:100
}

.progress span{
  display:block;
  height:100%;
  width:0;
  background:var(--accent)
}


/* =========================
   TOP BAR
========================= */

.topbar{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 32px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(5,5,5,.72);
  backdrop-filter:blur(18px);
  z-index:50
}

.brand{
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--text);
  text-decoration:none;
  font-weight:800;
  letter-spacing:.13em;
  font-size:12px
}

.brand-mark{
  font-family:Manrope;
  font-weight:800;
  color:#050505;
  background:var(--accent);
  padding:6px 8px;
  border-radius:7px;
  letter-spacing:-.06em
}

.brand-name{opacity:.9}

.top-cta{
  font-size:11px;
  letter-spacing:.12em;
  color:#fff;
  text-decoration:none;
  border:1px solid var(--line);
  padding:10px 14px;
  border-radius:999px
}

.top-cta span{
  color:var(--accent);
  margin-left:5px
}


/* =========================
   HERO
========================= */

.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  padding-top:145px;
  padding-bottom:90px;
  overflow:hidden
}

.hero-inner{
  text-align:center;
  position:relative;
  z-index:2
}

.hero-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(1px);
  pointer-events:none
}

.orb-a{
  width:520px;
  height:520px;
  right:-180px;
  top:80px;
  background:radial-gradient(circle,rgba(127,92,255,.22),transparent 65%)
}

.orb-b{
  width:420px;
  height:420px;
  left:-180px;
  bottom:20px;
  background:radial-gradient(circle,rgba(184,255,61,.12),transparent 65%)
}

.eyebrow{
  font-size:11px;
  letter-spacing:.18em;
  font-weight:700;
  color:#c8c8ce;
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:26px
}

.eyebrow span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 18px var(--accent)
}

h1,h2,h3{
  font-family:Manrope,sans-serif;
  line-height:.98;
  letter-spacing:-.045em
}

h1{
  font-size:clamp(46px,7vw,92px);
  max-width:1100px;
  margin:auto
}

h1 em,
h2 span,
h3 span{
  font-style:normal;
  color:var(--accent)
}

.hero-copy{
  max-width:720px;
  margin:28px auto 38px;
  font-size:18px;
  color:#b9b9c1
}

.hero-video-wrap{
  max-width:980px;
  margin:0 auto 28px
}

.video-shell{
  position:relative;
  aspect-ratio:16/9;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(135deg,#101016,#080809);
  box-shadow:0 30px 100px rgba(0,0,0,.55)
}

.video-shell video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover
}

.video-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:
    radial-gradient(circle at center,rgba(127,92,255,.22),transparent 35%),
    linear-gradient(135deg,rgba(184,255,61,.06),rgba(127,92,255,.08));
  pointer-events:none
}

.play-ring{
  width:76px;
  height:76px;
  border:1px solid rgba(184,255,61,.65);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--accent);
  font-size:20px;
  box-shadow:0 0 45px rgba(184,255,61,.12)
}

.video-placeholder strong{
  font-size:13px;
  letter-spacing:.13em
}

.video-placeholder span{
  font-size:12px;
  color:#9999a3
}

.video-meta{
  display:flex;
  justify-content:space-between;
  color:#777780;
  font-size:9px;
  letter-spacing:.15em;
  padding:10px 3px
}


/* =========================
   BUTTON
========================= */

.primary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:var(--accent);
  color:#050505;
  text-decoration:none;
  border:0;
  border-radius:999px;
  padding:16px 18px 16px 24px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.09em;
  cursor:pointer;
  transition:.25s transform,.25s box-shadow
}

.primary-btn b{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border-radius:50%;
  background:#050505;
  color:var(--accent);
  font-size:16px
}

.primary-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 45px rgba(184,255,61,.18)
}

.microcopy{
  font-size:11px;
  color:#6f6f77;
  margin-top:12px
}


/* =========================
   GENERIC SECTIONS
========================= */

.section-number{
  font-size:10px;
  letter-spacing:.18em;
  color:#777780;
  margin-bottom:22px;
  font-weight:700
}

.statement h2,
.section-head h2{
  font-size:clamp(40px,5vw,70px)
}

.statement p{
  font-size:19px;
  color:#a8a8b0;
  max-width:760px;
  margin:26px 0
}

.statement p strong{color:#fff}

.quote-line{
  border-left:2px solid var(--accent);
  padding:15px 0 15px 20px;
  color:#ddd;
  font-family:Manrope;
  font-weight:700;
  font-size:18px;
  margin-top:35px
}

.section-head{
  max-width:800px;
  margin-bottom:52px
}

.section-head p{
  color:#85858f;
  margin-top:20px;
  font-size:17px
}


/* =========================
   CARDS
========================= */

.cards-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px
}

.glass-card{
  padding:32px;
  border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  border-radius:18px;
  min-height:250px;
  transition:.3s transform,.3s border-color
}

.glass-card:hover{
  transform:translateY(-5px);
  border-color:rgba(184,255,61,.32)
}

.card-icon{
  font-family:Manrope;
  font-size:11px;
  color:var(--accent);
  margin-bottom:50px
}

.glass-card h3{font-size:23px}

.glass-card p{
  color:#8f8f98;
  margin-top:14px;
  font-size:14px
}


/* =========================
   QUADRANTI
========================= */

.quadrant-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden
}

.q-item{
  min-height:230px;
  padding:28px;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#0a0a0c
}

.q-item:last-child{border-right:0}

.q-item b{
  font:800 60px Manrope;
  color:#34343a
}

.q-item span{
  font:800 12px Manrope;
  letter-spacing:.08em
}

.q-item small{
  color:#74747d;
  font-size:12px
}

.q-item.active{
  background:linear-gradient(145deg,rgba(184,255,61,.08),rgba(127,92,255,.08));
  box-shadow:inset 0 0 0 1px rgba(184,255,61,.15)
}

.q-item.active b{color:var(--accent)}

.quadrant-note{
  color:#676771;
  font-size:11px;
  margin-top:14px
}

.quadrant-note strong{color:#aaa}


/* =========================
   INTERMEDIAZIONE
========================= */

.split{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:100px;
  align-items:center
}

.split h2{
  font-size:clamp(45px,5vw,72px)
}

.big-copy p{
  color:#9999a2;
  font-size:18px;
  margin-bottom:20px
}

.big-copy strong{color:#fff}

.principle{
  margin-top:35px;
  font:800 13px Manrope;
  letter-spacing:.11em;
  color:#ddd
}

.principle span{
  color:var(--accent);
  padding:0 10px
}


/* =========================
   5 PILASTRI
========================= */

.pillars .section-head{
  margin-bottom:35px
}

.pillar-list{
  border-top:1px solid var(--line)
}

.pillar{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:30px;
  padding:30px 0;
  border-bottom:1px solid var(--line);
  align-items:start;
  transition:.25s padding
}

.pillar:hover{
  padding-left:10px
}

.pillar>span{
  font:700 12px Manrope;
  color:var(--accent);
  padding-top:4px
}

.pillar h3{
  font-size:clamp(22px,3vw,38px)
}

.pillar p{
  color:#777780;
  margin-top:8px;
  font-size:14px
}


/* =========================
   PROTOCOLLO
========================= */

.protocol{overflow:hidden}

.protocol-inner{text-align:center}

.protocol-badge{
  display:inline-grid;
  place-items:center;
  width:100px;
  height:100px;
  border-radius:50%;
  border:1px solid rgba(184,255,61,.35);
  color:var(--accent);
  font:800 25px Manrope;
  margin-bottom:35px;
  box-shadow:0 0 70px rgba(184,255,61,.08)
}

.protocol h2{
  font-size:clamp(60px,8vw,110px)
}

.protocol h3{
  font-size:clamp(18px,2vw,28px);
  margin-top:18px;
  letter-spacing:.02em
}

.protocol> .container>p,
.protocol-inner>p{
  max-width:680px;
  color:#888891;
  margin:24px auto 50px;
  font-size:17px
}

.two-goals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  text-align:left;
  border:1px solid var(--line);
  background:var(--line);
  border-radius:20px;
  overflow:hidden
}

.two-goals>div{
  background:#09090b;
  padding:36px
}

.two-goals small{
  font-size:10px;
  letter-spacing:.16em;
  color:var(--accent);
  font-weight:700
}

.two-goals strong{
  font:800 42px Manrope;
  display:block;
  margin:20px 0
}

.two-goals p{
  color:#81818b;
  font-size:13px
}

.disclaimer-box{
  display:flex;
  gap:20px;
  text-align:left;
  margin-top:15px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:#09090b;
  color:#6f6f77;
  font-size:11px
}

.disclaimer-box b{
  color:#aaa;
  white-space:nowrap
}


/* =========================
   TIMELINE
========================= */

.timeline{
  border-top:1px solid var(--line)
}

.time-item{
  display:grid;
  grid-template-columns:70px 250px 1fr;
  gap:30px;
  padding:27px 0;
  border-bottom:1px solid var(--line);
  align-items:center
}

.time-item b{
  font:700 12px Manrope;
  color:var(--accent)
}

.time-item span{
  font:800 14px Manrope;
  letter-spacing:.08em
}

.time-item p{
  color:#777780;
  font-size:14px
}


/* =========================
   FIT
========================= */

.fit-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:90px;
  align-items:start
}

.fit h2{
  font-size:clamp(60px,7vw,100px)
}

.lead{
  color:#888891;
  font-size:18px;
  margin-top:25px;
  max-width:430px
}

.fit-list{
  border-top:1px solid var(--line)
}

.fit-row{
  display:flex;
  gap:15px;
  align-items:center;
  padding:19px 0;
  border-bottom:1px solid var(--line);
  font-size:14px;
  color:#9b9ba3
}

.fit-row i{
  font-style:normal;
  font-size:19px;
  width:22px;
  text-align:center
}

.fit-row.yes i{color:var(--accent)}
.fit-row.no i{color:#777}
.fit-row.no{opacity:.65}


/* =========================
   CTA + FORM
========================= */

.cta{overflow:hidden}

.cta-glow{
  position:absolute;
  width:700px;
  height:700px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(127,92,255,.14),transparent 65%);
  pointer-events:none
}

.cta-inner{
  position:relative;
  text-align:center;
  max-width:930px
}

.cta h2{
  font-size:clamp(60px,8vw,110px)
}

.cta p{
  max-width:660px;
  margin:25px auto 40px;
  color:#8e8e97;
  font-size:17px
}

.application-form{
  max-width:760px;
  margin:0 auto;
  text-align:left
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}

.application-form label{
  font-size:11px;
  color:#8a8a93;
  display:flex;
  flex-direction:column;
  gap:7px
}

.application-form input,
.application-form select{
  width:100%;
  background:#0d0d10;
  border:1px solid var(--line);
  border-radius:10px;
  padding:14px;
  color:#fff;
  font:inherit;
  outline:none
}

.application-form input:focus,
.application-form select:focus{
  border-color:rgba(184,255,61,.45)
}

.check{
  flex-direction:row!important;
  align-items:flex-start;
  margin:17px 0;
  color:#686870!important;
  line-height:1.4
}

.check input{
  width:auto;
  margin-top:3px;
  accent-color:var(--accent)
}

.full{
  width:100%;
  margin-top:3px
}

.form-note{
  text-align:center!important;
  font-size:10px!important;
  color:#55555d!important;
  margin:11px 0 0!important
}

.form-message{
  margin-top:15px;
  padding:16px;
  border:1px solid rgba(184,255,61,.25);
  border-radius:10px;
  color:#c9c9cf;
  background:rgba(184,255,61,.05);
  font-size:13px
}


/* =========================
   FOOTER
========================= */

.footer{
  padding:28px 0;
  border-top:1px solid var(--line);
  background:#050505
}

.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#595961;
  font-size:10px
}

.footer-inner>div:first-child{color:#aaa}

.footer-links{
  display:flex;
  gap:15px
}

.footer a{
  color:#777;
  text-decoration:none
}


/* =========================
   REVEAL
========================= */

.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease,transform .7s ease
}

.reveal.visible{
  opacity:1;
  transform:none
}


/* =========================
   RESPONSIVE BASE
========================= */

@media(max-width:850px){

  .topbar{padding:0 18px}
  .top-cta{display:none}

  .container{
    width:min(var(--max),calc(100% - 32px))
  }

  .section{padding:90px 0}
  .hero{padding-top:120px}

  .cards-3,
  .quadrant-grid,
  .two-goals,
  .fit-grid,
  .split{
    grid-template-columns:1fr
  }

  .quadrant-grid .q-item{
    border-right:0;
    border-bottom:1px solid var(--line);
    min-height:160px
  }

  .quadrant-grid .q-item:last-child{
    border-bottom:0
  }

  .split{gap:35px}

  .pillar{
    grid-template-columns:48px 1fr;
    gap:15px
  }

  .time-item{
    grid-template-columns:45px 1fr
  }

  .time-item p{
    grid-column:2
  }

  .form-grid{
    grid-template-columns:1fr
  }

  .video-meta{font-size:8px}

  .footer-inner{
    flex-wrap:wrap;
    gap:12px
  }

  .footer-links{
    margin-left:auto
  }
}


@media(max-width:520px){

  h1{font-size:43px}

  .hero-copy{font-size:15px}

  .video-shell{border-radius:13px}

  .play-ring{
    width:58px;
    height:58px
  }

  .video-placeholder strong{font-size:10px}
  .video-placeholder span{font-size:10px}

  .primary-btn{
    width:100%;
    font-size:10px
  }

  .section-head h2,
  .statement h2{
    font-size:39px
  }

  .protocol h2,
  .cta h2{
    font-size:57px
  }

  .two-goals>div{
    padding:25px
  }

  .two-goals strong{
    font-size:35px
  }

  .disclaimer-box{
    display:block
  }

  .disclaimer-box b{
    display:block;
    margin-bottom:8px
  }
}


/* =========================================================
   TESTIMONIANZE
========================================================= */

.testimonials-section{
  position:relative;
  overflow:hidden
}

.testimonials-section::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-180px;
  top:5%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(170,255,0,.10),transparent 68%);
  pointer-events:none
}

.testimonials-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:22px;
  margin-top:52px
}

.testimonial-card{
  position:relative;
  min-height:360px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:0 25px 70px rgba(0,0,0,.28);
  overflow:hidden;
  backdrop-filter:blur(14px)
}

.testimonial-media{
  height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:12px;
  background:
    radial-gradient(circle at 50% 45%,rgba(174,255,0,.20),transparent 28%),
    linear-gradient(135deg,rgba(124,58,237,.28),rgba(0,0,0,.7));
  border-bottom:1px solid rgba(255,255,255,.08);
  letter-spacing:.14em;
  font-size:11px;
  font-weight:800
}

.play-orb{
  width:62px;
  height:62px;
  border-radius:50%;
  display:grid;
  place-items:center;
  padding-left:3px;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.10);
  font-size:21px;
  box-shadow:0 0 35px rgba(174,255,0,.18)
}

.testimonial-body{
  padding:26px 26px 30px
}

.testimonial-stars{
  letter-spacing:.18em;
  font-size:12px;
  margin-bottom:14px
}

.testimonial-body h3{
  margin:0 0 8px;
  font-size:23px
}

.testimonial-body p{
  color:rgba(255,255,255,.68);
  line-height:1.7;
  margin:0 0 22px
}

.testimonial-body .quote{
  font-size:18px;
  line-height:1.55;
  color:rgba(255,255,255,.88)
}

.testimonial-body strong{
  display:block;
  font-size:12px;
  letter-spacing:.1em
}

.testimonial-body small{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.45)
}

.quote-mark{
  position:absolute;
  right:24px;
  top:12px;
  font-size:86px;
  line-height:1;
  opacity:.14
}

.proof-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:22px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  overflow:hidden;
  background:rgba(255,255,255,.025)
}

.proof-strip > div{
  padding:20px 22px;
  border-right:1px solid rgba(255,255,255,.08)
}

.proof-strip > div:last-child{
  border-right:0
}

.proof-strip b{
  display:block;
  font-size:12px;
  letter-spacing:.12em;
  margin-bottom:6px
}

.proof-strip span{
  color:rgba(255,255,255,.52);
  font-size:13px
}

.top-link{
  color:rgba(255,255,255,.65);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  margin-right:18px
}

@media(max-width:900px){

  .testimonials-grid{
    grid-template-columns:1fr
  }

  .proof-strip{
    grid-template-columns:1fr
  }

  .proof-strip > div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08)
  }

  .proof-strip > div:last-child{
    border-bottom:0
  }
}

@media(max-width:600px){

  .top-link{display:none}

  .testimonial-card{
    min-height:auto
  }
}


/* =========================================================
   CREATOR GENERATION
   SEZIONI 01 + 02 + 03
========================================================= */

.cg-section{
  position:relative;
  max-width:1000px;
  margin:0 auto;
  padding:105px 30px 120px;
  color:#f3f3f1
}

.cg-section + .cg-section{
  border-top:1px solid rgba(255,255,255,.035)
}


/* 01 / 02 / 03 LABEL */

.cg-kicker{
  margin:0 0 48px;
  color:#77777f;
  font-size:14px;
  font-weight:700;
  letter-spacing:4px;
  text-transform:uppercase
}


/* TITOLI */

.cg-title{
  max-width:900px;
  margin:0 0 38px;
  color:#f3f3f1;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(52px,7.2vw,82px);
  font-weight:500;
  letter-spacing:-3.5px;
  line-height:.99
}

.cg-lime{
  color:#9cff2e
}


/* TESTO */

.cg-text{
  max-width:850px;
  margin:0 0 58px;
  color:#8b8b92;
  font-size:26px;
  font-weight:400;
  line-height:1.6
}

.cg-text strong{
  color:#eeeeec;
  font-weight:700
}


/* FRASE FINALE CON BARRETTA VERDE */

.cg-quote{
  position:relative;
  max-width:850px;
  margin-top:45px;
  padding:20px 0 20px 38px;
  border-left:4px solid #9cff2e
}

.cg-quote p{
  margin:0;
  color:#eeeeec;
  font-size:29px;
  font-weight:700;
  line-height:1.45
}


/* TABLET */

@media(max-width:900px){

  .cg-section{
    padding-top:90px;
    padding-bottom:105px
  }

  .cg-title{
    font-size:clamp(48px,8vw,68px)
  }
}


/* SMARTPHONE */

@media(max-width:600px){

  .cg-section{
    padding:72px 29px 96px
  }

  .cg-kicker{
    margin-bottom:43px;
    font-size:13px;
    letter-spacing:3px
  }

  .cg-title{
    margin-bottom:35px;
    font-size:51px;
    line-height:1.02;
    letter-spacing:-2.7px
  }

  .cg-text{
    margin-bottom:48px;
    font-size:20px;
    line-height:1.62
  }

  .cg-quote{
    margin-top:38px;
    padding:16px 0 16px 25px;
    border-left-width:4px
  }

  .cg-quote p{
    font-size:24px;
    line-height:1.45
  }
}


/* IPHONE / SCHERMI PICCOLI */

@media(max-width:390px){

  .cg-section{
    padding-left:25px;
    padding-right:25px
  }

  .cg-title{
    font-size:45px;
    letter-spacing:-2.2px
  }

  .cg-text{
    font-size:19px
  }

  .cg-quote p{
    font-size:22px
  }
}


/* =========================================================
   PROTOCOLLO 5X5
========================================================= */

.protocol-title{
  margin:18px 0 8px;
  font-size:clamp(46px,6vw,76px);
  line-height:.95;
  font-weight:800;
  letter-spacing:-2px
}

.protocol-title span{
  color:#a8ff20
}

.protocol-subtitle{
  margin:18px 0 22px;
  color:#fff;
  font-size:22px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0
}

.protocol-text{
  max-width:780px;
  margin:0;
  color:#85858c;
  font-size:18px;
  line-height:1.6;
  font-weight:400;
  letter-spacing:0
}

.protocol-text strong{
  color:#fff;
  font-weight:600
}

.protocol-path{
  margin:24px 0 0;
  color:#fff;
  font-size:16px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.5px
}

.protocol-objectives{
  margin-top:60px;
  margin-bottom:25px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.15);
  color:#a8ff20;
  font-size:17px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase
}


/* PROTOCOLLO MOBILE */

@media(max-width:700px){

  .protocol-title{
    font-size:48px;
    line-height:.95;
    margin-bottom:12px
  }

  .protocol-subtitle{
    font-size:20px;
    line-height:1.2;
    margin:18px 0 20px
  }

  .protocol-text{
    font-size:16px;
    line-height:1.55
  }

  .protocol-path{
    margin-top:22px;
    font-size:15px;
    line-height:1.4
  }

  .protocol-objectives{
    margin-top:45px;
    margin-bottom:22px;
    padding-top:22px;
    font-size:15px
  }
}


/* =========================================================
   FINAL UI NORMALIZATION
========================================================= */

.cg-title,
.cg-quote p,
.protocol-title,
.protocol-subtitle,
.protocol-path,
.protocol-objectives{
  font-family:"Manrope",sans-serif
}

.cg-text{
  font-family:"DM Sans",sans-serif
}

.cg-title{
  font-weight:700;
  letter-spacing:-.045em
}

.cg-lime{
  color:var(--accent)
}

.cg-quote{
  border-left-color:var(--accent)
}


/* PULSANTI CENTRATI */

.primary-btn{
  position:relative;
  justify-content:center;
  min-height:63px;
  padding:15px 58px;
  gap:0;
  text-align:center;
  line-height:1.2
}

.primary-btn>span{
  display:block;
  width:100%;
  text-align:center
}

.primary-btn>b{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  flex:0 0 31px
}

.primary-btn.full{
  display:flex;
  justify-content:center
}

.section-head{
  margin-bottom:44px
}

.section-head p{
  margin-top:16px
}

.pillars .section-head{
  margin-bottom:28px
}

.protocol-objectives{
  margin-top:48px
}


/* =========================================================
   MOBILE FINAL
========================================================= */

@media(max-width:700px){

  .section{
    padding:64px 0
  }

  .hero{
    min-height:auto;
    padding-top:105px;
    padding-bottom:58px
  }

  .hero-copy{
    margin:18px auto 25px;
    line-height:1.5
  }

  .hero-video-wrap{
    margin-bottom:20px
  }

  .video-meta{
    padding:8px 2px
  }

  .microcopy{
    margin-top:9px;
    line-height:1.4
  }

  .cg-section{
    padding:58px 24px 62px
  }

  .cg-kicker{
    margin-bottom:22px;
    font-size:11px;
    letter-spacing:2.4px
  }

  .cg-title{
    margin-bottom:22px;
    font-size:clamp(38px,11vw,48px);
    line-height:1.02;
    letter-spacing:-.045em
  }

  .cg-text{
    margin-bottom:0;
    font-size:18px;
    line-height:1.5
  }

  .cg-quote{
    margin-top:25px;
    padding:10px 0 10px 18px
  }

  .cg-quote p{
    font-size:20px;
    line-height:1.35
  }

  .section-head{
    margin-bottom:30px
  }

  .section-head p{
    margin-top:12px;
    line-height:1.5
  }

  .split{
    gap:22px
  }

  .big-copy p{
    margin-bottom:14px;
    font-size:17px;
    line-height:1.5
  }

  .principle{
    margin-top:22px;
    line-height:1.6
  }

  .pillars .section-head{
    margin-bottom:20px
  }

  .pillar{
    padding:21px 0
  }

  .pillar p{
    margin-top:5px;
    line-height:1.45
  }

  .protocol-title{
    margin-top:12px;
    font-size:46px
  }

  .protocol-subtitle{
    margin:14px 0
  }

  .protocol-text{
    line-height:1.5
  }

  .protocol-path{
    margin-top:16px
  }

  .protocol-objectives{
    margin-top:30px;
    margin-bottom:16px;
    padding-top:18px
  }

  .two-goals>div{
    padding:23px
  }

  .two-goals strong{
    margin:13px 0 10px
  }

  .disclaimer-box{
    margin-top:12px
  }

  .time-item{
    gap:12px;
    padding:20px 0
  }

  .lead{
    margin-top:15px
  }

  .fit-grid{
    gap:28px
  }

  .fit-row{
    padding:15px 0
  }

  .testimonial-feature{
    margin-top:28px
  }

  .testimonial-feature-copy{
    padding:28px 24px
  }

  .testimonials-grid{
    gap:14px;
    margin-top:14px
  }

  .proof-strip{
    margin-top:14px
  }

  .faq-list{
    margin-top:28px
  }

  .faq-item summary{
    padding:19px 4px
  }

  .faq-answer{
    padding:0 28px 20px 4px
  }

  .cta p{
    margin:18px auto 26px
  }

  .primary-btn{
    width:100%;
    min-height:58px;
    padding:14px 52px 14px 20px;
    font-size:10px;
    letter-spacing:.07em
  }

  .primary-btn>b{
    right:13px;
    width:30px;
    height:30px
  }
}


@media(max-width:390px){

  .cg-section{
    padding-left:20px;
    padding-right:20px
  }

  .cg-title{
    font-size:38px
  }

  .cg-text{
    font-size:17px
  }

  .cg-quote p{
    font-size:19px
  }

  .primary-btn{
    padding-left:16px;
    padding-right:48px;
    letter-spacing:.045em
  }
}
/* PROTOCOLLO SOPRA IL VIDEO */

.hero-protocol{
  margin: 30px auto 26px;
  text-align: center;
}

.hero-protocol strong{
  display: block;
  color: #b8ff3d;
  font-family: "Manrope", sans-serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: .03em;
}

.hero-protocol span{
  display: block;
  margin-top: 7px;
  color: #f4f4f0;
  font-family: "DM Sans", sans-serif;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.3;
}


/* MOBILE */

@media(max-width:700px){

  .hero-protocol{
    margin: 24px auto 20px;
  }

  .hero-protocol strong{
    font-size: 21px;
  }

  .hero-protocol span{
    margin-top: 5px;
    font-size: 17px;
  }

}
/* PROTOCOLLO 5×5 - TITOLO SU UNA SOLA RIGA */

.protocol-title{
  white-space: nowrap;
}

@media(max-width:700px){

  .protocol-title{
    white-space: nowrap;
    font-size: clamp(29px, 8.5vw, 46px);
    line-height: 1;
    letter-spacing: -1.5px;
  }

}
/* FIX PROTOCOLLO 5×5 MOBILE */

@media(max-width:700px){

  .protocol-title{
    display:block;
    width:100%;
    max-width:100%;
    white-space:nowrap;
    font-size:28px !important;
    line-height:1.05;
    letter-spacing:-1px;
    margin:12px 0 16px;
  }

}

@media(max-width:390px){

  .protocol-title{
    font-size:25px !important;
    letter-spacing:-1px;
  }

}
/* FRASE HERO PIÙ EVIDENTE */

.hero-copy-strong{
  max-width:850px;
  margin:28px auto 34px;
  color:#f4f4f0;
  font-size:23px;
  font-weight:500;
  line-height:1.5;
  text-align:center;
}

.hero-copy-strong strong{
  color:#b8ff3d;
  font-weight:800;
}

.hero-copy-strong span{
  color:#ffffff;
  font-weight:700;
}


/* MOBILE */

@media(max-width:700px){

  .hero-copy-strong{
    max-width:95%;
    margin:22px auto 27px;
    font-size:20px;
    line-height:1.45;
  }

}
/* FRASE SOTTO IL TITOLO HERO */

.hero-copy{
  max-width:780px;
  margin:28px auto 34px;
  color:#e8e8e8;
  font-size:20px;
  font-weight:500;
  line-height:1.5;
  text-align:center;
}

/* MOBILE */

@media(max-width:700px){

  .hero-copy{
    max-width:94%;
    margin:22px auto 26px;
    color:#eeeeee;
    font-size:18px;
    font-weight:500;
    line-height:1.5;
  }

}
