/* Studio Reviva — servizi
   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-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,.nav-links a.active{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;}
/* PAGE HERO */
.page-hero{min-height:520px;padding:130px 0 70px;display:flex;align-items:center;background:url('/assets/hero-servizi.webp') center/cover no-repeat;color:var(--white);position:relative;overflow:hidden;}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,30,33,0.62) 0%,rgba(8,30,33,0.82) 100%);z-index:0;}
.page-hero .wrap{position:relative;z-index:1;width:100%;}
.page-hero .eyebrow{color:var(--gold-light);}
.page-hero h1{color:var(--white);font-size:clamp(2.2rem,4.5vw,3rem);margin-bottom:14px;}
/* stessa altezza sulle tre pagine interne: il contenuto e' centrato,
   cosi' hero piu' corte non lasciano vuoto in basso */
@media (max-width:768px){
  .page-hero{min-height:420px;padding:104px 0 56px;}
}
@media (max-width:480px){
  /* sotto i 480px i titoli vanno a capo molte volte: senza ridurre il corpo
     l'hero crescerebbe oltre la min-height e le tre pagine tornerebbero diverse */
  .page-hero{min-height:470px;padding:100px 0 52px;}
  .page-hero h1{font-size:1.85rem;line-height:1.22;}
  .page-hero p{font-size:0.98rem;}
}
@media (max-width:380px){
  /* schermi molto stretti (Galaxy S9, iPhone SE): i titoli occupano una riga
     in piu', quindi servono corpo piu' piccolo e un filo di altezza in piu' */
  .page-hero{min-height:500px;}
  .page-hero h1{font-size:1.68rem;}
}
.page-hero p{color:rgba(255,255,255,0.82);max-width:560px;font-size:1.05rem;}
/* FAQ */
.faq{padding:100px 0;background:var(--white);}
.faq .sec-head{max-width:680px;margin-bottom:50px;}
.faq .sec-head h2{font-size:clamp(1.8rem,3.4vw,2.5rem);}
.faq .sec-head p{color:var(--text-soft);font-size:1.05rem;margin-top:14px;}
.faq-list{display:flex;flex-direction:column;gap:0;}
.faq-item{border-bottom:1px solid rgba(13,106,115,0.12);}
.faq-item:first-child{border-top:1px solid rgba(13,106,115,0.12);}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-family:'TT Hoves','Poppins',sans-serif;font-weight:600;font-size:1.02rem;color:var(--text);transition:color .2s;}
.faq-q:hover{color:var(--teal);}
.faq-q .num{font-size:0.78rem;font-weight:700;color:var(--gold);letter-spacing:0.08em;flex:none;}
.faq-q .q-text{flex:1;}
.faq-icon{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(13,106,115,0.25);display:flex;align-items:center;justify-content:center;color:var(--teal-dark);transition:all .3s;}
.faq-item.open .faq-icon{background:var(--teal-dark);border-color:var(--teal-dark);color:white;transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease, padding .3s ease;}
.faq-item.open .faq-a{max-height:620px;}
.faq-a-inner{padding:0 0 24px 0;color:var(--text-soft);font-size:0.97rem;max-width:780px;line-height:1.7;}
/* SERVIZI */
/* le righe entrano in scena traslate di 60px: senza contenerle qui,
   prima dell'animazione la pagina scorre lateralmente su mobile */
.servizi{padding:110px 0;background:var(--bg-soft);overflow-x:hidden;overflow-x:clip;}
.sec-head{max-width:680px;margin-bottom:50px;}
.sec-head h2{font-size:clamp(1.8rem,3.4vw,2.5rem);}
.sec-head p{color:var(--text-soft);font-size:1.05rem;margin-top:14px;}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.servizio-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:60px 0;border-bottom:1px solid rgba(13,106,115,0.12);}
.servizio-row:last-child{border-bottom:none;}
.servizio-row.reverse .servizio-text{order:2;}
.servizio-row.reverse .servizio-media{order:1;}
.servizio-text .eyebrow{color:var(--teal);}
.servizio-text h3{font-size:1.6rem;margin-bottom:18px;}
.servizio-text ul li{display:flex;gap:12px;align-items:flex-start;margin-bottom:13px;color:var(--text-soft);font-size:0.97rem;}
.servizio-text ul li b{color:var(--text);}
.servizio-text ul li .check{flex:none;width:22px;height:22px;border-radius:50%;background:var(--teal-dark);color:white;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.servizio-text ul li .check svg{width:12px;height:12px;}
.servizio-media{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/9;}
.servizio-media img{width:100%;height:100%;object-fit:cover;display:block;}
/* CTA */
.cta-inner{padding:80px 0;background:linear-gradient(135deg,var(--teal-darker),var(--teal-dark));text-align:center;}
.cta-inner h2{color:var(--white);margin-bottom:14px;}
.cta-inner p{color:rgba(255,255,255,0.82);max-width:560px;margin:0 auto 32px;}
.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;}
  .servizio-row,.servizio-row.reverse{grid-template-columns:1fr;}
  .servizio-row.reverse .servizio-text,.servizio-row.reverse .servizio-media{order:initial;}
  .foot-grid{grid-template-columns:1fr;}
}
/* --- CTA a meta' pagina --- */
.cta-mid{background:var(--teal-darker);color:#fff;border-radius:var(--radius);padding:36px 34px;margin:64px 0 8px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;}
.cta-mid .cta-mid-t{font-family:'TT Hoves','Poppins',sans-serif;font-weight:700;color:#fff;font-size:1.28rem;line-height:1.25;margin-bottom:6px;}
.cta-mid p{color:rgba(255,255,255,0.82);font-size:0.95rem;max-width:520px;}

/* Era un attributo style inline nel markup. */
.eyebrow.eyebrow-teal{color:var(--teal);}
