@font-face{font-family:"Playfair Display";src:url("assets/fonts/PlayfairDisplay-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("assets/fonts/PlayfairDisplay-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("assets/fonts/PlayfairDisplay-Italic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Lato";src:url("assets/fonts/Lato-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("assets/fonts/Lato-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("assets/fonts/Lato-Semibold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("assets/fonts/Lato-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
:root{
  --forest:#254d3a;--forest-2:#315d46;--sage:#7d956b;--sage-light:#dfe5d3;
  --cream:#f7f3e9;--paper:#fffdf7;--gold:#b6a16a;--ink:#1b2922;--muted:#657168;
  --line:rgba(37,77,58,.16);--shadow:0 24px 70px rgba(31,58,43,.12);
  --radius:28px;--serif:"Playfair Display",Georgia,serif;--sans:"Lato",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.section{padding:110px 0}.section-light{background:var(--cream)}
.skip-link{position:fixed;left:16px;top:-60px;background:var(--forest);color:#fff;padding:10px 16px;border-radius:10px;z-index:100}.skip-link:focus{top:16px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,247,.9);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{border-color:var(--line);box-shadow:0 8px 30px rgba(0,0,0,.04)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;flex-direction:column;line-height:.95}.brand-mark{font-size:31px;font-weight:700;letter-spacing:-2px;color:var(--forest)}.brand-sub{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--gold);margin-left:27px;margin-top:4px}
.nav-menu{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600}.nav-menu>a{position:relative}.nav-menu>a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--forest);transition:.25s}.nav-menu>a:not(.nav-cta):hover:after{width:100%}.nav-cta{background:var(--forest);color:white;padding:12px 18px;border-radius:999px}.menu-toggle{display:none;border:0;background:none;width:45px;height:45px;padding:10px}.menu-toggle span{display:block;height:2px;background:var(--forest);margin:5px 0;border-radius:4px;transition:.25s}
.hero{min-height:calc(100vh - 82px);display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,#fbf8f0 0%,#f3f0e5 65%,#e7eadb 100%);position:relative}.hero-grid{display:grid;grid-template-columns:1fr .86fr;gap:70px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;color:var(--forest-2);margin:0 0 18px}.hero h1,.section-heading h2,.content-block h2,.role-copy h2,.contact-copy h2{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(52px,7vw,86px);color:var(--forest)}h1 em,h2 em{color:var(--gold);font-weight:500}.hero-text{max-width:590px;font-size:18px;color:var(--muted);margin:28px 0}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 22px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:13px;cursor:pointer;transition:.25s}.btn-primary{background:var(--forest);color:#fff;box-shadow:0 12px 25px rgba(37,77,58,.18)}.btn-primary:hover{transform:translateY(-2px);background:#1b3c2c}.btn-outline{border-color:rgba(255,255,255,.4);color:#fff}.btn-outline:hover{background:#fff;color:var(--forest)}.text-link{font-size:13px;font-weight:700;color:var(--forest);display:inline-flex;gap:12px;align-items:center}.text-link.dark{color:var(--forest)}.hero-trust{display:flex;gap:25px;margin-top:42px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.hero-trust b{color:var(--gold);margin-right:6px}
.hero-visual{position:relative}.hero-frame{aspect-ratio:4/5;border-radius:180px 180px 34px 34px;overflow:hidden;box-shadow:0 24px 70px rgba(31,58,43,.12);border:0;background:#dce3d4;position:relative}.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}.hero-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),inset 0 -18px 34px rgba(247,243,233,.16)}.floating-card{position:absolute;left:-36px;bottom:38px;background:rgba(255,253,247,.94);border:1px solid rgba(255,255,255,.8);box-shadow:0 18px 45px rgba(37,77,58,.15);border-radius:18px;padding:15px 18px;display:flex;gap:12px;align-items:center}.floating-card small,.floating-card strong{display:block}.floating-card strong{font-size:12px}.floating-card small{font-family:var(--serif);font-size:15px;color:var(--gold);font-style:italic}.floating-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--sage-light);color:var(--forest)}
.hero-leaf{position:absolute;border:1px solid rgba(37,77,58,.12);border-radius:100% 0 100% 0;width:180px;height:280px;opacity:.35;transform:rotate(20deg)}.hero-leaf-a{left:-110px;top:20%}.hero-leaf-b{right:-100px;bottom:-100px;transform:rotate(-25deg)}
.statement{background:var(--forest);color:#fff}.statement-inner{min-height:180px;display:grid;grid-template-columns:80px 1fr 100px;align-items:center}.statement p{font-family:var(--serif);font-size:clamp(25px,3.5vw,42px);line-height:1.25;margin:0;max-width:800px}.statement p em{color:#d9d8b9}.section-number{font-size:12px;letter-spacing:.15em;color:#c7cfb8}.statement-leaf{font-size:65px;color:var(--gold);text-align:right;transform:rotate(-20deg)}
.split-grid{display:grid;grid-template-columns:.9fr 1fr;gap:90px;align-items:center}.image-card{position:relative}.image-card>img{width:100%;height:auto;max-height:none;display:block;object-fit:contain;border-radius:32px;box-shadow:0 18px 55px rgba(31,58,43,.10)}.image-badge{position:absolute;bottom:24px;left:24px;background:var(--forest);color:#fff;padding:16px 20px;border-radius:16px;display:flex;flex-direction:column}.image-badge strong{font-size:22px;letter-spacing:-1px}.image-badge span{font-family:var(--serif);font-style:italic;color:#d8c990}.content-block h2,.role-copy h2,.contact-copy h2{font-size:clamp(40px,5vw,62px);color:var(--forest)}.content-block p,.role-copy>p,.contact-copy>p{color:var(--muted);font-size:16px;max-width:620px}.section-heading h2{font-size:clamp(40px,5vw,64px);color:var(--forest)}.section-heading>p:last-child{color:var(--muted);max-width:600px}.centered{text-align:center}.centered>p:last-child{margin-inline:auto}
.approach{background:#f4f1e7}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}.step-card{background:#fffdf8;border:1px solid var(--line);border-radius:28px;padding:34px;min-height:300px;position:relative;transition:.35s}.step-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.step-card.featured{background:var(--forest);color:#fff;transform:translateY(-14px)}.step-card.featured:hover{transform:translateY(-20px)}.step-num{position:absolute;right:25px;top:24px;font-size:11px;color:var(--gold);letter-spacing:.1em}.step-icon{font-size:38px;color:var(--gold);margin-bottom:45px}.step-card h3{font-family:var(--serif);font-size:30px;font-weight:500;margin:0 0 10px}.step-card p{margin:0;color:var(--muted)}.featured p{color:#d9e1d6}
.pathways{background:#fbf9f2}.path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:50px}.path-card{min-height:300px;padding:28px;border:1px solid var(--line);border-radius:25px;position:relative;background:#fffdf7;transition:.3s}.path-card:hover{transform:translateY(-5px);border-color:rgba(37,77,58,.35);box-shadow:var(--shadow)}.path-icon{font-size:31px;color:var(--sage)}.path-card h3{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.15;margin:55px 0 10px;color:var(--forest)}.path-card p{color:var(--muted);font-size:14px}.arrow{position:absolute;bottom:22px;right:25px;color:var(--gold)}
.dual-role{background:var(--forest);color:#fff}.role-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:center}.role-copy .eyebrow{color:#c7cfb8}.role-copy h2{color:#fff}.role-copy>p{color:#d7dfd7}.role-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.role-pills span{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:7px 12px;font-size:11px;color:#dce4d9}.role-panel{border:1px solid rgba(255,255,255,.18);border-radius:30px;padding:35px;background:rgba(255,255,255,.05)}.role-panel-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.15em;color:#c7cfb8}.role-panel h3{font-family:var(--serif);font-size:34px;line-height:1.15;font-weight:500;margin:70px 0 14px}.role-panel p{color:#d7dfd7;font-size:14px;margin-bottom:28px}
.content-heading{display:flex;justify-content:space-between;align-items:end}.content-grid{display:grid;grid-template-columns:1.25fr .75fr .6fr;gap:18px;margin-top:45px}.content-card{background:#fff;border-radius:26px;overflow:hidden;border:1px solid var(--line)}.content-card img{width:100%;height:280px;object-fit:cover}.content-card.large img{height:390px}.content-card-body{padding:22px}.content-card-body>span{font-size:10px;letter-spacing:.15em;color:var(--gold);font-weight:700}.content-card-body h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2;margin:10px 0 18px;color:var(--forest)}.content-card-body a{font-size:12px;font-weight:700;color:var(--forest)}.mini-note{background:var(--forest);border-radius:26px;padding:30px;color:#fff;display:flex;flex-direction:column;justify-content:center}.quote{font-family:var(--serif);font-size:70px;color:var(--gold);height:50px}.mini-note p{font-family:var(--serif);font-size:27px;line-height:1.25}.mini-note>span:last-child{font-size:11px;color:#cdd6cc}
.testimonials{background:#f6f3e9}.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:45px}.testimonial{margin:0;background:#fffdf8;border:1px solid var(--line);padding:35px;border-radius:26px}.testimonial>span{color:var(--gold);letter-spacing:3px}.testimonial p{font-family:var(--serif);font-size:25px;line-height:1.35;color:var(--forest)}.testimonial footer{font-size:12px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.contact-direct{display:grid;gap:12px;margin-top:35px}.direct-item{display:grid;grid-template-columns:45px 1fr 20px;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.direct-item small,.direct-item strong{display:block}.direct-item small{font-size:10px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase}.direct-item strong{font-size:14px}.direct-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#e2e8d8;color:var(--forest)}.direct-item b{color:var(--gold)}.contact-form{background:#fff;border-radius:30px;padding:35px;box-shadow:var(--shadow);border:1px solid var(--line)}.form-top{display:flex;justify-content:space-between;color:var(--gold);font-size:10px;letter-spacing:.18em;margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:12px;font-weight:700;color:var(--forest);margin-bottom:18px}input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);background:#fbfaf5;border-radius:13px;padding:13px 14px;outline:none;color:var(--ink);transition:.2s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(37,77,58,.08)}.check{display:flex;align-items:flex-start;gap:8px;font-weight:400;color:var(--muted);font-size:11px}.check input{width:auto;margin:3px 0 0}.form-submit{width:100%;border:0}.form-status{font-size:12px;margin:12px 0 0;color:var(--forest);min-height:18px}
.footer{background:#182d22;color:#dbe3da;padding:65px 0 25px}.footer-main{display:grid;grid-template-columns:1fr 1fr auto;gap:40px;align-items:start}.footer-brand .brand-mark{color:#fff}.footer-brand .brand-sub{color:#c4b375}.footer-main p{font-size:12px;color:#aebbb0}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:12px}.footer-links a:hover{color:#fff}.socials{display:flex;gap:8px}.socials a{width:35px;height:35px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:grid;place-items:center;font-size:10px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:45px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:10px;color:#91a195}.disclaimer{max-width:450px}
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:40;background:#1f6d48;color:#fff;border-radius:999px;padding:9px 15px 9px 10px;display:flex;align-items:center;gap:9px;box-shadow:0 12px 35px rgba(0,0,0,.2);font-weight:700}.whatsapp-float span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#1f6d48;font-size:11px}.whatsapp-float small{font-size:11px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}.reveal-delay{transition-delay:.12s}
@media(max-width:980px){.nav-menu{gap:15px}.hero-grid,.role-grid{grid-template-columns:1fr;gap:45px}.hero{padding:80px 0}.hero-visual{width:min(650px,100%);margin:auto}.hero-frame{max-height:650px}.floating-card{left:15px}.split-grid{grid-template-columns:1fr;gap:50px}.path-grid{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr 1fr}.content-card.large{grid-row:span 2}.mini-note{min-height:260px}.contact-grid{grid-template-columns:1fr;gap:45px}}
@media(max-width:760px){.container{width:min(100% - 28px,600px)}.section{padding:78px 0}.nav{height:72px}.menu-toggle{display:block}.nav-menu{position:absolute;left:14px;right:14px;top:65px;display:none;flex-direction:column;align-items:stretch;padding:18px;background:rgba(255,253,247,.98);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.nav-menu.open{display:flex}.nav-menu a{padding:10px 8px}.nav-cta{text-align:center}.hero{min-height:auto;padding:65px 0 85px}.hero-grid{gap:35px}.hero h1{font-size:52px}.hero-text{font-size:16px}.hero-trust{gap:12px;flex-wrap:wrap}.hero-frame{aspect-ratio:4/5;border-radius:120px 120px 25px 25px}.floating-card{bottom:20px;left:8px}.statement-inner{min-height:155px;grid-template-columns:45px 1fr}.statement-leaf{display:none}.statement p{font-size:26px}.steps,.testimonial-grid,.form-row{grid-template-columns:1fr}.step-card.featured{transform:none}.step-card.featured:hover{transform:translateY(-7px)}.path-grid{grid-template-columns:1fr}.path-card{min-height:250px}.content-heading{display:block}.desktop-only{display:none}.content-grid{grid-template-columns:1fr}.content-card.large{grid-row:auto}.content-card.large img,.content-card img{height:auto;max-height:none}.mini-note{min-height:220px}.footer-main{grid-template-columns:1fr}.footer-links{gap:14px}.footer-bottom{display:block}.footer-bottom>*{display:block;margin-top:8px}.whatsapp-float{right:12px;bottom:12px}.contact-form{padding:25px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.step-card,.path-card{transition:none}}

/* =========================
   SERVIZI
   ========================= */

.services-grid{
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.services-grid .path-card{
  min-height:345px;
  display:flex;
  flex-direction:column;
}

.services-grid .path-card:nth-child(4),
.services-grid .path-card:nth-child(5){
  min-height:320px;
}

.service-note{
  margin-top:auto;
  padding-top:18px;
  color:var(--sage);
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  max-width:90%;
}

@media(max-width:980px){
  .services-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .services-grid{
    grid-template-columns:1fr;
  }

  .services-grid .path-card,
  .services-grid .path-card:nth-child(4),
  .services-grid .path-card:nth-child(5){
    min-height:290px;
  }
}

/* =========================
   V3 - SERVIZI / HOVER
   ========================= */

.services-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}

.services-grid .path-card{
  min-height:380px;
  filter:grayscale(1);
  opacity:.72;
  transform:scale(.985);
  transition:
    transform .35s ease,
    filter .35s ease,
    opacity .35s ease,
    background-color .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}

.services-grid .path-card:hover{
  filter:grayscale(0);
  opacity:1;
  transform:scale(1.025) translateY(-7px);
  border-color:rgba(37,77,58,.35);
  box-shadow:var(--shadow);
  z-index:2;
}

.services-grid .path-card:hover .path-icon,
.services-grid .path-card:hover h3,
.services-grid .path-card:hover .arrow{
  color:var(--forest);
}

.service-note{
  margin-top:auto;
  padding-top:18px;
  color:var(--sage);
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  max-width:90%;
}

/* =========================
   V3 - APPROCCIO
   ========================= */

.approach{
  background:#fff;
}

.approach .step-card{
  background:#fff;
  color:var(--ink);
  border:1px solid var(--line);
  transform:none;
  transition:
    background-color .35s ease,
    color .35s ease,
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}

.approach .step-card:hover,
.approach .step-card.featured:hover{
  background:var(--forest);
  color:#fff;
  border-color:var(--forest);
  transform:translateY(-7px);
  box-shadow:var(--shadow);
}

.approach .step-card:hover p,
.approach .step-card.featured:hover p{
  color:#d9e1d6;
}

.approach .step-card:hover h3,
.approach .step-card:hover .step-icon{
  color:#fff;
}

.approach .step-card:hover .step-num{
  color:#d8c990;
}

/* =========================
   V3 - DECORAZIONI HERO
   ========================= */

.statement-leaf{
  width:62px;
  height:78px;
  position:relative;
  border:1px solid rgba(182,161,106,.55);
  border-radius:100% 0 100% 0;
  transform:rotate(-28deg);
  opacity:.8;
}

.statement-leaf::after{
  content:"";
  position:absolute;
  width:1px;
  height:92px;
  background:rgba(182,161,106,.55);
  left:50%;
  top:-7px;
  transform:rotate(28deg);
}

/* Evita sovrapposizioni decorative sull'immagine */
.image-card .image-badge{
  display:none;
}

/* =========================
   V3 - SOCIAL / WHATSAPP
   ========================= */

.socials a{
  overflow:hidden;
}

.socials a img{
  width:16px;
  height:16px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  transition:transform .25s ease, opacity .25s ease;
}

.socials a:hover img{
  transform:scale(1.12);
  opacity:.9;
}

.whatsapp-float{
  padding:9px 15px 9px 10px;
}

.whatsapp-float img{
  width:32px;
  height:32px;
  object-fit:contain;
  background:#fff;
  border-radius:50%;
  padding:6px;
}

/* =========================
   V3 - MOBILE
   ========================= */

@media(max-width:980px){
  .services-grid{
    grid-template-columns:1fr 1fr;
  }

  .services-grid .path-card{
    min-height:350px;
  }
}

@media(max-width:760px){
  .services-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .services-grid .path-card{
    min-height:300px;
    opacity:1;
    filter:grayscale(0);
    transform:none;
  }

  .services-grid .path-card:hover{
    transform:translateY(-4px);
  }

  /* Sul telefono il colore è già attivo: non obblighiamo l'utente al mouse. */
  .approach .step-card,
  .approach .step-card.featured{
    min-height:280px;
  }

  .approach .step-card:active{
    background:var(--forest);
    color:#fff;
  }

  .statement-inner{
    grid-template-columns:35px 1fr;
  }

  .statement-leaf{
    width:45px;
    height:60px;
  }

  .statement-leaf::after{
    height:72px;
  }
}

/* V4 - Percorsi: stesso effetto verde dell'Approccio */
.pathways .path-card{
  background:#fff;
  color:var(--ink);
}

.pathways .path-card:hover,
.pathways .path-card:focus-within{
  background:var(--forest);
  color:#fff;
  border-color:var(--forest);
  filter:grayscale(0);
  opacity:1;
}

.pathways .path-card:hover h3,
.pathways .path-card:hover .path-icon,
.pathways .path-card:hover .arrow,
.pathways .path-card:focus-within h3,
.pathways .path-card:focus-within .path-icon,
.pathways .path-card:focus-within .arrow{
  color:#fff;
}

.pathways .path-card:hover p,
.pathways .path-card:focus-within p{
  color:#d9e1d6;
}

.pathways .path-card:hover .service-note,
.pathways .path-card:focus-within .service-note{
  color:#d8c990;
}

/* Su mobile il "verde attivo" viene applicato al tocco */
@media(max-width:760px){
  .pathways .path-card:active,
  .pathways .path-card:focus{
    background:var(--forest);
    color:#fff;
    border-color:var(--forest);
  }

  .pathways .path-card:active h3,
  .pathways .path-card:active .path-icon,
  .pathways .path-card:active .arrow,
  .pathways .path-card:focus h3,
  .pathways .path-card:focus .path-icon,
  .pathways .path-card:focus .arrow{
    color:#fff;
  }

  .pathways .path-card:active p,
  .pathways .path-card:focus p{
    color:#d9e1d6;
  }
}

/* Menu compatto */
.nav-menu > a:not(.nav-cta){
  white-space:nowrap;
}

/* V5 - niente elemento sovrapposto all'immagine hero */
.statement-leaf{display:none!important;}
.statement{position:relative;z-index:1;}
.hero{position:relative;z-index:2;}

/* FINAL - social icons from the supplied reference */
.socials{display:flex;gap:12px}
.socials a{
  width:42px;height:42px;border:1px solid rgba(37,77,58,.30);
  border-radius:50%;display:grid;place-items:center;
  background:var(--cream);color:var(--forest);
  transition:background-color .25s ease,border-color .25s ease,transform .25s ease;
}
.socials a img{
  width:22px;height:22px;object-fit:contain;filter:none;
  transition:filter .25s ease,transform .25s ease;
}
.socials a:hover{
  background:var(--forest);border-color:var(--forest);transform:translateY(-2px);
}
.socials a:hover img{filter:brightness(0) invert(1);transform:scale(1.08)}

.whatsapp-float img{
  width:32px;height:32px;object-fit:contain;background:var(--cream);
  border-radius:50%;padding:6px;transition:background-color .25s ease,filter .25s ease;
}
.whatsapp-float:hover img{background:var(--forest);filter:brightness(0) invert(1)}

.hero-visual .floating-card,
.hero-visual .statement-leaf{display:none!important}

@media(max-width:760px){
  .socials a{width:40px;height:40px}
}

/* SOCIAL BAR - optional channels */
.socials{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
.socials a{
  width:42px;
  height:42px;
  border:1px solid rgba(37,77,58,.28);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--cream);
  color:var(--forest);
  transition:background-color .25s ease,border-color .25s ease,transform .25s ease;
}
.socials a img{
  width:22px;
  height:22px;
  object-fit:contain;
  filter:none;
  transition:filter .25s ease,transform .25s ease;
}
.socials a:hover{
  background:var(--forest);
  border-color:var(--forest);
  transform:translateY(-2px);
}
.socials a:hover img{
  filter:brightness(0) invert(1);
  transform:scale(1.08);
}

/* WhatsApp floating button: cream circle + green logo normally;
   green circle + white logo on hover. */
.whatsapp-float{
  background:#1f6d48;
  color:#fff;
}
.whatsapp-float img{
  width:32px;
  height:32px;
  object-fit:contain;
  background:var(--cream);
  border-radius:50%;
  padding:6px;
  filter:none;
  transition:background-color .25s ease,filter .25s ease,transform .25s ease;
}
.whatsapp-float:hover img{
  background:var(--forest);
  filter:brightness(0) invert(1);
  transform:scale(1.04);
}

@media(max-width:760px){
  .socials{
    justify-content:flex-start;
    gap:9px;
  }
  .socials a{
    width:40px;
    height:40px;
  }
}

/* WhatsApp hover fix: the circular icon background changes to green,
   while the WhatsApp mark changes to white. */
.whatsapp-float .wa-icon{
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--cream);
  display:grid;
  place-items:center;
  position:relative;
  flex:0 0 32px;
  transition:background-color .25s ease;
}
.whatsapp-float .wa-icon img{
  position:absolute;
  width:32px;
  height:32px;
  padding:6px;
  border-radius:50%;
  object-fit:contain;
  background:transparent;
  transition:opacity .2s ease;
}
.whatsapp-float .wa-normal{opacity:1}
.whatsapp-float .wa-hover{opacity:0}
.whatsapp-float:hover .wa-icon{
  background:var(--forest);
}
.whatsapp-float:hover .wa-normal{opacity:0}
.whatsapp-float:hover .wa-hover{opacity:1}

/* SEO local copy: useful, readable content for visitors and search engines */
.seo-local-copy{
  background:var(--paper);
  padding:42px 0 24px;
  border-top:1px solid var(--line);
}
.seo-local-copy h2{
  font-family:var(--serif);
  font-weight:500;
  color:var(--forest);
  font-size:28px;
  margin:0 0 10px;
}
.seo-local-copy p{
  max-width:900px;
  color:var(--muted);
  font-size:13px;
  margin:0;
}
@media(max-width:760px){
  .seo-local-copy{padding:32px 0 20px}
  .seo-local-copy h2{font-size:24px}
}

.legal-disclaimer{padding:42px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.legal-disclaimer h2{font-family:var(--serif);font-weight:500;color:var(--forest);margin:0 0 12px}.legal-disclaimer p{max-width:900px;color:var(--muted);font-size:13px;margin:8px 0}.footer-bottom a{text-decoration:underline;text-underline-offset:2px}


/* STRUTTURA MENU + CONTATTO WHATSAPP — revisione agosto 2026 */
.nav-menu > a:not(.nav-cta){
  color:var(--gold);
  transition:color .22s ease, background-color .22s ease, transform .22s ease;
}
.nav-menu > a:not(.nav-cta)::after{
  background:var(--forest);
  height:2px;
  bottom:-8px;
  width:0;
  transition:width .22s ease;
}
.nav-menu > a:not(.nav-cta):hover,
.nav-menu > a:not(.nav-cta):focus-visible{
  color:var(--forest);
}
.nav-menu > a:not(.nav-cta):hover::after,
.nav-menu > a:not(.nav-cta):focus-visible::after,
.nav-menu > a:not(.nav-cta).active::after{
  width:100%;
}
.nav-menu > a:not(.nav-cta).active{
  color:var(--forest);
  font-weight:700;
}
.nav-menu > a:not(.nav-cta):focus-visible{
  outline:2px solid rgba(182,161,106,.45);
  outline-offset:5px;
  border-radius:4px;
}

/* WhatsApp nel blocco contatti: stessa icona del pulsante fisso */
.direct-item.whatsapp .wa-direct-icon{
  position:relative;
  overflow:hidden;
  background:var(--cream);
  color:var(--forest);
  transition:background-color .25s ease, transform .25s ease;
}
.direct-item.whatsapp .wa-direct-icon img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:7px;
  object-fit:contain;
  transition:opacity .2s ease, transform .25s ease;
}
.direct-item.whatsapp .wa-direct-normal{opacity:1}
.direct-item.whatsapp .wa-direct-hover{opacity:0}
.direct-item.whatsapp:hover .wa-direct-icon,
.direct-item.whatsapp:focus-visible .wa-direct-icon{
  background:var(--forest);
  transform:translateY(-1px);
}
.direct-item.whatsapp:hover .wa-direct-normal,
.direct-item.whatsapp:focus-visible .wa-direct-normal{opacity:0}
.direct-item.whatsapp:hover .wa-direct-hover,
.direct-item.whatsapp:focus-visible .wa-direct-hover{opacity:1}
.direct-item.whatsapp:hover strong,
.direct-item.whatsapp:focus-visible strong{color:var(--forest)}

@media(max-width:760px){
  .nav-menu > a:not(.nav-cta){
    color:var(--forest);
  }
  .nav-menu > a:not(.nav-cta).active{
    background:var(--sage-light);
    border-radius:12px;
  }
}

/* LEGAL PAGES */
.legal-page{max-width:900px}
.legal-page h1{font-family:var(--serif);font-size:clamp(44px,6vw,72px);line-height:1.05;color:var(--forest);margin:30px 0 35px}
.legal-page h2{font-family:var(--serif);font-size:30px;font-weight:500;color:var(--forest);margin:45px 0 12px}
.legal-page p,.legal-page li{color:var(--muted);font-size:15px}
.legal-page strong{color:var(--ink)}
.legal-page a:not(.text-link){color:var(--forest);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.legal-page ul{padding-left:22px}

/* Menu: oro in stato normale, verde nello stato attivo/hover */
.nav-menu>a:not(.nav-cta){color:var(--gold);transition:color .25s ease}
.nav-menu>a:not(.nav-cta):hover,
.nav-menu>a:not(.nav-cta).active{color:var(--forest)}
.nav-menu>a:not(.nav-cta).active:after,
.nav-menu>a:not(.nav-cta):hover:after{width:100%;background:var(--forest)}

@media(max-width:760px){
  .nav-menu>a:not(.nav-cta){color:var(--forest)}
  .nav-menu>a:not(.nav-cta).active{background:var(--sage-light);border-radius:12px;color:var(--forest)}
}


/* FINAL VISUAL + SEO POLISH — agosto 2026 */
.nav-menu > a.nav-cta{
  background:var(--forest);
  color:#fff;
  transition:background-color .25s ease,color .25s ease,transform .25s ease;
}
.nav-menu > a.nav-cta:hover,
.nav-menu > a.nav-cta:focus-visible{
  background:var(--gold);
  color:#fff;
  transform:translateY(-1px);
}

.footer-bottom{
  align-items:flex-start;
  padding-right:230px;
}
.footer-bottom .disclaimer{
  flex:1 1 520px;
  max-width:620px;
  line-height:1.6;
}
.seo-local-copy .eyebrow{
  color:var(--gold);
  margin-bottom:10px;
}
.seo-local-copy .seo-supporting-copy{
  margin-top:10px;
}
@media(max-width:900px){
  .footer-bottom{padding-right:0;}
  .footer-bottom .disclaimer{max-width:760px;padding-right:95px;}
}
@media(max-width:760px){
  .footer-bottom .disclaimer{padding-right:0;padding-bottom:78px;}
}


/* Future-ready information categories */
.role-pills span{
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.role-pills span:hover,
.role-pills span:focus-visible{
  background:var(--gold);
  color:var(--forest);
  border-color:var(--gold);
  transform:translateY(-2px);
}


/* V5 - Il mio approccio: tutte le card neutre, verde solo su hover/focus */
.approach .step-card.featured,
.approach .step-card.featured:hover {
  background:#fffdf8;
  color:var(--ink);
  border-color:var(--line);
}
.approach .step-card.featured {
  transform:translateY(0);
}
.approach .step-card.featured p {
  color:var(--muted);
}
.approach .step-card.featured .step-icon {
  color:var(--gold);
}
.approach .step-card.featured:hover,
.approach .step-card.featured:focus-within {
  background:var(--forest);
  color:#fff;
  border-color:var(--forest);
  transform:translateY(-7px);
  box-shadow:var(--shadow);
}
.approach .step-card.featured:hover p,
.approach .step-card.featured:focus-within p {
  color:#d9e1d6;
}
.approach .step-card.featured:hover h3,
.approach .step-card.featured:hover .step-icon,
.approach .step-card.featured:focus-within h3,
.approach .step-card.featured:focus-within .step-icon {
  color:#fff;
}
.approach .step-card.featured:hover .step-num,
.approach .step-card.featured:focus-within .step-num {
  color:#d8c990;
}
@media(max-width:760px){
  .approach .step-card.featured { transform:none; }
  .approach .step-card.featured:active {
    background:var(--forest);
    color:#fff;
  }
}

/* Email nel blocco contatti: stesso effetto hover dell'icona WhatsApp */
.direct-item.email-direct:hover .email-direct-icon,
.direct-item.email-direct:focus-visible .email-direct-icon{
  background:var(--forest);
  color:#fff;
  transform:translateY(-1px);
}
.direct-item.email-direct .email-icon-normal,
.direct-item.email-direct .email-icon-hover{
  transition:opacity .2s ease;
}
.direct-item.email-direct .email-icon-hover{
  position:absolute;
  opacity:0;
  color:#fff;
}
.direct-item.email-direct .email-icon-normal{opacity:1}
.direct-item.email-direct:hover .email-icon-normal,
.direct-item.email-direct:focus-visible .email-icon-normal{opacity:0}
.direct-item.email-direct:hover .email-icon-hover,
.direct-item.email-direct:focus-visible .email-icon-hover{opacity:1}
.direct-item.email-direct:hover strong,
.direct-item.email-direct:focus-visible strong{color:var(--forest)}
.email-direct-icon{
  position:relative;
  transition:background-color .25s ease, transform .25s ease, color .25s ease;
}

/* FINAL CHECK — immagini e responsive */
.content-card img{object-position:center center;}
.socials .social-placeholder{width:42px;height:42px;border:1px solid rgba(37,77,58,.28);border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--forest);transition:background-color .25s ease,border-color .25s ease,transform .25s ease;cursor:default;}
.socials .social-placeholder img{width:22px;height:22px;object-fit:contain;filter:none;}
.socials .social-placeholder:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px);}
@media(max-width:760px){.socials .social-placeholder{width:40px;height:40px}.hero-frame img{object-position:52% center}.content-card img,.content-card.large img{object-fit:cover;object-position:center center;}}

/* FINAL IMAGE LANGUAGE — feathered edges that visually merge with the page */
.hero-frame,
.image-card,
.content-card{position:relative;isolation:isolate;}
.hero-frame img,.image-card > img,.content-card img{
  border:0!important;
  box-shadow:0 18px 48px rgba(31,58,43,.08)!important;
}
.hero-frame::after,.image-card::after,.content-card::after{
  content:"";position:absolute;inset:-1px;z-index:2;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 28px 12px rgba(247,243,233,.82);
}
.hero-frame::after{box-shadow:inset 0 0 34px 14px rgba(245,241,231,.80);}
.content-card::after{box-shadow:inset 0 0 24px 10px rgba(255,253,247,.76);}
/* Keep the photo visible and crisp; only the extreme perimeter is softened. */
.hero-frame img,.image-card > img,.content-card img{filter:none!important;opacity:1!important;}

/* Il testo del footer resta sempre leggibile sopra il pulsante WhatsApp */
.footer-bottom .disclaimer { position:relative; z-index:1; }

/* Contenuti: due immagini volutamente diverse, ma con lo stesso trattamento visivo */
.content-card.large img { object-position:center center; }
.content-card:not(.large) img { object-position:center center; }

/* FINAL PASS 19-08-2026 — immagini definitive, CTA e leggibilità */
.hero-frame{
  border-radius:180px 180px 34px 34px;
  background:var(--cream);
  box-shadow:0 22px 60px rgba(31,58,43,.11);
}
.hero-frame img{object-fit:cover;object-position:center center;border:0;}
.image-card{
  max-height:none;
  overflow:hidden;
  border-radius:32px;
  background:transparent;
  box-shadow:none;
}
.image-card > img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
  border:0;
  border-radius:32px;
}

/* CTA Contattami: bianco in stato normale, oro al passaggio */
.nav-menu > a.nav-cta{
  background:#fffdf7;
  color:var(--forest);
  border:1px solid rgba(37,77,58,.16);
  box-shadow:0 8px 20px rgba(31,58,43,.06);
}
.nav-menu > a.nav-cta:hover,
.nav-menu > a.nav-cta:focus-visible{
  background:var(--gold);
  color:#fff;
  border-color:var(--gold);
}

/* Nota legale nel footer: mai nascosta dal WhatsApp flottante */
.footer-bottom{padding-right:250px;}
@media(max-width:900px){
  .footer-bottom{padding-right:0;}
  .footer-bottom .disclaimer{padding-right:100px;}
}
@media(max-width:760px){
  .hero-frame{border-radius:110px 110px 26px 26px;}
  .image-card{max-height:none;}
  .image-card > img{height:auto;max-height:none;}
  .footer-bottom .disclaimer{padding-right:0;padding-bottom:82px;}
}


/* FINAL VISUAL SYSTEM — approved image feathering */
.brand-logo{display:block;width:78px;height:78px;object-fit:contain}.footer-logo{width:88px;height:88px}.nav .brand{align-items:flex-start;justify-content:center}
.hero-frame,.image-card,.content-card{isolation:isolate}

/* Compact Dicono di me */
.compact-testimonials{grid-template-columns:1.2fr .9fr;align-items:stretch;margin-top:34px}.compact-testimonials .testimonial{padding:26px 30px;border-radius:28px}.compact-testimonials .testimonial p.testimonial-quote{font-size:17px;line-height:1.55;margin:8px 0 14px;font-style:italic;color:var(--forest)}.testimonial-stars{display:block;color:var(--gold);letter-spacing:3px;font-size:14px;margin-bottom:8px}.feedback-card{background:#fffdf8;border:1px solid var(--line);border-radius:28px;padding:28px 30px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 10px 30px rgba(31,58,43,.05)}.feedback-card h3{font-family:var(--serif);font-weight:500;font-size:30px;color:var(--forest);margin:0 0 8px}.feedback-card>p:not(.eyebrow){color:var(--muted);font-size:15px;margin:0 0 24px}.feedback-open{align-self:flex-start}

/* Feedback modal */
.feedback-modal[hidden]{display:none!important}.feedback-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}.feedback-backdrop{position:absolute;inset:0;background:rgba(24,45,34,.42);backdrop-filter:blur(5px)}.feedback-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:min(90vh,820px);overflow:auto;background:var(--paper);border:1px solid rgba(37,77,58,.15);border-radius:30px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.22)}.feedback-dialog h2{font-family:var(--serif);font-size:clamp(38px,5vw,56px);line-height:1.08;font-weight:500;color:var(--forest);margin:0 0 24px}.feedback-close{position:absolute;right:18px;top:16px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fffdf8;color:var(--forest);font-size:24px;line-height:1;cursor:pointer;transition:.2s}.feedback-close:hover{background:var(--gold);color:#fff;border-color:var(--gold);transform:translateY(-1px)}.rating-fieldset{border:0;padding:0;margin:0 0 18px}.rating-fieldset legend{font-size:12px;font-weight:700;color:var(--forest);margin-bottom:8px}.star-rating{display:flex;flex-direction:row;gap:4px;justify-content:flex-start;width:max-content}.star-rating input{position:absolute;opacity:0;pointer-events:none}.star-rating label span{font-size:30px;line-height:1;color:#cfd2ca;cursor:pointer;transition:color .18s,transform .18s}.star-rating label:hover span,.star-rating label.is-hover span{color:var(--gold)}.star-rating label.is-hover span,.star-rating label:hover span{transform:translateY(-2px)}.star-rating[data-rating="1"] label:nth-child(1) span,.star-rating[data-rating="2"] label:nth-child(-n+2) span,.star-rating[data-rating="3"] label:nth-child(-n+3) span,.star-rating[data-rating="4"] label:nth-child(-n+4) span,.star-rating[data-rating="5"] label:nth-child(-n+5) span{color:var(--gold)}body.modal-open{overflow:hidden}.legal-update{text-align:left;color:var(--muted);font-size:11px;margin-top:24px}
@media(max-width:900px){.compact-testimonials{grid-template-columns:1fr}}
@media(max-width:760px){.brand-logo{width:64px;height:64px}.footer-logo{width:78px;height:78px}.compact-testimonials .testimonial p.testimonial-quote{font-size:16px}.feedback-dialog{padding:26px 20px;border-radius:24px}.feedback-card{padding:26px 22px}.feedback-card h3{font-size:28px}}

.territory-label{font-size:9px!important;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)!important;font-family:var(--sans)!important;font-weight:700;margin:0 0 12px!important}

/* Approved feedback presentation */
.feedback-card{min-height:100%;}
.feedback-card .feedback-open{align-self:stretch;width:100%;}
@media(max-width:760px){.compact-testimonials .testimonial p.testimonial-quote{font-size:16px}.feedback-card .feedback-open{width:100%}.hero-frame::after,.image-card::after,.content-card::after{box-shadow:inset 0 0 22px 9px rgba(247,243,233,.78)}}


/* Editorial image treatment: soft feathered edges that blend into the page/card background. */
.hero-frame img,.image-card > img,.content-card img{
  -webkit-mask-image:linear-gradient(to right,transparent 0%,black 2.5%,black 97.5%,transparent 100%),linear-gradient(to bottom,transparent 0%,black 2.5%,black 97.5%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,black 2.5%,black 97.5%,transparent 100%),linear-gradient(to bottom,transparent 0%,black 2.5%,black 97.5%,transparent 100%);
  mask-composite:intersect;
}

/* Only the two editorial content photos get a restrained zoom-on-hover. */
@media (hover:hover) and (pointer:fine){
  .content-card img{transition:transform .55s cubic-bezier(.2,.7,.2,1);}
  .content-card:hover img{transform:scale(1.045);}
  .content-card:focus-within img{transform:scale(1.03);}
}

@media (prefers-reduced-motion:reduce){
  .content-card img{transition:none!important;}
  .content-card:hover img,.content-card:focus-within img{transform:none;}
}


/* Anti-spam honeypot and form feedback */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
button:disabled{opacity:.65;cursor:wait}
