:root{
  --forest:#234331;--forest-deep:#122b20;--forest-soft:#315542;
  --sage:#91a38e;--sage-pale:#eef2eb;--terra:#b76a45;--terra-dark:#985236;
  --ivory:#fbfaf3;--paper:#fffef9;--ink:#242a25;--muted:#687169;
  --line:rgba(35,67,49,.14);--white:#fff;--shadow:0 24px 60px rgba(27,55,39,.12);
  --serif:Fraunces,Georgia,'Times New Roman',serif;--sans:Manrope,Arial,sans-serif;
  --shell:min(1200px,calc(100% - 48px));--radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.shell{width:var(--shell);margin-inline:auto}
.section{padding:104px 0}
.section-sm{padding:72px 0}
.eyebrow{margin:0 0 18px;color:var(--terra);font-size:.69rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.eyebrow.light{color:rgba(255,255,255,.75)}
.display,.section-title,h1,h2{margin:0;color:var(--forest);font-family:var(--serif);font-weight:300;line-height:.98;letter-spacing:-.035em}
.section-title{font-size:clamp(2.7rem,5vw,5.2rem)}
.section-lead{max-width:700px;margin:24px 0 0;color:var(--muted);font-size:1.06rem;line-height:1.85}
.muted{color:var(--muted)}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 23px;border:1px solid transparent;border-radius:999px;background:var(--terra);color:#fff!important;font-size:.74rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase;transition:transform .2s,background .2s,border-color .2s}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);background:var(--terra-dark)}
.btn.outline{border-color:rgba(255,255,255,.62);background:rgba(255,255,255,.08);color:#fff!important;backdrop-filter:blur(7px)}
.btn.light{background:#fff;color:var(--forest)!important}
.btn.forest{background:var(--forest)}
.text-link{display:inline-flex;align-items:center;gap:10px;padding-bottom:4px;border-bottom:1px solid currentColor;color:var(--forest);font-size:.8rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.text-link span{transition:transform .2s}.text-link:hover span{transform:translateX(4px)}

.site-header{position:sticky;z-index:80;top:0;background:rgba(251,250,243,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}
.site-header.overlay{position:absolute;width:100%;background:linear-gradient(rgba(10,25,17,.28),transparent);border:0;color:#fff}
.header-inner{display:flex;min-height:84px;align-items:center;gap:28px}
.brand{display:flex;flex-shrink:0;align-items:center;gap:12px;margin-right:auto}
.brand img{width:48px;height:48px;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-name{color:var(--forest);font-family:var(--serif);font-size:1.18rem;font-weight:400;letter-spacing:.04em}
.brand-tag{margin-top:7px;color:var(--muted);font-size:.55rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.site-header.overlay .brand-name,.site-header.overlay .brand-tag{color:#fff}
.nav{display:flex;align-items:center;gap:18px}
.nav a{position:relative;color:var(--forest);font-size:.68rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
.site-header.overlay .nav a{color:#fff}
.nav a:not(.area-soci):after{position:absolute;right:0;bottom:-8px;left:0;height:1px;background:currentColor;content:"";opacity:0;transform:scaleX(.4);transition:opacity .2s,transform .2s}
.nav a.active:after,.nav a:hover:after{opacity:.7;transform:none}
.nav .area-soci,.nav .area-soci:link,.nav .area-soci:visited,.nav .area-soci:hover,.nav .area-soci:focus,.nav .area-soci:active{padding:10px 15px;border-radius:999px;background:var(--forest)!important;color:#fff!important}
.site-header.overlay .nav .area-soci{border:1px solid rgba(255,255,255,.62);background:rgba(12,36,24,.52)!important}
.menu-toggle{display:none;width:44px;height:44px;padding:10px;border:0;background:transparent}
.menu-toggle span{display:block;width:24px;height:2px;margin:6px auto;border-radius:2px;background:var(--forest)}
.site-header.overlay .menu-toggle span{background:#fff}

.page-hero{position:relative;min-height:610px;display:flex;align-items:flex-end;overflow:hidden;background:var(--forest-deep);color:#fff}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,32,21,.82),rgba(10,32,21,.38) 56%,rgba(10,32,21,.12)),linear-gradient(0deg,rgba(8,24,16,.48),transparent 58%);content:""}
.page-hero-content{position:relative;z-index:2;max-width:850px;padding:104px 0 76px}
.page-hero h1{color:#fff;font-size:clamp(3.8rem,7vw,7.2rem)}
.page-hero .hero-intro{max-width:690px;margin:26px 0 0;color:rgba(255,255,255,.86);font-size:1.08rem;line-height:1.75;text-align:justify;text-justify:inter-word;hyphens:auto}
.hero-kicker{margin:0 0 17px;color:#efc6af;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}

.intro-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:center}
.intro-grid .section-title{font-size:clamp(2.8rem,4.7vw,4.9rem)}
.intro-copy{color:#526057;font-size:1.06rem;line-height:1.9;text-align:justify;text-justify:inter-word;hyphens:auto}
.intro-copy p{margin:0 0 19px}
.editorial-list{padding-bottom:28px}
.editorial-row{display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;align-items:center;margin-bottom:108px}
.editorial-row.reverse{grid-template-columns:.92fr 1.08fr}
.editorial-row.reverse .editorial-media{order:2}
.editorial-row.reverse .editorial-copy{order:1}
.editorial-media{margin:0;overflow:hidden;border-radius:var(--radius);background:var(--sage-pale);box-shadow:var(--shadow)}
.editorial-media img{width:100%;height:580px;object-fit:cover}
.editorial-copy .number{display:block;margin-bottom:34px;color:var(--terra);font-family:var(--serif);font-size:2.1rem;font-weight:300}
.editorial-copy h2{font-size:clamp(2.7rem,4.2vw,4.5rem)}
.editorial-copy p{max-width:530px;margin:24px 0 0;color:var(--muted);text-align:justify;text-justify:inter-word;hyphens:auto}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch;margin-top:45px}
.detail-card{min-height:260px;padding:31px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;text-align:center}
.detail-card .number{color:var(--terra);font-family:var(--serif);font-size:2rem}
.detail-card h3{margin:40px 0 12px;color:var(--forest);font-family:var(--serif);font-size:1.75rem;font-weight:400;line-height:1.1}
.detail-card p{width:100%;margin:0;color:var(--muted);font-size:.92rem;text-align:justify;text-justify:inter-word;hyphens:auto}
.photo-band{position:relative;min-height:670px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.photo-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-band:after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,29,19,.78),rgba(10,29,19,.08) 68%);content:""}
.photo-band-copy{position:relative;z-index:2;max-width:820px;padding-bottom:70px}
.photo-band h2{color:#fff;font-size:clamp(3.4rem,6vw,6.2rem)}
.photo-band p{max-width:620px;margin:24px 0 0;color:rgba(255,255,255,.78);text-align:justify;text-justify:inter-word;hyphens:auto}
.soft-section{background:var(--sage-pale)}
.dark-section{background:var(--forest-deep);color:#fff}
.dark-section .section-title{color:#fff}
.cta-band{padding:105px 24px;background:var(--forest);color:#fff;text-align:center}
.cta-band-inner{width:min(850px,94vw);margin:auto}
.cta-band h2{color:#fff;font-size:clamp(3.5rem,6.5vw,6.8rem)}
.cta-band p{max-width:650px;margin:25px auto 0;color:rgba(255,255,255,.72)}
.cta-band .button-row{justify-content:center}

.site-footer{background:var(--forest-deep);color:rgba(255,255,255,.7)}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:70px;padding:72px 0 52px}
.footer-identity{display:flex;align-items:flex-start;gap:15px}
.footer-identity img{width:52px;height:52px}
.footer-title{color:#fff;font-family:var(--serif);font-size:1.75rem;line-height:1.05}
.footer-tag{margin-top:8px;font-size:.61rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.footer-column strong{display:block;margin-bottom:18px;color:#fff;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}
.footer-column a{display:block;margin:9px 0;font-size:.83rem}
.footer-column a:hover{color:#fff}
.social-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.social-links a{display:inline-flex;margin:0;padding:7px 10px;border:1px solid rgba(255,255,255,.24);border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding:20px 0 28px;border-top:1px solid rgba(255,255,255,.12);font-size:.69rem}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}
:focus-visible{outline:3px solid rgba(183,106,69,.46);outline-offset:3px}

@media(max-width:1080px){
  .nav{gap:11px}.nav a{font-size:.61rem}.header-inner{gap:17px}
  .editorial-row,.editorial-row.reverse{gap:5vw}.footer-grid{gap:38px}
}
@media(max-width:880px){
  :root{--shell:min(100% - 34px,760px)}
  .section{padding:78px 0}.section-sm{padding:58px 0}
  .header-inner{min-height:74px}.brand img{width:42px;height:42px}.brand-name{font-size:1.05rem}
  .menu-toggle{position:relative;z-index:92;display:block}
  .nav{position:fixed;z-index:90;inset:0;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:22px;padding:96px 28px 40px;background:var(--ivory);opacity:0;pointer-events:none;transform:translateY(-16px);transition:opacity .25s,transform .25s}
  .nav.open{opacity:1;pointer-events:auto;transform:none}
  .nav a,.site-header.overlay .nav a{color:var(--forest);font-family:var(--serif);font-size:1.65rem;font-weight:400;letter-spacing:0;text-transform:none}
  .nav .area-soci,.site-header.overlay .nav .area-soci{margin-top:4px;border:0;background:var(--forest)!important;font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
  .site-header.overlay .menu-toggle.open span{background:var(--forest)}
  .intro-grid,.editorial-row,.editorial-row.reverse{grid-template-columns:1fr;gap:42px}
  .editorial-row{margin-bottom:78px}.editorial-row.reverse .editorial-media,.editorial-row.reverse .editorial-copy{order:initial}
  .editorial-media img{height:470px}.detail-grid{grid-template-columns:1fr 1fr}.detail-card:last-child{grid-column:1/-1}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:560px){
  :root{--shell:calc(100% - 28px);--radius:17px}
  .brand-copy{display:none}.page-hero{min-height:590px}.page-hero-content{padding:95px 0 58px}.page-hero h1{font-size:clamp(3.2rem,15vw,4.8rem)}
  .button-row{display:grid}.button-row .btn{width:100%}.section-title{font-size:2.8rem}
  .editorial-media img{height:390px}.detail-grid{grid-template-columns:1fr}.detail-card:last-child{grid-column:auto}
  .photo-band{min-height:560px}.photo-band h2{font-size:3.45rem}.cta-band{padding:78px 18px}.cta-band h2{font-size:3.5rem}
  .footer-grid{grid-template-columns:1fr;gap:34px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.text-link span{transition:none}}

/* Riassetto 2026: navigazione chiara e coerente su tutte le pagine */
.site-header.overlay{position:sticky;width:auto;background:rgba(251,250,243,.96);border-bottom:1px solid var(--line);color:var(--forest);backdrop-filter:blur(15px)}
.site-header.overlay .brand-name{color:var(--forest)}
.site-header.overlay .brand-tag{color:var(--muted)}
.site-header.overlay .nav a{color:var(--forest)}
.site-header.overlay .nav .area-soci{border:0;background:var(--forest)!important;color:#fff!important}
.site-header.overlay .menu-toggle span{background:var(--forest)}
.nav a{font-size:.72rem;letter-spacing:.065em}
.brand img,.footer-identity img{object-fit:contain}
.site-header img,.site-footer img{background:transparent}
.light-link{color:#fff}
.live-card p{margin:18px 0 0}

@media(max-width:1080px){
  .nav a{font-size:.64rem}
}

.photo-selection{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:32px}.photo-selection img{width:100%;height:330px;object-fit:cover;border-radius:18px}.photo-selection figure{margin:0}.photo-selection figcaption{padding-top:12px;color:var(--muted)}
.map-panel{min-height:330px;background:var(--sage-pale);border-radius:18px;padding:24px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center}.map-panel iframe{width:100%;height:360px;border:0;border-radius:12px}
@media(max-width:560px){.brand-copy{display:flex;flex-direction:column}.brand-name{font-size:1rem}.brand-tag{font-size:.58rem}.brand img{width:48px;height:48px}.photo-selection{grid-template-columns:1fr}.photo-selection img{height:280px}.nav a{font-size:.9rem}}

.nature-moment{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,96px)}.nature-moment img{width:100%;height:490px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.nature-moment p:not(.eyebrow){color:var(--muted);font-size:1.06rem;line-height:1.75}.nature-moment .text-link{display:inline-block;margin-top:16px}@media(max-width:880px){.nature-moment{grid-template-columns:1fr}.nature-moment img{height:430px}}@media(max-width:560px){.nature-moment img{height:300px}.nav{gap:17px;overflow-y:auto}.nav a,.site-header.overlay .nav a{font-size:1.45rem}}


/* Social bar consolidata 2026-09-27 */
.site-social-bar{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#f5efe3;
  border:0;
  box-shadow:none;
}
.site-social-inner{
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding-top:24px;
  padding-bottom:26px;
}
.site-social-title-row{
  width:min(100%,760px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
}
.site-social-title-row::before,.site-social-title-row::after{
  content:"";
  height:1px;
  flex:1 1 120px;
  max-width:150px;
  background:rgba(35,67,49,.38);
}
.site-social-label{
  margin:0;
  color:var(--forest);
  font-family:var(--sans);
  font-size:.92rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.085em;
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap;
}
.site-social-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:27px;
  flex-wrap:nowrap;
}
.site-social-link{
  display:inline-grid;
  place-items:center;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  line-height:1;
  transition:transform .18s ease,opacity .18s ease;
}
.site-social-link:hover,.site-social-link:focus-visible{transform:translateY(-2px);opacity:.9}
.site-social-link:focus-visible{outline:2px solid rgba(35,67,49,.55);outline-offset:5px;border-radius:50%}
.social-brand{
  width:42px;
  height:42px;
  display:inline-grid;
  place-items:center;
  flex:0 0 42px;
  border-radius:12px;
  color:#fff;
  box-shadow:0 3px 10px rgba(24,45,33,.13);
}
.social-brand svg{width:27px;height:27px;display:block}
.social-instagram{background:radial-gradient(circle at 32% 105%,#feda75 0 20%,#fa7e1e 34%,#d62976 58%,#962fbf 77%,#4f5bd5 100%)}
.social-facebook{background:#1877f2;border-radius:50%}
.social-x{background:#050505;border-radius:50%}
.social-threads{background:#050505;border-radius:50%}
.social-whatsapp{background:#25d366;border-radius:50%}
.social-maps{background:#4285f4;border-radius:50%}
@media(max-width:560px){
  .site-social-inner{gap:14px;padding-top:21px;padding-bottom:23px}
  .site-social-title-row{gap:14px;padding:0 8px}
  .site-social-title-row::before,.site-social-title-row::after{max-width:82px}
  .site-social-label{font-size:.78rem;letter-spacing:.075em}
  .site-social-links{width:100%;gap:22px}
  .social-brand{width:40px;height:40px;flex-basis:40px}
  .social-brand svg{width:25px;height:25px}
}
@media(max-width:380px){
  .site-social-links{gap:17px}
  .social-brand{width:37px;height:37px;flex-basis:37px}
  .social-brand svg{width:23px;height:23px}
  .site-social-title-row::before,.site-social-title-row::after{max-width:58px}
}


/* v2.4 — evita che vecchi widget HTML iniettati dai plugin riaprano spazio
   sotto il footer del nuovo tema. Script, stili, admin bar e reCAPTCHA restano attivi. */
.odv-wp-footer-hooks{display:contents}
.odv-wp-footer-hooks > :not(script):not(style):not(link):not(#wpadminbar):not(.grecaptcha-badge){display:none!important}
/* Widget flottanti legacy più comuni: il nuovo sito usa i propri contatti. */
.call-now-button,.wp-call-button,.joinchat,.ht-ctc,.qlwapp,.click-to-call,.sticky-call-button{display:none!important}
/* v2.4 — rimuove i vecchi richiami telefonici/flottanti del sito precedente. */
.odv-wp-footer-hooks a[href^="tel:"],body>a[href^="tel:"],body>div>a[href^="tel:"]{display:none!important}
body>[class*="call-now"],body>[class*="call_button"],body>[class*="phone-widget"],body>[id*="call-now"],body>[id*="phone-widget"]{display:none!important}

/* v2.5: entire mobile navigation stays scrollable on short screens. */
@media(max-width:880px){
  .nav{justify-content:flex-start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
    height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;
    padding:calc(90px + env(safe-area-inset-top)) 28px calc(30px + env(safe-area-inset-bottom));
    gap:16px;-webkit-overflow-scrolling:touch}
  .nav a{flex:none;white-space:normal;line-height:1.25}
  .site-header{z-index:1003}
  body > .nav{z-index:1002}
  #odv-page .nav{justify-content:flex-start;overflow-y:auto}
}
