/* Valente Project, sito pubblico. Design system Valente, variante chiara. */
@font-face{font-family:"Playfair Display";src:url(/assets/font/PlayfairDisplay-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(/assets/font/PlayfairDisplay-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Poppins";src:url(/assets/font/Poppins-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}

:root{
  --avorio:#FBF9F8;--pietra:#EFEDEC;--titoli:#1C1A1A;--testo:#4C4546;--etichette:#8C8486;--filetto:#DCD6D5;--oro:#D69C31;--oro-scuro:#8A5E12;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Poppins",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --gutter:20px;--max:1180px
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--avorio);color:var(--testo);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--titoli);margin:0 0 .5em;line-height:1.15}
h1{font-size:clamp(2rem,6vw,3.4rem)}
h2{font-size:clamp(1.7rem,4.2vw,2.6rem)}
h3{font-size:1.3rem;line-height:1.25}
p{margin:0 0 1em}
strong,b{font-weight:400;color:var(--titoli)}
a{color:var(--titoli);text-decoration:underline;text-decoration-color:var(--oro);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--oro-scuro)}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px}
ul{padding-left:1.1em;margin:0 0 1em}
li{margin:0 0 .45em}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.salta{position:absolute;left:-9999px;top:0;background:var(--titoli);color:#fff;padding:10px 14px;z-index:10}
.salta:focus{left:10px;top:10px}
.nascosto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px}

/* testata */
.testata{border-bottom:1px solid var(--filetto);background:var(--avorio)}
.testata .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}
.logo img{width:72px}
.menu{display:none}
.menu a,.lingua a{text-decoration:none;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--testo)}
.menu a:hover,.lingua a:hover{color:var(--titoli);text-decoration:underline;text-decoration-color:var(--oro)}
.testata-dx{display:flex;align-items:center;gap:10px}
.lingua a{border:1px solid var(--filetto);padding:6px 10px}
.bottone{display:inline-block;background:var(--titoli);color:#fff;text-decoration:none;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;padding:13px 20px;border:1px solid var(--titoli);font-family:var(--sans);cursor:pointer}
.bottone:hover{background:var(--oro);border-color:var(--oro);color:var(--titoli)}
.bottone-chiaro{background:transparent;color:var(--titoli)}
.testata .bottone{padding:8px 10px;font-size:.7rem;white-space:nowrap}
.testata-dx .lingua a{padding:5px 8px;font-size:.72rem}
.aiuto{font-size:.85rem;color:var(--testo);margin:0 0 8px}

/* sezioni */
.sezione{padding:56px 0}
.pietra{background:var(--pietra)}
.occhiello{display:block;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;color:var(--testo);margin:0 0 14px}
.occhiello::after{content:"";display:block;width:48px;height:2px;background:var(--oro);margin-top:14px}
.apertura{font-size:1.1rem;max-width:44em;color:var(--testo)}
.nota{border-left:2px solid var(--oro);padding:2px 0 2px 16px;margin:24px 0;max-width:46em}
.etichetta{text-transform:uppercase;font-size:.74rem;letter-spacing:.05em;color:var(--etichette)}

/* hero */
.hero{padding:40px 0 48px}
.hero .wrap{display:grid;gap:28px}
.hero h1{max-width:15em}
.hero .azioni{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}
.hero .tempi{font-size:.9rem;color:var(--testo);margin:12px 0 0}
.foto-hero img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* servizi */
.griglia{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--titoli);margin-top:28px}
.scheda{border-bottom:1px solid var(--filetto);padding:22px 0}
.scheda .num{font-family:var(--serif);color:var(--oro-scuro);font-size:1.05rem;display:block;margin-bottom:6px}
.scheda h3{margin-bottom:6px}
.scheda h3 a{text-decoration:none}
.scheda h3 a:hover{text-decoration:underline;text-decoration-color:var(--oro)}
.scheda p{margin:0 0 8px;font-size:.95rem}
.scheda .dettagli{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}

/* passi */
.passi{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--filetto)}
.passi li{display:grid;grid-template-columns:44px 1fr;gap:4px 12px;border-bottom:1px solid var(--filetto);padding:18px 0;margin:0}
.passi li:last-child{border-bottom-color:var(--titoli)}
.passi .num{font-family:var(--serif);color:var(--oro-scuro);font-size:1.3rem;line-height:1.2}
.passi h3{margin:0 0 4px;font-size:1.2rem}
.passi p{margin:0;grid-column:2}

/* due colonne con foto */
.duecol{display:grid;gap:28px;align-items:start}
.duecol img{width:100%;object-fit:cover}

/* faq */
.faq{border-top:1px solid var(--titoli);margin-top:24px;max-width:56em}
.faq details{border-bottom:1px solid var(--filetto)}
.faq summary{cursor:pointer;list-style:none;padding:18px 32px 18px 0;font-family:var(--serif);font-size:1.15rem;color:var(--titoli);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-family:var(--sans);color:var(--oro-scuro);font-size:1.4rem}
.faq details[open] summary::after{content:"\2212"}
.faq .risposta{padding:0 0 18px}
.faq .risposta p{margin:0}

/* modulo */
.modulo{max-width:46em;margin-top:24px}
.campo{margin:0 0 18px}
.campo label,.campo .etichetta-campo{display:block;font-size:.85rem;color:var(--titoli);margin-bottom:6px}
.campo .facoltativo{color:var(--etichette)}
.campo input[type=text],.campo input[type=email],.campo input[type=tel],.campo select,.campo textarea{width:100%;font:inherit;color:var(--titoli);background:#fff;border:1px solid #B9B1B2;border-radius:0;padding:11px 12px;-webkit-appearance:none;appearance:none}
.campo select{background-image:linear-gradient(45deg,transparent 50%,var(--testo) 50%),linear-gradient(135deg,var(--testo) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.campo textarea{min-height:150px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--oro);outline-offset:0;border-color:var(--titoli)}
.campo-check{display:flex;gap:10px;align-items:flex-start}
.campo-check input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--titoli);flex:none}
.campo-check label{margin:0;font-size:.9rem;color:var(--testo)}
.doppio{display:grid;gap:0 18px}
.trappola{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.modulo .bottone{margin-top:6px}
.modulo .alt{font-size:.9rem;margin-top:16px}

/* pagine servizio */
.briciole{font-size:.8rem;padding-top:16px;color:var(--etichette)}
.briciole ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.briciole li{margin:0}
.briciole li+li::before{content:"/";margin-right:6px;color:var(--filetto)}
.briciole a{color:var(--testo)}
.intesta{padding:28px 0 40px}
.intesta .sotto{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--testo);margin-top:-4px}
.contenuto{max-width:48em}
.contenuto h2{font-size:clamp(1.5rem,3.4vw,2rem);margin-top:40px}
.contenuto h2:first-child{margin-top:0}
.voci{border-top:1px solid var(--titoli);margin:16px 0 8px}
.voce{border-bottom:1px solid var(--filetto);padding:14px 0}
.voce h4{font-size:1.1rem;margin:0 0 2px}
.voce .q{margin:0 0 2px;color:var(--titoli)}
.voce .ex{margin:0;font-size:.92rem}
.gruppo-titolo{margin-top:28px!important;font-size:1.25rem!important}
.altri{list-style:none;padding:0;columns:1;border-top:1px solid var(--filetto)}
.altri li{border-bottom:1px solid var(--filetto);padding:10px 0;margin:0;break-inside:avoid}

/* esito */
.esito{padding:72px 0}
.esito [hidden]{display:none}

/* piede */
.piede{background:var(--titoli);color:#D9D3D2;padding:44px 0 32px;font-size:.9rem}
.piede a{color:#fff;text-decoration-color:var(--oro)}
.piede a:hover{color:var(--oro)}
.piede .wrap{display:grid;gap:24px}
.piede h2{color:#fff;font-size:1.3rem;margin-bottom:8px}
.piede p{margin:0 0 6px}
.piede ul{list-style:none;padding:0;margin:0}
.piede li{margin:0 0 6px}
.piede .legale{border-top:1px solid #4D4D4D;padding-top:16px;font-size:.8rem;color:#B5AEAE}

/* privacy */
.revisione{border-left:2px solid var(--oro);background:var(--pietra);padding:12px 16px;margin:0 0 28px}

@media (min-width:700px){
  :root{--gutter:40px}
  .griglia{grid-template-columns:1fr 1fr;column-gap:40px}
  .doppio{grid-template-columns:1fr 1fr}
  .altri{columns:2;column-gap:40px}
  .piede .wrap{grid-template-columns:2fr 1fr 1fr}
  .piede .legale{grid-column:1/-1}
}
@media (min-width:980px){
  :root{--gutter:6.25vw}
  .menu{display:flex;gap:22px}
  .logo img{width:110px}
  .testata-dx{gap:18px}
  .testata .bottone{padding:9px 12px;font-size:.75rem}
  .sezione{padding:88px 0}
  .hero{padding:56px 0 72px}
  .hero .wrap{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px}
  .griglia{grid-template-columns:1fr 1fr 1fr;column-gap:56px}
  .passi li{grid-template-columns:72px 280px 1fr;gap:24px;align-items:baseline}
  .passi h3{margin:0}
  .passi p{grid-column:auto}
  .duecol{grid-template-columns:1fr 1fr;gap:72px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.testata,.piede,.modulo,.salta{display:none}}
