/* Studio Reviva — chi siamo
   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);}
.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;}
/* 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-chisiamo.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.70) 0%,rgba(8,30,33,0.88) 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:24px;max-width:820px;}
/* 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;}
}
.hero-body{color:rgba(255,255,255,0.85);font-size:1.05rem;margin-bottom:14px;}
.hero-quote{font-family:'Caveat',cursive;font-size:1.6rem;color:var(--gold-light);margin-top:30px;line-height:1.4;}
/* CHI SIAMO */
/* Lo spazio sotto serve: senza, l'ultimo capoverso tocca la sezione grigia. */
.intro-nome{padding:72px 0 160px;background:var(--white);}
.intro-nome p{color:var(--text-soft);font-size:1.02rem;line-height:1.8;max-width:820px;margin-bottom:16px;}
.intro-nome p:last-child{margin-bottom:0;}
@media (max-width:768px){.intro-nome{padding-bottom:96px;}}
.chisiamo{padding:80px 0 100px;background:var(--bg-soft);}
.chisiamo .eyebrow{color:var(--teal);}
.chisiamo h2{margin-bottom:24px;font-size:clamp(1.7rem,3vw,2.3rem);}
.chisiamo p{color:var(--text-soft);margin-bottom:14px;font-size:1.02rem;}
.chisiamo p:last-child{margin-bottom:0;}
/* PERSONE */
.persone{padding:100px 0;background:var(--white);}
.persone-grid{display:grid;grid-template-columns:1.6fr 0.7fr;gap:60px;align-items:start;}
.persone .eyebrow{color:var(--teal);}
.persone h2{margin-bottom:20px;font-size:clamp(1.7rem,3vw,2.3rem);}
.persone .intro{color:var(--text-soft);margin-bottom:32px;font-size:1.02rem;}
.persona-card{margin-bottom:18px;background:var(--bg-soft);border-radius:14px;padding:24px 26px;border-left:4px solid var(--teal);}
.persona-card h3{font-size:1rem;margin-bottom:4px;color:var(--teal-darker);}
.persona-card .role{display:block;font-family:'TT Hoves','Poppins',sans-serif;font-weight:600;font-size:0.76rem;color:var(--gold);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:10px;}
.persona-card p{color:var(--text-soft);font-size:0.92rem;margin:0;}
.persona-card .micro{display:inline-block;margin-top:10px;font-family:'TT Hoves','Poppins',sans-serif;font-weight:600;font-size:0.74rem;color:var(--teal-dark);letter-spacing:0.06em;text-transform:uppercase;border:1px solid rgba(13,106,115,0.3);border-radius:50px;padding:3px 12px;}
.struttura-card{margin-bottom:0;background:var(--teal-darker);border-radius:14px;padding:24px 26px;}
.struttura-card h3{font-size:1rem;margin-bottom:10px;color:var(--white);}
.struttura-card p{color:rgba(255,255,255,0.8);font-size:0.92rem;margin:0;}
.persone-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);position:sticky;top:110px;}
.persone-photo img{width:100%;height:100%;object-fit:cover;display:block;}
/* ESPERIENZA */
.esperienza{padding:100px 0;background:var(--bg-soft);}
.esp-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:80px;align-items:start;}
.esp-left .eyebrow{color:var(--teal);}
.esp-left h2{font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.25;}
.esp-right p{color:var(--text-soft);margin-bottom:16px;font-size:1.02rem;}
.esp-right p:last-child{margin-bottom:0;}
/* MISSIONE */
.missione{padding:100px 0;background:var(--teal-darker);text-align:center;}
.missione h2{color:var(--white);font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:22px;}
.miss-intro{color:rgba(255,255,255,0.85);font-size:1.04rem;max-width:700px;margin:0 auto 14px;}
.miss-lead{color:rgba(255,255,255,0.82);font-size:1.04rem;max-width:700px;margin:0 auto 50px;}
.miss-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:52px;grid-auto-rows:1fr;}
.miss-card{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius);padding:32px 26px;text-align:left;transition:background .25s,transform .25s;}
.miss-card:hover{background:rgba(255,255,255,0.12);transform:translateY(-3px);}
.miss-card-num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(210,175,31,0.25);border:1px solid rgba(210,175,31,0.45);font-family:'TT Hoves','Poppins',sans-serif;font-weight:700;font-size:0.85rem;color:var(--gold-light);margin-bottom:16px;}
.miss-card h3{color:var(--white);font-size:0.98rem;font-weight:600;line-height:1.35;}
.miss-closing{font-family:'Caveat',cursive;font-size:1.55rem;color:var(--gold-light);line-height:1.4;font-style:italic;}
/* CTA */
.cta-inner{padding:80px 0;background:var(--bg-soft);text-align:center;}
.cta-inner h2{color:var(--teal-darker);margin-bottom:16px;}
.cta-inner p{color:var(--text-soft);max-width:620px;margin:0 auto 32px;font-size:1.02rem;}
.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{display:none;}
  .burger{display:flex;}
  .persone-grid,.esp-grid{grid-template-columns:1fr;}
  .persone-photo{position:static;}
  .miss-cards{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .miss-cards{grid-template-columns:1fr;}
}

/* Erano attributi style inline nel markup: spostati qui per tenere una
   Content-Security-Policy senza 'unsafe-inline'. */
.hero-body.hero-firma{font-family:'Caveat',cursive;font-size:1.45rem;color:var(--gold-light);margin-bottom:20px;font-weight:600;}
.wrap.wrap-staccato{margin-top:32px;}
