:root{--walnut:#442413;--ivory:#F2E8D5;--cream:#FCF6E1;--olive:#4B5D23;--chart:#ADC136;--earth:#170B06;--mute:#7A5F50;--fs:"Fraunces",Georgia,serif;--tc-font:"Fraunces",Georgia,serif;--fj:Manrope,system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:400 16px/1.6 Manrope,system-ui,sans-serif;background:var(--ivory);color:var(--walnut)}
.top{position:sticky;top:12px;z-index:50;margin:12px auto 0;width:min(1200px,calc(100% - 24px));display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  padding:.6rem 1.1rem;border-radius:40px;background:rgba(252,246,225,.92);backdrop-filter:blur(10px);border:1px solid rgba(68,36,19,.14);box-shadow:0 14px 30px -20px rgba(68,36,19,.5);font-size:13px;font-weight:700}
.top a{color:var(--walnut);text-decoration:none}
.nb{display:flex;gap:.4rem;align-items:center}.top nav{display:flex;gap:1.1rem;flex-wrap:wrap}.top a:hover{color:var(--olive)}
.hero{padding:clamp(60px,9vw,120px) 24px clamp(30px,4vw,60px);max-width:1200px;margin:0 auto}
.eb{font:700 12px/1 Manrope;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);margin-bottom:1rem}
h1,h2{font:400 clamp(2.2rem,5.4vw,4.6rem)/1 var(--fs);letter-spacing:-.02em;text-wrap:balance}
h2{font-size:clamp(1.9rem,4vw,3.2rem)}
h1 em,h2 em{color:var(--olive)}
.lead{max-width:640px;margin-top:1.2rem;color:var(--mute)}
.blk{max-width:1200px;margin:0 auto;padding:clamp(40px,6vw,90px) 24px}
.dark{max-width:none;background:var(--earth);color:var(--ivory)}
.dark>*{max-width:1152px;margin-left:auto;margin-right:auto}
.dark .eb{color:var(--chart)}.dark h2 em{color:var(--chart)}
.sh{margin-bottom:clamp(28px,4vw,56px)}
.gv{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(20px,4vw,60px);align-items:center;padding:clamp(24px,4vw,56px) 0;border-top:1px solid rgba(68,36,19,.2)}
.gv.rev{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.gv.rev .gv-t{order:2}
.gv-t .n{font:400 3.4rem/1 var(--fs);color:var(--olive);display:block}
.gv-t h3{font:400 clamp(1.6rem,2.6vw,2.2rem)/1.05 var(--fs);margin:.3rem 0 .7rem}
.gv-t p{color:var(--mute)}.gv-t small{display:block;margin-top:.9rem;font:700 11px/1 Manrope;letter-spacing:.12em;text-transform:uppercase;color:var(--olive)}
.gv-s{min-width:0}
.gp{position:relative}
.fr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,30px)}
.fr-v{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;border:1px solid rgba(68,36,19,.25);border-radius:18px;background:var(--cream)}
.dark .fr-v{border-color:rgba(242,232,213,.2)}
.fr-v iframe{position:absolute;left:0;top:0;width:1440px;height:900px;border:0;transform-origin:0 0}
.fr figcaption{margin-top:.7rem;font-size:14px;color:var(--mute)}
.fr figcaption b{display:block;font:700 13px Manrope;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.2rem;color:var(--walnut)}
.dark .fr figcaption{color:rgba(242,232,213,.7)}.dark .fr figcaption b{color:var(--chart)}
.fine{padding:40px 24px 60px;text-align:center;font-size:13px}.fine a{color:var(--walnut);font-weight:700}
@media(max-width:860px){.gv,.gv.rev{grid-template-columns:minmax(0,1fr)}.gv.rev .gv-t{order:0}.fr-grid{grid-template-columns:minmax(0,1fr)}}

/* ---- barra di navigazione ---- */
.nb-b{display:inline-grid;place-items:center;min-width:34px;height:32px;padding:0 .8rem;border-radius:999px;border:1px solid rgba(68,36,19,.35);background:transparent;color:var(--walnut);font:700 13px/1 Manrope,sans-serif;cursor:pointer;text-decoration:none;transition:background .25s,color .25s}
.nb-b:hover,.nb-b:focus-visible{background:var(--walnut);color:var(--cream)}
.nb-home{font-size:11px;letter-spacing:.12em;text-transform:uppercase}

/* ---- anteprima: la finestra si apre con un clic ---- */
.fr-open{position:absolute;inset:0;z-index:2;border:0;background:transparent;cursor:zoom-in;display:flex;align-items:flex-end;justify-content:center;padding:14px}
.fr-open span{opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;background:rgba(252,246,225,.95);color:var(--walnut);border-radius:999px;padding:.6rem 1rem;font:700 12px/1 Manrope,sans-serif;letter-spacing:.04em;box-shadow:0 12px 28px -14px rgba(0,0,0,.6)}
.fr-open:hover span,.fr-open:focus-visible span{opacity:1;transform:none}
@media (hover:none){.fr-open span{opacity:1;transform:none}}
.gv-fs{margin-top:1.1rem;border:1.5px solid var(--walnut);background:transparent;color:var(--walnut);border-radius:999px;padding:.7rem 1.2rem;font:700 12.5px/1 Manrope,sans-serif;cursor:pointer;transition:background .25s,color .25s}
.gv-fs:hover,.gv-fs:focus-visible{background:var(--walnut);color:var(--cream)}

/* ---- schermo intero ---- */
html.fs-aperto{overflow:hidden}
.fs{position:fixed;inset:0;z-index:9999;background:var(--earth)}
.fs-if{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--cream)}
.fs-bar{position:absolute;left:16px;bottom:16px;z-index:2;display:flex;gap:.4rem;align-items:center;max-width:calc(100% - 32px);
  padding:.4rem .5rem;border-radius:999px;background:rgba(252,246,225,.94);backdrop-filter:blur(10px);border:1px solid rgba(68,36,19,.16);box-shadow:0 16px 36px -18px rgba(0,0,0,.7)}
.fs-t{padding:0 .8rem;font:700 12px/1 Manrope,sans-serif;letter-spacing:.04em;color:var(--walnut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw}
.nb-x{background:var(--walnut);color:var(--cream)}
.nb-x:hover,.nb-x:focus-visible{background:var(--olive)}
@media (max-width:640px){.fs-t{display:none}}

/* ---- modalità «solo» ---- */
html.solo body{background:radial-gradient(70% 60% at 50% 42%,#FFF9EA 0%,#F6EBD3 60%,#EADBBE 100%);min-height:100vh}
html.solo .top,html.solo .hero,html.solo .blk:not(#grappoli),html.solo .fine,html.solo .sh,html.solo .gv:not(.solo-on),html.solo .gv-t,html.solo .fr-open{display:none!important}
html.solo .blk{padding:0;max-width:none}
html.solo .gv.solo-on{display:block;border:0;padding:64px 16px 24px;max-width:1100px;margin:0 auto}
html.solo .gv-s{max-width:900px;margin:0 auto}
