/* Uno spartito vivo — editorial rhythm, a continuous thread, real encounters. */
:root{--green:#173e35;--ink:#203b42;--paper:#fffdf8;--muted:#536469;--yellow:#edce81;--blue:#243e53;--gold:#916c28}
body{color:var(--ink);background:var(--paper);font-size:17px;line-height:1.75}
main{overflow:clip}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}
h2{font-size:clamp(38px,4vw,62px);line-height:1.12;letter-spacing:-.035em}
h2 em{color:var(--gold)}
.section{padding:100px 7vw;max-width:1440px}
.eyebrow{font-size:13px;line-height:1.55;letter-spacing:1.5px;color:var(--blue);margin-bottom:26px}
header{background:#fffdf8;border-bottom:1px solid #dcd7c9;padding:25px 5vw}
.brand{font-size:27px;color:var(--green)}.brand i{color:var(--gold)}
header nav a{font-size:14px}.nav-contact{background:transparent;color:var(--green);border:1px solid #789086;border-radius:2px}
.button{border-radius:2px;font-size:15px;font-weight:600;padding:17px 25px;min-height:54px;background:var(--green);color:#fffdf8}
.button:hover{transform:translateY(-2px);background:#28574a}
.yellow,.button.yellow{background:var(--yellow);color:#173e35}.yellow:hover{background:#f1da9e}
.text-link{display:inline-block;border-bottom:1px solid #b7a072;padding-bottom:4px;font-size:15px}
.hero{max-width:1440px;min-height:710px;margin:auto;position:relative;isolation:isolate;display:grid;grid-template-columns:1.05fr .95fr;gap:4vw;padding:48px 5vw 80px;background:#fffdf8;border:0;align-items:center}
.hero-copy{border:0;padding:12px 0;z-index:2}
.hero-copy .eyebrow{max-width:430px;margin-bottom:12px;color:var(--blue)}
.hero-copy .hero-topic{font-size:13px;color:#596a70;margin-bottom:26px}
.hero-copy h1{font-size:clamp(58px,6.5vw,104px);letter-spacing:-.055em;line-height:1.03;margin:0 0 27px;color:var(--blue)}
.hero-copy h1 em{color:var(--gold)}
.hero-copy .lead{font:28px/1.45 Georgia,serif;color:var(--green);margin-bottom:20px}
.hero-copy p{max-width:470px;color:var(--muted)}
.hero-actions{margin-top:30px;gap:24px}.hero-note{font-size:13px;max-width:420px;line-height:1.7}
.hero-photo{height:600px;min-height:600px;max-height:none;position:relative;overflow:visible;border:0;border-radius:0;margin:0 0 28px}
.hero-photo img{inset:0;width:100%;height:100%;object-fit:cover;border-radius:2px 2px 110px 2px;object-position:center 28%}
.hero-photo figcaption{position:absolute;bottom:-28px;left:24px;right:36px;background:var(--green);padding:21px 24px;border:0;color:#fffdf8}
.hero-photo figcaption span{font:24px/1.25 Georgia,serif}.hero-photo figcaption small{font-size:13px;color:#dce7df;margin-top:6px;display:block}
.score-thread{position:absolute;pointer-events:none;z-index:1;overflow:visible}
.hero .score-thread{width:94%;height:100%;inset:0 3%;color:#b59143}
.score-thread path{fill:none;stroke:currentColor;stroke-width:1.7;vector-effect:non-scaling-stroke}
.ribbon{background:#fffdf8;color:var(--blue);border-block:1px solid #dcd7c9;font-size:12px;letter-spacing:2px;padding:25px 5vw}
.vision-overview{position:relative;padding-top:120px}.vision-lenses{gap:40px;margin-top:30px}.vision-lenses article{border-top:1px solid #b59143;padding-top:27px}.vision-lenses h3{font-size:29px}
.vision-together{font-size:15px;color:var(--muted);max-width:780px}
.for-palestra{background:var(--blue);color:#fffdf8;border:0;max-width:none}.for-palestra .eyebrow{color:#edce81}.for-palestra p{color:#e1e8e9}.for-palestra h2 em{color:#edce81}.for-palestra li{padding-bottom:9px}
.words{padding-block:85px}.word-grid{gap:35px}.word-grid article{border-top:1px solid #a8b6b0;padding-top:20px}.word-grid h3{font-size:31px;color:var(--green)}
.courses{background:#f2f4ee;max-width:none}.section-head{align-items:flex-start;margin-bottom:42px;gap:40px}
.course-grid{gap:0;border-block:1px solid #a4b6a6}
.course{border:0;border-radius:0;padding:45px;background:transparent;color:var(--ink)}
.course.base{border:0;border-right:1px solid #a4b6a6;background:transparent}
.course.level-two{border:0;background:var(--green);color:#fffdf8}
.course h3{font-size:44px;line-height:1.15}.course-top{font-size:13px;margin-bottom:30px;letter-spacing:1px}
.course.level-two .badge{background:#31584a;color:#f7e9be}.course p{font-size:17px}
.badge,.future-badge{font-size:12px;border-radius:2px;background:#e3e9db;color:#345647}
.future-grid article{background:transparent;border:0;border-top:1px solid #a4b6a6;padding:30px 0}.future-path{border:0}.future-grid{gap:50px}
.service-choice blockquote{font-size:30px;line-height:1.45;color:var(--green)}
.wheel-section{position:relative;max-width:none;background:#fffdf8;border:0;padding-top:110px}
.key-heading{text-align:center}.key-heading h2{font-size:clamp(40px,4.5vw,68px)}
.wheel-visual{gap:70px}.key-wheel{width:min(78%,610px);background:transparent;border:0;box-shadow:none;position:relative;margin:60px auto}
.key-wheel:before{display:none}
.wheel-trace{position:absolute;inset:0;width:100%;height:100%;overflow:visible;color:#a1813a;pointer-events:none}
.wheel-trace path{stroke:currentColor;stroke-width:2.2;fill:none;vector-effect:non-scaling-stroke}
.key-center{inset:24%;background:#fffdf8;border:1px solid #d7c6a3;padding:16px;box-shadow:none}
.key-center strong{font:30px/1.18 Georgia,serif;color:var(--green);margin:0 0 12px}.key-center small{font-size:15px;color:var(--muted)}
.key-emerging{background:#fffdf8;color:var(--green);border:1px solid #9cae9f;border-radius:2px;box-shadow:none;padding:12px 18px;font-size:17px;font-weight:600;z-index:2}
.wheel-actions{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:18px}
.wheel-toggle{border:1px solid #a1813a;background:transparent;color:var(--green);padding:13px 23px;min-height:48px;font:500 15px/1.3 system-ui,sans-serif;cursor:pointer;border-radius:2px}
.wheel-toggle:hover{background:#f4eddd}.wheel-toggle:focus-visible{outline:3px solid #795a20;outline-offset:4px}
.wheel-actions[hidden]{display:none}.wheel-status{font-size:14px;line-height:1.5;margin:14px auto 0;text-align:center;color:var(--muted);min-height:21px}
.palestra-photo{max-width:900px;position:relative}.palestra-photo img{border:0;border-radius:2px 100px 2px 2px}.palestra-photo figcaption{font-size:14px;color:var(--muted)}
.spiral-note{border-top:1px solid #d7c6a3;max-width:800px;margin-top:40px}.spiral-note strong{font-size:31px}
.experience{border-top:1px solid #dcd7c9}.experience-list article{border-color:#b8c2b9;padding:27px 0}.experience-list article>span{font-family:Georgia,serif;font-size:24px;color:var(--gold)}.palestra-logo-video{max-width:360px}
.butterfly-preview{background:var(--blue);color:#fffdf8;max-width:none;position:relative;border:0;overflow:hidden;gap:6vw}
.butterfly-preview h2 em{color:#edce81}.butterfly-preview .eyebrow{color:#edce81}.butterfly-preview p{color:#e0e8eb}.butterfly-preview .button{background:#edce81;color:#203b42}
.preview-note{background:transparent;border-left:1px solid #8fa2a8;padding:25px 0 25px 40px;border-radius:0}.preview-note>span{color:#edce81}.preview-note p{font:clamp(30px,3vw,45px)/1.4 Georgia,serif}.preview-note small{font-size:14px;color:#e0e8eb}
.quote{background:#fffdf8;color:var(--green);border-block:1px solid #dcd7c9;padding:110px 7vw}.quote blockquote{max-width:1000px;margin:25px auto 0;font-size:clamp(36px,4.5vw,64px);line-height:1.3}.quote em{color:var(--gold)}.quote>span{color:var(--muted)}
.about{position:relative;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}
.about-image{grid-column:1/-1;margin:25px 0 0;max-width:1000px;position:relative}
.about-image img{display:block;width:100%;height:460px;object-fit:cover;object-position:center 45%;border-radius:2px 2px 100px 2px}
.about-image figcaption{position:static;font-size:14px;margin-top:14px;color:var(--muted)}
.reviews{background:#edf1ed;border:0;max-width:none;padding-block:95px}.review-card{border-top:1px solid #9cad9f;background:transparent;padding:35px 0 20px}.review-card blockquote{font-size:clamp(25px,3vw,40px);line-height:1.5;color:var(--green)}.review-card h3{font-size:15px;color:var(--muted)}.review-author{font-size:16px;color:var(--blue)}
.review-controls button{border-color:#9cad9f;background:transparent}.reviews-source{font-size:14px}
.contact{background:var(--green);border:0;padding-block:110px;position:relative}.contact .eyebrow{color:#edce81}.contact h2{font-size:clamp(44px,5vw,74px)}.contact h2 em{color:#edce81}.contact p{color:#e1e9e3}
.faq{padding-block:95px}.faq details{border-color:#c1cbc2}.faq summary{font-size:18px}.faq-intro{font-size:17px}
.song-hero{background:var(--blue);color:#fffdf8;max-width:none;border:0;position:relative;isolation:isolate;overflow:hidden;padding-top:80px;padding-bottom:85px}
.song-hero .eyebrow{color:#edce81}.song-hero h1{font-size:clamp(50px,6vw,90px);letter-spacing:-.045em}.song-hero h1 em{color:#edce81;font-size:.7em;line-height:1.3;display:inline-block;margin-top:14px}
.song-hero-bottom p,.song-hero-bottom small{color:#e0e8eb}.song-hero-bottom .big{color:#fffdf8;font:30px/1.45 Georgia,serif}
.song-hero .button.yellow{background:#edce81;color:#203b42}.three-times{border-color:#7c959e}.three-times span{font-family:Georgia,serif;font-size:30px;color:#fffdf8}.three-times em{color:#edce81}
.song-identity{position:relative;z-index:1}.butterfly-logo{width:130px;border-radius:50%;background:#fffdf8;padding:10px}
.song-hero .score-thread{inset:0;right:0;width:100%;height:100%;color:#879b9d;opacity:.5;z-index:-1}
.song-audio{background:var(--blue);border:0;padding-block:95px}.song-audio .eyebrow{color:#edce81}.song-audio h2{color:#fffdf8}.song-audio h2 em{color:#edce81}
.audio-grid{gap:0}.audio-grid .audio-card{background:transparent;border:0;border-top:1px solid #879b9d;border-right:1px solid #879b9d;border-radius:0;padding:30px}.audio-grid .audio-card:last-child{border-right:0}.audio-grid .audio-card h3{font-size:31px;color:#fffdf8}.audio-card p{color:#e0e8eb}
.song-living{background:#edf1ed;border-block:1px solid #c1cbc2}.song-author{gap:6vw}.song-author img{border-radius:2px 90px 2px 2px}
.ecology{background:#f2f4ee}.song-definition{padding-block:110px}.song-definition blockquote{font-size:clamp(30px,3.6vw,52px);line-height:1.4;max-width:1000px;color:var(--green)}
.em-hero{background:#fffdf8;border-bottom:1px solid #dcd7c9;position:relative;isolation:isolate;padding-top:80px}.em-hero h1{font-size:clamp(46px,5.2vw,78px);line-height:1.1;color:var(--blue)}.em-hero h1 em{color:var(--gold)}.em-hero p{max-width:850px}.em-hero .big{font-size:23px;line-height:1.6}.em-breadcrumb{font-size:14px}.em-hero blockquote{font:32px/1.4 Georgia,serif;border-left:1px solid #b59143;padding-left:25px;margin-left:0}
.em-hero .score-thread{inset:0 0 auto auto;width:45%;height:100%;color:#c9b77f;z-index:-1;opacity:.6}
.em-listen{background:var(--green);color:#fffdf8;max-width:none}.em-listen .eyebrow{color:#edce81}.em-listen h2 em{color:#edce81}.em-listen p{color:#e1e9e3}
.em-senses,.em-converge{background:#edf1ed}.senses-words{font-size:30px;line-height:1.6}
.em-newspaper-section{padding-top:45px;padding-bottom:90px}.em-newspaper{background:#fffdf8;border:1px solid #8a887b;border-top:5px double #30403b;box-shadow:9px 9px 0 #eee9da;transform:rotate(-.5deg);padding:45px}.em-newspaper h2{color:#24382e}
.em-note-section{background:#fffdf8;border-block:1px solid #dcd7c9}.em-note-section blockquote{font-size:clamp(30px,3.5vw,49px);line-height:1.5;color:var(--green)}
.ecology-music-photo{max-width:1200px;padding-inline:7vw}.ecology-music-photo img{border-radius:2px 2px 100px 2px}
footer.site-footer{background:#fffdf8;border-top:1px solid #dcd7c9;padding:55px 5vw}.footer-resources{border-color:#dcd7c9;font-size:14px}.footer-info p{font-size:13px;line-height:1.8}
@media(min-width:1400px){.wheel-visual{grid-template-columns:1.1fr .9fr;gap:7vw}.wheel-visual .key-wheel{width:78%}.palestra-photo img{aspect-ratio:4/5;object-fit:cover;object-position:35% center}}
@media(max-width:1000px){.hero{min-height:620px;gap:4vw;padding-top:40px}.hero-photo{min-height:540px;height:540px}.hero-copy h1{font-size:clamp(56px,6.5vw,72px)}.section{padding:80px 6vw}.course{padding:32px}.course h3{font-size:37px}.about-image img{height:380px}.key-center strong{font-size:27px}.section-head{gap:30px}}
@media(max-width:900px){header{display:grid;padding:20px 6vw;gap:0}.menu-ready .mobile-menu-toggle{border-radius:2px;background:#fffdf8}.hero-photo{height:510px;min-height:510px}.hero-copy .lead{font-size:25px}.audio-grid .audio-card{border-right:0;border-top:1px solid #879b9d}}
@media(max-width:700px){
  header .brand{font-size:23px}header nav{gap:8px 16px}header nav a{font-size:15px}
  .section{padding:65px 6vw}h2{font-size:clamp(36px,9vw,46px)}.eyebrow{font-size:12px;margin-bottom:22px}
  .hero{display:flex;flex-direction:column;padding:36px 6vw 65px;gap:30px;min-height:0}.hero-copy{padding:0}.hero-copy .hero-topic{display:none}.hero-copy .eyebrow{max-width:310px;margin-bottom:23px}
  .hero-copy h1{font-size:clamp(48px,13.8vw,72px);letter-spacing:-.045em;margin-bottom:23px}.hero-copy .lead{font-size:25px}.hero-copy p{font-size:17px}
  .hero-actions{gap:18px;margin-top:25px}.hero-actions .button{max-width:360px}.hero-note{font-size:13px}
  .hero-photo{height:490px;min-height:490px;max-height:490px;width:100%;margin-bottom:25px}.hero-photo img{border-radius:2px 2px 85px 2px}.hero-photo figcaption{left:14px;right:25px;bottom:-25px;padding:18px}.hero-photo figcaption span{font-size:24px}
  .hero .score-thread{width:100%;height:50%;inset:auto 0 0;opacity:.8}
  .ribbon{font-size:11px;letter-spacing:1px;gap:8px;padding:22px 3vw}
  .vision-lenses{gap:28px;margin-top:10px}.vision-lenses h3{font-size:28px}.word-grid h3{font-size:26px}.word-grid{gap:25px}.section-head{display:block}
  .course-grid{grid-template-columns:1fr}.course{padding:32px 24px}.course.base{border:0;border-bottom:1px solid #a4b6a6}.course h3{font-size:37px}.future-grid{gap:25px}.service-choice blockquote{font-size:26px}
  .key-heading h2{font-size:40px}.wheel-visual{gap:28px}.key-wheel{width:78%;margin:48px auto 40px;box-shadow:none}.key-center{inset:23%;padding:8px}.key-center strong{font-size:clamp(20px,4.4vw,27px);margin-bottom:8px}.key-center small{font-size:14px;line-height:1.35}.key-emerging{font-size:16px;padding:10px 12px}.key-6{top:76%;max-width:108px}.spiral-note strong{font-size:27px}
  .palestra-photo img{border-radius:2px 65px 2px 2px}.experience-list article>span{font-size:21px}.palestra-logo-video{max-width:320px}
  .butterfly-preview{grid-template-columns:1fr;gap:35px}.preview-note{padding:25px 0 0;border-left:0;border-top:1px solid #8fa2a8}.preview-note p{font-size:33px}
  .quote{padding:75px 6vw}.quote blockquote{font-size:36px}.about{grid-template-columns:1fr;gap:20px}.about-image{margin-top:10px}.about-image img{height:280px;border-radius:2px 2px 65px 2px}
  .review-card blockquote{font-size:27px}.contact h2{font-size:45px}.contact p{font-size:17px}
  .song-hero,.em-hero{padding-top:40px;padding-bottom:60px}.song-hero h1{font-size:49px}.song-hero-bottom .big{font-size:27px}.song-identity{gap:18px}.butterfly-logo{width:95px;margin-bottom:10px}.three-times{border-top:1px solid #7c959e;padding-top:25px}.three-times span{font-size:27px}
  .audio-grid .audio-card{padding:28px 0}.audio-grid .audio-card h3{font-size:31px}.song-author img{border-radius:2px 65px 2px 2px}.em-hero h1{font-size:43px}.em-hero .big{font-size:21px}.em-hero blockquote{font-size:27px}.em-newspaper{padding:28px 22px;box-shadow:5px 5px 0 #eee9da}.senses-words{font-size:25px}.em-note-section blockquote{font-size:31px}.ecology-music-photo img{border-radius:2px 2px 65px 2px}
}
@media(max-width:360px){header .brand{font-size:20px}.hero-photo{height:420px;min-height:420px;max-height:420px}.key-emerging{font-size:14px;padding:10px}.key-center strong{font-size:19px}.key-center small{font-size:14px}.song-hero h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}
.lullaby-journey{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;background:#f5efdf;max-width:none;border-block:1px solid #d7c6a3;align-items:start}
.lullaby-intro h2{color:var(--blue);font-size:clamp(38px,3.8vw,59px)}
.lullaby-intro .big{font:25px/1.5 Georgia,serif;color:var(--green);margin-block:28px}
.lullaby-format{font-size:15px;line-height:1.8;border-top:1px solid #c8b98f;padding-top:22px;margin-top:28px}
.lullaby-first{display:block;font-size:14px;line-height:1.65;color:var(--muted);margin-top:16px;max-width:460px}
.lullaby-experience{border-left:1px solid #c8b98f;padding-left:35px}
.lullaby-experience>h3{font-size:31px;line-height:1.3;color:var(--green);margin-bottom:35px}
.lullaby-experience .experience-list h3{font-size:25px}.lullaby-experience .experience-list article{border-color:#c8b98f}
@media(max-width:700px){.lullaby-journey{grid-template-columns:1fr;gap:45px}.lullaby-intro h2{font-size:39px}.lullaby-experience{border-left:0;border-top:1px solid #c8b98f;padding:30px 0 0}.lullaby-experience>h3{font-size:29px}.lullaby-intro .big{font-size:24px}.lullaby-intro .button{max-width:100%;text-align:center}}
.lullaby-home-link{display:block;width:fit-content;max-width:100%;margin-top:22px;border-color:#b7a072;color:#fffdf8;font-size:15px}
.individual-path{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5vw;align-items:center;background:#fffdf8;border:1px solid #a4b6a6;padding:40px;margin-bottom:50px}
.individual-path h3{font-size:clamp(32px,3.3vw,46px);line-height:1.2;color:var(--green)}.individual-path h3 em{color:var(--gold)}
.individual-path p{max-width:780px}.individual-path p:last-child{margin-bottom:0}.individual-path .button{text-align:center}
.group-path-label{margin-bottom:22px}
.em-practice{display:grid;grid-template-columns:1fr 1.15fr;gap:7vw;background:var(--blue);color:#fffdf8;max-width:none}
.em-practice .eyebrow{color:#edce81}.em-practice h2 em{color:#edce81}.em-practice p{color:#e1e8eb}.em-practice .big{font:27px/1.5 Georgia,serif;color:#fffdf8}
.practice-connection{grid-column:1/-1;max-width:950px;font-size:18px;margin-bottom:25px}
@media(max-width:700px){.em-practice{grid-template-columns:1fr;gap:22px}.em-practice .big{font-size:24px}.practice-connection{font-size:17px}}
.em-conscious-listening{display:grid;grid-template-columns:1fr 1.15fr;gap:35px 7vw}
.em-conscious-listening .big{font-size:23px;line-height:1.6}
.listening-questions{font:25px/1.65 Georgia,serif;color:var(--green);padding-top:20px;border-top:1px solid #d7c6a3}
.em-conscious-listening blockquote{grid-column:1/-1;font:clamp(28px,3vw,42px)/1.5 Georgia,serif;color:var(--green);margin:20px 0 0;padding-top:35px;border-top:1px solid #d7c6a3}
@media(max-width:700px){.em-conscious-listening{grid-template-columns:1fr;gap:20px}.em-conscious-listening .big{font-size:21px}.listening-questions{font-size:23px}.em-conscious-listening blockquote{font-size:28px}}
/* A quiet gesture in its own space, never across words or photographs. */
.score-thread{display:block;position:static;inset:auto;z-index:auto;width:100%;height:46px;overflow:hidden;pointer-events:none;margin-top:35px;color:#ab8740;opacity:.8}
.score-thread path{stroke-width:1.4;stroke-linecap:round}
.hero .score-thread{position:absolute;inset:auto 5vw 10px;width:calc(100% - 10vw);height:46px;margin:0;color:#ab8740;z-index:0;opacity:.8}
.song-hero .score-thread,.em-hero .score-thread{position:static;inset:auto;z-index:auto;width:100%;height:46px;margin-top:35px;color:#ab8740;opacity:.8}
.song-hero .score-thread{color:#edce81;opacity:.65}
@media(max-width:700px){.hero .score-thread{inset:auto 6vw 7px;width:calc(100% - 12vw);height:38px}.song-hero .score-thread,.em-hero .score-thread{height:38px;margin-top:25px}}
@media(max-width:700px){.individual-path{grid-template-columns:1fr;gap:25px;padding:30px 24px;margin-bottom:35px}.individual-path .button{justify-self:start;max-width:100%}}

/* Informativa: lettura semplice e tabella accessibile su mobile. */
.privacy-page .section{max-width:1000px}.privacy-page h1{font-size:clamp(44px,7vw,76px)}.privacy-page h2{font-size:clamp(26px,4vw,36px);margin-top:42px}.privacy-page li{margin-bottom:12px;line-height:1.65}.privacy-page a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.privacy-table{overflow-x:auto}.privacy-table table{width:100%;border-collapse:collapse;font-size:16px}.privacy-table th,.privacy-table td{text-align:left;vertical-align:top;padding:15px;border-bottom:1px solid #c8dcd1}.privacy-table th{background:#edf5f1;color:#143229}.privacy-page p{overflow-wrap:anywhere}
