/* =============================================================
   ORTO ORGANICO AYNI — Foglio di stile condiviso
   Sito statico multi-pagina (Fase 1). Vanilla CSS3.
   Struttura: 1.Token 2.Reset 3.Base tipografia 4.Layout
   5.Utility 6.Header/Nav 7.Footer 8.Componenti 9.Pagine
   10.Responsive 11.Accessibilità / motion
   ============================================================= */

/* ---------- 1. TOKEN ---------- */
:root {
  /* Palette */
  --earth-deep:#1a1a12; --earth-brown:#3d2b1f;
  --terracotta:#b8653a; --terracotta-light:#d4845a;
  --gold:#c9a84c; --gold-soft:#dfc87a;
  --green-deep:#2d4a2e; --green-sage:#6b8a5e; --green-muted:#8fa882;
  --cream:#f5f0e8; --cream-warm:#ebe4d6; --cream-dark:#d9d0c0;
  --text-dark:#1a1a12; --text-medium:#4a4538; --text-light:#7a7466;

  /* Semantici */
  --bg-page:var(--cream);
  --bg-alt:var(--cream-warm);
  --bg-dark:var(--earth-deep);
  --border-soft:var(--cream-dark);
  --border-strong:rgba(61,43,31,.18);
  --text-on-dark:var(--cream);
  --text-on-dark-muted:rgba(245,240,232,.72);
  --link:var(--terracotta);
  --link-hover:var(--earth-brown);

  /* Font */
  --font-serif:'Cormorant Garamond','Times New Roman',Georgia,serif;
  --font-sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;

  /* Scala tipografica fluida */
  --fs-h1:clamp(2.6rem,1.6rem + 4.6vw,5.4rem);
  --fs-h2:clamp(2rem,1.4rem + 2.8vw,3.6rem);
  --fs-h3:clamp(1.55rem,1.2rem + 1.6vw,2.4rem);
  --fs-h4:clamp(1.3rem,1.1rem + .9vw,1.7rem);
  --fs-body:clamp(1rem,.96rem + .2vw,1.125rem);
  --fs-lead:clamp(1.12rem,1.04rem + .45vw,1.35rem);
  --fs-small:.875rem;
  --fs-eyebrow:.78rem;

  --lh-tight:1.08; --lh-heading:1.18; --lh-body:1.7; --lh-relaxed:1.85;
  --ls-eyebrow:.22em; --ls-heading:-0.01em;
  --measure:68ch; --measure-narrow:58ch;

  /* Spazi */
  --sp-xs:.5rem; --sp-sm:.75rem; --sp-md:1rem; --sp-lg:1.5rem;
  --sp-xl:2rem; --sp-2xl:3rem; --sp-3xl:4.5rem; --sp-4xl:6.5rem;
  --section-y:clamp(4.5rem,3rem + 7vw,9rem);
  --container-x:clamp(1.25rem,.5rem + 3vw,3rem);
  --container-max:1200px; --container-narrow:760px; --container-wide:1380px;

  /* Raggi / ombre */
  --r-sm:4px; --r-md:8px; --r-lg:16px; --r-xl:24px; --r-pill:999px;
  --r-organic:32% 68% 63% 37% / 41% 38% 62% 59%;
  --sh-sm:0 4px 14px rgba(26,26,18,.07);
  --sh-md:0 10px 30px rgba(26,26,18,.10);
  --sh-lg:0 22px 50px rgba(26,26,18,.14);
  --focus-ring:0 0 0 3px rgba(184,101,58,.45);

  /* Motion */
  --ease-standard:cubic-bezier(.4,0,.2,1);
  --ease-entrance:cubic-bezier(.16,1,.3,1);
  --ease-organic:cubic-bezier(.34,1.56,.64,1);
  --dur-fast:220ms; --dur-base:350ms; --dur-slow:600ms; --dur-reveal:800ms;
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-sans);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--text-dark);
  background:var(--bg-page);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;height:auto}
img{font-style:italic;color:var(--text-light)}
a{color:var(--link);text-decoration:none;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--link-hover)}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}

/* ---------- 3. BASE TIPOGRAFIA ---------- */
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;line-height:var(--lh-heading);letter-spacing:var(--ls-heading);color:var(--text-dark)}
h1{font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:400}
h2{font-size:var(--fs-h2);font-weight:400}
h3{font-size:var(--fs-h3)}
h4{font-size:var(--fs-h4)}
h1 em,h2 em,h3 em{font-style:italic;color:var(--terracotta);font-weight:400}
p{max-width:var(--measure)}
strong{font-weight:600;color:var(--text-dark)}
::selection{background:var(--gold-soft);color:var(--earth-deep)}

/* ---------- 4. LAYOUT ---------- */
.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-x)}
.container--narrow{max-width:var(--container-narrow)}
.container--wide{max-width:var(--container-wide)}
.section{padding-block:var(--section-y)}
.section--tight{padding-block:clamp(2.5rem,2rem + 3vw,4.5rem)}
.section--alt{background:var(--bg-alt)}
.section--dark{background:var(--bg-dark);color:var(--text-on-dark);position:relative}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--cream)}
.section--dark p{color:var(--text-on-dark-muted)}
.section--dark a{color:var(--gold-soft)}
.section--dark a:hover{color:var(--gold)}

/* ---------- 5. UTILITY ---------- */
.eyebrow{
  font-family:var(--font-sans);
  font-size:var(--fs-eyebrow);
  font-weight:600;
  letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;
  color:var(--terracotta);
  margin-bottom:var(--sp-md);
  display:inline-flex;align-items:center;gap:.6em;
}
.eyebrow::before{content:"";width:1.8rem;height:1px;background:currentColor;opacity:.6}
.eyebrow--light{color:var(--gold)}
.eyebrow--center{justify-content:center}

.divider{width:64px;height:1px;background:var(--gold);margin-block:var(--sp-xl);opacity:.6}
.divider--center{margin-inline:auto}

.lead{font-size:var(--fs-lead);line-height:var(--lh-relaxed);color:var(--text-medium);max-width:var(--measure)}
.section--dark .lead{color:var(--text-on-dark-muted)}

.link-arrow{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:var(--fs-small);letter-spacing:.02em;color:var(--terracotta)}
.link-arrow__icon{transition:transform var(--dur-fast) var(--ease-standard)}
.link-arrow:hover .link-arrow__icon{transform:translateX(.35em)}

.botanical{color:var(--green-sage)}

/* Grana */
.grain-overlay{
  position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:160px 160px;
}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity var(--dur-reveal) var(--ease-entrance),transform var(--dur-reveal) var(--ease-entrance)}
.reveal.is-visible{opacity:1;transform:none}
.reveal--delay-1{transition-delay:.08s}
.reveal--delay-2{transition-delay:.16s}
.reveal--delay-3{transition-delay:.24s}
.reveal--delay-4{transition-delay:.32s}

/* Badge */
.badge-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:var(--sp-lg)}
.badge{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  padding:.45rem .9rem;border:1px solid var(--border-strong);border-radius:var(--r-pill);
  color:var(--text-medium);background:rgba(255,255,255,.4);
}
.section--dark .badge{border-color:rgba(201,168,76,.3);color:var(--gold-soft);background:rgba(245,240,232,.04)}

/* ---------- 6. BOTTONI ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-sans);font-size:.82rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  padding:.95rem 2rem;border-radius:var(--r-pill);
  border:1px solid transparent;cursor:pointer;
  transition:transform var(--dur-fast) var(--ease-standard),
             background var(--dur-fast) var(--ease-standard),
             color var(--dur-fast) var(--ease-standard),
             box-shadow var(--dur-fast) var(--ease-standard),
             border-color var(--dur-fast) var(--ease-standard);
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}
.btn--primary{background:var(--terracotta);color:var(--cream);border-color:var(--terracotta)}
.btn--primary:hover{background:var(--terracotta-light);color:var(--cream)}
.btn--ghost{border-color:var(--border-strong);color:var(--text-dark);background:transparent}
.btn--ghost:hover{border-color:var(--terracotta);color:var(--terracotta)}
.btn--ghost-light{border-color:rgba(245,240,232,.4);color:var(--cream)}
.btn--ghost-light:hover{border-color:var(--gold);color:var(--gold)}
.btn--light{background:var(--cream);color:var(--earth-deep);border-color:var(--cream)}
.btn--light:hover{background:var(--gold-soft);color:var(--earth-deep)}

/* ---------- 7. HEADER / NAV ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),padding var(--dur-base) var(--ease-standard)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);padding-block:1.4rem}
.site-header.scrolled{background:rgba(245,240,232,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.site-header.scrolled .site-header__inner{padding-block:.9rem}

.site-header__logo{display:inline-flex;align-items:center;gap:.7rem;color:var(--earth-deep);font-family:var(--font-serif)}
.site-header__logo-mark{color:var(--green-sage);display:inline-flex}
.site-header__logo-text{font-size:1.15rem;font-weight:500;letter-spacing:.04em}
.site-header__logo-text em{font-style:italic;color:var(--terracotta)}

/* header trasparente sopra hero scuro (home) */
.site-header--over-dark:not(.scrolled) .site-header__logo{color:var(--cream)}
.site-header--over-dark:not(.scrolled) .site-header__logo-mark{color:var(--gold-soft)}
.site-header--over-dark:not(.scrolled) .site-nav__link{color:var(--cream)}

.site-nav{display:flex;align-items:center;gap:var(--sp-xl)}
.site-nav__list{display:flex;align-items:center;gap:var(--sp-lg)}
.site-nav__link{position:relative;font-size:.82rem;font-weight:500;letter-spacing:.04em;color:var(--text-medium);padding-block:.3rem}
.site-nav__link::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--terracotta);transition:width var(--dur-base) var(--ease-entrance)}
.site-nav__link:hover{color:var(--terracotta)}
.site-nav__link:hover::after,.site-nav__link[aria-current="page"]::after{width:100%}
.site-nav__link[aria-current="page"]{color:var(--terracotta)}
.site-nav__cta{padding:.6rem 1.3rem;font-size:.72rem}

.site-header__toggle{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center}
.site-header__toggle-bar{display:block;width:24px;height:2px;background:var(--earth-deep);border-radius:2px;transition:transform var(--dur-fast) var(--ease-standard),opacity var(--dur-fast)}
.site-header--over-dark:not(.scrolled) .site-header__toggle-bar{background:var(--cream)}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-bar:nth-child(2){opacity:0}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- 8. FOOTER ---------- */
.site-footer{padding-top:var(--sp-4xl)}
.site-footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:var(--sp-2xl);padding-bottom:var(--sp-2xl)}
.site-footer__logo{font-family:var(--font-serif);font-size:1.4rem;color:var(--cream);display:inline-block;margin-bottom:var(--sp-md)}
.site-footer__logo em{font-style:italic;color:var(--gold-soft)}
.site-footer__tagline{color:var(--text-on-dark-muted);max-width:42ch;font-size:.95rem}
.site-footer__heading{font-family:var(--font-sans);font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--sp-md)}
.site-footer__list li{margin-bottom:.5rem}
.site-footer__list a,.site-footer__contact a{color:var(--text-on-dark-muted);font-size:.95rem}
.site-footer__list a:hover,.site-footer__contact a:hover{color:var(--gold-soft)}
.site-footer__contact p{margin-bottom:.5rem}
.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);flex-wrap:wrap;padding-block:var(--sp-lg);border-top:1px solid rgba(245,240,232,.1)}
.site-footer__copy,.site-footer__legal{font-size:.8rem;color:rgba(245,240,232,.45)}
.site-footer__legal a{color:rgba(245,240,232,.55)}

/* ---------- 9. COMPONENTI ---------- */

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;background:var(--earth-deep);color:var(--cream);overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(20,20,14,.9) 0%,rgba(20,20,14,.6) 48%,rgba(20,20,14,.22) 100%),
  linear-gradient(180deg,rgba(20,20,14,.6) 0%,transparent 24%,transparent 58%,rgba(20,20,14,.62) 100%)}
.hero__inner{display:grid;grid-template-columns:1fr;align-items:center;padding-block:8rem 4rem}
.hero__content{max-width:640px}
.hero__title{color:var(--cream);font-size:var(--fs-h1);font-weight:300;margin-block:.4rem var(--sp-lg)}
.hero__title em{color:var(--gold-soft)}
.hero__lead{color:var(--text-on-dark-muted);font-size:var(--fs-lead);line-height:var(--lh-relaxed);max-width:46ch;margin-bottom:var(--sp-xl)}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--sp-md)}
.hero__visual{display:flex;align-items:center;justify-content:center;color:var(--gold)}
.hero__visual .botanical{width:min(100%,420px);height:auto;opacity:.9}
.hero__scroll{position:absolute;bottom:1.8rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(245,240,232,.5);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase}
.hero__scroll-line{width:1px;height:42px;background:linear-gradient(to bottom,transparent,var(--gold));animation:scrollPulse 2.2s var(--ease-standard) infinite}
@keyframes scrollPulse{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* Page hero (pagine interne) */
.page-hero{position:relative;background:var(--earth-deep);color:var(--cream);padding-block:clamp(8rem,6rem + 8vw,12rem) var(--section-y);overflow:hidden;isolation:isolate}
.page-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(20,20,14,.9) 0%,rgba(20,20,14,.62) 50%,rgba(20,20,14,.32) 100%),
  linear-gradient(180deg,rgba(20,20,14,.5) 0%,transparent 32%,transparent 56%,rgba(20,20,14,.55) 100%)}
.page-hero__title{color:var(--cream);font-weight:300;margin-block:.3rem var(--sp-lg)}
.page-hero__title em{color:var(--gold-soft)}
.page-hero__lead{color:var(--text-on-dark-muted);font-size:var(--fs-lead);max-width:54ch}

/* Section intro */
.section-intro{max-width:var(--measure);margin-bottom:var(--sp-3xl)}
.section-intro--center{margin-inline:auto;text-align:center}
.section-intro--center .eyebrow{justify-content:center}
.section-intro__title{margin-bottom:var(--sp-md)}
.section-intro__text{color:var(--text-medium);font-size:var(--fs-lead);line-height:var(--lh-relaxed)}
.section--dark .section-intro__text{color:var(--text-on-dark-muted)}

/* Split media + testo */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3xl);align-items:center}
.split--reverse .split__media{order:2}
.split__media{aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--cream-warm);border:1px solid var(--border-soft);display:flex;align-items:center;justify-content:center}
.split__media img{width:100%;height:100%;object-fit:cover}
.split__media .botanical{width:70%;height:70%;color:var(--green-sage)}

/* Griglie generiche */
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-lg)}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-lg)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-xl)}

/* Pillar card */
.pillar-card{position:relative;padding:var(--sp-xl);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:rgba(255,255,255,.35);transition:transform var(--dur-base) var(--ease-entrance),box-shadow var(--dur-base) var(--ease-entrance),border-color var(--dur-base)}
.section--dark .pillar-card{background:rgba(245,240,232,.03);border-color:rgba(201,168,76,.14)}
.pillar-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);border-color:var(--terracotta)}
.pillar-card__index{font-family:var(--font-serif);font-size:2.8rem;font-weight:300;color:var(--gold);opacity:.5;line-height:1;display:block;margin-bottom:var(--sp-sm)}
.pillar-card__icon{position:absolute;top:var(--sp-xl);right:var(--sp-xl);display:flex;color:var(--green-sage)}
.pillar-card__icon .botanical{width:42px;height:42px}
.pillar-card__title{margin-bottom:.2rem}
.pillar-card__text{color:var(--text-medium);font-size:.98rem}
.section--dark .pillar-card__text{color:var(--text-on-dark-muted)}

/* Method card */
.method-card{display:flex;flex-direction:column;padding:var(--sp-xl);border-radius:var(--r-lg);background:var(--bg-alt);border:1px solid var(--border-soft);transition:transform var(--dur-base) var(--ease-entrance),box-shadow var(--dur-base)}
.method-card:hover{transform:translateY(-5px);box-shadow:var(--sh-sm)}
.method-card__index{font-family:var(--font-serif);font-size:2.2rem;color:var(--terracotta);opacity:.6;display:block;margin-bottom:var(--sp-xs)}
.method-card__title{font-size:var(--fs-h4);margin-bottom:var(--sp-sm)}
.method-card__text{color:var(--text-medium);font-size:.98rem}
.method-card__source{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green-sage);font-weight:600;margin-top:auto;padding-top:var(--sp-lg)}

/* Process track (processi agricoli) */
.process-track{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-lg);counter-reset:step;margin-top:var(--sp-xl)}
.process-step{position:relative;padding-top:var(--sp-lg)}
.process-step::before{content:"";position:absolute;top:18px;left:0;right:0;height:1px;background:var(--border-soft)}
.process-step__num{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r-pill);background:var(--green-deep);color:var(--cream);font-weight:600;margin-bottom:var(--sp-md)}
.process-step__title{font-size:1.3rem;margin-bottom:.3rem}
.process-step__text{font-size:.92rem;color:var(--text-medium)}
.process-note{margin-top:var(--sp-xl);font-style:italic;color:var(--text-light);font-family:var(--font-serif);font-size:1.15rem}

/* Duality sopra/sotto suolo */
.duality{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border-soft)}
.duality__panel{padding:clamp(2rem,1.5rem + 3vw,4rem)}
.duality__panel--above{background:rgba(107,138,94,.1)}
.duality__panel--below{background:var(--earth-brown);color:var(--cream)}
.duality__panel--below .eyebrow{color:var(--gold-soft)}
.duality__panel--below .duality__title{color:var(--cream)}
.duality__panel--below .duality__text{color:var(--text-on-dark-muted)}
.duality__icon{display:flex;margin-bottom:var(--sp-md)}
.duality__icon .botanical{width:48px;height:48px}
.duality__panel--below .botanical{color:var(--terracotta-light)}
.duality__title{margin-bottom:var(--sp-sm)}
.duality__text{color:var(--text-medium)}

/* Share / biodiversità */
.share-block__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-xl);margin-top:var(--sp-xl)}
.share-block__item{padding:var(--sp-xl);border-radius:var(--r-lg);background:var(--bg-alt);border:1px solid var(--border-soft)}
.share-block__item--highlight{background:var(--green-deep);color:var(--cream);border-color:var(--green-deep)}
.share-block__item--highlight .share-block__title{color:var(--cream)}
.share-block__item--highlight .share-block__text{color:var(--text-on-dark-muted)}
.share-block__title{font-size:var(--fs-h4);margin-bottom:var(--sp-sm)}
.share-block__text{color:var(--text-medium)}

/* Manifesto block */
.manifesto-block__inner{text-align:center}
.manifesto-block__body{font-family:var(--font-serif);font-size:clamp(1.5rem,1.1rem + 1.8vw,2.4rem);font-weight:300;font-style:italic;line-height:1.55;color:var(--cream)}
.manifesto-block__body p{max-width:100%;margin-inline:auto;margin-bottom:var(--sp-lg);text-align:center}
.manifesto-block__body em,.manifesto-block__body .hl{font-style:normal;color:var(--gold-soft)}
.manifesto-block__sign{display:block;width:100%;max-width:100%;margin-top:var(--sp-xl);margin-inline:auto;text-align:center;font-family:var(--font-sans);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--green-muted)}

/* Values grid */
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-lg);margin-top:var(--sp-xl)}
.value-item{padding-left:var(--sp-lg);border-left:2px solid var(--gold);position:relative}
.value-item__title{font-family:var(--font-serif);font-size:1.25rem;margin-bottom:.3rem}
.value-item__text{font-size:.95rem;color:var(--text-medium)}

/* Timeline visione */
.timeline{display:grid;gap:var(--sp-lg);margin-top:var(--sp-xl)}
.timeline__item{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-lg);align-items:start}
.timeline__marker{font-family:var(--font-serif);font-size:1.4rem;color:var(--terracotta);min-width:5.5rem}
.timeline__title{font-size:1.25rem;margin-bottom:.2rem}
.timeline__text{color:var(--text-medium);font-size:.96rem}

/* Blog card */
.blog-card{display:flex;flex-direction:column;background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--dur-base) var(--ease-entrance),box-shadow var(--dur-base)}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md)}
.blog-card__media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--cream-dark)}
.blog-card__img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-standard)}
.blog-card:hover .blog-card__img{transform:scale(1.05)}
.blog-card__body{padding:var(--sp-lg);display:flex;flex-direction:column;gap:.6rem;flex:1}
.blog-card__meta{font-size:.78rem;letter-spacing:.04em;color:var(--text-light);text-transform:uppercase}
.blog-card__cat{color:var(--terracotta);font-weight:600}
.blog-card__title{font-size:var(--fs-h4)}
.blog-card__title a{color:var(--text-dark)}
.blog-card__title a:hover{color:var(--terracotta)}
.blog-card__excerpt{color:var(--text-medium);font-size:.95rem;flex:1}

/* Featured article */
.featured{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border:1px solid var(--border-soft);border-radius:var(--r-lg);overflow:hidden;background:var(--bg-alt);margin-bottom:var(--sp-3xl)}
.featured__media{overflow:hidden;background:var(--cream-dark);min-height:320px}
.featured__media img{width:100%;height:100%;object-fit:cover}
.featured__body{padding:clamp(1.5rem,1rem + 3vw,3rem);display:flex;flex-direction:column;justify-content:center;gap:var(--sp-md)}
.featured__title{font-size:var(--fs-h3)}
.featured__title a{color:var(--text-dark)}
.featured__title a:hover{color:var(--terracotta)}

/* Filtri / categorie */
.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:var(--sp-2xl)}
.filter-chip{font-size:.8rem;font-weight:600;letter-spacing:.04em;padding:.5rem 1.1rem;border:1px solid var(--border-strong);border-radius:var(--r-pill);color:var(--text-medium);transition:all var(--dur-fast) var(--ease-standard)}
.filter-chip:hover,.filter-chip[aria-current="true"]{background:var(--green-deep);color:var(--cream);border-color:var(--green-deep)}

/* Paginazione */
.pagination{display:flex;justify-content:center;align-items:center;gap:.4rem;margin-top:var(--sp-3xl)}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding-inline:.6rem;border-radius:var(--r-md);border:1px solid var(--border-soft);font-size:.9rem;color:var(--text-medium)}
.pagination a:hover{border-color:var(--terracotta);color:var(--terracotta)}
.pagination [aria-current="page"]{background:var(--terracotta);color:var(--cream);border-color:var(--terracotta)}

/* Articolo singolo */
.breadcrumb{font-size:.82rem;color:var(--text-light);margin-bottom:var(--sp-md)}
.breadcrumb a{color:var(--text-light)}
.breadcrumb a:hover{color:var(--terracotta)}
.article__header{text-align:center;padding-top:clamp(7rem,5rem + 6vw,10rem)}
.article__meta{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-light);margin-top:var(--sp-md)}
.article__cat{color:var(--terracotta);font-weight:600}
.article__cover{margin-block:var(--sp-2xl)}
.article__cover img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-lg)}
.article__cover figcaption{font-size:.85rem;color:var(--text-light);text-align:center;margin-top:var(--sp-sm);font-style:italic}
.article-body{font-size:var(--fs-lead);line-height:var(--lh-relaxed);color:var(--text-medium)}
.article-body>*{max-width:var(--measure-narrow);margin-inline:auto}
.article-body p{margin-bottom:var(--sp-lg)}
.article-body h2{font-size:var(--fs-h3);color:var(--text-dark);margin-block:var(--sp-2xl) var(--sp-md)}
.article-body h3{font-size:var(--fs-h4);margin-block:var(--sp-xl) var(--sp-sm)}
.article-body ul,.article-body ol{margin-bottom:var(--sp-lg);padding-left:1.4rem}
.article-body li{margin-bottom:.5rem;list-style:disc}
.article-body ol li{list-style:decimal}
.article-body__quote{font-family:var(--font-serif);font-size:1.6rem;font-style:italic;color:var(--green-deep);border-left:3px solid var(--gold);padding-left:var(--sp-lg);margin-block:var(--sp-2xl)}
.article-body__figure{margin-block:var(--sp-2xl);max-width:var(--measure)}
.article-body__figure img{width:100%;border-radius:var(--r-md)}
.article-body__figure figcaption{font-size:.85rem;color:var(--text-light);text-align:center;margin-top:var(--sp-sm);font-style:italic}
.article-body__dropcap::first-letter{font-family:var(--font-serif);font-size:3.6em;float:left;line-height:.8;padding:.05em .12em 0 0;color:var(--terracotta)}

/* Share bar */
.share-bar{display:flex;align-items:center;gap:var(--sp-md);justify-content:center;margin-block:var(--sp-2xl);padding-block:var(--sp-lg);border-block:1px solid var(--border-soft)}
.share-bar__label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);font-weight:600}
.share-bar__links{display:flex;gap:.5rem}
.share-bar__link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--r-pill);border:1px solid var(--border-soft);color:var(--text-medium)}
.share-bar__link:hover{border-color:var(--terracotta);color:var(--terracotta)}

/* Author box */
.author-box{display:flex;gap:var(--sp-lg);align-items:center;padding:var(--sp-xl);background:var(--bg-alt);border-radius:var(--r-lg);border:1px solid var(--border-soft);max-width:var(--measure);margin-inline:auto}
.author-box__avatar{flex-shrink:0;width:72px;height:72px;border-radius:var(--r-pill);background:var(--green-deep);color:var(--cream);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1.6rem}
.author-box__name{font-family:var(--font-serif);font-size:1.3rem}
.author-box__bio{font-size:.95rem;color:var(--text-medium)}

/* CTA band */
.cta-band{background:var(--terracotta);color:var(--cream);text-align:center}
.cta-band--earth{background:var(--earth-deep)}
.cta-band__inner{display:flex;flex-direction:column;align-items:center;gap:var(--sp-md);padding-block:var(--section-y)}
.cta-band__title{color:var(--cream);font-weight:300;max-width:18ch}
.cta-band__title em{color:var(--gold-soft)}
.cta-band__text{color:rgba(245,240,232,.85);max-width:46ch;margin-bottom:var(--sp-md)}

/* Contact form */
.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--sp-3xl);align-items:start}
.contact-form{display:flex;flex-direction:column;gap:var(--sp-lg)}
.contact-form__row{display:flex;flex-direction:column;gap:.4rem}
.contact-form__label{font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--text-medium)}
.contact-form__input{padding:.85rem 1rem;border:1px solid var(--border-strong);border-radius:var(--r-md);background:#fff;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.contact-form__input:focus{border-color:var(--terracotta);box-shadow:var(--focus-ring);outline:none}
.contact-form__input--area{resize:vertical;min-height:140px}
.contact-form__check{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--text-medium)}
.contact-form__check input{margin-top:.25rem}
.contact-form__note{font-size:.9rem;color:var(--text-light)}
.contact-form__status{font-size:.9rem;font-weight:600;min-height:1.2em}
.contact-form__status--ok{color:var(--green-deep)}

/* Contatti laterali */
.contact-aside{display:flex;flex-direction:column;gap:var(--sp-lg)}
.contact-card{padding:var(--sp-xl);border-radius:var(--r-lg);background:var(--bg-alt);border:1px solid var(--border-soft)}
.contact-card__title{font-size:1.2rem;margin-bottom:var(--sp-sm)}
.contact-card a{font-weight:600}
.participate-list li{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:var(--sp-sm);color:var(--text-medium)}
.participate-list li::before{content:"";flex-shrink:0;width:8px;height:8px;margin-top:.55rem;border-radius:50%;background:var(--terracotta)}

/* Skip link */
.skip-link{position:absolute;left:-999px;top:0;z-index:1000;background:var(--earth-deep);color:var(--cream);padding:.8rem 1.2rem;border-radius:0 0 var(--r-md) 0}
.skip-link:focus{left:0}

/* ---------- 10. RESPONSIVE ---------- */
@media (max-width:1024px){
  .hero__inner{grid-template-columns:1fr;gap:var(--sp-xl);padding-block:7rem 3rem}
  .hero__visual{display:none}
  .process-track{grid-template-columns:repeat(2,1fr)}
  .process-step::before{display:none}
  .featured{grid-template-columns:1fr}
}
@media (max-width:860px){
  .site-nav{position:fixed;inset:0 0 0 auto;width:min(82vw,360px);flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--sp-xl);background:var(--earth-deep);padding:var(--sp-4xl) var(--sp-xl);transform:translateX(100%);transition:transform var(--dur-base) var(--ease-entrance);z-index:200;box-shadow:var(--sh-lg)}
  .site-nav.is-open{transform:translateX(0)}
  .site-nav__list{flex-direction:column;align-items:flex-start;gap:var(--sp-lg)}
  .site-nav__link{color:var(--cream);font-size:1.1rem}
  .site-nav__link::after{background:var(--gold)}
  .site-header__toggle{display:flex;z-index:201}
  .pillar-grid,.method-grid,.blog-grid{grid-template-columns:1fr}
  .split,.duality,.share-block__grid,.contact-layout{grid-template-columns:1fr}
  .split--reverse .split__media{order:0}
  .split__media{aspect-ratio:16/10}
  .site-footer__inner{grid-template-columns:1fr;gap:var(--sp-xl)}
  .timeline__item{grid-template-columns:1fr;gap:.3rem}
  body.nav-open{overflow:hidden}
}
@media (max-width:560px){
  .process-track{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .share-bar{flex-direction:column}
  .author-box{flex-direction:column;text-align:center}
  .site-footer__bottom{flex-direction:column;align-items:flex-start}
}

/* ---------- CALENDARIO LUNARE ---------- */
.lunar-cal{max-width:840px;margin-inline:auto;background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:clamp(1.25rem,1rem + 2vw,2.25rem);box-shadow:var(--sh-sm)}
.lunar-cal__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);margin-bottom:var(--sp-lg)}
.lunar-cal__title{font-size:1.6rem;font-weight:500;text-transform:capitalize}
.lunar-cal__nav{width:42px;height:42px;border-radius:var(--r-pill);border:1px solid var(--border-strong);font-size:1.4rem;line-height:1;color:var(--text-medium);transition:all var(--dur-fast) var(--ease-standard)}
.lunar-cal__nav:hover{background:var(--green-deep);color:var(--cream);border-color:var(--green-deep)}
.lunar-cal__week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.lunar-cal__week span{text-align:center;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light)}
.lunar-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;aspect-ratio:1/1;padding:.3rem;border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--cream);cursor:pointer;transition:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast),border-color var(--dur-fast)}
.cal-day--empty{border:none;background:none;cursor:default}
.cal-day:not(.cal-day--empty):hover{transform:translateY(-2px);box-shadow:var(--sh-sm)}
.cal-day.is-selected{border-color:var(--earth-deep);box-shadow:var(--sh-sm)}
.cal-day.is-today{outline:2px solid var(--terracotta);outline-offset:1px}
.cal-day__num{font-size:.85rem;font-weight:600;color:var(--text-dark)}
.cal-moon{display:block;border-radius:50%}
.cal-day__type{font-size:.6rem;font-weight:700;letter-spacing:.04em;padding:1px 5px;border-radius:var(--r-pill);color:#fff}
.cal-day__flag{position:absolute;top:2px;right:2px;font-size:.5rem;font-weight:700;color:var(--text-light)}
/* colori tipi giorno */
.is-radice  .cal-day__type,.cal-swatch.is-radice{background:#7a5230}
.is-foglia  .cal-day__type,.cal-swatch.is-foglia{background:var(--green-sage)}
.is-fiore   .cal-day__type,.cal-swatch.is-fiore{background:var(--gold)}
.is-frutto  .cal-day__type,.cal-swatch.is-frutto{background:var(--terracotta)}
.cal-day.is-radice{background:rgba(122,82,48,.07)}
.cal-day.is-foglia{background:rgba(107,138,94,.10)}
.cal-day.is-fiore{background:rgba(201,168,76,.12)}
.cal-day.is-frutto{background:rgba(184,101,58,.09)}
.cal-swatch{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle;margin-right:.4rem}
.lunar-cal__detail{display:flex;gap:var(--sp-lg);align-items:center;margin-top:var(--sp-lg);padding:var(--sp-lg);background:var(--bg-alt);border-radius:var(--r-md)}
.lunar-cal__detail-moon{flex-shrink:0}
.lunar-cal__detail-date{font-family:var(--font-serif);font-size:1.3rem;color:var(--text-dark);margin-bottom:.2rem}
.lunar-cal__detail-phase{font-size:.92rem;color:var(--text-medium);margin-bottom:.4rem}
.lunar-cal__detail-type{font-size:.95rem;color:var(--text-dark);margin-bottom:.4rem}
.lunar-cal__detail-adv{font-size:.9rem;color:var(--text-medium)}
.lunar-cal__legend{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:var(--sp-lg);font-size:.82rem;color:var(--text-medium)}
.lunar-cal__legend li{display:flex;align-items:center}
.lunar-cal__legend em{color:var(--text-light);font-style:normal;margin-left:.25rem}
.lunar-cal__legend-sep{margin-left:auto}
.lunar-cal__legend .cal-moon{margin-right:.4rem}
@media (max-width:560px){
  .lunar-cal__grid,.lunar-cal__week{gap:4px}
  .cal-day{padding:.18rem;gap:1px;border-radius:6px}
  .cal-day__type{font-size:.48rem;padding:0 3px}
  .cal-day__num{font-size:.7rem}
  .cal-day__flag{display:none}
  .lunar-cal__title{font-size:1.3rem}
  .lunar-cal__detail{flex-direction:column;text-align:center}
  .lunar-cal__legend{gap:.4rem .9rem;font-size:.78rem}
  .lunar-cal__legend-sep{margin-left:0}
}

/* ---------- CORSO ---------- */
.course-meta{display:flex;flex-wrap:wrap;gap:var(--sp-md);margin-top:var(--sp-lg)}
.course-meta__item{flex:1 1 150px;padding:var(--sp-md) var(--sp-lg);background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--r-md)}
.course-meta__k{display:block;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta);margin-bottom:.2rem}
.course-meta__v{font-family:var(--font-serif);font-size:1.15rem;color:var(--text-dark)}
.course-modules{display:grid;gap:var(--sp-lg);margin-top:var(--sp-2xl);counter-reset:mod}
.course-module{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-xl);padding:clamp(1.5rem,1rem + 2vw,2.5rem);background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--sh-sm);transition:transform var(--dur-base) var(--ease-entrance),box-shadow var(--dur-base)}
.course-module:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.course-module__num{font-family:var(--font-serif);font-size:3rem;font-weight:300;color:var(--terracotta);opacity:.55;line-height:.9}
.course-module__title{font-size:var(--fs-h4);margin-bottom:.4rem}
.course-module__intro{color:var(--text-medium);margin-bottom:var(--sp-md)}
.course-module__list{display:grid;gap:.6rem}
.course-module__list li{position:relative;padding-left:1.4rem;color:var(--text-medium);font-size:.96rem}
.course-module__list li::before{content:"";position:absolute;left:0;top:.55rem;width:8px;height:8px;border-radius:50%;background:var(--green-sage)}
.course-module__list strong{color:var(--text-dark)}
@media(max-width:640px){.course-module{grid-template-columns:1fr;gap:var(--sp-sm)}}

/* ---------- GALLERIA ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md)}
.gallery-item{position:relative;overflow:hidden;border-radius:var(--r-md);background:var(--cream-dark);aspect-ratio:4/3;border:1px solid var(--border-soft)}
.gallery-item--wide{grid-column:span 2}
.gallery-item--tall{grid-row:span 2;aspect-ratio:3/4}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-standard)}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item__cap{position:absolute;left:0;right:0;bottom:0;padding:.7rem .9rem;font-size:.82rem;color:var(--cream);background:linear-gradient(to top,rgba(26,26,18,.78),transparent)}
.gallery-badge{position:absolute;top:.7rem;left:.7rem;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--earth-deep);background:var(--gold-soft);padding:.25rem .6rem;border-radius:var(--r-pill)}
.gallery-video{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:var(--earth-deep);display:flex;align-items:center;justify-content:center;border:1px solid var(--border-soft)}
.gallery-video video,.gallery-video iframe{width:100%;height:100%;object-fit:cover;border:0}
.gallery-video__ph{display:flex;flex-direction:column;align-items:center;gap:var(--sp-md);color:var(--text-on-dark-muted);text-align:center;padding:var(--sp-xl)}
.gallery-video__play{width:64px;height:64px;border-radius:var(--r-pill);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1.4rem}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item--wide{grid-column:span 2}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}.gallery-item--wide,.gallery-item--tall{grid-column:auto;grid-row:auto;aspect-ratio:4/3}}

/* ---------- GALLERIA MASONRY + LIGHTBOX ---------- */
.gallery-masonry{columns:3 280px;column-gap:var(--sp-md)}
.gallery-masonry .gallery-item{break-inside:avoid;margin:0 0 var(--sp-md);width:100%;aspect-ratio:auto;display:block}
.gallery-masonry .gallery-item img{width:100%;height:auto;display:block;cursor:zoom-in}
.gallery-masonry .gallery-item__cap{opacity:0;transition:opacity var(--dur-fast) var(--ease-standard)}
.gallery-masonry .gallery-item:hover .gallery-item__cap{opacity:1}
[data-lightbox]{cursor:zoom-in}
.glb{position:fixed;inset:0;z-index:1000;background:rgba(20,20,14,.95);display:none;align-items:center;justify-content:center;padding:clamp(1rem,3vw,3rem)}
.glb.is-open{display:flex}
.glb__fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:.8rem;max-width:min(1100px,92vw)}
.glb__img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:var(--r-md);box-shadow:var(--sh-lg)}
.glb__cap{color:var(--cream);font-size:.92rem;text-align:center;opacity:.85}
.glb__close,.glb__nav{position:absolute;border:none;border-radius:50%;background:rgba(245,240,232,.14);color:var(--cream);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-fast)}
.glb__close:hover,.glb__nav:hover{background:rgba(245,240,232,.3)}
.glb__close{top:1rem;right:1rem;width:48px;height:48px;font-size:1.3rem}
.glb__nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:1.9rem;line-height:1}
.glb__prev{left:1rem}.glb__next{right:1rem}
@media(max-width:560px){.gallery-masonry{columns:2 140px}.glb__nav{width:42px;height:42px;font-size:1.5rem}.glb__prev{left:.4rem}.glb__next{right:.4rem}}

/* ---------- 11. MOTION / A11Y ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
}
