/*FONTS-START*/
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/dm-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/dm-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/dm-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/dm-sans-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:500;font-display:swap;src:url('fonts/dm-sans-latin-500-italic.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-latin-600-normal.woff2') format('woff2')}
/*FONTS-END*/
:root{
    --inchiostro:#0b0014;
    --bordeaux:#831d1c;
    --vinoprofondo:#370008;
    --arancio:#ff9505;
    --verderame:#4e6766;
    --bianco:#ffffff;
    --neutro:#f4f2f4;
    --rosa:#d9a7b1;
    --testo-muto:rgba(11,0,20,.66);
    --display:'DM Sans',system-ui,sans-serif;
    --sans:'Inter',system-ui,sans-serif;
    --mw:1140px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);color:var(--inchiostro);background:var(--bianco);line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:var(--mw);margin:0 auto;padding:0 24px}

  /* --- Nav --- */
  .nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(11,0,20,.08)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
  .logo{display:block}
  .logo svg{display:block;width:100%;height:100%;fill:currentColor}
  .nav .logo{width:48px;height:48px;color:var(--inchiostro);transition:opacity .18s}
  .nav .logo:hover,.nav .logo:focus-visible{opacity:.82}
  .menu{display:flex;align-items:center;gap:34px;list-style:none}
  .menu a{font-size:15px;color:var(--testo-muto);transition:color .18s}
  .menu a:hover,.menu a:focus-visible{color:var(--inchiostro)}
  .menu .cta-nav{background:var(--arancio);color:var(--inchiostro);font-weight:600;padding:9px 18px;border-radius:8px;transition:transform .18s,filter .18s}
  .menu .cta-nav:hover,.menu .cta-nav:focus-visible{filter:brightness(1.04);transform:translateY(-1px)}
  .burger{display:none;background:none;border:0;cursor:pointer;width:42px;height:42px;align-items:center;justify-content:center}
  .burger span,.burger span::before,.burger span::after{content:"";display:block;width:22px;height:2px;background:var(--inchiostro);transition:.2s}
  .burger span::before{transform:translateY(-7px)}
  .burger span::after{transform:translateY(5px)}

  /* --- Hero --- */
  .hero{background:var(--inchiostro);color:#f7f3f0;position:relative;overflow:hidden}
  .hero::after{content:"";position:absolute;right:-12%;top:-30%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(131,29,28,.45),transparent 68%);pointer-events:none}
  .hero-inner{position:relative;padding:96px 0 104px;max-width:860px}
  .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--arancio);margin-bottom:26px}
  .eyebrow .line{width:34px;height:1px;background:var(--arancio);opacity:.7}
  h1.hero-title{font-family:var(--display);font-weight:600;font-size:clamp(40px,6.4vw,74px);line-height:1.06;letter-spacing:-.03em;color:#f7f3f0}
  h1.hero-title .trad{font-style:italic;font-weight:500;color:var(--rosa)}
  h1.hero-title .fut{color:var(--arancio)}
  .hero p.sub{margin-top:28px;font-size:clamp(17px,1.7vw,20px);line-height:1.6;color:rgba(247,243,240,.82);max-width:580px}
  .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
  .btn{font-family:var(--sans);font-size:16px;font-weight:600;padding:14px 26px;border-radius:9px;cursor:pointer;transition:transform .18s,filter .18s,background .18s;border:1.5px solid transparent;display:inline-block}
  .btn-primary{background:var(--arancio);color:var(--inchiostro)}
  .btn-primary:hover,.btn-primary:focus-visible{filter:brightness(1.05);transform:translateY(-2px)}
  .btn-ghost{border-color:rgba(217,167,177,.55);color:#f7f3f0}
  .btn-ghost:hover,.btn-ghost:focus-visible{background:rgba(217,167,177,.12);transform:translateY(-2px)}

  /* --- sezioni --- */
  section{padding:92px 0}
  .sec-eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--bordeaux);font-weight:600;margin-bottom:18px}
  h2{font-family:var(--display);font-weight:600;font-size:clamp(28px,3.6vw,42px);line-height:1.14;letter-spacing:-.02em}
  .lead{font-size:18px;line-height:1.7;color:var(--testo-muto);max-width:620px;margin-top:22px}
  .inline-link{color:var(--bordeaux);font-weight:600;border-bottom:1.5px solid rgba(131,29,28,.32);transition:border-color .18s}
  .inline-link:hover,.inline-link:focus-visible{border-color:var(--bordeaux)}

  /* chi siamo */
  .chi{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  .chi .figure{aspect-ratio:4/3;border-radius:14px;background:var(--neutro);border:1px solid rgba(11,0,20,.08);display:flex;align-items:center;justify-content:center;color:var(--testo-muto);font-size:14px;text-align:center;padding:24px}

  /* cosa facciamo */
  .ambiti{background:var(--neutro)}
  .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
  .card{background:var(--bianco);border:1px solid rgba(11,0,20,.08);border-radius:13px;padding:28px 24px;transition:transform .2s,border-color .2s}
  .card:hover{transform:translateY(-4px);border-color:rgba(131,29,28,.35)}
  .card .k{width:32px;height:2px;background:var(--verderame);margin-bottom:18px}
  .card h3{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.01em;margin-bottom:10px}
  .card p{font-size:15px;color:var(--testo-muto);line-height:1.6}

  /* eventi empty state */
  .eventi-box{margin-top:40px;border:1px dashed rgba(131,29,28,.4);border-radius:14px;padding:48px 40px;text-align:center;background:linear-gradient(0deg,rgba(244,242,244,.5),transparent)}
  .eventi-box h3{font-family:var(--display);font-weight:600;font-size:23px;letter-spacing:-.01em;margin-bottom:12px}
  .eventi-box p{color:var(--testo-muto);max-width:480px;margin:0 auto 24px}

  /* CTA band */
  .band{background:var(--vinoprofondo);color:#f3dcde}
  .band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
  .band h2{color:#fff;max-width:560px}
  .band p{color:rgba(243,220,222,.8);margin-top:14px;max-width:520px}

  /* footer */
  footer{background:var(--inchiostro);color:rgba(247,243,240,.7);padding:72px 0 40px}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
  footer .logo{width:62px;height:62px;color:#f7f3f0;margin-bottom:18px}
  footer h4{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--arancio);margin-bottom:16px;font-weight:600}
  footer a{color:rgba(247,243,240,.7);font-size:15px;line-height:2;transition:color .18s}
  footer a:hover,footer a:focus-visible{color:#f7f3f0}
  .foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(247,243,240,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:rgba(247,243,240,.5)}

  :focus-visible{outline:2px solid var(--arancio);outline-offset:3px;border-radius:3px}

  @media(max-width:860px){
    .menu{position:fixed;inset:72px 0 auto 0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 24px;border-bottom:1px solid rgba(11,0,20,.08);box-shadow:0 14px 30px rgba(11,0,20,.08);transform:translateY(-130%);transition:transform .26s;z-index:40}
    .menu.open{transform:translateY(0)}
    .menu li{border-bottom:1px solid rgba(11,0,20,.06)}
    .menu a{display:block;padding:16px 4px;font-size:17px}
    .menu .cta-nav{margin:14px 0 4px;text-align:center;padding:14px}
    .burger{display:flex}
    .chi{grid-template-columns:1fr;gap:32px}
    .grid4{grid-template-columns:1fr 1fr}
    .foot-grid{grid-template-columns:1fr}
    section{padding:64px 0}
    .hero-inner{padding:64px 0 72px}
  }
  @media(max-width:480px){.grid4{grid-template-columns:1fr}}
  @media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

  /* === pagina interna: Chi siamo === */
  .page-hero{padding:72px 0 8px}
  .page-title{font-family:var(--display);font-weight:600;font-size:clamp(34px,5vw,56px);line-height:1.08;letter-spacing:-.025em;margin-top:8px}
  .scopo-sec{padding:48px 0 92px}
  .scopo{font-size:clamp(20px,2.4vw,26px);line-height:1.5;font-weight:500;letter-spacing:-.01em;max-width:880px;border-left:3px solid var(--bordeaux);padding:8px 0 8px 28px}
  .principi{list-style:none;margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:16px 44px;max-width:880px}
  .principi li{position:relative;padding-left:28px;font-size:17px;line-height:1.5}
  .principi li::before{content:"";position:absolute;left:0;top:12px;width:15px;height:2px;background:var(--arancio)}
  @media(max-width:680px){.scopo-sec{padding-bottom:64px}.principi{grid-template-columns:1fr}}


  /* === form iscrizione === */
  .form-sec{padding:48px 0 92px}
  .form-wrap{max-width:760px}
  .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;align-items:start}
  .field{display:flex;flex-direction:column;gap:7px}
  .field label{font-size:14px;font-weight:500}
  .req{color:var(--bordeaux)}
  .field input{font-family:var(--sans);font-size:16px;padding:12px 14px;border:1.5px solid rgba(11,0,20,.18);border-radius:9px;background:var(--bianco);color:var(--inchiostro);transition:border-color .15s,box-shadow .15s}
  .field input:focus{outline:none;border-color:var(--arancio);box-shadow:0 0 0 3px rgba(255,149,5,.18)}
  .hint{font-size:12px;color:var(--bordeaux);min-height:14px}
  .consensi{margin-top:32px;display:flex;flex-direction:column;gap:14px}
  .check{display:flex;gap:11px;align-items:flex-start;font-size:15px;line-height:1.5;cursor:pointer}
  .check input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--bordeaux);cursor:pointer}
  .form-error{margin-top:18px;color:#a4231f;font-size:15px;font-weight:500}
  #submit-btn{margin-top:30px;border:0}
  #submit-btn[disabled]{opacity:.6;cursor:default}
  /* === grazie / pagine legali === */
  .narrow{max-width:680px}
  .pay-box{margin:34px 0 10px}
  .pay-note{font-size:14px;color:var(--testo-muto);max-width:560px;margin-top:6px}
  .legal{padding-bottom:92px}
  .legal h2{font-size:22px;margin:38px 0 10px}
  .legal h3{font-family:var(--display);font-weight:600;font-size:17px;margin:22px 0 6px}
  .legal p,.legal li{font-size:16px;color:var(--inchiostro);line-height:1.7}
  .legal ul{margin:8px 0 0 22px}
  .legal .muted{color:var(--testo-muto);font-size:14px}
  .nota-bozza{background:#fff4e0;border:1px solid rgba(255,149,5,.5);border-radius:10px;padding:14px 18px;font-size:14px;margin-top:18px}
  @media(max-width:680px){.field-grid{grid-template-columns:1fr}.form-sec{padding-bottom:64px}}


  /* === voce di menu attiva + liste legali === */
  .menu a[aria-current="page"]:not(.cta-nav){color:var(--inchiostro);position:relative}
  .menu a[aria-current="page"]:not(.cta-nav)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--arancio);border-radius:2px}
  .legal ol{margin:12px 0 0 22px}
  .legal li{margin-bottom:10px}
  @media(max-width:860px){.menu a[aria-current="page"]:not(.cta-nav)::after{display:none}.menu a[aria-current="page"]:not(.cta-nav){color:var(--bordeaux);font-weight:600}}

  /* === layout form raggruppato + immagini + contatti === */
  .field.full{grid-column:1 / -1}
  .field.metaform{grid-column:1 / -1}
  .field.metaform input{max-width:calc(50% - 14px)}
  img.figure{display:block;object-fit:cover;width:100%}
  .field textarea{font-family:var(--sans);font-size:16px;padding:12px 14px;border:1.5px solid rgba(11,0,20,.18);border-radius:9px;background:var(--bianco);color:var(--inchiostro);resize:vertical;min-height:150px;transition:border-color .15s,box-shadow .15s}
  .field textarea:focus{outline:none;border-color:var(--arancio);box-shadow:0 0 0 3px rgba(255,149,5,.18)}
  .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
  .form-ok{margin-top:8px;background:#eef5ee;border:1px solid rgba(78,103,102,.5);border-radius:10px;padding:16px 18px;font-size:15px}
  .social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
  .social-links a{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--bordeaux);border:1.5px solid rgba(131,29,28,.3);border-radius:9px;padding:10px 16px;transition:border-color .15s,background .15s}
  .social-links a:hover,.social-links a:focus-visible{border-color:var(--bordeaux);background:rgba(131,29,28,.05)}
  @media(max-width:680px){.field.metaform input{max-width:none}}

  /* === spaziatura campi pagina Contatti === */
  #contatti-form .field{margin-bottom:22px}
