@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#173e2c;--deep:#132e23;--yellow:#f2d564;--cream:#f8f7f1;--muted:#626b60}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--deep);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:500;line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(45px,5.3vw,82px);margin-bottom:24px}h2{font-size:clamp(35px,3.5vw,54px);margin-bottom:25px}h3{font-size:27px;letter-spacing:-.035em}em{font-family:Georgia,serif;font-weight:400}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button,input,select,textarea{outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}button,a.button{cursor:pointer}header{height:105px;display:flex;align-items:center;gap:32px;padding:0 4.5%;background:var(--cream)}.brand{display:flex;align-items:center;gap:8px;min-width:185px}.brand>img{width:62px;height:57px;object-fit:contain}.brand>span{font-size:23px;font-weight:800;letter-spacing:.02em;line-height:1.15}.brand>span>span{display:block;font-size:11px;letter-spacing:.12em;margin-top:6px}nav{display:flex;gap:25px;align-items:center;flex:1;justify-content:center;font-size:14px;font-weight:600}nav a{padding:7px 0;border-bottom:1px solid transparent}nav a:hover,nav a[aria-current]{border-color:var(--green)}.nav-cta{font-size:14px;border:1px solid #254633;border-radius:7px;padding:12px 18px}.nav-toggle{display:none}.hero{position:relative;height:660px;min-height:550px;color:white;margin:0 22px;border-radius:12px;overflow:hidden}.hero>img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero>img{object-position:65% 45%}.hero-shade{background:linear-gradient(90deg,rgba(9,32,18,.86),rgba(9,32,18,.48) 44%,rgba(9,32,18,.03) 85%)}.hero-copy{position:relative;max-width:750px;padding:68px 5%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;line-height:1.5;margin-bottom:20px}.hero-copy h1{letter-spacing:-.055em}.hero-copy p:not(.eyebrow){color:#eef1e9;font-size:18px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--green);color:white;border:1px solid var(--green);border-radius:6px;padding:15px 23px;font-size:15px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#28553d}.button.yellow{background:var(--yellow);color:var(--deep);border-color:var(--yellow)}.button.outline{color:var(--green);background:transparent;border-color:#7e8e7e}.hero-note{position:absolute;right:40px;bottom:37px;border-left:1px solid #ffffff77;padding-left:23px}.hero-note span{font-size:11px;letter-spacing:.14em}.hero-note p{font-size:19px;margin:8px 0 0}.ribbon{display:flex;align-items:center;justify-content:space-around;gap:15px;padding:26px 6%;border-bottom:1px solid #dce1d7;font-size:14px}.ribbon b{font-size:23px;color:#82956b}.section{padding:95px max(6%,calc((100% - 1300px)/2))}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);margin-bottom:4px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card-image{position:relative;overflow:hidden;border-radius:10px}.card-image img{width:100%;height:320px;transition:transform .5s}.experience:hover img{transform:scale(1.04)}.card-image>span{position:absolute;left:16px;top:16px;background:var(--cream);border-radius:50%;height:37px;width:37px;text-align:center;line-height:37px;font-size:13px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:22px}.card-heading h3{font-size:26px;margin-bottom:12px}.card-heading>span{font-size:28px}.experience>p{font-size:16px;color:var(--muted);max-width:330px}.story{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:center;background:#e9eddf}.story p{max-width:490px;color:#53624f}.gallery-section{padding-bottom:70px}.gallery-section .section{padding-bottom:0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 22px}.gallery img{height:300px;width:100%;border-radius:9px}.gallery img:nth-child(even){margin-top:30px}.text-link{border-bottom:1px solid var(--green);padding-bottom:5px;font-size:15px}footer{background:var(--green);color:#f4f5ea;padding:65px 6% 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:40px;border-bottom:1px solid #ffffff33}.footer-top h2{margin-bottom:0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.4fr .9fr;gap:30px;padding:45px 0;font-size:14px}.footer-grid p{margin-top:12px;color:#c6d3c2;font-size:14px}.footer-brand{font-weight:700}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#bfceb9;border-top:1px solid #ffffff25;padding-top:20px}.page-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:42px 6% 70px}.page-hero>img{width:100%;height:500px;border-radius:12px}.page-hero h1{font-size:clamp(43px,4.5vw,66px)}.intro{color:var(--muted);max-width:500px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px}.info-panel{background:#e9eddf;padding:36px;border-radius:8px}.subhead{margin-top:70px}.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.price{padding:30px;border:1px solid #ccd4c6;border-radius:8px}.price h3{font-size:21px}.price strong{font-size:39px;font-weight:500}.price p{font-size:15px;color:var(--muted);margin:12px 0 0}.muted{color:var(--muted);font-size:14px}.booking-section{background:#e9eddf;padding:80px 6%;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.booking-intro p{max-width:360px}.notice{font-size:14px;background:#f3e7ac;padding:20px;border-radius:6px;max-width:350px}form{background:var(--cream);padding:32px;border-radius:12px}fieldset{padding:0 0 30px;margin:0 0 25px;border:0;border-bottom:1px solid #d6dccf;min-width:0}fieldset:last-child{border:0;margin:0;padding:0}legend{font-size:23px;font-weight:600;margin-bottom:22px}label{display:block;font-size:14px;font-weight:500}input:not([type=radio]),select,textarea{display:block;width:100%;min-width:0;padding:12px;background:#fff;border:1px solid #b9c5b3;border-radius:5px;color:var(--deep);margin:7px 0 15px}textarea{resize:vertical}.choice-row{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:22px}.choice-row label{border:1px solid #b9c5b3;border-radius:5px;padding:13px;flex:1;white-space:nowrap}.choice-row label:has(:checked){background:var(--green);color:white}.choice-row input{accent-color:var(--yellow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.person{border-top:1px solid #d6dccf;padding-top:18px}.person h3{font-size:18px}#summary{padding:15px 0;font-weight:600}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.7 'DM Sans',sans-serif;background:#e9eddf;padding:20px;border-radius:6px}.event-list article{display:flex;gap:28px;border-top:1px solid #b9c5b3;padding:25px 0}.event-list article>span{font-size:14px}.event-list h3{font-size:26px}.event-list p{color:var(--muted)}.green-panel{background:var(--green);color:white;margin:0 6% 80px;padding:55px;border-radius:12px}.green-panel p{max-width:720px}.green-panel .muted{color:#c7d4bf}.text-cards article{border-top:1px solid #b9c5b3;padding:30px 15px 0 0}.text-cards h3{margin-top:22px}.text-cards p{color:var(--muted)}.wide-photo{height:430px;width:100%;border-radius:12px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-big{font-size:33px;letter-spacing:-.04em}.contact-grid a{overflow-wrap:anywhere}
@media(min-width:1500px){.hero{height:740px}.hero-copy{padding-top:90px}}@media(max-width:1100px){header{gap:20px;padding:0 4%}.nav-cta{display:none}nav{gap:18px}.story{gap:45px}.footer-grid{grid-template-columns:1fr 1fr}.booking-section{gap:30px}.card-image img{height:270px}.gallery img{height:240px}}@media(max-width:760px){header{height:85px;justify-content:space-between;position:relative}.brand>img{height:45px;width:49px}.brand>span{font-size:21px}.nav-toggle{display:block;border:1px solid #b9c5b3;background:transparent;border-radius:5px;font-size:23px;padding:4px 12px}nav{display:none;position:absolute;top:85px;left:0;right:0;z-index:20;background:var(--cream);padding:20px 7%;flex-direction:column;align-items:stretch;gap:10px;box-shadow:0 15px 20px #0002}nav.open{display:flex}.hero{margin:0 12px;height:630px}.hero-copy{padding:48px 7%}.hero-copy h1{font-size:53px}.hero-copy .eyebrow{font-size:10px;max-width:230px}.hero-shade{background:linear-gradient(90deg,#092012d9,#09201255)}.hero>img{object-position:65%}.hero-note{display:none}.ribbon{flex-wrap:wrap;gap:10px 16px;font-size:12px;padding:20px 6%}.ribbon span{width:42%;text-align:center}.ribbon b{display:none}.section{padding:65px 6%}.section-heading{display:block}.section-heading>p,.section-heading>a{margin-top:24px}.cards,.two-columns,.story,.page-hero,.booking-section,.contact-grid{grid-template-columns:1fr}.cards{gap:30px}.card-image img{height:340px}.story{gap:45px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery img{height:220px}.gallery img:nth-child(even){margin-top:15px}.footer-top{display:block}.footer-top>.button{margin-top:25px}.footer-grid{grid-template-columns:1fr;gap:12px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}.page-hero{padding:30px 6% 20px;gap:25px}.page-hero>img{height:330px}.prices{grid-template-columns:1fr 1fr;gap:12px}.price{padding:20px}.price h3{font-size:19px}.price strong{font-size:33px}.booking-section{padding:55px 5%;gap:35px}form{padding:22px}.form-grid{grid-template-columns:1fr}.form-grid:has(.age){grid-template-columns:1fr 1fr}.booking-intro p,.notice{max-width:none}.green-panel{padding:35px 7%}.wide-photo{height:340px}.contact-grid{gap:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand>img{width:186px;height:65px;object-fit:contain}@media(max-width:760px){.brand>img{width:165px;height:55px}}
[hidden]{display:none!important}.ribbon{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:#e9eddf;padding:30px 6%}.ribbon>div{display:grid;grid-template-columns:42px 1fr;align-items:center;column-gap:12px}.ribbon>div>span{grid-row:span 2;background:var(--yellow);color:var(--green);font-size:25px;display:grid;place-items:center;width:42px;height:48px;border-radius:16px 16px 7px 16px}.ribbon strong{font-size:15px;line-height:1.35}.ribbon small{font-size:13px;color:#516048;margin-top:4px}.experience{background:white;border:1px solid #cbd5c4;border-radius:15px;overflow:hidden;box-shadow:0 5px 18px #173e2c08;transition:transform .2s,box-shadow .2s}.experience:hover{transform:translateY(-4px);box-shadow:0 12px 24px #173e2c15}.experience .card-image{border-radius:0}.experience .card-heading{padding:0 23px}.experience>p{padding:0 23px 24px;max-width:none;margin-bottom:0}.maps-button{display:inline-block;border:1px solid #b5c9ab;border-radius:5px;padding:9px 16px;margin-top:3px;font-size:14px;font-weight:600}.visit-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:65px;padding:25px;background:#e9eddf;border-radius:10px}.visit-facts strong,.visit-facts span{display:block}.visit-facts span{font-size:14px;margin-top:5px}.diet-note{display:flex;flex-wrap:wrap;gap:7px 18px;background:#e9eddf;padding:18px 23px;border-radius:7px;margin:20px 0}.diet-note span{font-size:15px}.important-note,.confirmation-note{background:#fff0b6;border-left:5px solid #b67c13;padding:25px 28px;border-radius:6px;margin:26px 0;color:#392c0a}.important-note h3{font-size:25px}.important-note ul{padding-left:21px;margin-bottom:0}.important-note li{padding:4px 0;font-size:16px}.confirmation-note strong{font-size:18px;line-height:1.4;display:block}.confirmation-note p{font-size:16px;margin:10px 0 0}.workshops{padding-top:15px}.event-list article{display:block;border:1px solid #cbd5c4;border-radius:12px;overflow:hidden;padding:0;margin-bottom:25px;background:#fff}.event-list article>img{width:100%;height:230px}.event-copy{padding:24px}.event-cost{display:grid;grid-template-columns:1fr 1fr;padding:0;overflow:hidden;gap:0}.event-cost>img{height:100%;min-height:460px;width:100%}.event-cost>div{padding:45px}.text-cards article{border:1px solid #cbd5c4;border-radius:12px;padding:0 22px 24px;overflow:hidden;background:white}.school-photos{display:grid;grid-template-columns:1.4fr 1fr;gap:5px;margin:0 -22px 24px;height:260px}.school-photos img{width:100%;height:100%}.school-request{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;background:#e9eddf}.interests label{font-size:16px;padding:9px 0}.interests input{display:inline-block!important;width:auto!important;margin-right:8px!important;accent-color:var(--green)}.interests legend{font-size:21px}.error{color:#a02615;font-weight:600}.menu-description{padding:12px;background:#e9eddf;border-radius:5px}#school-email-preview h3{margin-top:28px}#school-email-preview .button{margin:5px 5px 5px 0}
@media(max-width:1000px){.ribbon{grid-template-columns:1fr 1fr}.school-request{gap:25px}.event-cost>div{padding:30px}}@media(max-width:760px){.ribbon{padding:24px 5%;gap:22px 12px}.ribbon>div{grid-template-columns:1fr;justify-items:start}.ribbon>div>span{grid-row:auto;width:40px;height:42px;margin-bottom:9px}.ribbon strong{font-size:15px}.ribbon small{font-size:13px}.experience .card-image img{height:290px}.visit-facts,.school-request,.event-cost{grid-template-columns:1fr}.visit-facts{gap:18px}.event-cost>img{min-height:0;height:250px}.event-cost>div{padding:30px 25px}.important-note,.confirmation-note{padding:22px 18px}.prices{grid-template-columns:1fr 1fr}.price p{font-size:14px}.school-photos{height:265px}.school-request{gap:25px}.event-list article>img{height:250px}}
.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:40px}.photo-strip img{width:100%;height:270px;border-radius:10px}.food-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.food-strip img{width:100%;height:270px;border-radius:10px}.home-gallery{grid-template-columns:repeat(4,1fr);row-gap:25px}.event-moments .photo-strip{grid-template-columns:repeat(3,1fr)}.event-moments{padding-top:10px}.event-moments .photo-strip img{height:340px}.school-moments{padding-top:60px}.school-photos img{object-position:center}.home-gallery img:nth-child(n+5){margin-top:0}
@media(max-width:760px){.photo-strip,.home-gallery{grid-template-columns:1fr 1fr;gap:12px}.photo-strip img{height:220px}.food-strip{grid-template-columns:1fr 1fr;gap:12px}.food-strip img{height:220px}.food-strip img:last-child{grid-column:span 2;height:270px}.event-moments .photo-strip{grid-template-columns:1fr}.event-moments .photo-strip img{height:330px}.school-moments{padding-top:45px}.home-gallery img{height:220px}.home-gallery img:nth-child(even){margin-top:0}}
.photo-album{background:#eef0e5}.photo-album .album-intro{max-width:750px;color:#53624f;margin-bottom:35px}.album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.album-photo{border:0;padding:0;background:white;border-radius:10px;overflow:hidden;text-align:left;color:var(--deep);box-shadow:0 3px 15px #173e2c0b}.album-photo img{width:100%;height:230px;object-fit:cover;transition:transform .3s}.album-photo:hover img{transform:scale(1.035)}.album-photo>span{display:flex;justify-content:space-between;gap:12px;padding:15px;font-size:14px}.album-photo b{font-size:18px;font-weight:400}.album-actions{display:flex;align-items:center;gap:25px;margin-top:32px}.album-actions p{margin:0}.photo-viewer{border:0;border-radius:12px;padding:24px;background:#10251c;color:#fff;width:min(1000px,94vw);max-height:94dvh;overflow:auto}.photo-viewer::backdrop{background:#08180eea}.photo-viewer>img{width:100%;height:72dvh;object-fit:contain}.photo-viewer>p{margin:15px 55px 5px 0;font-size:16px}.viewer-close{position:absolute;right:15px;top:12px;border:1px solid #ffffff77;background:#10251cd9;color:white;border-radius:50%;width:42px;height:42px;font-size:30px;line-height:1}.viewer-navigation{display:flex;align-items:center;justify-content:center;gap:22px}.viewer-navigation button{border:1px solid #c7d4bf;background:transparent;color:white;border-radius:50%;width:42px;height:42px;font-size:24px}.viewer-count{font-size:14px}.hero>img[src*="album/100"]{object-position:62% center}
@media(max-width:1000px){.album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.album-photo img{height:190px}.album-photo>span{font-size:14px;padding:12px;line-height:1.4}.album-actions{flex-direction:column;align-items:flex-start;gap:15px}.photo-viewer{padding:14px}.photo-viewer>img{height:65dvh}.photo-viewer>p{font-size:14px}.hero>img[src*="album/100"]{object-position:56% center}}
header{position:sticky;top:0;z-index:100;box-shadow:0 3px 14px #173e2c12}nav.open{max-height:calc(100dvh - 90px);overflow:auto}.album-photo>span,.photo-viewer>p{display:none}.album-photo img{height:250px}.viewer-navigation{margin-top:18px}.with-photo{overflow:hidden}.with-photo>img{width:calc(100% + 72px);max-width:none;height:240px;margin:-36px -36px 28px}.school-photos{display:block}.school-photos img{width:100%;height:100%;object-fit:cover}.posters{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.posters.single{grid-template-columns:minmax(0,660px);justify-content:center}.poster-card{background:white;border:1px solid #cbd5c4;border-radius:12px;padding:25px}.poster-card h3{font-size:25px;line-height:1.3}.poster-card img{height:auto;width:100%;object-fit:contain;border-radius:5px}.poster-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.poster-actions .button{font-size:14px;padding:13px 16px}.required-note{background:#e9eddf;padding:15px;border-radius:5px;font-size:15px;font-weight:600}.poster-section{background:#f4f3e9}
@media(max-width:760px){header{position:sticky;top:0}.posters{grid-template-columns:1fr}.poster-card{padding:18px}.poster-actions{flex-direction:column}.poster-actions .button{width:100%}.album-photo img{height:210px}.with-photo>img{height:240px}.school-photos{height:290px}}
.workshop-intro{display:block;padding:24px 28px;border:1px solid #cbd5c4;background:white;border-radius:10px;margin:0 0 38px;position:relative}.workshop-intro p{margin:0 0 12px}.workshop-intro p:last-child{margin:0;color:#53624f;font-size:16px}.workshops>.two-columns{align-items:start;gap:30px}.payment-note,.weather-note{padding:20px 22px;border-radius:8px;margin:22px 0;background:#fff}.payment-note{border-left:4px solid var(--green)}.weather-note{background:#fff0b6;border-left:4px solid #b67c13}.payment-note p,.weather-note p{font-size:15px;margin:10px 0 0}.booking-intro .payment-note p,.booking-intro .weather-note p{max-width:none}

.reviews-section{background:var(--green);color:#f8f7f1}.reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:42px}.reviews-heading h2{margin-bottom:0;max-width:760px}.google-score{display:flex;align-items:center;gap:18px;min-width:330px;padding:20px 23px;border:1px solid #ffffff3d;border-radius:12px;background:#ffffff0b;transition:transform .2s,background .2s}.google-score:hover{transform:translateY(-2px);background:#ffffff14}.google-score>strong{font-family:'Manrope',sans-serif;font-size:50px;font-weight:500;line-height:1}.google-score>span{display:grid}.score-stars{color:var(--yellow);font-size:19px;letter-spacing:.08em;line-height:1}.google-score b{font-size:14px;margin-top:8px}.google-score small{font-size:11px;color:#c7d4c2;margin-top:3px}.review-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review-cards article{display:flex;flex-direction:column;min-height:255px;padding:29px;background:#f8f7f1;color:var(--deep);border-radius:12px}.review-mark{color:#d2aa24;font-family:Georgia,serif;font-size:64px;line-height:.7}.review-cards blockquote{margin:24px 0 32px;font-family:'Manrope',sans-serif;font-size:23px;line-height:1.35;letter-spacing:-.025em}.review-cards p{margin:auto 0 0;font-weight:700;font-size:14px}.review-cards p span{font-weight:400;color:var(--muted)}.reviews-action{display:flex;justify-content:center;margin-top:35px}.reviews-section .button.outline{color:#f8f7f1;border-color:#a9bca8}.reviews-section .button.outline:hover{background:#28553d}
@media(max-width:760px){.reviews-heading{display:block;margin-bottom:30px}.google-score{min-width:0;width:100%;margin-top:28px}.google-score>strong{font-size:44px}.review-cards{display:flex;overflow-x:auto;gap:14px;margin-right:-6%;padding-right:6%;padding-bottom:10px;scroll-snap-type:x mandatory}.review-cards article{min-width:84vw;min-height:235px;scroll-snap-align:start}.review-cards blockquote{font-size:21px}.reviews-action{justify-content:stretch}.reviews-action .button{width:100%;gap:15px}}

/* Le pagine interne riprendono l'impatto visivo della Home: foto piena e testo in sovrimpressione. */
/* Una sola foto accompagna il racconto, dopo il titolo anche su telefono. */
.story{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"heading photo" "copy photo";gap:20px 60px}
.story-heading{grid-area:heading;align-self:end}
.story-heading h2{margin-bottom:0}
.story-copy{grid-area:copy;align-self:start}
.story-photo{grid-area:photo;width:100%;height:auto;aspect-ratio:1;object-fit:contain;object-position:center;border-radius:10px}
@media(max-width:760px){.story{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "photo" "copy";gap:25px}}
/* Le miniature sono elementi visibili, senza dipendere dal caricamento differito nei pulsanti. */
.album-photo{display:block;width:100%;min-width:0;line-height:0;appearance:none}
.album-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;opacity:1;visibility:visible}

.page-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:560px;margin:0 22px;padding:70px max(6%,calc((100% - 1300px)/2));overflow:hidden;border-radius:12px;color:#fff}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,28,17,.9) 0%,rgba(7,28,17,.68) 48%,rgba(7,28,17,.2) 100%),linear-gradient(0deg,rgba(5,20,12,.48),transparent 62%)}
.page-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;border-radius:0;object-fit:cover}
.page-hero>div{max-width:760px}
.page-hero .eyebrow,.page-hero h1,.page-hero .intro{color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.58),0 1px 2px rgba(0,0,0,.72)}
.page-hero h1{font-size:clamp(48px,5.2vw,76px);margin-bottom:24px}
.page-hero .intro{max-width:630px;margin-bottom:0;font-size:18px;line-height:1.62}
.page-hero>img[src*="tartaruga"]{object-position:center 48%}
.page-hero>img[src*="scuole-asino"]{object-position:center 45%}
.page-hero>img[src*="camaleonte"]{object-position:center}

@media(max-width:760px){
  .page-hero{min-height:570px;margin:0 12px;padding:48px 7%;align-items:flex-end}
  .page-hero::before{background:linear-gradient(90deg,rgba(7,28,17,.87),rgba(7,28,17,.55)),linear-gradient(0deg,rgba(5,20,12,.55),transparent 68%)}
  .page-hero h1{font-size:clamp(42px,13vw,58px);line-height:1.04}
  .page-hero .intro{font-size:17px;line-height:1.55}
}

/* La richiesta si apre subito sotto la presentazione, in un riquadro ben riconoscibile. */
.workshops>.important-note{margin:36px 0 0}
.booking-section{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;width:min(88%,1100px);margin:0 auto 80px;padding:36px;background:#f5d45d;border:5px solid #23623b;border-radius:20px;box-shadow:0 12px 35px #173e2c1a;scroll-margin-top:12px}
.booking-intro .eyebrow{font-size:.875rem;margin-bottom:12px;color:#173e2c}
.booking-intro h2{font-size:clamp(1.875rem,3vw,2.75rem);line-height:1.15;margin-bottom:14px;font-weight:600}
.booking-intro p{max-width:none;margin-bottom:0;font-size:1.0625rem;line-height:1.5}
.booking-section #booking{min-width:0;background:#fff;padding:28px;border:2px solid #23623b;border-radius:12px}
#booking legend{color:#173e2c;font-size:1.375rem;line-height:1.35}
#booking .choice-row label{border:2px solid #77a883;font-size:1rem;white-space:normal;min-width:0}
#booking .choice-row label:has(:checked){background:#247a39;border-color:#247a39;color:#fff}
#booking input:not([type=radio]),#booking select,#booking textarea{border-color:#77a883;font-size:1rem}
#booking :is(input,select,textarea,button,a):focus-visible{outline:3px solid #247a39;outline-offset:3px}
#booking .button{background:#247a39;border-color:#247a39;color:#fff;font-size:1rem;font-weight:700;justify-content:center;white-space:normal}
#booking .button:hover{background:#195e2b;border-color:#195e2b}
@media(max-width:760px){
  .workshops{padding-bottom:36px}
  .booking-section{width:92%;margin-bottom:48px;padding:22px 16px;gap:20px;border-width:5px;border-radius:16px}
  .booking-intro .eyebrow{margin-bottom:8px}
  .booking-intro h2{font-size:1.875rem;margin-bottom:12px}
  .booking-intro p{font-size:1rem}
  .booking-section #booking{padding:20px 16px}
  #booking legend{font-size:1.25rem;margin-bottom:18px}
  #booking .choice-row{gap:10px}
  #booking .choice-row label{padding:11px 9px;flex-basis:calc(50% - 5px);line-height:1.4}
  #booking .button{width:100%;padding:15px 12px}
}
