
:root{
  --brand:#79d43d;
  --brand-dark:#55a927;
  --brand-soft:#effbe7;
  --ink:#0d131a;
  --muted:#56585e;
  --surface:#ffffff;
  --surface-soft:#f6f8f4;
  --dark:#242326;
  --shadow-sm:0 8px 24px rgba(13,19,26,.08);
  --shadow-md:0 18px 46px rgba(13,19,26,.14);
}
html{scroll-behavior:smooth}
body{color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{color:var(--ink);background:rgba(121,212,61,.45)}
a,button{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(121,212,61,.58)!important;outline-offset:3px}

.block-header{position:relative;z-index:50;border-bottom:1px solid rgba(13,19,26,.07);box-shadow:0 2px 14px rgba(13,19,26,.04)}
.block-header--scrolled{box-shadow:0 10px 34px rgba(13,19,26,.12)}
.block-header-logo__image{filter:drop-shadow(0 3px 7px rgba(13,19,26,.12))}
.block-header-item__item{position:relative}
.block-header-item__item::after{content:"";position:absolute;right:0;bottom:-8px;left:0;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.block-header-item__label:hover .block-header-item__item::after,.item-content-wrapper--active::after{transform:scaleX(1)}

.grid-button{box-shadow:0 8px 20px rgba(13,19,26,.13);font-weight:600!important;letter-spacing:.01em}
.grid-button:hover,.grid-button:focus-visible{transform:translateY(-2px);box-shadow:0 13px 28px rgba(13,19,26,.19)}
.grid-button--primary:not(.block-header__button)::after{content:"  →";font-size:1.08em}
.block-header__button{border-color:var(--brand)!important;background:var(--brand)!important;color:#fff!important}
.block-header__button:hover{border-color:var(--ink)!important;background:var(--ink)!important}

.image-wrapper,.grid-gallery-grid__image-wrapper,.grid-gallery-masonry__image-wrapper{overflow:hidden;border-radius:16px;box-shadow:var(--shadow-sm)}
.image-wrapper img,.grid-gallery-grid__image,.grid-gallery-masonry__image{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.image-wrapper:hover img,.grid-gallery-grid__image-wrapper:hover img,.grid-gallery-masonry__image-wrapper:hover img{transform:scale(1.035);filter:saturate(1.05) contrast(1.02)}
.text-box h1,.text-box h2,.text-box h3,.text-box h4,.text-box h5{letter-spacing:-.025em}
.page-index .page__blocks>.block:first-child h1,
.page-index .page__blocks>.block:first-child h1 span{color:#fff!important;text-shadow:0 3px 22px rgba(0,0,0,.44)}
.page-index #zXSNwo h2,.page-index #zXSNwo h2 span{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.58)}
.page-index .page__blocks>.block:first-child h1~* p,
.page-index .page__blocks>.block:first-child .text-box p{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.48)}

.grid-map{min-height:420px;overflow:hidden;border:4px solid #fff;border-radius:18px;box-shadow:var(--shadow-md);background:var(--brand-soft)}
.grid-map__frame{display:block;min-height:420px;border:0}
.grid-map__pin{display:none!important}

.form__control input,.form__control textarea{box-shadow:inset 0 0 0 1px rgba(13,19,26,.03);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.form__control input:focus,.form__control textarea:focus{border-color:var(--brand)!important;box-shadow:0 0 0 4px rgba(121,212,61,.18)!important}
.contact-link{display:inline-flex;align-items:center;gap:.45em;color:inherit;text-decoration:none}
.contact-link::before{display:inline-grid;width:1.65em;height:1.65em;place-items:center;border-radius:50%;color:var(--ink);background:var(--brand);font-size:.78em;font-weight:700}
.contact-link--email::before{content:"@"}
.contact-link--phone::before{content:"☎"}

.block--footer{position:relative;border-top:5px solid var(--brand);background:var(--dark)!important}
.block--footer .block-background{--v4cfc8878:var(--dark)!important;background:var(--dark)!important}
.block--footer,.block--footer p,.block--footer span,.block--footer label,.block--footer .body,.block--footer .body-small{color:#fff!important}
.block--footer h1,.block--footer h2,.block--footer h3,.block--footer h4,.block--footer h5,.block--footer h6,.block--footer strong{color:var(--brand)!important}
.block--footer a{color:#fff!important;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:4px}
.block--footer a:hover,.block--footer a:focus-visible{color:var(--brand)!important;text-decoration-color:var(--brand)}
.block--footer .social-icons__link{display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.07)}
.block--footer .social-icons__link:hover{border-color:var(--brand);background:var(--brand);transform:translateY(-2px)}
.block--footer .social-icons__link svg,.block--footer .social-icons__link path{fill:#fff!important;color:#fff!important}
.block--footer .form__button{background:var(--brand)!important;color:var(--ink)!important;font-weight:700!important}
.block--footer .form__button:hover{background:#fff!important;color:var(--ink)!important}
.block--footer .contact-link::before{background:var(--brand);color:var(--ink)}

.whats-app-bubble{border:3px solid #fff!important;background:#25d366;box-shadow:0 12px 32px rgba(13,19,26,.28)!important}
.whats-app-bubble::before{content:"Scrivici";position:absolute;right:72px;top:50%;padding:8px 12px;border-radius:999px;color:#fff;background:var(--ink);font:600 13px/1 sans-serif;white-space:nowrap;opacity:0;transform:translate(8px,-50%);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.whats-app-bubble:hover::before,.whats-app-bubble:focus-visible::before{opacity:1;transform:translate(0,-50%)}

.site-effects-ready .site-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.site-effects-ready .site-reveal.is-visible{opacity:1;transform:none}

@media (max-width:920px){
  .block-header{box-shadow:0 5px 20px rgba(13,19,26,.09)}
  .block-header-item__item::after{display:none}
  .image-wrapper,.grid-gallery-grid__image-wrapper,.grid-gallery-masonry__image-wrapper{border-radius:12px}
  .grid-map,.grid-map__frame{min-height:340px}
  .whats-app-bubble::before{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .site-effects-ready .site-reveal{opacity:1;transform:none}
}
