@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/bodoni-moda-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/bodoni-moda-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/bodoni-moda-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/manrope-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/manrope-latin-600-normal.woff2) format('woff2')}
/* Pratograsso · foglio di stile della pagina pubblicata.
   Tutti i colori, i caratteri e i raggi stanno qui in :root; il resto usa solo var(--...).
   Riferimento: DESIGN.md. */
:root{
  /* ruoli richiesti dalla skill Ship It */
  --bg:#203E50;            /* blu notte, fondo principale */
  --surface:#172F3E;       /* blu più profondo, sezione "La cascina" */
  --text:#F6F1E7;          /* avorio, testo su blu */
  --muted:#A9B4BA;         /* testo secondario e didascalie su blu */
  --border:#B89962;        /* oro dei filetti */
  --accent:#B89962;        /* oro, pulsante principale */
  --accent-ink:#102330;    /* testo sul pulsante oro */
  --danger:#F4A99A;        /* non usato (nessun modulo), tenuto per completezza */
  --radius-sm:0;--radius-md:0;--radius-lg:0;
  --font-heading:"Bodoni Moda",Georgia,serif;
  --font-body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* ruoli in più del marchio */
  --deep:#112430;          /* piè di pagina, fondo del video */
  --text-soft:#D9DCD8;     /* testo corrente su blu */
  --text-lead:#ECE6DA;     /* sottotitoli su blu */
  --gold-text:#CDB383;     /* etichette e corsivi oro su blu */
  --gold-light:#E2CFA6;    /* oro chiaro sopra le foto */
  --paper:#F6F1E7;         /* avorio, sezione "Il riso" */
  --ink:#203E50;           /* testo blu su avorio */
  --ink-soft:#3B4F5B;      /* testo corrente su avorio */
  --ink-muted:#5D6B73;     /* didascalie su avorio */
  --gold-ink:#7E6230;      /* etichette oro su avorio */
  --shade:17,36,48;        /* blu delle velature (usato in rgba) */
  --focus:#E2CFA6;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--font-body);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:400;font-family:var(--font-heading)}
p{margin:0 0 1em}
[hidden]{display:none!important}
main:focus{outline:none}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--deep);color:var(--text);padding:10px 14px;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.view{min-height:100vh;overflow-x:clip}
em{font-style:italic;color:var(--gold-text)}

/* ---------- navigazione ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:24px;padding:14px clamp(16px,4vw,48px);background:linear-gradient(rgba(var(--shade),.7),rgba(var(--shade),0))}
.nav .brand{text-decoration:none;display:flex;align-items:center;margin-right:auto}
.ci-mark{font-family:var(--font-heading);letter-spacing:.32em;font-size:1rem;color:var(--text)}
.nav nav{display:flex;gap:26px}
.nav nav a{text-decoration:none;font-size:.92rem;color:var(--text)}
.nav nav a:hover{text-decoration:underline;text-underline-offset:5px}
.nav-cta{text-decoration:none;padding:9px 16px;font-size:.88rem;min-height:40px;display:inline-flex;align-items:center;border:1px solid var(--text);color:var(--text);border-radius:var(--radius-sm)}
.nav-cta:hover{background:var(--text);color:var(--deep)}
.nav-lang{color:var(--text);text-decoration:none;font-size:.82rem;letter-spacing:.14em;padding:9px 4px;min-height:40px;display:inline-flex;align-items:center}
.nav-lang:hover{text-decoration:underline;text-underline-offset:5px}
@media (max-width:760px){.nav nav{display:none}.nav{gap:12px}}

/* ---------- pulsanti ---------- */
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;text-decoration:none;font-weight:500;letter-spacing:.02em;border-radius:var(--radius-sm);transition:background .2s,color .2s}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--gold-text)}
.btn-ghost{border:1px solid var(--text);color:var(--text)}
.btn-ghost:hover{background:rgba(var(--shade),.4)}

/* ---------- etichette e testi ---------- */
.kicker,.ci-label{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-text);margin-bottom:16px;font-weight:600}
.ci-scene h2{font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.05;margin-bottom:22px}
.ci-over p,.ci-split-text p,.ci-contact p{color:var(--text-soft)}
figcaption{font-size:.78rem;letter-spacing:.06em;color:var(--muted);padding:10px clamp(16px,5vw,72px) 0}

/* ---------- video ---------- */
.vid{position:relative;overflow:hidden;background:var(--deep)}
.vid video,.vid .vid-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vid video{opacity:0;transition:opacity .6s}
.vid.has-started video{opacity:1}
.vid.no-video video{display:none}
.vid picture{position:absolute;inset:0}
.vid picture img{width:100%;height:100%;object-fit:cover}
.vid-btn{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font:inherit;font-size:.9rem;min-height:44px;padding:10px 16px 10px 12px;border-radius:999px;background:rgba(var(--shade),.5);color:var(--text);border:1px solid var(--text);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.vid-btn .i-play{width:22px;height:22px;border-radius:50%;background:var(--text);position:relative;flex:none}
.vid-btn .i-play::after{content:"";position:absolute;left:8px;top:6px;border-left:8px solid var(--deep);border-top:5px solid transparent;border-bottom:5px solid transparent}
.vid-btn[data-state=playing] .i-play::after{left:7px;top:6px;width:8px;height:10px;border:0;border-left:2.5px solid var(--deep);border-right:2.5px solid var(--deep)}

/* ---------- apertura ---------- */
.ci-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end}
.ci-hero .vid{position:absolute;inset:0}
.ci-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(90deg,rgba(var(--shade),.8) 0%,rgba(var(--shade),.5) 38%,rgba(var(--shade),0) 68%),
             linear-gradient(180deg,rgba(var(--shade),.5) 0%,rgba(var(--shade),0) 22%,rgba(var(--shade),.25) 60%,rgba(var(--shade),.9) 94%,var(--bg) 100%)}
.ci-hero-text{position:relative;z-index:2;text-shadow:0 1px 16px rgba(var(--shade),.6);padding:0 clamp(16px,5vw,72px) clamp(110px,14vh,150px);max-width:900px}
.ci-hero h1{font-size:clamp(2.7rem,7vw,6.2rem);line-height:.98;margin-bottom:22px;color:var(--text)}
.ci-hero .lead{font-size:1.15rem;color:var(--text-lead);max-width:32em}
.ci-hero .kicker{color:var(--gold-light)}
.ci-hero .kicker2{display:block;margin-top:8px;letter-spacing:.2em;color:var(--text-lead);font-weight:400}
.ci-hero .vid-btn{right:clamp(16px,4vw,48px);bottom:clamp(100px,13vh,140px)}

/* ---------- 01 il luogo ---------- */
.ci-scene{position:relative}
.ci-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ci-full{min-height:92svh;display:flex;align-items:flex-end}
.ci-full::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--shade),.9) 0%,rgba(var(--shade),.6) 40%,rgba(var(--shade),.05) 75%),linear-gradient(rgba(var(--shade),0) 60%,rgba(var(--shade),.7))}
.ci-over{position:relative;z-index:1;max-width:620px;padding:clamp(48px,8vw,96px) clamp(16px,5vw,72px)}
.ci-names{font-family:var(--font-heading);font-style:italic;font-size:1.3rem;margin-bottom:18px}
.ci-over .ci-names{color:var(--gold-light)}

/* ---------- 02 l'acqua ---------- */
.ci-split{display:grid;grid-template-columns:5fr 7fr;align-items:center;background:var(--bg)}
.ci-split-text{padding:clamp(56px,8vw,112px) clamp(16px,5vw,72px)}
.ci-split-fig{height:100%;position:relative}
.ci-split-fig img{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:30% 50%}
.ci-split-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 12px;background:linear-gradient(rgba(var(--shade),0),rgba(var(--shade),.75));color:var(--text-lead)}

/* ---------- 03 la cascina ---------- */
.ci-pausa{padding:0 0 clamp(56px,8vw,104px);background:var(--surface)}
.ci-letterbox img{width:100%;aspect-ratio:2.39/1;object-fit:cover}
.ci-pausa-text{max-width:1100px;margin:0 auto;padding:40px clamp(16px,5vw,72px) 0}
.ci-pausa h2{font-size:clamp(1.8rem,3.6vw,3rem);max-width:22em;margin:0 0 22px}
.ci-cols{max-width:40em}
.ci-cols p{color:var(--text-soft)}
.ci-cols p:last-child{font-family:var(--font-heading);font-style:italic;font-size:1.2rem;color:var(--gold-light)}

/* ---------- 03 la cascina: il raccolto in video ---------- */
.ci-raccolto{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.ci-raccolto .vid{position:absolute;inset:0}
.ci-raccolto::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(90deg,rgba(var(--shade),.82) 0%,rgba(var(--shade),.5) 40%,rgba(var(--shade),.12) 72%),
             linear-gradient(180deg,rgba(var(--shade),.4) 0%,rgba(var(--shade),0) 30%,rgba(var(--shade),.45) 70%,rgba(var(--shade),.85) 100%)}
.ci-raccolto-text{position:relative;z-index:2;max-width:600px;padding:clamp(64px,9vw,120px) clamp(16px,5vw,72px);text-shadow:0 1px 14px rgba(var(--shade),.6)}
.ci-raccolto-text p{color:var(--text-lead)}
.ci-stagioni{margin:22px 0;padding:0}
.ci-stagioni div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:9px 0;border-top:1px solid rgba(var(--shade),0);border-top-color:var(--border)}
.ci-stagioni dt{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);font-weight:600;padding-top:3px}
.ci-stagioni dd{margin:0;color:var(--text-lead);font-size:.95rem}
.ci-close{font-family:var(--font-heading);font-style:italic;font-size:1.15rem;margin-top:18px}
.ci-raccolto-text .ci-close{color:var(--gold-light)}
.ci-raccolto .vid-btn{right:clamp(16px,4vw,48px);bottom:clamp(24px,4vw,48px)}

/* ---------- 04 il riso (avorio) ---------- */
.ci-rice{display:grid;grid-template-columns:6fr 5fr;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;background:var(--paper);color:var(--ink)}
.ci-rice-text{grid-column:1;grid-row:1 / span 2}
.ci-rice-pack{grid-column:2;grid-row:1 / span 2;margin:0;position:relative;min-height:620px}
.ci-rice-pack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.ci-rice-text{padding:clamp(64px,9vw,120px) clamp(16px,5vw,72px)}
.ci-rice .ci-label{color:var(--gold-ink)}
.ci-rice h2{color:var(--ink)}
.ci-rice-text p{color:var(--ink-soft)}
.ci-rice-text .lead-s{font-size:1.15rem;max-width:34em;color:var(--ink)}
.ci-riso-line{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px;padding-top:18px;border-top:1px solid var(--border);max-width:620px}
.ci-riso-line p{margin:0;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);font-weight:600}
.ci-spec-bird img{width:120px}
.ci-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin:32px 0;max-width:640px}
.ci-specs div{border-top:1px solid var(--border);padding:14px 0}
.ci-specs dt{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:6px;font-weight:600}
.ci-specs dd{margin:0;font-family:var(--font-heading);font-size:1.2rem;line-height:1.3;color:var(--ink)}
.ci-specs .ci-spec-bird{border-top:0;display:flex;align-items:flex-end;padding:8px 0 0}
.ci-tracc{max-width:640px;border-left:2px solid var(--border);padding:4px 0 4px 22px;margin-top:8px}
.ci-tracc h3{font-size:1.5rem;color:var(--ink);margin-bottom:8px}
.ci-tracc p{margin:0}
.ci-tracc p+p{margin-top:.75em}
.ci-rice-fig{grid-column:2;grid-row:2;position:relative;margin:0}
.ci-rice-fig img{width:100%;height:clamp(240px,24vw,340px);object-fit:cover;object-position:88% 55%}
.ci-rice-fig figcaption{padding-bottom:16px}
.ci-rice-fig figcaption{color:var(--ink-muted);padding-left:12px}

/* ---------- 05 l'incontro ---------- */
.ci-contact{position:relative;min-height:90svh;display:flex;align-items:center;overflow:hidden}
.ci-dim2{opacity:.5}
.ci-contact::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(var(--shade),.6),rgba(var(--shade),.9))}
.ci-contact-in{position:relative;z-index:1;max-width:1000px;margin:0 auto;padding:clamp(64px,9vw,120px) clamp(16px,5vw,72px);text-align:center}
.ci-contact-in>p{max-width:40em;margin-left:auto;margin-right:auto}
.ci-contact h2{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1;margin-bottom:22px}
.ci-email{font-family:var(--font-body);font-size:1rem;letter-spacing:.02em;margin:28px 0 6px}
.ci-email a{text-decoration:none;border-bottom:1px solid var(--border);overflow-wrap:anywhere;color:var(--text)}
.ci-line a{color:var(--text)}
.ci-contact .actions{justify-content:center}

/* ---------- piè di pagina ---------- */
.foot{background:var(--deep);color:var(--muted);padding:28px clamp(16px,5vw,72px) 40px;font-size:.84rem;text-align:center}
.foot p{margin:0 0 4px}

/* ---------- telefono ---------- */
@media (max-width:860px){
  .ci-split,.ci-rice{grid-template-columns:1fr}
  .ci-split-fig img{min-height:0;aspect-ratio:4/3}
  .ci-rice-text,.ci-rice-pack,.ci-rice-fig{grid-column:1;grid-row:auto}
  .ci-rice-pack{order:-1;min-height:0}
  .ci-rice-pack img{position:static;aspect-ratio:4/5;height:auto}
  .ci-rice-fig img{height:auto;aspect-ratio:4/3}
  .ci-full::after{background:linear-gradient(rgba(var(--shade),.3) 0%,rgba(var(--shade),.74) 32%,rgba(var(--shade),.94) 70%)}
  .ci-letterbox img{aspect-ratio:16/9}
  .ci-spec-bird img{width:90px}
  .ci-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ci-raccolto::after{background:linear-gradient(180deg,rgba(var(--shade),.35) 0%,rgba(var(--shade),.15) 30%,rgba(var(--shade),.7) 58%,rgba(var(--shade),.95) 100%)}
  .ci-raccolto{display:block;min-height:0}
  .ci-raccolto .vid{position:relative;aspect-ratio:4/5}
  .ci-raccolto::after{display:none}
  .ci-raccolto-text{max-width:none;text-shadow:none;padding:40px 16px 56px}
  .ci-raccolto .vid-btn{bottom:16px;top:auto;right:16px}
  .ci-hero .vid-btn{bottom:auto;top:80px}
  .ci-hero::after{background:linear-gradient(180deg,rgba(var(--shade),.55) 0%,rgba(var(--shade),.15) 22%,rgba(var(--shade),.68) 40%,rgba(var(--shade),.95) 75%,var(--bg) 100%)}
  .ci-hero-text{padding-bottom:110px}
}

/* ---------- telefono: etichetta e titolo prima del video e della foto ---------- */
@media (max-width:860px){
  .ci-raccolto{display:flex;flex-direction:column;align-items:stretch}
  .ci-rice{grid-template-rows:none}
  .ci-raccolto-text,.ci-rice-text{display:contents}
  .ci-raccolto .ci-label,.ci-rice .ci-label{order:-3;margin:48px 16px 12px}
  .ci-raccolto h2,.ci-rice h2{order:-2;margin:0 16px 28px}
  .ci-raccolto .vid,.ci-rice-pack{order:-1}
  .ci-raccolto-text>:not(.ci-label):not(h2),.ci-rice-text>:not(.ci-label):not(h2){margin-left:16px;margin-right:16px}
  .ci-raccolto-text>h2+*,.ci-rice-text>h2+*{margin-top:32px}
  .ci-raccolto-text>:last-child{margin-bottom:56px}
  .ci-rice-text>:last-child{margin-bottom:64px}
}

/* ---------- movimento ridotto ---------- */
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
