/* Percorsi: tre impaginazioni esplicite, basate sulle pagine originali. */
.path-page { color: var(--sea); font: 300 21px/30px MCText, sans-serif; }
.path-page h1, .path-page h2, .path-page h3 { font-family: MCTitle, serif; font-weight: 500; }
.path-page h1 { font-size: 61px; line-height: 1; }
.path-page h2 { font-size: 37px; line-height: 1; }
.path-page p { margin: 0; }
.path-page b { font-weight: 700; }
.path-page ul { margin: 0 0 20px; padding-left: 0; list-style-position: inside; }
.path-page a:not(.path-button) { text-decoration: underline; }
.path-shell { width: min(1111px, 100%); margin: 0 auto; padding: 0 10px; }
.path-banner { background: var(--teal); }
.path-banner .path-shell { display: grid; grid-template-columns: 18.2% 81.8%; align-items: center; padding: 0; }
.path-portrait, .path-wordmark { width: 100%; }
.path-intro { text-align: center; padding: 30px 20px; background: var(--teal) url('../images/sf1-1024x576.jpg') left top/cover; }
.path-intro .intro-symbol { width: 232px; margin: 0 auto; }
.path-intro h1 { margin: 0 0 20px; }
.path-intro .intro-subtitle { margin: 0; }
.intro-divider { position: relative; display: block; height: 160px; margin: 20px 0; border: 0; }
.intro-divider::before { content: ''; position: absolute; top: 35px; left: calc(50% - 33px); width: 66px; border-top: 2px solid var(--sea); }
.path-intro .intro-question { margin: 0 0 20px; padding-top: 11px; font-size: 35px; line-height: 35px; }
.intro-copy { max-width: 716px; margin: auto; padding-bottom: 52px; color: var(--rose); font-size: 24px; font-weight: 700; }
.path-action { text-align: center; padding: 0; }
.path-button { display: inline-flex; min-height: 44px; max-width: 100%; justify-content: center; align-items: center; padding: 25px 50px; border-radius: 50px; background: var(--rose); color: white; font: 300 16px/24px Outfit,sans-serif; text-decoration: none; text-align: center; }
.path-button:hover { background: #7e4565; color: white; }
.path-button-sand { background: var(--sand); color: var(--rose); }
.path-button-sand:hover { background: #f7c87e; color: var(--rose); }
.path-button-white { background: white; color: var(--rose); }
.path-button-white:hover { background: var(--cream); color: var(--rose); }

/* Tesori del Mare. */
.treasure-intro { min-height: 860px; }
.treasure-discovery { background: url('../images/sfondo_manifesto_02-scaled.jpg') left top; }
.discovery-grid { display: grid; grid-template-columns: 560.2px 1fr; gap: 20px; }
.treasure-discovery .discovery-grid { min-height: 642px; align-items: center; }
.discovery-copy { color: var(--rose); padding: 20px 0 0; }
.small-shell { width: 80px; margin: 0 auto 24px; }
.path-cover { width: 424px; max-width: 100%; }
.treasure-discovery .path-cover { align-self: start; margin-top: 62px; }
.treasure-work, .treasure-goals { padding: 40px 20px; background: var(--teal) url('../images/sf2-scaled.jpg') left bottom/cover; }
.treasure-work { min-height: 905px; }
.path-heading { display: flex; justify-content: center; align-items: end; gap: 20px; margin-bottom: 10px; }
.path-heading h2 { margin: 0; }
.treasure-work .path-heading img { width: 93px; }
.work-copy { max-width: 823px; margin: 0 auto; color: var(--rose); font-size: 22px; line-height: 34px; font-weight: 700; text-align: justify; }
.path-reassurance { display: flex; align-items: center; gap: 20px; max-width: 860px; margin: 60px auto 0; }
.path-reassurance img { width: 172px; flex-shrink: 0; }
.path-reassurance h3 { margin: 0; font-size: 31px; line-height: 31px; }
.treasure-work .path-action { margin-top: 110px; }
.treasure-goals { min-height: 660px; padding-top: 78px; background-image: url('../images/sf3-scaled.jpg'); }
.treasure-goals .path-heading { align-items: center; margin-bottom: 40px; }
.treasure-goals .path-heading img { width: 99px; }
.goals-copy { max-width: 871px; margin: auto; font-size: 22px; line-height: 34px; font-weight: 700; text-align: justify; color: var(--rose); }
.path-package-heading { padding: 50px 0; background: var(--cream); }
.path-package-heading > div { max-width: 747px; min-height: 74px; padding: 0 80px; margin: auto; display: flex; align-items: center; gap: 20px; background: #ffb880; border-radius: 12px; }
.path-package-heading h2 { margin: 0; }
.path-package-heading img { width: 80px; }
.path-package-heading .path-shell { max-width: 747px; }
.path-package-heading:has(img[src*="perla"]) img { width: 108px; }
.path-package-heading:has(img[src*="lanterna"]) img { width: 66px; }
.path-notice { margin: 9px 0; background: var(--teal) url('../images/sfondo-cr-scaled.jpg') left bottom/cover; color: var(--rose); }
.path-notice > div { width: min(747px,100%); padding: 25px; margin: auto; background: var(--cream); border: 4px solid #f9b785; border-radius: 20px; font-size: 23px; line-height: 30px; }
.path-package { max-width: 747px; margin: 0 auto; border: 4px solid #f9b785; border-radius: 20px; padding: 10px; background: var(--cream); }
.path-package h2 { text-align: center; font-size: 35px; margin: 0 0 20px; }
.package-copy { color: var(--rose); }
.package-conditions { color: var(--rose); font-size: 17px; line-height: 21px; border-radius: 10px; padding: 8px; box-shadow: 0 0 5px #5b443a66; }
.package-small { color: var(--rose); font-size: 17px; line-height: 21px; padding: 8px; border-radius: 10px; box-shadow: 0 0 5px #5b443a66; }
.path-package .path-action { padding: 0; margin-bottom: 20px; }
.family-packages { background: var(--teal) url('../images/sfondo-cr-scaled.jpg') left bottom/cover; }
.family-packages .path-package:first-child .package-copy { max-width: 625px; margin: auto; }
.path-package-region { background: var(--cream); padding: 20px; }
.path-package-region .path-package .path-action { padding: 30px 0; }
.path-invitation { padding: 15px 0; background: url('../images/sf3-scaled.jpg') left top; }
.invitation-copy { max-width: 725px; margin: auto; padding-top: 10px; color: var(--rose); font-size: 26px; line-height: 35px; font-weight: 500; text-align: justify; }
.path-invitation .path-action { padding: 40px 0; }
.invitation-small { max-width: 628px; margin: auto; color: var(--rose); font-size: 17px; line-height: 24px; text-align: center; }

/* La Bussola del Cuore. */
.compass-intro { min-height: 833px; padding-top: 148px; }
.compass-intro .intro-symbol { margin-bottom: 0; }
.compass-intro .intro-divider { height: 67px; }
.compass-intro .intro-copy { max-width: 684px; font-size: 21px; font-weight: 300; padding-bottom: 0; }
.compass-overview { background: url('../images/sfondo-podcast-01-scaled.jpg') left top; }
.compass-overview .discovery-grid { min-height: 727px; }
.overview-copy { color: var(--rose); padding-top: 10px; }
.overview-copy h2 { color: var(--sea); text-align: center; margin: 0 0 30px; }
.overview-copy > p { margin-bottom: 20px; }
.overview-cover { padding-top: 23px; }
.overview-cover .path-cover { margin: 0 auto; }
.overview-cover .path-action { padding: 50px 0 0; }
.compass-stages { min-height: 1281px; padding: 89px 20px 60px; background: var(--teal) url('../images/sfondo_manifesto_02-1-scaled.jpg') left bottom/cover; }
.stages-symbol { width: 203px; margin: 0 auto 29px; transform: rotate(-35deg); }
.compass-stages h2 { margin: 0 0 70px; text-align: center; }
.compass-stages h3 { font: 300 27px/27px MCText,sans-serif; margin: 0 0 20px; text-align: center; }
.stages-copy { max-width: 730px; margin: auto; color: var(--rose); font-size: 22px; line-height: 34px; text-align: justify; font-weight: 400; }
.stages-copy > .stage-panel { padding: 10px; border-radius: 20px; background: #fff7ef; margin-bottom: 40px; }
.stages-choice { max-width: 600px; margin: 40px auto 0; color: var(--rose); font-size: 22px; line-height: 34px; font-weight: 400; text-align: justify; }
.compass-packages { min-height: 1844px; padding: 30px 20px; background: var(--teal) url('../images/sf3-scaled.jpg') left bottom/cover; }
.compass-packages h2 { text-align: center; max-width: 1091px; margin: 0 auto 20px; padding: 40px 0; }
.compass-package-copy { max-width: 606px; margin: 0 auto; padding: 22px; border: 2px solid #f9b785; border-radius: 20px; color: var(--rose); font-size: 22px; line-height: 34px; font-weight: 400; text-align: justify; }
.compass-package-copy:first-of-type { max-width: 600px; }
.compass-packages .path-action { padding: 40px 0; margin-bottom: 20px; }
.compass-call-strip { padding: 10px 0; background: #aedcdb; }
.compass-call-strip > div { display: grid; grid-template-columns: 97px 1fr; gap: 0; padding-left: 197px; }
.compass-call-strip img { width: 97px; align-self: center; }
.compass-call-strip p { color: var(--sea); }
.compass-call-strip .path-action { text-align: left; padding: 15px 0; }
.compass-tools { min-height: 889px; padding: 60px 0; background: #fff8f1 url('../images/sfondo-percorsi-03-1024x720.jpg') left top/cover; }
.compass-tools .path-heading { align-items: center; margin-bottom: 20px; }
.compass-tools .path-heading img { width: 65px; }
.compass-tools .path-heading h2 { font-size: 40px; }
.compass-tool-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.compass-tool-grid > div { padding: 10px; color: var(--sea); font-weight: 400; }
.compass-tools .path-reassurance { margin-top: 51px; }
.compass-tools .path-reassurance img { width: 134px; }
.compass-tools .path-reassurance h3 { max-width: 497px; font: 700 24px/30px MCText,sans-serif; text-align: center; color: var(--rose); }
.compass-tools .path-action { padding: 100px 0; margin-top: 40px; }
.compass-depth { background: #6db2ad; padding: 40px 20px; }
.compass-depth-inner { max-width: 783px; margin: auto; }
.compass-depth-section { padding: 10px; margin-bottom: 60px; border-radius: 20px; background: var(--cream); }
.compass-depth h2 { font-size: 40px; line-height: 30px; margin: 14px; text-align: center; }
.compass-depth-section > img { width: 22%; margin: 0 auto 20px; }
.compass-depth-section > img[src*="lanterna"] { width: 11%; }
.compass-depth-section > img[src*="castello"] { width: 14%; }
.depth-intro { color: var(--sea); font-weight: 700; text-align: center; padding: 10px; margin: 20px 0; }
.depth-copy { color: var(--sea); padding: 10px; font-weight: 400; }
.compass-depth hr { border: 0; height: 0; margin: 0; }
.compass-depth-invitation { position: relative; display: block; max-width: 664px; min-height: 380px; margin: 90px 0 0 auto; padding: 70px 40px 40px; background: var(--sand); text-align: center; }
.compass-depth-invitation > img { position: absolute; width: 196px; left: -82px; top: -80px; }
.compass-depth-invitation p { color: var(--sea); }
.compass-depth-invitation .path-action { padding-top: 40px; }

/* Riequilibrio Energetico. */
.energy-intro { min-height: 1261px; background-image: url('../images/2.png'); }
.energy-intro .intro-symbol { margin-bottom: 0; }
.energy-poster { width: 573px; margin: 20px auto 0; }
.energy-lead { max-width: 780px; margin: 0 auto !important; font-size: 35px !important; }
.energy-intro .path-action { padding: 25px 0; }
.energy-indications, .energy-process, .energy-limits, .energy-price { padding: 40px 20px; background: var(--teal) url('../images/sfondo-cr-scaled.jpg') left bottom/cover; }
.path-energy section > .path-shell > h2 { text-align: center; }
.energy-copy { color: var(--rose); font-size: 22px; font-weight: 400; line-height: 34px; text-align: justify; }
.energy-indications { min-height: 905px; }
.energy-indications .path-action { padding: 25px 0; }
.energy-process { min-height: 970px; background-image: url('../images/sf3-scaled.jpg'); }
.energy-process .energy-copy { max-width: 872px; margin: 47px auto 0; }
.energy-limits { min-height: 287px; }
.energy-limits h2 { margin-bottom: 10px; }
.energy-price { min-height: 151px; background-image: url('../images/2.png'); }
.energy-price h2 { margin-bottom: 10px; }
.energy-price .path-shell > div { width: min(468px,100%); margin: auto; color: var(--rose); font: 400 22px/34px Outfit,sans-serif; }
.path-energy .path-invitation { min-height: 419px; }
.path-energy .path-invitation .path-action { padding: 25px 0; }

/* FAQ, fascia finale e anteprima della richiesta di attivazione. */
.path-faq { padding: 40px 0; background: url('../images/sfondo-cr-scaled.jpg') left top; }
.path-faq h2 { text-align: center; font-size: 40px; line-height: 30px; margin: 14px 0 34px; }
.path-questions details { margin-bottom: 20px; background: #e3e9e9; }
.path-questions summary { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 18px 20px; cursor: pointer; list-style: none; font: 500 26px/26px MCTitle,serif; }
.path-questions summary::-webkit-details-marker { display: none; }
.path-questions summary span { font: 900 26px/1 MCText,sans-serif; }
.path-questions details[open] summary span { transform: rotate(45deg); }
.path-questions details p { padding: 20px; color: var(--rose); background: white; }
.path-bussola .path-faq { background: #6db2ad; padding: 0 0 40px; }
.path-bussola .path-faq .path-shell { background: var(--cream); border-radius: 20px; padding: 30px 10px 20px; }
.path-motto { background: #aedcdb; }
.path-motto .path-shell { display: flex; align-items: center; gap: 62px; min-height: 76px; }
.path-motto img { width: 65px; }
.path-motto p { flex: 1; color: var(--rose); font-size: 33px; line-height: 33px; text-align: center; }
.path-activation { padding: 45px 18px; background: #f5f4eb; font: 400 15px/1.65 Outfit,sans-serif; color: #24434a; }
.path-activation-inner { width: min(960px,100%); margin: auto; }
.path-activation .eyebrow { font-size: 11px; margin-bottom: 6px; color: #777b74; }
.path-activation h2 { font-size: 38px; margin: 0 0 12px; }
.activation-intro { margin-bottom: 18px !important; }
.activation-note { border-left: 4px solid #247c84; background: #e5f1ed; padding: 18px; margin-bottom: 18px; }
.activation-information, .activation-fields { padding: 22px; background: white; border: 1px solid #e3e5df; margin-bottom: 18px; }
.activation-information h3 { font-size: 24px; margin-bottom: 12px; }
.activation-information ul { padding-left: 20px; margin: 0; }
.activation-information li { margin-bottom: 10px; }
.activation-fields label { display: block; margin-bottom: 16px; font-weight: 600; }
.activation-fields input:not([type=checkbox]), .activation-fields textarea, .activation-fields select { display: block; width: 100%; border: 1px solid #cfd9d8; border-radius: 3px; margin-top: 6px; background: #fafcfb; padding: 10px; font: 400 15px/1.4 Outfit,sans-serif; }
.activation-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.activation-consent { font-size: 13px; margin: 20px 0 !important; }
.activation-fields button { border: 0; border-radius: 4px; padding: 11px 18px; background: #35535b; color: white; font: 400 15px Outfit,sans-serif; cursor: default; }
.activation-status { padding: 12px; margin-bottom: 20px !important; background: #fff2d5; }

/* Telefono: nell'originale ritratto e scritta dei percorsi si impilano. */
@media (max-width: 767px) {
    .path-banner .path-shell { display: block; }
    .path-page h1 { font-size: 61px; }
    .path-intro { min-height: 833px; padding: 30px 20px; }
    .path-intro .intro-symbol { width: 70px; }
    .treasure-intro .intro-symbol { margin-top: 34px; }
    .intro-divider { height: 33px; }
    .intro-copy { width: 100%; font-size: 21px; font-weight: 700; padding-bottom: 52px; }
    .path-intro .intro-question { font-size: 35px; }
    .path-button { padding: 13px 14px; line-height: 19.2px; }
    .path-shell { padding: 0 10px; }
    .discovery-grid { display: block; }
    .treasure-discovery .discovery-grid { min-height: 1093px; padding: 10px; }
    .discovery-copy { padding-top: 10px; }
    .treasure-discovery .path-cover { margin: 20px auto 0; width: 100%; max-width: 424px; }
    .treasure-work { min-height: 1097px; padding: 40px 20px; }
    .treasure-work .path-heading { display: block; text-align: center; }
    .treasure-work .path-heading img { margin: 20px auto 0; width: 70px; }
    .work-copy, .goals-copy { font-size: 21px; line-height: 34px; }
    .path-reassurance { gap: 12px; margin-top: 45px; }
    .path-reassurance img { width: 80px; }
    .path-reassurance h3 { font-size: 24px; line-height: 26px; }
    .treasure-work .path-action { margin-top: 60px; }
    .treasure-goals { min-height: 896px; padding: 40px 20px; }
    .treasure-goals .path-heading { display: block; text-align: center; }
    .treasure-goals .path-heading img { width: 70px; margin: 0 auto 15px; }
    .path-package-heading { padding: 50px 0; }
    .path-package-heading > div { padding: 10px; display: block; text-align: center; }
    .path-package-heading img { margin: 20px auto 0; }
    .path-package-heading h2 { max-width: 300px; margin: auto; }
    .path-package, .path-notice > div { width: 100%; }
    .path-package h2 { font-size: 35px; }
    .package-copy { font-size: 21px; }
    .package-conditions { font-size: 17px; line-height: 21px; }
    .path-package-region { padding: 20px; }
    .path-invitation { padding: 10px; }
    .invitation-copy { font-size: 26px; line-height: 35px; }
    .path-invitation .path-action { padding: 25px 0; }
    .invitation-small { font-size: 17px; line-height: 24px; }
    .compass-intro { padding-top: 152px; }
    .compass-intro .intro-divider { height: 31px; }
    .compass-intro .intro-copy { font-size: 21px; font-weight: 300; }
    .compass-overview .discovery-grid { padding: 10px; }
    .overview-copy h2 { text-align: center; }
    .overview-cover { padding-top: 20px; }
    .overview-cover .path-cover { width: 100%; }
    .overview-cover .path-action { padding: 40px 0; }
    .compass-stages { min-height: 1886px; padding: 70px 20px 50px; }
    .stages-symbol { width: 140px; }
    .compass-stages h2 { margin-bottom: 50px; }
    .compass-stages h3 { font-size: 27px; line-height: 27px; }
    .stages-copy, .stages-choice { font-size: 21px; line-height: 34px; }
    .compass-packages { min-height: 2296px; }
    .compass-packages h2 { margin-bottom: 40px; }
    .compass-package-copy { font-size: 21px; line-height: 34px; }
    .compass-packages .path-action { padding: 40px 0; }
    .compass-call-strip > div { padding: 10px; display: block; text-align: center; }
    .compass-call-strip img { width: 70px; margin: auto; }
    .compass-call-strip .path-action { text-align: center; }
    .compass-tools { min-height: 1362px; padding: 60px 10px; }
    .compass-tools .path-heading { display: block; text-align: center; }
    .compass-tools .path-heading img { margin: auto auto 20px; }
    .compass-tool-grid { grid-template-columns: 1fr; gap: 15px; }
    .compass-tool-grid > div { min-height: auto; padding: 20px; }
    .compass-tools .path-reassurance { align-items: start; }
    .compass-tools .path-reassurance img { width: 70px; }
    .compass-tools .path-reassurance h3 { font-size: 24px; }
    .compass-depth { padding: 40px 10px; }
    .compass-depth-section { padding: 0 0 60px; }
    .compass-depth h2 { text-align: center; }
    .compass-depth-invitation { display: block; padding: 20px 10px; }
    .compass-depth-invitation > img { width: 100px; margin: auto auto 20px; }
    .energy-intro { min-height: 907px; }
    .energy-poster { width: 173px; margin: 20px auto 0; }
    .energy-lead { max-width: 236px; }
    .energy-intro .path-action { padding: 25px 0; }
    .energy-indications, .energy-process, .energy-limits, .energy-price { padding: 40px 20px; }
    .energy-copy { font-size: 21px; }
    .energy-indications { min-height: 1547px; }
    .energy-process { min-height: 1653px; }
    .energy-limits { min-height: 491px; }
    .energy-price { min-height: 185px; }
    .path-energy .path-invitation { min-height: 495px; }
    .path-energy .path-invitation .path-action { padding: 35px 0; }
    .path-questions summary { font-size: 26px; padding: 18px 12px; line-height: 26px; }
    .path-motto .path-shell { display: block; padding: 10px; min-height: 252px; text-align: center; }
    .path-motto img { width: 65px; margin: 0 auto 20px; }
    .path-motto p { font-size: 33px; line-height: 33px; }
    .activation-columns { grid-template-columns: 1fr; gap: 0; }
    .path-activation { padding: 30px 12px; }
    .activation-information, .activation-fields { padding: 16px; }
}

@media (min-width: 768px) {
    .energy-indications h2 { margin-bottom: 10px; }
    .energy-process h2 { margin-bottom: 0; }
    .energy-process, .energy-limits, .energy-price { padding-bottom: 30px; }
}
@media (max-width: 767px) {
    .compass-depth-section { padding: 10px; }
    .compass-depth-invitation { padding: 70px 20px 30px; margin-top: 90px; }
    .compass-depth-invitation > img { left: 0; top: -75px; margin: 0; }
    .compass-tools .path-action { padding: 60px 0; }
    .compass-tool-grid > div { padding: 10px; }
}
@media (max-width: 767px) {
    .path-intro, .treasure-work, .treasure-goals, .compass-stages, .compass-packages, .compass-tools,
    .energy-indications, .energy-process, .energy-limits, .energy-price {
        background-image: url('../images/sfondo-percorsi-02-e1761495581853.jpg');
    }
    .intro-divider::before { top: 16px; width: 20px; left: calc(50% - 10px); }
    .treasure-intro .intro-copy { text-align: left; }
    .treasure-discovery .path-cover, .overview-cover .path-cover { width: 83%; }
    .work-copy, .goals-copy, .energy-copy, .compass-package-copy { text-align: left; }
    .treasure-work .path-heading img { width: 60px; }
    .treasure-work .path-reassurance { display: block; padding: 0 10px; margin-top: 80px; }
    .treasure-work .path-reassurance img { display: none; }
    .treasure-work .path-reassurance h3 { font-size: 31px; line-height: 31px; }
    .path-package-heading img { width: 132px; }
    .path-package-heading:has(img[src*="lanterna"]) img { width: 164px; }
    .path-package-heading h2 { max-width: 350px; }
    .stages-copy { font-size: 22px; }
    .stages-copy > .stage-panel { padding: 18px; }
    .stages-choice { font-size: 22px; }
    .compass-package-copy { font-size: 22px; }
    .compass-package-copy:first-of-type { padding: 3px; }
    .compass-call-strip img { width: 101px; margin-bottom: 20px; }
    .compass-call-strip .path-shell { padding-bottom: 30px; }
    .energy-indications h2, .energy-process h2, .energy-limits h2, .energy-price h2 { max-width: calc(100% - 20px); margin-left: auto; margin-right: auto; }
    .energy-price .path-shell > div { font: 400 21px/34px MCText,sans-serif; }
    .path-invitation { padding: 0; }
    .invitation-copy { font-size: 21px; line-height: 35px; text-align: left; }
    .path-invitation .path-action { padding: 25px 0; }
}
.compass-call-strip p, .compass-depth-invitation p { font-weight: 400; }
.path-questions summary span { font-size: 0; }
.path-questions summary span::before { content: '\f067'; font: 900 20px/1 MCIcons; }