/*
 * Noemi Zirpoli — Visual System Normalization v2
 * 2026-08-17
 * Approved direction from final HTML architecture + user QA.
 * Loaded AFTER 90-stable-overrides.css. No destructive cleanup yet.
 */

:root{
  --nz-green:#1E3029;
  --nz-deep:#15231E;
  --nz-aqua:#69EBB7;
  --nz-mint:#EBF1ED;
  --nz-bone:#D5CABD;
  --nz-paper:#FCFBF8;
  --nz-terra:#9B2C10;
  --nz-brown:#57483B;
  --nz-white:#FFFFFF;
  --nz-line:rgba(30,48,41,.16);
  --nz-font-display:garamondpremrpro,Georgia,"Times New Roman",serif;
  --nz-font-body:"Source Sans 3",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --nz-font-ui:Futura,"Century Gothic","Avenir Next",Arial,sans-serif;
  --nz-shell:1180px;
  --nz-text:68ch;
  --nz-narrow:54ch;
  --nz-space-1:8px;
  --nz-space-2:12px;
  --nz-space-3:20px;
  --nz-space-4:32px;
  --nz-space-5:56px;
  --nz-space-6:88px;
  --nz-section-space:clamp(56px,6vw,88px);
  --nz-h1:clamp(42px,4.8vw,64px);
  --nz-h2:clamp(32px,3vw,44px);
  --nz-h3:clamp(23px,1.8vw,30px);
  --nz-lead:clamp(18px,1.2vw,20px);
  --nz-body:17px;
}

/* =========================================================
   1. GLOBAL PAGE GRID + TYPOGRAPHY
   ========================================================= */
body .nz-page{
  color:var(--nz-green)!important;
  background:var(--nz-paper)!important;
  font-family:var(--nz-font-body)!important;
  font-size:var(--nz-body)!important;
  line-height:1.66!important;
}

body .nz-page .container,
body .nz-page .shell{
  width:min(var(--nz-shell),calc(100% - 48px))!important;
  max-width:var(--nz-shell)!important;
  margin-inline:auto!important;
  box-sizing:border-box!important;
}

body .nz-page :where(h1,h2,h3,p,ul,ol,figure){margin-top:0}

body .nz-page :where(.h2,.display,.opening-title,.intro-title,.section-title,.side-title,.contact-opening-title),
body .nz-page .page-hero-center h1,
body .nz-page .hero-fullbleed h1,
body .nz-page .quote-block,
body .nz-page .quote-ask,
body .nz-page .about-quote,
body .nz-page .kicker,
body .nz-page .author-note{
  font-family:var(--nz-font-display)!important;
  font-weight:400!important;
  letter-spacing:-.02em!important;
}

body .nz-page :where(.h2,.opening-title,.intro-title,.section-title,.contact-opening-title){
  font-size:var(--nz-h2)!important;
  line-height:1.08!important;
  margin:0 0 var(--nz-space-3)!important;
}
body .nz-page .side-title{
  font-size:clamp(30px,2.7vw,42px)!important;
  line-height:1.08!important;
  margin:0 0 var(--nz-space-3)!important;
}
body .nz-page .page-hero-center h1{
  font-size:clamp(40px,4vw,56px)!important;
  line-height:1.02!important;
  margin:0!important;
}
body .nz-page .hero-fullbleed h1{
  font-size:var(--nz-h1)!important;
  line-height:1.01!important;
}

body .nz-page .lead,
body .nz-page .sub,
body .nz-page .intro-copy{
  max-width:62ch!important;
  font-family:var(--nz-font-body)!important;
  font-size:var(--nz-lead)!important;
  line-height:1.62!important;
  margin:0!important;
}

body .nz-page .eyebrow,
body .nz-page .option-label,
body .nz-page .tag,
body .nz-page .ricca-name,
body .nz-page .footer-title{
  font-family:var(--nz-font-ui)!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
  line-height:1.3!important;
  text-transform:uppercase!important;
}
body .nz-page .eyebrow{
  color:var(--nz-terra)!important;
  margin:0 0 var(--nz-space-2)!important;
}
body .nz-page :where(.section-green,.ricca) .eyebrow{
  color:var(--nz-aqua)!important;
}

body .nz-page .body-copy,
body .nz-page .cta-copy,
body .nz-page .about-copy{
  max-width:var(--nz-text)!important;
}
body .nz-page .body-copy > p,
body .nz-page .cta-copy > p,
body .nz-page .about-copy > p,
body .nz-page .faq-a > p,
body .nz-page .contact-details > p{
  margin:0 0 var(--nz-space-3)!important;
  line-height:1.66!important;
}
body .nz-page .body-copy > p:last-child,
body .nz-page .cta-copy > p:last-child,
body .nz-page .about-copy > p:last-child,
body .nz-page .faq-a > p:last-child,
body .nz-page .contact-details > p:last-child{margin-bottom:0!important}

/* =========================================================
   2. SECTION RHYTHM + BACKGROUND GRAMMAR
   ========================================================= */
body .nz-page :where(.section,.recognition,.ricca,.process,.faq,.opening-intro,.page-intro,.contact-open,.content-section){
  padding-top:var(--nz-section-space)!important;
  padding-bottom:var(--nz-section-space)!important;
}
body .nz-page :where(.section,.recognition,.ricca,.process,.faq,.opening-intro,.page-intro,.contact-open,.content-section){
  margin-top:0!important;
  margin-bottom:0!important;
}
body .nz-page .section-bone{background:var(--nz-bone)!important;color:var(--nz-green)!important}
body .nz-page .section-mint{background:var(--nz-mint)!important;color:var(--nz-green)!important}
body .nz-page .section-green{background:var(--nz-green)!important;color:var(--nz-white)!important}
body .nz-page .section-green :where(p,.lead){color:var(--nz-mint)!important}

/* Su di me: "Il mio impegno" resta chiaro/editoriale, non un secondo footer. */
body .nz-page-su-di-me .section-green{
  background:var(--nz-paper)!important;
  color:var(--nz-green)!important;
}
body .nz-page-su-di-me .section-green .eyebrow{color:var(--nz-terra)!important}
body .nz-page-su-di-me .section-green :where(p,.lead){color:var(--nz-green)!important}

/* Servizi: il momento che conta torna chiaro; si conserva un solo dark statement altrove. */
body .nz-page-servizi .section-green.crollo{
  background:var(--nz-paper)!important;
  color:var(--nz-green)!important;
  border-block:1px solid var(--nz-line)!important;
}
body .nz-page-servizi .section-green.crollo .eyebrow{color:var(--nz-terra)!important}
body .nz-page-servizi .section-green.crollo :where(p,.lead){color:var(--nz-green)!important}
body .nz-page-servizi .section-green.crollo .kicker{
  color:var(--nz-terra)!important;
  border-left:3px solid var(--nz-terra)!important;
  padding-left:24px!important;
}

/* =========================================================
   3. INTERNAL HERO + BREADCRUMB
   ========================================================= */
body .nz-page .page-hero--banner{
  position:relative!important;
  min-height:410px!important;
  display:flex!important;
  align-items:flex-end!important;
  overflow:hidden!important;
}
body .nz-page .page-hero--banner .page-hero-center{
  position:relative!important;
  z-index:3!important;
  width:min(var(--nz-shell),calc(100% - 48px))!important;
  max-width:var(--nz-shell)!important;
  margin:0 auto!important;
  padding:0 0 60px!important;
  text-align:center!important;
  color:#fff!important;
}
body .nz-page .page-hero--banner .nz-breadcrumb{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:.35em!important;
  margin:0 0 12px!important;
  color:rgba(255,255,255,.88)!important;
  font-family:var(--nz-font-ui)!important;
  font-size:12px!important;
  line-height:1.4!important;
  text-align:center!important;
}
body .nz-page .page-hero--banner .nz-breadcrumb a{color:#fff!important}
body .nz-page .page-hero--banner .page-hero-photo{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
}
body .nz-page .page-hero--banner .page-hero-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body .nz-page .page-hero--banner .page-hero-veil{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background:linear-gradient(90deg,rgba(21,35,30,.56),rgba(21,35,30,.18),rgba(21,35,30,.48))!important;
}

/* =========================================================
   4. GRIDS, CARDS, LISTS
   ========================================================= */
body .nz-page :where(.card-grid,.profile-grid,.areas,.tools,.steps){
  margin-top:var(--nz-space-5)!important;
}
body .nz-page .card{
  padding:var(--nz-space-4)!important;
}
body .nz-page .card h3,
body .nz-page .profile h3,
body .nz-page .area h3,
body .nz-page .tool h3,
body .nz-page .step h3{
  font-family:var(--nz-font-display)!important;
  font-size:var(--nz-h3)!important;
  font-weight:400!important;
  line-height:1.15!important;
  letter-spacing:-.015em!important;
  text-transform:none!important;
  margin:0 0 var(--nz-space-2)!important;
}
body .nz-page .card p,
body .nz-page .profile p,
body .nz-page .area p,
body .nz-page .tool p,
body .nz-page .step p{
  font-family:var(--nz-font-body)!important;
  font-size:15.5px!important;
  line-height:1.62!important;
}
body .nz-page .card-icon,
body .nz-page .step-num,
body .nz-page .scene-num,
body .nz-page .big-letter,
body .nz-page .ricca-letter{
  font-family:var(--nz-font-display)!important;
}

body .nz-page .nz-checklist,
body .nz-page-contatti .nz-contact-prepare ol,
body .nz-page-su-di-me .nz-about-verify ol{
  margin:var(--nz-space-4) 0 0!important;
  padding-left:0!important;
  list-style:none!important;
  counter-reset:nzitem!important;
}
body .nz-page .nz-checklist > li,
body .nz-page-contatti .nz-contact-prepare ol > li,
body .nz-page-su-di-me .nz-about-verify ol > li{
  position:relative!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:16px!important;
  padding:17px 0!important;
  border-top:1px solid var(--nz-line)!important;
  margin:0!important;
}
body .nz-page .nz-checklist > li::before,
body .nz-page-contatti .nz-contact-prepare ol > li::before,
body .nz-page-su-di-me .nz-about-verify ol > li::before{
  counter-increment:nzitem!important;
  content:counter(nzitem,decimal-leading-zero)!important;
  color:var(--nz-terra)!important;
  font-family:var(--nz-font-display)!important;
  font-size:24px!important;
  line-height:1.15!important;
}

body .nz-page :where(.ricca-bottom,.process-bottom,.method-link,.handoff){
  margin-top:var(--nz-space-4)!important;
  margin-bottom:0!important;
}

/* Metodo: move the last remaining inline-mobile behavior into the theme layer. */
@media (max-width:900px){
  body .nz-page-metodo-ricca .card-grid{
    display:block!important;
    grid-template-columns:none!important;
    width:100%!important;
  }
  body .nz-page-metodo-ricca .card-grid > .card{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    border-right:0!important;
    border-bottom:1px solid var(--nz-bone)!important;
    padding:28px 22px!important;
  }
  body .nz-page-metodo-ricca .card-grid > .card:last-child{border-bottom:0!important}
  body .nz-page-metodo-ricca .card-grid > .card h3{
    width:100%!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
}

/* =========================================================
   5. BUTTON SYSTEM — STYLE THE CLICKABLE ELEMENT, NOT THE WRAPPER
   ========================================================= */
body .nz-page .wp-block-button.btn,
body .nz-page .wp-block-button[class*="btn-"]{
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .nz-page .wp-block-button__link,
body .nz-page a.wp-element-button{
  min-height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border-radius:0!important;
  font-family:var(--nz-font-ui)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.03em!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body .nz-page .btn-primary .wp-block-button__link,
body .nz-page .btn-primary a.wp-element-button,
body .nz-page .btn-light .wp-block-button__link,
body .nz-page .btn-light a.wp-element-button,
body .nz-page .cta .wp-block-button__link,
body .nz-page .simple-cta .wp-block-button__link{
  background:var(--nz-terra)!important;
  color:#fff!important;
  border:1px solid var(--nz-terra)!important;
}
body .nz-page .btn-outline .wp-block-button__link,
body .nz-page .btn-outline a.wp-element-button,
body .nz-page .btn-outline-light .wp-block-button__link,
body .nz-page .btn-outline-light a.wp-element-button{
  background:transparent!important;
  color:var(--nz-green)!important;
  border:1px solid var(--nz-green)!important;
}

/* Header CTA: terracotta is the only primary action color in navigation. */
body .site-header-overlay .nav-cta,
body .header .nav-cta,
body .nav .nav-cta{
  background:var(--nz-terra)!important;
  color:#fff!important;
  border-color:var(--nz-terra)!important;
}

/* =========================================================
   6. FINAL CTA GRAMMAR — LIGHT BEFORE THE DARK FOOTER
   ========================================================= */
body .nz-page-home .nz-home-cta,
body .nz-page-su-di-me > .cta,
body .nz-page-contatti .simple-cta{
  background:var(--nz-bone)!important;
  color:var(--nz-green)!important;
  border-top:1px solid rgba(30,48,41,.10)!important;
}
body .nz-page-home .nz-home-cta .eyebrow,
body .nz-page-su-di-me > .cta .eyebrow,
body .nz-page-contatti .simple-cta .eyebrow{color:var(--nz-terra)!important}
body .nz-page-home .nz-home-cta :where(p,.micro),
body .nz-page-su-di-me > .cta :where(p,.micro),
body .nz-page-contatti .simple-cta p{color:var(--nz-green)!important}

/* Split endings on Servizi/Metodo: light two-tone, preserving the useful resource panel. */
body .nz-page-servizi .nz-final-split,
body .nz-page-metodo-ricca .nz-final-split{
  background:var(--nz-bone)!important;
  color:var(--nz-green)!important;
}
body .nz-page-servizi .nz-final-split .cta-main,
body .nz-page-metodo-ricca .nz-final-split .cta-main{
  background:var(--nz-bone)!important;
  color:var(--nz-green)!important;
}
body .nz-page-servizi .nz-final-split .cta-side,
body .nz-page-metodo-ricca .nz-final-split .cta-side{
  background:var(--nz-mint)!important;
  color:var(--nz-green)!important;
  border-left:1px solid var(--nz-line)!important;
}
body .nz-page-servizi .nz-final-split :where(.eyebrow),
body .nz-page-metodo-ricca .nz-final-split :where(.eyebrow){color:var(--nz-terra)!important}
body .nz-page-servizi .nz-final-split :where(p,.micro,.micro-cta),
body .nz-page-metodo-ricca .nz-final-split :where(p,.micro,.micro-cta){color:var(--nz-green)!important}
body .nz-page-servizi .nz-final-split .btn-outline-light .wp-block-button__link,
body .nz-page-metodo-ricca .nz-final-split .btn-outline .wp-block-button__link{
  color:var(--nz-green)!important;
  border-color:var(--nz-green)!important;
}

/* =========================================================
   7. CONTACT + NEWSLETTER MICRO-RHYTHM
   ========================================================= */
body .nz-page-contatti .contact-head{margin-bottom:var(--nz-space-5)!important}
body .nz-page-contatti .contact-grid{gap:var(--nz-space-4)!important}
body .nz-page-contatti :where(.booking,.contact-form){padding:var(--nz-space-4)!important}
body .nz-page-contatti :where(.booking,.contact-form) > h3{margin:0 0 var(--nz-space-2)!important}
body .nz-page-contatti :where(.booking,.contact-form) > p{margin:0 0 var(--nz-space-3)!important}
body .nz-page-contatti .nz-recaptcha-note{margin-top:var(--nz-space-2)!important;font-size:12px!important;line-height:1.5!important}
body .nz-page .nz-newsletter-band{background:var(--nz-mint)!important;color:var(--nz-green)!important}
body .nz-page .nz-newsletter-band .eyebrow{color:var(--nz-terra)!important}
body .nz-page .nz-newsletter-band h2{font-family:var(--nz-font-display)!important;color:var(--nz-green)!important}
body .nz-page .nz-newsletter-band p{color:var(--nz-brown)!important}

/* =========================================================
   8. FOOTER — DARK BASEMENT + AQUA CTA WITH DARK TEXT
   ========================================================= */
body .site-footer,
body .nz-site-footer{
  background:var(--nz-green)!important;
  color:#f7f8f6!important;
  border-top:3px solid var(--nz-aqua)!important;
  font-family:var(--nz-font-ui)!important;
}
body .site-footer .footer-cta,
body .nz-site-footer .footer-cta,
body .nz-site-footer .wp-block-button__link,
body .nz-site-footer a.wp-element-button{
  background:var(--nz-aqua)!important;
  color:var(--nz-deep)!important;
  border:1px solid var(--nz-aqua)!important;
  box-shadow:none!important;
}
body .site-footer .footer-contact .footer-cta,
body .nz-site-footer .nz-footer-grid > .wp-block-group:nth-child(4) .wp-block-buttons{
  margin-top:18px!important;
}
body .site-footer .footer-title,
body .nz-site-footer .footer-title{color:var(--nz-aqua)!important}
body .institutional,
body .nz-footer-institutional{
  background:#fff!important;
  color:var(--nz-green)!important;
}

/* =========================================================
   9. ARTICLES — SAME TYPE FAMILY, KEEP THE WORKING LAYOUT
   ========================================================= */
body .nz-single-article .nz-article-body{
  font-family:var(--nz-font-body)!important;
  font-size:17px!important;
  line-height:1.68!important;
}
body .nz-single-article .nz-article-body h2,
body .nz-single-article .nz-article-body h3{
  font-family:var(--nz-font-display)!important;
  color:var(--nz-green)!important;
  letter-spacing:-.02em!important;
}
body .nz-single-article .nz-article-body h2{
  margin:64px 0 20px!important;
  font-size:clamp(30px,2.7vw,36px)!important;
  line-height:1.12!important;
}
body .nz-single-article .nz-article-body h3{
  margin:38px 0 14px!important;
  font-size:24px!important;
  line-height:1.22!important;
}
body .nz-single-article .nz-article-body p{margin:0 0 20px!important}

/* =========================================================
   10. RESPONSIVE NORMALIZATION
   ========================================================= */
@media (max-width:1024px){
  :root{--nz-section-space:clamp(52px,7vw,72px)}
  body .nz-page .container,
  body .nz-page .shell,
  body .nz-page .page-hero--banner .page-hero-center{
    width:min(100% - 36px,var(--nz-shell))!important;
  }
  body .nz-page :where(.split,.split-even,.section-grid,.method-intro){gap:42px!important}
}

@media (max-width:767px){
  :root{
    --nz-section-space:54px;
    --nz-h1:clamp(38px,10vw,46px);
    --nz-h2:clamp(30px,8vw,34px);
    --nz-h3:25px;
    --nz-body:16.5px;
  }
  body .nz-page .container,
  body .nz-page .shell,
  body .nz-page .page-hero--banner .page-hero-center{
    width:calc(100% - 32px)!important;
  }
  body .nz-page .page-hero--banner{
    min-height:330px!important;
  }
  body .nz-page .page-hero--banner .page-hero-center{
    padding-bottom:34px!important;
    text-align:center!important;
  }
  body .nz-page .page-hero--banner .nz-breadcrumb{justify-content:center!important;text-align:center!important}
  body .nz-page .page-hero--banner .page-hero-center h1{font-size:40px!important}

  body .nz-page :where(.split,.split-even,.section-grid,.method-intro,.contact-head){
    grid-template-columns:1fr!important;
    gap:32px!important;
  }
  body .nz-page :where(.profile-grid,.areas,.tools,.steps,.card-grid,.contact-grid){
    grid-template-columns:1fr!important;
  }
  body .nz-page :where(.card-grid,.profile-grid,.areas,.tools,.steps){margin-top:32px!important}
  body .nz-page .card,
  body .nz-page .profile,
  body .nz-page .area,
  body .nz-page .tool,
  body .nz-page .step{min-height:0!important}

  body .nz-page .wp-block-buttons{width:100%!important}
  body .nz-page .wp-block-button:not(.footer-cta){width:100%!important}
  body .nz-page .wp-block-button:not(.footer-cta) .wp-block-button__link,
  body .nz-page .wp-block-button:not(.footer-cta) a.wp-element-button{width:100%!important}

  body .nz-page-servizi .nz-final-split,
  body .nz-page-metodo-ricca .nz-final-split{grid-template-columns:1fr!important}
  body .nz-page-servizi .nz-final-split .cta-side,
  body .nz-page-metodo-ricca .nz-final-split .cta-side{
    border-left:0!important;
    border-top:1px solid var(--nz-line)!important;
  }

  body .nz-single-article .nz-article-body{font-size:16.5px!important;line-height:1.68!important}
  body .nz-single-article .nz-article-body h2{margin:52px 0 18px!important;font-size:31px!important}
  body .nz-single-article .nz-article-body h3{margin:34px 0 12px!important;font-size:23px!important}
}


/* =========================================================
   11. FINAL APPROVED PAGE ARCHITECTURE — 2026-08-17
   ========================================================= */

/* HOME: hero eyebrow aqua, then paper → bone → paper → mint → paper → bone. */
body .nz-page-home .hero-fullbleed .eyebrow{
  color:var(--nz-aqua)!important;
}
body .nz-page-home .recognition{background:var(--nz-paper)!important}
body .nz-page-home .nz-home-principle{background:var(--nz-bone)!important;color:var(--nz-green)!important}
body .nz-page-home .nz-home-principle .eyebrow{color:var(--nz-terra)!important}
body .nz-page-home .about{background:var(--nz-paper)!important;color:var(--nz-green)!important}
body .nz-page-home .ricca{background:var(--nz-mint)!important;color:var(--nz-green)!important}
body .nz-page-home .ricca .eyebrow{color:var(--nz-terra)!important}
body .nz-page-home .process{background:var(--nz-paper)!important;color:var(--nz-green)!important}
body .nz-page-home .nz-home-start{background:var(--nz-bone)!important;color:var(--nz-green)!important}
body .nz-page-home .faq{background:var(--nz-paper)!important;color:var(--nz-green)!important}
body .nz-page-home .home-map{
  background:var(--nz-paper)!important;
  color:var(--nz-green)!important;
  border-block:1px solid var(--nz-line)!important;
}
body .nz-page-home .home-map-grid{
  max-width:980px!important;
  grid-template-columns:minmax(220px,300px) minmax(0,1fr)!important;
  gap:56px!important;
  align-items:center!important;
}
body .nz-page-home .home-map-preview{max-width:250px!important;margin-inline:auto!important}
body .nz-page-home .home-map-preview img{box-shadow:0 14px 32px rgba(30,48,41,.14)!important}
body .nz-page-home .home-map-copy{max-width:620px!important}
body .nz-page-home .home-map-note{margin-top:10px!important;color:var(--nz-brown)!important;font-size:12.5px!important}
body .nz-page-home .nz-home-start .nz-checklist{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border:1px solid var(--nz-line)!important;
  margin-top:var(--nz-space-4)!important;
}
body .nz-page-home .nz-home-start .nz-checklist > li{
  display:block!important;
  padding:26px!important;
  border-top:0!important;
  border-right:1px solid var(--nz-line)!important;
}
body .nz-page-home .nz-home-start .nz-checklist > li:last-child{border-right:0!important}
body .nz-page-home .nz-home-start .nz-checklist > li::before{
  display:block!important;
  margin-bottom:12px!important;
}

/* SU DI ME: credentials + verification form one trust chapter. */
body .nz-page-su-di-me > section:nth-of-type(5){background:var(--nz-paper)!important;color:var(--nz-green)!important}
body .nz-page-su-di-me > section:nth-of-type(6){background:var(--nz-bone)!important;color:var(--nz-green)!important}
body .nz-page-su-di-me .nz-about-verify{
  background:var(--nz-bone)!important;
  color:var(--nz-green)!important;
  padding-top:0!important;
  border-top:1px solid rgba(30,48,41,.12)!important;
}
body .nz-page-su-di-me .nz-about-verify h2{
  font-family:var(--nz-font-display)!important;
  font-size:clamp(25px,2.2vw,32px)!important;
  margin-bottom:20px!important;
}
body .nz-page-su-di-me .nz-about-verify ol{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  counter-reset:none!important;
}
body .nz-page-su-di-me .nz-about-verify ol > li{
  display:block!important;
  padding:18px 0 0 14px!important;
  border-top:1px solid var(--nz-line)!important;
  border-left:2px solid var(--nz-terra)!important;
}
body .nz-page-su-di-me .nz-about-verify ol > li::before{display:none!important}

/* SERVIZI: case + moment become one chapter; boundaries + bank relation another. */
body .nz-page-servizi > section:nth-of-type(6){background:var(--nz-bone)!important;color:var(--nz-green)!important}
body .nz-page-servizi .section-green.crollo{
  background:var(--nz-bone)!important;
  border-block:0!important;
  padding-top:0!important;
}
body .nz-page-servizi .section-green.crollo .h2{font-size:clamp(28px,2.5vw,36px)!important}
body .nz-page-servizi .section-green.crollo .kicker{
  font-size:clamp(27px,2.4vw,36px)!important;
  line-height:1.2!important;
  margin-top:32px!important;
}
body .nz-page-servizi .nz-bank-relation{
  background:var(--nz-paper)!important;
  padding-top:0!important;
  border-top:1px solid var(--nz-line)!important;
}
body .nz-page-servizi .nz-bank-relation .eyebrow{color:var(--nz-terra)!important}

/* METODO: practical block is a compact operational card, not a naked SEO list. */
body .nz-page-metodo-ricca > .section.section-mint:has(.nz-checklist){
  background:var(--nz-mint)!important;
}
body .nz-page-metodo-ricca > .section.section-mint:has(.nz-checklist) .nz-checklist{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  border:1px solid var(--nz-line)!important;
  margin-top:32px!important;
}
body .nz-page-metodo-ricca > .section.section-mint:has(.nz-checklist) .nz-checklist > li{
  display:block!important;
  padding:22px!important;
  border-top:0!important;
  border-right:1px solid var(--nz-line)!important;
}
body .nz-page-metodo-ricca > .section.section-mint:has(.nz-checklist) .nz-checklist > li:last-child{border-right:0!important}
body .nz-page-metodo-ricca > .section.section-mint:has(.nz-checklist) .nz-checklist > li::before{
  display:block!important;
  margin-bottom:10px!important;
}

/* BLOG: guide is absorbed visually into the opening; then magazine rhythm. */
body .nz-page-blog .nz-blog-opening{background:var(--nz-paper)!important}
body .nz-page-blog .nz-blog-guide{
  background:var(--nz-paper)!important;
  padding-top:0!important;
  border-top:1px solid var(--nz-line)!important;
}
body .nz-page-blog .nz-blog-guide h2{font-size:clamp(26px,2.3vw,34px)!important}
body .nz-page-blog .nz-blog-guide ol{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  padding:0!important;
  margin:28px 0 0!important;
  list-style-position:inside!important;
  border:1px solid var(--nz-line)!important;
}
body .nz-page-blog .nz-blog-guide li{padding:22px!important;border-right:1px solid var(--nz-line)!important}
body .nz-page-blog .nz-blog-guide li:last-child{border-right:0!important}
body .nz-page-blog .nz-blog-start{background:var(--nz-bone)!important}
body .nz-page-blog .nz-blog-paths{background:var(--nz-mint)!important}
body .nz-page-blog .nz-blog-topics{background:var(--nz-paper)!important}
body .nz-page-blog .nz-blog-pillars{background:var(--nz-bone)!important}
body .nz-page-blog .nz-blog-archive{background:var(--nz-paper)!important}
body .nz-page-blog .nz-blog-resources{background:var(--nz-mint)!important}
body .nz-page-blog .nz-blog-closing{background:var(--nz-bone)!important}
body .nz-page-blog :where(.nz-blog-section){padding-top:var(--nz-section-space)!important;padding-bottom:var(--nz-section-space)!important}
body .nz-page-blog :where(.nz-blog-section h2,.nz-blog-feature h3,.nz-blog-query__title,.nz-blog-path__copy strong,.nz-blog-resource-copy strong){
  font-family:var(--nz-font-display)!important;
  font-weight:400!important;
  letter-spacing:-.02em!important;
}
body .nz-page-blog :where(.nz-blog-eyebrow,.nz-blog-card-kicker,.nz-blog-query__cat,.nz-blog-query__date,.nz-blog-card-meta,.nz-blog-resource-label){
  font-family:var(--nz-font-ui)!important;
}

/* CONTATTI: contact first; preparation only after the process. */
body .nz-page-contatti .contact-open{background:var(--nz-paper)!important}
body .nz-page-contatti .nz-contact-choice{background:var(--nz-mint)!important}
body .nz-page-contatti .nz-contact-process{background:var(--nz-bone)!important}
body .nz-page-contatti .nz-contact-prepare{background:var(--nz-mint)!important}
body .nz-page-contatti .nz-contact-location{background:var(--nz-paper)!important}
body .nz-page-contatti .nz-contact-prepare ol{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  border:1px solid var(--nz-line)!important;
}
body .nz-page-contatti .nz-contact-prepare ol > li{
  display:block!important;
  padding:22px!important;
  border-top:0!important;
  border-right:1px solid var(--nz-line)!important;
  border-bottom:1px solid var(--nz-line)!important;
}
body .nz-page-contatti .nz-contact-prepare ol > li:nth-child(2n){border-right:0!important}
body .nz-page-contatti .nz-contact-prepare ol > li::before{display:block!important;margin-bottom:10px!important}

@media (max-width:767px){
  body .nz-page-home .nz-home-start .nz-checklist,
  body .nz-page-su-di-me .nz-about-verify ol,
  body .nz-page-metodo-ricca > .section.section-mint:has(.nz-checklist) .nz-checklist,
  body .nz-page-blog .nz-blog-guide ol,
  body .nz-page-contatti .nz-contact-prepare ol{
    grid-template-columns:1fr!important;
  }
  body .nz-page-home .nz-home-start .nz-checklist > li,
  body .nz-page-metodo-ricca > .section.section-mint:has(.nz-checklist) .nz-checklist > li,
  body .nz-page-blog .nz-blog-guide li,
  body .nz-page-contatti .nz-contact-prepare ol > li{
    border-right:0!important;
    border-bottom:1px solid var(--nz-line)!important;
  }
  body .nz-page-home .home-map-grid{grid-template-columns:1fr!important;gap:28px!important}
  body .nz-page-home .home-map-preview{max-width:190px!important}
  body .nz-page-su-di-me .nz-about-verify ol{gap:14px!important}
}
