/* Versione B: impaginazione e correzioni approvate. La versione A resta intatta. */
.compact-version .preview-banner { gap: 12px; flex-wrap: wrap; padding-block: 5px; }
.compare-link { text-decoration: underline; text-underline-offset: 3px; color: #fff; }
.compare-link:hover { color: var(--yellow); }
.compact-version .site-header { background: var(--petrol); border-bottom: 3px solid var(--yellow); color: #fff; }
.compact-version .header-inner { min-height: 110px; }
/* Identità sotto il logo, prima della navigazione Home / percorso.
   Fuori dalla barra sticky: sul telefono rimangono fissi solo logo e menu. */
.compact-version .centre-identity { width: min(1180px, calc(100% - 96px)); margin-inline: auto; padding-top: 24px; color: var(--petrol); }
.compact-version .centre-inner { width: fit-content; max-width: 100%; padding: 12px 16px; border: 1px solid rgba(23,63,79,.12); border-radius: 18px; background: rgba(23,63,79,.045); }
.compact-version .centre-identity .eyebrow { margin: 0 0 5px; font-size: .8rem; letter-spacing: .1em; }
.compact-version .centre-identity .little-line { flex: 0 0 27px; background: #ffe55c; }
.compact-version .centre-location { margin-left: 39px; color: var(--muted); font-size: 1rem; line-height: 1.5; }
.compact-version .centre-location > span { display: inline-block; }
.brand-logo { display: block; width: 330px; flex: 0 0 auto; background: var(--petrol); }
/* Marchio originale: ritaglio solo visivo. La stessa dicitura è resa
   come testo leggibile, senza alterare o rigenerare il PNG. */
.brand-wordmark { display: block; position: relative; width: 100%; aspect-ratio: 5 / 1; overflow: hidden; }
.brand-wordmark > img { position: absolute; width: 160%; max-width: none; height: auto; left: -6.875%; top: -65%; }
.brand-tagline { display: block; margin-left: 2px; color: #fff; font: italic 700 1rem/1.25 Arial, Helvetica, sans-serif; }
.compact-version .main-nav > a:not(.nav-book):hover { color: var(--yellow); }
.compact-version .nav-book { border-color: #bacdd1; color: #fff; }
.compact-version .nav-book:hover { background: #fff; color: var(--petrol); }
.compact-version .menu-toggle { color: #fff; }
.compact-version .menu-icon { display: flex; width: 20px; height: 16px; flex-direction: column; justify-content: space-between; }
.compact-version .menu-icon > span { display: block; width: 100%; height: 2px; border-radius: 2px; background: currentColor; transition: transform .18s ease, opacity .18s ease; }
.compact-version .menu-toggle[aria-expanded="true"] .menu-icon > span:first-child { transform: translateY(7px) rotate(45deg); }
.compact-version .menu-toggle[aria-expanded="true"] .menu-icon > span:nth-child(2) { opacity: 0; }
.compact-version .menu-toggle[aria-expanded="true"] .menu-icon > span:last-child { transform: translateY(-7px) rotate(-45deg); }
.compact-version .button, .compact-version .nav-book { border-radius: 999px; font-family: var(--serif); font-size: 1.12rem; font-weight: 400; letter-spacing: 0; padding: 11px 19px; min-height: 48px; }
.compact-version .button-primary:not(:disabled) { box-shadow: 0 3px 10px rgba(23,63,79,.12); }
.compact-version .button-primary > span[aria-hidden="true"] { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; flex: 0 0 auto; border-radius: 50%; background: var(--yellow); color: var(--petrol); font: 16px Arial, sans-serif; }
.compact-version .button:disabled > span[aria-hidden="true"] { background: transparent; color: inherit; }
.compact-version .button-contact { background: #f0e2b8; color: var(--petrol); border-color: #d7c58c; }
.compact-version .button-contact:hover { background: #ead696; border-color: #bfa569; }
.compact-version .button-contact > span[aria-hidden="true"] { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; flex: 0 0 auto; border: 1px solid #bcaa77; border-radius: 50%; font: 15px Arial, sans-serif; }
.compact-version .text-link { font-family: var(--serif); font-weight: 400; font-size: 1.08rem; border-bottom: 0; gap: 13px; }
.compact-version .text-link > span[aria-hidden="true"] { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; border: 1px solid #aebfb8; border-radius: 50%; font: 15px Arial, sans-serif; }
.compact-version .text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.compact-version .card-link { font-family: var(--serif); font-weight: 400; font-size: 1.06rem; }
.brand-symbol { width: 39px; height: 39px; object-fit: contain; mix-blend-mode: multiply; }
.compact-version h2 { font-size: clamp(2rem, 3.4vw, 2.8rem); }
.compact-version .hero { padding-block: 38px; gap: 50px; }
.compact-version .hero h1 { font-size: clamp(2.6rem, 4vw, 3.45rem); margin-bottom: 20px; }
.compact-version .hero-location { margin-bottom: 18px; }
.compact-version .hero-copy > .eyebrow { gap: 12px; }
.compact-version .hero-copy .little-line { flex: 0 0 27px; background: #ffe55c; }
.compact-version .hero-intro { margin-bottom: 12px; }
.compact-version .hero-description { line-height: 1.7; }
.compact-version .hero-actions { margin-top: 20px; }
.compact-version .hero-signature { margin-top: 19px; }
.compact-version .hero-image { min-height: 350px; border-top-left-radius: 115px; }
.compact-version .placeholder-content { padding: 28px 35px; }
.compact-version .placeholder-number { margin-bottom: 19px; }
.compact-version .placeholder-content > p { font-size: 1.8rem; margin-bottom: 15px; }
.compact-version .needs-section, .compact-version .paths-section,
.compact-version .resources-section, .compact-version .contact-section { padding-block: 43px; }
.compact-version .section-heading { margin-bottom: 27px; gap: 25px; }
.compact-version .section-heading .eyebrow { margin-bottom: 13px; }
.compact-version .needs-grid { gap: 29px; }
.compact-version .need-card { padding-top: 16px; }
.compact-version .card-index { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; align-self: flex-start; width: 36px; height: 36px; border-radius: 50%; background: var(--yellow); color: var(--petrol); font-size: .9rem; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; margin-bottom: 13px; }
.compact-version .need-card h3 { font-size: 1.45rem; min-height: 72px; margin-bottom: 12px; }
.compact-version .need-card p { line-height: 1.75; margin-bottom: 20px; }
.compact-version .card-link { padding-top: 12px; }
.compact-version .path-image { height: 90px; padding: 16px 22px; }
.compact-version .path-content { min-height: 295px; padding: 21px; }
.compact-version .path-content h3 { font-size: 1.55rem; min-height: 57px; margin-bottom: 11px; }
.compact-version .path-content > p:not(.small-label):not(.course-names) { line-height: 1.7; margin-bottom: 16px; }
.compact-version .scope-note { margin-top: 18px; }
.compact-version .about-grid { padding-block: 40px; gap: 50px; }
.compact-version .about-image { min-height: 285px; }
.compact-version .about-copy > .eyebrow { gap: 10px; margin-bottom: 13px; }
.compact-version .about-copy h2 { font-size: 2.4rem; margin-bottom: 19px; }
.compact-version .about-principle { font-size: 1.5rem; margin-top: 19px; }
.compact-version .draft-note { margin-top: 18px; }
.compact-version .resource-card { padding: 25px; }
.compact-version .resource-top { margin-bottom: 18px; }
.compact-version .resource-card h3 { font-size: 2.2rem; margin-bottom: 13px; }
.compact-version .resource-card > p { margin-bottom: 20px; line-height: 1.7; }
.compact-version .resource-state { min-height: 3.4em; }
.compact-version .reviews-section { padding-block: 35px; }
.compact-version .reviews-layout { gap: 45px; }
.compact-version .reviews-layout h2 { font-size: 2.5rem; margin-bottom: 15px; }
.compact-version .review-placeholder { padding: 18px 25px; }
.compact-version .quote-mark { font-size: 2.8rem; }
.compact-version .contact-heading > p:last-child { margin-top: 17px; }
.compact-version .contact-options { margin-top: 28px; gap: 30px; }
.compact-version .footer-inner { padding-block: 20px; }
.compact-version .site-footer { background: var(--petrol); }
.compact-version .footer-brand-block { min-width: 0; max-width: 100%; }
.compact-version .footer-socials { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.compact-version .footer-social-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 9px 12px; border: 1px solid rgba(246,217,94,.6); border-radius: 999px; color: #fff; font: 700 .85rem/1.3 Arial, sans-serif; white-space: nowrap; }
.compact-version .footer-social-link svg { flex: 0 0 22px; color: var(--yellow); }
.compact-version .footer-social-link:hover,
.compact-version .footer-social-link:focus-visible { background: var(--yellow); color: var(--petrol); }
.compact-version .footer-social-link:hover svg,
.compact-version .footer-social-link:focus-visible svg { color: var(--petrol); }
.compact-version .footer-social-link:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.compact-version .footer-opening { display: inline-block; margin-top: 4px; color: #d9e3df; }
.compact-version main :where(section[id], h2[id], h3[id]) { scroll-margin-top: 24px; }
@media (max-width: 1050px) {
  .compact-version .centre-identity { width: calc(100% - 64px); }
  .brand-logo { width: 280px; }
  .compact-version .main-nav { gap: 17px; }
  .compact-version .hero { gap: 30px; }
  .compact-version .path-content { min-height: 325px; }
  .compact-version .path-content h3 { font-size: 1.4rem; }
  .compact-version .about-grid { gap: 30px; }
}
@media (max-width: 780px) {
  .brand-logo { width: min(260px, calc(100% - 56px)); }
  .brand-tagline { font-size: clamp(.875rem, 3.7vw, .9375rem); }
  .compact-version .header-inner { min-height: 96px; gap: 12px; }
  .compact-version .site-footer .brand-logo { width: min(260px, 100%); }
  .compact-version .menu-toggle { display: inline-flex; width: 44px; height: 44px; flex: 0 0 44px; justify-content: center; align-items: center; padding: 10px; border: 1px solid rgba(255,255,255,.4); border-radius: 10px; background: rgba(255,255,255,.04); }
  .compact-version .main-nav { top: 96px; background: var(--petrol); border-color: #406371; }
  .compact-version .main-nav > a:not(.nav-book) { border-color: #406371; }
  .compact-version .hero { padding-block: 28px; gap: 22px; }
  .compact-version .centre-identity { width: calc(100% - 40px); padding-top: 20px; }
  .compact-version .centre-inner { width: fit-content; max-width: 100%; padding: 12px 14px; }
  .compact-version .centre-identity .eyebrow { font-size: .75rem; }
  .compact-version #paths-title .focus-brand { display: block; white-space: nowrap; }
  .compact-version .hero-actions { gap: 12px; }
  .compact-version .hero-actions .button { font-size: 1rem; padding: 10px 14px; gap: 10px; }
  .compact-version .hero-actions .button-contact { padding-inline: 12px; gap: 8px; }
  .compact-version .hero-actions .button > span[aria-hidden="true"] { width: 24px; height: 24px; }
  .compact-version .hero-actions .text-link { font-size: 1rem; gap: 9px; }
  .compact-version .hero h1 { font-size: clamp(2.45rem, 7.8vw, 3.4rem); }
  .compact-version .hero-image { min-height: 195px; border-top-left-radius: 65px; }
  .compact-version .placeholder-content { padding: 22px 30px; }
  .compact-version .hero-image .placeholder-description { display: none; }
  .compact-version .hero-image .placeholder-number { margin-bottom: 10px; }
  .compact-version .hero-image .placeholder-content > p { margin-bottom: 0; }
  .compact-version .needs-section, .compact-version .paths-section,
  .compact-version .resources-section, .compact-version .contact-section { padding-block: 34px; }
  .compact-version .section-heading { gap: 14px; margin-bottom: 23px; }
  .compact-version h2 { font-size: 2.1rem; }
  .compact-version .needs-grid { gap: 22px; }
  .compact-version .need-card h3 { min-height: 0; font-size: 1.65rem; }
  .compact-version .need-card p { font-size: .9rem; }
  .compact-version .paths-grid { gap: 17px; }
  .compact-version .path-image { height: 75px; }
  .compact-version .path-content { min-height: 0; padding: 22px; }
  .compact-version .path-content h3 { min-height: 0; font-size: 1.75rem; }
  .compact-version .about-grid { padding-block: 34px; gap: 23px; }
  .compact-version .about-image { min-height: 195px; }
  .compact-version .about-image .placeholder-description { display: none; }
  .compact-version .about-image .placeholder-content > p { margin-bottom: 0; }
  .compact-version .about-copy h2 { font-size: 2.1rem; }
  .compact-version .resource-card { padding: 23px; }
  .compact-version .resource-card h3 { font-size: 2.15rem; }
  .compact-version .resource-state { min-height: 0; }
  .compact-version .reviews-section { padding-block: 30px; }
  .compact-version .reviews-layout { gap: 20px; }
  .compact-version .reviews-layout h2 { font-size: 2.1rem; }
  .compact-version .contact-options { gap: 20px; }
  .compact-version .contact-detail { padding-top: 18px; }
  .compact-version .footer-inner { gap: 15px; }
}
.compact-version .contact-email { overflow-wrap: anywhere; }
/* Foto della prova economica: nessun taglio laterale alla posa in apertura. */
.compact-version .site-photo { position: relative; overflow: hidden; margin: 0; aspect-ratio: 1 / 1; min-height: 0; background: #eee6d8; }
.compact-version .site-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.compact-version .hero-image.site-photo > img { object-position: center; }
/* Ritratto più raccolto: entrambe le mani restano nella foto quadrata. */
.compact-version .about-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.compact-version .about-image.site-photo { width: 100%; max-width: 360px; justify-self: center; border-bottom-right-radius: 65px; }
.compact-version .about-image.site-photo > img { object-position: center; }
/* Foto armonizzate: formato uniforme, gesto intero senza zoom sul dettaglio. */
.compact-version .path-image { height: auto; aspect-ratio: 1402 / 1122; }
.compact-version .path-image.path-photo { margin: 0; padding: 0; justify-content: center; align-items: center; overflow: hidden; background: #f0ece4; }
.compact-version .path-photo > img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 780px) {
  .compact-version .path-image { height: auto; }
  .compact-version .about-grid { grid-template-columns: 1fr; }
  .compact-version .about-image.site-photo { max-width: 280px; }
}
@media (max-width: 380px) {
  .compact-version .hero h1 { font-size: 2.35rem; }
  .compact-version .resource-card { padding: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .compact-version .menu-icon > span { transition: none; }
}
/* Testi di lettura uniformi anche su smartphone. Etichette e titoli
   conservano la propria gerarchia; la Home A non usa compact-version. */
.compact-version .hero-description,
.compact-version .section-heading > p,
.compact-version .need-card p,
.compact-version .path-content > p:not(.small-label):not(.course-names),
.compact-version .about-copy > p:not(.eyebrow):not(.about-principle):not(.draft-note),
.compact-version .resource-card > p,
.compact-version .reviews-layout > div > p:not(.eyebrow),
.compact-version .contact-heading > p:last-child,
.compact-version .contact-detail p,
.compact-version .detail-needs p:not(.eyebrow):not(.detail-lead),
.compact-version .detail-list,
.compact-version .detail-steps p,
.compact-version .detail-faq p,
.compact-version .personal-support p:not(.eyebrow),
.compact-version .movement-course p:not(.small-label),
.compact-version .movement-approach p:not(.eyebrow),
.compact-version .detail-address,
.compact-version .scope-note {
  font-size: 1rem;
  line-height: 1.75;
}

/* Iscrizione autonoma, soltanto un'anteprima finché Brevo non è collegato. */
.compact-version .newsletter-section { padding-block: 40px 64px; }
.compact-version .newsletter-panel { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px); background: #e8eef0; border-radius: 24px; padding: clamp(24px, 4vw, 44px); }
.compact-version .newsletter-panel h2 { font-size: clamp(2rem, 3.2vw, 2.8rem); margin-bottom: 24px; }
.compact-version .newsletter-panel p { font-size: 1rem; line-height: 1.75; }
.compact-version .newsletter-prototype { min-width: 0; }
.compact-version .newsletter-prototype fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.compact-version .newsletter-prototype legend { font-weight: 700; margin-bottom: 24px; }
.compact-version .newsletter-prototype label { display: block; margin-bottom: 10px; }
.compact-version .newsletter-prototype input { width: 100%; min-height: 52px; padding: 12px; border: 1px solid #859aa3; border-radius: 12px; background: white; color: #173f4f; -webkit-text-fill-color: #173f4f; opacity: 1; font: inherit; }
.compact-version .newsletter-prototype .button { width: 100%; margin-block: 20px; }
@media (max-width: 760px) { .compact-version .newsletter-panel { grid-template-columns: 1fr; } }

.compact-version .reviews-heading { max-width: 660px; margin-bottom: 28px; }
.compact-version .reviews-heading h2 { margin-bottom: 20px; }
.compact-version .testimonials-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.compact-version .testimonial-card { display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--line); border-radius: 24px; background: #fff; min-width: 0; }
.compact-version .testimonial-card h3 { font-size: 1.5rem; margin-bottom: 22px; }
.compact-version .testimonial-card blockquote { margin: 0 0 24px; padding-left: 16px; border-left: 3px solid var(--yellow); }
.compact-version .testimonial-card blockquote p { font-size: 1rem; line-height: 1.75; margin-bottom: 18px; }
.compact-version .testimonial-card blockquote p:last-child { margin-bottom: 0; }
.compact-version .testimonial-card .text-link { margin-top: auto; font-size: 1rem; }
.compact-version .testimonial-context { font-size: 1rem; line-height: 1.75; color: var(--muted); margin-block: 26px 16px; }
.compact-version .needs-section .reviews-jump { margin-top: 28px; color: #fff; border-bottom-color: #9badb4; font-size: 1rem; }
.compact-version .needs-section .reviews-jump > span { color: var(--yellow); }
.compact-version .contact-actions { display: flex; justify-content: center; margin-block: 28px 10px; }
@media (max-width: 780px) { .compact-version .contact-actions { justify-content: flex-start; } }
@media (max-width: 1000px) { .compact-version .testimonials-grid { grid-template-columns: 1fr; } }
