/* Studio Reviva — home
   Estratto dal sito statico dei designer: regole invariate. */
body{font-family:'TT Hoves','Inter',sans-serif;color:var(--text);background:var(--white);line-height:1.65;overflow-x:hidden;}
h1,h2,h3,h4{font-family:'TT Hoves','Poppins',sans-serif;font-weight:700;line-height:1.2;color:var(--teal-darker);}
.script{font-family:'Caveat',cursive;color:var(--teal);font-weight:600;}
.eyebrow{display:inline-block;font-family:'TT Hoves','Poppins',sans-serif;font-weight:600;font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;border-radius:50px;font-family:'TT Hoves','Poppins',sans-serif;font-weight:600;font-size:0.95rem;cursor:pointer;transition:all .25s ease;border:2px solid transparent;}
.btn-outline{border-color:rgba(255,255,255,0.7);color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,0.12);transform:translateY(-2px);}
.btn-teal{background:var(--teal-dark);color:var(--white);}
.btn-teal:hover{background:var(--teal-darker);transform:translateY(-2px);}
/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,0.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(13,106,115,0.08);transition:box-shadow .3s ease;}
.nav-links a:hover{color:var(--teal);}
#mobileMenu{display:none;flex-direction:column;gap:0;background:white;padding:10px 24px 20px;border-top:1px solid rgba(0,0,0,0.06);}
#mobileMenu.open{display:flex;}
/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:140px 0 90px;background:#071618;}
.hero-video-wrap{position:absolute;inset:0;z-index:0;background:url('/assets/hero-poster-video.webp') center/cover no-repeat;}
.hero-video-wrap video{width:100%;height:100%;object-fit:cover;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,30,33,0.68) 0%,rgba(8,30,33,0.82) 50%,rgba(8,30,33,0.96) 100%);z-index:1;}
.hero .wrap{position:relative;z-index:2;width:100%;display:flex;align-items:center;}
.hero-inner{flex:1;width:100%;}
.hero h1{font-size:clamp(2.4rem,5vw,3.6rem);color:var(--white);margin-bottom:18px;}
.hero h1 span{color:var(--gold);}
.hero p.lead{color:rgba(255,255,255,0.88);font-size:1.15rem;margin-bottom:34px;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.hero-quote{margin-top:54px;font-family:'Caveat',cursive;font-size:1.85rem;color:var(--gold-light);line-height:1.45;}
/* A CHI CI RIVOLGIAMO */
.achi{padding:100px 0;background:var(--white);}
.achi-head{margin-bottom:32px;}
.achi-head h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:16px;}
.achi-head .intro{color:var(--text-soft);font-size:1.05rem;}
.achi-label{font-family:'TT Hoves','Poppins',sans-serif;font-weight:600;font-size:1rem;color:var(--text);margin-bottom:20px;}
.achi-marquee-wrap{overflow:hidden;margin-bottom:36px;-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);}
.achi-marquee{display:flex;gap:16px;width:max-content;animation:achiScroll 26s linear infinite;}
.achi-marquee:hover{animation-play-state:paused;}
.achi-tag{background:var(--bg-soft);border:1px solid rgba(13,106,115,0.15);border-radius:50px;padding:12px 22px;font-size:0.82rem;color:var(--text-soft);white-space:nowrap;display:inline-flex;align-items:center;flex:none;text-transform:uppercase;letter-spacing:0.08em;font-family:'TT Hoves','Poppins',sans-serif;font-weight:600;}
@keyframes achiScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){
  .achi-marquee{animation-play-state:paused;}
  .metodo-slider-track{transition:none;}
  .slider-dot{transition:none;}
}
.achi-closing{font-family:'TT Hoves','Poppins',sans-serif;font-weight:700;font-size:1.1rem;color:var(--teal-darker);border-left:4px solid var(--gold);padding-left:20px;line-height:1.5;}
/* MISSION */
.mission{padding:100px 0;background:var(--teal-dark);color:var(--white);position:relative;overflow:hidden;}
.mission::after{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,0.05);}
.mission .eyebrow{color:var(--gold-light);}
.mission h2{color:var(--white);margin-bottom:28px;}
.mission .intro{color:rgba(255,255,255,0.85);font-size:1.04rem;margin-bottom:16px;}
.mission .intro-final{margin-bottom:38px;}
.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.mission-card{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);border-radius:var(--radius);padding:34px 28px;}
.mission-card .ic{width:54px;height:54px;border-radius:14px;background:var(--gold);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--teal-darker);}
.mission-card .ic svg{width:26px;height:26px;}
.mission-card h3{color:var(--white);font-size:1.1rem;margin-bottom:8px;}
.mission-card p{color:rgba(255,255,255,0.7);font-size:0.92rem;}
.mission-quote{font-family:'Caveat',cursive;font-size:1.9rem;color:var(--gold-light);font-weight:600;margin-top:40px;border-top:1px solid rgba(255,255,255,0.12);padding-top:32px;}
/* METODO */
.metodo{padding:110px 0 90px;background:var(--bg-soft);}
.metodo-top{text-align:center;max-width:800px;margin:0 auto 16px;}
.metodo-top .lead-strong{font-size:1.6rem;color:var(--text);font-family:'TT Hoves','Poppins',sans-serif;font-weight:600;}
.metodo-top .lead-strong b{color:var(--gold);}
.metodo-top .sub{margin-top:10px;color:var(--text-soft);font-size:1.05rem;}
.script-label{text-align:center;font-family:'Caveat',cursive;font-weight:600;font-size:2.3rem;color:var(--teal);margin:20px 0 42px;display:block;}
.metodo-slider-wrap{overflow:hidden;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;}
.metodo-slider-wrap.in-trascinamento{cursor:grabbing;}
/* mentre si trascina il link sotto il dito non deve evidenziarsi */
.metodo-slider-wrap.in-trascinamento a.metodo-item:hover .metodo-icon{background:var(--white);border-color:var(--teal-dark);color:var(--teal-dark);}
.metodo-slider-wrap.in-trascinamento a.metodo-item:hover span{color:var(--text);}
.metodo-slider-track{display:flex;transition:transform .7s cubic-bezier(0.22,0.61,0.36,1);will-change:transform;}
.metodo-item{flex:0 0 calc(100% / var(--visibili, 3));padding:0 16px;text-align:center;}
.metodo-icon{width:78px;height:78px;border-radius:50%;border:2px solid var(--teal-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--teal-dark);background:var(--white);}
.metodo-icon svg{width:32px;height:32px;pointer-events:none;}
.metodo-item span{font-family:'TT Hoves','Poppins',sans-serif;font-weight:600;font-size:0.9rem;color:var(--text);}
.slider-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:36px;}
.slider-dots{display:flex;gap:8px;align-items:center;}
.slider-dot{width:8px;height:8px;border-radius:50%;background:rgba(13,106,115,0.25);transition:width .3s cubic-bezier(0.22,0.61,0.36,1),background-color .3s;flex:none;display:block;}
.slider-dot.active{background:var(--teal-dark);width:24px;border-radius:4px;}
/* PARTNER */
.partner{padding:80px 0;background:var(--white);text-align:center;}
.partner p.lead{color:var(--text-soft);max-width:600px;margin:0 auto 40px;}
.partner-logos{display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:center;}
.partner-logos .tag{font-family:'TT Hoves','Poppins',sans-serif;font-weight:700;font-size:1.05rem;color:var(--text-soft);padding:14px 26px;border:1px solid rgba(13,106,115,0.18);border-radius:50px;}
/* CTA FINALE */
.cta-final{background:url('/assets/cta-tramonto.webp') center/cover no-repeat;padding:90px 0;position:relative;}
.cta-box{background:var(--white);border-radius:24px;padding:60px;text-align:center;box-shadow:var(--shadow);max-width:820px;margin:0 auto;}
.cta-box h2{font-size:clamp(1.6rem,3vw,2.2rem);}
.cta-box h2 .circle{position:relative;color:var(--text);}
.cta-box h2 .circle::after{content:"";position:absolute;left:-8px;right:-8px;bottom:-6px;top:-10px;border:2.5px solid var(--teal);border-radius:50%;transform:rotate(-3deg);}
.cta-box .btn{margin-top:32px;}
.cta-note{margin-top:14px;font-size:0.88rem;color:var(--text-soft);}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:0.82rem;color:rgba(255,255,255,0.45);}
/* RESPONSIVE */
@media (max-width:980px){
  .nav-links,.nav-cta{display:none;}
  .burger{display:flex;}
  .mission-grid{grid-template-columns:1fr;}
  .numeri-grid{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .cta-box{padding:40px 26px;}
  /* su schermo verticale 100vh rende lo sfondo troppo ingrandito */
  .hero{min-height:auto;padding:120px 0 70px;}
  .hero-video-wrap{background-position:center bottom;}
  .hero p.lead{font-size:1.05rem;}
  .hero-ctas .btn{flex:1 1 100%;justify-content:center;}
}
/* --- Link interni nello slider Metodo --- */
a.metodo-item{text-decoration:none;color:inherit;display:block;}
a.metodo-item:hover .metodo-icon{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff;}
a.metodo-item:hover span{color:var(--teal-dark);}
/* --- Riga di approfondimento sotto lo slider --- */
.metodo-more{text-align:center;margin-top:34px;font-size:0.98rem;color:var(--text-soft);}
.metodo-more a{color:var(--teal-dark);font-weight:600;border-bottom:1px solid rgba(8,133,149,0.35);}
.metodo-more a:hover{border-bottom-color:var(--teal-dark);}

/* Era un attributo style inline nel markup. */
.circle.circle-titolo{font-family:'TT Hoves','Poppins',sans-serif;font-weight:700;}
