/* Stessa identità; ritmo, leggibilità e stati condivisi. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.33,1,.68,1)}
html{scroll-padding-top:100px;-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
body{line-height:1.65}
main,section,article,.shell,.narrow{min-width:0}
.shell{width:min(1160px,100% - 48px)}
.narrow{width:min(760px,100% - 48px)}
h1,h2,h3{text-wrap:pretty}
h2{font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.16}
p.lead{max-width:65ch;color:var(--ink)}
.article-body p,.article-body li,.hero-intro{color:var(--ink)}
.hero-reassurance,.hero-orientation>p:not(.eyebrow),.orientation-path p:last-child,.service-rows p,.guide-card p,.guide-row p,.article-card p,.feature p,.step p,.step li{color:var(--ink)}
.guide-card-primary p,.guide-featured p{color:#dce9e5}
.guide-card p,.guide-row p,.article-card p,.cta-panel p{max-width:65ch}
.book-copy p,.faq-list p{max-width:65ch}
.guide-card-primary .article-meta,.guide-card-primary .text-link,.guide-featured .eyebrow,.guide-featured .article-meta,.guide-featured .text-link{color:var(--white)}
.section-heading{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.section-heading>div,.split>*,.footer-grid>*,.resource-card>*{min-width:0}
.eyebrow,.article-meta,.activity-age,.feature-number{font-size:.875rem;letter-spacing:0;text-transform:none;line-height:1.5}
.eyebrow,.article-meta,.activity-age{color:var(--teal)}
.wordmark-role{font-size:.8125rem;letter-spacing:.02em;text-transform:none}
.site-header{background:var(--paper);border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.header-inner{gap:1rem;min-height:80px}
.desktop-nav{gap:1rem}
.desktop-nav a{min-height:44px;display:inline-flex;align-items:center;position:relative}
.desktop-nav a::after{content:"";position:absolute;bottom:7px;left:0;right:0;height:2px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease-out)}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{transform:scaleX(1)}
a,button{touch-action:manipulation}
:focus-visible{outline:3px solid var(--teal);outline-offset:5px}
.section-dark :focus-visible,.site-footer :focus-visible,.cta-panel :focus-visible{outline-color:var(--white)}
.button{transition:background .18s,color .18s,transform .18s var(--ease-out);border-width:0;min-height:48px}
.button:not(.button-outline):not(.button-light):not(.button-light-outline):not(.button-quiet){background:var(--coral-dark)}
.button:not(.button-outline):not(.button-light):not(.button-light-outline):not(.button-quiet):hover{background:var(--teal)}
.button-outline{background:var(--teal-soft)}
.button-outline:hover{background:var(--teal)}
.button-light-outline{background:#ffffff18}
.button:hover{transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button:disabled{opacity:.65;cursor:wait;transform:none}
.text-link{display:inline-block;padding-block:.35rem;text-decoration-thickness:1.5px;text-underline-offset:.25em}
.hero-grid{grid-template-columns:1.08fr .92fr;gap:clamp(2rem,4vw,4rem);min-height:0;padding-block:clamp(3rem,5vw,5rem)}
.hero-copy h1{font-size:clamp(2.5rem,4.7vw,4.2rem);line-height:1.08;letter-spacing:-.035em}
.hero-copy h1 span{font-style:normal;color:var(--ink);font-size:.68em;letter-spacing:-.025em;margin-top:.2em}
.hero-intro{font-size:clamp(1.2rem,1.65vw,1.5rem);line-height:1.5;max-width:42ch}
.hero-orientation{box-shadow:none;border:0;border-radius:24px;padding:clamp(1.5rem,3.1vw,2.6rem)}
.hero-orientation::before{display:none}
.hero-orientation blockquote{font-size:clamp(1.5rem,2.2vw,1.9rem);line-height:1.3}
.hero-orientation ol,.hero-orientation li{border:0}
.hero-orientation ol{margin:1.3rem 0}
.hero-orientation li{padding:.6rem 0;gap:.6rem;grid-template-columns:26px 1fr}
.hero-orientation li span,.orientation-path>a>span,.service-rows>a>span{font-size:.8125rem;letter-spacing:0}
.hero-free{border-radius:999px;font-size:.9375rem}
.trust-band,.trust-row div+div,.orientation-path,.orientation-path>a+a,.service-rows,.service-rows>a{border:0}
.trust-row{gap:1rem}
.trust-row div{padding:1.8rem 1rem}
.trust-row span{display:block;margin-top:.25rem;font-size:.9375rem}
.orientation-path{gap:1.5rem}
.orientation-path>a{background:var(--cream);border-radius:var(--radius);padding:1.75rem 1.4rem;transition:background .2s}
.orientation-path>a:hover{background:var(--teal-soft)}
.service-rows>a{border-radius:16px;padding:1.3rem 1.1rem;gap:.8rem;grid-template-columns:24px minmax(0,1fr) auto;transition:background .2s}
.service-rows>a:nth-child(odd){background:var(--paper)}
.service-rows>a:hover{background:var(--teal-soft)}
.guide-card,.guide-row,.article-card,.feature,.service-item,.faq-list details,.book-panel,.resource-card,.resource-home-links>a{border:0;box-shadow:none}
.guide-card,.guide-row,.article-card{background:var(--cream);transition:background .2s,transform .25s var(--ease-out);min-height:0;padding:1.7rem}
.guide-card:hover,.guide-row:hover,.article-card:hover{background:var(--teal-soft);transform:translateY(-3px)}
.guide-card-primary{background:var(--teal);padding:2rem;min-height:210px}
.guide-card-primary:hover{background:var(--teal-dark)}
.guide-card h3{font-size:1.35rem;line-height:1.25}
.guide-card p{font-size:1rem}
.guide-card .text-link,.guide-row .text-link{padding-top:1rem}
.article-meta{margin-bottom:1.1rem;font-size:.8125rem;gap:.5rem;flex-wrap:wrap}
.service-item:hover,.service-item:focus-within{box-shadow:none;background:var(--teal-soft)}
.area-tags span{border:0;background:#ffffff12}
.book-panel{padding:clamp(1.5rem,4vw,3rem)}
.book-cover{transition:transform .4s var(--ease-soft)}
.book-image-link:hover .book-cover{transform:rotate(-2deg)}
.resource-home-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.resource-home-links>a{padding:1.25rem;gap:1rem;transition:background .2s,transform .25s var(--ease-out)}
.resource-home-links>a:hover{background:var(--teal-soft);transform:translateY(-3px)}
.resource-home-links>a img{width:76px;height:82px;object-fit:contain;flex-shrink:0}
.resource-home-links small{font-size:.875rem;line-height:1.5}
.resource-cover{transition:transform .4s var(--ease-soft)}
.resource-cover:hover{transform:rotate(0deg)}
.resource-cover img{box-shadow:none}
.resource-card p{color:var(--ink)}
.resource-tags span{border:0;background:var(--paper);font-size:.875rem}
.autunno-hero,.halloween-hero{background:var(--cream)}
.resource-card.libro{background:var(--teal-soft)}
.resource-card.libro .resource-cover{transform:none}
.resource-card.libro .resource-cover img{border-radius:0;aspect-ratio:4/5;object-fit:contain}
.resource-principles p{color:var(--ink)}
.illustrated-embed{display:block;width:100%;height:850px;border:0;border-radius:24px;background:var(--cream)}
.book-reader-section{padding-top:2rem;scroll-margin-top:95px}
.book-reader-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.book-reader-heading h2{margin:0;font-size:1.8rem}
.book-guide{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,5rem)}
.book-guide p{max-width:66ch}
.book-guide details{background:var(--paper);border-radius:16px;padding:1.2rem 1.4rem;margin-top:1.2rem}
.book-guide summary{cursor:pointer;font-weight:700;padding:.2rem 0;min-height:44px}
.book-guide details p:last-child{margin-bottom:0}
.book-guide .small{font-size:.9375rem}
.footer-note{border:0;max-width:1160px;font-size:.875rem}
.site-footer{padding-bottom:4rem}
.site-footer a{width:fit-content;max-width:100%;overflow-wrap:anywhere;min-height:32px}
.mobile-menu nav{border:0;padding:.8rem;border-radius:18px}
.mobile-menu nav a[aria-current="page"]{background:var(--teal-soft)}
.consent{max-width:1080px;border:0;padding:1.2rem 1.4rem;gap:1.5rem}
.consent-title{font-size:1.25rem;line-height:1.25}
.consent p:not(.consent-title){font-size:.875rem;line-height:1.5;max-width:62ch}
.consent-options{gap:.25rem 1rem}
.consent-options label{min-height:40px;font-size:.8125rem}
.consent-actions{gap:.5rem;align-items:stretch}
.consent-actions .button{font-size:.875rem;min-height:46px;padding:.7rem 1rem}
@media(min-width:1101px){.desktop-contact{font-size:.8125rem;padding-inline:1rem}}
@media(max-width:1100px){.desktop-nav,.desktop-contact{display:none}.mobile-menu{display:block}}
@media(max-width:900px){
 .hero-grid{grid-template-columns:1fr;gap:2rem;padding-block:3rem}
 .hero-copy{max-width:700px}.hero-copy h1{font-size:clamp(2.5rem,6.4vw,3.8rem)}
 .hero-orientation{display:grid;grid-template-columns:1fr 1fr;column-gap:2rem}
 .hero-orientation>p,.hero-orientation blockquote{grid-column:1}.hero-orientation ol{grid-column:2;grid-row:1/4;align-self:center;margin:0}
 .hero-orientation>.text-link{grid-column:2;align-self:start;width:fit-content}
 .section-heading{gap:2rem}.services-intro{position:static}
 .guide-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .consent{grid-template-columns:1fr;gap:.75rem;max-width:680px}
 .consent-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .consent-actions .button{width:100%}
}
@media(max-width:800px){.illustrated-embed{height:calc(min(540px,100vw - 76px) * 1.25 + 400px)}}
@media(max-width:700px){
 html{scroll-padding-top:80px}
 .shell,.narrow{width:calc(100% - 40px)}
 .header-inner{min-height:68px}
 .hero-grid{padding-block:2.25rem;gap:1.75rem}
 .hero-copy h1{font-size:clamp(2.1rem,9.7vw,3.4rem)}
 .hero-copy h1 span{font-size:.73em;margin-top:.25em}
 .hero-intro{font-size:1.2rem}.hero-reassurance{font-size:.9375rem}
 .hero-free{align-items:center;border-radius:16px}
 .hero-orientation{display:block;padding:1.5rem}.hero-orientation ol{margin:1.2rem 0}.hero-orientation blockquote{font-size:1.6rem}
 .section{padding-block:3.25rem}.section-heading{display:block;margin-bottom:2rem}.section-heading>div+div{margin-top:1.2rem}
 h2{font-size:clamp(1.8rem,7.2vw,2.2rem);line-height:1.17}
 .trust-row{gap:.25rem}.trust-row div{padding:1.3rem .4rem}.trust-row strong{font-size:1.05rem}.trust-row span{font-size:.8125rem}
 .orientation-path{gap:.8rem}.orientation-path>a{padding:1.5rem 1.25rem}
 .service-rows>a{padding:1.2rem .8rem;grid-template-columns:20px minmax(0,1fr) auto;gap:.55rem}
 .service-rows h3{font-size:1.35rem}
 .guide-home-grid,.resource-home-links{grid-template-columns:1fr}
 .guide-card,.guide-row,.article-card{padding:1.4rem}.guide-card h3{font-size:1.4rem}
 .guide-card-primary{padding:1.6rem;min-height:200px}
 .resource-home-links>a{padding:1rem;gap:.85rem}.resource-home-links>a img{width:65px;height:76px}
 .resource-card{padding:1.5rem;gap:1.5rem}.resource-card h2{font-size:1.9rem}
 .resource-card .resource-cover{max-width:180px}
 .illustrated-embed{height:calc((100vw - 76px) * 1.25 + 400px);min-height:700px;border-radius:20px}
 .book-reader-heading{align-items:flex-start;flex-direction:column;gap:.3rem}
 .book-reader-section{padding-top:1.5rem}.book-guide{grid-template-columns:1fr;gap:1rem}
 .page-hero h1{font-size:clamp(2rem,8.7vw,2.8rem);line-height:1.15}.page-hero .lead{font-size:1.12rem}
 .book-panel .book-copy h2{font-size:2rem}
 .mobile-actions{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;border:0}
 .consent{padding:1rem;left:.75rem;right:.75rem;bottom:calc(78px + env(safe-area-inset-bottom));gap:.5rem;max-height:calc(100dvh - 155px)}
 .consent-title{font-size:1.15rem;margin-bottom:.5rem}.consent p:not(.consent-title){margin-bottom:.5rem;font-size:.875rem}
 .consent-options{gap:0;display:grid;grid-template-columns:1fr}.consent-options label{min-height:34px;padding:0;align-items:center}.consent-options input{margin:0}
 .consent-actions{gap:.35rem}.consent-actions .button{font-size:.8125rem;line-height:1.25;padding:.65rem .35rem;min-height:48px}
 .site-footer{padding-top:3rem;padding-bottom:6rem}.footer-grid{gap:2rem}.footer-note{padding-top:0;margin-top:2rem}
 .site-footer a{min-height:44px}.social-links{gap:.25rem .75rem}
}
@media(max-width:360px){.shell,.narrow{width:calc(100% - 32px)}.trust-row{grid-template-columns:1fr}.trust-row div{padding:.7rem}.trust-row strong{font-size:1.1rem}.hero-copy h1{font-size:2.05rem}}
@keyframes settle-in{from{opacity:.72;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .hero-copy>*,.hero-orientation{animation:settle-in .7s var(--ease-out) both}
 .hero-copy>:nth-child(2){animation-delay:60ms}.hero-copy>:nth-child(3){animation-delay:120ms}.hero-copy>:nth-child(4){animation-delay:180ms}.hero-copy>:nth-child(5){animation-delay:240ms}.hero-copy>:nth-child(6){animation-delay:300ms}.hero-orientation{animation-delay:120ms}
 @supports(animation-timeline:view()){
  main>.section h2,main>.section .portrait-frame,main>.section .book-cover,main>.section .resource-cover{animation:settle-in .8s var(--ease-out) both;animation-timeline:view();animation-range:entry 0% entry 50%}
 }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.resource-hero .lead{font-size:clamp(1.125rem,1.8vw,1.35rem)}
@media(prefers-reduced-motion:no-preference){
 .resource-hero h1,.resource-hero .lead,.resource-hero .resource-note,.resource-hero .button-row{animation:settle-in .7s var(--ease-out) both}
 .resource-hero .lead{animation-delay:70ms}.resource-hero .resource-note{animation-delay:140ms}.resource-hero .button-row{animation-delay:210ms}
 @supports(animation-timeline:view()){
  .book-guide>div>p,.book-guide details,.book-reader-heading>*{animation:settle-in .8s var(--ease-out) both;animation-timeline:view();animation-range:entry 0% entry 50%}
 }
}
