@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@700;800&display=swap");:root{--color-primary:#9ccf65;--color-secondary:#9ccf65;--color-accent:#ffd868;--color-background:#fcfbf7;--color-background-offset:#fff;--color-text-primary:#59524a;--color-text-secondary:#7d756d;--color-border:#e9e9ee;--color-success:#28a745;--color-error:#dc3545;--gradient-primary:linear-gradient(135deg,var(--color-secondary) 0%,#a8d5ba 100%);--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-family-headings:"Poppins",var(--font-family-sans);--font-size-base:16px;--line-height-base:1.65;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:48px;--container-width:1200px;--border-radius:16px;--header-height:70px;--header-height-scrolled:60px;--shadow-sm:0 1px 2px rgba(89,82,74,.04),0 1px 2px rgba(89,82,74,.06);--shadow-md:0 4px 6px -1px rgba(89,82,74,.08),0 2px 4px -2px rgba(89,82,74,.08);--shadow-lg:0 10px 15px -3px rgba(89,82,74,.1),0 4px 6px -4px rgba(89,82,74,.1);--shadow-glow:0 0 20px rgba(168,213,186,.7)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.chat-open,body.nav-open{overflow:hidden}h1,h2,h3,h4{font-family:var(--font-family-headings);line-height:1.3;margin-bottom:var(--spacing-md);font-weight:700;color:var(--color-text-primary);text-align:center}h1{font-size:2.5rem;font-weight:800;letter-spacing:-1px}h2{font-size:2rem}h3{font-size:1.5rem}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary);max-width:65ch;margin-left:auto;margin-right:auto}p.lead{font-size:1.15rem;color:var(--color-text-primary)}a{color:var(--color-primary);text-decoration:none;transition:color .3s ease}a:hover{filter:brightness(1.1)}main{flex-grow:1;padding-bottom:60px}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-xl) 0}.text-center{text-align:center}.text-center>*{margin-left:auto;margin-right:auto}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;font-size:1rem;font-weight:600;border-radius:99px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:all .4s cubic-bezier(.25,.8,.25,1);text-align:center}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn--primary{background:var(--gradient-primary);background-size:200% auto;color:#fff;box-shadow:var(--shadow-md)}.btn--primary:hover:not(:disabled){transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg),var(--shadow-glow);background-position:100%}.btn--secondary{background-color:transparent;color:var(--color-primary);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-2px)}.btn--accent{background-color:var(--color-accent);color:var(--color-text-primary);font-weight:700;box-shadow:var(--shadow-md)}.btn--accent:hover:not(:disabled){background-color:#ffdf81;transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg),0 0 20px rgba(255,216,104,.6)}.btn--outline-light{background-color:transparent;color:#fff;border-color:hsla(0,0%,100%,.5)}.btn--outline-light:hover:not(:disabled){background-color:hsla(0,0%,100%,.1);border-color:#fff}.content-image{width:100%;height:auto;border-radius:var(--border-radius);box-shadow:var(--shadow-md);object-fit:cover}.app-header{height:var(--header-height);background-color:var(--color-primary);position:-webkit-sticky;position:sticky;top:0;z-index:1000;border-bottom:1px solid transparent;transition:all .35s ease-in-out}.app-header.scrolled{height:var(--header-height-scrolled);background-color:hsla(48,45%,98%,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:var(--color-border);box-shadow:var(--shadow-md)}.header-content{height:100%;justify-content:space-between;position:relative;padding-top:10px}.header-content,.logo-link{display:flex;align-items:center}.logo-link{text-decoration:none;gap:var(--spacing-sm)}.logo-text{font-family:var(--font-family-headings);font-size:1.4rem;font-weight:700;color:#fff;white-space:nowrap;transition:opacity .3s ease}.app-header.scrolled .logo-text,.logo-image-wrapper{display:none}.app-header.scrolled .logo-image-wrapper{display:block}.mobile-menu-button{display:block;background:none;border:none;cursor:pointer;padding:8px;color:#fff;transition:color .35s ease-in-out}.app-header.scrolled .mobile-menu-button{color:var(--color-text-primary)}.nav-links-mobile-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-primary);z-index:1010;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;visibility:hidden;transform:translateY(-20px);transition:transform .4s cubic-bezier(.25,1,.5,1),opacity .4s ease,visibility .4s}.nav-links-mobile-overlay.open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-nav-close-button{position:absolute;top:15px;right:15px;background:none;border:none;cursor:pointer;color:#fff;padding:8px}.nav-links-mobile ul{list-style:none;text-align:center}.nav-links-mobile li{margin-bottom:var(--spacing-lg)}.nav-links-mobile li a{font-size:1.5rem;font-weight:600;color:#fff}.nav-links-mobile .btn{margin-top:var(--spacing-lg)}.language-toggle{position:fixed;top:90px;right:var(--spacing-md);z-index:1001;display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:var(--spacing-sm);background-color:hsla(0,0%,100%,.7);border-radius:99px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.language-toggle input{display:none}.language-toggle .toggle-switch{position:relative;width:50px;height:28px;border-radius:99px;transition:background-color .3s ease;background-color:var(--color-border)}.language-toggle .toggle-switch:before{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background-color:#fff;top:3px;left:4px;transition:transform .3s cubic-bezier(.25,.46,.45,.94);box-shadow:var(--shadow-sm)}.language-toggle span{font-size:1rem;font-weight:600;transition:color .3s ease;color:var(--color-text-secondary)}.language-toggle input:checked~span:last-of-type,.language-toggle input:not(:checked)~span:first-of-type{color:var(--color-text-primary)}.language-toggle input:checked+.toggle-switch{background-color:var(--color-primary)}.language-toggle input:checked+.toggle-switch:before{transform:translateX(21px)}.hero-section{height:80vh;min-height:500px;position:relative;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:50%;background-image:linear-gradient(0deg,rgba(89,82,74,.7),rgba(89,82,74,.2)),url(/_next/static/media/scuola-sci-nazionale-20.4a4f787a.jpg);z-index:1;animation:performant-zoom 20s linear infinite alternate}@keyframes performant-zoom{0%{transform:scale(1)}to{transform:scale(1.1)}}.hero-content{position:relative;z-index:2}.hero-section h1,.hero-section p{color:#fff;text-shadow:0 3px 12px rgba(0,0,0,.6)}.hero-actions{margin-top:var(--spacing-lg)}.offer-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--spacing-lg);gap:var(--spacing-lg)}.offer-card{background-color:var(--color-background-offset);border-radius:var(--border-radius);border:1px solid var(--color-border);padding:var(--spacing-lg);text-align:center;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;position:relative}.offer-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.offer-title{font-size:1.5rem;margin-top:0}.offer-description{color:var(--color-text-secondary);min-height:60px}.offer-price-list{margin:var(--spacing-md) 0 var(--spacing-lg);flex-grow:1}.price-item{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);font-size:.95rem}.price-item:last-child{border-bottom:none}.offer-card .btn{width:100%;margin-top:auto}.offer-card--highlighted{transform:scale(1.02);border:2px solid transparent;position:relative;background-clip:padding-box}.offer-card--highlighted:before{content:"";position:absolute;inset:0;z-index:-1;margin:-2px;border-radius:inherit;background:var(--gradient-primary)}.offer-highlight-badge{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--color-accent);color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-md);border-radius:99px;font-size:.8rem;font-weight:700;box-shadow:var(--shadow-md)}.faq-item{border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-background-offset);text-align:left;overflow:hidden}.faq-question{font-weight:600;padding:var(--spacing-md);cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;transition:color .3s ease}.faq-question::-webkit-details-marker{display:none}.faq-item[open]>.faq-question{color:var(--color-primary)}.faq-icon{position:relative;width:1em;height:1em;flex-shrink:0;transition:transform .3s ease-in-out}.faq-item[open] .faq-icon{transform:rotate(45deg)}.faq-icon:after,.faq-icon:before{content:"";position:absolute;top:50%;left:50%;width:14px;height:2px;background-color:currentColor;transform:translate(-50%,-50%);border-radius:2px}.faq-icon:after{transform:translate(-50%,-50%) rotate(90deg)}.faq-answer-wrapper{overflow:hidden}.faq-answer{padding:0 var(--spacing-md) var(--spacing-md)}.faq-answer p{margin-bottom:0;text-align:left}.cta-section{background-size:cover;background-position:50%;background-attachment:fixed;padding:var(--spacing-xl) 0;position:relative;color:#fff;text-align:center}.cta-section:before{content:"";position:absolute;inset:0;background-color:rgba(89,82,74,.7)}.cta-section .container{position:relative;z-index:1}.cta-section h2,.cta-section p{color:#fff}.page-header-section{padding-bottom:var(--spacing-lg);text-align:center}.about-grid,.lesson-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--spacing-lg);gap:var(--spacing-lg);align-items:center}.about-grid.reverse>div:first-child,.lesson-grid.reverse>div:first-child{order:2}.about-text-col,.lesson-text-col{text-align:center}.about-text-col>*,.lesson-text-col>*{margin-left:auto;margin-right:auto}.about-text-col .btn,.lesson-text-col .btn{margin-top:var(--spacing-md)}.app-footer{background-color:var(--color-text-primary);color:#fff;padding:var(--spacing-lg) 0 84px;margin-top:auto}.footer-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--spacing-lg);gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.footer-column{text-align:center}.footer-column h4{color:#fff;font-size:1rem;margin-bottom:var(--spacing-sm)}.footer-column a,.footer-column p{color:#fff;opacity:.8;font-size:.9rem}.footer-social-links{display:flex;gap:var(--spacing-md);justify-content:center}.footer-bar{border-top:1px solid hsla(0,0%,100%,.1);padding:var(--spacing-md) 0;text-align:center}.footer-copyright,.footer-policy-links a{font-size:.8rem;color:#fff;opacity:.7}.footer-policy-links{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-sm)}.mobile-action-bar{position:fixed;bottom:0;left:0;width:100%;height:60px;background-color:#fff;box-shadow:0 -4px 15px rgba(0,0,0,.1);display:flex;z-index:990;border-top:1px solid var(--color-border)}.action-bar-item{flex:1 1;display:flex;align-items:center;justify-content:center;color:#fff;border:none;cursor:pointer;transition:filter .3s ease}.action-bar-item svg{transition:transform .3s ease}.action-bar-item:hover{filter:brightness(1.1)}.action-bar-item.phone{background-color:var(--color-accent);color:var(--color-text-primary)}.action-bar-item.email{background-color:var(--color-text-primary)}.action-bar-item.chat{background-color:var(--color-primary)}.chat-toggle-button{display:none}.chat-overlay{position:fixed;inset:0;z-index:2000;display:flex;justify-content:center;align-items:flex-end;background-color:rgba(89,82,74,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s .4s}.chat-overlay.open{opacity:1;visibility:visible;transition-delay:0s}.chat-window{width:100%;height:100dvh;background:var(--color-background);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1)}.chat-overlay.open .chat-window{transform:translateY(0)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-background-offset);flex-shrink:0}.chat-header h3{font-size:1.1rem;margin:0;text-align:left}.chat-close-btn{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:var(--spacing-sm)}.chat-messages{flex-grow:1;padding:var(--spacing-md);overflow-y:auto}.message{display:flex;margin-bottom:var(--spacing-md);max-width:85%}.message.user{justify-content:flex-end;margin-left:auto}.message.assistant{margin-right:auto}.message-bubble{padding:12px 18px;border-radius:24px;line-height:1.5;overflow-wrap:break-word;word-break:break-word}.message-bubble a{color:inherit;text-decoration:underline;font-weight:600}.message.user .message-bubble a{color:#fff}.message.assistant .message-bubble a{color:var(--color-primary)}.message.assistant .message-bubble{background-color:#fff;color:var(--color-text-primary);border-top-left-radius:6px;box-shadow:var(--shadow-sm)}.message.user .message-bubble{background:var(--gradient-primary);color:#fff;border-top-right-radius:6px}.typing-indicator span{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#ccc;margin:0 2px;animation:typing 1.4s infinite both}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-area{padding:var(--spacing-md);border-top:1px solid var(--color-border);background:var(--color-background-offset);flex-shrink:0}#chat-form{display:flex;gap:var(--spacing-sm)}#chat-form input{flex-grow:1;border-radius:99px;padding:12px 20px;border:1px solid var(--color-border);font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease}#chat-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(168,213,186,.4)}#chat-form button{background:var(--gradient-primary);background-size:200% auto;color:#fff;border:none;border-radius:50%;width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}#chat-form button:hover:not(:disabled){transform:scale(1.1);box-shadow:var(--shadow-glow)}#chat-form button:disabled{background:var(--color-border);cursor:not-allowed}.mailto-confirmation-area{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.mailto-confirmation-area .btn{width:100%}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-text-primary);color:#fff;z-index:2000;box-shadow:0 -5px 20px rgba(89,82,74,.2);transform:translateY(100%);opacity:0;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .5s ease}.cookie-banner.visible{transform:translateY(0);opacity:1}.cookie-banner.closing{transform:translateY(100%);opacity:0}.cookie-banner__content{max-width:var(--container-width);margin:0 auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);text-align:center}.cookie-banner__text{margin:0;max-width:900px;color:var(--color-background);opacity:.9;font-size:.9rem}.cookie-banner__link{color:#fff;text-decoration:underline;font-weight:600}.cookie-banner__link:hover{color:var(--color-accent)}.cookie-banner__actions{display:flex;gap:var(--spacing-md);justify-content:center}.sustainability-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:var(--spacing-lg);gap:var(--spacing-lg);text-align:center}.sustainability-guide-item p{margin-top:var(--spacing-sm);font-size:.9rem;margin-bottom:0}@media (min-width:768px){:root{--font-size-base:17px;--spacing-lg:32px;--spacing-xl:64px;--header-height:80px}h1{font-size:3.8rem}h2{font-size:2.5rem}main{padding-bottom:0}.mobile-action-bar{display:none}.offer-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.lesson-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.about-text-col,.lesson-text-col{text-align:left}.about-text-col>*,.lesson-text-col>*{margin-left:0;margin-right:0}.footer-grid{grid-template-columns:repeat(3,1fr)}.footer-social-links{justify-content:center}.footer-bar{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.footer-policy-links{margin-top:0}.cookie-banner__content{flex-direction:row;text-align:left}.cookie-banner__text{font-size:1rem}.app-footer{padding-bottom:var(--spacing-lg)}.chat-toggle-button{display:flex;position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;background:var(--gradient-primary);color:#fff;border:none;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);cursor:pointer;z-index:998;transition:transform .3s ease,box-shadow .3s ease}.chat-toggle-button:hover{transform:scale(1.1);box-shadow:var(--shadow-lg),var(--shadow-glow)}.chat-overlay{align-items:flex-end;justify-content:flex-end}.chat-window{height:80vh;max-height:700px;width:100%;max-width:420px;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);margin:0 20px 100px 0;transform:translateY(20px) scale(.95);opacity:0;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s ease}.chat-overlay.open .chat-window{transform:translateY(0) scale(1);opacity:1}}@media (min-width:1024px){.offer-grid{grid-template-columns:repeat(3,1fr)}}.booking-iframe-container{width:100%;padding-top:var(--spacing-md)}.booking-iframe{width:100%;min-height:2500px;display:block;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}