:root{--verde-scuro:#24391f;--verde:#4a7c3a;--verde-chiaro:#8ab35c;--verde-tenue:#eef2e3;--beige-chiaro:#faf5e9;--beige:#f0e6d2;--beige-scuro:#e0d0ab;--ocra:#d29b3f;--ocra-scuro:#a97527;--siena:sienna;--siena-scuro:#7c3e21;--marrone:#5c4030;--marrone-scuro:#3b2a1f;--testo:var(--marrone-scuro);--testo-chiaro:#6e5a48;--bianco:#fffdf8;--radius:14px;--shadow:0 10px 30px -12px #3b2a1f40;--max-width:1160px;--ease:cubic-bezier(.22, 1, .36, 1);--dur:.7s}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--beige-chiaro);color:var(--testo);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;line-height:1.6;overflow-x:hidden}h1,h2,h3{color:var(--marrone-scuro);font-family:Georgia,Times New Roman,serif;line-height:1.2}h1{font-size:clamp(1.9rem,5vw,3.2rem)}h2{font-size:clamp(1.5rem,3.6vw,2.3rem)}h3{margin-bottom:.5rem;font-size:clamp(1.1rem,2.2vw,1.3rem)}p{color:var(--testo-chiaro)}a{color:inherit}img{max-width:100%;display:block}ul,ol{list-style:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--verde-scuro);color:var(--bianco);z-index:1000;border-radius:0 0 8px;padding:.75rem 1.25rem;position:absolute;top:0;left:-999px}.skip-link:focus{left:0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--verde);margin-bottom:.5rem;font-size:.78rem;font-weight:700}.section-inner,.header-inner,.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.btn{cursor:pointer;transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease);border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.7rem;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--verde);color:var(--bianco);box-shadow:var(--shadow)}.btn-primary:hover{background:var(--verde-scuro)}.btn-ghost{border-color:var(--marrone);color:var(--marrone);background:0 0}.btn-ghost:hover{background:var(--marrone);color:var(--bianco)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.site-header{z-index:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#faf5e9e6;border-bottom:1px solid #5c40301f;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;min-height:68px;padding-top:.7rem;padding-bottom:.7rem;display:flex}.brand{color:var(--verde-scuro);align-items:center;gap:.6rem;font-size:1.2rem;font-weight:800;text-decoration:none;display:flex}.brand-logo{width:auto;height:40px}.brand-logo-fallback{font-size:1.7rem;line-height:1;display:none}.brand-name{letter-spacing:.02em}.primary-nav{align-items:center;gap:1.6rem;display:flex}.primary-nav a{color:var(--marrone);padding:.3rem 0;font-size:.95rem;font-weight:600;text-decoration:none;position:relative}.primary-nav a:after{content:"";background:var(--verde);height:2px;transition:right .25s var(--ease);position:absolute;bottom:-2px;left:0;right:100%}.primary-nav a:hover:after,.primary-nav a.is-active:after{right:0}.nav-cta{background:var(--verde);border-radius:999px;padding:.5rem 1.1rem;color:var(--bianco)!important}.nav-cta:after{display:none}.nav-cta:hover{background:var(--verde-scuro)}.header-controls{align-items:center;gap:.9rem;display:flex}.theme-switch select{appearance:none;background-color:var(--bianco);border:2px solid var(--beige-scuro);color:var(--marrone-scuro);cursor:pointer;transition:border-color .2s var(--ease);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233b2a1f' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-position:right .65rem center;background-repeat:no-repeat;background-size:13px;border-radius:999px;padding:.45rem 2rem .45rem .9rem;font-size:.82rem;font-weight:700}.theme-switch select:hover,.theme-switch select:focus{border-color:var(--verde);outline:none}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;display:none}.nav-toggle span{background:var(--marrone-scuro);height:2px;transition:transform .25s var(--ease), opacity .25s var(--ease);border-radius:2px;display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}main{position:relative}.tree-spine{background:linear-gradient(to bottom, var(--verde-chiaro) 0%, var(--verde) 22%, var(--ocra) 38%, var(--marrone) 58%, var(--siena) 78%, var(--siena-scuro) 100%);opacity:.18;z-index:0;pointer-events:none;border-radius:3px;width:5px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}@media (width<=720px){.tree-spine{width:3px;left:1.1rem;transform:none}}.hero{text-align:center;background:radial-gradient(ellipse 80% 60% at 50% 0%, var(--verde-tenue) 0%, transparent 70%), linear-gradient(180deg, var(--beige-chiaro) 0%, var(--beige) 100%);z-index:1;--logo-p:0;padding:100svh 1.5rem 5rem;position:relative}.hero-logo-curtain{z-index:400;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 50% 0%, var(--verde-tenue) 0%, transparent 70%), linear-gradient(180deg, var(--beige-chiaro) 0%, var(--beige) 100%);opacity:calc(1 - var(--logo-p) * 1.05);flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;display:flex;position:fixed;inset:0}.hero-logo{width:auto;max-width:71vw;height:auto;max-height:66%;transform:scale(calc(1 - var(--logo-p) * .82));will-change:transform}.hero-inner{max-width:760px;margin:0 auto;padding-top:2rem;position:relative}.hero-lead{max-width:56ch;margin:1.2rem auto 2rem;font-size:clamp(1rem,2vw,1.15rem)}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.scroll-hint{color:var(--verde);letter-spacing:.08em;text-transform:uppercase;opacity:calc(1 - var(--logo-p) * 6);will-change:opacity;flex-direction:column;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:flex;position:absolute;bottom:clamp(1.25rem,5vh,3rem);left:50%;transform:translate(-50%)}.scroll-dot{animation:1.8s ease-in-out infinite scrollBob}@keyframes scrollBob{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.4;transform:translateY(8px)}}.tree-section{z-index:1;padding:clamp(4rem,8vw,7rem) 0;position:relative}.section-heading{text-align:center;max-width:640px;margin:0 auto 3rem}.section-icon{justify-content:center;align-items:center;margin-bottom:.5rem;display:inline-flex}.icon-emoji{font-size:2rem;display:inline-block}.icon-svg{display:none}.icon-svg svg{width:28px;height:28px}.section-lead{margin-top:.75rem;font-size:1.05rem}.leaves{background:linear-gradient(180deg, var(--beige) 0%, var(--verde-tenue) 100%)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.card{background:var(--bianco);border-radius:var(--radius);box-shadow:var(--shadow);border-top:4px solid var(--verde);transition:transform .3s var(--ease), box-shadow .3s var(--ease);padding:1.8rem}.card:hover{transform:translateY(-6px);box-shadow:0 16px 34px -14px #3b2a1f52}.card-icon{margin-bottom:.75rem;font-size:1.8rem}.mission-blurb{background:var(--bianco);border-radius:var(--radius);box-shadow:var(--shadow);border-top:4px solid var(--verde);margin-top:2.5rem;padding:clamp(1.75rem,4vw,2.75rem)}.mission-blurb p{max-width:72ch;color:var(--testo);margin:0 auto;font-size:1rem;line-height:1.75}.mission-blurb strong{color:var(--verde-scuro)}.fruits{background:linear-gradient(180deg, var(--verde-tenue) 0%, var(--beige) 100%)}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.gallery-item{border-radius:var(--radius);box-shadow:var(--shadow);background:var(--bianco);overflow:hidden}.gallery-placeholder{aspect-ratio:4/3;color:var(--bianco);background:linear-gradient(135deg, var(--ocra), var(--ocra-scuro));justify-content:center;align-items:center;font-size:1.05rem;font-weight:700;display:flex}.gallery-video .gallery-placeholder{background:linear-gradient(135deg, var(--verde), var(--verde-scuro))}.gallery-poster .gallery-placeholder{background:linear-gradient(135deg, var(--siena), var(--siena-scuro))}.gallery-item figcaption{color:var(--testo-chiaro);text-align:center;padding:.75rem 1rem;font-size:.9rem}.gallery-note{text-align:center;margin-top:2rem;font-size:.85rem;font-style:italic}.gallery-note code{background:var(--beige-scuro);border-radius:4px;padding:.1rem .4rem}.branches{background:linear-gradient(180deg, var(--beige) 0%, var(--beige-scuro) 100%)}.about-content>p{text-align:center;max-width:70ch;margin:0 auto 2.5rem;font-size:1.05rem}.statuto-link{text-align:center;margin-bottom:2.5rem}.statuto-link a{color:var(--verde-scuro);border-bottom:2px solid var(--verde);transition:gap .2s var(--ease), color .2s var(--ease);align-items:center;gap:.4rem;padding-bottom:.15rem;font-weight:700;text-decoration:none;display:inline-flex}.statuto-link a:hover{color:var(--verde);gap:.65rem}.statuto-link .statuto-unavailable{color:var(--testo-chiaro);border:none;font-style:italic}.branch-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.branch-item{border-left:4px solid var(--siena);background:var(--bianco);border-radius:0 var(--radius) var(--radius) 0;box-shadow:var(--shadow);padding:1.6rem}.trunk{background:linear-gradient(180deg, var(--beige-scuro) 0%, var(--marrone) 100%);color:var(--bianco)}.trunk .eyebrow{color:var(--ocra)}.trunk h2{color:var(--bianco)}.mission-statement{text-align:center;max-width:46rem;color:var(--beige-chiaro);border:none;margin:0 auto 3rem;padding:0 1rem;font-family:Georgia,serif;font-size:clamp(1.2rem,2.6vw,1.6rem);line-height:1.5;position:relative}.mission-statement:before{content:"“";color:var(--ocra);margin-bottom:.5rem;font-size:3rem;line-height:1;display:block}.mission-pillars{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.pillar{border-radius:var(--radius);text-align:center;background:#fffdf814;border:1px solid #fffdf82e;padding:1.6rem}.pillar h3{color:var(--ocra)}.pillar p{color:#fffdf8d9}.roots{background:linear-gradient(180deg, var(--marrone) 0%, var(--siena-scuro) 100%);color:var(--beige-chiaro)}.roots .eyebrow{color:var(--ocra)}.roots h2{color:var(--bianco)}.roots .section-lead{color:#fffdf8cc}.timeline{border-left:3px solid #fffdf84d;max-width:640px;margin:0 auto;padding-left:2rem;position:relative}.timeline-item{padding-bottom:2.2rem;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item h3{color:var(--bianco)}.timeline-item p{color:#fffdf8cc}.timeline-dot{background:var(--ocra);border-radius:50%;width:14px;height:14px;position:absolute;top:.35rem;left:-2.45rem;box-shadow:0 0 0 4px #d29b3f40}.timeline-note{text-align:center;color:#fffdf8a6;margin-top:2rem;font-size:.85rem;font-style:italic}.mushrooms{background:linear-gradient(180deg, var(--siena-scuro) 0%, var(--beige) 120%)}.mushrooms .eyebrow{color:var(--ocra)}.mushrooms h2,.mushrooms .section-lead{color:var(--bianco)}.contact-layout{background:var(--bianco);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:1.3fr 1fr;align-items:start;gap:2.5rem;padding:clamp(1.5rem,4vw,2.75rem);display:grid}.form-row{flex-direction:column;gap:.4rem;margin-bottom:1.1rem;display:flex}.form-row label{color:var(--marrone-scuro);font-size:.9rem;font-weight:700}.form-row input,.form-row textarea{border:2px solid var(--beige-scuro);color:var(--testo);background:var(--beige-chiaro);transition:border-color .2s var(--ease);border-radius:10px;padding:.7rem .9rem;font-family:inherit;font-size:1rem}.form-row input:focus,.form-row textarea:focus{border-color:var(--verde);outline:none}.form-status{min-height:1.2em;margin-top:1rem;font-size:.9rem;font-weight:600}.form-status[data-state=ok]{color:var(--verde-scuro)}.form-status[data-state=error]{color:var(--siena-scuro)}.contact-info h3{margin-bottom:1rem}.contact-info ul{flex-direction:column;gap:.8rem;display:flex}.contact-info a{color:var(--verde-scuro);font-weight:700;text-decoration:none}.contact-info a:hover{text-decoration:underline}.site-footer{background:var(--marrone-scuro);color:#fffdf8b3;text-align:center;z-index:1;padding:1.75rem 0;font-size:.85rem;position:relative}.footer-social{color:var(--beige-chiaro);transition:color .2s var(--ease);align-items:center;gap:.5rem;margin-bottom:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.footer-social:hover{color:var(--ocra)}.reveal{opacity:0;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.scroll-dot{animation:none}.btn:hover{transform:none}.hero{padding-top:0}.hero-logo-curtain{opacity:1;height:100svh;position:relative;inset:auto}.hero-logo{height:clamp(160px,26vw,320px);transform:none}.scroll-hint{opacity:1;margin-top:2.5rem;position:static;transform:none}}@media (width<=900px){.contact-layout{grid-template-columns:1fr}}@media (width<=720px){.primary-nav{background:var(--beige-chiaro);opacity:0;pointer-events:none;transition:opacity .2s var(--ease), transform .2s var(--ease);border-bottom:1px solid #5c40301f;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1.25rem;position:absolute;top:100%;left:0;right:0;transform:translateY(-8px);box-shadow:0 12px 24px -16px #3b2a1f4d}.primary-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.primary-nav a{border-bottom:1px solid #5c403014;padding:.9rem .25rem}.nav-cta{text-align:center;margin-top:.5rem}.nav-toggle{display:flex}.hero-inner{padding-top:1rem}.section-inner{padding:0 1.25rem}}@media (width<=480px){.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}.card,.branch-item,.pillar{padding:1.4rem}.brand-name{display:none}.theme-switch select{padding:.4rem 1.7rem .4rem .7rem;font-size:.72rem}.header-controls{gap:.5rem}}:root[data-theme=vivace]{--verde-scuro:#1e5631;--verde:#2f9e44;--verde-chiaro:#7dd87a;--verde-tenue:#e6fbe4;--beige-chiaro:#fff8ec;--beige:#ffe9c2;--beige-scuro:#ffcf85;--ocra:#f5a623;--ocra-scuro:#d1780a;--siena:#c65d2e;--siena-scuro:#8a3a1c;--marrone:#7a4a2b;--marrone-scuro:#4a2c16;--corallo:#ff6f59;--corallo-scuro:#e0492f;--acqua:#159895;--prugna:#6b3557;--prugna-scuro:#3c1d31;--rosa-fungo:#e58aa5;--font-display:"Fraunces", Georgia, serif;--font-body:"Quicksand", system-ui, sans-serif}[data-theme=vivace] body{font-family:var(--font-body)}[data-theme=vivace] h1,[data-theme=vivace] h2,[data-theme=vivace] h3{font-family:var(--font-display);font-optical-sizing:auto}[data-theme=vivace] h1{background:linear-gradient(90deg, var(--verde-scuro), var(--siena), var(--corallo));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:600}[data-theme=vivace] .eyebrow{font-family:var(--font-body);letter-spacing:.18em}[data-theme=vivace] .brand-name{font-family:var(--font-display);letter-spacing:.01em;font-style:italic;font-weight:700}[data-theme=vivace] .mission-statement{font-family:var(--font-display);font-style:italic}[data-theme=vivace] .theme-switch select{font-family:var(--font-body);border-color:var(--corallo);font-weight:600}[data-theme=vivace] .theme-switch select:hover,[data-theme=vivace] .theme-switch select:focus{border-color:var(--prugna)}[data-theme=vivace] .icon-emoji{display:none}[data-theme=vivace] .icon-svg{width:3.2rem;height:3.2rem;color:var(--bianco);background:linear-gradient(135deg, var(--verde), var(--ocra));transition:transform .3s var(--ease);border-radius:50%;justify-content:center;align-items:center;padding:.7rem;display:inline-flex;box-shadow:0 10px 22px -10px #3a1e0f73}[data-theme=vivace] .section-heading:hover .icon-svg{transform:rotate(-8deg)scale(1.06)}[data-theme=vivace] .icon-svg svg{width:30px;height:30px}[data-theme=vivace] .leaves .icon-svg{background:linear-gradient(135deg, var(--verde), var(--verde-chiaro))}[data-theme=vivace] .fruits .icon-svg{background:linear-gradient(135deg, var(--corallo), var(--ocra))}[data-theme=vivace] .branches .icon-svg{background:linear-gradient(135deg, var(--siena), var(--ocra-scuro))}[data-theme=vivace] .trunk .icon-svg{background:linear-gradient(135deg, var(--marrone), var(--siena))}[data-theme=vivace] .roots .icon-svg{background:linear-gradient(135deg, var(--prugna), var(--marrone-scuro))}[data-theme=vivace] .mushrooms .icon-svg{background:linear-gradient(135deg, var(--rosa-fungo), var(--prugna))}[data-theme=vivace] .card-icon{background:var(--verde-tenue);border-radius:50%;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;display:inline-flex}[data-theme=vivace] .card:nth-child(4n+1){border-top-color:var(--verde)}[data-theme=vivace] .card:nth-child(4n+2){border-top-color:var(--ocra)}[data-theme=vivace] .card:nth-child(4n+3){border-top-color:var(--corallo)}[data-theme=vivace] .card:nth-child(4n+4){border-top-color:var(--acqua)}[data-theme=vivace] .hero{background:radial-gradient(ellipse 80% 60% at 50% 0%, var(--verde-tenue) 0%, transparent 70%), linear-gradient(180deg, var(--beige-chiaro) 0%, var(--beige) 100%)}[data-theme=vivace] .leaves{background:linear-gradient(180deg, var(--beige) 0%, var(--verde-tenue) 60%, #d4f5d0 100%)}[data-theme=vivace] .fruits{background:linear-gradient(160deg, #fff1d6 0%, var(--ocra) 55%, var(--corallo) 100%)}[data-theme=vivace] .fruits h2,[data-theme=vivace] .fruits .section-lead,[data-theme=vivace] .fruits .eyebrow{color:var(--bianco)}[data-theme=vivace] .gallery-note{color:#ffffffd9}[data-theme=vivace] .branches{background:linear-gradient(180deg, var(--beige) 0%, #f3caa0 100%)}[data-theme=vivace] .trunk{background:linear-gradient(180deg, var(--siena) 0%, var(--marrone) 100%)}[data-theme=vivace] .pillar h3{color:var(--ocra)}[data-theme=vivace] .roots{background:linear-gradient(180deg, var(--marrone-scuro) 0%, var(--prugna-scuro) 100%)}[data-theme=vivace] .mushrooms{background:linear-gradient(180deg, var(--prugna-scuro) 0%, var(--rosa-fungo) 140%)}[data-theme=vivace] .tree-spine{background:linear-gradient(to bottom, var(--verde-chiaro) 0%, var(--verde) 18%, var(--ocra) 34%, var(--corallo) 46%, var(--siena) 62%, var(--marrone) 74%, var(--prugna) 88%, var(--rosa-fungo) 100%);opacity:.28}[data-theme=vivace] .btn-primary{background:linear-gradient(120deg, var(--verde), var(--acqua))}[data-theme=vivace] .btn-primary:hover{background:linear-gradient(120deg, var(--verde-scuro), var(--acqua))}
