/* ————————————————————————————————————————————
   TENUTA AVICOLA BELMONTE · foglio di stile
   Scritto a mano. Il cielo cambia con lo scroll:
   main.js aggiorna --cielo-alto / --cielo-basso / --luce.
   ———————————————————————————————————————————— */

:root{
  --notte:        #141814;
  --notte-fonda:  #0c0f0c;
  --alba-oro:     #e4ae53;
  --alba-rosa:    #d98a63;
  --giorno-cielo: #cfe0e6;
  --giorno-terra: #faf6ed;
  --paglia:       #efe6d0;
  --guscio:       #b5764a;
  --siepe:        #39522f;
  --siepe-scura:  #24361e;
  --inchiostro:   #221d16;
  --gesso:        #fbf8f1;

  /* variabili vive, pilotate dallo scroll */
  --cielo-alto:  var(--notte-fonda);
  --cielo-basso: var(--notte);
  --luce: 0; /* 0 = notte · 1 = pieno giorno */

  --serif-racconto: "Newsreader", "Iowan Old Style", Georgia, serif;
  --serif-insegna:  "Fraunces", "Iowan Old Style", Georgia, serif;
  --mono-timbro:    "Spline Sans Mono", "Courier New", monospace;
}

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

html{ scroll-behavior:smooth; }

body{
  font-family: var(--serif-racconto);
  font-size: clamp(1.02rem, 0.95rem + 0.35vw, 1.18rem);
  line-height: 1.62;
  color: var(--inchiostro);
  background: linear-gradient(to bottom, var(--cielo-alto), var(--cielo-basso));
  background-attachment: fixed;
  transition: background 1.2s linear;
  overflow-x: hidden;
}

img{ max-width:100%; height:auto; display:block; }

a{ color:inherit; }

:focus-visible{
  outline: 3px solid var(--alba-oro);
  outline-offset: 3px;
  border-radius: 2px;
}

/* ——— cursore piuma ——— */
@media (pointer:fine){
  body.con-piuma, body.con-piuma a, body.con-piuma button{ cursor:none; }
  .piuma-cursore{
    position:fixed; top:0; left:0; z-index:60;
    width:14px; height:22px; pointer-events:none;
    background: var(--paglia);
    border-radius: 90% 10% 55% 45% / 10% 60% 40% 90%;
    box-shadow: 0 0 0 1.5px rgba(20,24,20,.55) inset;
    transform: translate(-50%,-50%) rotate(18deg);
    transition: transform .18s ease, background .18s ease;
    mix-blend-mode: difference;
  }
  body.piuma-attiva .piuma-cursore{
    transform: translate(-50%,-50%) rotate(-24deg) scale(1.5);
    background: var(--alba-oro);
  }
}
@media (pointer:coarse){ .piuma-cursore{ display:none; } }

/* ——— il sole viaggiante ——— */
.sole-viaggiante{
  position: fixed;
  left: 50%; top: 110vh;               /* parte sotto l'orizzonte */
  width: clamp(120px, 18vw, 240px);
  transform: translateX(-50%);
  z-index: 1; pointer-events:none;
  will-change: top, left;
}
.sole-nucleo{ fill: var(--alba-oro); }
.sole-alone{ fill: var(--alba-oro); opacity:.16; }
.sole-alone--esterno{ opacity:.07; }
.sole-disco{ filter: drop-shadow(0 0 60px rgba(228,174,83,.55)); }

/* ——— stormo di uccelli ——— */
.stormo{
  position: fixed; inset: 0;
  width:100%; height:100%;
  z-index: 2; pointer-events:none;
  opacity: calc(var(--luce) * 0.9);
}
.stormo path{
  fill:none; stroke: rgba(24,26,22,.75); stroke-width:2.2;
  stroke-linecap: round;
}

/* ——— testata ——— */
.testata{
  position: fixed; inset: 0 0 auto 0; z-index: 40;
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding: .9rem clamp(1rem, 4vw, 2.6rem);
  color: var(--gesso);
  mix-blend-mode: difference;
}
.testata__marchio{
  font-family: var(--serif-insegna);
  font-weight: 540; font-size: 1.12rem;
  letter-spacing: .04em; text-decoration:none;
  display:flex; align-items:center; gap:.55rem;
}
.testata__uovo{
  width:.85em; height:1.08em; background: currentColor;
  border-radius: 50% 50% 50% 50% / 62% 62% 38% 38%;
}
.testata__rotta{ display:flex; gap: clamp(.8rem, 2.4vw, 1.7rem); flex-wrap:wrap; }
.testata__rotta a{
  font-family: var(--mono-timbro); font-size:.74rem;
  letter-spacing:.14em; text-transform:uppercase; text-decoration:none;
  border-bottom: 1px solid transparent; padding-bottom:2px;
}
.testata__rotta a:hover{ border-bottom-color: currentColor; }

/* ————————————————————————————————
   I QUADRI — ogni scena ha il suo passo
   ———————————————————————————————— */
.quadro{ position:relative; z-index:3; }

/* — 00 · notte — */
.quadro-notte{
  min-height:100vh; min-height:100svh;
  display:grid; place-content:center; text-align:center;
  color: var(--paglia); padding: 2rem 1.5rem;
}
.notte__sussurro{
  font-family: var(--serif-insegna); font-style: italic; font-weight: 380;
  font-size: clamp(1.35rem, 3.4vw, 2.1rem); line-height:1.5;
  opacity:0; animation: affiorare 2.8s ease .6s forwards;
}
.notte__invito{
  margin-top: 4.5rem;
  font-family: var(--mono-timbro); font-size:.72rem;
  letter-spacing:.22em; text-transform: uppercase; opacity:.55;
}
.notte__filo{
  display:block; width:1px; height:64px; margin: 1.1rem auto 0;
  background: linear-gradient(var(--paglia), transparent);
  animation: filo-che-scende 2.2s ease-in-out infinite;
}
@keyframes affiorare{ to{ opacity:1; } }
@keyframes filo-che-scende{
  0%{ transform: scaleY(.2); transform-origin: top; }
  60%{ transform: scaleY(1); }
  100%{ transform: scaleY(.2); transform-origin: bottom; }
}

/* — 01 · alba — */
.quadro-alba{
  min-height: 130vh;
  display:grid; place-content:center; text-align:center;
  color: var(--gesso); padding: 20vh 1.5rem 6rem;
  text-shadow: 0 1px 30px rgba(12,15,12,.35);
}
.alba__titolo{ font-family: var(--serif-insegna); font-weight:340; line-height:.98; }
.alba__riga{ display:block; }
.alba__riga--sopra{
  font-size: clamp(1.1rem, 3vw, 1.9rem);
  letter-spacing: .38em; text-transform: uppercase;
  font-family: var(--mono-timbro); font-weight:400; margin-bottom:.9rem;
}
.alba__riga--nome{ font-size: clamp(4rem, 15vw, 11.5rem); letter-spacing:-.015em; }
.alba__sottotitolo{
  margin-top:2.2rem; font-style: italic;
  font-size: clamp(1.05rem, 2.2vw, 1.4rem); opacity:.92;
}

/* — 02 · ingresso — */
.quadro-ingresso{
  background: var(--giorno-terra);
  padding: clamp(3.5rem, 9vw, 8rem) clamp(1.2rem, 6vw, 5rem) clamp(4rem, 8vw, 7rem);
  border-radius: 28px 28px 0 0;
  box-shadow: 0 -30px 80px rgba(12,15,12,.35);
}
.ingresso__veduta{ max-width: 1180px; margin: 0 auto; }
.ingresso__veduta img{ width:100%; border-radius: 220px 220px 14px 14px; }
.ingresso__didascalia{
  font-family: var(--mono-timbro); font-size:.72rem; letter-spacing:.12em;
  text-transform: uppercase; color: var(--siepe);
  margin-top:.8rem; text-align:right;
}
.ingresso__lettera{
  max-width: 42rem; margin: clamp(2.5rem,6vw,4.5rem) auto 0;
}
.ingresso__benvenuto{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(2rem, 5.5vw, 3.6rem); line-height:1.08;
  margin-bottom: 1.6rem; color: var(--siepe-scura);
}
.ingresso__lettera p + p{ margin-top:1.1rem; }
.ingresso__lettera p::first-letter{ letter-spacing: .01em; }

/* maschera di svelamento (usata da più figure) */
.maschera-svelabile{ overflow:hidden; }
.maschera-svelabile img{
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1.4s cubic-bezier(.22,.8,.24,1);
}
.maschera-svelabile.svelata img{ clip-path: inset(0 0 0 0); }

/* — 03 · mappa — */
.quadro-mappa{
  background: var(--siepe-scura); color: var(--paglia);
  padding: clamp(4rem, 9vw, 7.5rem) clamp(1.2rem, 5vw, 4rem);
}
.mappa__titolo{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(1.9rem, 5vw, 3.2rem); text-align:center;
}
.mappa__istruzione{
  text-align:center; font-style:italic; opacity:.8; margin:.7rem 0 2.4rem;
}
.mappa__scena{
  display:grid; gap: 1.6rem; max-width: 1200px; margin:0 auto;
  grid-template-columns: minmax(0, 2.2fr) minmax(240px, 1fr);
  align-items: start;
}
.mappa__disegno{ width:100%; height:auto; border-radius: 18px; }
.mappa__strada{ stroke:#e8dcc0; stroke-width:12; stroke-dasharray: 2 16; stroke-linecap: round; opacity:.85; }
.mappa__siepe circle{ fill:#2c4522; }
.mappa__area{
  fill: rgba(250,246,237,.14); stroke: rgba(250,246,237,.7);
  stroke-width:1.6; stroke-dasharray: 5 5;
  transition: fill .3s ease;
}
.mappa__luogo{ cursor:pointer; }
.mappa__luogo:hover .mappa__area,
.mappa__luogo:focus-visible .mappa__area,
.mappa__luogo.acceso .mappa__area{ fill: rgba(228,174,83,.38); stroke-dasharray:none; }
.mappa__nome{
  font-family: var(--serif-insegna); font-size:19px; fill:#faf6ed;
  text-anchor: middle; font-weight:540;
}
.mappa__glifo{ font-size:17px; fill:#e4ae53; text-anchor:middle; }
.mappa__racconto{
  background: rgba(250,246,237,.07);
  border-left: 3px solid var(--alba-oro);
  padding: 1.3rem 1.4rem; border-radius: 0 14px 14px 0;
  min-height: 9rem; font-size:1.02rem;
}
@media (max-width: 780px){
  .mappa__scena{ grid-template-columns: 1fr; }
}

/* — 04 · filiera — */
.quadro-filiera{
  background: var(--paglia);
  padding: clamp(4rem, 9vw, 8rem) 0 clamp(4rem, 8vw, 7rem);
}
.filiera__titolo{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(2rem, 5.5vw, 3.6rem); line-height:1.1;
  text-align:center; color: var(--siepe-scura);
  padding: 0 1.5rem; margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
}
.filiera__cammino{
  list-style:none; padding:0; max-width: 900px; margin:0 auto;
  position:relative;
}
.filiera__cammino::before{
  content:""; position:absolute; top:0; bottom:0; left:50%;
  width:2px; background: repeating-linear-gradient(
    var(--guscio) 0 10px, transparent 10px 22px);
  opacity:.5;
}
.filiera__tappa{
  position:relative; width: min(46%, 26rem);
  padding: 0 1.2rem; margin-bottom: clamp(2rem, 5vw, 3.6rem);
  opacity:0; transform: translateY(26px);
  transition: opacity .8s ease, transform .8s ease;
}
.filiera__tappa.in-vista{ opacity:1; transform:none; }
.filiera__tappa:nth-child(odd){ margin-right:auto; text-align:right; }
.filiera__tappa:nth-child(even){ margin-left:auto; }
.filiera__tappa::before{
  content: attr(data-tappa);
  position:absolute; top:-2px;
  font-family: var(--mono-timbro); font-size:.8rem;
  width: 2.1rem; height: 2.65rem; display:grid; place-content:center;
  background: var(--guscio); color: var(--gesso);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; /* un piccolo uovo numerato */
}
.filiera__tappa:nth-child(odd)::before{ right:-1.15rem; }
.filiera__tappa:nth-child(even)::before{ left:-1.15rem; }
.filiera__tappa h3{
  font-family: var(--serif-insegna); font-weight:540;
  font-size:1.3rem; color: var(--siepe-scura); margin:.7rem 0 .4rem;
}
.filiera__figura img{ border-radius: 12px; }
.filiera__tappa:nth-child(odd) .filiera__figura img{ border-radius: 12px 60px 12px 12px; }
.filiera__tappa:nth-child(even) .filiera__figura img{ border-radius: 60px 12px 12px 12px; }
@media (max-width: 700px){
  .filiera__cammino::before{ left: 1.1rem; }
  .filiera__tappa,
  .filiera__tappa:nth-child(odd){
    width:auto; margin: 0 0 2.4rem 0; padding-left: 3rem; padding-right:1.2rem;
    text-align:left;
  }
  .filiera__tappa:nth-child(odd)::before,
  .filiera__tappa:nth-child(even)::before{ left: .05rem; right:auto; }
}

/* — 05 · benessere — */
.quadro-benessere{
  background: var(--gesso);
  display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
  gap: clamp(1.6rem, 5vw, 4rem); align-items:center;
  padding: clamp(4rem, 9vw, 7rem) clamp(1.2rem, 6vw, 5rem);
}
.benessere__ritratto img{ border-radius: 14px 160px 14px 14px; }
.benessere__ritratto figcaption{
  font-style:italic; font-size:.92rem; margin-top:.7rem; color: var(--siepe);
}
.benessere__patto h2{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(1.9rem, 4.5vw, 3rem); color: var(--siepe-scura);
}
.benessere__premessa{ margin:.9rem 0 1.8rem; font-style:italic; }
.benessere__misure{ display:grid; gap:1.2rem; }
.benessere__misure div{
  display:grid; grid-template-columns: 7.2rem 1fr; gap: 1rem; align-items:baseline;
  border-top: 1px solid rgba(57,82,47,.25); padding-top: .9rem;
}
.benessere__misure dt{
  font-family: var(--mono-timbro); font-weight:500;
  font-size: clamp(1.25rem, 2.6vw, 1.7rem); color: var(--guscio);
}
@media (max-width: 780px){
  .quadro-benessere{ grid-template-columns: 1fr; }
}

/* — 06 · dentro — */
.quadro-dentro{
  background: var(--siepe); color: var(--paglia);
  display:grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);
  gap: clamp(1.6rem, 5vw, 4rem); align-items:center;
  padding: clamp(4rem, 9vw, 7rem) clamp(1.2rem, 6vw, 5rem);
}
.dentro__parole h2{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(1.9rem, 4.5vw, 3rem); line-height:1.1; margin-bottom:1.2rem;
}
.dentro__parole p + p{ margin-top:1rem; }
.dentro__vista img{ border-radius: 14px 14px 14px 140px; }
@media (max-width: 780px){
  .quadro-dentro{ grid-template-columns:1fr; }
  .dentro__vista{ order:-1; }
}

/* — 07 · il quadrante — */
.quadro-giorno{
  background: var(--notte); color: var(--paglia);
  padding: clamp(4.5rem, 10vw, 8rem) clamp(1.2rem, 5vw, 4rem);
  text-align:center;
}
.giorno__titolo{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(1.9rem, 5vw, 3.2rem);
}
.giorno__nota{ opacity:.7; font-style:italic; margin:.6rem 0 3rem; }
.giorno__quadrante{
  display:grid; gap: 2.2rem 1.6rem; max-width: 1000px; margin:0 auto;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.giorno__numero{
  display:block; font-family: var(--mono-timbro); font-weight:500;
  font-size: clamp(2.4rem, 6vw, 4rem); color: var(--alba-oro);
  font-variant-numeric: tabular-nums;
}
.giorno__etichetta{
  display:block; margin-top:.5rem; font-size:.95rem; opacity:.82;
  max-width: 16rem; margin-inline:auto;
}
.giorno__fase{ font-style:italic; color: var(--alba-oro); }

/* — 08 · il codice — */
.quadro-codice{
  background: var(--giorno-terra);
  padding: clamp(4.5rem, 10vw, 8rem) 1.5rem;
  text-align:center;
}
.codice__titolo{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(2rem, 5.5vw, 3.4rem); color: var(--siepe-scura);
}
.codice__spiega{ max-width: 34rem; margin: 1rem auto 2.6rem; }
.codice__uovo{
  display:inline-flex; padding: 2.6rem 3rem;
  background: radial-gradient(circle at 32% 26%, #efd9bd, #cf9c6b 78%);
  border-radius: 50% 50% 50% 50% / 60% 60% 42% 42%;
  box-shadow: inset -14px -18px 40px rgba(90,55,25,.28), 0 24px 40px rgba(34,29,22,.18);
  gap:.35rem;
}
.codice__segmento{
  font-family: var(--mono-timbro); font-size: clamp(1.2rem, 3.4vw, 1.9rem);
  font-weight:500; letter-spacing:.04em;
  color: #4a2f18; background:none; border:none; padding:.2rem .3rem;
  border-bottom: 2px dashed rgba(74,47,24,.4);
  transition: color .25s ease, border-color .25s ease, transform .25s ease;
}
.codice__segmento:hover, .codice__segmento.scelto{
  color:#1e1105; border-bottom-color:#1e1105; transform: translateY(-3px);
}
.codice__responso{
  max-width: 30rem; margin: 2.2rem auto 0; min-height: 4.4rem;
  font-style: italic; color: var(--siepe);
}

/* — 09 · ricette — */
.quadro-ricette{
  background: var(--paglia);
  padding: clamp(4rem, 9vw, 7.5rem) clamp(1.2rem, 5vw, 4rem);
}
.ricette__titolo{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(2rem, 5vw, 3.2rem); color: var(--siepe-scura);
  text-align:center; margin-bottom: clamp(2.2rem, 5vw, 3.6rem);
}
.ricette__quaderno{
  max-width: 1100px; margin:0 auto;
  display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.4rem;
}
.ricette__pagina{
  background: var(--gesso);
  background-image: repeating-linear-gradient(transparent 0 1.85rem, rgba(57,82,47,.12) 1.85rem calc(1.85rem + 1px));
  padding: 1.8rem 1.6rem 2rem; line-height: 1.85rem;
  box-shadow: 0 10px 26px rgba(34,29,22,.1);
}
.ricette__pagina:nth-child(1){ transform: rotate(-1.1deg); }
.ricette__pagina:nth-child(2){ transform: rotate(.7deg) translateY(10px); }
.ricette__pagina:nth-child(3){ transform: rotate(-.5deg); }
.ricette__pagina h3{
  font-family: var(--serif-insegna); font-weight:540; font-size:1.28rem;
  color: var(--guscio); line-height:1.85rem;
}
.ricette__rigo{ font-style:italic; color: var(--siepe); }
@media (max-width: 700px){
  .ricette__pagina, .ricette__pagina:nth-child(2){ transform:none; }
}

/* — 10 · terra — */
.quadro-terra{
  background: var(--siepe-scura); color: var(--paglia);
  padding: clamp(4rem, 9vw, 7.5rem) clamp(1.2rem, 6vw, 5rem);
}
.terra__titolo{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(2rem, 5vw, 3.2rem); max-width: 12ch; line-height:1.1;
}
.terra__gesti{
  list-style:none; padding:0; margin: clamp(2rem, 5vw, 3.2rem) 0 0;
  columns: 2; column-gap: clamp(2rem, 6vw, 5rem);
  max-width: 1100px;
}
.terra__gesti li{
  break-inside: avoid; margin-bottom: 2.2rem; padding-top: 1rem;
  border-top: 1px solid rgba(239,230,208,.3);
}
.terra__gesti h3{
  font-family: var(--serif-insegna); font-weight:540; font-size:1.25rem;
  color: var(--alba-oro); margin-bottom:.4rem;
}
@media (max-width: 760px){ .terra__gesti{ columns:1; } }

/* — 11 · timbri — */
.quadro-timbri{
  background: var(--gesso);
  padding: clamp(4rem, 9vw, 7.5rem) clamp(1.2rem, 5vw, 4rem);
  text-align:center;
}
.timbri__titolo{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(2rem, 5vw, 3.2rem); color: var(--siepe-scura);
}
.timbri__premessa{ max-width: 36rem; margin: .9rem auto 3rem; font-style:italic; }
.timbri__fila{
  list-style:none; padding:0; max-width: 1050px; margin: 0 auto;
  display:flex; flex-wrap:wrap; justify-content:center; gap: 1.6rem;
}
.timbri__timbro{
  flex: 1 1 220px; max-width: 300px; text-align:left;
  border: 2px solid var(--siepe); border-radius: 999px;
  padding: 1.6rem 1.7rem; transform: rotate(-1deg);
  transition: transform .3s ease, background .3s ease;
}
.timbri__timbro:nth-child(even){ transform: rotate(1.3deg); }
.timbri__timbro:hover{ transform: rotate(0) scale(1.02); background: rgba(228,174,83,.12); }
.timbri__timbro strong{
  display:block; font-family: var(--mono-timbro); font-weight:500;
  font-size:.86rem; letter-spacing:.06em; text-transform:uppercase;
  color: var(--siepe-scura); margin-bottom:.5rem;
}
.timbri__timbro span{ font-size:.94rem; }
.timbri__invito{ margin-top: 2.6rem; font-style:italic; color: var(--siepe); }

/* — 12 · diario — */
.quadro-diario{
  background: var(--paglia);
  padding: clamp(4rem, 9vw, 7.5rem) clamp(1.2rem, 5vw, 4rem) clamp(5rem, 10vw, 9rem);
}
.diario__titolo{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(2rem, 5vw, 3.2rem); color: var(--siepe-scura);
  margin-bottom: clamp(2rem, 5vw, 3.2rem);
}
.diario__pagine{ max-width: 46rem; }
.diario__foglio{
  padding: 1.6rem 0 1.8rem;
  border-bottom: 1px dashed rgba(57,82,47,.4);
}
.diario__foglio time{
  font-family: var(--mono-timbro); font-size:.76rem;
  letter-spacing:.16em; text-transform: uppercase; color: var(--guscio);
}
.diario__foglio h3{
  font-family: var(--serif-insegna); font-weight:540;
  font-size: 1.45rem; margin: .35rem 0 .5rem; color: var(--siepe-scura);
}

/* — 13 · contatti — */
.quadro-contatti{
  position:relative; overflow:hidden;
  background: linear-gradient(#2a3325, #141814 78%);
  color: var(--paglia);
  padding-bottom: 8rem;
}
.contatti__orizzonte img{
  width:100%; max-height: 46vh; object-fit: cover;
  mask-image: linear-gradient(to bottom, black 55%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, black 55%, transparent);
}
.contatti__radura{
  position:relative; z-index:2;
  max-width: 1050px; margin: -3rem auto 0;
  padding: 0 clamp(1.2rem, 5vw, 3rem);
  display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
  gap: clamp(2rem, 6vw, 5rem);
}
.contatti__titolo{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(2.1rem, 5.5vw, 3.6rem); line-height:1.08; margin-bottom:1.4rem;
}
.contatti__indirizzo{ font-style: normal; }
.contatti__indirizzo p + p{ margin-top: 1rem; }
.contatti__indirizzo a{ color: var(--alba-oro); text-decoration:none; border-bottom:1px solid rgba(228,174,83,.5); }
.contatti__biglietto{ display:grid; gap:.4rem; align-content:start; }
.contatti__biglietto label{
  font-family: var(--mono-timbro); font-size:.72rem;
  letter-spacing:.16em; text-transform: uppercase; opacity:.75; margin-top: .9rem;
}
.contatti__biglietto input, .contatti__biglietto textarea{
  font: inherit; color: var(--gesso);
  background: rgba(250,246,237,.06);
  border: none; border-bottom: 1.5px solid rgba(239,230,208,.5);
  padding: .55rem .6rem; border-radius: 6px 6px 0 0;
}
.contatti__biglietto input:focus, .contatti__biglietto textarea:focus{
  outline:none; border-bottom-color: var(--alba-oro);
  background: rgba(250,246,237,.1);
}
.contatti__invia{
  margin-top: 1.4rem; justify-self:start;
  font-family: var(--mono-timbro); font-size:.82rem; letter-spacing:.14em;
  text-transform: uppercase; color: var(--notte-fonda);
  background: var(--alba-oro); border:none; border-radius: 999px;
  padding: .85rem 1.7rem; transition: transform .25s ease, box-shadow .25s ease;
}
.contatti__invia:hover{ transform: translateY(-2px); box-shadow: 0 10px 26px rgba(228,174,83,.35); }
.contatti__esito{ min-height:1.4rem; font-style:italic; color: var(--alba-oro); }
@media (max-width: 780px){
  .contatti__radura{ grid-template-columns:1fr; margin-top:-1.4rem; }
}

/* erba che ondeggia in fondo alla pagina */
.erba-che-ondeggia{
  position:absolute; left:0; right:0; bottom:0; height: 92px;
  pointer-events:none; z-index:1;
}
.erba-che-ondeggia .filo-erba{
  position:absolute; bottom:0; width:3px; border-radius: 3px 3px 0 0;
  background: linear-gradient(#5a7a3f, #2c4522);
  transform-origin: bottom center;
  animation: erba-al-vento 3.4s ease-in-out infinite alternate;
}
@keyframes erba-al-vento{
  from{ transform: rotate(-6deg); }
  to{   transform: rotate(7deg); }
}

/* ——— calce ——— */
.calce{
  background: var(--notte-fonda); color: rgba(239,230,208,.75);
  padding: 1.6rem clamp(1.2rem, 4vw, 2.6rem);
  display:flex; flex-wrap:wrap; gap: .8rem 2rem;
  justify-content: space-between; font-size:.88rem;
  position:relative; z-index:3;
}
.calce__carte{ display:flex; gap:1.4rem; }
.calce__carte a{ color:inherit; }

/* ——— pagine legali ——— */
.pagina-carte{
  background: var(--giorno-terra); color: var(--inchiostro);
  min-height:100vh;
}
.pagina-carte .documento{
  max-width: 44rem; margin: 0 auto;
  padding: clamp(6rem, 12vw, 9rem) 1.4rem 5rem;
}
.documento h1{
  font-family: var(--serif-insegna); font-weight:340;
  font-size: clamp(2rem, 5vw, 3rem); color: var(--siepe-scura);
  margin-bottom: .6rem;
}
.documento .documento__aggiornato{
  font-family: var(--mono-timbro); font-size:.74rem; letter-spacing:.14em;
  text-transform:uppercase; color: var(--guscio); margin-bottom: 2.4rem;
}
.documento h2{
  font-family: var(--serif-insegna); font-weight:540; font-size:1.35rem;
  color: var(--siepe-scura); margin: 2.2rem 0 .6rem;
}
.documento p + p{ margin-top:.8rem; }
.documento ul{ padding-left: 1.2rem; margin:.6rem 0; }
.documento a{ color: var(--guscio); }
.documento .documento__ritorno{
  display:inline-block; margin-top: 3rem;
  font-family: var(--mono-timbro); font-size:.8rem; letter-spacing:.12em;
  text-transform:uppercase; text-decoration:none;
  border-bottom: 1px solid currentColor; padding-bottom:2px;
}
.pagina-carte .testata{ mix-blend-mode: normal; color: var(--siepe-scura); }

/* ——— movimento ridotto ——— */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .maschera-svelabile img{ clip-path:none; }
  .filiera__tappa{ opacity:1; transform:none; }
  .sole-viaggiante, .stormo{ display:none; }
  body{ background: linear-gradient(to bottom, #9db6c0, var(--giorno-terra)); }
}
