:root{
  --viola:#6B2060; --viola-scuro:#4A1443; --giallo:#FFD21F; --giallo-chiaro:#FFF3BD;
  --verde:#1B7F3A; --verde-scuro:#12562A; --crema:#FBF7EC; --testo:#2B2430; --testo-soft:#5E5566;
  --raggio:18px; --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:var(--testo);background:var(--crema);line-height:1.65;font-size:17px}
h1,h2,h3{font-family:Georgia,"Iowan Old Style","Palatino Linotype",serif;line-height:1.2;margin:0 0 .5em;color:var(--viola-scuro)}
h1{font-size:clamp(2.2rem,5.5vw,3.8rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.4rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
a{color:var(--verde-scuro)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px 12px;z-index:99}

/* header */
header.top{position:sticky;top:0;z-index:20;background:rgba(251,247,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(107,32,96,.12)}
header.top .wrap{display:flex;align-items:center;gap:20px;min-height:72px}
.brand img{height:54px;width:auto;display:block}
nav.menu{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
nav.menu a{text-decoration:none;color:var(--viola-scuro);font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:999px}
nav.menu a:hover{background:var(--giallo-chiaro)}
nav.menu a.cta{background:var(--viola);color:#fff}
nav.menu a.cta:hover{background:var(--viola-scuro)}

/* hero */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(180deg,#5A1A52 0%,#6B2060 55%,#8A3A6F 100%)}
.hero::before{content:"";position:absolute;inset:0;background:url("../img/foto/hero.jpg") center/cover no-repeat;opacity:.42}
.hero .wrap{position:relative;padding:84px 20px 150px;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.hero h1{color:#fff;text-shadow:0 2px 14px rgba(40,10,38,.6)}
.hero p.lead{text-shadow:0 1px 10px rgba(40,10,38,.65)}
.hero h1 em{font-style:normal;color:var(--giallo)}
.hero p.lead{font-size:1.2rem;max-width:34em;color:#F5EAF3}
.hero .pill{display:inline-block;background:var(--giallo);color:var(--viola-scuro);font-weight:700;border-radius:999px;padding:6px 16px;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}
.hero .logo-big{justify-self:center;width:min(320px,70%);filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}
.hero svg.hills{position:absolute;left:0;bottom:-1px;width:100%;height:auto;display:block}

/* sezioni */
section{padding:84px 0}
section.alt{background:#fff}
.kicker{display:block;color:var(--verde);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;margin-bottom:10px}
.intro{max-width:44em;margin:0 auto 48px;text-align:center}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.photo{border-radius:var(--raggio);min-height:340px;position:relative;overflow:hidden;box-shadow:0 18px 40px rgba(74,20,67,.18);
  background:var(--img,none) center/cover no-repeat,linear-gradient(160deg,var(--c1,#1B7F3A),var(--c2,#FFD21F))}
.photo svg{position:absolute;inset:0;width:100%;height:100%}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border-radius:var(--raggio);overflow:hidden;box-shadow:0 10px 30px rgba(74,20,67,.10);display:flex;flex-direction:column}
section.alt .card{background:var(--crema)}
.card .thumb{height:190px;position:relative;background:var(--img,none) center/cover no-repeat,linear-gradient(150deg,var(--c1),var(--c2))}
.card .thumb svg{position:absolute;inset:0;width:100%;height:100%}
.card .body{padding:24px 26px 28px}
.card ul{padding-left:1.1em;margin:.4em 0 0;color:var(--testo-soft)}
.valori{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}
.valori .ico{width:64px;height:64px;border-radius:50%;background:var(--giallo);display:grid;place-items:center;margin:0 auto 14px}
.valori .ico svg{width:34px;height:34px}

/* fascia territorio */
.fascia{background:var(--viola-scuro);color:#F5EAF3}
.fascia h2{color:var(--giallo)}
.fascia .luogo{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px}
.fascia .luogo div{background:rgba(255,255,255,.08);border-radius:14px;padding:14px 20px}
.fascia .luogo b{display:block;color:var(--giallo);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}

/* footer */
footer{background:#2A0F27;color:#D9C9D6;padding:56px 0 28px;font-size:.93rem}
footer a{color:#FFE680}
footer .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px;margin-bottom:34px}
footer img{height:64px;width:auto;margin-bottom:12px}
footer h4{color:#fff;margin:0 0 10px;font-size:1rem}
footer ul{list-style:none;padding:0;margin:0}footer li{margin-bottom:6px}
footer .basso{border-top:1px solid rgba(255,255,255,.14);padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#B9A5B5}

/* pagina testo (privacy) */
.doc{max-width:760px;margin:0 auto;padding:56px 20px 80px}
.doc h1{font-size:2.2rem}.doc h2{font-size:1.35rem;margin-top:1.8em}

@media (max-width:860px){
  .hero .wrap,.two,.cards,.valori,footer .cols{grid-template-columns:1fr}
  .hero .wrap{padding:56px 20px 120px}.hero .logo-big{order:-1;width:200px}
  nav.menu a:not(.cta){display:none}
  section{padding:60px 0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
