/* ======================================================
   Correzioni finali richieste: logo hero, Marcellus,
   immagine hero rettangolare/full, menu compatto e mobile.
   ====================================================== */

:root {
  --ru-final-font: 'Marcellus', Georgia, 'Times New Roman', serif;
}

html,
body,
button,
input,
textarea,
select,
p,
li,
a,
span,
summary,
label,
option {
  font-family: var(--ru-final-font) !important;
}

h1,
h2,
h3,
h4,
.section-title,
.section-subtitle,
.hero-subtitle,
.hero-text,
.intro-text,
.rich-copy,
.rich-text,
.eyebrow,
.manifesto-lines,
.card-kicker,
.about-card h3,
.workshop-card-summary .tag,
.workshop-header .tag,
.workshop-header h3,
.paper-sheet span,
.footer-logo,
.nav-links a,
.nav-social a,
.mobile-overlay a,
.btn {
  font-family: var(--ru-final-font) !important;
  letter-spacing: 0 !important;
}

.hand,
.about-card h3 .hand,
.hero-title .hand,
.nav-logo span,
.footer-logo span {
  font-family: var(--ru-final-font) !important;
  font-weight: inherit !important;
  color: inherit !important;
  transform: none !important;
}

.eyebrow {
  transform: none !important;
  font-size: clamp(1rem, 1.25vw, 1.12rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
}

.section-title,
.manifesto-lines,
.about-card h3,
.workshop-header h3 {
  font-weight: 400 !important;
}

/* Header/menu: compatto su fisso, leggibile su mobile */
.site-nav {
  width: fit-content !important;
  max-width: calc(100vw - 32px) !important;
  min-height: 56px !important;
  padding: 8px 14px !important;
  gap: 16px !important;
  justify-content: center !important;
  align-items: center !important;
  border-radius: 999px !important;
}

.site-nav.scrolled {
  min-height: 52px !important;
  padding: 7px 13px !important;
}

.nav-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: clamp(116px, 11vw, 154px) !important;
  min-width: 116px !important;
  max-width: 154px !important;
  height: 42px !important;
  overflow: visible !important;
  flex: 0 0 auto !important;
}

.nav-logo-full {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 42px !important;
  object-fit: contain !important;
  filter: none !important;
}

.nav-links {
  display: flex !important;
  align-items: center !important;
  gap: clamp(9px, 1vw, 14px) !important;
  margin: 0 !important;
  flex: 0 1 auto !important;
}

.nav-links a {
  white-space: nowrap !important;
  font-size: clamp(0.82rem, 0.85vw, 0.92rem) !important;
  font-weight: 400 !important;
}

.nav-social {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 0 0 auto !important;
}

.nav-social a {
  padding: 6px 10px !important;
  font-size: 0.82rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.mobile-toggle {
  display: none !important;
  flex: 0 0 auto !important;
}

.mobile-overlay {
  padding: 76px 22px 34px !important;
  gap: clamp(14px, 3.8vh, 26px) !important;
  background: rgba(255, 252, 246, 0.98) !important;
}

.mobile-overlay.open {
  display: flex !important;
}

.mobile-overlay a {
  color: var(--brown) !important;
  font-size: clamp(1.35rem, 6.8vw, 2.05rem) !important;
  line-height: 1.08 !important;
  text-align: center !important;
  max-width: min(88vw, 520px) !important;
}

.mobile-overlay .mobile-pill {
  color: var(--burgundy) !important;
  background: rgba(244, 211, 204, 0.38) !important;
  border: 1px solid rgba(122, 47, 59, 0.16) !important;
  padding: 10px 18px !important;
  font-size: clamp(1rem, 4.8vw, 1.35rem) !important;
}

.mobile-close {
  top: 18px !important;
  right: 18px !important;
}

/* Hero: titolo testuale sostituito dal logo allegato */
.hero {
  min-height: auto !important;
  padding-top: clamp(104px, 10vh, 136px) !important;
  padding-bottom: clamp(48px, 7vh, 80px) !important;
}

.hero-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr) !important;
  gap: clamp(28px, 4vw, 54px) !important;
  align-items: stretch !important;
}

.hero-copy {
  align-self: center !important;
  max-width: 660px !important;
  padding-block: 0 !important;
}

.hero-brand,
.hero-brand::before,
.hero-brand::after {
  display: none !important;
}

.hero-title-logo-wrap {
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  max-width: min(650px, 100%) !important;
  letter-spacing: 0 !important;
}

.hero-title-logo {
  display: block !important;
  width: min(650px, 100%) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

.hero-subtitle {
  font-size: clamp(1.35rem, 2.25vw, 1.9rem) !important;
  line-height: 1.25 !important;
}

/* Hero image: niente blob, riquadro pieno della colonna/area visiva */
.hero-collage {
  position: relative !important;
  min-height: clamp(480px, 62vh, 640px) !important;
  height: auto !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  transform: none !important;
  align-self: stretch !important;
}

.hero-collage::before,
.hero-collage::after,
.collage-img.future-slot,
.collage-img.future-slot::before,
.collage-img.future-slot::after {
  display: none !important;
}

.collage-img.founders {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  border-radius: 0 !important;
  transform: none !important;
  box-shadow: none !important;
  overflow: hidden !important;
  z-index: 3 !important;
}

.collage-img.founders img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Nomi profilo uniformi: Martina e Francesca stesso stile */
.about-card h3 {
  color: var(--burgundy) !important;
  font-size: 2.1rem !important;
  text-align: center !important;
}

@media (max-width: 1060px) {
  .site-nav {
    top: 10px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    padding: 8px 12px !important;
    justify-content: space-between !important;
    border-radius: 26px !important;
    min-height: 58px !important;
  }

  .nav-logo {
    display: inline-flex !important;
    width: min(48vw, 190px) !important;
    min-width: 136px !important;
    max-width: 190px !important;
    height: 42px !important;
  }

  .nav-logo-full {
    max-height: 42px !important;
  }

  .nav-links,
  .nav-social {
    display: none !important;
  }

  .mobile-toggle {
    display: inline-flex !important;
  }

  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    align-items: center !important;
  }

  .hero-copy {
    text-align: center !important;
    margin-inline: auto !important;
  }

  .hero-title-logo-wrap {
    margin-inline: auto !important;
    max-width: min(560px, 90vw) !important;
  }

  .hero-title-logo {
    width: 100% !important;
    margin-inline: auto !important;
  }

  .hero-subtitle,
  .hero-text {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .button-row {
    justify-content: center !important;
  }

  .hero-collage {
    width: 100% !important;
    max-width: none !important;
    min-height: min(86vw, 560px) !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 820px) {
  .hero {
    padding-top: 92px !important;
    padding-bottom: 42px !important;
  }

  .hero-title-logo-wrap {
    margin-bottom: 18px !important;
    max-width: min(530px, 92vw) !important;
  }

  .hero-collage {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    min-height: min(96vw, 540px) !important;
  }
}

@media (max-width: 560px) {
  .site-nav {
    min-height: 56px !important;
    padding: 8px 10px !important;
  }

  .nav-logo {
    width: min(58vw, 178px) !important;
    min-width: 132px !important;
    height: 40px !important;
  }

  .nav-logo-full {
    max-height: 40px !important;
  }

  .mobile-toggle {
    width: 44px !important;
    height: 40px !important;
    min-width: 44px !important;
  }

  .hero {
    padding-top: 84px !important;
    padding-bottom: 34px !important;
  }

  .hero-title-logo-wrap {
    max-width: 94vw !important;
    margin-bottom: 16px !important;
  }

  .hero-collage {
    min-height: 420px !important;
  }

  .mobile-overlay {
    justify-content: center !important;
    gap: 16px !important;
  }
}

@media (max-width: 380px) {
  .mobile-overlay a {
    font-size: 1.22rem !important;
  }

  .mobile-overlay .mobile-pill {
    font-size: 0.98rem !important;
  }

  .hero-collage {
    min-height: 380px !important;
  }
}


/* ======================================================
   Round 2 tweaks — requested typography, accents, cursor,
   line handling, and Instagram menu update.
   ====================================================== */

html, body {
  cursor: url("../assets/images/cursor-salvia.png") 8 40, auto;
}

a, button, summary, .btn, input[type="submit"], .mobile-toggle, .mobile-close, select, label[for] {
  cursor: url("../assets/images/cursor-salvia.png") 8 40, pointer;
}

.accent-burgundy {
  color: var(--burgundy) !important;
}

.accent-terracotta {
  color: var(--terracotta) !important;
}

.italic {
  font-style: italic !important;
}

.block-line {
  display: block !important;
  margin-top: 0.2em !important;
}

#manifesto .section-title {
  color: var(--brown) !important;
}

.manifesto-lines {
  font-size: clamp(1.32rem, 2.4vw, 2.05rem) !important;
  line-height: 1.14 !important;
  margin: 20px auto 28px !important;
}

.manifesto-lines .reveal-line + .reveal-line {
  margin-top: 0.32em !important;
}

#about .section-title .accent-burgundy,
#contact .section-title .accent-burgundy,
#blog .section-title .accent-burgundy,
#progetti .section-title .accent-burgundy {
  color: var(--burgundy) !important;
}

#workshop .section-title .accent-terracotta,
#cerchi .section-title .accent-terracotta {
  color: var(--terracotta) !important;
}

#progetti .section-title {
  line-height: 1.14 !important;
}

.keep-one-line-desktop {
  white-space: nowrap !important;
  max-width: none !important;
}

.paper-sheet span strong {
  font-weight: 700 !important;
}

#blog .eyebrow,
.blog-hero .eyebrow {
  color: var(--burgundy) !important;
}

@media (max-width: 980px) {
  .keep-one-line-desktop {
    white-space: normal !important;
  }
}

@media (max-width: 560px) {
  html, body,
  a, button, summary, .btn, .mobile-toggle, .mobile-close {
    cursor: auto !important;
  }
}


/* Round 3 tweaks — single-line project copy and Instagram icon-only menu */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.instagram-menu-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.1rem !important;
  height: 1.1rem !important;
}

.instagram-menu-icon svg {
  width: 100% !important;
  height: 100% !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.75 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.instagram-icon-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.nav-social .instagram-icon-link {
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 8px !important;
  border-radius: 999px !important;
  color: var(--burgundy) !important;
  background: rgba(244, 211, 204, 0.34) !important;
  border: 1px solid rgba(122, 47, 59, 0.16) !important;
}

.nav-social .instagram-icon-link:hover {
  color: var(--cream) !important;
  background: var(--burgundy) !important;
  border-color: var(--burgundy) !important;
}

.mobile-pill.instagram-icon-link {
  width: 58px !important;
  min-height: 58px !important;
  padding: 0 !important;
  border-radius: 999px !important;
}

.mobile-pill.instagram-icon-link .instagram-menu-icon {
  width: 1.45rem !important;
  height: 1.45rem !important;
}

.no-break-inline {
  white-space: nowrap !important;
}

.keep-one-line-title-desktop {
  white-space: nowrap !important;
}

#progetti .keep-one-line-title-desktop {
  font-size: clamp(2rem, 4.5vw, 4.35rem) !important;
}

@media (max-width: 980px) {
  .keep-one-line-title-desktop {
    white-space: normal !important;
  }
}

@media (max-width: 560px) {
  .mobile-pill.instagram-icon-link {
    width: 54px !important;
    min-height: 54px !important;
  }
}


/* Round 4 tweaks — footer navigation and optimized salvia cursor */
html, body {
  cursor: url("../assets/images/cursor-salvia.png") 4 2, auto !important;
}

a, button, summary, .btn, input[type="submit"], .mobile-toggle, .mobile-close, select, label[for] {
  cursor: url("../assets/images/cursor-salvia.png") 4 2, pointer !important;
}

.footer-links {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  row-gap: 12px !important;
  column-gap: clamp(14px, 2.2vw, 24px) !important;
}

.footer-links a {
  white-space: nowrap !important;
}


/* Round 5 tweaks — hero/footer copy, manifesto layout, optimized cursor hotspot, richer botanicals */
.manifesto-copy {
  max-width: 860px !important;
  margin-inline: auto !important;
}

.manifesto-copy p {
  margin: 0 !important;
  line-height: 1.72 !important;
}

.manifesto-copy p + p {
  margin-top: 0.18em !important;
}

.footer-logo.footer-logo-full {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(360px, 84vw) !important;
  margin: 0 auto 14px !important;
  text-decoration: none !important;
}

.footer-logo-image {
  display: block !important;
  width: 100% !important;
  max-width: 360px !important;
  height: auto !important;
  object-fit: contain !important;
}

.footer > p {
  margin-top: 6px !important;
}

/* Cursor: the hotspot is aligned with the upper leaf tip. */
html, body {
  cursor: url("../assets/images/cursor-salvia.png") 4 2, auto !important;
}

a, button, summary, .btn, input[type="submit"], .mobile-toggle, .mobile-close, select, label[for] {
  cursor: url("../assets/images/cursor-salvia.png") 4 2, pointer !important;
}

/* More visible botanical background rhythm across the whole site. */
:root {
  --botanical-icon-opacity-soft: 0.18;
  --botanical-icon-opacity-strong: 0.31;
}

body::before,
body::after {
  content: '' !important;
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  opacity: 0.12 !important;
  background-repeat: no-repeat !important;
  background-blend-mode: multiply !important;
}

body::before {
  background-image:
    url('../assets/images/botanical-icons/botanical-eucalipto.webp'),
    url('../assets/images/botanical-icons/botanical-fiore-singolo.webp'),
    url('../assets/images/botanical-icons/botanical-ulivo.webp'),
    url('../assets/images/botanical-icons/botanical-bacche.webp') !important;
  background-size: 150px auto, 118px auto, 168px auto, 132px auto !important;
  background-position: 4vw 18vh, 88vw 24vh, 7vw 72vh, 86vw 78vh !important;
}

body::after {
  opacity: 0.08 !important;
  background-image:
    url('../assets/images/botanical-icons/botanical-fiori-doppi.webp'),
    url('../assets/images/botanical-icons/botanical-berries-branch.webp'),
    url('../assets/images/botanical-icons/botanical-flower-pair.webp') !important;
  background-size: 140px auto, 164px auto, 128px auto !important;
  background-position: 72vw 52vh, 16vw 42vh, 50vw 86vh !important;
}

main, footer {
  position: relative !important;
  z-index: 1 !important;
}

.site-nav, .mobile-overlay {
  z-index: 1000 !important;
}

section.section::before,
section.section::after,
.botanical-drift {
  opacity: 0.18 !important;
}

section.section::before,
section.section::after {
  width: clamp(118px, 13vw, 190px) !important;
  height: clamp(118px, 13vw, 190px) !important;
}

@media (max-width: 820px) {
  body::before {
    background-size: 104px auto, 90px auto, 112px auto, 96px auto !important;
    background-position: 2vw 20vh, 82vw 27vh, 4vw 68vh, 82vw 80vh !important;
  }
  body::after {
    opacity: 0.06 !important;
    background-size: 96px auto, 110px auto, 92px auto !important;
  }
  .footer-logo.footer-logo-full {
    width: min(300px, 80vw) !important;
  }
}


/* Round 6 tweaks — layout fixes, italic accent words, footer logo size, robust contact form */
.section-title .accent-burgundy,
.section-title .accent-terracotta {
  font-style: italic !important;
}

.forced-break {
  display: block !important;
}

.footer-logo.footer-logo-full {
  width: clamp(116px, 11vw, 154px) !important;
  max-width: 154px !important;
  height: 42px !important;
  margin: 0 auto 12px !important;
}

.footer-logo-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 154px !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

.contact-form button[disabled] {
  opacity: 0.72 !important;
  pointer-events: none !important;
}

@media (max-width: 560px) {
  .footer-logo.footer-logo-full {
    width: min(58vw, 178px) !important;
    max-width: 178px !important;
    height: 40px !important;
  }

  .footer-logo-image {
    max-height: 40px !important;
  }
}


/* Round 7 tweaks — cerchi CTA spacing, role no-break, compact footer logo, italic colored title words */
#about .section-subtitle .no-break-inline {
  white-space: nowrap !important;
}

#workshop .section-subtitle .forced-break {
  display: block !important;
  margin-top: 0.18em !important;
}

#cerchi .cerchi-cta,
#cerchi .split-copy > .btn-primary[href="#contatti"] {
  margin-top: clamp(22px, 3vw, 34px) !important;
}

#cerchi .microcopy {
  margin-bottom: 0 !important;
}

.footer .footer-logo.footer-logo-full {
  width: clamp(116px, 11vw, 154px) !important;
  max-width: 154px !important;
  height: 42px !important;
  min-height: 0 !important;
  margin: 0 auto 12px !important;
  padding: 0 !important;
}

.footer .footer-logo-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 154px !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

h1 .accent-burgundy,
h1 .accent-terracotta,
h2 .accent-burgundy,
h2 .accent-terracotta,
.section-title .accent-burgundy,
.section-title .accent-terracotta {
  font-style: italic !important;
}

@media (max-width: 560px) {
  .footer .footer-logo.footer-logo-full {
    width: min(58vw, 178px) !important;
    max-width: 178px !important;
    height: 40px !important;
  }

  .footer .footer-logo-image {
    max-height: 40px !important;
  }

  #about .section-subtitle .no-break-inline {
    white-space: normal !important;
  }
}


/* Spaziatura sezione Diario: più respiro tra sottotitolo e box */
#blog .section-heading {
  margin-bottom: clamp(72px, 7vw, 108px) !important;
}

#blog .section-subtitle {
  margin-bottom: clamp(34px, 4vw, 56px) !important;
}


/* Cursor size + hotspot fine-tuning */
html, body {
  cursor: url("../assets/images/cursor-salvia.png") 2 1, auto !important;
}

a, button, input[type="submit"], summary, .btn, .mobile-toggle, .mobile-close, select, label[for], [role="button"] {
  cursor: url("../assets/images/cursor-salvia.png") 2 1, pointer !important;
}


/* Round 8 — più botaniche animate + fix icona vuota nel manifesto */
:root {
  --botanical-icon-opacity-soft: 0.22;
  --botanical-icon-opacity-strong: 0.36;
  --botanical-extra-opacity: 0.155;
}

/* Fix: l'icona vuota nel manifesto era causata da un layer senza fallback visivo sufficiente.
   Ora ha file corretto + fallback, dimensioni stabili e nessun bordo/contenuto residuo. */
.manifesto-roots {
  width: clamp(128px, 15vw, 210px) !important;
  height: clamp(128px, 15vw, 210px) !important;
  right: 2.5% !important;
  top: 14% !important;
  background-image: url('../assets/images/botanical-icons/botanical-olive-branch.webp'), url('../assets/images/botanical-icons/botanical-ulivo.webp'), url('../assets/images/logo-icon.png') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
  opacity: 0.2 !important;
  filter: saturate(0.95) contrast(0.96) !important;
  animation: botanicalDriftOne 20s ease-in-out infinite, botanicalFade 9s ease-in-out infinite !important;
}

.manifesto-roots::before,
.manifesto-roots::after {
  content: none !important;
  display: none !important;
}

.manifesto-leaves,
.manifesto-hydrangea {
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Layer botanici aggiuntivi dentro ogni sezione. */
.section > .container,
.blog-main,
.blog-list-section,
.article-view,
.footer {
  position: relative !important;
}

.section > .container::before,
.section > .container::after,
.blog-main::before,
.blog-main::after,
.blog-list-section::before,
.blog-list-section::after,
.article-view::before,
.article-view::after,
.footer::before,
.footer::after {
  content: '' !important;
  position: absolute !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  opacity: var(--botanical-extra-opacity) !important;
  filter: saturate(0.92) contrast(0.97) blur(0.05px) !important;
  will-change: transform, opacity !important;
}

.section > .container > *,
.blog-main > *,
.blog-list-section > *,
.article-view > *,
.footer > * {
  position: relative !important;
  z-index: 2 !important;
}

.hero .container::before {
  width: clamp(88px, 10vw, 140px) !important;
  height: clamp(88px, 10vw, 140px) !important;
  left: -4% !important;
  bottom: 5% !important;
  background-image: url('../assets/images/botanical-icons/botanical-flower-single.webp'), url('../assets/images/botanical-icons/botanical-fiore-singolo.webp') !important;
  animation: botanicalExtraFloatA 16s ease-in-out infinite !important;
}

.hero .container::after {
  width: clamp(96px, 11vw, 156px) !important;
  height: clamp(96px, 11vw, 156px) !important;
  right: -5% !important;
  top: 8% !important;
  background-image: url('../assets/images/botanical-icons/botanical-eucalyptus-branch.webp'), url('../assets/images/botanical-icons/botanical-eucalipto.webp') !important;
  animation: botanicalExtraFloatB 19s ease-in-out infinite !important;
}

#manifesto .container::before {
  width: clamp(94px, 11vw, 160px) !important;
  height: clamp(94px, 11vw, 160px) !important;
  left: -10% !important;
  bottom: 8% !important;
  background-image: url('../assets/images/botanical-icons/botanical-flower-pair.webp'), url('../assets/images/botanical-icons/botanical-fiori-doppi.webp') !important;
  animation: botanicalExtraFloatB 18s ease-in-out infinite !important;
}

#manifesto .container::after {
  width: clamp(90px, 10vw, 146px) !important;
  height: clamp(90px, 10vw, 146px) !important;
  right: -10% !important;
  bottom: 18% !important;
  background-image: url('../assets/images/botanical-icons/botanical-berries-branch.webp'), url('../assets/images/botanical-icons/botanical-bacche.webp') !important;
  animation: botanicalExtraFloatC 21s ease-in-out infinite !important;
}

#about .container::before {
  width: clamp(88px, 10vw, 138px) !important;
  height: clamp(88px, 10vw, 138px) !important;
  left: -6% !important;
  top: 24% !important;
  background-image: url('../assets/images/botanical-icons/botanical-berries-branch.webp'), url('../assets/images/botanical-icons/botanical-bacche.webp') !important;
  animation: botanicalExtraFloatC 19s ease-in-out infinite !important;
}

#about .container::after {
  width: clamp(96px, 11vw, 154px) !important;
  height: clamp(96px, 11vw, 154px) !important;
  right: -6% !important;
  top: 12% !important;
  background-image: url('../assets/images/botanical-icons/botanical-olive-branch.webp'), url('../assets/images/botanical-icons/botanical-ulivo.webp') !important;
  animation: botanicalExtraFloatA 22s ease-in-out infinite !important;
}

#workshop .container::before {
  width: clamp(92px, 10vw, 150px) !important;
  height: clamp(92px, 10vw, 150px) !important;
  left: -5% !important;
  bottom: 14% !important;
  background-image: url('../assets/images/botanical-icons/botanical-eucalyptus-branch.webp'), url('../assets/images/botanical-icons/botanical-eucalipto.webp') !important;
  animation: botanicalExtraFloatB 20s ease-in-out infinite !important;
}

#workshop .container::after {
  width: clamp(86px, 9vw, 132px) !important;
  height: clamp(86px, 9vw, 132px) !important;
  right: -3% !important;
  top: 20% !important;
  background-image: url('../assets/images/botanical-icons/botanical-flower-single.webp'), url('../assets/images/botanical-icons/botanical-fiore-singolo.webp') !important;
  animation: botanicalExtraFloatC 17s ease-in-out infinite !important;
}

#cerchi .container::before {
  width: clamp(86px, 10vw, 140px) !important;
  height: clamp(86px, 10vw, 140px) !important;
  left: -4% !important;
  top: 10% !important;
  background-image: url('../assets/images/botanical-icons/botanical-flower-pair.webp'), url('../assets/images/botanical-icons/botanical-fiori-doppi.webp') !important;
  animation: botanicalExtraFloatA 18s ease-in-out infinite !important;
}

#cerchi .container::after {
  width: clamp(90px, 10vw, 150px) !important;
  height: clamp(90px, 10vw, 150px) !important;
  right: -4% !important;
  bottom: 9% !important;
  background-image: url('../assets/images/botanical-icons/botanical-olive-branch.webp'), url('../assets/images/botanical-icons/botanical-ulivo.webp') !important;
  animation: botanicalExtraFloatB 23s ease-in-out infinite !important;
}

#progetti .container::before {
  width: clamp(92px, 10vw, 150px) !important;
  height: clamp(92px, 10vw, 150px) !important;
  left: -6% !important;
  top: 10% !important;
  background-image: url('../assets/images/botanical-icons/botanical-eucalyptus-branch.webp'), url('../assets/images/botanical-icons/botanical-eucalipto.webp') !important;
  animation: botanicalExtraFloatC 18s ease-in-out infinite !important;
}

#progetti .container::after {
  width: clamp(86px, 9vw, 132px) !important;
  height: clamp(86px, 9vw, 132px) !important;
  right: -6% !important;
  bottom: 14% !important;
  background-image: url('../assets/images/botanical-icons/botanical-berries-branch.webp'), url('../assets/images/botanical-icons/botanical-bacche.webp') !important;
  animation: botanicalExtraFloatA 20s ease-in-out infinite !important;
}

#blog .container::before,
.blog-hero .container::before {
  width: clamp(92px, 10vw, 148px) !important;
  height: clamp(92px, 10vw, 148px) !important;
  left: -5% !important;
  top: 8% !important;
  background-image: url('../assets/images/botanical-icons/botanical-flower-pair.webp'), url('../assets/images/botanical-icons/botanical-fiori-doppi.webp') !important;
  animation: botanicalExtraFloatB 20s ease-in-out infinite !important;
}

#blog .container::after,
.blog-hero .container::after {
  width: clamp(88px, 10vw, 138px) !important;
  height: clamp(88px, 10vw, 138px) !important;
  right: -5% !important;
  bottom: 6% !important;
  background-image: url('../assets/images/botanical-icons/botanical-olive-branch.webp'), url('../assets/images/botanical-icons/botanical-ulivo.webp') !important;
  animation: botanicalExtraFloatC 22s ease-in-out infinite !important;
}

#contatti .container::before {
  width: clamp(88px, 10vw, 142px) !important;
  height: clamp(88px, 10vw, 142px) !important;
  left: -6% !important;
  bottom: 8% !important;
  background-image: url('../assets/images/botanical-icons/botanical-flower-single.webp'), url('../assets/images/botanical-icons/botanical-fiore-singolo.webp') !important;
  animation: botanicalExtraFloatA 18s ease-in-out infinite !important;
}

#contatti .container::after {
  width: clamp(92px, 10vw, 150px) !important;
  height: clamp(92px, 10vw, 150px) !important;
  right: -5% !important;
  top: 18% !important;
  background-image: url('../assets/images/botanical-icons/botanical-eucalyptus-branch.webp'), url('../assets/images/botanical-icons/botanical-eucalipto.webp') !important;
  animation: botanicalExtraFloatB 21s ease-in-out infinite !important;
}

.blog-main::before {
  width: clamp(104px, 12vw, 178px) !important;
  height: clamp(104px, 12vw, 178px) !important;
  left: 3vw !important;
  top: 18vh !important;
  background-image: url('../assets/images/botanical-icons/botanical-berries-branch.webp'), url('../assets/images/botanical-icons/botanical-bacche.webp') !important;
  animation: botanicalExtraFloatA 24s ease-in-out infinite !important;
}

.blog-main::after {
  width: clamp(110px, 13vw, 188px) !important;
  height: clamp(110px, 13vw, 188px) !important;
  right: 4vw !important;
  bottom: 16vh !important;
  background-image: url('../assets/images/botanical-icons/botanical-eucalyptus-branch.webp'), url('../assets/images/botanical-icons/botanical-eucalipto.webp') !important;
  animation: botanicalExtraFloatC 26s ease-in-out infinite !important;
}

.footer::before {
  width: clamp(72px, 8vw, 110px) !important;
  height: clamp(72px, 8vw, 110px) !important;
  left: 7% !important;
  bottom: 18px !important;
  background-image: url('../assets/images/botanical-icons/botanical-flower-single.webp'), url('../assets/images/botanical-icons/botanical-fiore-singolo.webp') !important;
  animation: botanicalExtraFloatB 18s ease-in-out infinite !important;
}

.footer::after {
  width: clamp(72px, 8vw, 116px) !important;
  height: clamp(72px, 8vw, 116px) !important;
  right: 7% !important;
  top: 18px !important;
  background-image: url('../assets/images/botanical-icons/botanical-olive-branch.webp'), url('../assets/images/botanical-icons/botanical-ulivo.webp') !important;
  animation: botanicalExtraFloatC 21s ease-in-out infinite !important;
}

/* Movimento generale dei layer fissi già presenti. */
body::before {
  animation: botanicalPageDriftA 34s ease-in-out infinite !important;
}

body::after {
  animation: botanicalPageDriftB 38s ease-in-out infinite !important;
}

@keyframes botanicalExtraFloatA {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-8deg) scale(1); opacity: 0.12; }
  38% { transform: translate3d(16px, -20px, 0) rotate(6deg) scale(1.05); opacity: 0.21; }
  72% { transform: translate3d(-10px, 12px, 0) rotate(-3deg) scale(0.98); opacity: 0.15; }
}

@keyframes botanicalExtraFloatB {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(7deg) scale(0.98); opacity: 0.115; }
  42% { transform: translate3d(-18px, -14px, 0) rotate(-5deg) scale(1.04); opacity: 0.2; }
  78% { transform: translate3d(12px, 14px, 0) rotate(5deg) scale(1.01); opacity: 0.145; }
}

@keyframes botanicalExtraFloatC {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-2deg) scale(1); opacity: 0.105; }
  45% { transform: translate3d(10px, -18px, 0) rotate(8deg) scale(1.06); opacity: 0.19; }
  80% { transform: translate3d(-16px, 9px, 0) rotate(-7deg) scale(0.99); opacity: 0.14; }
}

@keyframes botanicalPageDriftA {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(18px, -18px, 0) scale(1.015); }
}

@keyframes botanicalPageDriftB {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-16px, 14px, 0) scale(1.01); }
}

@media (max-width: 820px) {
  :root {
    --botanical-extra-opacity: 0.105;
  }
  .section > .container::before,
  .section > .container::after,
  .blog-main::before,
  .blog-main::after,
  .blog-list-section::before,
  .blog-list-section::after,
  .article-view::before,
  .article-view::after,
  .footer::before,
  .footer::after {
    width: 82px !important;
    height: 82px !important;
  }
  #manifesto .container::before,
  #about .container::before,
  #workshop .container::before,
  #cerchi .container::before,
  #progetti .container::before,
  #blog .container::before,
  #contatti .container::before {
    left: -3% !important;
  }
  #manifesto .container::after,
  #about .container::after,
  #workshop .container::after,
  #cerchi .container::after,
  #progetti .container::after,
  #blog .container::after,
  #contatti .container::after {
    right: -3% !important;
  }
}

@media (max-width: 560px) {
  :root {
    --botanical-extra-opacity: 0.075;
    --botanical-icon-opacity-soft: 0.12;
    --botanical-icon-opacity-strong: 0.2;
  }
  .section > .container::before,
  .section > .container::after,
  .footer::before,
  .footer::after {
    width: 64px !important;
    height: 64px !important;
  }
  .hero .container::before,
  .hero .container::after,
  #about .container::before,
  #workshop .container::after,
  #progetti .container::before,
  #contatti .container::after {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .section > .container::before,
  .section > .container::after,
  .blog-main::before,
  .blog-main::after,
  .blog-list-section::before,
  .blog-list-section::after,
  .article-view::before,
  .article-view::after,
  .footer::before,
  .footer::after,
  body::before,
  body::after {
    animation: none !important;
  }
}


/* Final cursor override — smaller asset + accurate hotspot */
html,
body,
* {
  cursor: url("../assets/images/cursor-salvia.png") 1 1, auto !important;
}

a,
button,
.btn,
summary,
.mobile-toggle,
.mobile-close,
input[type="submit"],
input[type="button"],
label[for],
select,
[role="button"] {
  cursor: url("../assets/images/cursor-salvia.png") 1 1, pointer !important;
}

@media (max-width: 560px) {
  html,
  body,
  *,
  a,
  button,
  .btn,
  summary,
  .mobile-toggle,
  .mobile-close,
  input[type="submit"],
  input[type="button"],
  label[for],
  select,
  [role="button"] {
    cursor: auto !important;
  }
}
