/* Due porte in apertura: B&B e matrimoni */
.porte{display:grid;gap:12px;margin-top:32px;max-width:640px}
@media(min-width:640px){.porte{grid-template-columns:1fr 1fr}}
.porta{display:flex;flex-direction:column;gap:4px;padding:20px 22px;border-radius:var(--raggio);color:#fff;text-decoration:none;
  background:rgba(30,42,34,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);backdrop-filter:blur(6px);
  transition:background .2s ease,transform .2s ease}
.porta strong{font-family:var(--titoli);font-size:clamp(24px,2.4vw,30px);font-weight:500;line-height:1.1}
.porta span:last-child{font-size:15px;color:rgba(255,255,255,.88)}
.porta .etichetta{margin:0;color:#e9d3b4}
@media(hover:hover){.porta:hover{background:rgba(30,42,34,.78)}}
.porta:active{transform:scale(.98)}
.porta:focus-visible{outline:2px solid #fff;outline-offset:3px}
.soggiorno .azioni,.feste>.cornice>.azioni{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}
.feste-testa p:not(.etichetta){max-width:52ch;color:var(--secondario)}

:root{
  --avorio:#F4EFE6;--verde:#1E2A22;--ottone:#A8743A;--ottone-scuro:#83592a;
  --inchiostro:#1B1A17;--secondario:#4F4A42;--linea:#D9D0C1;
  --titoli:'Cormorant Garamond',Georgia,serif;--testo:'Manrope',system-ui,sans-serif;
  --sezione:clamp(72px,10vw,128px);--max:1240px;--raggio:4px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--avorio);color:var(--inchiostro);font:400 17px/1.6 var(--testo);
  -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
@media (min-width:900px){body{font-size:18px}}
img{max-width:100%;display:block}
a{color:inherit;text-underline-offset:.2em}
h1,h2,h3{font-family:var(--titoli);font-weight:400;line-height:1.02;letter-spacing:-.01em;margin:0 0 .5em;text-wrap:balance}
h1 em,h2 em{font-style:italic;color:var(--ottone)}
p{margin:0 0 1em;max-width:62ch}
:focus-visible{outline:2px solid var(--ottone);outline-offset:3px}

.etichetta{font:600 12px/1.4 var(--testo);text-transform:uppercase;letter-spacing:.14em;color:var(--ottone-scuro);margin-bottom:1.2em}
@media (min-width:900px){.etichetta{font-size:13px}}
.cornice{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,5vw,48px)}

.salta{position:absolute;left:16px;top:-80px;z-index:100;background:var(--verde);color:#fff;padding:10px 16px;border-radius:var(--raggio)}
.salta:focus{top:16px}
.salta-storia:focus{position:relative;display:inline-block;top:0;margin:16px}

/* bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:var(--raggio);
  background:var(--ottone-scuro);color:#fff;font:600 15px/1 var(--testo);letter-spacing:.02em;text-decoration:none;
  transition:background-color .2s ease,transform .16s ease}
@media (hover:hover){.btn:hover{background:#74501f}}
.btn:active{transform:scale(.97)}
.btn-chiaro{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor}
@media (hover:hover){.btn-chiaro:hover{background:rgba(255,255,255,.12)}}
.btn-piccolo{min-height:44px;padding:0 18px;font-size:14px}
.azioni{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* testata */
.testata{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:24px;
  padding:14px clamp(20px,5vw,48px);color:#fff;transition:background-color .35s ease,color .35s ease,box-shadow .35s ease}
.testata.piena{background:rgba(244,239,230,.96);color:var(--inchiostro);box-shadow:0 1px 0 var(--linea)}
.marchio{font:500 24px/1 var(--titoli);text-decoration:none;letter-spacing:.01em;margin:0}
a.marchio{display:inline-flex;align-items:center;min-height:44px}
.testata nav{margin-left:auto}
.testata ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.testata nav a{font-size:14px;text-decoration:none;display:inline-block;padding:12px 0}
@media (hover:hover){.testata nav a:hover{text-decoration:underline}}
@media (max-width:899px){.testata nav{display:none}.testata .btn-piccolo{margin-left:auto}}
.lingue{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;letter-spacing:.08em}
.lingue a{display:inline-flex;align-items:center;min-height:44px;min-width:28px;justify-content:center;text-decoration:none}
.lingue a[aria-current]{text-decoration:underline;text-underline-offset:4px}
@media (hover:hover){.lingue a:hover{text-decoration:underline}}
@media (max-width:599px){.testata{gap:14px}.lingue{margin-left:auto}.testata .lingue + .btn-piccolo{margin-left:0}
  .lingue a[aria-current],.lingue span{display:none}}
@media (max-width:379px){.testata .marchio{font-size:20px}}

/* apertura */
.apertura{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#969983}
.apertura-foto,.apertura-foto img{position:absolute;inset:0;width:100%;height:100%}
.apertura-foto img{object-fit:cover}
.apertura::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,24,20,.62) 0%,rgba(20,24,20,.2) 20%,rgba(20,24,20,.12) 45%,rgba(20,24,20,.82) 100%)}
.testata:not(.piena){text-shadow:0 1px 12px rgba(10,14,10,.55)}
.apertura-testo{position:relative;z-index:1;width:100%;max-width:var(--max);margin:0 auto;
  padding:0 clamp(20px,5vw,48px) clamp(56px,10vh,112px)}
.apertura .etichetta{color:#f6e6cf;text-shadow:0 1px 10px rgba(10,14,10,.6)}
.apertura h1,.apertura-sotto{text-shadow:0 2px 24px rgba(10,14,10,.35)}
.apertura h1{font-size:clamp(46px,8.2vw,112px);max-width:14ch;margin-bottom:.3em}
.apertura h1 em{color:#e9c99c}
.apertura-sotto{font-size:clamp(17px,1.5vw,20px);max-width:44ch;color:rgba(255,255,255,.92)}
.apertura .btn-chiaro{color:#fff}

/* racconto */
.storia[data-fx]{--fx-rs-sfondo:var(--verde);--fx-rs-accento:#e9c99c;--velo:rgba(14,22,16,.42);margin-top:56px;color:#fff}
.storia[data-fx][data-fx-tema="sera"]{--velo:rgba(10,14,12,.5)}
/* senza JS: solo i testi, in elenco */
.storia[data-fx]:not(.fx-rs-on) .fx-rs-palco{display:none}
.storia[data-fx]:not(.fx-rs-on) .fx-rs-passi{max-width:var(--max);margin:0 auto;padding:48px clamp(20px,5vw,48px)}
.storia[data-fx]:not(.fx-rs-on) .fx-rs-passo{margin-bottom:40px}
/* il palco: foto che si apre dal basso, deriva lenta con lo scroll, velo scuro per leggere */
/* passaggio morbido: dissolvenza incrociata lenta, la nuova foto sopra la vecchia */
.storia[data-fx].fx-rs-on .fx-rs-quadro{clip-path:none;opacity:0;z-index:0;
  transition:opacity 1.6s cubic-bezier(.4,0,.2,1)}
.storia[data-fx].fx-rs-on .fx-rs-quadro.fx-rs-attivo{opacity:1;z-index:1;transition:opacity 1.2s cubic-bezier(.4,0,.2,1)}
.storia[data-fx].fx-rs-on .fx-rs-quadro > picture > img{display:block;width:100%;height:100%;object-fit:cover;
  transform:scale(calc(var(--fx-rs-zoom,1) * (1.04 + var(--fx-rs-tot,0) * .08)));transform-origin:var(--fx-rs-fuoco,50% 50%);
  transition:transform 1.2s cubic-bezier(.16,1,.3,1),transform-origin 1.2s cubic-bezier(.16,1,.3,1)}
.storia[data-fx].fx-rs-on .fx-rs-quadro > picture{display:block;height:100%}
.storia[data-fx] .fx-rs-palco::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,14,12,.35) 0%,transparent 30%,transparent 55%,rgba(10,14,12,.7) 100%),var(--velo);
  transition:background-color .8s ease}
/* i capitoli */
.storia[data-fx] .fx-rs-indice{position:absolute;z-index:2;right:clamp(20px,4vw,56px);top:50%;transform:translateY(-50%);
  display:none;flex-direction:column;gap:6px}
.storia[data-fx] .fx-rs-indice a{display:flex;align-items:center;gap:12px;justify-content:flex-end;min-height:44px;
  color:rgba(255,255,255,.62);text-decoration:none;font-size:14px;letter-spacing:.04em;transition:color .4s ease}
.storia[data-fx] .fx-rs-indice span{font:italic 400 18px/1 var(--titoli);width:2.2em;text-align:right}
.storia[data-fx] .fx-rs-indice a::after{content:"";width:22px;height:1px;background:currentColor;transition:width .5s cubic-bezier(.16,1,.3,1)}
.storia[data-fx] .fx-rs-indice a[aria-current]{color:#fff}
.storia[data-fx] .fx-rs-indice a[aria-current]::after{width:56px;background:var(--fx-rs-accento)}
.storia[data-fx] .fx-rs-indice a:hover{color:#fff}
@media (min-width:900px){.storia[data-fx].fx-rs-on .fx-rs-indice{display:flex}}
/* i passi: testo grande sulla foto, niente schede */
.storia[data-fx].fx-rs-on .fx-rs-passi{pointer-events:none}
.storia[data-fx].fx-rs-on .fx-rs-passo > *{background:none;box-shadow:none;border-radius:0;padding:0 4px;color:#fff;
  max-width:36rem;pointer-events:auto;text-shadow:0 2px 24px rgba(0,0,0,.35)}
@media (min-width:900px){.storia[data-fx].fx-rs-on[data-fx-modo="pieno"] .fx-rs-passo{justify-content:flex-start!important}
  .storia[data-fx].fx-rs-on[data-fx-modo="pieno"] .fx-rs-passi{padding-left:clamp(32px,8vw,128px)}}
.storia[data-fx] .num{display:block;font:italic 400 clamp(64px,9vw,128px)/.9 var(--titoli);color:var(--fx-rs-accento);margin-bottom:.15em}
.storia[data-fx] h3{font-size:clamp(36px,4.6vw,64px);line-height:1.02;margin:0 0 .35em;color:inherit}
.storia[data-fx] p{font-size:clamp(16px,1.3vw,19px);line-height:1.6;margin:0;color:rgba(255,255,255,.9)}
.storia[data-fx]:not(.fx-rs-on){background:var(--verde);padding:24px 0}
/* il testo entra a righe quando il suo passo diventa quello corrente */
.storia[data-fx].fx-rs-on .fx-rs-passo > div > *{opacity:0;transform:translateY(28px);
  transition:opacity .7s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.storia[data-fx].fx-rs-on .fx-rs-passo > div > h3{transition-delay:.08s}
.storia[data-fx].fx-rs-on .fx-rs-passo > div > p{transition-delay:.16s}
.storia[data-fx].fx-rs-on .fx-rs-corrente > div > *,.storia[data-fx].fx-rs-on .fx-rs-letto > div > *,
.storia[data-fx].fx-rs-fermo .fx-rs-passo > div > *{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.storia[data-fx] .fx-rs-passo > div > *{opacity:1!important;transform:none!important}
  .storia[data-fx] .fx-rs-quadro > picture > img{transform:scale(var(--fx-rs-zoom,1))!important}}

/* numeri */
.numeri{padding:var(--sezione) 0;border-bottom:1px solid var(--linea)}
.numeri ul{list-style:none;margin:0 auto;padding:0 clamp(20px,5vw,48px);max-width:var(--max);
  display:grid;grid-template-columns:repeat(2,1fr);gap:40px 24px}
@media (min-width:900px){.numeri ul{grid-template-columns:repeat(4,1fr)}}
.numeri li{border-top:1px solid var(--linea);padding-top:20px}
.numeri strong{display:block;font:400 clamp(48px,6vw,80px)/1 var(--titoli);color:var(--verde);font-variant-numeric:lining-nums}
.numeri li span{display:block;margin-top:10px;color:var(--secondario);font-size:15px}

/* feste */
.feste{padding:var(--sezione) 0 calc(var(--sezione) * .55)}
.feste-testa h2{font-size:clamp(38px,5vw,68px);max-width:18ch}

/* feste vere: 4 foto degli eventi sotto il racconto dei matrimoni */
.feste-foto{margin-top:calc(var(--sezione) * .55)}
.feste-foto-testa h3{font-size:clamp(26px,3vw,36px);margin-bottom:.4em}
.feste-foto-testa p{color:var(--secondario);max-width:52ch}
.feste-foto-griglia{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:44vw;gap:12px;margin-top:28px}
.feste-foto-griglia figure{margin:0;min-width:0;border-radius:var(--raggio);overflow:hidden;background:#e6ddcf}
.feste-foto-griglia picture{display:block;height:100%}
.feste-foto-griglia img{width:100%;height:100%;object-fit:cover}
.feste-foto-griglia .ff-1{grid-column:1/-1;grid-row:span 1}
.feste-foto-griglia .ff-2{grid-row:span 2}
@media (min-width:900px){
  .feste-foto-griglia{grid-template-columns:1.7fr 1fr 1fr;grid-auto-rows:clamp(170px,16vw,250px);gap:16px}
  .feste-foto-griglia .ff-1{grid-column:1;grid-row:1/3}
  .feste-foto-griglia .ff-2{grid-column:2;grid-row:1/3}}
.feste-foto-link{margin-top:20px}
.feste-foto-link a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--ottone-scuro);text-underline-offset:4px}

/* galleria */
.galleria{padding:0 0 var(--sezione)}
.galleria h2{font-size:clamp(34px,4vw,52px)}
.galleria-griglia{display:grid;gap:12px;margin-top:32px;grid-template-columns:1fr 1fr}
.segnaposto{aspect-ratio:4/3;background:repeating-linear-gradient(135deg,#ebe4d8 0 12px,#e6ddcf 12px 24px);
  border:1px dashed #b3a690;border-radius:var(--raggio);display:flex;align-items:center;justify-content:center;
  padding:16px;text-align:center;font-size:13px;color:var(--secondario)}
.segnaposto.grande{grid-column:1/-1;aspect-ratio:16/9}
@media (min-width:900px){.galleria-griglia{grid-template-columns:2fr 1fr 1fr}
  .segnaposto.grande{grid-column:1;grid-row:1/3;aspect-ratio:auto}
  .segnaposto:nth-child(4){grid-column:2/4;aspect-ratio:auto}}
.galleria-tutte{margin-top:28px}

/* album: le foto caricate da Vincenzo (assets/js/galleria.js) */
.galleria-piena{display:block}
.album{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:1fr 1fr;grid-auto-rows:44vw;grid-auto-flow:dense}
.album li{margin:0;min-width:0}
.album button{display:block;width:100%;height:100%;padding:0;border:0;background:#e6ddcf;border-radius:var(--raggio);overflow:hidden;cursor:zoom-in}
.album img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.album button:hover img{transform:scale(1.03)}}
@media (min-width:900px){.album{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(180px,17vw,260px)}}
/* in home: le prime 4 con lo stesso disegno dei segnaposto */
.galleria-griglia .album li:first-child,.galleria-griglia .album li:nth-child(4){grid-column:1/-1;grid-row:span 1}
@media (min-width:900px){.galleria-griglia .album{grid-template-columns:2fr 1fr 1fr;grid-auto-rows:clamp(180px,17vw,260px)}
  .galleria-griglia .album li:first-child{grid-column:1;grid-row:1/3}
  .galleria-griglia .album li:nth-child(4){grid-column:2/4}}

/* pagina foto */
.pagina-foto{padding-top:120px;padding-bottom:var(--sezione)}
.pagina-foto h1{font-size:clamp(44px,6vw,80px);max-width:16ch}
.pagina-foto .intro{max-width:56ch;color:var(--secondario);margin-bottom:40px}
/* schede «La villa e il B&B» / «Eventi»: senza JS le due sezioni stanno una sotto l'altra */
.schede{display:flex;gap:4px;margin-bottom:28px;border-bottom:1px solid var(--linea)}
.schede[hidden]{display:none}
.schede button{min-height:48px;padding:0 18px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;
  font:600 15px/1 var(--testo);color:var(--secondario);cursor:pointer}
.schede button[aria-selected="true"]{color:var(--inchiostro);border-bottom-color:var(--ottone)}
@media (hover:hover){.schede button:hover{color:var(--inchiostro)}}
.pannello+.pannello{margin-top:56px}
.pannello-t{font-size:clamp(26px,3vw,36px);margin-bottom:20px}
.con-schede .pannello+.pannello{margin-top:0}
.con-schede .pannello-t{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* foto a colonne: ogni foto con le sue proporzioni, nessun buco qualunque sia il numero */
.album-colonne{display:block;columns:2;column-gap:12px}
.album-colonne li{break-inside:avoid;margin-bottom:12px}
.album picture{display:block;height:100%}
.album-colonne button,.album-colonne picture{height:auto}
.album-colonne img{height:auto}
@media (min-width:900px){.album-colonne{columns:3;column-gap:16px}.album-colonne li{margin-bottom:16px}}
.album-vuoto{display:none;padding:48px 24px;text-align:center;border:1px dashed #b3a690;border-radius:var(--raggio);color:var(--secondario)}
.galleria-vuota .album-vuoto{display:block}
/* in home: finché Vincenzo non carica foto, il blocco non si vede (le foto vere sono in «La casa») */
.galleria:has(.galleria-vuota){display:none}

/* lightbox */
.lightbox{border:0;padding:0;margin:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;background:rgba(14,18,15,.94);color:#efe8dc}
.lightbox::backdrop{background:rgba(14,18,15,.6)}
.lightbox figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 16px 24px;gap:14px}
.lightbox img{max-width:100%;max-height:calc(100% - 48px);object-fit:contain;border-radius:var(--raggio)}
.lightbox figcaption{font-size:14px;text-align:center;max-width:60ch}
.lightbox button{position:absolute;width:48px;height:48px;border:0;border-radius:50%;background:rgba(244,239,230,.12);color:#fff;font-size:24px;line-height:1;cursor:pointer}
@media (hover:hover){.lightbox button:hover{background:rgba(244,239,230,.24)}}
.lightbox button:focus-visible{outline:2px solid #e9c99c;outline-offset:2px}
.lb-chiudi{top:12px;right:12px}
.lb-prec{left:12px;top:50%;transform:translateY(-50%)}
.lb-succ{right:12px;top:50%;transform:translateY(-50%)}
@media (max-width:599px){.lb-prec,.lb-succ{top:auto;bottom:12px;transform:none}.lightbox figure{padding-bottom:76px}}
.nota{margin-top:20px;font-size:14px;color:var(--secondario)}

/* la casa: le foto scelte da noi (le altre le carica Vincenzo nella galleria) */
.casa{padding:var(--sezione) 0}
.casa h2{font-size:clamp(34px,4vw,54px)}
.casa h2 em{font-style:italic;color:var(--ottone-scuro)}
.casa-testa p:not(.etichetta){color:var(--secondario);max-width:52ch}
.casa-griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:40px}
.casa-gruppo{grid-column:1/-1;margin:28px 0 0;padding-top:14px;border-top:1px solid var(--linea);
  font:600 12px/1.4 var(--testo);text-transform:uppercase;letter-spacing:.14em;color:var(--secondario)}
.casa-gruppo:first-child{margin-top:0}
.casa-foto{grid-column:1/-1;margin:0;display:flex;flex-direction:column;min-width:0}
.casa-foto picture{display:block;flex:1;min-height:0;border-radius:var(--raggio);overflow:hidden;background:#e6ddcf}
.casa-foto img{width:100%;height:100%;object-fit:cover}
.casa-foto figcaption{margin-top:8px;font-size:14px;color:var(--secondario)}
.f-grande picture{aspect-ratio:3/2}.f-alta picture{aspect-ratio:4/5}.f-larga picture{aspect-ratio:4/3}
.f-media picture{aspect-ratio:1/1}.f-mezzo picture{aspect-ratio:4/3}.f-terzo picture{aspect-ratio:3/2}.f-ampia picture{aspect-ratio:16/9}
.casa-foto.f-mezzo{grid-column:span 1}
.casa-nota{grid-column:1/-1;margin:4px 0 0;max-width:46ch;color:var(--secondario)}
@media (min-width:900px){
  .casa-griglia{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-top:56px}
  .casa-gruppo{margin-top:40px}
  .f-grande,.f-ampia{grid-column:span 8}.f-alta{grid-column:span 4}
  .f-larga{grid-column:span 7}.f-media{grid-column:span 5}
  .casa-foto.f-mezzo{grid-column:span 6}.f-terzo{grid-column:span 4}
  /* nelle coppie la foto stretta prende l'altezza della larga */
  .f-alta picture,.f-media picture{aspect-ratio:auto;position:relative}
  .f-alta img,.f-media img{position:absolute;inset:0}
  .casa-nota{grid-column:span 4;align-self:end;margin:0 0 4px}
}

/* soggiorno */
.soggiorno{padding:var(--sezione) 0;background:#ebe4d8}
.soggiorno-griglia{display:grid;gap:48px}
@media (min-width:900px){.soggiorno-griglia{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:clamp(48px,6vw,96px);align-items:start}
  .soggiorno .soggiorno-griglia{max-width:calc(var(--max) + 240px);margin-left:max(0px,calc((100% - var(--max)) / 2))}}
.soggiorno h2{font-size:clamp(34px,4vw,54px)}
.soggiorno-testa p:not(.etichetta){color:var(--secondario);max-width:48ch}
.soggiorno-testa{margin-bottom:clamp(32px,4vw,48px)}
.soggiorno-intro{color:var(--secondario);max-width:48ch;margin-bottom:clamp(28px,3vw,40px)}
@media (min-width:900px){.soggiorno-lato{position:sticky;top:120px}}
.soggiorno-sotto{font-size:clamp(28px,3vw,40px)}
/* B&B: foto a destra e testo scuro sul fondo chiaro (computer) */
@media (min-width:900px){
  .storia[data-fx].fx-rs-on:not([data-fx-modo="pieno"]){--fx-rs-sfondo:#ebe4d8;color:var(--inchiostro)}
  .storia[data-fx].fx-rs-on:not([data-fx-modo="pieno"]) .fx-rs-quadro{inset:12vh clamp(16px,4vw,64px) 12vh 0;border-radius:4px;overflow:hidden}
  .storia[data-fx]:not([data-fx-modo="pieno"]) .fx-rs-palco::after{display:none}
  .storia[data-fx].fx-rs-on:not([data-fx-modo="pieno"]) .fx-rs-passo > *{color:var(--inchiostro);text-shadow:none}
  .storia[data-fx]:not([data-fx-modo="pieno"]) p{color:var(--secondario)}
  .storia[data-fx]:not([data-fx-modo="pieno"]) .num{color:var(--ottone)}
}

/* capitolo corrente e barra di lettura nella testata */
.capitolo{display:none;margin:0 0 0 auto;align-items:baseline;gap:10px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.capitolo-num{font:italic 400 20px/1 var(--titoli);color:var(--ottone);text-transform:none}
@media (min-width:600px){.capitolo{display:flex}.testata .btn-piccolo{margin-left:0}}
@media (min-width:900px){.capitolo{margin-left:0;padding-left:24px;border-left:1px solid currentColor}}
.testata::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ottone);
  transform-origin:0 50%;transform:scaleX(var(--letto,0))}

/* apertura: la foto si avvicina, il testo sale e svanisce */
@media (prefers-reduced-motion:no-preference){
  .apertura-foto img{transform:scale(calc(1 + var(--via,0) * .12))}
  .apertura-testo{transform:translateY(calc(var(--via,0) * -60px));opacity:calc(1 - var(--via,0) * 1.4)}
}
.scorri{position:absolute;z-index:1;left:50%;bottom:20px;transform:translateX(-50%);margin:0;font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75)}
@media (max-width:899px){.scorri{display:none}}

/* la frase che si accende */
.frase{font:400 clamp(30px,4.4vw,60px)/1.12 var(--titoli);max-width:24ch;margin:0 0 clamp(48px,7vw,88px);color:var(--verde)}
.dettagli{margin:0}
.dettagli div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:18px 0;border-top:1px solid #cfc4b2}
.dettagli dt{font:600 12px/1.6 var(--testo);text-transform:uppercase;letter-spacing:.14em;color:var(--ottone-scuro);padding-top:3px}
.dettagli dd{margin:0}

/* contatti */
.contatti{padding:var(--sezione) 0;background:var(--verde);color:#efe8dc}
.contatti .etichetta{color:#e2bd8c}
.contatti h2{font-size:clamp(44px,6vw,84px)}
.contatti .btn{background:#c79158;color:#1B1A17}
@media (hover:hover){.contatti .btn:hover{background:#d6a26b}}
.contatti .btn-chiaro{background:transparent;color:#efe8dc}
.contatti-griglia{display:grid;gap:56px}
@media (min-width:900px){.contatti-griglia{grid-template-columns:1.2fr 1fr;gap:80px;align-items:end}}
.recapiti{list-style:none;margin:0;padding:0}
.recapiti li{padding:16px 0;border-top:1px solid rgba(239,232,220,.18)}
.recapiti span{display:block;font:600 12px/1.6 var(--testo);text-transform:uppercase;letter-spacing:.14em;color:#e2bd8c;margin-bottom:4px}
.recapiti a{display:inline-block;padding:10px 0;min-height:44px}
:root{--colore-superficie:#fbf8f2;--colore-testo:#1B1A17;--colore-linea:#D9D0C1;--colore-accento:#A8743A;--colore-tenue:#5C574E;--raggio-l:4px}
.contatti .mappa{grid-column:1/-1;min-height:360px;border-radius:var(--raggio);overflow:hidden;
  --colore-superficie:#26352b;--colore-testo:#efe8dc;--colore-linea:rgb(239 232 220/.3);--colore-accento:#c79158;--colore-accento-testo:#1B1A17}
.contatti .mappa a{color:#e2bd8c;padding:10px 0}
.piede .ifs-consenso-link{min-height:44px;color:inherit}

/* piede */
.piede{background:#17201a;color:#c9c1b3;padding:48px 0;font-size:14px}
.piede-griglia{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:baseline}
.piede p{margin:0}
.piede .marchio{color:#efe8dc;font-size:22px}
.piede a{display:inline-block;padding:12px 0}

/* richiesta disponibilità (kit prenota, con i colori della villa) */
.s-prenota{--spazio-s:16px;--spazio-m:clamp(20px,3vw,36px);--spazio-l:clamp(40px,6vw,80px);--colore-linea:var(--linea);
  --raggio-l:var(--raggio);--colore-superficie:#fbf8f2;--colore-accento:var(--ottone);--testo-s:14px;
  padding:var(--sezione) 0;border-top:1px solid var(--linea)}
.s-prenota h2{font-size:clamp(36px,4.4vw,60px)}
.s-prenota__intro p:not(.etichetta){color:var(--secondario);max-width:46ch}
.tenue{color:var(--secondario)}
.nascosto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.campo{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.campo label{font:600 13px/1.4 var(--testo);letter-spacing:.02em}
.campo label .tenue{font-weight:400}
.campo input,.campo textarea,.campo select{font:400 16px/1.4 var(--testo);color:var(--inchiostro);background:#fff;
  border:1px solid #c9bda9;border-radius:var(--raggio);padding:12px 14px;min-height:48px;width:100%}
.campo textarea{resize:vertical}
.campo input:focus-visible,.campo textarea:focus-visible{outline:2px solid var(--ottone);outline-offset:1px;border-color:var(--ottone)}
.campo--spunta{flex-direction:row;align-items:center;gap:12px}
.campo--spunta input{width:22px;height:22px;min-height:0;accent-color:var(--ottone-scuro);flex:none}
.campo--spunta label{font-weight:400;font-size:15px}
.campo--spunta a{display:inline-block;padding:10px 0}
.btn-vuoto{background:transparent;color:var(--ottone-scuro);box-shadow:inset 0 0 0 1px currentColor}
@media (hover:hover){.btn-vuoto:hover{background:rgba(168,116,58,.1)}}

/* comparse */
.js .rivela{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.js .rivela.vista{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rivela{opacity:1;transform:none;transition:none}}
