/* Pagine pubbliche: limiti espliciti delle immagini, ritmo coerente e moduli accessibili. */
.resource-section {padding:54px 0;background:var(--cream);background-position:center;background-size:cover}
.resource-section:nth-of-type(even){background-color:#fff9ef}
.resource-columns {display:grid;gap:40px;align-items:start}
.resource-columns-2 {grid-template-columns:repeat(2,minmax(0,1fr))}
.resource-columns-3 {grid-template-columns:repeat(3,minmax(0,1fr))}
.resource-copy {min-width:0}
.resource-copy h2 {font-size:clamp(28px,3.1vw,40px);line-height:1.13;text-align:center;margin:24px 0}
.resource-copy p,.resource-copy li {font-size:20px;line-height:1.5;color:var(--rose)}
.resource-copy>.button {display:flex;width:fit-content;margin:28px auto;min-width:0}
.resource-image {object-fit:contain;margin:20px auto}
.resource-image-wordmark {width:min(620px,100%);max-height:230px}
.resource-image-cover {width:min(290px,100%);max-height:410px}
.resource-image-photo {width:min(520px,100%);max-height:480px}
.resource-image-decoration {width:110px;max-height:130px}
.resource-opening {padding:45px 0}
.resource-opening .resource-copy {text-align:center}
.resource-opening h2 {font-size:clamp(29px,3vw,42px)}
.editorial-page-title {font-size:clamp(36px,4vw,54px);padding:50px 24px 25px;text-align:center;background:var(--cream);margin:0}
.legal-page {background:var(--cream);padding-bottom:50px}
.legal-page .resource-section {padding:20px 0}
.legal-page .container {max-width:930px}
.legal-page .resource-copy p,.legal-page .resource-copy li {font-size:18px;line-height:1.7;color:#42616a}
.legal-page h2 {text-align:left;font-size:30px}
.privacy-current {max-width:890px;margin:30px auto;padding:28px;background:white;border:1px solid #c9d8cf;border-radius:12px;font-size:17px}
.privacy-current h2 {font-size:27px}
.privacy-current a {text-decoration:underline}
.blog-article .resource-columns {max-width:900px}
.blog-article .resource-copy h2 {text-align:left}
.blog-article .resource-image {max-height:420px}
.blog-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.blog-cards>a {display:block;border:1px solid #ead8c6;background:#fffef9;border-radius:20px;padding:30px}
.blog-cards h2 {font-size:29px;line-height:1.15}
.blog-cards span {font-size:15px;color:var(--rose);font-weight:700}
.podcast-episodes {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.podcast-episodes article {padding:24px;background:white;border:1px solid #e5cead;border-radius:15px}
.podcast-episodes h3 {font:500 24px/1.2 MCTitle,serif}
.podcast-episodes audio {width:100%}
.podcast-episodes a {font-size:14px;text-decoration:underline;display:inline-block;margin-top:14px}
.article-links {display:flex;justify-content:center;gap:18px;padding:45px 20px 65px}
.call-page {background:var(--cream)}
.call-page h1 {font-size:clamp(40px,5vw,56px)}
.call-page p {font-size:21px}
.call-direct {margin-top:28px}
.call-direct a {text-decoration:underline}
.contact-panel {background:transparent;border-radius:0;padding:0;color:var(--sea)}
.contact-panel>p {font-size:20px;line-height:1.5}
.contact-form {font:400 16px/1.5 MCText,sans-serif}
.contact-form label {display:block;font-weight:600;margin:0 0 22px}
.contact-form input:not([type=hidden]):not([type=checkbox]),.contact-form textarea,.contact-form select {width:100%;min-width:0;border:1px solid #b7c4c1;border-radius:3px;padding:11px 13px;margin-top:8px;background:white;font:400 17px/1.5 MCText,sans-serif;color:var(--sea)}
.contact-form textarea {resize:vertical}
.contact-form input[type=checkbox] {width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;accent-color:var(--sea)}
.form-pair {display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-help {font-size:14px;color:var(--rose);margin-top:-12px}
.form-check {display:flex!important;gap:12px;font-size:15px;font-weight:400!important;line-height:1.5}
.form-check a {text-decoration:underline}
.form-antispam {padding:20px 0}
.form-antispam img {width:200px;height:auto;max-width:100%;margin-bottom:12px}
.form-antispam input {max-width:240px}
.form-antispam a {font-size:14px;text-decoration:underline}
.form-trap {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-success,.form-error {padding:20px;margin:20px 0;border-radius:10px;border:1px solid #aec7b0;background:#edf7eb;color:#22533d;font-size:17px}
.form-success h3 {font-size:26px}
.form-success p {margin:0}
.form-error {background:#fff1ee;border-color:#e1b3a8;color:#87392e}
.contact-form-anchor,#modulo-contatti,#messaggio-ricevuto {scroll-margin-top:130px}
.contact-map {display:inline-flex;align-items:center;font-size:17px;text-decoration:underline;margin-top:15px}
.contact-brand {width:min(600px,100%);margin:0 auto 20px}
/* Nessun elemento decorativo viene lasciato alla sua dimensione intrinseca. */
.page-manifesto .manifesto-title {width:min(540px,90%)}
.page-home .hero-heart {object-fit:contain}
.page-home .drawings {max-height:420px;object-fit:contain}
.page-chi-sono .about-bio-grid video {width:100%;aspect-ratio:16/9;object-fit:contain}
.page-manifesto .value-card img {width:min(260px,100%);height:150px;object-fit:contain}
.site-footer .footer-logo {width:min(240px,100%);height:auto;margin:0 auto}
.footer-grid {grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr)}
.footer-bottom {flex-wrap:wrap;row-gap:16px}
.footer-bottom>p {font-size:14px}
.footer-bottom nav {font-size:13px}
.footer-bottom .social-links {margin-left:auto}
@media(min-width:1600px){.home-hero{height:min(917px,58vw)}.about-hero{max-height:690px}}
@media(max-width:1000px){.blog-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.resource-section{padding:38px 0}.resource-columns-2,.resource-columns-3,.blog-cards,.podcast-episodes{grid-template-columns:1fr}.resource-columns{gap:25px}.resource-copy p,.resource-copy li{font-size:19px}.resource-image-wordmark{max-height:160px}.resource-image-cover{width:min(250px,100%);max-height:340px}.resource-image-photo{max-height:380px}.resource-image-decoration{width:85px;max-height:100px}.resource-copy h2{font-size:32px}.article-links{flex-direction:column}.privacy-current{margin:20px;padding:22px}.footer-grid{grid-template-columns:1fr}.footer-logo{max-width:200px!important}.footer-bottom .social-links{margin:0}.form-pair{gap:12px}.contact-title{width:min(360px,85%)}.contact-hero{min-height:280px}.contact-brand{width:100%}.contact-details{gap:35px}.contact-panel{padding:0}.page-chi-sono .about-hero{height:650px!important;background-position:55% center}.page-home .hero-heart{width:180px;top:450px;left:50%}.page-home .hero-rule{top:710px}.page-home .hero-subtitle{top:760px}.page-home .home-hero{height:920px;min-height:0}.page-manifesto .value-card img{height:145px}.contact-strip{padding-bottom:90px}}
@media(max-width:359px){.form-pair{grid-template-columns:1fr}.button{min-width:0;width:100%}.site-header{padding-right:4px}}
.quiz-page{background:var(--cream);padding-bottom:60px}.quiz-intro{padding-top:65px;padding-bottom:50px;max-width:850px}.quiz-intro h1{font-size:clamp(38px,4vw,54px)}.quiz-intro p{font-size:21px}.quiz-box{max-width:850px;background:white;border:1px solid #e8c8a3;border-radius:22px;padding:35px}.quiz-box h2{font-size:34px}.quiz-progress{font-size:15px;margin:0 0 10px}.quiz-box progress{width:100%;height:8px;accent-color:var(--teal);margin-bottom:28px}.quiz-box fieldset{border:0;margin:0;padding:0}.quiz-box fieldset[hidden]{display:none}.quiz-box legend{font:500 30px/1.2 MCTitle,serif;margin-bottom:22px}.quiz-box label{display:flex;gap:14px;border:1px solid #d5ddd2;border-radius:10px;padding:17px;font-size:18px;margin-bottom:12px;cursor:pointer}.quiz-box label:has(input:checked){background:#e6f0e9;border-color:var(--teal)}.quiz-box input{accent-color:var(--sea);width:18px;flex:0 0 18px}.quiz-actions{display:flex;justify-content:space-between;gap:16px;margin-top:28px}.quiz-actions .button{min-width:0}.quiz-privacy{font-size:14px;color:#74847b;margin:28px 0 0}.quiz-profiles{padding-top:50px;text-align:center}.quiz-profiles>div{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;font-size:18px}.quiz-profiles a{text-decoration:underline}#quiz-result .button{display:flex;margin:20px 0}#quiz{scroll-margin-top:130px}@media(max-width:767px){.quiz-box{width:calc(100% - 30px);padding:25px 20px}.quiz-box legend{font-size:27px}.quiz-box label{padding:15px;font-size:17px}.quiz-actions{flex-wrap:wrap}.quiz-intro{padding-top:45px}.quiz-profiles h2{font-size:32px}}/* Revisione richiesta: proporzioni più contenute, senza immagini a tutta altezza sul telefono. */
.path-intro .intro-symbol{width:160px;max-height:150px;object-fit:contain}
.path-page h1{font-size:54px}
.treasure-intro,.compass-intro{min-height:0}
.compass-intro{padding-top:60px;padding-bottom:65px}
.treasure-intro{padding-top:45px;padding-bottom:55px}
.intro-divider{height:75px;margin:15px 0}
.paths-panel h2{font-size:54px}
.about-hero{height:auto!important;min-height:0;aspect-ratio:1024/396;background-size:contain;background-repeat:no-repeat;background-color:var(--cream)}
.page-manifesto .picture-hero{height:clamp(220px,35vw,450px)!important;min-height:0}
.contact-form .button{cursor:pointer;border:0;background:var(--rose);color:white;border-radius:30px;padding:12px 24px;font:400 16px/1.4 Outfit,sans-serif;min-width:0}
@media(max-width:767px){
 .path-banner .path-shell{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;padding:0 10px}
 .path-banner .path-portrait{width:92px;height:112px;object-fit:cover;object-position:center 30%}
 .path-banner .path-wordmark{width:100%;max-height:80px;object-fit:contain}
 .path-page h1{font-size:46px;line-height:1.05}
 .path-intro,.compass-intro,.treasure-intro{min-height:0;padding:35px 20px 45px}
 .path-intro .intro-symbol{width:70px;max-height:80px;margin:0 auto 18px}
 .path-intro .intro-question{font-size:30px;line-height:1.12}
 .intro-divider{height:30px;margin:12px 0}
 .intro-divider::before{top:10px}
 .intro-copy{padding-bottom:25px;font-size:20px;line-height:1.5}
 .paths-panel h2{font-size:36px}
 .treasure-discovery .path-cover{width:min(280px,100%);max-height:370px;object-fit:contain}
 .path-page .path-cover{max-height:370px;object-fit:contain}
 .page-chi-sono .about-hero{height:auto!important;min-height:0;aspect-ratio:1024/396;background-size:contain}
 .about-profile .portrait{max-width:280px;max-height:380px;object-fit:contain}
 .editorial-grid .portrait{max-width:280px}
 .home-about .about-photo{width:min(280px,100%);margin:auto;max-height:350px;object-fit:cover}
 .page-percorsi .cover{max-height:370px;object-fit:contain}
}.resource-copy h3{font:500 25px/1.25 MCTitle,serif;text-align:center;color:var(--sea);margin:24px 0}@media(max-width:767px){.resource-copy h3{font-size:24px;line-height:1.3}}.podcast-native{margin:20px 0;padding:20px;background:#fffdf6;border:1px solid #d3c3a6;border-radius:12px}.podcast-native h3{font-size:26px;line-height:1.2;text-align:left}.podcast-native audio{width:100%;max-width:100%}.podcast-native p{font-size:14px!important;color:var(--sea);margin:12px 0 0}.podcast-native a{text-decoration:underline}.podcast-anchor{scroll-margin-top:130px}.video-preview{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#073f46;cursor:pointer;color:white}.video-preview img{width:100%;height:100%;object-fit:cover}.video-preview span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#00687aee;color:white;padding:15px 24px;border-radius:30px;white-space:nowrap;font:500 16px/1.4 Outfit,sans-serif}.video-preview:focus-visible{outline:4px solid #fdd797;outline-offset:-5px}
