/* Resources share the site's typography and colour system. */
.resource-hero{padding:clamp(3rem,6vw,5rem) 0 3rem;position:relative;overflow:hidden}.resource-hero h1{max-width:920px;font-size:clamp(2.4rem,5.5vw,4.5rem)}.resource-hero .lead{max-width:800px}.resource-note{margin:1.25rem 0 0;font-size:.95rem;color:var(--teal)}.autunno-hero{background:linear-gradient(120deg,#f6f1e8,#f9eedb)}.halloween-hero{background:linear-gradient(120deg,#f6f1e8,#efe9f4)}.resource-collections{display:grid;gap:1.5rem}.resource-card{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:2rem;align-items:center;padding:clamp(1.6rem,4vw,3rem);border:1px solid var(--line);border-radius:24px;background:#fff}.resource-card.autunno{background:#faf4e9}.resource-card.halloween{background:#f4eff7}.resource-card h2{font-size:clamp(1.9rem,3.8vw,2.8rem)}.resource-card p{max-width:640px;color:var(--muted)}.resource-cover{display:block;max-width:210px;transform:rotate(3deg)}.resource-card.halloween .resource-cover{transform:rotate(-3deg)}.resource-cover img{width:100%;height:auto;border-radius:10px;box-shadow:0 14px 30px #17333020}.resource-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 1.6rem}.resource-tags span{padding:.3rem .7rem;border:1px solid #17333020;border-radius:99px;font-size:.8rem;color:var(--teal)}.resource-download{display:block;width:fit-content;margin-top:1rem;font-size:.9rem;font-weight:650;color:var(--teal)}.resource-principles{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem}.resource-principles p{color:var(--muted)}.resource-cta{border-radius:24px;padding:clamp(1.5rem,4vw,3rem);background:var(--teal-soft);display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}.resource-cta h2{font-size:clamp(1.8rem,3vw,2.6rem)}.resource-cta .button-row{margin-top:0;justify-content:flex-end}.resource-home-links{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.resource-home-links>a{display:flex;gap:1rem;align-items:center;border:1px solid var(--line);padding:1.5rem;border-radius:18px;text-decoration:none;background:var(--cream)}.resource-home-links>a>span{font-size:2rem;color:var(--coral-dark)}.resource-home-links>a div{min-width:0}.resource-home-links small{display:block;color:var(--muted);margin-top:.3rem}.resource-home-links b{margin-left:auto;color:var(--teal)}
.activity-intro{display:flex;align-items:center;gap:1.5rem;justify-content:space-between;margin-bottom:1.8rem}.activity-intro h2{font-size:2rem;margin-bottom:.5rem}.activity-intro p{margin:0;color:var(--muted)}.tiny-control,.game-control{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:.6rem .9rem;color:var(--teal);cursor:pointer;font-weight:650;font-size:.87rem}.tiny-control[aria-pressed=true]{background:var(--teal-soft);border-color:var(--teal)}.app-controls{display:flex;gap:.5rem;flex-wrap:wrap}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.activity-tile{text-align:left;padding:1.3rem;border-radius:18px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;gap:.6rem;transition:border-color .2s,transform .2s}.activity-tile:hover{border-color:var(--teal);transform:translateY(-2px)}.tile-preview{height:140px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--cream);overflow:hidden;margin-bottom:.45rem}.tile-preview img{height:90%;width:90%;object-fit:contain;mix-blend-mode:multiply}.activity-tile strong{font-family:Georgia,serif;font-size:1.3rem;line-height:1.25;font-weight:500}.activity-tile small{color:var(--muted);line-height:1.5}.tile-action{font-size:.85rem;color:var(--teal);font-weight:750;margin-top:auto;padding-top:.4rem}.activity-age{font-size:.7rem;color:var(--coral-dark);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.game-shell{border:1px solid var(--line);background:#fff;border-radius:24px;overflow:hidden;margin-top:1.5rem}.game-toolbar{padding:1rem 1.4rem;border-bottom:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;align-items:center;background:var(--cream)}.game-toolbar h2{font-size:1.5rem;margin:0}.game-toolbar>div{display:flex;gap:.5rem;flex-wrap:wrap}.game-instruction{padding:1.5rem 1.5rem 0;text-align:center;color:var(--teal);font-size:1.1rem;font-weight:600}.game-stage{padding:1.25rem 1.5rem 1.5rem;min-height:350px;position:relative;isolation:isolate}.game-status{min-height:3rem;text-align:center;padding:.5rem 1rem 1rem;color:var(--teal);font-weight:650}.adult-tip{font-size:.9rem;padding:1.1rem 1.5rem;background:#f6f1e8;color:var(--muted);border-top:1px solid var(--line)}.adult-tip strong{color:var(--teal)}.game-shell.expanded{position:fixed;inset:12px;z-index:450;margin:0;overflow:auto;box-shadow:0 0 0 100vmax #17333088;border-radius:16px;overscroll-behavior:contain}.game-shell.expanded .game-stage{min-height:50vh}.resource-page.game-open{overflow:hidden}.play-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:650px;margin:auto}.sound-grid.halloween-sounds{grid-template-columns:repeat(3,minmax(0,1fr));max-width:740px}.art-button{border:1px solid var(--line);background:#fff;border-radius:16px;padding:.8rem;cursor:pointer;min-width:0;color:var(--teal);font-weight:650;overflow:hidden}.art-button img{width:100%;height:140px;object-fit:contain}.art-button span{display:block;margin-top:.5rem}.art-button.playing{background:#f5f1e9;border-color:var(--coral-dark)}.art-button.playing img{animation:resource-wiggle .6s ease}.halloween-sounds .art-button img{height:190px}.story-picture{max-width:270px;height:220px;margin:auto;object-fit:contain}.story-sentence{font-family:Georgia,serif;font-size:clamp(1.4rem,3vw,2rem);text-align:center;max-width:650px;margin:1rem auto;line-height:1.35}.story-controls,.selector-row{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:1rem 0}.selector-row select{padding:.6rem;border-radius:10px;border:1px solid var(--line);font:inherit;color:var(--teal);max-width:100%}.step-dots{display:flex;gap:.4rem;justify-content:center;margin-top:.8rem}.step-dots span{height:8px;width:8px;background:var(--line);border-radius:50%}.step-dots span.active{background:var(--coral-dark)}.paint-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.colored-art{display:block;position:relative;width:100%;max-width:360px;margin:auto;aspect-ratio:1/1;overflow:hidden;background:#fff}.colored-art .art-base{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.colored-art .art-color{position:absolute;inset:0;background:var(--paint,#d8843e);mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;opacity:0;transition:opacity .55s ease}.colored-art.painted .art-color{opacity:.8}.art-button .colored-art{height:150px}.palette{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:1rem auto}.color-choice{border:2px solid transparent;background:#fff;border-radius:12px;padding:.35rem .45rem .5rem;min-width:62px;min-height:65px;cursor:pointer;color:var(--ink);font-size:.76rem}.color-choice i{display:block;background:var(--swatch);width:32px;height:32px;border-radius:50%;margin:auto auto .3rem;border:1px solid #17333033}.color-choice[aria-pressed=true]{border-color:var(--teal);background:var(--teal-soft)}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;max-width:620px;margin:auto}.memory-grid.small{grid-template-columns:repeat(2,minmax(0,1fr));max-width:400px}.memory-card{aspect-ratio:1;border:1px solid var(--line);border-radius:14px;cursor:pointer;background:var(--teal-soft);padding:.5rem;position:relative;color:var(--teal);font-size:2rem}.memory-card img{width:100%;height:100%;object-fit:contain;visibility:hidden}.memory-card:after{content:'✦';position:absolute;inset:0;display:grid;place-items:center}.memory-card.revealed,.memory-card.matched{background:#fff}.memory-card.revealed img,.memory-card.matched img{visibility:visible}.memory-card.revealed:after,.memory-card.matched:after{display:none}.memory-card.matched{border:2px solid var(--teal)}.puzzle-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:740px;margin:auto}.puzzle-target,.puzzle-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:4px;aspect-ratio:1/1}.puzzle-slot,.puzzle-piece{min-width:0;border:1px dashed #aabbb5;border-radius:6px;background:#f6f1e8;aspect-ratio:auto;cursor:pointer;padding:0;background-repeat:no-repeat;background-size:300% 200%}.puzzle-slot.filled,.puzzle-piece{border:1px solid var(--line);background-color:#fff}.puzzle-piece[aria-pressed=true]{outline:3px solid var(--teal);outline-offset:1px}.puzzle-preview{width:90px;height:90px;object-fit:contain;display:block;margin:0 auto 1rem}.trace-board{position:relative;max-width:450px;margin:auto;aspect-ratio:1/1;touch-action:none;border-radius:14px;background:#fff}.trace-board .colored-art{max-width:none;height:100%}.trace-board svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.trace-line{fill:none;stroke:#b95140;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.path-board{max-width:780px;margin:auto;background:#fcf8f1;border-radius:16px;padding:.7rem}.path-board svg{display:block;width:100%;height:auto;touch-action:none}.path-guide{stroke:#899f98;stroke-width:2;stroke-dasharray:3 6;fill:none}.path-painted{stroke:var(--teal);stroke-width:7;stroke-linecap:round;fill:none}.path-mover{fill:#fff;stroke:var(--teal);stroke-width:2}.maze-board{position:relative;max-width:550px;margin:auto;aspect-ratio:1;background:#fff;touch-action:none}.maze-board img{width:100%;height:100%;object-fit:fill}.maze-board svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.maze-track{fill:none;stroke:#15564f;stroke-width:2;stroke-opacity:.4;stroke-linecap:round;stroke-linejoin:round}.maze-player{fill:#b95140;stroke:#fff;stroke-width:.9}.maze-goal{fill:#15564f;stroke:#fff;stroke-width:.9}.maze-arrows{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,48px);justify-content:center;gap:5px;margin-top:1rem}.maze-arrows button{font-size:1.3rem}.maze-arrows button:first-child{grid-column:2}.maze-arrows button:nth-child(2){grid-column:1;grid-row:2}.maze-arrows button:nth-child(3){grid-column:2;grid-row:2}.maze-arrows button:nth-child(4){grid-column:3;grid-row:2}.spider-layer{position:fixed;inset:0;z-index:210;pointer-events:none;overflow:hidden}.spider-button{position:absolute;top:0;width:58px;height:230px;padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer;transform:translateY(-110%);animation:spider-descend 6s ease-in-out forwards}.spider-button svg{width:58px;height:230px;overflow:visible}.spider-button.tickle svg{animation:resource-wiggle .45s ease}.spider-button.returning{animation:spider-return .8s ease-in forwards}.app-hide{display:none!important}.motion-off *{animation:none!important;transition:none!important}.motion-off .spider-button{transform:translateY(0)}
@keyframes resource-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes spider-descend{0%{transform:translateY(-110%)}25%,70%{transform:translateY(0)}100%{transform:translateY(-110%)}}@keyframes spider-return{from{transform:translateY(0)}to{transform:translateY(-110%)}}
@media(max-width:1050px){.resource-page .desktop-nav{gap:.8rem;font-size:.9rem}.resource-page .desktop-contact{display:none}}
@media(max-width:700px){.resource-hero{padding:2.4rem 0 2.2rem}.resource-hero h1{font-size:clamp(2rem,8.7vw,2.8rem)}.resource-card{grid-template-columns:minmax(0,1fr);gap:1.6rem;padding:1.5rem}.resource-cover{max-width:145px;margin:auto;grid-row:1}.resource-card h2{font-size:1.9rem}.resource-card .button{width:100%}.resource-principles,.resource-cta{grid-template-columns:1fr;gap:1.3rem}.resource-home-links{grid-template-columns:1fr}.activity-intro{align-items:flex-start;flex-direction:column;gap:1rem}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.activity-tile{padding:1rem;gap:.4rem}.activity-tile strong{font-size:1.18rem}.tile-preview{height:100px}.activity-tile small{font-size:.8rem}.game-toolbar{padding:1rem;align-items:flex-start;flex-direction:column;gap:.8rem}.game-toolbar h2{font-size:1.4rem}.game-stage{padding:1rem;min-height:290px}.game-instruction{padding:1.2rem 1rem 0;font-size:1rem}.adult-tip{padding:1rem}.game-shell{border-radius:18px}.art-button{padding:.5rem}.art-button img{height:110px}.halloween-sounds .art-button img{height:145px}.sound-grid.halloween-sounds{grid-template-columns:repeat(2,minmax(0,1fr))}.paint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.art-button .colored-art{height:130px}.memory-grid{gap:.45rem}.memory-card{border-radius:10px;padding:.2rem}.puzzle-wrap{grid-template-columns:1fr;max-width:330px;gap:1rem}.puzzle-tray{max-width:280px;width:100%;margin:auto;aspect-ratio:1.3}.story-picture{height:180px}.spider-button{width:48px}.spider-button svg{width:48px}.game-shell.expanded{inset:6px 6px calc(70px + env(safe-area-inset-bottom));z-index:450}.game-shell.expanded .game-stage{min-height:300px}.game-shell.expanded .game-toolbar{position:sticky;top:0;z-index:4}.resource-cta .button-row{width:100%}.resource-home-links>a{padding:1.2rem}.path-board{padding:.25rem}}
@media(prefers-reduced-motion:reduce){.spider-button{animation:none;transform:translateY(0)}.art-button.playing img,.spider-button.tickle svg{animation:none}.colored-art .art-color,.activity-tile{transition:none}.activity-tile:hover{transform:none}}
.resource-page [hidden]{display:none!important}
.spider-button{pointer-events:none;top:64px}.spider-button svg ellipse,.spider-button svg circle{pointer-events:visiblePainted}
.game-shell{scroll-margin-top:82px}
.puzzle-piece{touch-action:none}
@media(max-width:1100px){.desktop-nav,.desktop-contact{display:none}.mobile-menu{display:block}}

.listen-colour{background:var(--teal);color:white;border-color:var(--teal);padding:.8rem 1.2rem;min-height:48px}.listen-colour:hover{background:var(--teal-dark)}.audio-credits{margin-top:1.5rem;font-size:.85rem;color:var(--muted)}.audio-credits summary{cursor:pointer;color:var(--teal);padding:.6rem 0;min-height:44px}.audio-credits ul{padding-left:1.2rem}.audio-credits li{margin-bottom:.65rem}.audio-credits a{color:var(--teal);overflow-wrap:anywhere}

/* Una sola raccolta; le figure mantengono sempre le proporzioni originali. */
.resource-home-links{grid-template-columns:minmax(0,1fr)}
.maze-board{aspect-ratio:var(--maze-aspect,1)}

.art-button[data-paint] .colored-art{height:auto;max-width:300px;aspect-ratio:1/1}
