/* ===== Vittorio Gribaudi — Fotografia — stile condiviso ===== */
:root{
  --bg: #10141c;
  --bg-2: #171d28;
  --ivory: #f1ecdf;
  --mist: #8d97a6;
  --gold: #c2903f;
  --gold-dim: #7a5f30;
  --hair: rgba(241,236,223,0.12);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--ivory);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
.serif{font-family:'Cormorant Garamond',serif;}
img{display:block;max-width:100%;}

/* ---- Header / nav ---- */
header{
  position:relative;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  padding:28px 56px;
}
.logo{font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:0.04em;font-weight:500;}
nav{display:flex;gap:32px;flex-wrap:wrap;}
nav a{font-size:13px;letter-spacing:0.03em;color:var(--mist);transition:color .2s;}
nav a:hover{color:var(--ivory);}
nav a.current{color:var(--gold);}

/* ---- Hero (generico) ---- */
.page-backdrop{position:fixed;inset:0;z-index:-1;background-size:cover;background-position:center;background-color:var(--bg);}
.hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;}
.hero-shade{position:absolute;inset:0;background:linear-gradient(78deg, rgba(6,8,12,0.62) 0%, rgba(6,8,12,0.34) 30%, rgba(6,8,12,0.1) 50%, rgba(6,8,12,0) 66%);}
.hero-content{position:relative;z-index:2;padding:0 56px 64px;max-width:640px;}
.hero-eyebrow{font-size:13px;color:var(--gold);letter-spacing:0.05em;margin-bottom:16px;}
.hero-title{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(40px,6vw,72px);line-height:1.05;margin-bottom:18px;}
.hero-title em{font-style:italic;color:var(--gold);}
.hero-sub{font-size:16px;color:var(--mist);line-height:1.7;max-width:440px;}

/* ---- Sezioni generiche ---- */
section{padding:100px 56px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px;gap:40px;max-width:1240px;margin-left:auto;margin-right:auto;}
.section-title{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:36px;text-shadow:0 2px 10px rgba(0,0,0,0.8);}
.section-note{font-size:14px;color:var(--mist);max-width:320px;line-height:1.6;text-align:right;text-shadow:0 1px 6px rgba(0,0,0,0.7);}

/* ---- Narrativa personale ---- */
.narrative{max-width:640px;margin:60px auto;padding:44px 48px;background:rgba(16,20,28,0.7);border-radius:4px;}
.narrative p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:22px;line-height:1.65;color:var(--ivory);}
.narrative p + p{margin-top:22px;}

/* ---- Griglia foto ---- */
.grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;}
.tile{position:relative;overflow:hidden;border-radius:2px;display:flex;align-items:flex-end;min-height:260px;background-size:cover;background-position:center;}
.tile-shade{position:absolute;inset:0;background:linear-gradient(0deg, rgba(6,8,12,0.75) 0%, rgba(6,8,12,0) 45%);}
.tile-label{position:relative;z-index:2;padding:22px;width:100%;display:flex;justify-content:space-between;align-items:flex-end;}
.tile-name{font-family:'Cormorant Garamond',serif;font-size:22px;}
.tile-count{font-size:12px;color:var(--mist);}
.span-4{grid-column:span 4;}
.span-3{grid-column:span 3;}
.span-2{grid-column:span 2;}
.h-260{min-height:260px;}
.h-280{min-height:280px;}
.h-340{min-height:340px;}
.h-420{min-height:420px;}
.h-520{min-height:520px;}

/* ---- Fascia in evidenza ---- */
.band{background:var(--bg-2);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:100px 56px;}
.band-visual{position:relative;height:380px;border-radius:2px;overflow:hidden;}
.band-tag{display:inline-block;font-size:12px;color:var(--gold);border:1px solid var(--gold-dim);border-radius:20px;padding:6px 16px;margin-bottom:22px;letter-spacing:0.02em;}
.band h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:34px;margin-bottom:18px;line-height:1.15;}
.band p{color:var(--mist);line-height:1.75;font-size:15px;margin-bottom:26px;max-width:440px;}
.btn{display:inline-block;font-size:13px;letter-spacing:0.02em;border-bottom:1px solid var(--gold);color:var(--ivory);padding-bottom:4px;}

/* ---- Selettore stagioni ---- */
.season-switch{border-top:1px solid var(--hair);padding:56px;display:flex;justify-content:center;gap:44px;}
.season-switch a{font-size:14px;color:var(--mist);text-shadow:0 1px 6px rgba(0,0,0,0.75);}
.season-switch a.current{color:var(--gold);}
.season-switch a:hover{color:var(--ivory);}

/* ---- Step (per Scatti per i Bimbi) ---- */
.steps{max-width:760px;margin:0 auto 100px;padding:36px 48px;background:rgba(16,20,28,0.7);border-radius:4px;}
.step{display:flex;gap:26px;padding:26px 0;border-top:1px solid var(--hair);}
.step:last-child{border-bottom:none;}
.step-num{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--gold);min-width:44px;}
.step-body h3{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;margin-bottom:8px;}
.step-body p{font-size:14px;color:var(--mist);line-height:1.7;}
.step-body a{color:var(--gold);border-bottom:1px solid var(--gold-dim);}

/* ---- Card generiche (video, contatti) ---- */
.card-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:0 56px 100px;}
.card{background:var(--bg-2);border-radius:2px;overflow:hidden;}
.card-thumb{height:180px;position:relative;}
.card-thumb::after{content:'▶';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--ivory);opacity:0.85;}
.card-body{padding:18px 20px 22px;}
.card-body h3{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:500;margin-bottom:6px;}
.card-body p{font-size:13px;color:var(--mist);}

/* ---- Form contatti ---- */
.contact-wrap{max-width:560px;margin:0 auto;padding:44px 48px;background:rgba(16,20,28,0.7);border-radius:4px;}
.form-row{margin-bottom:20px;}
.form-row label{display:block;font-size:12px;color:var(--mist);margin-bottom:8px;letter-spacing:0.03em;}
.form-row input, .form-row textarea{
  width:100%;background:var(--bg-2);border:1px solid var(--hair);border-radius:2px;
  padding:12px 14px;color:var(--ivory);font-family:'Inter',sans-serif;font-size:14px;
}
.form-row textarea{min-height:130px;resize:vertical;}
.form-submit{
  background:var(--gold);color:#10141c;border:none;padding:13px 28px;font-size:13px;
  letter-spacing:0.03em;border-radius:2px;cursor:pointer;font-weight:500;
}
.contact-alt{margin-top:40px;padding-top:24px;border-top:1px solid var(--hair);font-size:14px;color:var(--mist);line-height:1.8;}
.contact-alt a{color:var(--gold);}

/* ---- Bio (Chi sono) ---- */
.bio-wrap{max-width:760px;margin:90px auto 100px;padding:44px 48px;background:rgba(16,20,28,0.7);border-radius:4px;}
.bio-wrap p{font-size:16px;line-height:1.85;color:var(--ivory);margin-bottom:20px;}
.bio-wrap p:first-of-type{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--ivory);}

/* ---- Testo leggibile su foto, senza coprire l'immagine ---- */
.hero-eyebrow{text-shadow:0 2px 10px rgba(0,0,0,0.6);}
.hero-title{text-shadow:0 4px 18px rgba(0,0,0,0.55), 0 1px 4px rgba(0,0,0,0.5);}
.hero-sub{text-shadow:0 2px 10px rgba(0,0,0,0.65);}
/* ---- Footer ---- */
footer{padding:60px 56px 50px;background:rgba(16,20,28,0.7);display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:30px;}
.foot-left .serif{font-size:22px;margin-bottom:8px;}
.foot-left p{color:var(--mist);font-size:13px;max-width:320px;line-height:1.6;}
.foot-links{display:flex;gap:30px;}
.foot-links a{font-size:13px;color:var(--mist);}
.foot-links a:hover{color:var(--ivory);}

@media(max-width:900px){
  header,section,.hero-content,footer,.band,.narrative,.gallery-head,.grid,.steps,.card-grid,.contact-wrap,.bio-wrap{padding-left:24px;padding-right:24px;}
  .grid{grid-template-columns:repeat(2,1fr);}
  .grid .tile{grid-column:span 2 !important;min-height:260px !important;}
  .band{grid-template-columns:1fr;padding:70px 24px;}
  .card-grid{grid-template-columns:1fr;}
  nav{display:none;}
  .section-head{flex-direction:column;align-items:flex-start;}
  .section-note{text-align:left;}
}
